Commit Graph

259 Commits

Author SHA1 Message Date
Matthew Flatt
306194e9fa racket/gui gtk: preserve button font on label change 2013-04-25 06:05:22 -06:00
Tony Garnock-Jones
38fffd3582 Complain visibly when cannot load GL shared libs, instead of swallowing error. 2013-04-19 07:54:30 -06:00
Matthew Flatt
69707c9255 racket/gui: gl-config fixes 2013-04-12 18:29:01 -06:00
Matthew Flatt
9420855879 racket/gui cocoa: delay `on-paint' if a GL context isn't ready
The relevant `on-paint' call is one that is forced for a GL
canvas to try to draw a frame's content before the frame is
shown. Sometimes, thread scheduling would let the frame get
sufficiently initialized at the Cocoa level before the `on-paint'
call happened, but sometimes not.
2013-04-12 14:58:53 -06:00
Jay Kominek
0562755be9 OpenGL context sharing 2013-04-12 14:58:53 -06:00
Matthew Flatt
33700427f2 racket/gui: make list-box% columns more consistent across platforms
Cocoa: use ellipses instead of line wrapping
Gtk: allow column sizing below title width

Merge to v5.3.4
2013-04-12 06:36:51 -06:00
Matthew Flatt
e0486a7cf0 racket/gui: add warp-pointer' to window<%>'
Removed the method from `canvas<%>', where it was never implemented
with the `racket/gui' reimplementation.
2013-03-19 15:53:13 -07:00
Eli Barzilay
af6be85ff5 Fix lots of indentation mistakes.
(Found by my ayatollah script...)
2013-03-14 10:55:47 -04:00
Matthew Flatt
e22977667d racket/gui gtk: fix canvas/panel border drawing
The code to draw a border has to determine the widget's position
within the drawing window. Gtk 3.0 has a function to provide that
transformation, but Gtk 2.0 doesn't seem to have one, and it seems
that the transformation implemented in `racket/gui' wasn't right.

Closes PR 13453
2013-01-25 14:21:57 -07:00
Robby Findler
5301646baf fix a bug in recently added display-changed method 2013-01-21 13:47:43 -06:00
Matthew Flatt
55f98a15d4 racket/gui gtk: make `on-demand' for menus work better
There appears to be no way to make `on-demand' work right for the
Unity window manager's global menu bar, since there's no notificiation
when the menu bar is clicked. We approximate the correct behavior
by calling `on-demand' when a containing frame loses the keyboard
focus, which might be because the menu bar was clicked; that may be
too late (because the menu has already been shown), but it should
work most of the time.

Closes PR 13347.

Relevant to PR 13395, but DrRacket will have to change to work
around the remaining limitations of `on-demand'.
2013-01-01 15:55:36 -07:00
Matthew Flatt
07d5a9e385 fix `expt' on small negative number and large positive odd
The pow() function apparently gets it wrong on some platforms.

Closes PR 13391
2013-01-01 12:33:59 -07:00
Robby Findler
3f9e60a908 add display-changed method 2012-12-21 19:22:59 -06:00
Robby Findler
8d4dac318c hold onto all frames weakly 2012-12-21 15:43:12 -06:00
Matthew Flatt
31f7cfb486 racket/gui gtk: fix end-doc' for printer-dc%'
Contract demands a void result.
2012-11-20 07:15:28 -07:00
Matthew Flatt
7b04571fac racket/gui: add `get-current-mouse-state' 2012-11-07 14:37:39 -07:00
Eli Barzilay
672910f27b Lots of bad TAB eliminations.
I started from tabs that are not on the beginning of lines, and in
several places I did further cleanings.

If you're worried about knowing who wrote some code, for example, if you
get to this commit in "git blame", then note that you can use the "-w"
flag in many git commands to ignore whitespaces.  For example, to see
per-line authors, use "git blame -w <file>".  Another example: to see
the (*much* smaller) non-whitespace changes in this (or any other)
commit, use "git log -p -w -1 <sha1>".
2012-11-07 11:22:20 -05:00
Matthew Flatt
068240e9fe racket/gui: fix problems with control labels and client/global positions
Closes PR 13232
2012-11-04 08:47:50 -07:00
Matthew Flatt
0c82f54912 racket/gui: add delete' to choice%' and `list-control<%>'
Closes PR 13230
2012-11-04 08:25:43 -07:00
Matthew Flatt
ba6e383963 racket/gui gtk: fix on-subwindow-... handling
Handling was broken by changes to fix enter and
leave events (in commit a5d7812732)

Merge to v5.3.1
2012-10-27 21:34:08 -06:00
Matthew Flatt
a5d7812732 racket/gui: skip some redundant 'enter & 'leave events 2012-10-02 07:26:25 -06:00
Matthew Flatt
1800680c6b racket/gui: fix access of scrollbar values for canvas without a scrollbar 2012-08-12 20:17:29 -06:00
Matthew Flatt
58db5f8b46 racket/gui: implement set-clipboard-bitmap' in clipboard<%>'
Closes PR 12689

Cocoa implementation provided by Jens Axel Søgaard
2012-05-26 19:42:48 -06:00
Matthew Flatt
68e005fb2c racket/draw: make-immutable-{color,brush,pen} => make-{color,brush,pen}
Also, use keywords for `make-pen' and `make-brush'.

Adding `make-pen' and `make-color' creates many conflicts among
teaching libraries, such as `2htdp/image'. These are easy to fix
up in the tree, but adding such obvious names to `racket/draw'
may create other compatibility problems, so we might have to reconsider
the names.

In consultation with Asumu.
2012-05-01 21:04:40 -06:00
Asumu Takikawa
8db45eb557 Add immutable constructors for color%, brush%, pen%
- Make set-immutable a local method and document
    is-immutable? as a public method
  - Add some racket/draw tests
2012-05-01 21:20:52 -04:00
Asumu Takikawa
d7fefc848b Fix requires to avoid circular dependencies. 2012-03-30 23:34:34 -04:00
Matthew Flatt
97a64b1166 no callback for `tab-panel%' tab additions and deletions 2012-03-10 10:07:37 -07:00
Matthew Flatt
01dce00271 racket/gui: correct some casts in GUI bindings 2012-01-23 11:20:21 -07:00
Matthew Flatt
484803a896 gtk: fix problem wth window freeze & thaw
Closes PR 12496

Merge to 5.2.1
2012-01-19 16:20:45 -07:00
Matthew Flatt
f93c94f6ff add 'shift, 'control, 'rshift, and 'rcontrol events 2011-12-08 15:05:41 -07:00
Matthew Flatt
29c7c28ba5 gtk: fix problems with on-focus' and on-activate' 2011-10-18 06:35:50 -06:00
Matthew Flatt
a09543772a gtk: no freeze/thaw before/after unmap
Merge to 5.2
2011-10-17 15:53:07 -06:00
Matthew Flatt
3941a5d04f cocoa: make grow-box-spacer zero-width for 10.7 2011-10-04 12:59:18 -06:00
Matthew Flatt
4535f5d8cc fix keyboard navigation (all platforms)
Also, fix `set-selection' in `list-box%' to not invoke the
tab panel's callback function (cocoa & gtk).
2011-09-30 13:44:24 -06:00
Matthew Flatt
f9dabb8994 add -J/--wm-class argument to set the WM_CLASS class on Unix 2011-09-26 18:07:18 -06:00
Matthew Flatt
2ecd32b86e racket/gui: fix excessive on-size' and on-move' callbacks
Especially for gtk, where a client-resize notification was
getting mixed up with a frame-configure notification. On all
platforms, `on-size' and `on-move' for a frame% were queued
at too high a priority.
2011-09-10 14:37:13 -06:00
Matthew Flatt
ec25a74b97 cocoa, gtk: enable auto list-box% horizontal scrollbars
Closes PR 12149

Also adjust id on NSTableColumn to be a string, because a Cocoa
warning on Lion told me to.
2011-09-10 11:14:52 -06:00
Matthew Flatt
ce4705cedc get-diplay-size' and get-display-left-top-inset' use #f for failure
Since the number of monitors can change at any time, reliable
use of these functions requires handling failure in some way.
Handling #f results is easier (and less likely to mask other
problems) than catching exceptions.
2011-09-09 17:03:17 -06:00
Matthew Flatt
594447ae7e gtk: make list-box% min size non-zero for content 2011-09-03 10:44:37 -06:00
Matthew Flatt
459d2422e3 gtk: fix menu-item shortcut updating 2011-09-01 07:14:06 -06:00
Matthew Flatt
9d5f45a9d1 gtk: fix border (when requested) for canvas% with scrollbars 2011-09-01 07:14:05 -06:00
Matthew Flatt
8264e77585 gtk: fix frame for text-field%' and other canvas%'es 2011-08-16 08:12:31 -06:00
Matthew Flatt
461af202c5 implement 'border style for `panel%' 2011-08-13 07:00:51 -06:00
Matthew Flatt
456e9befd3 fix refresh' on window<%>'s other than `canvas%'s 2011-08-12 17:03:28 -06:00
Matthew Flatt
941dacd966 gtk: set app name on startup
Closes PR 11896
Closes PR 11408
2011-08-04 09:27:05 -06:00
Matthew Flatt
cdf2085703 gtk: fix frame position tracking
Closes PR 11931
2011-08-04 06:45:18 -06:00
Matthew Flatt
37c43c23d6 gtk: fix refresh freeze/thaw and reparent interaction
Closes PR 11947
2011-08-02 20:00:56 -06:00
Sam Tobin-Hochstadt
f67d46cd2f Pass the correct number of arguments to `display-size'. Closes PR 12062. 2011-07-19 17:04:51 -04:00
Matthew Flatt
23a2a075ea add get-display-count' and #:screen argument to get-display-size'
and to `get-display-left-top-inset'

 add -M <monitor> option to Slideshow
2011-07-18 20:15:15 -06:00
Matthew Flatt
b096fb7503 gtk: `get-display-size' reports main monitor only
and the same for `get-display-left-top-inset'
2011-07-18 19:59:05 -06:00