Commit Graph

963 Commits

Author SHA1 Message Date
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
d5024f0f20 win64 racket/gui: another work around for Cairo clipping issues
Cairo doesn't seem to deal correctly with an HDC produced
by BeginPaint() that has a clipping region. The problem affects
only Win64. Work around the problem by drawing to a separate
HDC and copying to/from the screen. (To see the problem before
this patch, draw the DrRacket window to the edge of the screen
and back, and observe tha the toolbar doesn't update correctly.)

This change could affect performance, but it should mostly
be limited to refresh when a window moves.
2012-08-08 09:56:44 -06:00
Matthew Flatt
b111241afe racket/gui/init: fix load handler 2012-07-18 03:52:20 -06:00
Matthew Flatt
cc2c701a7d racket/gui/init: make load handler chain to original
For a non-WXME file, fall back to the original load handler,
instead of re-implementing it. This makes module caching work
the right way. Falling back to the original means closing
the port and then re-opening the file to load, but that seems
ok.
2012-07-17 06:19:15 -06:00
Matthew Flatt
5f1c8d3ec9 Revert "racket/gui/init: module caching in the load handler"
This reverts commit 5c02b1c95a.

The caching table doesn't hold entries weakly, which means that
it can be a space leak.
2012-07-17 06:11:35 -06:00
Matthew Flatt
5c02b1c95a racket/gui/init: module caching in the load handler 2012-07-16 19:22:30 -06:00
Jay McCarthy
1685952b9b Making key-code-symbol consistent with docs 2012-07-10 19:21:24 -04:00
Matthew Flatt
c7d181c2a9 racket/gui, win32: fix problem with mimize for fixed-size window 2012-06-23 04:15:28 -06:00
Asumu Takikawa
0e4f9fcd97 racket/gui: fixed by-position widget initialization
This was broken in the class100 port. The init arguments
previously handled by the class100*/kw macro need to be
explicitly passed down.

Also, an (init-rest) is needed at the leaves of the class
hierarchy to ensure that internal super init args don't
leak via error messages. (the class100 macro always
inserts these)

Added a test file so similar breakage is detectable in the
future.
2012-06-19 12:37:35 -04:00
Matthew Flatt
7a9c8e5d40 racket/gui win32: fix East Asian font problem
When the theme-specified default font has a localized name,
using it as a Pango faily name doesn't work, with the result that
text on controls could be truncated. Get a Pango-friendly
name by converting a LOGFONT to a Pango font description and
getting the name from the font description.
2012-06-06 13:25:14 +08:00
Matthew Flatt
16f0b0c3f0 racket/gui: fix canvas%' implementation on-paint'
Broken in the conversion from `class100'.
2012-05-31 05:56:35 -06:00
Matthew Flatt
74844152bc fix load handlers to match docs on parameters
Problems exposed by setting `read-accept-lang' to #f.
2012-05-29 13:57:32 -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
Asumu Takikawa
8a52613463 racket/gui: remove empty modules 2012-05-26 16:45:00 -04:00
Asumu Takikawa
a38e6a19ab racket/gui: fix a mzscheme->racket/base issue 2012-05-26 16:23:30 -04:00
Asumu Takikawa
05394aff7e Remove mred/private/kw.rkt
This handled init argument inheritance for class100, but
all uses of it have now been removed.
2012-05-26 11:12:56 -04:00
Asumu Takikawa
cfe1711494 Convert all uses of mzlib/class100 to racket/class 2012-05-26 11:12:55 -04:00
Matthew Flatt
5b80fd37c7 racket/gui win32: fix screen info to not assume main is first
Thanks to Kieron Hardy for tracking down the problem.
2012-05-26 07:38:24 -06:00
Matthew Flatt
3a9f8eea4f racket/gui cocoa: fix internal ObjC class names
"My" -> "Racket". The "My" prefix was from initial experiments,
of course, and I just never got around to changing it before.
I think these names go into a global namespace, though, at the
ObjC level, so they need to have a distinct and Racket-specific
prefix.
2012-05-16 09:43:23 -06:00
Matthew Flatt
b0409dd232 racket/gui cocoa: fix floating-window event handling
Closes PR 12754
2012-05-16 08:00:50 -06:00
Matthew Flatt
d5b17210e3 racket/gui cocoa: fix 'no-sheet style for `dialog%' 2012-05-16 07:34:44 -06:00
Matthew Flatt
985eecbed7 racket/gui cocoa: fix initial eventspace hook 2012-05-16 07:21:55 -06:00
Matthew Flatt
230463fa3d racket/gui: fix problem with recent edit-sequence change
Restores undo support in DrRacket, for example.
2012-05-05 22:09:13 -06:00
Matthew Flatt
b30374824a racket/draw: add #:eventspace' argument to open-output-text-editor'
The argument is `(curent-eventspace)' by default, which makes ports
work better with threads.

Closes PR 12749
2012-05-05 10:32:05 -06:00
Matthew Flatt
48f7ddafe4 racket/gui: fix some concurrency problems `text%'
Changed `open-output-text-editor' to put its additions into
an edit sequence to better work with threads.

Fixed problems in editor-canvas refresh and resize events, where
the editor's refresh synchronization wasn't used properly.

Fixed race conditions in the the protocol that is used to separate
refreshes and edit sequences.

Related to PR 12749
2012-05-05 10:32:05 -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
Matthew Flatt
fc7f6bbe0f racket/gui: add a 'no-icon style for `message-box' 2012-04-25 19:32:58 -06:00
Matthew Flatt
9c025210aa racket/gui win32: font fallback for labels
When the requested font isn't available, fall back to
the default font at the requested size and style
2012-04-25 19:17:16 -06:00
Matthew Flatt
418a3cd83b racket/draw cocoa: adjust default 'script font
Also, adjust the way a font is converted for control labels to
strp away Pango descriptions.
2012-04-25 19:17:16 -06:00
Eli Barzilay
2b76d9e5b0 A bunch of scheme' -> racket' conversions.
I think that there are no user-visible changes from these changes.
2012-04-19 16:02:03 -04:00
Matthew Flatt
9d563c786a racket/gui, win32: fix problem with modal dialogs
Although most events in other frames were blocked, it was
possible to bring other frames to the front and to select
menu items in other frames.
2012-04-05 06:58:53 -06:00
Matthew Flatt
6afc9d5e8c racket/gui: fix reparent' with a pane%' target 2012-04-03 18:36:28 -06:00
Matthew Flatt
3bf5389237 racket/gui: fix `slider%' range checking
Closes PR 12669
2012-04-02 15:25:47 -06:00
Asumu Takikawa
d7fefc848b Fix requires to avoid circular dependencies. 2012-03-30 23:34:34 -04:00
Robby Findler
92e8740105 add the #:validate argument to get-text-from-user 2012-03-30 16:42:34 -05:00
Matthew Flatt
415b1eabc4 more load[/use-compiled] handler fixes for submodules
Closes PR 12630
2012-03-13 14:31:40 -06:00
Matthew Flatt
97a64b1166 no callback for `tab-panel%' tab additions and deletions 2012-03-10 10:07:37 -07:00
Matthew Flatt
d74793a5f9 fix race condition on GetLastError() call 2012-03-09 10:34:56 -07:00
Eli Barzilay
f7c67b49a4 Big newline at EOF scan. 2012-02-29 00:28:11 -05:00
Robby Findler
d476d3f21a fix a bug I thought I'd fixed a while back...? 2012-02-22 16:51:48 -06:00
Robby Findler
1945ff2709 add make-platform-bitmap
also: use it in pict's rendering and
remove redex's platform-specific font choice
(going back to using 'modern on all platforms)

closes PR 12554
2012-02-21 16:19:45 -06:00
Matthew Flatt
967372c23d make an eventspace thread survive a break exception
When an eventspace is created, its thread implicitly calls
`yield'. It now effectively loops with `yield' and while
catching continuation aborts.

Closes PR 12566
2012-02-13 16:28:10 -07:00
Matthew Flatt
af62391c8c win32: fix canvas% control border drawing
Use the system-supplied region to intersect with the
window region, so that drawng the border doesn't replace
the window content.

See also Kieron Hardy's post on the users' list, 2/7/12.
2012-02-11 08:45:32 -07:00
Matthew Flatt
6e01d1586a racket/gui: fix refresh for right-aligned or centered paragraphs in text% 2012-01-30 11:01:18 -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
fd019a3478 add on-subwindow-focus' to window<%>'
relevant to PR 12474
2012-01-07 21:17:12 -07:00
Matthew Flatt
e12bf33f8d 'rshift and 'rcontrol don't interrupt keybindings
Closes PR 12461
2011-12-25 19:39:37 -06:00
Matthew Flatt
f93c94f6ff add 'shift, 'control, 'rshift, and 'rcontrol events 2011-12-08 15:05:41 -07:00
Robby Findler
b40cc23f60 change file-creator-and-type so that it raises exn:fail:filesystem?
exceptions instead of exn:fail exceptions for errors having to do
with the actual attempt to change/retrieve the creator and type
(but leaving alone the type errors)

closes PR 12400
2011-11-28 15:35:42 -06:00
Matthew Flatt
bc0c2075fd cocoa: make sure app wakes up on file event 2011-11-25 13:19:42 -07:00
Matthew Flatt
d3cbea068a fix treatment of caps lock in keymap%
Somewhere along the way --- probably in porting the editor
classes to Racket --- the caps-lock specification in a keymap
string was treated the same as other modifiers, but it is
supposed to be neutral when the key string starts with ":".

Closes PR 5486, 10347, 10993, 12184
2011-11-25 13:19:42 -07:00
Matthew Flatt
63f3a51ae6 win32: get default frame icon from application
Also, clean up icon- and cursor-loading code
2011-11-16 14:45:32 -07:00
Matthew Flatt
7ad81e7560 win32: enable live resize of frames 2011-11-15 12:44:26 -07:00
Matthew Flatt
2d70017091 win32: avoid line-wrap in `meesage%' display
Also, adjust text measuring to ensure that it is as close
as possible to measurements for a control.
2011-11-08 06:55:40 -07:00
Matthew Flatt
0f6c267798 add #:fail argument to with-gl-context' in canvas%' 2011-11-03 17:42:36 -06:00
Matthew Flatt
4bbb2d41aa cocoa: fix some GL problems 2011-11-03 09:12:13 -06:00
Matthew Flatt
506aa79d14 fix editor refresh problem when line numbers are shown
More generally, fix horizontal refresh when an editor has left
padding. Otherwise, deleting a character in DrRacket with line
numbers shown seems sluggish, because the update waits for a
refresh event.
2011-10-28 20:01:19 -06:00
Matthew Flatt
29c7c28ba5 gtk: fix problems with on-focus' and on-activate' 2011-10-18 06:35:50 -06:00
Matthew Flatt
718229387c fix cocoa `get-clipboard-string' to never return #f; fix docs
Merge to 5.2
2011-10-18 06:35:38 -06:00
Matthew Flatt
a09543772a gtk: no freeze/thaw before/after unmap
Merge to 5.2
2011-10-17 15:53:07 -06:00
Robby Findler
95e29376fd error message typo
include in 5.2
2011-10-11 10:43:37 -05:00
Matthew Flatt
dc912ee6de third attempt to fix 64-bit Lion hidden-window problem
After all the previous attempts, the problem seems almost trivial:
although Apple documents `NSAnyEventMask' as the constant #xFFFFFFFF,
it's actually NSUIntegerMax (and the difference matters in 64-bit
mode).

Merge to 5.2.
2011-10-10 15:48:30 -06:00
Matthew Flatt
9fd11ac92c Revert "another attempt to fix the 64-bit Lion hidden-window problem"
This reverts commit f6e5468dbb.

Merge to 5.2
2011-10-10 15:38:42 -06:00
Sam Tobin-Hochstadt
1b69d742bd Change basic-top-level-window% to support `set-icon', and use to set icon for splash screen.
Closes 12241

Merge to 5.2
2011-10-09 09:43:32 -06:00
Matthew Flatt
bf3f09a3c1 cocoa: fix `show #f' on already unshown frame shows it briefly
Merge to 5.2
2011-10-08 16:47:19 -06:00
Matthew Flatt
379991c5bb fix text% `get-paragraph-{start,end}-position' bug and doc bugs
Merge to 5.2
2011-10-08 09:12:30 -06:00
Matthew Flatt
f6e5468dbb another attempt to fix the 64-bit Lion hidden-window problem
This fix uses the same`run'-vs-`finishLaunch' technique as before,
but patches up the modal-dialog problem by calling `run' again
with a callback to start a modal loop.

Merge to 5.2.
2011-10-08 06:12:17 -06:00
Matthew Flatt
9aa93ab5ae Revert "cocoa: change the way the app is initialied"
This reverts commit 60101618db.

While this changes fixes a 64-bit Lion problem, it creates a
worse problem of breaking file and print dialogs.
2011-10-07 15:25:31 -06:00
Matthew Flatt
60101618db cocoa: change the way the app is initialied
Calling NSApplication's `run' works better than calling `finishLaunching'
directly, particularly in 64-bit Lion for some reason.

Relevant to PR 12102
Relevant to PR 12257
2011-10-07 08:05:15 -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
b24c8eb4dd cocoa: fix control-refresh bug 2011-09-28 12:38:39 -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
2bd461de50 win32: fix `get-file-list' with a single file result 2011-09-10 14:56:53 -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
9d4fcd8e84 better fix for TransformProcessType issue
GRacket registers witht a global table to indicate that
no transform is needed. (This change was intended to address
a 64-bit problem on Lion. It didn't help, but this seems
better than ignoring an error.)
2011-09-10 10:53:42 -06:00
Matthew Flatt
9c5b78e998 suppress an error message (related to Mac 10.7)
We could try to figure out the current state of the process,
instead, but it seems like too much work.
2011-09-09 19:22:42 -06:00
Matthew Flatt
735ca7f3c3 racket/gui: add `application-start-empty-handler' 2011-09-09 17:03:18 -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
Robby Findler
57c59d2ed7 add yet another dialog-mixin argument to a standard dialog, this time
get-text-from-user

also, some minor rackety to that function/file
2011-09-05 20:19:16 -05:00
Robby Findler
9253707621 added a #:dialog-mixin argument to message-box and related functions
Also minor rackety (just enough to get keyword arguments)
2011-09-05 08:30:45 -05:00
Robby Findler
415868f914 added a #:dialog-mixin argument to get-file, put-file, get-file-list, and get-directory
Also, Rackety
2011-09-05 08:30:44 -05:00
Matthew Flatt
594447ae7e gtk: make list-box% min size non-zero for content 2011-09-03 10:44:37 -06:00
Matthew Flatt
34eb5ec983 cocoa: fix application about handler
Closes PR 12165
2011-09-03 10:35:55 -06:00
Matthew Flatt
b4ef9a09a9 cocoa: fix menu when two layers of dialogs are dismissed 2011-09-03 10:35:55 -06:00
Matthew Flatt
f5e534fd87 win32: fix canvas refresh
Refresh was wrong in the case that a canvas had been "reset"
in certain ways, such as showing and hiding, and the canvas is
drawn on before a Win32-level refresh event was processed. In
that case `on-paint' wasn't called, and it should have been.

Closes PR 12152
2011-09-02 08:27:49 -06:00
Matthew Flatt
d857385797 cocoa: fix switch-to-gui-app for 64-bit 2011-09-02 06:27:56 -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
3f11ef9b11 report some errors instead of potentially ignoring them 2011-09-01 07:14:05 -06:00
lvilnis
b0d909bd8f Fixed a bug with delete, undo and clickbacks in DrRacket 2011-08-26 06:07:57 -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
3ab067bc33 cocoa: fix sign on `get-display-left-top-inset' x result
Also fix frame placement on screens other than the main screen.
2011-08-10 11:13:58 -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
71621bfd72 remove unsupported MDI styles and method
Closes PR 12042
2011-08-04 08:02:54 -06:00