racket/collects/mred/private/wx/gtk
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
..
button.rkt gtk: force display of images in button labels 2011-02-02 06:05:03 -07:00
canvas.rkt racket/draw: make-immutable-{color,brush,pen} => make-{color,brush,pen} 2012-05-01 21:04:40 -06:00
check-box.rkt clean up 2010-11-05 15:54:49 -06:00
choice.rkt clean up 2010-11-05 15:54:49 -06:00
client-window.rkt A long overdue scan to eliminate files without terminating newlines. 2011-06-28 02:01:41 -04:00
clipboard.rkt racket/gui: implement set-clipboard-bitmap' in clipboard<%>' 2012-05-26 19:42:48 -06:00
colordialog.rkt A long overdue scan to eliminate files without terminating newlines. 2011-06-28 02:01:41 -04:00
combo.rkt clean up 2010-11-05 15:54:49 -06:00
const.rkt gtk: fix float frames to not appear in WM's window list 2011-01-27 12:25:53 -07:00
cursor.rkt clean up 2010-11-05 15:54:49 -06:00
dc.rkt implement 'border style for `panel%' 2011-08-13 07:00:51 -06:00
dialog.rkt clean up 2010-11-05 15:54:49 -06:00
filedialog.rkt Split the glob patterns on ";", and add them all to the gtk dialog. 2011-06-02 09:33:53 -04:00
frame.rkt gtk: fix problems with on-focus' and on-activate' 2011-10-18 06:35:50 -06:00
gauge.rkt clean up 2010-11-05 15:54:49 -06:00
gcwin.rkt clean up 2010-11-05 15:54:49 -06:00
gl-context.rkt clean up 2010-11-05 15:54:49 -06:00
group-panel.rkt racket/gui: scrollbar support panels 2011-02-24 13:23:51 -07:00
init.rkt clean up 2010-11-05 15:54:49 -06:00
item.rkt clean up 2010-11-05 15:54:49 -06:00
keycode.rkt add 'shift, 'control, 'rshift, and 'rcontrol events 2011-12-08 15:05:41 -07:00
keymap.rkt clean up 2010-11-05 15:54:49 -06:00
list-box.rkt cocoa, gtk: enable auto list-box% horizontal scrollbars 2011-09-10 11:14:52 -06:00
menu-bar.rkt git: fix "&" and "_" handling in labels 2011-07-06 09:54:57 -06:00
menu-item.rkt clean up 2010-11-05 15:54:49 -06:00
menu.rkt gtk: fix menu-item shortcut updating 2011-09-01 07:14:06 -06:00
message.rkt fix keyboard navigation (all platforms) 2011-09-30 13:44:24 -06:00
panel.rkt fix keyboard navigation (all platforms) 2011-09-30 13:44:24 -06:00
pixbuf.rkt clean up 2010-11-05 15:54:49 -06:00
platform.rkt cocoa: make grow-box-spacer zero-width for 10.7 2011-10-04 12:59:18 -06:00
printer-dc.rkt add `get-device-scale' to dc<%> 2011-03-15 07:37:42 -06:00
procs.rkt cocoa: make grow-box-spacer zero-width for 10.7 2011-10-04 12:59:18 -06:00
queue.rkt add -J/--wm-class argument to set the WM_CLASS class on Unix 2011-09-26 18:07:18 -06:00
radio-box.rkt fix keyboard navigation (all platforms) 2011-09-30 13:44:24 -06:00
README.txt finish pinning down gtk allocation 2010-11-05 15:54:15 -06:00
slider.rkt gtk: fix slider value display 2011-03-11 02:50:06 -06:00
stddialog.rkt clean up 2010-11-05 15:54:49 -06:00
style.rkt clean up 2010-11-05 15:54:49 -06:00
tab-panel.rkt no callback for `tab-panel%' tab additions and deletions 2012-03-10 10:07:37 -07:00
types.rkt gtk: fix problems with on-focus' and on-activate' 2011-10-18 06:35:50 -06:00
unique.rkt clean up 2010-11-05 15:54:49 -06:00
utils.rkt git: fix "&" and "_" handling in labels 2011-07-06 09:54:57 -06:00
w32.rkt fix gtk win32 poll 2010-11-05 15:54:18 -06:00
widget.rkt clean up 2010-11-05 15:54:49 -06:00
win32.rkt gtk win32 canvas back-end 2010-11-05 15:54:26 -06:00
window.rkt gtk: fix problem wth window freeze & thaw 2012-01-19 16:20:45 -07:00
x11.rkt clean up 2010-11-05 15:54:49 -06:00

Allocation rules:

 * Use `as-gtk-allocation' when creating a Gtk widget that is the main
   container for a given window<%> object. When the resulting
   reference becomes unreachable, the widget will be released with
   gtk_widget_destroy() through a finalizer.

 * Use `atomically' to create and attach a sub-widget within the main
   widget.  Don't use gtk_widget_destroy(); the containing widget will
   destroy the enclosing widget.

 * For temporary objects, use `atomically' to wrap both the allocation
   and release.

Every call to a function whose name contains "new" needs to be in one
of those cases.