gui/gui-lib/mred/private/wx/gtk
Matthew Flatt 91a1ab52c3 GTK 3: try yet again to make panels work right
To enable mouse events to a panel, go back to using a
GtkEventBox for a panel, but make it non-visible so that
it doesn't interfere with the parent's background color.
The extra layers added in the previous commit are still
important to avoid turning that into a native window
(which can completely breaks background drawing). Finally,
add an extra layer just around tab panels so that events
get delivered to the tabs. (It's possible that the extra
layer will make the background wrong just around the tabs,
if the tabs don't fill the area above the panel; too bad.)
2015-08-21 08:31:48 -06:00
..
button.rkt Support and prefer GTK+ 3 on Unix/X 2015-08-16 20:55:35 -06:00
canvas.rkt GTK 3: try to make panels work right 2015-08-19 15:59:11 -06:00
check-box.rkt Remove extra directories. 2014-12-02 02:33:07 -05:00
choice.rkt Support and prefer GTK+ 3 on Unix/X 2015-08-16 20:55:35 -06:00
client-window.rkt HiDPI support on Unix (Gtk2) 2015-08-01 18:06:12 -06:00
clipboard.rkt Support and prefer GTK+ 3 on Unix/X 2015-08-16 20:55:35 -06:00
colordialog.rkt Remove extra directories. 2014-12-02 02:33:07 -05:00
combo.rkt Support and prefer GTK+ 3 on Unix/X 2015-08-16 20:55:35 -06:00
const.rkt recognize GTK+ 3 scroll events 2015-08-18 09:35:32 -06:00
cursor.rkt Remove extra directories. 2014-12-02 02:33:07 -05:00
dc.rkt GTK+ 3: treat combo-field% canvas like transparent canvases 2015-08-19 08:18:20 -06:00
dialog.rkt Remove extra directories. 2014-12-02 02:33:07 -05:00
filedialog.rkt Remove extra directories. 2014-12-02 02:33:07 -05:00
frame.rkt Support and prefer GTK+ 3 on Unix/X 2015-08-16 20:55:35 -06:00
gauge.rkt Support and prefer GTK+ 3 on Unix/X 2015-08-16 20:55:35 -06:00
gcwin.rkt remove unnecessary finalization (GTK+ 2) 2015-08-18 10:28:44 -06:00
gl-context.rkt another try at fixing graphics for GTK+ 3 2015-08-18 09:01:28 -06:00
group-panel.rkt Remove extra directories. 2014-12-02 02:33:07 -05:00
gsettings.rkt fixup for old versions of GTK+ 2 2015-08-16 20:55:39 -06:00
gtk3.rkt fixup for old versions of GTK+ 2 2015-08-16 20:55:39 -06:00
init.rkt Remove extra directories. 2014-12-02 02:33:07 -05:00
item.rkt Support and prefer GTK+ 3 on Unix/X 2015-08-16 20:55:35 -06:00
keycode.rkt Remove extra directories. 2014-12-02 02:33:07 -05:00
keymap.rkt Remove extra directories. 2014-12-02 02:33:07 -05:00
list-box.rkt GTK 3: try to make panels work right 2015-08-19 15:59:11 -06:00
menu-bar.rkt Support and prefer GTK+ 3 on Unix/X 2015-08-16 20:55:35 -06:00
menu-item.rkt Remove extra directories. 2014-12-02 02:33:07 -05:00
menu.rkt HiDPI support on Unix (Gtk2) 2015-08-01 18:06:12 -06:00
message.rkt HiDPI support on Unix (Gtk2) 2015-08-01 18:06:12 -06:00
panel.rkt GTK 3: try yet again to make panels work right 2015-08-21 08:31:48 -06:00
pixbuf.rkt add PLT_DISPLAY_BACKING_SCALE 2015-08-03 20:44:29 -06:00
platform.rkt Support and prefer GTK+ 3 on Unix/X 2015-08-16 20:55:35 -06:00
printer-dc.rkt Remove extra directories. 2014-12-02 02:33:07 -05:00
procs.rkt Support and prefer GTK+ 3 on Unix/X 2015-08-16 20:55:35 -06:00
queue.rkt Support and prefer GTK+ 3 on Unix/X 2015-08-16 20:55:35 -06:00
radio-box.rkt HiDPI support on Unix (Gtk2) 2015-08-01 18:06:12 -06:00
README.txt Remove extra directories. 2014-12-02 02:33:07 -05:00
resolution.rkt Support and prefer GTK+ 3 on Unix/X 2015-08-16 20:55:35 -06:00
slider.rkt Remove extra directories. 2014-12-02 02:33:07 -05:00
stddialog.rkt Remove extra directories. 2014-12-02 02:33:07 -05:00
style.rkt Remove extra directories. 2014-12-02 02:33:07 -05:00
tab-panel.rkt GTK 3: try yet again to make panels work right 2015-08-21 08:31:48 -06:00
types.rkt HiDPI support on Unix (Gtk2) 2015-08-01 18:06:12 -06:00
unique.rkt Remove extra directories. 2014-12-02 02:33:07 -05:00
utils.rkt Support and prefer GTK+ 3 on Unix/X 2015-08-16 20:55:35 -06:00
w32.rkt Remove extra directories. 2014-12-02 02:33:07 -05:00
widget.rkt Remove extra directories. 2014-12-02 02:33:07 -05:00
win32.rkt Remove extra directories. 2014-12-02 02:33:07 -05:00
window.rkt GTK+ 3: treat combo-field% canvas like transparent canvases 2015-08-19 08:18:20 -06:00
x11.rkt remove unnecessary finalization (GTK+ 3) 2015-08-18 10:58:13 -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.