From 687f2d157d0200492d7e9aade07417ed2a035666 Mon Sep 17 00:00:00 2001 From: Lerking Date: Sun, 3 Feb 2019 19:24:18 +0100 Subject: [PATCH] Updated function analyzer. --- gtkwindow.tokenized | 736 ++++++++++++++++++++++---------------------- parser.py | 118 ++++++- 2 files changed, 482 insertions(+), 372 deletions(-) diff --git a/gtkwindow.tokenized b/gtkwindow.tokenized index 5253a9a..6ea677a 100644 --- a/gtkwindow.tokenized +++ b/gtkwindow.tokenized @@ -22,11 +22,11 @@ TOKEN_CMID * files for a list of changes. These files are distributed with TOKEN_CMID * GTK+ at ftp://ftp.gtk.org/pub/gtk/. TOKEN_CEND */ -TOKEN_IFNDEF #ifndef __GTK_WINDOW_H__ -TOKEN_DEFINE #define __GTK_WINDOW_H__ +TOKEN_IFNDEF #ifndef TOKEN_MACRO __GTK_WINDOW_H__ +TOKEN_DEFINE #define TOKEN_MACRO __GTK_WINDOW_H__ -TOKEN_IF #if TOKEN_NOT_DEFINED !defined (__GTK_H_INSIDE__) && TOKEN_NOT_DEFINED !defined (GTK_COMPILATION) +TOKEN_IF #if TOKEN_NOT_DEFINED !defined TOKEN_MACRO (__GTK_H_INSIDE__) && TOKEN_NOT_DEFINED !defined TOKEN_MACRO (GTK_COMPILATION) TOKEN_ERROR #error "Only can be included directly." TOKEN_ENDIF #endif @@ -34,28 +34,28 @@ TOKEN_INCLUDE #include TOKEN_INCLUDE #include TOKEN_INCLUDE #include -G_BEGIN_DECLS +TOKEN_MACRO G_BEGIN_DECLS -TOKEN_DEFINE #define GTK_TYPE_WINDOW (gtk_window_get_type ()) -TOKEN_DEFINE #define GTK_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_WINDOW, GtkWindow)) -TOKEN_DEFINE #define GTK_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_WINDOW, GtkWindowClass)) -TOKEN_DEFINE #define GTK_IS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_WINDOW)) -TOKEN_DEFINE #define GTK_IS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_WINDOW)) -TOKEN_DEFINE #define GTK_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_WINDOW, GtkWindowClass)) +TOKEN_DEFINE #define TOKEN_MACRO GTK_TYPE_WINDOW TOKEN_FUNCTION (gtk_window_get_type ()) +TOKEN_DEFINE #define GTK_WINDOW(obj) TOKEN_MACRO (G_TYPE_CHECK_INSTANCE_CAST TOKEN_FUNCTION ((obj), TOKEN_MACRO GTK_TYPE_WINDOW, GtkWindow)) +TOKEN_DEFINE #define GTK_WINDOW_CLASS(klass) TOKEN_MACRO (G_TYPE_CHECK_CLASS_CAST TOKEN_FUNCTION ((klass), TOKEN_MACRO GTK_TYPE_WINDOW, GtkWindowClass)) +TOKEN_DEFINE #define GTK_IS_WINDOW(obj) TOKEN_MACRO (G_TYPE_CHECK_INSTANCE_TYPE TOKEN_FUNCTION ((obj), TOKEN_MACRO GTK_TYPE_WINDOW)) +TOKEN_DEFINE #define GTK_IS_WINDOW_CLASS(klass) TOKEN_MACRO (G_TYPE_CHECK_CLASS_TYPE TOKEN_FUNCTION ((klass), TOKEN_MACRO GTK_TYPE_WINDOW)) +TOKEN_DEFINE #define GTK_WINDOW_GET_CLASS(obj) TOKEN_MACRO (G_TYPE_INSTANCE_GET_CLASS TOKEN_FUNCTION ((obj), TOKEN_MACRO GTK_TYPE_WINDOW, GtkWindowClass)) -TOKEN_TYPEDEF typedef TOKEN_STRUCT struct _GtkWindowPrivate GtkWindowPrivate; -TOKEN_TYPEDEF typedef TOKEN_STRUCT struct _GtkWindowClass GtkWindowClass; -TOKEN_TYPEDEF typedef TOKEN_STRUCT struct _GtkWindowGeometryInfo GtkWindowGeometryInfo; -TOKEN_TYPEDEF typedef TOKEN_STRUCT struct _GtkWindowGroup GtkWindowGroup; -TOKEN_TYPEDEF typedef TOKEN_STRUCT struct _GtkWindowGroupClass GtkWindowGroupClass; -TOKEN_TYPEDEF typedef TOKEN_STRUCT struct _GtkWindowGroupPrivate GtkWindowGroupPrivate; +TOKEN_TYPEDEF_STRUCT typedef struct _GtkWindowPrivate GtkWindowPrivate; +TOKEN_TYPEDEF_STRUCT typedef struct _GtkWindowClass GtkWindowClass; +TOKEN_TYPEDEF_STRUCT typedef struct _GtkWindowGeometryInfo GtkWindowGeometryInfo; +TOKEN_TYPEDEF_STRUCT typedef struct _GtkWindowGroup GtkWindowGroup; +TOKEN_TYPEDEF_STRUCT typedef struct _GtkWindowGroupClass GtkWindowGroupClass; +TOKEN_TYPEDEF_STRUCT typedef struct _GtkWindowGroupPrivate GtkWindowGroupPrivate; TOKEN_STRUCT struct _GtkWindow -TOKEN_LBRACE { -GtkBin bin; +{ +TOKEN_MEMBER GtkBin bin; -GtkWindowPrivate *priv; -TOKEN_ENDBRACE }; +TOKEN_MEMBER GtkWindowPrivate *priv; +}; TOKEN_CSTART /** TOKEN_CMID * GtkWindowClass: @@ -69,29 +69,29 @@ TOKEN_CMID * @enable_debugging: Class handler for the #GtkWindow::enable-debuggi TOKEN_CMID * keybinding signal. Since: 3.14 TOKEN_CEND */ TOKEN_STRUCT struct _GtkWindowClass -TOKEN_LBRACE { -GtkBinClass parent_class; +{ +TOKEN_MEMBER GtkBinClass parent_class; -TOKEN_CSTART /*< public TOKEN_CEND >*/ +TOKEN_MEMBER /*< public TOKEN_MEMBER >*/ -TOKEN_VOID void TOKEN_FUNCTION_POINTER (* set_focus) (GtkWindow *window, -GtkWidget *focus); +void TOKEN_MEMBER (* set_focus) TOKEN_MEMBER (GtkWindow *window, +TOKEN_MEMBER GtkWidget *focus); -TOKEN_CSTART /* G_SIGNAL_ACTION signals for keybindings TOKEN_CEND */ +TOKEN_MEMBER /* G_SIGNAL_ACTION TOKEN_MEMBER signals for TOKEN_MEMBER keybindings */ -TOKEN_VOID void TOKEN_FUNCTION_POINTER (* activate_focus) (GtkWindow *window); -TOKEN_VOID void TOKEN_FUNCTION_POINTER (* activate_default) (GtkWindow *window); -TOKEN_VOID void TOKEN_FUNCTION_POINTER (* keys_changed) (GtkWindow *window); -gboolean TOKEN_FUNCTION_POINTER (* enable_debugging) (GtkWindow *window, -gboolean toggle); +TOKEN_MEMBER void (* TOKEN_MEMBER activate_focus) (GtkWindow TOKEN_MEMBER *window); +void TOKEN_MEMBER (* activate_default) TOKEN_MEMBER (GtkWindow *window); +TOKEN_MEMBER void (* TOKEN_MEMBER keys_changed) (GtkWindow TOKEN_MEMBER *window); +gboolean TOKEN_MEMBER (* enable_debugging) TOKEN_MEMBER (GtkWindow *window, +TOKEN_MEMBER gboolean toggle); -TOKEN_CSTART /*< private TOKEN_CEND >*/ +TOKEN_MEMBER /*< private TOKEN_MEMBER >*/ -TOKEN_CSTART /* Padding for future expansion TOKEN_CEND */ -TOKEN_VOID void (*_gtk_reserved1) (void); -TOKEN_VOID void (*_gtk_reserved2) (void); -TOKEN_VOID void (*_gtk_reserved3) (void); -TOKEN_ENDBRACE }; +/* TOKEN_MEMBER Padding for TOKEN_MEMBER future expansion TOKEN_MEMBER */ +void TOKEN_MEMBER (*_gtk_reserved1) (void); +TOKEN_MEMBER void (*_gtk_reserved2) TOKEN_MEMBER (void); +void TOKEN_MEMBER (*_gtk_reserved3) (void); +}; TOKEN_CSTART /** TOKEN_CMID * GtkWindowType: @@ -112,10 +112,10 @@ TOKEN_CMID * as windows per se. Nearly all windows should be #GTK_WINDOW_TOPLEVE TOKEN_CMID * In particular, do not use #GTK_WINDOW_POPUP just to turn off TOKEN_CMID * the window borders; use gtk_window_set_decorated() for that. TOKEN_CEND */ -TOKEN_TYPEDEF typedef TOKEN_ENUM enum -TOKEN_LBRACE { -GTK_WINDOW_TOPLEVEL, -GTK_WINDOW_POPUP +TOKEN_TYPEDEF_ENUM typedef enum +{ +TOKEN_MACRO GTK_WINDOW_TOPLEVEL, +TOKEN_MACRO GTK_WINDOW_POPUP TOKEN_RBRACE } GtkWindowType; TOKEN_CSTART /** @@ -131,372 +131,372 @@ TOKEN_CMID * Window placement can be influenced using this enumeration. Note tha TOKEN_CMID * using #GTK_WIN_POS_CENTER_ALWAYS is almost always a bad idea. TOKEN_CMID * It won’t necessarily work well with all window managers or on all windowing systems. TOKEN_CEND */ -TOKEN_TYPEDEF typedef TOKEN_ENUM enum -TOKEN_LBRACE { -GTK_WIN_POS_NONE, -GTK_WIN_POS_CENTER, -GTK_WIN_POS_MOUSE, -GTK_WIN_POS_CENTER_ALWAYS, -GTK_WIN_POS_CENTER_ON_PARENT +TOKEN_TYPEDEF_ENUM typedef enum +{ +TOKEN_MACRO GTK_WIN_POS_NONE, +TOKEN_MACRO GTK_WIN_POS_CENTER, +TOKEN_MACRO GTK_WIN_POS_MOUSE, +TOKEN_MACRO GTK_WIN_POS_CENTER_ALWAYS, +TOKEN_MACRO GTK_WIN_POS_CENTER_ON_PARENT TOKEN_RBRACE } GtkWindowPosition; -GDK_AVAILABLE_IN_ALL -GType gtk_window_get_type (void) G_GNUC_CONST; -GDK_AVAILABLE_IN_ALL -GtkWidget* gtk_window_new (GtkWindowType type); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_title (GtkWindow *window, -TOKEN_CONST const gchar *title); -GDK_AVAILABLE_IN_ALL -TOKEN_CONST const gchar TOKEN_MULT * gtk_window_get_title (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_wmclass (GtkWindow *window, -TOKEN_CONST const gchar *wmclass_name, -TOKEN_CONST const gchar *wmclass_class); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_role (GtkWindow *window, -TOKEN_CONST const gchar *role); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_startup_id (GtkWindow *window, -TOKEN_CONST const gchar *startup_id); -GDK_AVAILABLE_IN_ALL -TOKEN_CONST const gchar TOKEN_MULT * gtk_window_get_role (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_add_accel_group (GtkWindow *window, -GtkAccelGroup *accel_group); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_remove_accel_group (GtkWindow *window, -GtkAccelGroup *accel_group); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_position (GtkWindow *window, -GtkWindowPosition position); -GDK_AVAILABLE_IN_ALL -gboolean gtk_window_activate_focus (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_focus (GtkWindow *window, -GtkWidget *focus); -GDK_AVAILABLE_IN_ALL -GtkWidget *gtk_window_get_focus (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_default (GtkWindow *window, -GtkWidget *default_widget); -GDK_AVAILABLE_IN_ALL -GtkWidget *gtk_window_get_default_widget (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -gboolean gtk_window_activate_default (GtkWindow *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +GType TOKEN_FUNCTION gtk_window_get_type TOKEN_FUNCTION (void) TOKEN_MACRO G_GNUC_CONST; +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +GtkWidget* TOKEN_FUNCTION gtk_window_new (GtkWindowType TOKEN_FUNCTION type); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_title (GtkWindow TOKEN_FUNCTION *window, +TOKEN_CONST const TOKEN_FUNCTION gchar TOKEN_FUNCTION *title); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_CONST const TOKEN_FUNCTION gchar TOKEN_MULT * TOKEN_FUNCTION gtk_window_get_title (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_wmclass (GtkWindow TOKEN_FUNCTION *window, +TOKEN_CONST const TOKEN_FUNCTION gchar TOKEN_FUNCTION *wmclass_name, +TOKEN_CONST const TOKEN_FUNCTION gchar TOKEN_FUNCTION *wmclass_class); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_role (GtkWindow TOKEN_FUNCTION *window, +TOKEN_CONST const TOKEN_FUNCTION gchar TOKEN_FUNCTION *role); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_startup_id (GtkWindow TOKEN_FUNCTION *window, +TOKEN_CONST const TOKEN_FUNCTION gchar TOKEN_FUNCTION *startup_id); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_CONST const TOKEN_FUNCTION gchar TOKEN_MULT * TOKEN_FUNCTION gtk_window_get_role (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_add_accel_group (GtkWindow TOKEN_FUNCTION *window, +GtkAccelGroup TOKEN_FUNCTION *accel_group); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_remove_accel_group (GtkWindow TOKEN_FUNCTION *window, +GtkAccelGroup TOKEN_FUNCTION *accel_group); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_position (GtkWindow TOKEN_FUNCTION *window, +GtkWindowPosition TOKEN_FUNCTION position); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_activate_focus (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_focus (GtkWindow TOKEN_FUNCTION *window, +GtkWidget TOKEN_FUNCTION *focus); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +GtkWidget TOKEN_FUNCTION *gtk_window_get_focus (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_default (GtkWindow TOKEN_FUNCTION *window, +GtkWidget TOKEN_FUNCTION *default_widget); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +GtkWidget TOKEN_FUNCTION *gtk_window_get_default_widget (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_activate_default (GtkWindow TOKEN_FUNCTION *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_transient_for (GtkWindow *window, -GtkWindow *parent); -GDK_AVAILABLE_IN_ALL -GtkWindow *gtk_window_get_transient_for (GtkWindow *window); -GDK_AVAILABLE_IN_3_4 -TOKEN_VOID void gtk_window_set_attached_to (GtkWindow *window, -GtkWidget *attach_widget); -GDK_AVAILABLE_IN_3_4 -GtkWidget *gtk_window_get_attached_to (GtkWindow *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_transient_for (GtkWindow TOKEN_FUNCTION *window, +GtkWindow TOKEN_FUNCTION *parent); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +GtkWindow TOKEN_FUNCTION *gtk_window_get_transient_for (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_3_4 +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_attached_to (GtkWindow TOKEN_FUNCTION *window, +GtkWidget TOKEN_FUNCTION *attach_widget); +TOKEN_MACRO GDK_AVAILABLE_IN_3_4 +GtkWidget TOKEN_FUNCTION *gtk_window_get_attached_to (GtkWindow TOKEN_FUNCTION *window); GDK_DEPRECATED_IN_3_8_FOR(gtk_widget_set_opacity) -TOKEN_VOID void gtk_window_set_opacity (GtkWindow *window, -gdouble opacity); +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_opacity (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gdouble TOKEN_FUNCTION opacity); GDK_DEPRECATED_IN_3_8_FOR(gtk_widget_get_opacity) -gdouble gtk_window_get_opacity (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_type_hint (GtkWindow *window, -GdkWindowTypeHint hint); -GDK_AVAILABLE_IN_ALL -GdkWindowTypeHint gtk_window_get_type_hint (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_skip_taskbar_hint (GtkWindow *window, -gboolean setting); -GDK_AVAILABLE_IN_ALL -gboolean gtk_window_get_skip_taskbar_hint (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_skip_pager_hint (GtkWindow *window, -gboolean setting); -GDK_AVAILABLE_IN_ALL -gboolean gtk_window_get_skip_pager_hint (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_urgency_hint (GtkWindow *window, -gboolean setting); -GDK_AVAILABLE_IN_ALL -gboolean gtk_window_get_urgency_hint (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_accept_focus (GtkWindow *window, -gboolean setting); -GDK_AVAILABLE_IN_ALL -gboolean gtk_window_get_accept_focus (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_focus_on_map (GtkWindow *window, -gboolean setting); -GDK_AVAILABLE_IN_ALL -gboolean gtk_window_get_focus_on_map (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_destroy_with_parent (GtkWindow *window, -gboolean setting); -GDK_AVAILABLE_IN_ALL -gboolean gtk_window_get_destroy_with_parent (GtkWindow *window); -GDK_AVAILABLE_IN_3_4 -TOKEN_VOID 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); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_mnemonics_visible (GtkWindow *window, -gboolean setting); -GDK_AVAILABLE_IN_ALL -gboolean gtk_window_get_mnemonics_visible (GtkWindow *window); -GDK_AVAILABLE_IN_3_2 -TOKEN_VOID void gtk_window_set_focus_visible (GtkWindow *window, -gboolean setting); -GDK_AVAILABLE_IN_3_2 -gboolean gtk_window_get_focus_visible (GtkWindow *window); +TOKEN_FUNCTION gdouble TOKEN_FUNCTION gtk_window_get_opacity (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_type_hint (GtkWindow TOKEN_FUNCTION *window, +GdkWindowTypeHint TOKEN_FUNCTION hint); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +GdkWindowTypeHint TOKEN_FUNCTION gtk_window_get_type_hint (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_skip_taskbar_hint (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gboolean TOKEN_FUNCTION setting); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_get_skip_taskbar_hint (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_skip_pager_hint (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gboolean TOKEN_FUNCTION setting); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_get_skip_pager_hint (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_urgency_hint (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gboolean TOKEN_FUNCTION setting); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_get_urgency_hint (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_accept_focus (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gboolean TOKEN_FUNCTION setting); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_get_accept_focus (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_focus_on_map (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gboolean TOKEN_FUNCTION setting); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_get_focus_on_map (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_destroy_with_parent (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gboolean TOKEN_FUNCTION setting); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_get_destroy_with_parent (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_3_4 +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_hide_titlebar_when_maximized (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gboolean TOKEN_FUNCTION setting); +TOKEN_MACRO GDK_AVAILABLE_IN_3_4 +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_get_hide_titlebar_when_maximized (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_mnemonics_visible (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gboolean TOKEN_FUNCTION setting); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_get_mnemonics_visible (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_3_2 +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_focus_visible (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gboolean TOKEN_FUNCTION setting); +TOKEN_MACRO GDK_AVAILABLE_IN_3_2 +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_get_focus_visible (GtkWindow TOKEN_FUNCTION *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_resizable (GtkWindow *window, -gboolean resizable); -GDK_AVAILABLE_IN_ALL -gboolean gtk_window_get_resizable (GtkWindow *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_resizable (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gboolean TOKEN_FUNCTION resizable); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_get_resizable (GtkWindow TOKEN_FUNCTION *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_gravity (GtkWindow *window, -GdkGravity gravity); -GDK_AVAILABLE_IN_ALL -GdkGravity gtk_window_get_gravity (GtkWindow *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_gravity (GtkWindow TOKEN_FUNCTION *window, +GdkGravity TOKEN_FUNCTION gravity); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +GdkGravity TOKEN_FUNCTION gtk_window_get_gravity (GtkWindow TOKEN_FUNCTION *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_geometry_hints (GtkWindow *window, -GtkWidget *geometry_widget, -GdkGeometry *geometry, -GdkWindowHints geom_mask); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_geometry_hints (GtkWindow TOKEN_FUNCTION *window, +GtkWidget TOKEN_FUNCTION *geometry_widget, +GdkGeometry TOKEN_FUNCTION *geometry, +GdkWindowHints TOKEN_FUNCTION geom_mask); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_screen (GtkWindow *window, -GdkScreen *screen); -GDK_AVAILABLE_IN_ALL -GdkScreen* gtk_window_get_screen (GtkWindow *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_screen (GtkWindow TOKEN_FUNCTION *window, +GdkScreen TOKEN_FUNCTION *screen); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +GdkScreen* TOKEN_FUNCTION gtk_window_get_screen (GtkWindow TOKEN_FUNCTION *window); -GDK_AVAILABLE_IN_ALL -gboolean gtk_window_is_active (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -gboolean gtk_window_has_toplevel_focus (GtkWindow *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_is_active (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_has_toplevel_focus (GtkWindow TOKEN_FUNCTION *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_decorated (GtkWindow *window, -gboolean setting); -GDK_AVAILABLE_IN_ALL -gboolean gtk_window_get_decorated (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_deletable (GtkWindow *window, -gboolean setting); -GDK_AVAILABLE_IN_ALL -gboolean gtk_window_get_deletable (GtkWindow *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_decorated (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gboolean TOKEN_FUNCTION setting); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_get_decorated (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_deletable (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gboolean TOKEN_FUNCTION setting); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_get_deletable (GtkWindow TOKEN_FUNCTION *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_icon_list (GtkWindow *window, -GList *list); -GDK_AVAILABLE_IN_ALL -GList* gtk_window_get_icon_list (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_icon (GtkWindow *window, -GdkPixbuf *icon); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_icon_name (GtkWindow *window, -TOKEN_CONST const gchar *name); -GDK_AVAILABLE_IN_ALL -gboolean gtk_window_set_icon_from_file (GtkWindow *window, -TOKEN_CONST const gchar *filename, -GError **err); -GDK_AVAILABLE_IN_ALL -GdkPixbuf* gtk_window_get_icon (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_CONST const gchar TOKEN_MULT * gtk_window_get_icon_name (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_default_icon_list (GList *list); -GDK_AVAILABLE_IN_ALL -GList* gtk_window_get_default_icon_list (void); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_default_icon (GdkPixbuf *icon); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_default_icon_name (const gchar *name); -GDK_AVAILABLE_IN_ALL -TOKEN_CONST const gchar TOKEN_MULT * gtk_window_get_default_icon_name (void); -GDK_AVAILABLE_IN_ALL -gboolean gtk_window_set_default_icon_from_file (const gchar *filename, -GError **err); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_icon_list (GtkWindow TOKEN_FUNCTION *window, +GList TOKEN_FUNCTION *list); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +GList* TOKEN_FUNCTION gtk_window_get_icon_list (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_icon (GtkWindow TOKEN_FUNCTION *window, +GdkPixbuf TOKEN_FUNCTION *icon); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_icon_name (GtkWindow TOKEN_FUNCTION *window, +TOKEN_CONST const TOKEN_FUNCTION gchar TOKEN_FUNCTION *name); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_set_icon_from_file (GtkWindow TOKEN_FUNCTION *window, +TOKEN_CONST const TOKEN_FUNCTION gchar TOKEN_FUNCTION *filename, +GError TOKEN_FUNCTION **err); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +GdkPixbuf* TOKEN_FUNCTION gtk_window_get_icon (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_CONST const TOKEN_FUNCTION gchar TOKEN_MULT * TOKEN_FUNCTION gtk_window_get_icon_name (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_default_icon_list (GList TOKEN_FUNCTION *list); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +GList* TOKEN_FUNCTION gtk_window_get_default_icon_list TOKEN_FUNCTION (void); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_default_icon (GdkPixbuf TOKEN_FUNCTION *icon); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_default_icon_name TOKEN_FUNCTION (const TOKEN_FUNCTION gchar TOKEN_FUNCTION *name); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_CONST const TOKEN_FUNCTION gchar TOKEN_MULT * TOKEN_FUNCTION gtk_window_get_default_icon_name TOKEN_FUNCTION (void); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_set_default_icon_from_file TOKEN_FUNCTION (const TOKEN_FUNCTION gchar TOKEN_FUNCTION *filename, +GError TOKEN_FUNCTION **err); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_auto_startup_notification (gboolean setting); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_auto_startup_notification TOKEN_FUNCTION (gboolean TOKEN_FUNCTION setting); TOKEN_CSTART /* If window is set modal, input will be grabbed when show and released when hide TOKEN_CEND */ -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_modal (GtkWindow *window, -gboolean modal); -GDK_AVAILABLE_IN_ALL -gboolean gtk_window_get_modal (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -GList* gtk_window_list_toplevels (void); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_has_user_ref_count (GtkWindow *window, -gboolean setting); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_modal (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gboolean TOKEN_FUNCTION modal); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_get_modal (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +GList* TOKEN_FUNCTION gtk_window_list_toplevels TOKEN_FUNCTION (void); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_has_user_ref_count (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gboolean TOKEN_FUNCTION setting); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_add_mnemonic (GtkWindow *window, -guint keyval, -GtkWidget *target); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_remove_mnemonic (GtkWindow *window, -guint keyval, -GtkWidget *target); -GDK_AVAILABLE_IN_ALL -gboolean gtk_window_mnemonic_activate (GtkWindow *window, -guint keyval, -GdkModifierType modifier); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_mnemonic_modifier (GtkWindow *window, -GdkModifierType modifier); -GDK_AVAILABLE_IN_ALL -GdkModifierType gtk_window_get_mnemonic_modifier (GtkWindow *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_add_mnemonic (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION guint TOKEN_FUNCTION keyval, +GtkWidget TOKEN_FUNCTION *target); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_remove_mnemonic (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION guint TOKEN_FUNCTION keyval, +GtkWidget TOKEN_FUNCTION *target); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_mnemonic_activate (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION guint TOKEN_FUNCTION keyval, +GdkModifierType TOKEN_FUNCTION modifier); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_mnemonic_modifier (GtkWindow TOKEN_FUNCTION *window, +GdkModifierType TOKEN_FUNCTION modifier); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +GdkModifierType TOKEN_FUNCTION gtk_window_get_mnemonic_modifier (GtkWindow TOKEN_FUNCTION *window); -GDK_AVAILABLE_IN_ALL -gboolean gtk_window_activate_key (GtkWindow *window, -GdkEventKey *event); -GDK_AVAILABLE_IN_ALL -gboolean gtk_window_propagate_key_event (GtkWindow *window, -GdkEventKey *event); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_activate_key (GtkWindow TOKEN_FUNCTION *window, +GdkEventKey TOKEN_FUNCTION *event); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_propagate_key_event (GtkWindow TOKEN_FUNCTION *window, +GdkEventKey TOKEN_FUNCTION *event); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_present (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_present_with_time (GtkWindow *window, -guint32 timestamp); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_iconify (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_deiconify (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_stick (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_unstick (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_maximize (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_unmaximize (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_fullscreen (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_unfullscreen (GtkWindow *window); -GDK_AVAILABLE_IN_3_18 -TOKEN_VOID void gtk_window_fullscreen_on_monitor(GtkWindow *window, -GdkScreen *screen, -gint monitor); -GDK_AVAILABLE_IN_3_10 -TOKEN_VOID void gtk_window_close (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_keep_above (GtkWindow *window, gboolean setting); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_keep_below (GtkWindow *window, gboolean setting); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_present (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_present_with_time (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION guint32 TOKEN_FUNCTION timestamp); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_iconify (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_deiconify (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_stick (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_unstick (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_maximize (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_unmaximize (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_fullscreen (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_unfullscreen (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_3_18 +TOKEN_VOID void gtk_window_fullscreen_on_monitor(GtkWindow TOKEN_FUNCTION *window, +GdkScreen TOKEN_FUNCTION *screen, +TOKEN_FUNCTION gint TOKEN_FUNCTION monitor); +TOKEN_MACRO GDK_AVAILABLE_IN_3_10 +TOKEN_VOID void TOKEN_FUNCTION gtk_window_close (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_keep_above (GtkWindow TOKEN_FUNCTION *window, TOKEN_FUNCTION gboolean TOKEN_FUNCTION setting); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_keep_below (GtkWindow TOKEN_FUNCTION *window, TOKEN_FUNCTION gboolean TOKEN_FUNCTION setting); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_begin_resize_drag (GtkWindow *window, -GdkWindowEdge edge, -gint button, -gint root_x, -gint root_y, -guint32 timestamp); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_begin_move_drag (GtkWindow *window, -gint button, -gint root_x, -gint root_y, -guint32 timestamp); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_begin_resize_drag (GtkWindow TOKEN_FUNCTION *window, +GdkWindowEdge TOKEN_FUNCTION edge, +TOKEN_FUNCTION gint TOKEN_FUNCTION button, +TOKEN_FUNCTION gint TOKEN_FUNCTION root_x, +TOKEN_FUNCTION gint TOKEN_FUNCTION root_y, +TOKEN_FUNCTION guint32 TOKEN_FUNCTION timestamp); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_begin_move_drag (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gint TOKEN_FUNCTION button, +TOKEN_FUNCTION gint TOKEN_FUNCTION root_x, +TOKEN_FUNCTION gint TOKEN_FUNCTION root_y, +TOKEN_FUNCTION guint32 TOKEN_FUNCTION timestamp); TOKEN_CSTART /* Set initial default size of the window (does not constrain user TOKEN_CMID * resize operations) TOKEN_CEND */ -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_default_size (GtkWindow *window, -gint width, -gint height); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_get_default_size (GtkWindow *window, -gint *width, -gint *height); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_resize (GtkWindow *window, -gint width, -gint height); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_get_size (GtkWindow *window, -gint *width, -gint *height); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_move (GtkWindow *window, -gint x, -gint y); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_get_position (GtkWindow *window, -gint *root_x, -gint *root_y); -GDK_AVAILABLE_IN_ALL -gboolean gtk_window_parse_geometry (GtkWindow *window, -TOKEN_CONST const gchar *geometry); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_default_size (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gint TOKEN_FUNCTION width, +TOKEN_FUNCTION gint TOKEN_FUNCTION height); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_get_default_size (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gint TOKEN_FUNCTION *width, +TOKEN_FUNCTION gint TOKEN_FUNCTION *height); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_resize (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gint TOKEN_FUNCTION width, +TOKEN_FUNCTION gint TOKEN_FUNCTION height); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_get_size (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gint TOKEN_FUNCTION *width, +TOKEN_FUNCTION gint TOKEN_FUNCTION *height); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_move (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gint TOKEN_FUNCTION x, +TOKEN_FUNCTION gint TOKEN_FUNCTION y); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_get_position (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gint TOKEN_FUNCTION *root_x, +TOKEN_FUNCTION gint TOKEN_FUNCTION *root_y); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_parse_geometry (GtkWindow TOKEN_FUNCTION *window, +TOKEN_CONST const TOKEN_FUNCTION gchar TOKEN_FUNCTION *geometry); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_default_geometry (GtkWindow *window, -gint width, -gint height); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_resize_to_geometry (GtkWindow *window, -gint width, -gint height); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_default_geometry (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gint TOKEN_FUNCTION width, +TOKEN_FUNCTION gint TOKEN_FUNCTION height); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_resize_to_geometry (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gint TOKEN_FUNCTION width, +TOKEN_FUNCTION gint TOKEN_FUNCTION height); -GDK_AVAILABLE_IN_ALL -GtkWindowGroup *gtk_window_get_group (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -gboolean gtk_window_has_group (GtkWindow *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +GtkWindowGroup TOKEN_FUNCTION *gtk_window_get_group (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_has_group (GtkWindow TOKEN_FUNCTION *window); TOKEN_CSTART /* Ignore this unless you are writing a GUI builder TOKEN_CEND */ -GDK_DEPRECATED_IN_3_10 -TOKEN_VOID void gtk_window_reshow_with_initial_size (GtkWindow *window); +TOKEN_MACRO GDK_DEPRECATED_IN_3_10 +TOKEN_VOID void TOKEN_FUNCTION gtk_window_reshow_with_initial_size (GtkWindow TOKEN_FUNCTION *window); -GDK_AVAILABLE_IN_ALL -GtkWindowType gtk_window_get_window_type (GtkWindow *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +GtkWindowType TOKEN_FUNCTION gtk_window_get_window_type (GtkWindow TOKEN_FUNCTION *window); -GDK_AVAILABLE_IN_ALL -GtkApplication *gtk_window_get_application (GtkWindow *window); -GDK_AVAILABLE_IN_ALL -TOKEN_VOID void gtk_window_set_application (GtkWindow *window, -GtkApplication *application); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +GtkApplication TOKEN_FUNCTION *gtk_window_get_application (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_AVAILABLE_IN_ALL +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_application (GtkWindow TOKEN_FUNCTION *window, +GtkApplication TOKEN_FUNCTION *application); TOKEN_CSTART /* Window grips TOKEN_CEND */ -GDK_DEPRECATED_IN_3_14 -TOKEN_VOID void gtk_window_set_has_resize_grip (GtkWindow *window, -gboolean value); -GDK_DEPRECATED_IN_3_14 -gboolean gtk_window_get_has_resize_grip (GtkWindow *window); -GDK_DEPRECATED_IN_3_14 -gboolean gtk_window_resize_grip_is_visible (GtkWindow *window); -GDK_DEPRECATED_IN_3_14 -gboolean gtk_window_get_resize_grip_area (GtkWindow *window, -GdkRectangle *rect); +TOKEN_MACRO GDK_DEPRECATED_IN_3_14 +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_has_resize_grip (GtkWindow TOKEN_FUNCTION *window, +TOKEN_FUNCTION gboolean TOKEN_FUNCTION value); +TOKEN_MACRO GDK_DEPRECATED_IN_3_14 +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_get_has_resize_grip (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_DEPRECATED_IN_3_14 +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_resize_grip_is_visible (GtkWindow TOKEN_FUNCTION *window); +TOKEN_MACRO GDK_DEPRECATED_IN_3_14 +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_get_resize_grip_area (GtkWindow TOKEN_FUNCTION *window, +GdkRectangle TOKEN_FUNCTION *rect); -GDK_AVAILABLE_IN_3_10 -TOKEN_VOID void gtk_window_set_titlebar (GtkWindow *window, -GtkWidget *titlebar); -GDK_AVAILABLE_IN_3_16 -GtkWidget *gtk_window_get_titlebar (GtkWindow *window); +TOKEN_MACRO GDK_AVAILABLE_IN_3_10 +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_titlebar (GtkWindow TOKEN_FUNCTION *window, +GtkWidget TOKEN_FUNCTION *titlebar); +TOKEN_MACRO GDK_AVAILABLE_IN_3_16 +GtkWidget TOKEN_FUNCTION *gtk_window_get_titlebar (GtkWindow TOKEN_FUNCTION *window); -GDK_AVAILABLE_IN_3_12 -gboolean gtk_window_is_maximized (GtkWindow *window); +TOKEN_MACRO GDK_AVAILABLE_IN_3_12 +TOKEN_FUNCTION gboolean TOKEN_FUNCTION gtk_window_is_maximized (GtkWindow TOKEN_FUNCTION *window); -GDK_AVAILABLE_IN_3_14 -TOKEN_VOID void gtk_window_set_interactive_debugging (gboolean enable); +TOKEN_MACRO GDK_AVAILABLE_IN_3_14 +TOKEN_VOID void TOKEN_FUNCTION gtk_window_set_interactive_debugging TOKEN_FUNCTION (gboolean TOKEN_FUNCTION enable); -G_END_DECLS +TOKEN_MACRO G_END_DECLS TOKEN_ENDIF #endif TOKEN_CSTART /* __GTK_WINDOW_H__ TOKEN_CEND */ diff --git a/parser.py b/parser.py index 95f6bb2..2f93410 100644 --- a/parser.py +++ b/parser.py @@ -13,7 +13,9 @@ TOKENS = ['TOKEN_CSTART','TOKEN_CMID','TOKEN_CEND','TOKEN_RPAREN', 'TOKEN_IF','TOKEN_PLUS','TOKEN_MINUS','TOKEN_DIV','TOKEN_MULT', 'TOKEN_ASSIGN','TOKEN_EQUAL','TOKEN_LBRACE','TOKEN_RBRACE', 'TOKEN_COMMA','TOKEN_SEMICOLON','TOKEN_LANGLE','TOKEN_RANGLE', - 'TOKEN_POINTER', 'TOKEN_STRUCT','TOKEN_ENUM'] + 'TOKEN_POINTER', 'TOKEN_STRUCT','TOKEN_ENUM','TOKEN_MACRO', + 'TOKEN_FUNCTION','TOKEN_TYPEDEF_ENUM','TOKEN_TYPEDEF_STRUCT', + 'TOKEN_TYPEDEF_STRUCT_STRUCT'] RESERVED = {'auto' : 'AUTO','break' : 'BREAK','case' : 'CASE','char' : 'CHAR', 'const' : 'CONST','continue' : 'CONTINUE','default' : 'DEFAULT','do' : 'DO', @@ -62,6 +64,15 @@ PARSER_TOKENS = ['PARSE_MULTILINE_COMMENT', 'PARSE_SINGLELINE_COMMENT', 'PARSE_T COMMENT_SINGLE_LINE = 0 COMMENT_MULTI_LINE = 1 +inside_member = False +inside_braces = False +inside_typedef_struct_struct = False +inside_typedef_struct = False +inside_typedef_enum = False +inside_typedef = False +inside_struct = False +inside_include = False +inside_string = False inside_comment = False inside_if = False inside_ifndef = False @@ -135,6 +146,10 @@ class PARSEOBJECT: return tempstr def tokenizer(self, w): + global inside_comment + global inside_string + global inside_include + global inside_struct token = "" if w in PREPROCESSOR_DIRECTIVES: token = PREPROCESSOR_DIRECTIVES.get(w) @@ -143,24 +158,119 @@ class PARSEOBJECT: token = REGULAR.get(w) return token if w.startswith('/*'): + inside_comment = True token = 'TOKEN_CSTART' return token - if w.endswith('*/'): - token = 'TOKEN_CEND' - return token + if inside_comment == True: + if w.endswith('*/'): + inside_comment = False + token = 'TOKEN_CEND' + return token + if w.startswith('"'): + inside_string = True + return False + if w.endswith('"'): + inside_string = False + return False + if w.isupper(): + if inside_string == True: + return False + else: + token = 'TOKEN_MACRO' + return token + if w.islower(): + if inside_string == True or inside_include == True or inside_struct == True: + return False + else: + if w.startswith('(*'): + token = 'TOKEN_FUNCTION_POINTER' + return token + else: + token = 'TOKEN_FUNCTION' + return token return False def analyzer(self, ln): + global inside_include + global inside_typedef + global inside_typedef_enum + global inside_typedef_struct + global inside_typedef_struct_struct + global inside_braces + global inside_struct + global inside_member analysed = [] word = [w for w in ln.split()] for w in word: t = self.tokenizer(w) + if t == 'TOKEN_INCLUDE': + inside_include = True + if t == 'TOKEN_TYPEDEF': + inside_typedef = True + if t == 'TOKEN_ENUM' and inside_typedef == True: + inside_typedef_enum = True + inside_typedef = False + analysed.pop(0) + analysed.insert(0,'TOKEN_TYPEDEF_ENUM') + analysed.append(w) + continue + if t == 'TOKEN_STRUCT': + if inside_typedef == True: + if ln.endswith(';\n'): + inside_typedef_struct = True + inside_typedef = False + analysed.pop(0) + analysed.insert(0,'TOKEN_TYPEDEF_STRUCT') + analysed.append(w) + continue + else: + inside_typedef_struct_struct = True + inside_typedef_struct = False + inside_typedef = False + analysed.pop(0) + analysed.insert(0,'TOKEN_TYPEDEF_STRUCT_STRUCT') + analysed.append(w) + inside_typedef_struct_struct = False #### THIS needs to be further refined! + continue + else: + inside_struct = True + analysed.append(t) + analysed.append(w) + continue + if t == ('TOKEN_LBRACE'): + inside_braces = True + analysed.append(w) + continue + if w == '};' and inside_struct == True: + inside_braces = False + inside_struct = False + analysed.append(w) + continue + elif inside_braces == True and inside_struct == True: + if inside_member == True: + inside_member = False + analysed.append(w) + continue + else: + t = 'TOKEN_MEMBER' + inside_member = True + analysed.append(t) + analysed.append(w) + continue + if t == 'TOKEN_RBRACE' and inside_braces == True: + inside_braces = False + if inside_struct == True: + inside_struct = False + analysed.append(t) + analysed.append(w) + continue if t == False: analysed.append(w) continue else: analysed.append(t) analysed.append(w) + inside_include = False return analysed def token_analyzer(self, ln):