Commit Graph

944 Commits

Author SHA1 Message Date
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
Matthew Flatt
1bc8978ce8 cocoa: fix list-box scrolling
Closes PR 11948
2011-08-04 07:38:10 -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
Matthew Flatt
f13a669d05 add 'no-focus style to `editor-canvas%' 2011-07-25 11:30:23 -04:00
Matthew Flatt
69f7e912d2 cocoa: fix problems with sheets and focus
Avoids a problem with the file dialog when a sheet is the
current "main window" (Cocoa terminology); when the file
dialog is closed, both the sheet owner and the sheet
become the main window (in that order), so that when the
sheet goes away, the sheet owner doesn't become the main
window as it should. It seems like a Cocoa problem. The
workaround is to hook into the callback that says a
sheet went away.

Closes PR 12073
2011-07-25 11:30:22 -04:00
Matthew Flatt
8711aa6c5d work around win64 drawing problem
Merge to 5.1.2
2011-07-22 07:51:01 -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
255549c8c8 win32: fix is-maximized' in frame%'
Merge to 5.1.2
2011-07-19 08:55:33 -06:00
Matthew Flatt
c8b3763359 cocoa: fix image paste
Closes PR 12028

 Merge to 5.1.2
2011-07-19 08:12:39 -06: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
Matthew Flatt
5edc0c70af change GDK_POINTER_MOTION_HINT_MASK back to GDK_POINTER_MOTION_MASK
because HINT doesn't works as expected, and the problem it
 seemed to solve at one time (slow resize in DrRacket) seems
 to have been fixed some other way. GDK_MOUSE_MOTION_MASK
 isn't needed, since GDK_POINTER_MOTION_MASK covers it.

 Merge to 5.1.2
2011-07-16 14:30:08 -06:00
Matthew Flatt
ff49859c80 git: fix "&" and "_" handling in labels 2011-07-06 09:54:57 -06:00
Matthew Flatt
de54efc84e cocoa: fix "&" handling in menu-item labels
Closes PR 12025
2011-07-06 09:54:41 -06:00
Eli Barzilay
3157955d40 ".ss" -> ".rkt" scan done. 2011-07-02 10:37:53 -04:00
Matthew Flatt
59731368fc add ffi/winapi; use it in mzlib/os
Closes PR 12007
2011-07-01 10:42:17 -06:00
Robby Findler
69b5daa9e6 remove docs tests that no one was interested in 2011-07-01 11:38:09 +08:00
Eli Barzilay
40124a0619 A long overdue scan to eliminate files without terminating newlines.
(DrRacket should really do that.)
2011-06-28 02:01:41 -04:00
Vincent St-Amour
5c77b19416 Fix remove-clickback. 2011-06-24 15:18:31 -04:00