2001-03-09  Hans Breuer  <hans@breuer.org>

	* gdk/gdk.def : updated

	* gdk/win32/gdkevents-win32.c : don't ask input_only windows
	for their palette

	* gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
	removing

	* gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
	removing and implemented Havoc's GdkWindow state functions;
	stick/unstick only as no-op, cause I don't know how to emulate
	on win32 ...

	* gtk/gtk.def : updated

	* gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()

	* gtk/gtktypeutils.c : #include <string.h>

	* gtk/gtkwindow.h : declare gtk_window_set_decorated ()
This commit is contained in:
Hans Breuer 2001-03-09 16:43:19 +00:00 committed by Hans Breuer
parent 587197ff21
commit f4cd3854c5
15 changed files with 440 additions and 55 deletions

View File

@ -1,3 +1,26 @@
2001-03-09 Hans Breuer <hans@breuer.org>
* gdk/gdk.def : updated
* gdk/win32/gdkevents-win32.c : don't ask input_only windows
for their palette
* gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
removing
* gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
removing and implemented Havoc's GdkWindow state functions;
stick/unstick only as no-op, cause I don't know how to emulate
on win32 ...
* gtk/gtk.def : updated
* gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
* gtk/gtktypeutils.c : #include <string.h>
* gtk/gtkwindow.h : declare gtk_window_set_decorated ()
Fri Mar 9 09:31:55 2001 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with

View File

@ -1,3 +1,26 @@
2001-03-09 Hans Breuer <hans@breuer.org>
* gdk/gdk.def : updated
* gdk/win32/gdkevents-win32.c : don't ask input_only windows
for their palette
* gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
removing
* gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
removing and implemented Havoc's GdkWindow state functions;
stick/unstick only as no-op, cause I don't know how to emulate
on win32 ...
* gtk/gtk.def : updated
* gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
* gtk/gtktypeutils.c : #include <string.h>
* gtk/gtkwindow.h : declare gtk_window_set_decorated ()
Fri Mar 9 09:31:55 2001 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with

View File

@ -1,3 +1,26 @@
2001-03-09 Hans Breuer <hans@breuer.org>
* gdk/gdk.def : updated
* gdk/win32/gdkevents-win32.c : don't ask input_only windows
for their palette
* gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
removing
* gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
removing and implemented Havoc's GdkWindow state functions;
stick/unstick only as no-op, cause I don't know how to emulate
on win32 ...
* gtk/gtk.def : updated
* gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
* gtk/gtktypeutils.c : #include <string.h>
* gtk/gtkwindow.h : declare gtk_window_set_decorated ()
Fri Mar 9 09:31:55 2001 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with

View File

@ -1,3 +1,26 @@
2001-03-09 Hans Breuer <hans@breuer.org>
* gdk/gdk.def : updated
* gdk/win32/gdkevents-win32.c : don't ask input_only windows
for their palette
* gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
removing
* gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
removing and implemented Havoc's GdkWindow state functions;
stick/unstick only as no-op, cause I don't know how to emulate
on win32 ...
* gtk/gtk.def : updated
* gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
* gtk/gtktypeutils.c : #include <string.h>
* gtk/gtkwindow.h : declare gtk_window_set_decorated ()
Fri Mar 9 09:31:55 2001 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with

View File

@ -1,3 +1,26 @@
2001-03-09 Hans Breuer <hans@breuer.org>
* gdk/gdk.def : updated
* gdk/win32/gdkevents-win32.c : don't ask input_only windows
for their palette
* gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
removing
* gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
removing and implemented Havoc's GdkWindow state functions;
stick/unstick only as no-op, cause I don't know how to emulate
on win32 ...
* gtk/gtk.def : updated
* gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
* gtk/gtktypeutils.c : #include <string.h>
* gtk/gtkwindow.h : declare gtk_window_set_decorated ()
Fri Mar 9 09:31:55 2001 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with

View File

@ -1,3 +1,26 @@
2001-03-09 Hans Breuer <hans@breuer.org>
* gdk/gdk.def : updated
* gdk/win32/gdkevents-win32.c : don't ask input_only windows
for their palette
* gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
removing
* gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
removing and implemented Havoc's GdkWindow state functions;
stick/unstick only as no-op, cause I don't know how to emulate
on win32 ...
* gtk/gtk.def : updated
* gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
* gtk/gtktypeutils.c : #include <string.h>
* gtk/gtkwindow.h : declare gtk_window_set_decorated ()
Fri Mar 9 09:31:55 2001 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with

View File

@ -1,3 +1,26 @@
2001-03-09 Hans Breuer <hans@breuer.org>
* gdk/gdk.def : updated
* gdk/win32/gdkevents-win32.c : don't ask input_only windows
for their palette
* gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
removing
* gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
removing and implemented Havoc's GdkWindow state functions;
stick/unstick only as no-op, cause I don't know how to emulate
on win32 ...
* gtk/gtk.def : updated
* gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
* gtk/gtktypeutils.c : #include <string.h>
* gtk/gtkwindow.h : declare gtk_window_set_decorated ()
Fri Mar 9 09:31:55 2001 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with

View File

@ -378,5 +378,15 @@ EXPORTS
gdk_window_set_transient_for
gdk_window_set_user_data
gdk_window_shape_combine_mask
gdk_window_shape_combine_region
gdk_window_show
gdk_window_withdraw
gdk_window_deiconify
gdk_window_focus
gdk_window_iconify
gdk_window_maximize
gdk_window_set_modal_hint
gdk_window_set_type_hint
gdk_window_stick
gdk_window_unmaximize
gdk_window_unstick

View File

@ -2599,6 +2599,9 @@ gdk_event_translate (GdkEvent *event,
if (GDK_WINDOW_DESTROYED (window))
break;
if (GDK_WINDOW_OBJECT (window)->input_only)
break;
colormap = GDK_DRAWABLE_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl)->colormap;
if (colormap)
colormap_private = GDK_COLORMAP_PRIVATE_DATA (colormap);
@ -2620,9 +2623,6 @@ gdk_event_translate (GdkEvent *event,
*ret_val_flagp = TRUE;
*ret_valp = 1;
if (GDK_WINDOW_OBJECT (window)->input_only)
break;
if (GDK_WINDOW_OBJECT (window)->bg_pixmap == GDK_PARENT_RELATIVE_BG)
{
/* If this window should have the same background as the

View File

@ -326,7 +326,7 @@ _gdk_window_move_resize_child (GdkWindow *window,
if (impl->position_info.no_bg)
gdk_window_tmp_reset_bg (window);
if (!impl->position_info.mapped && new_info.mapped && obj->mapped)
if (!impl->position_info.mapped && new_info.mapped && GDK_WINDOW_IS_MAPPED (obj))
ShowWindow (GDK_WINDOW_HWND (window), SW_SHOWNA);
impl->position_info = new_info;
@ -386,7 +386,7 @@ _gdk_window_move_resize_child (GdkWindow *window,
if (impl->position_info.no_bg)
gdk_window_tmp_reset_bg (window);
if (!impl->position_info.mapped && new_info.mapped && obj->mapped)
if (!impl->position_info.mapped && new_info.mapped && GDK_WINDOW_IS_MAPPED (obj))
ShowWindow (GDK_WINDOW_HWND (window), SW_SHOWNA);
impl->position_info = new_info;
@ -660,7 +660,7 @@ gdk_window_postmove (GdkWindow *window,
WIN32_API_FAILED ("MoveWindow");
}
if (!impl->position_info.mapped && new_info.mapped && obj->mapped)
if (!impl->position_info.mapped && new_info.mapped && GDK_WINDOW_IS_MAPPED (obj))
ShowWindow (GDK_WINDOW_HWND (window), SW_SHOWNA);
if (impl->position_info.no_bg)

View File

@ -718,7 +718,10 @@ gdk_window_foreign_new (GdkNativeWindow anid)
impl->height = rect.bottom - rect.top;
private->window_type = GDK_WINDOW_FOREIGN;
private->destroyed = FALSE;
private->mapped = IsWindowVisible ((HWND) anid);
if (IsWindowVisible ((HWND) anid))
private->state &= (~GDK_WINDOW_STATE_WITHDRAWN);
else
private->state |= GDK_WINDOW_STATE_WITHDRAWN;
private->depth = gdk_visual_get_system ()->depth;
gdk_drawable_ref (window);
@ -804,7 +807,7 @@ gdk_window_show (GdkWindow *window)
GDK_NOTE (MISC, g_print ("gdk_window_show: %#x\n",
(guint) GDK_WINDOW_HWND (window)));
private->mapped = TRUE;
private->state &= (~GDK_WINDOW_STATE_WITHDRAWN);
if (GDK_WINDOW_TYPE (window) == GDK_WINDOW_TEMP)
{
ShowWindow (GDK_WINDOW_HWND (window), SW_SHOWNOACTIVATE);
@ -852,7 +855,7 @@ gdk_window_hide (GdkWindow *window)
GDK_NOTE (MISC, g_print ("gdk_window_hide: %#x\n",
(guint) GDK_WINDOW_HWND (window)));
private->mapped = FALSE;
private->state |= GDK_WINDOW_STATE_WITHDRAWN;
if (GDK_WINDOW_TYPE (window) == GDK_WINDOW_TOPLEVEL)
ShowOwnedPopups (GDK_WINDOW_HWND (window), FALSE);
@ -2221,3 +2224,216 @@ gdk_window_set_static_gravities (GdkWindow *window,
return TRUE;
}
/*
* Setting window states
*/
void
gdk_window_iconify (GdkWindow *window)
{
g_return_if_fail (window != NULL);
g_return_if_fail (GDK_IS_WINDOW (window));
if (GDK_WINDOW_DESTROYED (window))
return;
if (GDK_WINDOW_IS_MAPPED (window))
{
ShowWindow (GDK_WINDOW_HWND (window), SW_MINIMIZE);
}
else
{
/* Flip our client side flag, the real work happens on map. */
gdk_synthesize_window_state (window,
0,
GDK_WINDOW_STATE_ICONIFIED);
}
}
void
gdk_window_deiconify (GdkWindow *window)
{
g_return_if_fail (window != NULL);
g_return_if_fail (GDK_IS_WINDOW (window));
if (GDK_WINDOW_DESTROYED (window))
return;
if (GDK_WINDOW_IS_MAPPED (window))
{
gdk_window_show (window);
}
else
{
/* Flip our client side flag, the real work happens on map. */
gdk_synthesize_window_state (window,
GDK_WINDOW_STATE_ICONIFIED,
0);
}
}
void
gdk_window_stick (GdkWindow *window)
{
g_return_if_fail (GDK_IS_WINDOW (window));
if (GDK_WINDOW_DESTROYED (window))
return;
if (GDK_WINDOW_IS_MAPPED (window))
{
/* "stick" means stick to all desktops _and_ do not scroll with the
* viewport. i.e. glue to the monitor glass in all cases.
*/
g_warning ("gdk_window_stick (0x%X) ???", GDK_WINDOW_HWND (window));
}
else
{
/* Flip our client side flag, the real work happens on map. */
gdk_synthesize_window_state (window,
0,
GDK_WINDOW_STATE_STICKY);
}
}
void
gdk_window_unstick (GdkWindow *window)
{
g_return_if_fail (GDK_IS_WINDOW (window));
if (GDK_WINDOW_DESTROYED (window))
return;
if (GDK_WINDOW_IS_MAPPED (window))
{
g_warning ("gdk_window_unstick (0x%X) ???", GDK_WINDOW_HWND (window));
}
else
{
/* Flip our client side flag, the real work happens on map. */
gdk_synthesize_window_state (window,
GDK_WINDOW_STATE_STICKY,
0);
}
}
void
gdk_window_maximize (GdkWindow *window)
{
g_return_if_fail (GDK_IS_WINDOW (window));
if (GDK_WINDOW_DESTROYED (window))
return;
if (GDK_WINDOW_IS_MAPPED (window))
ShowWindow (GDK_WINDOW_HWND (window), SW_MAXIMIZE);
else
gdk_synthesize_window_state (window,
0,
GDK_WINDOW_STATE_MAXIMIZED);
}
void
gdk_window_unmaximize (GdkWindow *window)
{
g_return_if_fail (GDK_IS_WINDOW (window));
if (GDK_WINDOW_DESTROYED (window))
return;
if (GDK_WINDOW_IS_MAPPED (window))
ShowWindow (GDK_WINDOW_HWND (window), SW_RESTORE);
else
gdk_synthesize_window_state (window,
GDK_WINDOW_STATE_MAXIMIZED,
0);
}
void
gdk_window_focus (GdkWindow *window,
guint32 timestamp)
{
g_return_if_fail (GDK_IS_WINDOW (window));
if (GDK_WINDOW_DESTROYED (window))
return;
ShowWindow (GDK_WINDOW_HWND (window), SW_SHOWNORMAL);
}
void
gdk_window_set_modal_hint (GdkWindow *window,
gboolean modal)
{
GdkWindowObject *private;
g_return_if_fail (window != NULL);
g_return_if_fail (GDK_IS_WINDOW (window));
if (GDK_WINDOW_DESTROYED (window))
return;
private = (GdkWindowObject*) window;
private->modal_hint = modal;
if (GDK_WINDOW_IS_MAPPED (window))
if (!SetWindowPos (GDK_WINDOW_HWND (window), HWND_TOPMOST,
0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE))
WIN32_API_FAILED ("SetWindowPos");
}
void
gdk_window_set_type_hint (GdkWindow *window,
GdkWindowTypeHint hint)
{
GdkAtom atom;
g_return_if_fail (window != NULL);
g_return_if_fail (GDK_IS_WINDOW (window));
if (GDK_WINDOW_DESTROYED (window))
return;
switch (hint)
{
case GDK_WINDOW_TYPE_HINT_DIALOG:
atom = gdk_atom_intern ("_NET_WM_WINDOW_TYPE_DIALOG", FALSE);
break;
case GDK_WINDOW_TYPE_HINT_MENU:
atom = gdk_atom_intern ("_NET_WM_WINDOW_TYPE_MENU", FALSE);
break;
case GDK_WINDOW_TYPE_HINT_TOOLBAR:
atom = gdk_atom_intern ("_NET_WM_WINDOW_TYPE_TOOLBAR", FALSE);
break;
default:
g_warning ("Unknown hint %d passed to gdk_window_set_type_hint", hint);
/* Fall thru */
case GDK_WINDOW_TYPE_HINT_NORMAL:
atom = gdk_atom_intern ("_NET_WM_WINDOW_TYPE_NORMAL", FALSE);
break;
}
/*
* XXX ???
*/
GDK_NOTE (MISC,
g_print ("gdk_window_set_type_hint (0x%0X)\n",
GDK_WINDOW_HWND (window)));
}
void
gdk_window_shape_combine_region (GdkWindow *window,
GdkRegion *shape_region,
gint offset_x,
gint offset_y)
{
gint xoffset, yoffset;
g_return_if_fail (GDK_IS_WINDOW (window));
if (GDK_WINDOW_DESTROYED (window))
return;
/* XXX: even on X implemented conditional ... */
}

View File

@ -202,20 +202,15 @@ EXPORTS
gtk_box_set_child_packing
gtk_box_set_homogeneous
gtk_box_set_spacing
gtk_button_box_child_requisition
gtk_button_box_get_child_ipadding
gtk_button_box_get_child_ipadding_default
gtk_button_box_get_child_size
gtk_button_box_get_child_size_default
gtk_button_box_get_layout
gtk_button_box_get_spacing
gtk_box_get_spacing
gtk_button_box_get_type
gtk_button_box_set_child_ipadding
gtk_button_box_set_child_ipadding_default
gtk_button_box_set_child_size
gtk_button_box_set_child_size_default
gtk_button_box_set_layout
gtk_button_box_set_spacing
gtk_box_set_spacing
gtk_button_clicked
gtk_button_enter
gtk_button_get_relief
@ -732,46 +727,38 @@ EXPORTS
gtk_main_level
gtk_main_quit
gtk_major_version
gtk_marshal_BOOLEAN__POINTER
gtk_marshal_BOOLEAN__POINTER_INT_INT
gtk_marshal_BOOLEAN__POINTER_INT_INT_UINT
gtk_marshal_BOOLEAN__POINTER_POINTER_INT_INT
gtk_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER
gtk_marshal_BOOLEAN__BOXED
gtk_marshal_BOOLEAN__BOXED_INT_INT_UINT
gtk_marshal_BOOLEAN__OBJECT_STRING_STRING_BOXED
gtk_marshal_BOOLEAN__VOID
gtk_marshal_ENUM__ENUM
gtk_marshal_INT__OBJECT_BOXED_BOXED
gtk_marshal_INT__POINTER
gtk_marshal_INT__POINTER_CHAR_CHAR
gtk_marshal_INT__POINTER_POINTER_POINTER
gtk_marshal_INT__VOID
gtk_marshal_POINTER__POINTER
gtk_marshal_POINTER__POINTER_INT
gtk_marshal_POINTER__VOID
gtk_marshal_VOID__BOOLEAN
gtk_marshal_VOID__BOXED
gtk_marshal_VOID__BOXED_BOXED
gtk_marshal_VOID__BOXED_BOXED_UINT_UINT
gtk_marshal_VOID__BOXED_INT_INT_BOXED_UINT_UINT
gtk_marshal_VOID__BOXED_OBJECT
gtk_marshal_VOID__BOXED_STRING_INT
gtk_marshal_VOID__BOXED_UINT
gtk_marshal_VOID__BOXED_UINT_UINT
gtk_marshal_VOID__ENUM
gtk_marshal_VOID__ENUM_FLOAT
gtk_marshal_VOID__ENUM_FLOAT_BOOLEAN
gtk_marshal_VOID__ENUM_INT
gtk_marshal_VOID__ENUM_INT_BOOLEAN
gtk_marshal_VOID__INT_INT
gtk_marshal_VOID__INT_INT_INT
gtk_marshal_VOID__INT_INT_INT_INT
gtk_marshal_VOID__INT_INT_POINTER
gtk_marshal_VOID__POINTER_BOOLEAN
gtk_marshal_VOID__OBJECT_BOOLEAN
gtk_marshal_VOID__OBJECT_BOXED_BOXED
gtk_marshal_VOID__OBJECT_INT_INT
gtk_marshal_VOID__OBJECT_OBJECT
gtk_marshal_VOID__OBJECT_STRING_STRING
gtk_marshal_VOID__POINTER_INT
gtk_marshal_VOID__POINTER_INT_INT_POINTER_UINT_UINT
gtk_marshal_VOID__POINTER_INT_POINTER
gtk_marshal_VOID__POINTER_POINTER
gtk_marshal_VOID__POINTER_POINTER_BOOLEAN
gtk_marshal_VOID__POINTER_POINTER_INT
gtk_marshal_VOID__POINTER_POINTER_INT_BOOLEAN
gtk_marshal_VOID__POINTER_POINTER_INT_INT
gtk_marshal_VOID__POINTER_POINTER_POINTER
gtk_marshal_VOID__POINTER_POINTER_UINT_UINT
gtk_marshal_VOID__POINTER_UINT
gtk_marshal_VOID__POINTER_UINT_ENUM
gtk_marshal_VOID__POINTER_UINT_FLAGS
gtk_marshal_VOID__POINTER_UINT_UINT
gtk_marshal_VOID__UINT_POINTER_UINT_ENUM_ENUM_POINTER
gtk_marshal_VOID__UINT_POINTER_UINT_FLAGS_FLAGS
gtk_marshal_VOID__UINT_POINTER_UINT_UINT_ENUM
gtk_marshal_VOID__UINT_STRING
gtk_menu_attach_to_widget
gtk_menu_bar_append
gtk_menu_bar_get_type
@ -1317,11 +1304,11 @@ EXPORTS
gtk_tree_item_remove_subtree
gtk_tree_item_select
gtk_tree_item_set_subtree
gtk_tree_model_simple_changed
gtk_tree_model_simple_child_toggled
gtk_tree_model_simple_get_type
gtk_tree_model_simple_inserted
gtk_tree_model_simple_new
; gtk_tree_model_simple_changed
; gtk_tree_model_simple_child_toggled
; gtk_tree_model_simple_get_type
; gtk_tree_model_simple_inserted
; gtk_tree_model_simple_new
gtk_tree_model_sort_convert_path
gtk_tree_model_sort_get_type
gtk_tree_model_sort_new
@ -1459,8 +1446,6 @@ EXPORTS
gtk_widget_destroy
gtk_widget_destroyed
gtk_widget_draw
gtk_widget_draw_default
gtk_widget_draw_focus
gtk_widget_ensure_style
gtk_widget_event
gtk_widget_get_ancestor
@ -1571,5 +1556,14 @@ EXPORTS
gtk_window_set_title
gtk_window_set_transient_for
gtk_window_set_wmclass
gtk_dialog_get_has_separator
gtk_dialog_set_has_separator
gtk_entry_set_activates_default
gtk_window_deiconify
gtk_window_iconify
gtk_window_maximize
gtk_window_present
gtk_window_set_decorated
gtk_window_stick
gtk_window_unmaximize
gtk_window_unstick

View File

@ -218,8 +218,7 @@ gtk_label_class_init (GtkLabelClass *class)
PROP_PATTERN,
g_param_spec_string ("pattern",
_("Pattern"),
_("A string with _ characters in positions correspond to characters in
the text to underline."),
_("A string with _ characters in positions correspond to characters in the text to underline."),
NULL,
G_PARAM_WRITABLE));

View File

@ -24,6 +24,8 @@
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
#include <string.h> /* strcmp */
#include "gtktypeutils.h"
#include "gtkobject.h"

View File

@ -164,6 +164,9 @@ void gtk_window_set_frame_dimensions (GtkWindow *window,
gint right,
gint bottom);
void gtk_window_set_decorated (GtkWindow *window,
gboolean setting);
/* If window is set modal, input will be grabbed when show and released when hide */
void gtk_window_set_modal (GtkWindow *window,
gboolean modal);