* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
/*
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
-#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
-#error "Only <gtk/gtk.h> can be included directly."
-#endif
-
#ifndef __GTK_WINDOW_H__
#define __GTK_WINDOW_H__
+#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
+#error "Only <gtk/gtk.h> can be included directly."
+#endif
+
+#include <gtk/gtkapplication.h>
#include <gtk/gtkaccelgroup.h>
#include <gtk/gtkbin.h>
-#include "gtk/gtkaccelgroupprivate.h"
-
-
G_BEGIN_DECLS
#define GTK_TYPE_WINDOW (gtk_window_get_type ())
typedef struct _GtkWindowGeometryInfo GtkWindowGeometryInfo;
typedef struct _GtkWindowGroup GtkWindowGroup;
typedef struct _GtkWindowGroupClass GtkWindowGroupClass;
+typedef struct _GtkWindowGroupPrivate GtkWindowGroupPrivate;
struct _GtkWindow
{
GtkBinClass parent_class;
void (* set_focus) (GtkWindow *window,
- GtkWidget *focus);
- gboolean (* frame_event) (GtkWindow *window,
- GdkEvent *event);
+ GtkWidget *focus);
/* G_SIGNAL_ACTION signals for keybindings */
- void (* activate_focus) (GtkWindow *window);
- void (* activate_default) (GtkWindow *window);
-
- /* as of GTK+ 2.12 the "move-focus" signal has been moved to GtkWidget,
- * so this is merley a virtual function now. Overriding it in subclasses
- * continues to work though.
- */
- void (* move_focus) (GtkWindow *window,
- GtkDirectionType direction);
-
- void (*keys_changed) (GtkWindow *window);
-
+ void (* activate_focus) (GtkWindow *window);
+ void (* activate_default) (GtkWindow *window);
+ void (* keys_changed) (GtkWindow *window);
+
/* Padding for future expansion */
void (*_gtk_reserved1) (void);
void (*_gtk_reserved2) (void);
{
GObject parent_instance;
- GSList *GSEAL (grabs);
+ GtkWindowGroupPrivate *priv;
};
struct _GtkWindowGroupClass
GtkWidget* gtk_window_new (GtkWindowType type);
void gtk_window_set_title (GtkWindow *window,
const gchar *title);
-G_CONST_RETURN gchar *gtk_window_get_title (GtkWindow *window);
+const gchar * gtk_window_get_title (GtkWindow *window);
void gtk_window_set_wmclass (GtkWindow *window,
const gchar *wmclass_name,
const gchar *wmclass_class);
const gchar *role);
void gtk_window_set_startup_id (GtkWindow *window,
const gchar *startup_id);
-G_CONST_RETURN gchar *gtk_window_get_role (GtkWindow *window);
+const gchar * gtk_window_get_role (GtkWindow *window);
void gtk_window_add_accel_group (GtkWindow *window,
GtkAccelGroup *accel_group);
void gtk_window_remove_accel_group (GtkWindow *window,
void gtk_window_set_transient_for (GtkWindow *window,
GtkWindow *parent);
GtkWindow *gtk_window_get_transient_for (GtkWindow *window);
+GDK_AVAILABLE_IN_3_4
+void gtk_window_set_attached_to (GtkWindow *window,
+ GtkWidget *attach_widget);
+GDK_AVAILABLE_IN_3_4
+GtkWidget *gtk_window_get_attached_to (GtkWindow *window);
+GDK_DEPRECATED_IN_3_8_FOR(gtk_widget_set_opacity)
void gtk_window_set_opacity (GtkWindow *window,
gdouble opacity);
+GDK_DEPRECATED_IN_3_8_FOR(gtk_widget_get_opacity)
gdouble gtk_window_get_opacity (GtkWindow *window);
void gtk_window_set_type_hint (GtkWindow *window,
GdkWindowTypeHint hint);
void gtk_window_set_destroy_with_parent (GtkWindow *window,
gboolean setting);
gboolean gtk_window_get_destroy_with_parent (GtkWindow *window);
+GDK_AVAILABLE_IN_3_4
+void gtk_window_set_hide_titlebar_when_maximized (GtkWindow *window,
+ gboolean setting);
+GDK_AVAILABLE_IN_3_4
+gboolean gtk_window_get_hide_titlebar_when_maximized (GtkWindow *window);
void gtk_window_set_mnemonics_visible (GtkWindow *window,
gboolean setting);
gboolean gtk_window_get_mnemonics_visible (GtkWindow *window);
+GDK_AVAILABLE_IN_3_2
+void gtk_window_set_focus_visible (GtkWindow *window,
+ gboolean setting);
+GDK_AVAILABLE_IN_3_2
+gboolean gtk_window_get_focus_visible (GtkWindow *window);
void gtk_window_set_resizable (GtkWindow *window,
gboolean resizable);
void gtk_window_set_screen (GtkWindow *window,
GdkScreen *screen);
GdkScreen* gtk_window_get_screen (GtkWindow *window);
-void gtk_window_set_visual (GtkWindow *window,
- GdkVisual *visual);
gboolean gtk_window_is_active (GtkWindow *window);
gboolean gtk_window_has_toplevel_focus (GtkWindow *window);
-
-
-/* gtk_window_set_has_frame () must be called before realizing the window_*/
-void gtk_window_set_has_frame (GtkWindow *window,
- gboolean setting);
-gboolean gtk_window_get_has_frame (GtkWindow *window);
-void gtk_window_set_frame_dimensions (GtkWindow *window,
- gint left,
- gint top,
- gint right,
- gint bottom);
-void gtk_window_get_frame_dimensions (GtkWindow *window,
- gint *left,
- gint *top,
- gint *right,
- gint *bottom);
void gtk_window_set_decorated (GtkWindow *window,
gboolean setting);
gboolean gtk_window_get_decorated (GtkWindow *window);
const gchar *filename,
GError **err);
GdkPixbuf* gtk_window_get_icon (GtkWindow *window);
-G_CONST_RETURN
-gchar *gtk_window_get_icon_name (GtkWindow *window);
+const gchar * gtk_window_get_icon_name (GtkWindow *window);
void gtk_window_set_default_icon_list (GList *list);
GList* gtk_window_get_default_icon_list (void);
void gtk_window_set_default_icon (GdkPixbuf *icon);
void gtk_window_set_default_icon_name (const gchar *name);
-G_CONST_RETURN
-gchar *gtk_window_get_default_icon_name (void);
+const gchar * gtk_window_get_default_icon_name (void);
gboolean gtk_window_set_default_icon_from_file (const gchar *filename,
GError **err);
gboolean modal);
gboolean gtk_window_get_modal (GtkWindow *window);
GList* gtk_window_list_toplevels (void);
+void gtk_window_set_has_user_ref_count (GtkWindow *window,
+ gboolean setting);
void gtk_window_add_mnemonic (GtkWindow *window,
guint keyval,
gint *root_y);
gboolean gtk_window_parse_geometry (GtkWindow *window,
const gchar *geometry);
+
+void gtk_window_set_default_geometry (GtkWindow *window,
+ gint width,
+ gint height);
+void gtk_window_resize_to_geometry (GtkWindow *window,
+ gint width,
+ gint height);
+
GtkWindowGroup *gtk_window_get_group (GtkWindow *window);
gboolean gtk_window_has_group (GtkWindow *window);
GtkWindow *window);
GList * gtk_window_group_list_windows (GtkWindowGroup *window_group);
+GtkWidget * gtk_window_group_get_current_grab (GtkWindowGroup *window_group);
GtkWidget * gtk_window_group_get_current_device_grab (GtkWindowGroup *window_group,
GdkDevice *device);
+GtkApplication *gtk_window_get_application (GtkWindow *window);
+void gtk_window_set_application (GtkWindow *window,
+ GtkApplication *application);
-/* --- internal functions --- */
-void _gtk_window_internal_set_focus (GtkWindow *window,
- GtkWidget *focus);
-void gtk_window_remove_embedded_xid (GtkWindow *window,
- GdkNativeWindow xid);
-void gtk_window_add_embedded_xid (GtkWindow *window,
- GdkNativeWindow xid);
-void _gtk_window_reposition (GtkWindow *window,
- gint x,
- gint y);
-void _gtk_window_constrain_size (GtkWindow *window,
- gint width,
- gint height,
- gint *new_width,
- gint *new_height);
-GtkWidget *gtk_window_group_get_current_grab (GtkWindowGroup *window_group);
-void _gtk_window_group_add_device_grab (GtkWindowGroup *window_group,
- GtkWidget *widget,
- GdkDevice *device,
- gboolean block_others);
-void _gtk_window_group_remove_device_grab (GtkWindowGroup *window_group,
- GtkWidget *widget,
- GdkDevice *device);
-
-gboolean _gtk_window_group_widget_is_blocked_for_device (GtkWindowGroup *window_group,
- GtkWidget *widget,
- GdkDevice *device);
-
-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);
-
-void _gtk_window_set_is_toplevel (GtkWindow *window,
- gboolean is_toplevel);
-
-void _gtk_window_get_wmclass (GtkWindow *window,
- gchar **wmclass_name,
- gchar **wmclass_class);
-GdkVisual * _gtk_window_get_visual (GtkWindow *window);
-
-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,
- GdkModifierType accel_mods);
+
+/* Window grips
+ */
+void gtk_window_set_has_resize_grip (GtkWindow *window,
+ gboolean value);
+gboolean gtk_window_get_has_resize_grip (GtkWindow *window);
+gboolean gtk_window_resize_grip_is_visible (GtkWindow *window);
+gboolean gtk_window_get_resize_grip_area (GtkWindow *window,
+ GdkRectangle *rect);
G_END_DECLS