📄 gtkwindow.h
字号:
/* GTK - The GIMP Toolkit * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 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. *//* * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !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__#include <gdk/gdk.h>#include <gtk/gtkaccelgroup.h>#include <gtk/gtkbin.h>#include <gtk/gtkenums.h>G_BEGIN_DECLS#define GTK_TYPE_WINDOW (gtk_window_get_type ())#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 _GtkWindowClass GtkWindowClass;typedef struct _GtkWindowGeometryInfo GtkWindowGeometryInfo;typedef struct _GtkWindowGroup GtkWindowGroup;typedef struct _GtkWindowGroupClass GtkWindowGroupClass;struct _GtkWindow{ GtkBin bin; gchar *GSEAL (title); gchar *GSEAL (wmclass_name); gchar *GSEAL (wmclass_class); gchar *GSEAL (wm_role); GtkWidget *GSEAL (focus_widget); GtkWidget *GSEAL (default_widget); GtkWindow *GSEAL (transient_parent); GtkWindowGeometryInfo *GSEAL (geometry_info); GdkWindow *GSEAL (frame); GtkWindowGroup *GSEAL (group); guint16 GSEAL (configure_request_count); guint GSEAL (allow_shrink) : 1; guint GSEAL (allow_grow) : 1; guint GSEAL (configure_notify_received) : 1; /* The following flags are initially TRUE (before a window is mapped). * They cause us to compute a configure request that involves * default-only parameters. Once mapped, we set them to FALSE. * Then we set them to TRUE again on unmap (for position) * and on unrealize (for size). */ guint GSEAL (need_default_position) : 1; guint GSEAL (need_default_size) : 1; guint GSEAL (position) : 3; guint GSEAL (type) : 4; /* GtkWindowType */ guint GSEAL (has_user_ref_count) : 1; guint GSEAL (has_focus) : 1; guint GSEAL (modal) : 1; guint GSEAL (destroy_with_parent) : 1; guint GSEAL (has_frame) : 1; /* gtk_window_iconify() called before realization */ guint GSEAL (iconify_initially) : 1; guint GSEAL (stick_initially) : 1; guint GSEAL (maximize_initially) : 1; guint GSEAL (decorated) : 1; guint GSEAL (type_hint) : 3; /* GdkWindowTypeHint if the hint is one of the original eight. If not, then * it contains GDK_WINDOW_TYPE_HINT_NORMAL */ guint GSEAL (gravity) : 5; /* GdkGravity */ guint GSEAL (is_active) : 1; guint GSEAL (has_toplevel_focus) : 1; guint GSEAL (frame_left); guint GSEAL (frame_top); guint GSEAL (frame_right); guint GSEAL (frame_bottom); guint GSEAL (keys_changed_handler); GdkModifierType GSEAL (mnemonic_modifier); GdkScreen *GSEAL (screen);};struct _GtkWindowClass{ GtkBinClass parent_class; void (* set_focus) (GtkWindow *window, GtkWidget *focus); gboolean (* frame_event) (GtkWindow *window, GdkEvent *event); /* 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); /* 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 ())#define GTK_WINDOW_GROUP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GTK_TYPE_WINDOW_GROUP, GtkWindowGroup))#define GTK_WINDOW_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_WINDOW_GROUP, GtkWindowGroupClass))#define GTK_IS_WINDOW_GROUP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GTK_TYPE_WINDOW_GROUP))#define GTK_IS_WINDOW_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_WINDOW_GROUP))#define GTK_WINDOW_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_WINDOW_GROUP, GtkWindowGroupClass))struct _GtkWindowGroup{ GObject parent_instance; GSList *GSEAL (grabs);};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);};#ifdef G_OS_WIN32/* Reserve old names for DLL ABI backward compatibility */#define gtk_window_set_icon_from_file gtk_window_set_icon_from_file_utf8#define gtk_window_set_default_icon_from_file gtk_window_set_default_icon_from_file_utf8#endifGType gtk_window_get_type (void) G_GNUC_CONST;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);void gtk_window_set_wmclass (GtkWindow *window, const gchar *wmclass_name, const gchar *wmclass_class);void gtk_window_set_role (GtkWindow *window, 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);void gtk_window_add_accel_group (GtkWindow *window, GtkAccelGroup *accel_group);void gtk_window_remove_accel_group (GtkWindow *window, GtkAccelGroup *accel_group);void gtk_window_set_position (GtkWindow *window, GtkWindowPosition position);gboolean gtk_window_activate_focus (GtkWindow *window);void gtk_window_set_focus (GtkWindow *window, GtkWidget *focus);GtkWidget *gtk_window_get_focus (GtkWindow *window);void gtk_window_set_default (GtkWindow *window, GtkWidget *default_widget);GtkWidget *gtk_window_get_default_widget (GtkWindow *window);gboolean gtk_window_activate_default (GtkWindow *window);void gtk_window_set_transient_for (GtkWindow *window, GtkWindow *parent);GtkWindow *gtk_window_get_transient_for (GtkWindow *window);void gtk_window_set_opacity (GtkWindow *window, gdouble opacity);gdouble gtk_window_get_opacity (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_urgency_hint (GtkWindow *window,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -