]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkwindow.h
Use the correct screen for getting the height. (Fix from Stephen Browne,
[~andy/gtk] / gtk / gtkwindow.h
index 393e02849535763bb260d8596f3a5ae0bb32b274..60d43b3d46e492a5f6131b1d6031534eaa210ab2 100644 (file)
@@ -40,11 +40,11 @@ extern "C" {
 
 
 #define GTK_TYPE_WINDOW                        (gtk_window_get_type ())
-#define GTK_WINDOW(obj)                        (GTK_CHECK_CAST ((obj), GTK_TYPE_WINDOW, GtkWindow))
-#define GTK_WINDOW_CLASS(klass)                (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_WINDOW, GtkWindowClass))
-#define GTK_IS_WINDOW(obj)             (GTK_CHECK_TYPE ((obj), GTK_TYPE_WINDOW))
-#define GTK_IS_WINDOW_CLASS(klass)     (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_WINDOW))
-#define GTK_WINDOW_GET_CLASS(obj)       (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_WINDOW, GtkWindowClass))
+#define GTK_WINDOW(obj)                        (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_WINDOW, GtkWindow))
+#define GTK_WINDOW_CLASS(klass)                (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_WINDOW, GtkWindowClass))
+#define GTK_IS_WINDOW(obj)             (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_WINDOW))
+#define GTK_IS_WINDOW_CLASS(klass)     (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_WINDOW))
+#define GTK_WINDOW_GET_CLASS(obj)       (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_WINDOW, GtkWindowClass))
 
 
 typedef struct _GtkWindow             GtkWindow;
@@ -98,7 +98,10 @@ struct _GtkWindow
   guint decorated : 1;
   
   guint type_hint : 3; /* GdkWindowTypeHint */ 
-  guint gravity : 5; /* GdkGravity */ 
+  guint gravity : 5; /* GdkGravity */
+
+  guint is_active : 1;
+  guint has_toplevel_focus : 1;
   
   guint frame_left;
   guint frame_top;
@@ -108,7 +111,7 @@ struct _GtkWindow
   guint keys_changed_handler;
   
   GdkModifierType mnemonic_modifier;
-  gpointer gtk_reserved1;      /* For future GdkScreen * */
+  GdkScreen      *screen;
 };
 
 struct _GtkWindowClass
@@ -128,6 +131,12 @@ struct _GtkWindowClass
                                         GtkDirectionType direction);
   
   void    (*keys_changed)             (GtkWindow       *window);
+  
+  /* Padding for future expansion */
+  void (*_gtk_reserved1) (void);
+  void (*_gtk_reserved2) (void);
+  void (*_gtk_reserved3) (void);
+  void (*_gtk_reserved4) (void);
 };
 
 #define GTK_TYPE_WINDOW_GROUP             (gtk_window_group_get_type ())
@@ -147,9 +156,15 @@ struct _GtkWindowGroup
 struct _GtkWindowGroupClass
 {
   GObjectClass parent_class;
+
+  /* Padding for future expansion */
+  void (*_gtk_reserved1) (void);
+  void (*_gtk_reserved2) (void);
+  void (*_gtk_reserved3) (void);
+  void (*_gtk_reserved4) (void);
 };
 
-GtkType    gtk_window_get_type                 (void) G_GNUC_CONST;
+GType      gtk_window_get_type                 (void) G_GNUC_CONST;
 GtkWidget* gtk_window_new                      (GtkWindowType        type);
 void       gtk_window_set_title                (GtkWindow           *window,
                                                const gchar         *title);
@@ -180,6 +195,12 @@ GtkWindow *gtk_window_get_transient_for        (GtkWindow           *window);
 void       gtk_window_set_type_hint            (GtkWindow           *window, 
                                                GdkWindowTypeHint    hint);
 GdkWindowTypeHint gtk_window_get_type_hint     (GtkWindow           *window);
+void       gtk_window_set_skip_taskbar_hint    (GtkWindow           *window,
+                                                gboolean             setting);
+gboolean   gtk_window_get_skip_taskbar_hint    (GtkWindow           *window);
+void       gtk_window_set_skip_pager_hint      (GtkWindow           *window,
+                                                gboolean             setting);
+gboolean   gtk_window_get_skip_pager_hint      (GtkWindow           *window);
 void       gtk_window_set_destroy_with_parent  (GtkWindow           *window,
                                                 gboolean             setting);
 gboolean   gtk_window_get_destroy_with_parent  (GtkWindow           *window);
@@ -198,6 +219,10 @@ void       gtk_window_set_geometry_hints       (GtkWindow           *window,
                                                GdkGeometry         *geometry,
                                                GdkWindowHints       geom_mask);
 
+void      gtk_window_set_screen               (GtkWindow           *window,
+                                               GdkScreen           *screen);
+GdkScreen* gtk_window_get_screen              (GtkWindow           *window);
+
 /* gtk_window_set_has_frame () must be called before realizing the window_*/
 void       gtk_window_set_has_frame            (GtkWindow *window, 
                                                gboolean   setting);
@@ -221,9 +246,16 @@ void       gtk_window_set_icon_list                (GtkWindow  *window,
 GList*     gtk_window_get_icon_list                (GtkWindow  *window);
 void       gtk_window_set_icon                     (GtkWindow  *window,
                                                     GdkPixbuf  *icon);
+gboolean   gtk_window_set_icon_from_file           (GtkWindow   *window,
+                                                   const gchar *filename,
+                                                   GError     **err);
 GdkPixbuf* gtk_window_get_icon                     (GtkWindow  *window);
 void       gtk_window_set_default_icon_list        (GList      *list);
 GList*     gtk_window_get_default_icon_list        (void);
+gboolean   gtk_window_set_default_icon_from_file   (const gchar *filename,
+                                                   GError     **err);
+
+void       gtk_window_set_auto_startup_notification (gboolean setting);
 
 /* If window is set modal, input will be grabbed when show and released when hide */
 void       gtk_window_set_modal      (GtkWindow *window,
@@ -251,6 +283,8 @@ void     gtk_window_stick         (GtkWindow *window);
 void     gtk_window_unstick       (GtkWindow *window);
 void     gtk_window_maximize      (GtkWindow *window);
 void     gtk_window_unmaximize    (GtkWindow *window);
+void     gtk_window_fullscreen    (GtkWindow *window);
+void     gtk_window_unfullscreen  (GtkWindow *window);
 
 void gtk_window_begin_resize_drag (GtkWindow     *window,
                                    GdkWindowEdge  edge,
@@ -328,6 +362,24 @@ GtkWindowGroup *_gtk_window_get_group          (GtkWindow *window);
 gboolean        _gtk_window_activate_key       (GtkWindow   *window,
                                                GdkEventKey *event);
 
+void            _gtk_window_set_has_toplevel_focus (GtkWindow *window,
+                                                   gboolean   has_toplevel_focus);
+void            _gtk_window_unset_focus_and_default (GtkWindow *window,
+                                                    GtkWidget *widget);
+
+void            _gtk_window_set_is_active          (GtkWindow *window,
+                                                   gboolean   is_active);
+
+typedef void (*GtkWindowKeysForeachFunc) (GtkWindow      *window,
+                                         guint           keyval,
+                                         GdkModifierType modifiers,
+                                         gboolean        is_mnemonic,
+                                         gpointer        data);
+
+void _gtk_window_keys_foreach (GtkWindow               *window,
+                              GtkWindowKeysForeachFunc func,
+                              gpointer                 func_data);
+
 /* --- internal (GtkAcceleratable) --- */
 gboolean       _gtk_window_query_nonaccels     (GtkWindow      *window,
                                                 guint           accel_key,