From afb6e60fb3ffc802069b032074eae5967bf632ef Mon Sep 17 00:00:00 2001 From: Hans Breuer Date: Sat, 4 Aug 2001 13:17:33 +0000 Subject: [PATCH] new file use it 2001-08-04 Hans Breuer * gtk/stocks-icons/makefile.msc : new file * gtk/makefile.msc.in : use it * gtk/gtkstyle.c : not all platforms do provide M_PI and friends, but luckily there is G_PI * gtk/gtk.def : updated * gdk/win32/gdkwindow.c (gdk_window_new) : don't make all TEMP windows WS_POPUP, but only those without a parent. This fixes the mis-alignment between the selectable (temp, input only) window and the window text of GtkLabel. (gdk_window_show) : respect private->state when actually showing the window. (gdk_window_set_transient_for) : Implementation from Wolfgang Sourdeau ported to 2.0 and added some error handling. Should fix #50586. * gdk/win32/gdkevents-win32.c : beautify log output --- ChangeLog | 24 +++++++++++ ChangeLog.pre-2-0 | 24 +++++++++++ ChangeLog.pre-2-10 | 24 +++++++++++ ChangeLog.pre-2-2 | 24 +++++++++++ ChangeLog.pre-2-4 | 24 +++++++++++ ChangeLog.pre-2-6 | 24 +++++++++++ ChangeLog.pre-2-8 | 24 +++++++++++ gdk/win32/gdkevents-win32.c | 6 ++- gdk/win32/gdkwindow-win32.c | 45 ++++++++++++++++++--- gtk/gtk.def | 6 +-- gtk/gtkstyle.c | 5 +-- gtk/stock-icons/makefile.msc | 78 ++++++++++++++++++++++++++++++++++++ 12 files changed, 296 insertions(+), 12 deletions(-) create mode 100644 gtk/stock-icons/makefile.msc diff --git a/ChangeLog b/ChangeLog index 683b84ff78..87eb999755 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,27 @@ +2001-08-04 Hans Breuer + + * gtk/stocks-icons/makefile.msc : new file + * gtk/makefile.msc.in : use it + + * gtk/gtkstyle.c : not all platforms do provide M_PI and + friends, but luckily there is G_PI + + * gtk/gtk.def : updated + + * gdk/win32/gdkwindow.c (gdk_window_new) : don't make all TEMP + windows WS_POPUP, but only those without a parent. This fixes the + mis-alignment between the selectable (temp, input only) window and + the window text of GtkLabel. + + (gdk_window_show) : respect private->state when actually showing + the window. + + (gdk_window_set_transient_for) : Implementation from Wolfgang + Sourdeau ported to 2.0 and added some + error handling. Should fix #50586. + + * gdk/win32/gdkevents-win32.c : beautify log output + 2001-08-04 Michael Natterer * gtk/gtkitemfactory.c (gtk_item_factory_create_item): diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 683b84ff78..87eb999755 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,27 @@ +2001-08-04 Hans Breuer + + * gtk/stocks-icons/makefile.msc : new file + * gtk/makefile.msc.in : use it + + * gtk/gtkstyle.c : not all platforms do provide M_PI and + friends, but luckily there is G_PI + + * gtk/gtk.def : updated + + * gdk/win32/gdkwindow.c (gdk_window_new) : don't make all TEMP + windows WS_POPUP, but only those without a parent. This fixes the + mis-alignment between the selectable (temp, input only) window and + the window text of GtkLabel. + + (gdk_window_show) : respect private->state when actually showing + the window. + + (gdk_window_set_transient_for) : Implementation from Wolfgang + Sourdeau ported to 2.0 and added some + error handling. Should fix #50586. + + * gdk/win32/gdkevents-win32.c : beautify log output + 2001-08-04 Michael Natterer * gtk/gtkitemfactory.c (gtk_item_factory_create_item): diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 683b84ff78..87eb999755 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,27 @@ +2001-08-04 Hans Breuer + + * gtk/stocks-icons/makefile.msc : new file + * gtk/makefile.msc.in : use it + + * gtk/gtkstyle.c : not all platforms do provide M_PI and + friends, but luckily there is G_PI + + * gtk/gtk.def : updated + + * gdk/win32/gdkwindow.c (gdk_window_new) : don't make all TEMP + windows WS_POPUP, but only those without a parent. This fixes the + mis-alignment between the selectable (temp, input only) window and + the window text of GtkLabel. + + (gdk_window_show) : respect private->state when actually showing + the window. + + (gdk_window_set_transient_for) : Implementation from Wolfgang + Sourdeau ported to 2.0 and added some + error handling. Should fix #50586. + + * gdk/win32/gdkevents-win32.c : beautify log output + 2001-08-04 Michael Natterer * gtk/gtkitemfactory.c (gtk_item_factory_create_item): diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 683b84ff78..87eb999755 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,27 @@ +2001-08-04 Hans Breuer + + * gtk/stocks-icons/makefile.msc : new file + * gtk/makefile.msc.in : use it + + * gtk/gtkstyle.c : not all platforms do provide M_PI and + friends, but luckily there is G_PI + + * gtk/gtk.def : updated + + * gdk/win32/gdkwindow.c (gdk_window_new) : don't make all TEMP + windows WS_POPUP, but only those without a parent. This fixes the + mis-alignment between the selectable (temp, input only) window and + the window text of GtkLabel. + + (gdk_window_show) : respect private->state when actually showing + the window. + + (gdk_window_set_transient_for) : Implementation from Wolfgang + Sourdeau ported to 2.0 and added some + error handling. Should fix #50586. + + * gdk/win32/gdkevents-win32.c : beautify log output + 2001-08-04 Michael Natterer * gtk/gtkitemfactory.c (gtk_item_factory_create_item): diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 683b84ff78..87eb999755 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,27 @@ +2001-08-04 Hans Breuer + + * gtk/stocks-icons/makefile.msc : new file + * gtk/makefile.msc.in : use it + + * gtk/gtkstyle.c : not all platforms do provide M_PI and + friends, but luckily there is G_PI + + * gtk/gtk.def : updated + + * gdk/win32/gdkwindow.c (gdk_window_new) : don't make all TEMP + windows WS_POPUP, but only those without a parent. This fixes the + mis-alignment between the selectable (temp, input only) window and + the window text of GtkLabel. + + (gdk_window_show) : respect private->state when actually showing + the window. + + (gdk_window_set_transient_for) : Implementation from Wolfgang + Sourdeau ported to 2.0 and added some + error handling. Should fix #50586. + + * gdk/win32/gdkevents-win32.c : beautify log output + 2001-08-04 Michael Natterer * gtk/gtkitemfactory.c (gtk_item_factory_create_item): diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 683b84ff78..87eb999755 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,27 @@ +2001-08-04 Hans Breuer + + * gtk/stocks-icons/makefile.msc : new file + * gtk/makefile.msc.in : use it + + * gtk/gtkstyle.c : not all platforms do provide M_PI and + friends, but luckily there is G_PI + + * gtk/gtk.def : updated + + * gdk/win32/gdkwindow.c (gdk_window_new) : don't make all TEMP + windows WS_POPUP, but only those without a parent. This fixes the + mis-alignment between the selectable (temp, input only) window and + the window text of GtkLabel. + + (gdk_window_show) : respect private->state when actually showing + the window. + + (gdk_window_set_transient_for) : Implementation from Wolfgang + Sourdeau ported to 2.0 and added some + error handling. Should fix #50586. + + * gdk/win32/gdkevents-win32.c : beautify log output + 2001-08-04 Michael Natterer * gtk/gtkitemfactory.c (gtk_item_factory_create_item): diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 683b84ff78..87eb999755 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,27 @@ +2001-08-04 Hans Breuer + + * gtk/stocks-icons/makefile.msc : new file + * gtk/makefile.msc.in : use it + + * gtk/gtkstyle.c : not all platforms do provide M_PI and + friends, but luckily there is G_PI + + * gtk/gtk.def : updated + + * gdk/win32/gdkwindow.c (gdk_window_new) : don't make all TEMP + windows WS_POPUP, but only those without a parent. This fixes the + mis-alignment between the selectable (temp, input only) window and + the window text of GtkLabel. + + (gdk_window_show) : respect private->state when actually showing + the window. + + (gdk_window_set_transient_for) : Implementation from Wolfgang + Sourdeau ported to 2.0 and added some + error handling. Should fix #50586. + + * gdk/win32/gdkevents-win32.c : beautify log output + 2001-08-04 Michael Natterer * gtk/gtkitemfactory.c (gtk_item_factory_create_item): diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c index a1f8612657..d5199c906d 100644 --- a/gdk/win32/gdkevents-win32.c +++ b/gdk/win32/gdkevents-win32.c @@ -1354,6 +1354,8 @@ propagate (GdkWindow **window, gboolean (*doesnt_want_it) (gint mask, MSG *msg)) { + gboolean in_propagation = FALSE; + if (grab_window != NULL && !grab_owner_events) { /* Event source is grabbed with owner_events FALSE */ @@ -1414,9 +1416,11 @@ propagate (GdkWindow **window, gdk_drawable_unref (*window); *window = GDK_WINDOW (GDK_WINDOW_OBJECT (*window)->parent); gdk_drawable_ref (*window); - GDK_NOTE (EVENTS, g_print ("...propagating to %#lx\n", + GDK_NOTE (EVENTS, g_print ("%s %#lx", + (in_propagation ? "," : " ...propagating to"), (gulong) GDK_WINDOW_HWND (*window))); /* The only branch where we actually continue the loop */ + in_propagation = TRUE; } } else diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c index afa5e86a7b..3e2874e4c8 100644 --- a/gdk/win32/gdkwindow-win32.c +++ b/gdk/win32/gdkwindow-win32.c @@ -557,7 +557,9 @@ gdk_window_new (GdkWindow *parent, break; case GDK_WINDOW_TEMP: - dwStyle = WS_POPUP | WS_CLIPCHILDREN | WS_CLIPSIBLINGS; + dwStyle = WS_CLIPCHILDREN | WS_CLIPSIBLINGS; + /* a temp window is not necessarily a top level window */ + dwStyle |= (gdk_parent_root == parent ? WS_POPUP : WS_CHILDWINDOW); dwExStyle |= WS_EX_TOOLWINDOW; break; @@ -837,8 +839,16 @@ gdk_window_show (GdkWindow *window) { GdkWindow *parent = GDK_WINDOW (private->parent); - ShowWindow (GDK_WINDOW_HWND (window), SW_SHOWNORMAL); - ShowWindow (GDK_WINDOW_HWND (window), SW_RESTORE); + /* Todo: GDK_WINDOW_STATE_STICKY */ + if (private->state & GDK_WINDOW_STATE_ICONIFIED) + ShowWindow (GDK_WINDOW_HWND (window), SW_SHOWMINIMIZED); + else if (private->state & GDK_WINDOW_STATE_MAXIMIZED) + ShowWindow (GDK_WINDOW_HWND (window), SW_SHOWMAXIMIZED); + else + { + ShowWindow (GDK_WINDOW_HWND (window), SW_SHOWNORMAL); + ShowWindow (GDK_WINDOW_HWND (window), SW_RESTORE); + } if (parent == gdk_parent_root) SetForegroundWindow (GDK_WINDOW_HWND (window)); BringWindowToTop (GDK_WINDOW_HWND (window)); @@ -1330,7 +1340,7 @@ gdk_window_set_geometry_hints (GdkWindow *window, impl->hint_flags = geom_mask; if (geom_mask & GDK_HINT_POS) - ; /* XXX */ + ; /* even the X11 mplementation doesn't care */ if (geom_mask & GDK_HINT_MIN_SIZE) { @@ -1469,13 +1479,38 @@ void gdk_window_set_transient_for (GdkWindow *window, GdkWindow *parent) { + HWND window_id, parent_id; + LONG style; + g_return_if_fail (window != NULL); g_return_if_fail (GDK_IS_WINDOW (window)); GDK_NOTE (MISC, g_print ("gdk_window_set_transient_for: %#x %#x\n", (guint) GDK_WINDOW_HWND (window), (guint) GDK_WINDOW_HWND (parent))); - /* XXX */ + + if (GDK_WINDOW_DESTROYED (window) || GDK_WINDOW_DESTROYED (parent)) + return; + + window_id = GDK_WINDOW_HWND (window); + parent_id = GDK_WINDOW_HWND (parent); + + if ((style = GetWindowLong (window_id, GWL_STYLE)) == 0) + WIN32_API_FAILED ("GetWindowLong"); + + style |= WS_POPUP; +#if 0 /* not sure if we want to do this */ + style &= ~(WS_SYSMENU | WS_MAXIMIZEBOX | WS_MINIMIZEBOX); +#endif + + if (!SetWindowLong (window_id, GWL_STYLE, style)) + WIN32_API_FAILED ("SetWindowLong"); + if (!SetParent (window_id, parent_id)) + WIN32_API_FAILED ("SetParent"); + + if (!RedrawWindow (window_id, NULL, NULL, + RDW_FRAME | RDW_INVALIDATE | RDW_UPDATENOW)) + WIN32_API_FAILED ("RedrawWindow"); } void diff --git a/gtk/gtk.def b/gtk/gtk.def index 998c6fccaa..5bc50a692b 100755 --- a/gtk/gtk.def +++ b/gtk/gtk.def @@ -1,6 +1,5 @@ EXPORTS GTK_TYPE_ACCEL_FLAGS - GTK_TYPE_ACCEL_GROUP GTK_TYPE_ANCHOR_TYPE GTK_TYPE_ARG_FLAGS GTK_TYPE_ARROW_TYPE @@ -94,6 +93,7 @@ EXPORTS gtk_accel_group_entries_from_object gtk_accel_group_get_default gtk_accel_group_get_entry + gtk_accel_group_get_type gtk_accel_group_handle_add gtk_accel_group_handle_remove gtk_accel_group_lock @@ -106,12 +106,12 @@ EXPORTS gtk_accel_group_unref gtk_accel_groups_activate gtk_accel_groups_from_object - gtk_accel_label_get_accel_widget + gtk_accel_label_get_accel_object gtk_accel_label_get_accel_width gtk_accel_label_get_type gtk_accel_label_new gtk_accel_label_refetch - gtk_accel_label_set_accel_widget + gtk_accel_label_set_accel_object gtk_accelerator_get_default_mod_mask gtk_accelerator_name gtk_accelerator_parse diff --git a/gtk/gtkstyle.c b/gtk/gtkstyle.c index 84533d305f..c5d35a1787 100644 --- a/gtk/gtkstyle.c +++ b/gtk/gtkstyle.c @@ -38,7 +38,6 @@ #define LIGHTNESS_MULT 1.3 #define DARKNESS_MULT 0.7 - /* --- typedefs & structures --- */ typedef struct { GType widget_type; @@ -4005,8 +4004,8 @@ create_expander_affine (gdouble affine[6], width = expander_size / 4; height = expander_size / 2; - s = sin (degrees * M_PI / 180.0); - c = cos (degrees * M_PI / 180.0); + s = sin (degrees * G_PI / 180.0); + c = cos (degrees * G_PI / 180.0); affine[0] = c; affine[1] = s; diff --git a/gtk/stock-icons/makefile.msc b/gtk/stock-icons/makefile.msc new file mode 100644 index 0000000000..32cfdaae65 --- /dev/null +++ b/gtk/stock-icons/makefile.msc @@ -0,0 +1,78 @@ +VARIABLES = \ + dialog_error dialog_error.png \ + dialog_info dialog_info.png \ + dialog_question dialog_question.png \ + dialog_warning dialog_warning.png \ + stock_add stock_add.png \ + stock_align_justify stock_align_justify.png \ + stock_align_left stock_align_left.png \ + stock_button_apply stock_button_apply.png \ + stock_button_cancel stock_button_cancel.png \ + stock_button_close stock_button_close.png \ + stock_dnd_multiple stock_dnd_multiple.png \ + stock_button_no stock_button_no.png \ + stock_button_ok stock_button_ok.png \ + stock_button_yes stock_button_yes.png \ + stock_align_center stock_align_center.png \ + stock_align_right stock_align_right.png \ + stock_bottom stock_bottom.png \ + stock_cdrom stock_cdrom.png \ + stock_clear stock_clear.png \ + stock_close stock_close.png \ + stock_colorselector stock_colorselector.png \ + stock_convert stock_convert.png \ + stock_copy stock_copy.png \ + stock_cut stock_cut.png \ + stock_down_arrow stock_down_arrow.png \ + stock_exec stock_exec.png \ + stock_exit stock_exit.png \ + stock_first stock_first.png \ + stock_font stock_font.png \ + stock_help stock_help.png \ + stock_home stock_home.png \ + stock_index stock_index.png \ + stock_jump_to stock_jump_to.png \ + stock_last stock_last.png \ + stock_left_arrow stock_left_arrow.png \ + stock_menu_print_preview stock_menu_print_preview.png \ + stock_menu_sort_ascending stock_menu_sort_ascending.png \ + stock_menu_sort_descending stock_menu_sort_descending.png \ + stock_new stock_new.png \ + stock_open stock_open.png \ + stock_paste stock_paste.png \ + stock_preferences stock_preferences.png \ + stock_print stock_print.png \ + stock_print_preview stock_print_preview.png \ + stock_properties stock_properties.png \ + stock_redo stock_redo.png \ + stock_refresh stock_refresh.png \ + stock_remove stock_remove.png \ + stock_revert stock_revert.png \ + stock_right_arrow stock_right_arrow.png \ + stock_save stock_save.png \ + stock_save_as stock_save_as.png \ + stock_search stock_search.png \ + stock_search_replace stock_search_replace.png \ + stock_sort_ascending stock_sort_ascending.png \ + stock_sort_descending stock_sort_descending.png \ + stock_spellcheck stock_spellcheck.png \ + stock_stop stock_stop.png \ + stock_text_bold stock_text_bold.png \ + stock_text_italic stock_text_italic.png \ + stock_text_strikeout stock_text_strikeout.png \ + stock_text_underline stock_text_underline.png \ + stock_top stock_top.png \ + stock_trash stock_trash.png \ + stock_undelete stock_undelete.png \ + stock_undo stock_undo.png \ + stock_up_arrow stock_up_arrow.png \ + stock_zoom_1 stock_zoom_1.png \ + stock_zoom_fit stock_zoom_fit.png \ + stock_zoom_in stock_zoom_in.png \ + stock_zoom_out stock_zoom_out.png \ + +all: \ + gtkstockpixbufs.h + +gtkstockpixbufs.h : makefile.msc + ..\..\gdk-pixbuf\gdk-pixbuf-csource --raw --build-list $(VARIABLES) > gtkstockpixbufs.h \ No newline at end of file