Merge branch 'master' into bindings-coverage
authorIvan Chernetsky <ivan.chernetsky@gmail.com>
Sat, 12 Sep 2009 18:52:58 +0000 (21:52 +0300)
committerIvan Chernetsky <ivan.chernetsky@gmail.com>
Sat, 12 Sep 2009 18:52:58 +0000 (21:52 +0300)
Conflicts:
generating.lisp
gtk/gtk.window.lisp

15 files changed:
doc/gdk.ref.texi
doc/gtk.main_loop.texi
doc/gtk.objects.texi
doc/gtk.texi
doc/gtk.widgets.texi
generating.lisp
glib/gobject.generating.lisp
glib/gobject.meta.lisp
gtk/cl-gtk2-gtk.asd
gtk/gtk.dialog.lisp
gtk/gtk.generated-classes.lisp
gtk/gtk.main-loop-events.lisp
gtk/gtk.window-group.lisp [new file with mode: 0644]
gtk/gtk.window.lisp
mm-test.lisp

index 19fa3c1..2297411 100644 (file)
@@ -115,7 +115,42 @@ The default screen of the @var{display}.
 @subsection screen
 
 @Class screen
-@Superclass g-object
+Superclass: @ref{g-object}
+
+Slots:
+@itemize
+@item @anchor{slot.screen.active-window}active-window. Type: @ref{gdk-window}. Accessor: @anchor{fn.screen-active-window}@code{screen-active-window}. Read-only.
+@item @anchor{slot.screen.composited-p}composited-p. Type: @code{boolean}. Accessor: @anchor{fn.screen-composited-p}@code{screen-composited-p}. Read-only.
+@item @anchor{slot.screen.default-colormap}default-colormap. Type: @ref{gdk-colormap}. Accessor: @anchor{fn.screen-default-colormap}@code{screen-default-colormap}.
+@item @anchor{slot.screen.display}display. Type: @ref{display}. Accessor: @anchor{fn.screen-display}@code{screen-display}. Read-only.
+@item @anchor{slot.screen.display-name}display-name. Type: @code{string}. Accessor: @anchor{fn.screen-display-name}@code{screen-display-name}. Read-only.
+@item @anchor{slot.screen.font-options}font-options. Type: gpointer. Accessor: @anchor{fn.screen-font-options}@code{screen-font-options}.
+@item @anchor{slot.screen.height}height. Type: @code{integer}. Accessor: @anchor{fn.screen-height}@code{screen-height}. Read-only.
+@item @anchor{slot.screen.height-mm}height-mm. Type: @code{integer}. Accessor: @anchor{fn.screen-height-mm}@code{screen-height-mm}. Read-only.
+@item @anchor{slot.screen.n-monitors}n-monitors. Type: @code{integer}. Accessor: @anchor{fn.screen-n-monitors}@code{screen-n-monitors}. Read-only.
+@item @anchor{slot.screen.number}number. Type: @code{integer}. Accessor: @anchor{fn.screen-number}@code{screen-number}. Read-only.
+@item @anchor{slot.screen.resolution}resolution. Type: @code{double-float}. Accessor: @anchor{fn.screen-resolution}@code{screen-resolution}.
+@item @anchor{slot.screen.rgb-colormap}rgb-colormap. Type: @ref{gdk-colormap}. Accessor: @anchor{fn.screen-rgb-colormap}@code{screen-rgb-colormap}. Read-only.
+@item @anchor{slot.screen.rgb-visual}rgb-visual. Type: @ref{visual}. Accessor: @anchor{fn.screen-rgb-visual}@code{screen-rgb-visual}. Read-only.
+@item @anchor{slot.screen.rgba-colormap}rgba-colormap. Type: @ref{gdk-colormap}. Accessor: @anchor{fn.screen-rgba-colormap}@code{screen-rgba-colormap}. Read-only.
+@item @anchor{slot.screen.rgba-visual}rgba-visual. Type: @ref{visual}. Accessor: @anchor{fn.screen-rgba-visual}@code{screen-rgba-visual}. Read-only.
+@item @anchor{slot.screen.root-window}root-window. Type: @ref{gdk-window}. Accessor: @anchor{fn.screen-root-window}@code{screen-root-window}. Read-only.
+@item @anchor{slot.screen.system-colormap}system-colormap. Type: @ref{gdk-colormap}. Accessor: @anchor{fn.screen-system-colormap}@code{screen-system-colormap}. Read-only.
+@item @anchor{slot.screen.system-visual}system-visual. Type: @ref{visual}. Accessor: @anchor{fn.screen-system-visual}@code{screen-system-visual}. Read-only.
+@item @anchor{slot.screen.toplevel-windows}toplevel-windows. Type: list of @ref{gdk-window}. Accessor: @anchor{fn.screen-toplevel-windows}@code{screen-toplevel-windows}. Read-only.
+@item @anchor{slot.screen.visuals}visuals. Type: list of @ref{visual}. Accessor: @anchor{fn.screen-visuals}@code{screen-visuals}. Read-only.
+@item @anchor{slot.screen.width}width. Type: @code{integer}. Accessor: @anchor{fn.screen-width}@code{screen-width}. Read-only.
+@item @anchor{slot.screen.width-mm}width-mm. Type: @code{integer}. Accessor: @anchor{fn.screen-width-mm}@code{screen-width-mm}. Read-only.
+@item @anchor{slot.screen.window-stack}window-stack. Type: list of @ref{gdk-window}. Accessor: @anchor{fn.screen-window-stack}@code{screen-window-stack}. Read-only.
+@end itemize
+
+
+Signals:
+@itemize
+@item @anchor{signal.screen.composited-changed}\"composited-changed\". Signature: (instance @ref{screen}) @result{} void. Options: run-last.
+@item @anchor{signal.screen.monitors-changed}\"monitors-changed\". Signature: (instance @ref{screen}) @result{} void. Options: run-last.
+@item @anchor{signal.screen.size-changed}\"size-changed\". Signature: (instance @ref{screen}) @result{} void. Options: run-last.
+@end itemize
 
 @node Gdk Objects
 @section Gdk Objects
index ccd992f..c298388 100644 (file)
@@ -135,3 +135,7 @@ A condition inheriting from @code{error} that is used to signal the fact that th
 @RFunction gtk-call-aborted-condition
 
 Returns the error that caused call to aborted.
+
+@RFunction grab-add
+
+Undocumented yet
index ca66404..a2eb1d1 100644 (file)
@@ -2233,8 +2233,13 @@ Signals:
 @Class window-group
 Superclass: @ref{g-object}
 
+Window-group limits the effect of grabs. Grabs added with @ref{grab-add} only affect windows within the same @ref{window-group}.
+
 Slots:
 @itemize
+@item @anchor{slot.window-group.windows}windows. Type: list of @ref{gtk-window}. Accessor: @anchor{fn.window-group-windows}@code{window-group-windows}. Read-only.
+
+A list of the @ref{gtk-window}s that belong to @ref{window-group}.
 @end itemize
 
 
@@ -2242,6 +2247,17 @@ Signals:
 @itemize
 @end itemize
 
+@RMethod window-group-add-window
+@lisp
+(window-group-add-window window-group window)
+@end lisp
 
+Adds a @var{window} (a @ref{gtk-window}) to a @var{window-group} (a @ref{window-group})
+
+@RMethod window-group-remove-window
+@lisp
+(window-group-remove-window window-group window
+@end lisp
 
+Removes a @var{window} (a @ref{gtk-window}) from a @var{window-group} (a @ref{window-group})
 
index 565f97e..c5889a8 100644 (file)
@@ -35,11 +35,19 @@ Superclass: @ref{\name\}
 @end deftp
 @end macro
 
+@macro EnumVRef {name,value}
+@ref{enum.\name\.\value\,\value\}
+@end macro
+
 @macro Flags {name}
 @deftp {Flags} \name\
 @end deftp
 @end macro
 
+@macro FlagsVRef {name,value}
+@ref{flags.\name\.\value\,\value\}
+@end macro
+
 @macro Accessor {name}
 @deffn {Accessor} \name\
 @end deffn
@@ -58,6 +66,11 @@ Type: \type\
 @end deffn
 @end macro
 
+@macro Method {name}
+@deffn {Method} \name\
+@end deffn
+@end macro
+
 @macro ForeignType {name}
 @deftp {Foreign Type} \name\
 @end deftp
@@ -130,6 +143,11 @@ Type: \type\
 @end deffn
 @end macro
 
+@macro RMethod {name}
+@anchor{\name\}@deffn {Method} \name\
+@end deffn
+@end macro
+
 @macro RForeignType {name}
 @anchor{\name\}@deftp {Foreign Type} \name\
 @end deftp
index 44c3680..b736725 100644 (file)
@@ -615,20 +615,143 @@ Superclass: @ref{gtk-window} @ref{atk-implementor-iface} @ref{buildable}
 
 Subclasses: @ref{recent-chooser-dialog} @ref{message-dialog} @ref{input-dialog} @ref{font-selection-dialog} @ref{file-chooser-dialog} @ref{color-selection-dialog} @ref{about-dialog}
 
+Dialog boxes are a convenient way to prompt the user for a small amount of input, e.g. to display a message, ask a question, or anything else that does not require extensive effort on the user's part.
+
+GTK+ treats a dialog as a window split vertically. The top section is a @ref{v-box}, and is where widgets such as a @ref{label} or a @ref{entry} should be packed. The bottom area is known as the @SlotRef{dialog,action-area}. This is generally used for packing buttons into the dialog which may perform functions such as cancel, ok, or apply. The two areas are separated by a @ref{h-separator}.
+
+If 'dialog' is a newly created dialog, the two primary areas of the window can be accessed through @SlotRef{dialog,content-area} and @SlotRef{dialog,action-area}.
+
+A 'modal' dialog (that is, one which freezes the rest of the application from user input), can be created by setting @SlotRef{gtk-window,modal} (e.g., by specifying @code{:modal t} initarg).
+
+If you add buttons to @ref{dialog} using @ref{dialog-add-button}, or @ref{dialog-add-action-widget}, clicking the button will emit a @SignalRef{dialog,response} signal with a response ID that was specified. GTK+ will never assign a meaning to positive response IDs; these are entirely user-defined. But for convenience, you can use the response IDs in the @ref{response-type} enumeration (these all have values less than zero). If a dialog receives a delete event, the @SignalRef{dialog,response} signal will be emitted with a response ID of @EnumVRef{response-type,delete-event}.
+
+TODO: cl-gtk2 does not yet support specifying custom response IDs.
+
+If you want to block waiting for a dialog to return before returning control flow to your code, you can call @ref{dialog-run}. This function enters a recursive main loop and waits for the user to respond to the dialog, returning the response ID corresponding to the button the user clicked.
+
+For the simple dialog in the following example, in reality you'd probably use @ref{message-dialog} to save yourself some effort. But you'd need to create the dialog contents manually if you had more than a simple message in the dialog.
+
+@lisp
+(defun quick-message (message)
+  "Function to open a dialog box display the MESSAGE"
+  (let ((dialog (make-instance 'gtk:dialog :title "Message")))
+    (gtk:dialog-add-button dialog "gtk-ok" :none)
+    (gtk:container-add (gtk:dialog-content-area dialog)
+                       (make-instance 'gtk:label :label message))
+    (gobject:connect-signal dialog "response"
+                            (lambda (dialog1 response-id)
+                              (declare (ignore dialog1 response-id))
+                              (gtk:object-destroy dialog)))
+    (gtk:widget-show dialog)))
+@end lisp
+
 Slots:
 @itemize
+@item @anchor{slot.dialog.action-area}action-area. Type: @ref{v-box}. Accessor: @anchor{fn.dialog-action-area}@code{dialog-action-area}. Read-only.
+
+The action area of dialog.
+@item @anchor{slot.dialog.alternative-button-order}alternative-button-order. Type: @code{list of @ref{response-type}}. Accessor: @anchor{fn.dialog-alternative-button-order}@code{dialog-alternative-button-order}. Write-only.
+
+Sets an alternative button order. If the "gtk-alternative-button-order" setting is set to True, the dialog buttons are reordered according to the order of the response ids passed to this function.
+
+By default, GTK+ dialogs use the button order advocated by the Gnome Human Interface Guidelines with the affirmative button at the far right, and the cancel button left of it. But the builtin GTK+ dialogs and @ref{message-dialog}s do provide an alternative button order, which is more suitable on some platforms, e.g. Windows.
+
+Set this after adding all the buttons to your dialog, as the following example shows:
+
+@lisp
+(setf (dialog-alternative-button-order dialog) '(:ok :cancel :help))
+@end lisp
+
+@item @anchor{slot.dialog.content-area}content-area. Type: @ref{widget}. Accessor: @anchor{fn.dialog-content-area}@code{dialog-content-area}. Read-only.
+
+The content area of dialog.
+
+@item @anchor{slot.dialog.default-response}default-response. Type: @ref{response-type}. Accessor: @anchor{fn.dialog-default-response}@code{dialog-default-response}. Write-only.
+
+The widget in the dialog's action area with the given this response is the default widget for the dialog. Pressing "Enter" normally activates the default widget.
 @item @anchor{slot.dialog.has-separator}has-separator. Type: @code{boolean}. Accessor: @anchor{fn.dialog-has-separator}@code{dialog-has-separator}.
+
+
+When True, the dialog has a separator bar above its buttons.
+
+Default value: True
 @end itemize
 
 
 Signals:
 @itemize
 @item @anchor{signal.dialog.close}"close". Signature: (instance @ref{dialog}) @result{} void. Options: run-last, action.
-@item @anchor{signal.dialog.response}"response". Signature: (instance @ref{dialog}), (arg-1 @code{integer}) @result{} void. Options: run-last.
+
+The close signal is a keybinding signal which gets emitted when the user uses a keybinding to close the dialog.
+
+The default binding for this signal is the Escape key.
+@item @anchor{signal.dialog.response}"response". Signature: (instance @ref{dialog}), (response-id @code{integer}) @result{} void. Options: run-last.
+
+Emitted when an action widget is clicked, the dialog receives a delete event, or the application programmer calls @ref{dialog-response}. On a delete event, the response ID is @EnumVRef{response-type,delete-event}. Otherwise, it depends on which action widget was clicked.
+
+Note: because of some limitations, @var{response-id} is an integer. Use @code{(cffi:foreign-enum-keyword 'gtk:response-type response-id)} to get the value of type @ref{response-type}.
 @end itemize
 
+@RMethod dialog-run
+@lisp
+(dialog-run dialog) @result{} response
+@end lisp
+
+Blocks in a recursive main loop until the dialog either emits the @SignalRef{dialog,response} signal, or is destroyed. If the dialog is destroyed during the call to @ref{dialog-run}, it returns @EnumVRef{response-type,none}. Otherwise, it returns the response ID from the @SignalRef{dialog,response} signal emission.
+
+Before entering the recursive main loop, @ref{dialog-run} calls @code{widget-show} on the dialog for you. Note that you still need to show any children of the dialog yourself.
+
+During @ref{dialog-run}, the default behavior of @SignalRef{widget,delete-event} is disabled; if the dialog receives @SignalRef{widget,delete-event}, it will not be destroyed as windows usually are, and @ref{dialog-run} will return @EnumVRef{response-type,delete-event}. Also, during @ref{dialog-run} the dialog will be modal. You can force @ref{dialog-run} to return at any time by calling @ref{dialog-response} to emit the @SignalRef{dialog,response} signal. Destroying the dialog during @ref{dialog-run} is a very bad idea, because your post-run code won't know whether the dialog was destroyed or not.
+
+After @ref{dialog-run} returns, you are responsible for hiding or destroying the dialog if you wish to do so.
+
+Note that even though the recursive main loop gives the effect of a modal dialog (it prevents the user from interacting with other windows in the same window group while the dialog is run), callbacks such as timeouts, IO channel watches, DND drops, etc, will be triggered during a @ref{dialog-run} call.
+
+@RMethod dialog-response
+@lisp
+(dialog-response dialog response)
+@end lisp
+
+Emits the @SignalRef{dialog,response} signal with the given @var{response} (of type @ref{response-type}). Used to indicate that the user has responded to the @var{dialog} in some way; typically either you or @ref{dialog-run} will be monitoring the @SignalRef{dialog,response} signal and take appropriate action.
+
+@RMethod dialog-add-button
+@lisp
+(dialog-add-button dialog text response) @result{} button
+@end lisp
+
+Adds a button with the given @var{text} (or a stock button, if @var{text} is a stock ID) and sets things up so that clicking the button will emit the @SignalRef{dialog,response} signal with the given @var{response}. The button is appended to the end of the dialog's action area. The @ref{button} widget is returned, but usually you don't need it.
+
+@RMethod dialog-add-action-widget
+@lisp
+(dialog-add-action-widget dialog widget response)
+@end lisp
 
+Adds an activatable @var{widget} to the action area of a @var{dialog}, connecting a signal handler that will emit the @SignalRef{dialog,response} signal on the dialog when the @var{widget} is activated. The @var{widget} is appended to the end of the dialog's action area. If you want to add a non-activatable widget, simply pack it into the @SlotRef{dialog,action-area} field of the @ref{dialog}.
 
+@RMethod dialog-set-response-sensitive
+@lisp
+(dialog-set-response-sensitive dialog response setting)
+@end lisp
+
+Sets the @SlotRef{widget,sensitive} for each widget in the dialog's action area with the given @var{response}. A convenient way to sensitize/desensitize dialog buttons.
+
+@RMethod dialog-response-for-widget
+@lisp
+(dialog-response-for-widget dialog widget) @result{} response
+@end lisp
+
+Gets the @var{response} (of type @ref{response-type}) of a @var{widget} in the action area of a @var{dialog}.
+
+@RMethod dialog-alternative-button-order-on-screen
+@lisp
+(dialog-alternative-button-order-on-screen screen) @result{} boolean
+@end lisp
+
+Returns True if dialogs are expected to use an alternative button order on the @ref{screen} @var{screen}. See @SlotRef{dialog,alternative-button-order} for more details about alternative button order.
+
+If you need to use this method, you should probably connect to the ::notify:gtk-alternative-button-order signal on the GtkSettings object associated to screen, in order to be notified if the button order setting changes.
+
+@var{screen}: a @ref{screen} or a NIL if to use a default screen.
 
 @node drawing-area
 @section drawing-area
@@ -952,50 +1075,575 @@ Superclass: @ref{bin} @ref{atk-implementor-iface} @ref{buildable}
 
 Subclasses: @ref{plug} @ref{assistant} @ref{dialog}
 
+@ref{gtk-window} is a toplevel window that can contain other widgets. Nearly always, the type of the window should be @EnumVRef{window-type,toplevel}. If you're implementing something like a popup menu from scratch (which is a bad idea, just use @ref{menu}), you might use @EnumVRef{window-type,popup}. @EnumVRef{window-type,popup} is not for dialogs, though in some other toolkits dialogs are called "popups". In GTK+, @EnumVRef{window-type,popup} means a pop-up menu or pop-up tooltip. On X11, popup windows are not controlled by the window manager.
+
+If you simply want an undecorated window (no window borders), use @SlotRef{gtk-window,decorated}, don't use @EnumVRef{window-type,popup}.
+
 Slots:
 @itemize
 @item @anchor{slot.gtk-window.accept-focus}accept-focus. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-accept-focus}@code{gtk-window-accept-focus}.
+
+Windows may set a hint asking the desktop environment not to receive the input focus. True if the window should receive the input focus.
+
+Default value: True
 @item @anchor{slot.gtk-window.allow-grow}allow-grow. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-allow-grow}@code{gtk-window-allow-grow}.
+
+If True, users can expand the window beyond its minimum size.
+
+Default value: True
 @item @anchor{slot.gtk-window.allow-shrink}allow-shrink. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-allow-shrink}@code{gtk-window-allow-shrink}.
+
+If True, the window has no mimimum size. Setting this to True is 99% of the time a bad idea.
+
+Default value: False
 @item @anchor{slot.gtk-window.decorated}decorated. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-decorated}@code{gtk-window-decorated}.
+
+Whether the window should be decorated by the window manager.
+
+By default, windows are decorated with a title bar, resize controls, etc. Some window managers allow GTK+ to disable these decorations, creating a borderless window. If you set the decorated property to False using this function, GTK+ will do its best to convince the window manager not to decorate the window. Depending on the system, this function may not have any effect when called on a window that is already visible, so you should call it before calling @ref{widget-show}.
+
+On Windows, this always works, since there's no window manager policy involved.
+
+Default value: True
+
 @item @anchor{slot.gtk-window.default-height}default-height. Type: @code{integer}. Accessor: @anchor{fn.gtk-window-default-height}@code{gtk-window-default-height}.
+
+The default height of the window, used when initially showing the window.
+
+If the window's "natural" size (its size request) is larger than the default, the default will be ignored. More generally, if the default size does not obey the geometry hints for the window (@ref{window-set-geometry-hints} can be used to set these explicitly), the default size will be clamped to the nearest permitted size.
+
+Unlike @SlotRef{widget,width-request} and @SlotRef{widget,height-request}, that set a size request for a widget and thus would keep users from shrinking the window, this function only sets the initial size, just as if the user had resized the window themselves. Users can still shrink the window again as they normally would. Setting a default size of -1 means to use the "natural" default size (the size request of the window).
+
+For more control over a window's initial size and how resizing works, see @ref{window-set-geometry-hints}.
+
+For some uses, @ref{window-resize} is a more appropriate function. @ref{window-resize} changes the current size of the window, rather than the size to be used on initial display. @ref{window-resize} always affects the window itself, not the geometry widget.
+
+The default size of a window only affects the first time a window is shown; if a window is hidden and re-shown, it will remember the size it had prior to hiding, rather than using the default size.
+
+Windows can't actually be 0x0 in size, they must be at least 1x1, but passing 0 for width and height is OK, resulting in a 1x1 default size.
+
+Default value: -1
+@item @anchor{slot.gtk-window.default-widget}default-widget. Type: @ref{widget}. Accessor: @anchor{fn.gtk-window-default-widget}@code{gtk-window-default-widget}.
+
+The default widget is the widget that's activated when the user presses Enter in a dialog (for example). When setting (rather than unsetting) the default widget it's generally easier to call gtk_widget_grab_focus() on the widget. Before making a widget the default widget, you must set the @SlotRef{widget,can-default} on the widget you'd like to make the default.
 @item @anchor{slot.gtk-window.default-width}default-width. Type: @code{integer}. Accessor: @anchor{fn.gtk-window-default-width}@code{gtk-window-default-width}.
+
+The default width of the window, used when initially showing the window.
+
+See @SlotRef{gtk-window,default-height} for explanation.
+
+Default value: -1
 @item @anchor{slot.gtk-window.deletable}deletable. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-deletable}@code{gtk-window-deletable}.
+
+Whether the window frame should have a close button.
+
+By default, windows have a close button in the window frame. Some window managers allow GTK+ to disable this button. If you set the deletable property to False using this function, GTK+ will do its best to convince the window manager not to show a close button. Depending on the system, this function may not have any effect when called on a window that is already visible, so you should call it before calling @ref{widget-show}.
+
+On Windows, this always works, since there's no window manager policy involved.
+
+Default value: True
 @item @anchor{slot.gtk-window.destroy-with-parent}destroy-with-parent. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-destroy-with-parent}@code{gtk-window-destroy-with-parent}.
+
+If this window should be destroyed when the parent is destroyed.
+
+Default value: False
+@item @anchor{slot.gtk-window.focus}focus. Type: @ref{widget}. Accessor: @anchor{fn.gtk-window-focus}@code{gtk-window-focus}.
+
+The current focused widget within the window. Note that this is the widget that would have the focus if the toplevel window focused; if the toplevel window is not focused then @SlotRef{gtk-window,focus} will not be True for the widget.
+
+Settings this works the following way. If focus is not the current focus widget, and is focusable, sets it as the focus widget for the window. If focus is NIL, unsets the focus widget for this window. To set the focus to a particular widget in the toplevel, it is usually more convenient to use @ref{widget-grab-focus} instead of this function.
+
 @item @anchor{slot.gtk-window.focus-on-map}focus-on-map. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-focus-on-map}@code{gtk-window-focus-on-map}.
+
+Windows may set a hint asking the desktop environment not to receive the input focus when the window is mapped.  True if the window should receive the input focus when mapped.
+
+Default value: True
 @item @anchor{slot.gtk-window.gravity}gravity. Type: @ref{gravity}. Accessor: @anchor{fn.gtk-window-gravity}@code{gtk-window-gravity}.
+
+The window gravity of the window. See @ref{window-move} and @ref{gravity} for more details about window gravity.
+
+Default value: @EnumVRef{anchor-type,north-west}
 @item @anchor{slot.gtk-window.has-toplevel-focus}has-toplevel-focus. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-has-toplevel-focus}@code{gtk-window-has-toplevel-focus}. Read-only.
+
+Whether the input focus is within this GtkWindow.
+
+Default value: False
 @item @anchor{slot.gtk-window.icon}icon. Type: @ref{pixbuf}. Accessor: @anchor{fn.gtk-window-icon}@code{gtk-window-icon}.
+
+This icon is used when the window is minimized (also known as iconified). Some window managers or desktop environments may also place it in the window frame, or display it in other contexts.
+
+The icon should be provided in whatever size it was naturally drawn; that is, don't scale the image before passing it to GTK+. Scaling is postponed until the last minute, when the desired final size is known, to allow best quality.
+
+Icon for this window.
 @item @anchor{slot.gtk-window.icon-name}icon-name. Type: @code{string}. Accessor: @anchor{fn.gtk-window-icon-name}@code{gtk-window-icon-name}.
+
+The icon-name property specifies the name of the themed icon to use as the window icon. See @ref{icon-theme} for more details.
+
+Note that this has nothing to do with the WM_ICON_NAME property which is mentioned in the ICCCM.
+
+Default value: NIL
 @item @anchor{slot.gtk-window.is-active}is-active. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-is-active}@code{gtk-window-is-active}. Read-only.
+
+Whether the toplevel is the current active window.
+
+Default value: False
 @item @anchor{slot.gtk-window.modal}modal. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-modal}@code{gtk-window-modal}.
+
+If True, the window is modal (other windows are not usable while this one is up).
+
+Default value: False
 @item @anchor{slot.gtk-window.opacity}opacity. Type: @code{double-float}. Accessor: @anchor{fn.gtk-window-opacity}@code{gtk-window-opacity}.
+
+The requested opacity of the window.
+
+Setting opacity requests the windowing system to make window partially transparent, with opacity 0 being fully transparent and 1 fully opaque. (Values of the opacity parameter are clamped to the [0,1] range.) On X11 this has any effect only on X screens with a compositing manager running. See @SlotRef{screen,composited-p}. On Windows it should work always.
+
+Note that setting a window's opacity after the window has been shown causes it to flicker once on Windows.
+
+Allowed values: [0,1]
+
+Default value: 1
 @item @anchor{slot.gtk-window.resizable}resizable. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-resizable}@code{gtk-window-resizable}.
+
+If True, users can resize the window.
+
+Default value: True
 @item @anchor{slot.gtk-window.role}role. Type: @code{string}. Accessor: @anchor{fn.gtk-window-role}@code{gtk-window-role}.
+
+Unique identifier for the window to be used when restoring a session.
+
+This is only useful on X11, not with other GTK+ targets.
+
+In combination with the window title, the window role allows a window manager to identify "the same" window when an application is restarted. So for example you might set the "toolbox" role on your app's toolbox window, so that when the user restarts their session, the window manager can put the toolbox back in the same place.
+
+If a window already has a unique title, you don't need to set the role, since the WM can use the title to identify the window when restoring the session.
+
+Default value: NIL
 @item @anchor{slot.gtk-window.screen}screen. Type: @ref{screen}. Accessor: @anchor{fn.gtk-window-screen}@code{gtk-window-screen}.
+
+The screen where this window will be displayed.
 @item @anchor{slot.gtk-window.skip-pager-hint}skip-pager-hint. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-skip-pager-hint}@code{gtk-window-skip-pager-hint}.
+
+Windows may set a hint asking the desktop environment not to display the window in the pager. (A "pager" is any desktop navigation tool such as a workspace switcher that displays a thumbnail representation of the windows on the screen.) True if the window should not be in the pager.
+
+Default value: False
 @item @anchor{slot.gtk-window.skip-taskbar-hint}skip-taskbar-hint. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-skip-taskbar-hint}@code{gtk-window-skip-taskbar-hint}.
+
+Windows may set a hint asking the desktop environment not to display the window in the task bar. True if the window should not be in the task bar.
+
+Default value: False
 @item @anchor{slot.gtk-window.startup-id}startup-id. Type: @code{string}. Accessor: @anchor{fn.gtk-window-startup-id}@code{gtk-window-startup-id}. Write-only.
+
+The startup-id is a write-only property for setting window's startup notification identifier.
+
+Startup notification identifiers are used by desktop environment to track application startup, to provide user feedback and other features. This function changes the corresponding property on the underlying @ref{gdk-window}. Normally, startup identifier is managed automatically and you should only use this function in special cases like transferring focus from other processes. You should set this before calling @ref{window-present} or any equivalent function generating a window map event.
+
+This is only useful on X11, not with other GTK+ targets.
+
+Default value: NIL
 @item @anchor{slot.gtk-window.title}title. Type: @code{string}. Accessor: @anchor{fn.gtk-window-title}@code{gtk-window-title}.
+
+The title of the window.
+
+Default value: NIL
 @item @anchor{slot.gtk-window.transient-for}transient-for. Type: @ref{gtk-window}. Accessor: @anchor{fn.gtk-window-transient-for}@code{gtk-window-transient-for}.
+
+The transient parent of the window.
+
+Dialog windows should be set transient for the main application window they were spawned from. This allows window managers to e.g. keep the dialog on top of the main window, or center the dialog over the main window.
+
+On Windows, this puts the child window on top of the parent, much as the window manager would have done on X.
 @item @anchor{slot.gtk-window.type}type. Type: @ref{window-type}. Accessor: @anchor{fn.gtk-window-type}@code{gtk-window-type}.
+
+The type of the window.
+
+Default value: @EnumVRef{window-type,toplevel}
 @item @anchor{slot.gtk-window.type-hint}type-hint. Type: @ref{gdk-window-type-hint}. Accessor: @anchor{fn.gtk-window-type-hint}@code{gtk-window-type-hint}.
+
+Hint to help the desktop environment understand what kind of window this is and how to treat it.
+
+This should be set before the window becomes visible.
+
+Default value: @EnumVRef{gdk-window-type-hint,normal}
 @item @anchor{slot.gtk-window.urgency-hint}urgency-hint. Type: @code{boolean}. Accessor: @anchor{fn.gtk-window-urgency-hint}@code{gtk-window-urgency-hint}.
+
+Windows may set a hint asking the desktop environment to draw the users attention to the window. True if the window should be brought to the user's attention.
+
+Default value: False
 @item @anchor{slot.gtk-window.window-position}window-position. Type: @ref{window-position}. Accessor: @anchor{fn.gtk-window-window-position}@code{gtk-window-window-position}.
+
+The initial position of the window.
+
+Default value: @EnumVRef{window-position,none}
 @end itemize
 
 
 Signals:
 @itemize
 @item @anchor{signal.gtk-window.activate-default}"activate-default". Signature: (instance @ref{gtk-window}) @result{} void. Options: run-last, action.
+
+The activate-default signal is a keybinding signal which gets emitted when the user activates the default widget of window.
 @item @anchor{signal.gtk-window.activate-focus}"activate-focus". Signature: (instance @ref{gtk-window}) @result{} void. Options: run-last, action.
-@item @anchor{signal.gtk-window.frame-event}"frame-event". Signature: (instance @ref{gtk-window}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
+
+The activate-default signal is a keybinding signal which gets emitted when the user activates the currently focused widget of window.
+@item @anchor{signal.gtk-window.frame-event}"frame-event". Signature: (instance @ref{gtk-window}), (event @ref{event}) @result{} @code{boolean}. Options: run-last.
+
+
 @item @anchor{signal.gtk-window.keys-changed}"keys-changed". Signature: (instance @ref{gtk-window}) @result{} void. Options: run-first.
-@item @anchor{signal.gtk-window.set-focus}"set-focus". Signature: (instance @ref{gtk-window}), (arg-1 @ref{widget}) @result{} void. Options: run-last.
+
+The keys-changed signal gets emitted when the set of accelerators or mnemonics that are associated with window changes.
+@item @anchor{signal.gtk-window.set-focus}"set-focus". Signature: (instance @ref{gtk-window}), (widget @ref{widget}) @result{} void. Options: run-last.
 @end itemize
 
+@RMethod window-add-accel-group
+@lisp
+(window-add-accel-group window accel-group)
+@end lisp
+
+Associate @var{accel-group} (an @ref{accel-group}) with @var{window} (an @ref{gtk-window}).
+
+@RMethod window-remove-accel-group
+@lisp
+(window-remove-accel-group window accel-group)
+@end lisp
+
+Reverses the effect of @ref{window-add-accel-group}.
+
+@RMethod window-activate-focus
+@lisp
+(window-activate-focus window)
+@end lisp
+
+Activates the current focused widget within the @var{window} (an @ref{gtk-window}).
 
+@RMethod window-activate-default
+@lisp
+(window-activate-default window) @result{} activated-p
+@end lisp
 
+Activates the default widget for the @var{window} (an @ref{gtk-window}), unless the current focused widget has been configured to receive the default action (see @SlotRef{widget,receives-default}), in which case the focused widget is activated.
+
+Returns True if a widget got activated.
+
+@RMethod window-set-geometry-hints
+@lisp
+(window-set-geometry-hints window geometry-widget geometry geometry-mask)
+@end lisp
+
+This function sets up hints about how a @var{window} (an @ref{gtk-window}) can be resized by the user. You can set a minimum and maximum size; allowed resize increments (e.g. for xterm, you can only resize by the size of a character); aspect ratios; and more. See the @ref{geometry} struct.
+
+@var{geometry-widget}: a @ref{widget} - widget the geometry hints will be applied to
+
+@var{geometry}: a @ref{geometry} - struct containing geometry information
+
+@var{geometry-mask}: a @ref{window-hints} - mask indicating which struct fields should be paid attention to
+
+@Function window-list-toplevels
+@lisp
+(window-list-toplevels) @result{} windows
+@end lisp
+
+Returns a list of all existing toplevel windows. The widgets in the list are not individually referenced.
+
+@var{windows}: fresh list of @ref{gtk-window}
+
+@RMethod window-add-mnemonic
+@lisp
+(window-add-mnemonic window keyval target)
+@end lisp
+
+Adds a mnemonic to this @var{window} (a @ref{gtk-window}).
+
+@var{keyval}: mnemonic keyval
+
+@var{target}: the @ref{widget} that gets activated by the mnemonic
+
+@RMethod window-remove-mnemonic
+@lisp
+(window-remove-mnemonic window keyval target)
+@end lisp
+
+Removes a mnemonic from this @var{window} (a @ref{gtk-window}).
+
+@var{keyval}: mnemonic keyval
+
+@var{target}: the @ref{widget} that gets activated by the mnemonic
+
+@RMethod window-mnemonic-activate
+@lisp
+(window-mnemonic-activate window keyval modifier)
+@end lisp
+
+Activates the targets associated with the mnemonic.
+
+@var{keyval}: mnemonic keyval
+
+@var{modifier}: a @ref{modifier-type} - modifiers
+
+@RMethod window-activate-key
+@lisp
+(window-activate-key window event) @result{} activated-p
+@end lisp
+
+Activates mnemonics and accelerators for this @ref{gtk-window}. This is normally called by the default @SignalRef{widget,key-press-event} handler for toplevel windows, however in some cases it may be useful to call this directly when overriding the standard key handling for a toplevel window.
+
+Returns True if a mnemonic or accelerator was found and activated.
+
+@var{event}: a @ref{event-key}
+
+@RMethod window-propagate-key-event
+@lisp
+(window-propagate-key-event window event) @result{} handled-p
+@end lisp
+
+Propagate a key press or release event to the focus widget and up the focus container chain until a widget handles @var{event}. This is normally called by the default @SignalRef{widget,key-press-event} and @SignalRef{widget,key-release-event} handlers for toplevel windows, however in some cases it may be useful to call this directly when overriding the standard key handling for a toplevel window.
+
+Returns True if a widget in the focus chain handled the event.
+
+@var{event}: a @ref{event-key}
+
+@RMethod window-present
+@lisp
+(window-present window)
+@end lisp
+
+Presents a @var{window} (a @ref{gtk-window}) to the user. This may mean raising the window in the stacking order, deiconifying it, moving it to the current desktop, and/or giving it the keyboard focus, possibly dependent on the user's platform, window manager, and preferences.
+
+If window is hidden, this function calls @ref{widget-show} as well.
+
+This function should be used when the user tries to open a window that's already open. Say for example the preferences dialog is currently open, and the user chooses Preferences from the menu a second time; use @ref{window-present} to move the already-open dialog where the user can see it.
+
+If you are calling this function in response to a user interaction, it is preferable to use @ref{window-present-with-time}.
+
+@RMethod window-present-with-time
+@lisp
+(window-present-with-time window timestamp)
+@end lisp
+
+Presents a @var{window} (a @ref{gtk-window}) to the user in response to a user interaction. If you need to present a window without a timestamp, use @ref{window-present}. See @ref{window-present} for details.
+
+@var{timestamp}: the timestamp of the user interaction (typically a button or key press event) which triggered this call
+
+@RMethod window-iconify
+@lisp
+(window-iconify window)
+@end lisp
+
+Asks to iconify (i.e. minimize) the specified @var{window} (a @ref{gtk-window}). Note that you shouldn't assume the window is definitely iconified afterward, because other entities (e.g. the user or window manager) could deiconify it again, or there may not be a window manager in which case iconification isn't possible, etc. But normally the window will end up iconified. Just don't write code that crashes if not.
+
+It's permitted to call this function before showing a window, in which case the window will be iconified before it ever appears onscreen.
+
+You can track iconification via the @SignalRef{widget,window-state-event} signal on GtkWidget.
+
+@RMethod window-deiconify
+@lisp
+(window-deiconify window)
+@end lisp
+
+Asks to deiconify (i.e. unminimize) the specified window. Note that you shouldn't assume the window is definitely deiconified afterward, because other entities (e.g. the user or window manager) could iconify it again before your code which assumes deiconification gets to run.
+
+You can track iconification via the @SignalRef{widget,window-state-event}.
+
+@RMethod window-stick
+@lisp
+(window-stick window)
+@end lisp
+Asks to stick @var{window} (a @ref{gtk-window}), which means that it will appear on all user desktops. Note that you shouldn't assume the window is definitely stuck afterward, because other entities (e.g. the user or window manager) could unstick it again, and some window managers do not support sticking windows. But normally the window will end up stuck. Just don't write code that crashes if not.
+
+It's permitted to call this function before showing a window.
+
+You can track stickiness via the @SignalRef{widget,window-state-event} signal.
+
+@RMethod window-unstick
+@lisp
+(window-unstick window)
+@end lisp
+Asks to unstick @var{window} (a @ref{gtk-window}), which means that it will appear on only one of the user's desktops. Note that you shouldn't assume the window is definitely unstuck afterward, because other entities (e.g. the user or window manager) could stick it again. But normally the window will end up stuck. Just don't write code that crashes if not.
+
+You can track stickiness via the @SignalRef{widget,window-state-event} signal.
+
+@RMethod window-maximize
+@lisp
+(window-maximize window)
+@end lisp
+
+Asks to maximize @var{window} (a @ref{gtk-window}), so that it becomes full-screen. Note that you shouldn't assume the window is definitely maximized afterward, because other entities (e.g. the user or window manager) could unmaximize it again, and not all window managers support maximization. But normally the window will end up maximized. Just don't write code that crashes if not.
+
+It's permitted to call this function before showing a window, in which case the window will be maximized when it appears onscreen initially.
+
+You can track maximization via the @SignalRef{widget,window-state-event} signal.
+
+@RMethod window-unmaximize
+@lisp
+(window-unmaximize window)
+@end lisp
+
+Asks to unmaximize @var{window} (a @ref{gtk-window}). Note that you shouldn't assume the window is definitely unmaximized afterward, because other entities (e.g. the user or window manager) could maximize it again, and not all window managers honor requests to unmaximize. But normally the window will end up unmaximized. Just don't write code that crashes if not.
+
+You can track maximization via the @SignalRef{widget,window-state-event} signal on GtkWidget.
+
+@RMethod window-fullscreen
+@lisp
+(window-fullscreen window)
+@end lisp
+
+Asks to place @var{window} (a @ref{gtk-window}) in the fullscreen state. Note that you shouldn't assume the window is definitely full screen afterward, because other entities (e.g. the user or window manager) could unfullscreen it again, and not all window managers honor requests to fullscreen windows. But normally the window will end up fullscreen. Just don't write code that crashes if not.
+
+You can track the fullscreen state via the @SignalRef{widget,window-state-event} signal.
+
+@RMethod window-unfullscreen
+@lisp
+(window-unfullscreen window)
+@end lisp
+
+Asks to toggle off the fullscreen state for @var{window} (a @ref{gtk-window}). Note that you shouldn't assume the window is definitely not full screen afterward, because other entities (e.g. the user or window manager) could fullscreen it again, and not all window managers honor requests to unfullscreen windows. But normally the window will end up restored to its normal state. Just don't write code that crashes if not.
+
+You can track the fullscreen state via the @SignalRef{widget,window-state-event} signal.
+
+@RMethod window-set-keep-above
+@lisp
+(window-set-keep-above window setting)
+@end lisp
+
+Asks to keep @var{window} (a @ref{gtk-window}) above, so that it stays on top. Note that you shouldn't assume the window is definitely above afterward, because other entities (e.g. the user or window manager) could not keep it above, and not all window managers support keeping windows above. But normally the window will end kept above. Just don't write code that crashes if not.
+
+It's permitted to call this function before showing a window, in which case the window will be kept above when it appears onscreen initially.
+
+You can track the above state via the @SignalRef{widget,window-state-event} signal.
+
+Note that, according to the Extended Window Manager Hints specification, the above state is mainly meant for user preferences and should not be used by applications e.g. for drawing attention to their dialogs.
+
+@var{setting}: a boolean; whether to keep @var{window} above other windows
+
+@RMethod window-set-keep-below
+@lisp
+(window-set-keep-below window setting)
+@end lisp
+Asks to keep window below, so that it stays in bottom. Note that you shouldn't assume the window is definitely below afterward, because other entities (e.g. the user or window manager) could not keep it below, and not all window managers support putting windows below. But normally the window will be kept below. Just don't write code that crashes if not.
+
+It's permitted to call this function before showing a window, in which case the window will be kept below when it appears onscreen initially.
+
+You can track the below state via the "window-state-event" signal on GtkWidget.
+
+Note that, according to the Extended Window Manager Hints specification, the above state is mainly meant for user preferences and should not be used by applications e.g. for drawing attention to their dialogs.
+
+@var{setting}: a boolean; whether to keep window below other windows
+
+@RMethod window-begin-resize-drag
+@lisp
+(window-begin-resize-drag window edge button root-x root-y timestamp)
+@end lisp
+
+Starts resizing a @var{window} (a @ref{gtk-window}). This function is used if an application has window resizing controls. When GDK can support it, the resize will be done using the standard mechanism for the window manager or windowing system. Otherwise, GDK will try to emulate window resizing, potentially not all that well, depending on the windowing system.
+
+@var{edge}: a @ref{window-edge}; position of the resize control
+
+@var{button}: an integer; mouse button that initiated the drag
+
+@var{root-x}: an integer; X position where the user clicked to initiate the drag, in root window coordinates
+
+@var{root-y}: an integer; Y position where the user clicked to initiate the drag
+
+@var{timestamp}: timestamp from the click event that initiated the drag
+
+@RMethod window-begin-move-drag
+@lisp
+(window-begin-move-drag window button root-x root-y timestamp)
+@end lisp
+
+Starts moving a window. This function is used if an application has window movement grips. When GDK can support it, the window movement will be done using the standard mechanism for the window manager or windowing system. Otherwise, GDK will try to emulate window movement, potentially not all that well, depending on the windowing system.
+
+@var{edge}: a @ref{window-edge}; position of the resize control
+
+@var{button}: an integer; mouse button that initiated the drag
+
+@var{root-x}: an integer; X position where the user clicked to initiate the drag, in root window coordinates
+
+@var{root-y}: an integer; Y position where the user clicked to initiate the drag
+
+@var{timestamp}: timestamp from the click event that initiated the drag
+
+@RMethod window-set-frame-dimensions
+@lisp
+(window-set-frame-dimensions window left top right bottom)
+@end lisp
+
+(Note: this is a special-purpose function intended for the framebuffer port; see @ref{window-set-has-frame}. It will have no effect on the window border drawn by the window manager, which is the normal case when using the X Window system.)
+
+For windows with frames this function can be used to change the size of the frame border.
+
+@var{window}: a @ref{gtk-window}
+
+@var{left}, @var{top}, @var{right}, @var{bottom} - integers; sizes of left, top, right, bottom borders
+
+@RMethod window-set-has-frame
+@lisp
+(window-set-has-frame window setting)
+@end lisp
+
+(Note: this is a special-purpose function for the framebuffer port, that causes GTK+ to draw its own window border. For most applications, you want @SlotRef{gtk-window,decorated} instead, which tells the window manager whether to draw the window border.)
+
+If this function is called on a @var{window} (a @ref{gtk-window}) with setting of True, before it is realized or showed, it will have a "frame" window around window->window, accessible in window->frame. Using the signal @SignalRef{gtk-window,frame-event} you can receive all events targeted at the frame.
+
+This function is used by the linux-fb port to implement managed windows, but it could conceivably be used by X-programs that want to do their own window decorations.
+
+@var{setting}: a boolean
+
+@RMethod window-set-mnemonic-modifier
+@lisp
+(window-set-mnemonic-modifier window modifier)
+@end lisp
+
+Sets the mnemonic @var{modifier} (a @ref{modifier-type}) for this @var{window} (a @ref{gtk-window}).
+
+@Function window-default-icon-list
+@lisp
+(setf (window-default-icon-list) icons)
+@end lisp
+
+Sets an icon list to be used as fallback for windows that haven't had @code{gtk_window_set_icon_list} set on them to set up a window-specific icon list. This function allows you to set up the icon for all windows in your app at once.
+
+@var{icons}: a list of @ref{pixbuf}s.
+
+@Function window-default-icon
+@lisp
+(setf (window-default-icon) icon)
+@end lisp
+
+Sets an @var{icon} (a @ref{pixbuf}) to be used as fallback for windows that haven't had @SlotRef{gtk-window,icon} set on them from a pixbuf.
+
+@Function window-default-icon-name
+@lisp
+(setf (window-default-icon-name) name)
+@end lisp
+
+Sets an icon (a @code{string} - the name of the themed icon) to be used as fallback for windows.
+
+@RMethod window-move
+@lisp
+(window-move window x y)
+@end lisp
+
+Asks the window manager to move @var{window} (a @ref{gtk-window}) to the given position (defined by integers @var{x}, @var{y}). Window managers are free to ignore this; most window managers ignore requests for initial window positions (instead using a user-defined placement algorithm) and honor requests after the window has already been shown.
+
+Note: the position is the position of the gravity-determined reference point for the window. The gravity determines two things: first, the location of the reference point in root window coordinates; and second, which point on the window is positioned at the reference point.
+
+By default the gravity is @EnumVRef{gravity,north-west}, so the reference point is simply the x, y supplied. The top-left corner of the window decorations (aka window frame or border) will be placed at x, y. Therefore, to position a window at the top left of the screen, you want to use the default gravity (which is @EnumVRef{gravity,north-west}) and move the window to 0,0.
+
+To position a window at the bottom right corner of the screen, you would set @EnumVRef{gravity,south-east}, which means that the reference point is at x + the window width and y + the window height, and the bottom-right corner of the window border will be placed at that reference point. So, to place a window in the bottom right corner you would first set gravity to south east, then write: gtk_window_move (window, gdk_screen_width() - window_width, gdk_screen_height() - window_height) (note that this example does not take multi-head scenarios into account).
+
+The Extended Window Manager Hints specification at http://www.freedesktop.org/Standards/wm-spec has a nice table of gravities in the "implementation notes" section.
+
+@RMethod window-resize
+@lisp
+(window-resize window width height)
+@end lisp
+
+Resizes the @var{window} (a @ref{gtk-window}) to @var{width} pixels by @var{height} pixels as if the user had done so, obeying geometry constraints. The default geometry constraint is that windows may not be smaller than their size request (see @SlotRef{widget,width-request}, @SlotRef{widget,height-request}).
+
+If @ref{window-resize} is called before showing a window for the first time, it overrides any default size set with @SlotRef{gtk-window,default-width}, @SlotRef{gtk-window,default-height}.
+
+Windows may not be resized smaller than 1 by 1 pixels.
 
 @node h-box
 @section h-box
@@ -1277,9 +1925,15 @@ Signals:
 @Class invisible
 Superclass: @ref{widget} @ref{atk-implementor-iface} @ref{buildable}
 
+The @ref{invisible} widget is used internally in GTK+, and is probably not very useful for application developers.
+
+It is used for reliable pointer grabs and selection handling in the code for drag-and-drop.
+
 Slots:
 @itemize
 @item @anchor{slot.invisible.screen}screen. Type: @ref{screen}. Accessor: @anchor{fn.invisible-screen}@code{invisible-screen}.
+
+The @ref{screen} where this window will be displayed.
 @end itemize
 
 
@@ -1522,15 +2176,53 @@ Signals:
 @Class message-dialog
 Superclass: @ref{dialog} @ref{atk-implementor-iface} @ref{buildable}
 
+@ref{message-dialog} presents a dialog with an image representing the
+type of message (Error, Question, etc.) alongside some message
+text. It's simply a convenience widget; you could construct the
+equivalent of @ref{message-dialog} from @ref{dialog} without too much
+effort, but @ref{message-dialog} saves typing.
+
+The easiest way to do a modal message dialog is to use gtk_dialog_run(),
+though you can also pass in the @FlagsVRef{dialog-flags,modal} flag,
+@ref{dialog-run} automatically makes the dialog modal and waits for the
+user to respond to it. @ref{dialog-run} returns when any dialog button
+is clicked.
+
 Slots:
 @itemize
 @item @anchor{slot.message-dialog.buttons}buttons. Type: @ref{buttons-type}. Accessor: @anchor{fn.message-dialog-buttons}@code{message-dialog-buttons}. Write-only.
+
+The buttons shown in the message dialog.
+
+Default value: @EnumVRef{buttons-type,none}
 @item @anchor{slot.message-dialog.image}image. Type: @ref{widget}. Accessor: @anchor{fn.message-dialog-image}@code{message-dialog-image}.
+
+The image for this dialog
 @item @anchor{slot.message-dialog.message-type}message-type. Type: @ref{message-type}. Accessor: @anchor{fn.message-dialog-message-type}@code{message-dialog-message-type}.
+
+The type of the message. The type is used to determine the image that is shown in the dialog, unless the image is explicitly set by the @SlotRef{message-dialog,image} property.
+
+Default value: @EnumVRef{message-type,info}
 @item @anchor{slot.message-dialog.secondary-text}secondary-text. Type: @code{string}. Accessor: @anchor{fn.message-dialog-secondary-text}@code{message-dialog-secondary-text}.
+
+The secondary text of the message dialog.
+
+Default value: NIL
 @item @anchor{slot.message-dialog.secondary-use-markup}secondary-use-markup. Type: @code{boolean}. Accessor: @anchor{fn.message-dialog-secondary-use-markup}@code{message-dialog-secondary-use-markup}.
+
+True if the secondary text of the dialog includes Pango markup. See pango_parse_markup().
+
+Default value: False
 @item @anchor{slot.message-dialog.text}text. Type: @code{string}. Accessor: @anchor{fn.message-dialog-text}@code{message-dialog-text}.
+
+The primary text of the message dialog. If the dialog has a secondary text, this will appear as the title.
+
+Default value: ""
 @item @anchor{slot.message-dialog.use-markup}use-markup. Type: @code{boolean}. Accessor: @anchor{fn.message-dialog-use-markup}@code{message-dialog-use-markup}.
+
+True if the primary text of the dialog includes Pango markup. See pango_parse_markup().
+
+Default value: False
 @end itemize
 
 
@@ -1539,8 +2231,6 @@ Signals:
 @end itemize
 
 
-
-
 @node misc
 @section misc
 @Class misc
@@ -2719,6 +3409,11 @@ Signals:
 @item @anchor{signal.widget.window-state-event}"window-state-event". Signature: (instance @ref{widget}), (arg-1 @ref{event}) @result{} @code{boolean}. Options: run-last.
 @end itemize
 
+@RMethod widget-show
+
+Undocumented yet
 
+@RMethod widget-grab-focus
 
+Undocumented yet
 
index 98f5f37..5a1dbd5 100644 (file)
               "GtkSubmenuDirection" "GtkSubmenuPlacement" "GtkTextWindowType"
               "GtkToolbarChildType" "GtkToolbarSpaceStyle" "GtkTreeViewDropPosition"
               "GtkTreeViewMode" "GtkVisibility")
-     :exclusions '("PangoStretch" "PangoVariant" "PangoStyle" "PangoUnderline")
+     :exclusions '("PangoStretch" "PangoVariant" "PangoStyle" "PangoUnderline" "GtkGLDrawingArea")
      :additional-properties
      '(("GtkWindow"
        (:cffi gtk::focus gtk::gtk-window-focus (g-object gtk::widget) "gtk_window_get_focus" "gtk_window_set_focus")
        (:cffi gtk::mnemonic-modifier gtk::gtk-window-mnemonic-modifier (g-object gdk::modifier-type) "gtk_window_get_mnemonic_modifier" "gtk_window_set_mnemonic_modifier")
        (:cffi gtk::icon-list gtk::gtk-window-icon-list (glist gtk::pixbuf :free-from-foreign t :free-to-foreign t) "gtk_window_get_icon_list" "gtk_window_set_icon_list")
        (:cffi gtk::group gtk::gtk-window-group (g-object gtk::window-group) "gtk_window_get_group" nil))
-       ("GtkDialog"
-       (:cffi gtk::action-area gtk::dialog-action-area (g-object gtk::widget) "gtk_dialog_get_action_area" nil)
-       (:cffi gtk::content-area gtk::dialog-content-area (g-object gtk::widget) "gtk_dialog_get_content_area" nil))
        ("GtkTreeViewColumn"
         (:cffi gtk::tree-view gtk::tree-view-column-tree-view g-object "gtk_tree_view_column_get_tree_view" nil)
         (:cffi gtk::sort-column-id gtk::tree-view-column-sort-column-id :int "gtk_tree_view_column_get_sort_column_id" "gtk_tree_view_column_set_sort_column_id")
         (:cffi gtk::priority gtk::text-tag-priority :int "gtk_text_tag_get_priority" "gtk_text_tag_set_priority"))
        ("GtkPageSetupUnixDialog"
        (:cffi gtk::page-setup gtk::page-setup-unix-dialog-page-setup (g-object gtk::page-setup) "gtk_page_setup_unix_dialog_get_page_setup" "gtk_page_setup_unix_dialog_set_page_setup")
-       (:cffi gtk::print-settings gtk::page-setup-unix-dialog-print-settings (g-object gtk::print-settings) "gtk_page_setup_unix_dialog_get_print_settings" "gtk_page_setup_unix_dialog_set_print_settings"))))))
+       (:cffi gtk::print-settings gtk::page-setup-unix-dialog-print-settings (g-object gtk::print-settings) "gtk_page_setup_unix_dialog_get_print_settings" "gtk_page_setup_unix_dialog_set_print_settings"))
+       ("GtkWindowGroup"
+        (:cffi gtk::windows gtk::window-group-windows (glist (g-object gtk::window)) "gtk_window_group_list_windows" nil))
+       ("GtkDialog"
+        (:cffi gtk::content-area gtk::dialog-content-area (g-object gtk::v-box) "gtk_dialog_get_content_area" nil)
+        (:cffi gtk::action-area gtk::dialog-action-area (g-object gtk::widget) "gtk_dialog_get_action_area" nil)
+        (:cffi gtk::default-response gtk::dialog-default-response gtk::response-type nil "gtk_dialog_set_default_response"))))))
 
 (defun gtk-generate-child-properties (filename)
   (with-open-file (stream filename :direction :output :if-exists :supersede)
index 48c14d0..e7b57e6 100644 (file)
          (type-init-name (probable-type-init-name g-name))
          (own-properties
           (sort (copy-list (remove g-type properties :key #'g-class-property-definition-owner-type :test-not #'g-type=))
-                #'string< :key #'g-class-property-definition-owner-type)))
+                #'string< :key #'g-class-property-definition-name)))
     `(define-g-object-class ,g-name ,name 
          (:superclass ,superclass-name
                       :export t
index deac5b9..79ab9d0 100644 (file)
   (g-object-call-set-property (pointer object)
                               (gobject-property-effective-slot-definition-g-property-name slot)
                               new-value
-                              (gobject-effective-slot-definition-g-property-type slot)))
+                              (gobject-effective-slot-definition-g-property-type slot))
+  new-value)
 
 (defmethod slot-boundp-using-class ((class gobject-class) object (slot gobject-fn-effective-slot-definition))
   (not (null (gobject-fn-effective-slot-definition-g-getter-fn slot))))
     (funcall fn object)))
 
 (defmethod (setf slot-value-using-class) (new-value (class gobject-class) object (slot gobject-fn-effective-slot-definition))
-  (funcall (gobject-fn-effective-slot-definition-g-setter-fn slot) object new-value))
+  (funcall (gobject-fn-effective-slot-definition-g-setter-fn slot) object new-value)
+  new-value)
 
 (defmethod slot-boundp-using-class ((class gobject-class) object (slot gobject-effective-slot-definition))
   t)
index 8ba8a67..dcb58b1 100644 (file)
@@ -13,6 +13,7 @@
                (:file "gtk.base-classes")
                (:file "gtk.dialog")
                (:file "gtk.window")
+               (:file "gtk.window-group")
                (:file "gtk.image")
                (:file "gtk.label")
                (:file "gtk.progress-bar")
index 0d93879..d6232bd 100644 (file)
 
 (export 'dialog-add-action-widget)
 
-(defcfun (dialog-set-default-response "gtk_dialog_set_default_response") :void
-  (dialog (g-object dialog))
-  (response response-type))
-
-(defun (setf dialog-default-response) (response dialog)
-  (dialog-set-default-response dialog response)
-  response)
-
-(export 'dialog-default-response)
-
 (defcfun (dialog-set-response-sensitive "gtk_dialog_set_response_sensitive") :void
   (dialog (g-object dialog))
   (response response-type)
@@ -58,7 +48,7 @@
   (n-params :int)
   (new-order (:pointer response-type)))
 
-(defun (setf dialog-alternative-button-order) (response-list dialog)
+(defun set-dialog-alternative-button-order (dialog response-list)
   (with-foreign-object (new-order 'response-type (length response-list))
     (loop
        for i from 0
@@ -67,8 +57,6 @@
     (dialog-set-alternative-button-order-from-array dialog (length response-list) new-order))
   response-list)
 
-(export 'dialog-alternative-button-order)
-
 (defmacro with-gtk-message-error-handler (&body body)
   (let ((dialog (gensym))
         (e (gensym)))
index ac85612..2cd35d4 100644 (file)
 (define-g-object-class "GtkAdjustment" adjustment
                        (:superclass gtk-object :export t :interfaces nil
                         :type-initializer "gtk_adjustment_get_type")
-                       ((value adjustment-value "value" "gdouble" t t)
-                        (lower adjustment-lower "lower" "gdouble" t t)
-                        (upper adjustment-upper "upper" "gdouble" t t)
-                        (step-increment adjustment-step-increment
-                         "step-increment" "gdouble" t t)
+                       ((lower adjustment-lower "lower" "gdouble" t t)
                         (page-increment adjustment-page-increment
                          "page-increment" "gdouble" t t)
                         (page-size adjustment-page-size "page-size" "gdouble" t
-                         t)))
+                         t)
+                        (step-increment adjustment-step-increment
+                         "step-increment" "gdouble" t t)
+                        (upper adjustment-upper "upper" "gdouble" t t)
+                        (value adjustment-value "value" "gdouble" t t)))
 
 (define-g-object-class "GtkCellRenderer" cell-renderer
                        (:superclass gtk-object :export t :interfaces nil
                         :type-initializer "gtk_cell_renderer_get_type")
-                       ((mode cell-renderer-mode "mode" "GtkCellRendererMode" t
-                         t)
-                        (visible cell-renderer-visible "visible" "gboolean" t
-                         t)
-                        (sensitive cell-renderer-sensitive "sensitive"
-                         "gboolean" t t)
-                        (xalign cell-renderer-xalign "xalign" "gfloat" t t)
-                        (yalign cell-renderer-yalign "yalign" "gfloat" t t)
-                        (xpad cell-renderer-xpad "xpad" "guint" t t)
-                        (ypad cell-renderer-ypad "ypad" "guint" t t)
-                        (width cell-renderer-width "width" "gint" t t)
-                        (height cell-renderer-height "height" "gint" t t)
-                        (is-expander cell-renderer-is-expander "is-expander"
-                         "gboolean" t t)
-                        (is-expanded cell-renderer-is-expanded "is-expanded"
-                         "gboolean" t t)
-                        (cell-background cell-renderer-cell-background
+                       ((cell-background cell-renderer-cell-background
                          "cell-background" "gchararray" nil t)
                         (cell-background-gdk cell-renderer-cell-background-gdk
                          "cell-background-gdk" "GdkColor" t t)
                         (cell-background-set cell-renderer-cell-background-set
                          "cell-background-set" "gboolean" t t)
                         (editing cell-renderer-editing "editing" "gboolean" t
-                         nil)))
+                         nil)
+                        (height cell-renderer-height "height" "gint" t t)
+                        (is-expanded cell-renderer-is-expanded "is-expanded"
+                         "gboolean" t t)
+                        (is-expander cell-renderer-is-expander "is-expander"
+                         "gboolean" t t)
+                        (mode cell-renderer-mode "mode" "GtkCellRendererMode" t
+                         t)
+                        (sensitive cell-renderer-sensitive "sensitive"
+                         "gboolean" t t)
+                        (visible cell-renderer-visible "visible" "gboolean" t
+                         t)
+                        (width cell-renderer-width "width" "gint" t t)
+                        (xalign cell-renderer-xalign "xalign" "gfloat" t t)
+                        (xpad cell-renderer-xpad "xpad" "guint" t t)
+                        (yalign cell-renderer-yalign "yalign" "gfloat" t t)
+                        (ypad cell-renderer-ypad "ypad" "guint" t t)))
 
 (define-g-object-class "GtkCellRendererPixbuf" cell-renderer-pixbuf
                        (:superclass cell-renderer :export t :interfaces nil
                         :type-initializer "gtk_cell_renderer_pixbuf_get_type")
-                       ((pixbuf cell-renderer-pixbuf-pixbuf "pixbuf"
+                       ((follow-state cell-renderer-pixbuf-follow-state
+                         "follow-state" "gboolean" t t)
+                        (gicon cell-renderer-pixbuf-gicon "gicon" "GIcon" t t)
+                        (icon-name cell-renderer-pixbuf-icon-name "icon-name"
+                         "gchararray" t t)
+                        (pixbuf cell-renderer-pixbuf-pixbuf "pixbuf"
                          "GdkPixbuf" t t)
-                        (pixbuf-expander-open
-                         cell-renderer-pixbuf-pixbuf-expander-open
-                         "pixbuf-expander-open" "GdkPixbuf" t t)
                         (pixbuf-expander-closed
                          cell-renderer-pixbuf-pixbuf-expander-closed
                          "pixbuf-expander-closed" "GdkPixbuf" t t)
-                        (stock-id cell-renderer-pixbuf-stock-id "stock-id"
-                         "gchararray" t t)
-                        (stock-size cell-renderer-pixbuf-stock-size
-                         "stock-size" "guint" t t)
+                        (pixbuf-expander-open
+                         cell-renderer-pixbuf-pixbuf-expander-open
+                         "pixbuf-expander-open" "GdkPixbuf" t t)
                         (stock-detail cell-renderer-pixbuf-stock-detail
                          "stock-detail" "gchararray" t t)
-                        (follow-state cell-renderer-pixbuf-follow-state
-                         "follow-state" "gboolean" t t)
-                        (icon-name cell-renderer-pixbuf-icon-name "icon-name"
+                        (stock-id cell-renderer-pixbuf-stock-id "stock-id"
                          "gchararray" t t)
-                        (gicon cell-renderer-pixbuf-gicon "gicon" "GIcon" t t)))
+                        (stock-size cell-renderer-pixbuf-stock-size
+                         "stock-size" "guint" t t)))
 
 (define-g-object-class "GtkCellRendererProgress" cell-renderer-progress
                        (:superclass cell-renderer :export t :interfaces nil
                         :type-initializer
                         "gtk_cell_renderer_progress_get_type")
-                       ((value cell-renderer-progress-value "value" "gint" t t)
+                       ((orientation cell-renderer-progress-orientation
+                         "orientation" "GtkProgressBarOrientation" t t)
+                        (pulse cell-renderer-progress-pulse "pulse" "gint" t t)
                         (text cell-renderer-progress-text "text" "gchararray" t
                          t)
-                        (pulse cell-renderer-progress-pulse "pulse" "gint" t t)
                         (text-xalign cell-renderer-progress-text-xalign
                          "text-xalign" "gfloat" t t)
                         (text-yalign cell-renderer-progress-text-yalign
                          "text-yalign" "gfloat" t t)
-                        (orientation cell-renderer-progress-orientation
-                         "orientation" "GtkProgressBarOrientation" t t)))
+                        (value cell-renderer-progress-value "value" "gint" t
+                         t)))
 
 (define-g-object-class "GtkCellRendererText" cell-renderer-text
                        (:superclass cell-renderer :export t :interfaces nil
                         :type-initializer "gtk_cell_renderer_text_get_type")
-                       ((text cell-renderer-text-text "text" "gchararray" t t)
-                        (markup cell-renderer-text-markup "markup" "gchararray"
-                         nil t)
-                        (attributes cell-renderer-text-attributes "attributes"
-                         "PangoAttrList" t t)
-                        (single-paragraph-mode
-                         cell-renderer-text-single-paragraph-mode
-                         "single-paragraph-mode" "gboolean" t t)
-                        (width-chars cell-renderer-text-width-chars
-                         "width-chars" "gint" t t)
-                        (wrap-width cell-renderer-text-wrap-width "wrap-width"
-                         "gint" t t)
+                       ((align-set cell-renderer-text-align-set "align-set"
+                         "gboolean" t t)
                         (alignment cell-renderer-text-alignment "alignment"
                          "PangoAlignment" t t)
+                        (attributes cell-renderer-text-attributes "attributes"
+                         "PangoAttrList" t t)
                         (background cell-renderer-text-background "background"
                          "gchararray" nil t)
-                        (foreground cell-renderer-text-foreground "foreground"
-                         "gchararray" nil t)
                         (background-gdk cell-renderer-text-background-gdk
                          "background-gdk" "GdkColor" t t)
-                        (foreground-gdk cell-renderer-text-foreground-gdk
-                         "foreground-gdk" "GdkColor" t t)
-                        (font cell-renderer-text-font "font" "gchararray" t t)
-                        (font-desc cell-renderer-text-font-desc "font-desc"
-                         "PangoFontDescription" t t)
-                        (family cell-renderer-text-family "family" "gchararray"
-                         t t)
-                        (style cell-renderer-text-style "style" "PangoStyle" t
-                         t)
-                        (variant cell-renderer-text-variant "variant"
-                         "PangoVariant" t t)
-                        (weight cell-renderer-text-weight "weight" "gint" t t)
-                        (stretch cell-renderer-text-stretch "stretch"
-                         "PangoStretch" t t)
-                        (size cell-renderer-text-size "size" "gint" t t)
-                        (size-points cell-renderer-text-size-points
-                         "size-points" "gdouble" t t)
-                        (scale cell-renderer-text-scale "scale" "gdouble" t t)
+                        (background-set cell-renderer-text-background-set
+                         "background-set" "gboolean" t t)
                         (editable cell-renderer-text-editable "editable"
                          "gboolean" t t)
-                        (strikethrough cell-renderer-text-strikethrough
-                         "strikethrough" "gboolean" t t)
-                        (underline cell-renderer-text-underline "underline"
-                         "PangoUnderline" t t)
-                        (rise cell-renderer-text-rise "rise" "gint" t t)
-                        (language cell-renderer-text-language "language"
-                         "gchararray" t t)
+                        (editable-set cell-renderer-text-editable-set
+                         "editable-set" "gboolean" t t)
                         (ellipsize cell-renderer-text-ellipsize "ellipsize"
                          "PangoEllipsizeMode" t t)
-                        (wrap-mode cell-renderer-text-wrap-mode "wrap-mode"
-                         "PangoWrapMode" t t)
-                        (background-set cell-renderer-text-background-set
-                         "background-set" "gboolean" t t)
+                        (ellipsize-set cell-renderer-text-ellipsize-set
+                         "ellipsize-set" "gboolean" t t)
+                        (family cell-renderer-text-family "family" "gchararray"
+                         t t)
+                        (family-set cell-renderer-text-family-set "family-set"
+                         "gboolean" t t)
+                        (font cell-renderer-text-font "font" "gchararray" t t)
+                        (font-desc cell-renderer-text-font-desc "font-desc"
+                         "PangoFontDescription" t t)
+                        (foreground cell-renderer-text-foreground "foreground"
+                         "gchararray" nil t)
+                        (foreground-gdk cell-renderer-text-foreground-gdk
+                         "foreground-gdk" "GdkColor" t t)
                         (foreground-set cell-renderer-text-foreground-set
                          "foreground-set" "gboolean" t t)
-                        (family-set cell-renderer-text-family-set "family-set"
+                        (language cell-renderer-text-language "language"
+                         "gchararray" t t)
+                        (language-set cell-renderer-text-language-set
+                         "language-set" "gboolean" t t)
+                        (markup cell-renderer-text-markup "markup" "gchararray"
+                         nil t)
+                        (rise cell-renderer-text-rise "rise" "gint" t t)
+                        (rise-set cell-renderer-text-rise-set "rise-set"
                          "gboolean" t t)
-                        (style-set cell-renderer-text-style-set "style-set"
+                        (scale cell-renderer-text-scale "scale" "gdouble" t t)
+                        (scale-set cell-renderer-text-scale-set "scale-set"
                          "gboolean" t t)
-                        (variant-set cell-renderer-text-variant-set
-                         "variant-set" "gboolean" t t)
-                        (weight-set cell-renderer-text-weight-set "weight-set"
+                        (single-paragraph-mode
+                         cell-renderer-text-single-paragraph-mode
+                         "single-paragraph-mode" "gboolean" t t)
+                        (size cell-renderer-text-size "size" "gint" t t)
+                        (size-points cell-renderer-text-size-points
+                         "size-points" "gdouble" t t)
+                        (size-set cell-renderer-text-size-set "size-set"
                          "gboolean" t t)
+                        (stretch cell-renderer-text-stretch "stretch"
+                         "PangoStretch" t t)
                         (stretch-set cell-renderer-text-stretch-set
                          "stretch-set" "gboolean" t t)
-                        (size-set cell-renderer-text-size-set "size-set"
-                         "gboolean" t t)
-                        (scale-set cell-renderer-text-scale-set "scale-set"
-                         "gboolean" t t)
-                        (editable-set cell-renderer-text-editable-set
-                         "editable-set" "gboolean" t t)
+                        (strikethrough cell-renderer-text-strikethrough
+                         "strikethrough" "gboolean" t t)
                         (strikethrough-set cell-renderer-text-strikethrough-set
                          "strikethrough-set" "gboolean" t t)
+                        (style cell-renderer-text-style "style" "PangoStyle" t
+                         t)
+                        (style-set cell-renderer-text-style-set "style-set"
+                         "gboolean" t t)
+                        (text cell-renderer-text-text "text" "gchararray" t t)
+                        (underline cell-renderer-text-underline "underline"
+                         "PangoUnderline" t t)
                         (underline-set cell-renderer-text-underline-set
                          "underline-set" "gboolean" t t)
-                        (rise-set cell-renderer-text-rise-set "rise-set"
+                        (variant cell-renderer-text-variant "variant"
+                         "PangoVariant" t t)
+                        (variant-set cell-renderer-text-variant-set
+                         "variant-set" "gboolean" t t)
+                        (weight cell-renderer-text-weight "weight" "gint" t t)
+                        (weight-set cell-renderer-text-weight-set "weight-set"
                          "gboolean" t t)
-                        (language-set cell-renderer-text-language-set
-                         "language-set" "gboolean" t t)
-                        (ellipsize-set cell-renderer-text-ellipsize-set
-                         "ellipsize-set" "gboolean" t t)
-                        (align-set cell-renderer-text-align-set "align-set"
-                         "gboolean" t t)))
+                        (width-chars cell-renderer-text-width-chars
+                         "width-chars" "gint" t t)
+                        (wrap-mode cell-renderer-text-wrap-mode "wrap-mode"
+                         "PangoWrapMode" t t)
+                        (wrap-width cell-renderer-text-wrap-width "wrap-width"
+                         "gint" t t)))
 
 (define-g-object-class "GtkCellRendererAccel" cell-renderer-accel
                        (:superclass cell-renderer-text :export t :interfaces
                         "gtk_cell_renderer_accel_get_type")
                        ((accel-key cell-renderer-accel-accel-key "accel-key"
                          "guint" t t)
+                        (accel-mode cell-renderer-accel-accel-mode "accel-mode"
+                         "GtkCellRendererAccelMode" t t)
                         (accel-mods cell-renderer-accel-accel-mods "accel-mods"
                          "GdkModifierType" t t)
                         (keycode cell-renderer-accel-keycode "keycode" "guint"
-                         t t)
-                        (accel-mode cell-renderer-accel-accel-mode "accel-mode"
-                         "GtkCellRendererAccelMode" t t)))
+                         t t)))
 
 (define-g-object-class "GtkCellRendererCombo" cell-renderer-combo
                        (:superclass cell-renderer-text :export t :interfaces
                         nil :type-initializer
                         "gtk_cell_renderer_combo_get_type")
-                       ((model cell-renderer-combo-model "model" "GtkTreeModel"
+                       ((has-entry cell-renderer-combo-has-entry "has-entry"
+                         "gboolean" t t)
+                        (model cell-renderer-combo-model "model" "GtkTreeModel"
                          t t)
                         (text-column cell-renderer-combo-text-column
-                         "text-column" "gint" t t)
-                        (has-entry cell-renderer-combo-has-entry "has-entry"
-                         "gboolean" t t)))
+                         "text-column" "gint" t t)))
 
 (define-g-object-class "GtkCellRendererSpin" cell-renderer-spin
                        (:superclass cell-renderer-text :export t :interfaces
                          "activatable" "gboolean" t t)
                         (active cell-renderer-toggle-active "active" "gboolean"
                          t t)
-                        (radio cell-renderer-toggle-radio "radio" "gboolean" t
-                         t)
                         (inconsistent cell-renderer-toggle-inconsistent
                          "inconsistent" "gboolean" t t)
                         (indicator-size cell-renderer-toggle-indicator-size
-                         "indicator-size" "gint" t t)))
+                         "indicator-size" "gint" t t)
+                        (radio cell-renderer-toggle-radio "radio" "gboolean" t
+                         t)))
 
 (define-g-object-class "GtkFileFilter" file-filter
                        (:superclass gtk-object :export t :interfaces nil
                        (:superclass gtk-object :export t :interfaces
                         ("GtkBuildable" "GtkCellLayout") :type-initializer
                         "gtk_tree_view_column_get_type")
-                       ((visible tree-view-column-visible "visible" "gboolean"
-                         t t)
-                        (resizable tree-view-column-resizable "resizable"
+                       ((alignment tree-view-column-alignment "alignment"
+                         "gfloat" t t)
+                        (clickable tree-view-column-clickable "clickable"
                          "gboolean" t t)
-                        (width tree-view-column-width "width" "gint" t nil)
-                        (spacing tree-view-column-spacing "spacing" "gint" t t)
-                        (sizing tree-view-column-sizing "sizing"
-                         "GtkTreeViewColumnSizing" t t)
+                        (expand tree-view-column-expand "expand" "gboolean" t
+                         t)
                         (fixed-width tree-view-column-fixed-width "fixed-width"
                          "gint" t t)
-                        (min-width tree-view-column-min-width "min-width"
-                         "gint" t t)
                         (max-width tree-view-column-max-width "max-width"
                          "gint" t t)
-                        (title tree-view-column-title "title" "gchararray" t t)
-                        (expand tree-view-column-expand "expand" "gboolean" t
-                         t)
-                        (clickable tree-view-column-clickable "clickable"
-                         "gboolean" t t)
-                        (widget tree-view-column-widget "widget" "GtkWidget" t
-                         t)
-                        (alignment tree-view-column-alignment "alignment"
-                         "gfloat" t t)
+                        (min-width tree-view-column-min-width "min-width"
+                         "gint" t t)
                         (reorderable tree-view-column-reorderable "reorderable"
                          "gboolean" t t)
+                        (resizable tree-view-column-resizable "resizable"
+                         "gboolean" t t)
+                        (sizing tree-view-column-sizing "sizing"
+                         "GtkTreeViewColumnSizing" t t)
                         (sort-indicator tree-view-column-sort-indicator
                          "sort-indicator" "gboolean" t t)
                         (sort-order tree-view-column-sort-order "sort-order"
                          "GtkSortType" t t)
+                        (spacing tree-view-column-spacing "spacing" "gint" t t)
+                        (title tree-view-column-title "title" "gchararray" t t)
+                        (visible tree-view-column-visible "visible" "gboolean"
+                         t t)
+                        (widget tree-view-column-widget "widget" "GtkWidget" t
+                         t)
+                        (width tree-view-column-width "width" "gint" t nil)
                         (:cffi tree-view tree-view-column-tree-view g-object
                          "gtk_tree_view_column_get_tree_view" nil)
                         (:cffi sort-column-id tree-view-column-sort-column-id
                        (:superclass gtk-object :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable")
                         :type-initializer "gtk_widget_get_type")
-                       ((name widget-name "name" "gchararray" t t)
-                        (parent widget-parent "parent" "GtkContainer" t t)
-                        (width-request widget-width-request "width-request"
-                         "gint" t t)
-                        (height-request widget-height-request "height-request"
-                         "gint" t t)
-                        (visible widget-visible "visible" "gboolean" t t)
-                        (sensitive widget-sensitive "sensitive" "gboolean" t t)
-                        (app-paintable widget-app-paintable "app-paintable"
+                       ((app-paintable widget-app-paintable "app-paintable"
                          "gboolean" t t)
-                        (can-focus widget-can-focus "can-focus" "gboolean" t t)
-                        (has-focus widget-has-focus "has-focus" "gboolean" t t)
-                        (is-focus widget-is-focus "is-focus" "gboolean" t t)
                         (can-default widget-can-default "can-default"
                          "gboolean" t t)
-                        (has-default widget-has-default "has-default"
-                         "gboolean" t t)
-                        (receives-default widget-receives-default
-                         "receives-default" "gboolean" t t)
+                        (can-focus widget-can-focus "can-focus" "gboolean" t t)
                         (composite-child widget-composite-child
                          "composite-child" "gboolean" t nil)
-                        (style widget-style "style" "GtkStyle" t t)
                         (events widget-events "events" "GdkEventMask" t t)
                         (extension-events widget-extension-events
                          "extension-events" "GdkExtensionMode" t t)
-                        (no-show-all widget-no-show-all "no-show-all"
+                        (has-default widget-has-default "has-default"
                          "gboolean" t t)
+                        (has-focus widget-has-focus "has-focus" "gboolean" t t)
                         (has-tooltip widget-has-tooltip "has-tooltip"
                          "gboolean" t t)
+                        (height-request widget-height-request "height-request"
+                         "gint" t t)
+                        (is-focus widget-is-focus "is-focus" "gboolean" t t)
+                        (name widget-name "name" "gchararray" t t)
+                        (no-show-all widget-no-show-all "no-show-all"
+                         "gboolean" t t)
+                        (parent widget-parent "parent" "GtkContainer" t t)
+                        (receives-default widget-receives-default
+                         "receives-default" "gboolean" t t)
+                        (sensitive widget-sensitive "sensitive" "gboolean" t t)
+                        (style widget-style "style" "GtkStyle" t t)
                         (tooltip-markup widget-tooltip-markup "tooltip-markup"
                          "gchararray" t t)
                         (tooltip-text widget-tooltip-text "tooltip-text"
                          "gchararray" t t)
+                        (visible widget-visible "visible" "gboolean" t t)
+                        (width-request widget-width-request "width-request"
+                         "gint" t t)
                         (window widget-window "window" "GdkWindow" t nil)
                         (:cffi direction widget-direction text-direction
                          "gtk_widget_get_direction" "gtk_widget_set_direction")
                        (:superclass widget :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable")
                         :type-initializer "gtk_calendar_get_type")
-                       ((year calendar-year "year" "gint" t t)
+                       ((day calendar-day "day" "gint" t t)
+                        (detail-height-rows calendar-detail-height-rows
+                         "detail-height-rows" "gint" t t)
+                        (detail-width-chars calendar-detail-width-chars
+                         "detail-width-chars" "gint" t t)
                         (month calendar-month "month" "gint" t t)
-                        (day calendar-day "day" "gint" t t)
-                        (show-heading calendar-show-heading "show-heading"
-                         "gboolean" t t)
-                        (show-day-names calendar-show-day-names
-                         "show-day-names" "gboolean" t t)
                         (no-month-change calendar-no-month-change
                          "no-month-change" "gboolean" t t)
-                        (show-week-numbers calendar-show-week-numbers
-                         "show-week-numbers" "gboolean" t t)
+                        (show-day-names calendar-show-day-names
+                         "show-day-names" "gboolean" t t)
                         (show-details calendar-show-details "show-details"
                          "gboolean" t t)
-                        (detail-width-chars calendar-detail-width-chars
-                         "detail-width-chars" "gint" t t)
-                        (detail-height-rows calendar-detail-height-rows
-                         "detail-height-rows" "gint" t t)
+                        (show-heading calendar-show-heading "show-heading"
+                         "gboolean" t t)
+                        (show-week-numbers calendar-show-week-numbers
+                         "show-week-numbers" "gboolean" t t)
+                        (year calendar-year "year" "gint" t t)
                         (:cffi detail-function calendar-detail-function nil nil
                          calendar-set-detail-function)))
 
                         :type-initializer "gtk_container_get_type")
                        ((border-width container-border-width "border-width"
                          "guint" t t)
+                        (child container-child "child" "GtkWidget" nil t)
                         (resize-mode container-resize-mode "resize-mode"
                          "GtkResizeMode" t t)
-                        (child container-child "child" "GtkWidget" nil t)
                         (:cffi focus-child container-focus-child g-object
                          "gtk_container_get_focus_child"
                          "gtk_container_set_focus_child")
                        (:superclass bin :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable")
                         :type-initializer "gtk_alignment_get_type")
-                       ((xalign alignment-xalign "xalign" "gfloat" t t)
-                        (yalign alignment-yalign "yalign" "gfloat" t t)
-                        (xscale alignment-xscale "xscale" "gfloat" t t)
-                        (yscale alignment-yscale "yscale" "gfloat" t t)
-                        (top-padding alignment-top-padding "top-padding"
-                         "guint" t t)
-                        (bottom-padding alignment-bottom-padding
+                       ((bottom-padding alignment-bottom-padding
                          "bottom-padding" "guint" t t)
                         (left-padding alignment-left-padding "left-padding"
                          "guint" t t)
                         (right-padding alignment-right-padding "right-padding"
-                         "guint" t t)))
+                         "guint" t t)
+                        (top-padding alignment-top-padding "top-padding"
+                         "guint" t t)
+                        (xalign alignment-xalign "xalign" "gfloat" t t)
+                        (xscale alignment-xscale "xscale" "gfloat" t t)
+                        (yalign alignment-yalign "yalign" "gfloat" t t)
+                        (yscale alignment-yscale "yscale" "gfloat" t t)))
 
 (define-g-object-class "GtkButton" button
                        (:superclass bin :export t :interfaces
                         ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_button_get_type")
-                       ((label button-label "label" "gchararray" t t)
+                       ((focus-on-click button-focus-on-click "focus-on-click"
+                         "gboolean" t t)
                         (image button-image "image" "GtkWidget" t t)
+                        (image-position button-image-position "image-position"
+                         "GtkPositionType" t t)
+                        (label button-label "label" "gchararray" t t)
                         (relief button-relief "relief" "GtkReliefStyle" t t)
-                        (use-underline button-use-underline "use-underline"
-                         "gboolean" t t)
                         (use-stock button-use-stock "use-stock" "gboolean" t t)
-                        (focus-on-click button-focus-on-click "focus-on-click"
+                        (use-underline button-use-underline "use-underline"
                          "gboolean" t t)
                         (xalign button-xalign "xalign" "gfloat" t t)
-                        (yalign button-yalign "yalign" "gfloat" t t)
-                        (image-position button-image-position "image-position"
-                         "GtkPositionType" t t)))
+                        (yalign button-yalign "yalign" "gfloat" t t)))
 
 (define-g-object-class "GtkColorButton" color-button
                        (:superclass button :export t :interfaces
                         ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_color_button_get_type")
-                       ((use-alpha color-button-use-alpha "use-alpha"
-                         "gboolean" t t)
-                        (title color-button-title "title" "gchararray" t t)
+                       ((alpha color-button-alpha "alpha" "guint" t t)
                         (color color-button-color "color" "GdkColor" t t)
-                        (alpha color-button-alpha "alpha" "guint" t t)))
+                        (title color-button-title "title" "gchararray" t t)
+                        (use-alpha color-button-use-alpha "use-alpha"
+                         "gboolean" t t)))
 
 (define-g-object-class "GtkFontButton" font-button
                        (:superclass button :export t :interfaces
                         ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_font_button_get_type")
-                       ((title font-button-title "title" "gchararray" t t)
-                        (font-name font-button-font-name "font-name"
+                       ((font-name font-button-font-name "font-name"
                          "gchararray" t t)
+                        (show-size font-button-show-size "show-size" "gboolean"
+                         t t)
+                        (show-style font-button-show-style "show-style"
+                         "gboolean" t t)
+                        (title font-button-title "title" "gchararray" t t)
                         (use-font font-button-use-font "use-font" "gboolean" t
                          t)
                         (use-size font-button-use-size "use-size" "gboolean" t
-                         t)
-                        (show-style font-button-show-style "show-style"
-                         "gboolean" t t)
-                        (show-size font-button-show-size "show-size" "gboolean"
-                         t t)))
+                         t)))
 
 (define-g-object-class "GtkLinkButton" link-button
                        (:superclass button :export t :interfaces
                         ("AtkImplementorIface" "GtkActivatable" "GtkBuildable"
                          "GtkOrientable")
                         :type-initializer "gtk_scale_button_get_type")
-                       ((value scale-button-value "value" "gdouble" t t)
-                        (size scale-button-size "size" "GtkIconSize" t t)
-                        (adjustment scale-button-adjustment "adjustment"
+                       ((adjustment scale-button-adjustment "adjustment"
                          "GtkAdjustment" t t)
-                        (icons scale-button-icons "icons" "GStrv" t t)))
+                        (icons scale-button-icons "icons" "GStrv" t t)
+                        (size scale-button-size "size" "GtkIconSize" t t)
+                        (value scale-button-value "value" "gdouble" t t)))
 
 (define-g-object-class "GtkVolumeButton" volume-button
                        (:superclass scale-button :export t :interfaces
                         ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_toggle_button_get_type")
                        ((active toggle-button-active "active" "gboolean" t t)
-                        (inconsistent toggle-button-inconsistent "inconsistent"
-                         "gboolean" t t)
                         (draw-indicator toggle-button-draw-indicator
-                         "draw-indicator" "gboolean" t t)))
+                         "draw-indicator" "gboolean" t t)
+                        (inconsistent toggle-button-inconsistent "inconsistent"
+                         "gboolean" t t)))
 
 (define-g-object-class "GtkCheckButton" check-button
                        (:superclass toggle-button :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable" "GtkCellEditable"
                          "GtkCellLayout")
                         :type-initializer "gtk_combo_box_get_type")
-                       ((model combo-box-model "model" "GtkTreeModel" t t)
-                        (wrap-width combo-box-wrap-width "wrap-width" "gint" t
-                         t)
-                        (row-span-column combo-box-row-span-column
-                         "row-span-column" "gint" t t)
-                        (column-span-column combo-box-column-span-column
-                         "column-span-column" "gint" t t)
-                        (active combo-box-active "active" "gint" t t)
+                       ((active combo-box-active "active" "gint" t t)
                         (add-tearoffs combo-box-add-tearoffs "add-tearoffs"
                          "gboolean" t t)
-                        (tearoff-title combo-box-tearoff-title "tearoff-title"
-                         "gchararray" t t)
-                        (has-frame combo-box-has-frame "has-frame" "gboolean" t
-                         t)
+                        (button-sensitivity combo-box-button-sensitivity
+                         "button-sensitivity" "GtkSensitivityType" t t)
+                        (column-span-column combo-box-column-span-column
+                         "column-span-column" "gint" t t)
                         (focus-on-click combo-box-focus-on-click
                          "focus-on-click" "gboolean" t t)
+                        (has-frame combo-box-has-frame "has-frame" "gboolean" t
+                         t)
+                        (model combo-box-model "model" "GtkTreeModel" t t)
                         (popup-shown combo-box-popup-shown "popup-shown"
                          "gboolean" t nil)
-                        (button-sensitivity combo-box-button-sensitivity
-                         "button-sensitivity" "GtkSensitivityType" t t)
+                        (row-span-column combo-box-row-span-column
+                         "row-span-column" "gint" t t)
+                        (tearoff-title combo-box-tearoff-title "tearoff-title"
+                         "gchararray" t t)
+                        (wrap-width combo-box-wrap-width "wrap-width" "gint" t
+                         t)
                         (:cffi active-iter combo-box-active-iter
                          (g-boxed-foreign tree-iter) combo-box-get-active-iter
                          "gtk_combo_box_set_active_iter")
                        (:superclass bin :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable")
                         :type-initializer "gtk_event_box_get_type")
-                       ((visible-window event-box-visible-window
-                         "visible-window" "gboolean" t t)
-                        (above-child event-box-above-child "above-child"
-                         "gboolean" t t)))
+                       ((above-child event-box-above-child "above-child"
+                         "gboolean" t t)
+                        (visible-window event-box-visible-window
+                         "visible-window" "gboolean" t t)))
 
 (define-g-object-class "GtkExpander" expander
                        (:superclass bin :export t :interfaces
                         :type-initializer "gtk_expander_get_type")
                        ((expanded expander-expanded "expanded" "gboolean" t t)
                         (label expander-label "label" "gchararray" t t)
-                        (use-underline expander-use-underline "use-underline"
-                         "gboolean" t t)
+                        (label-widget expander-label-widget "label-widget"
+                         "GtkWidget" t t)
+                        (spacing expander-spacing "spacing" "gint" t t)
                         (use-markup expander-use-markup "use-markup" "gboolean"
                          t t)
-                        (spacing expander-spacing "spacing" "gint" t t)
-                        (label-widget expander-label-widget "label-widget"
-                         "GtkWidget" t t)))
+                        (use-underline expander-use-underline "use-underline"
+                         "gboolean" t t)))
 
 (define-g-object-class "GtkFrame" frame
                        (:superclass bin :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable")
                         :type-initializer "gtk_frame_get_type")
                        ((label frame-label "label" "gchararray" t t)
+                        (label-widget frame-label-widget "label-widget"
+                         "GtkWidget" t t)
                         (label-xalign frame-label-xalign "label-xalign"
                          "gfloat" t t)
                         (label-yalign frame-label-yalign "label-yalign"
                          "gfloat" t t)
                         (shadow frame-shadow "shadow" "GtkShadowType" t t)
                         (shadow-type frame-shadow-type "shadow-type"
-                         "GtkShadowType" t t)
-                        (label-widget frame-label-widget "label-widget"
-                         "GtkWidget" t t)))
+                         "GtkShadowType" t t)))
 
 (define-g-object-class "GtkAspectFrame" aspect-frame
                        (:superclass frame :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable")
                         :type-initializer "gtk_aspect_frame_get_type")
-                       ((xalign aspect-frame-xalign "xalign" "gfloat" t t)
-                        (yalign aspect-frame-yalign "yalign" "gfloat" t t)
+                       ((obey-child aspect-frame-obey-child "obey-child"
+                         "gboolean" t t)
                         (ratio aspect-frame-ratio "ratio" "gfloat" t t)
-                        (obey-child aspect-frame-obey-child "obey-child"
-                         "gboolean" t t)))
+                        (xalign aspect-frame-xalign "xalign" "gfloat" t t)
+                        (yalign aspect-frame-yalign "yalign" "gfloat" t t)))
 
 (define-g-object-class "GtkHandleBox" handle-box
                        (:superclass bin :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable")
                         :type-initializer "gtk_handle_box_get_type")
-                       ((shadow handle-box-shadow "shadow" "GtkShadowType" t t)
-                        (shadow-type handle-box-shadow-type "shadow-type"
-                         "GtkShadowType" t t)
+                       ((child-detached handle-box-child-detached
+                         "child-detached" "gboolean" t nil)
                         (handle-position handle-box-handle-position
                          "handle-position" "GtkPositionType" t t)
+                        (shadow handle-box-shadow "shadow" "GtkShadowType" t t)
+                        (shadow-type handle-box-shadow-type "shadow-type"
+                         "GtkShadowType" t t)
                         (snap-edge handle-box-snap-edge "snap-edge"
                          "GtkPositionType" t t)
                         (snap-edge-set handle-box-snap-edge-set "snap-edge-set"
-                         "gboolean" t t)
-                        (child-detached handle-box-child-detached
-                         "child-detached" "gboolean" t nil)))
+                         "gboolean" t t)))
 
 (define-g-object-class "GtkItem" item
                        (:superclass bin :export t :interfaces
                        (:superclass item :export t :interfaces
                         ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_menu_item_get_type")
-                       ((right-justified menu-item-right-justified
-                         "right-justified" "gboolean" t t)
-                        (submenu menu-item-submenu "submenu" "GtkMenu" t t)
-                        (accel-path menu-item-accel-path "accel-path"
+                       ((accel-path menu-item-accel-path "accel-path"
                          "gchararray" t t)
                         (label menu-item-label "label" "gchararray" t t)
+                        (right-justified menu-item-right-justified
+                         "right-justified" "gboolean" t t)
+                        (submenu menu-item-submenu "submenu" "GtkMenu" t t)
                         (use-underline menu-item-use-underline "use-underline"
                          "gboolean" t t)))
 
                         ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_check_menu_item_get_type")
                        ((active check-menu-item-active "active" "gboolean" t t)
-                        (inconsistent check-menu-item-inconsistent
-                         "inconsistent" "gboolean" t t)
                         (draw-as-radio check-menu-item-draw-as-radio
-                         "draw-as-radio" "gboolean" t t)))
+                         "draw-as-radio" "gboolean" t t)
+                        (inconsistent check-menu-item-inconsistent
+                         "inconsistent" "gboolean" t t)))
 
 (define-g-object-class "GtkRadioMenuItem" radio-menu-item
                        (:superclass check-menu-item :export t :interfaces
                        (:superclass menu-item :export t :interfaces
                         ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_image_menu_item_get_type")
-                       ((image image-menu-item-image "image" "GtkWidget" t t)
-                        (use-stock image-menu-item-use-stock "use-stock"
-                         "gboolean" t t)
-                        (accel-group image-menu-item-accel-group "accel-group"
+                       ((accel-group image-menu-item-accel-group "accel-group"
                          "GtkAccelGroup" nil t)
                         (always-show-image image-menu-item-always-show-image
-                         "always-show-image" "gboolean" t t)))
+                         "always-show-image" "gboolean" t t)
+                        (image image-menu-item-image "image" "GtkWidget" t t)
+                        (use-stock image-menu-item-use-stock "use-stock"
+                         "gboolean" t t)))
 
 (define-g-object-class "GtkSeparatorMenuItem" separator-menu-item
                        (:superclass menu-item :export t :interfaces
                         :type-initializer "gtk_scrolled_window_get_type")
                        ((hadjustment scrolled-window-hadjustment "hadjustment"
                          "GtkAdjustment" t t)
-                        (vadjustment scrolled-window-vadjustment "vadjustment"
-                         "GtkAdjustment" t t)
                         (hscrollbar-policy scrolled-window-hscrollbar-policy
                          "hscrollbar-policy" "GtkPolicyType" t t)
+                        (shadow-type scrolled-window-shadow-type "shadow-type"
+                         "GtkShadowType" t t)
+                        (vadjustment scrolled-window-vadjustment "vadjustment"
+                         "GtkAdjustment" t t)
                         (vscrollbar-policy scrolled-window-vscrollbar-policy
                          "vscrollbar-policy" "GtkPolicyType" t t)
                         (window-placement scrolled-window-window-placement
                          "window-placement" "GtkCornerType" t t)
                         (window-placement-set
                          scrolled-window-window-placement-set
-                         "window-placement-set" "gboolean" t t)
-                        (shadow-type scrolled-window-shadow-type "shadow-type"
-                         "GtkShadowType" t t)))
+                         "window-placement-set" "gboolean" t t)))
 
 (define-g-object-class "GtkToolItem" tool-item
                        (:superclass bin :export t :interfaces
                         ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_tool_item_get_type")
-                       ((visible-horizontal tool-item-visible-horizontal
+                       ((is-important tool-item-is-important "is-important"
+                         "gboolean" t t)
+                        (visible-horizontal tool-item-visible-horizontal
                          "visible-horizontal" "gboolean" t t)
                         (visible-vertical tool-item-visible-vertical
                          "visible-vertical" "gboolean" t t)
-                        (is-important tool-item-is-important "is-important"
-                         "gboolean" t t)
                         (:cffi expand tool-item-expand :boolean
                          "gtk_tool_item_get_expand" "gtk_tool_item_set_expand")
                         (:cffi use-drag-window tool-item-use-drag-window
                        (:superclass tool-item :export t :interfaces
                         ("AtkImplementorIface" "GtkActivatable" "GtkBuildable")
                         :type-initializer "gtk_tool_button_get_type")
-                       ((label tool-button-label "label" "gchararray" t t)
-                        (use-underline tool-button-use-underline
-                         "use-underline" "gboolean" t t)
+                       ((icon-name tool-button-icon-name "icon-name"
+                         "gchararray" t t)
+                        (icon-widget tool-button-icon-widget "icon-widget"
+                         "GtkWidget" t t)
+                        (label tool-button-label "label" "gchararray" t t)
                         (label-widget tool-button-label-widget "label-widget"
                          "GtkWidget" t t)
                         (stock-id tool-button-stock-id "stock-id" "gchararray"
                          t t)
-                        (icon-name tool-button-icon-name "icon-name"
-                         "gchararray" t t)
-                        (icon-widget tool-button-icon-widget "icon-widget"
-                         "GtkWidget" t t)))
+                        (use-underline tool-button-use-underline
+                         "use-underline" "gboolean" t t)))
 
 (define-g-object-class "GtkMenuToolButton" menu-tool-button
                        (:superclass tool-button :export t :interfaces
                         :type-initializer "gtk_viewport_get_type")
                        ((hadjustment viewport-hadjustment "hadjustment"
                          "GtkAdjustment" t t)
-                        (vadjustment viewport-vadjustment "vadjustment"
-                         "GtkAdjustment" t t)
                         (shadow-type viewport-shadow-type "shadow-type"
-                         "GtkShadowType" t t)))
+                         "GtkShadowType" t t)
+                        (vadjustment viewport-vadjustment "vadjustment"
+                         "GtkAdjustment" t t)))
 
 (define-g-object-class "GtkWindow" gtk-window
                        (:superclass bin :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable")
                         :type-initializer "gtk_window_get_type")
-                       ((type gtk-window-type "type" "GtkWindowType" t nil)
-                        (title gtk-window-title "title" "gchararray" t t)
-                        (role gtk-window-role "role" "gchararray" t t)
-                        (startup-id gtk-window-startup-id "startup-id"
-                         "gchararray" nil t)
-                        (allow-shrink gtk-window-allow-shrink "allow-shrink"
+                       ((accept-focus gtk-window-accept-focus "accept-focus"
                          "gboolean" t t)
                         (allow-grow gtk-window-allow-grow "allow-grow"
                          "gboolean" t t)
-                        (resizable gtk-window-resizable "resizable" "gboolean"
+                        (allow-shrink gtk-window-allow-shrink "allow-shrink"
+                         "gboolean" t t)
+                        (decorated gtk-window-decorated "decorated" "gboolean"
                          t t)
-                        (modal gtk-window-modal "modal" "gboolean" t t)
-                        (window-position gtk-window-window-position
-                         "window-position" "GtkWindowPosition" t t)
-                        (default-width gtk-window-default-width "default-width"
-                         "gint" t t)
                         (default-height gtk-window-default-height
                          "default-height" "gint" t t)
+                        (default-width gtk-window-default-width "default-width"
+                         "gint" t t)
+                        (deletable gtk-window-deletable "deletable" "gboolean"
+                         t t)
                         (destroy-with-parent gtk-window-destroy-with-parent
                          "destroy-with-parent" "gboolean" t t)
+                        (focus-on-map gtk-window-focus-on-map "focus-on-map"
+                         "gboolean" t t)
+                        (gravity gtk-window-gravity "gravity" "GdkGravity" t t)
+                        (has-toplevel-focus gtk-window-has-toplevel-focus
+                         "has-toplevel-focus" "gboolean" t nil)
                         (icon gtk-window-icon "icon" "GdkPixbuf" t t)
                         (icon-name gtk-window-icon-name "icon-name"
                          "gchararray" t t)
+                        (is-active gtk-window-is-active "is-active" "gboolean"
+                         t nil)
+                        (modal gtk-window-modal "modal" "gboolean" t t)
+                        (opacity gtk-window-opacity "opacity" "gdouble" t t)
+                        (resizable gtk-window-resizable "resizable" "gboolean"
+                         t t)
+                        (role gtk-window-role "role" "gchararray" t t)
                         (screen gtk-window-screen "screen" "GdkScreen" t t)
-                        (type-hint gtk-window-type-hint "type-hint"
-                         "GdkWindowTypeHint" t t)
-                        (skip-taskbar-hint gtk-window-skip-taskbar-hint
-                         "skip-taskbar-hint" "gboolean" t t)
                         (skip-pager-hint gtk-window-skip-pager-hint
                          "skip-pager-hint" "gboolean" t t)
-                        (urgency-hint gtk-window-urgency-hint "urgency-hint"
-                         "gboolean" t t)
-                        (accept-focus gtk-window-accept-focus "accept-focus"
-                         "gboolean" t t)
-                        (focus-on-map gtk-window-focus-on-map "focus-on-map"
-                         "gboolean" t t)
-                        (decorated gtk-window-decorated "decorated" "gboolean"
-                         t t)
-                        (deletable gtk-window-deletable "deletable" "gboolean"
-                         t t)
-                        (gravity gtk-window-gravity "gravity" "GdkGravity" t t)
+                        (skip-taskbar-hint gtk-window-skip-taskbar-hint
+                         "skip-taskbar-hint" "gboolean" t t)
+                        (startup-id gtk-window-startup-id "startup-id"
+                         "gchararray" nil t)
+                        (title gtk-window-title "title" "gchararray" t t)
                         (transient-for gtk-window-transient-for "transient-for"
                          "GtkWindow" t t)
-                        (opacity gtk-window-opacity "opacity" "gdouble" t t)
-                        (is-active gtk-window-is-active "is-active" "gboolean"
-                         t nil)
-                        (has-toplevel-focus gtk-window-has-toplevel-focus
-                         "has-toplevel-focus" "gboolean" t nil)))
+                        (type gtk-window-type "type" "GtkWindowType" t nil)
+                        (type-hint gtk-window-type-hint "type-hint"
+                         "GdkWindowTypeHint" t t)
+                        (urgency-hint gtk-window-urgency-hint "urgency-hint"
+                         "gboolean" t t)
+                        (window-position gtk-window-window-position
+                         "window-position" "GtkWindowPosition" t t)
+                        (:cffi default-widget window-default-widget
+                         (g-object widget) "gtk_window_get_default_widget"
+                         "gtk_window_set_default")
+                        (:cffi focus window-focus (g-object widget)
+                         "gtk_window_get_focus" "gtk_window_set_focus")))
 
 (define-g-object-class "GtkAssistant" assistant
                        (:superclass gtk-window :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable")
                         :type-initializer "gtk_dialog_get_type")
                        ((has-separator dialog-has-separator "has-separator"
-                         "gboolean" t t)))
+                         "gboolean" t t)
+                        (:cffi content-area dialog-content-area
+                         (g-object v-box) "gtk_dialog_get_content_area" nil)
+                        (:cffi action-area dialog-action-area (g-object widget)
+                         "gtk_dialog_get_action_area" nil)
+                        (:cffi default-response dialog-default-response
+                         response-type nil "gtk_dialog_set_default_response")))
 
 (define-g-object-class "GtkAboutDialog" about-dialog
                        (:superclass dialog :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable")
                         :type-initializer "gtk_about_dialog_get_type")
-                       ((program-name about-dialog-program-name "program-name"
-                         "gchararray" t t)
-                        (version about-dialog-version "version" "gchararray" t
-                         t)
-                        (copyright about-dialog-copyright "copyright"
-                         "gchararray" t t)
+                       ((artists about-dialog-artists "artists" "GStrv" t t)
+                        (authors about-dialog-authors "authors" "GStrv" t t)
                         (comments about-dialog-comments "comments" "gchararray"
                          t t)
-                        (website about-dialog-website "website" "gchararray" t
-                         t)
-                        (website-label about-dialog-website-label
-                         "website-label" "gchararray" t t)
-                        (license about-dialog-license "license" "gchararray" t
-                         t)
-                        (authors about-dialog-authors "authors" "GStrv" t t)
+                        (copyright about-dialog-copyright "copyright"
+                         "gchararray" t t)
                         (documenters about-dialog-documenters "documenters"
                          "GStrv" t t)
-                        (translator-credits about-dialog-translator-credits
-                         "translator-credits" "gchararray" t t)
-                        (artists about-dialog-artists "artists" "GStrv" t t)
+                        (license about-dialog-license "license" "gchararray" t
+                         t)
                         (logo about-dialog-logo "logo" "GdkPixbuf" t t)
                         (logo-icon-name about-dialog-logo-icon-name
                          "logo-icon-name" "gchararray" t t)
+                        (program-name about-dialog-program-name "program-name"
+                         "gchararray" t t)
+                        (translator-credits about-dialog-translator-credits
+                         "translator-credits" "gchararray" t t)
+                        (version about-dialog-version "version" "gchararray" t
+                         t)
+                        (website about-dialog-website "website" "gchararray" t
+                         t)
+                        (website-label about-dialog-website-label
+                         "website-label" "gchararray" t t)
                         (wrap-license about-dialog-wrap-license "wrap-license"
                          "gboolean" t t)))
 
                         ("AtkImplementorIface" "GtkBuildable")
                         :type-initializer
                         "gtk_color_selection_dialog_get_type")
-                       ((color-selection color-selection-dialog-color-selection
-                         "color-selection" "GtkWidget" t nil)
-                        (ok-button color-selection-dialog-ok-button "ok-button"
-                         "GtkWidget" t nil)
-                        (cancel-button color-selection-dialog-cancel-button
+                       ((cancel-button color-selection-dialog-cancel-button
                          "cancel-button" "GtkWidget" t nil)
+                        (color-selection color-selection-dialog-color-selection
+                         "color-selection" "GtkWidget" t nil)
                         (help-button color-selection-dialog-help-button
-                         "help-button" "GtkWidget" t nil)))
+                         "help-button" "GtkWidget" t nil)
+                        (ok-button color-selection-dialog-ok-button "ok-button"
+                         "GtkWidget" t nil)))
 
 (define-g-object-class "GtkFileChooserDialog" file-chooser-dialog
                        (:superclass dialog :export t :interfaces
                        (:superclass dialog :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable")
                         :type-initializer "gtk_message_dialog_get_type")
-                       ((message-type message-dialog-message-type
-                         "message-type" "GtkMessageType" t t)
-                        (buttons message-dialog-buttons "buttons"
+                       ((buttons message-dialog-buttons "buttons"
                          "GtkButtonsType" nil nil)
-                        (text message-dialog-text "text" "gchararray" t t)
-                        (use-markup message-dialog-use-markup "use-markup"
-                         "gboolean" t t)
+                        (image message-dialog-image "image" "GtkWidget" t t)
+                        (message-type message-dialog-message-type
+                         "message-type" "GtkMessageType" t t)
                         (secondary-text message-dialog-secondary-text
                          "secondary-text" "gchararray" t t)
                         (secondary-use-markup
                          message-dialog-secondary-use-markup
                          "secondary-use-markup" "gboolean" t t)
-                        (image message-dialog-image "image" "GtkWidget" t t)))
+                        (text message-dialog-text "text" "gchararray" t t)
+                        (use-markup message-dialog-use-markup "use-markup"
+                         "gboolean" t t)))
 
 (define-g-object-class "GtkRecentChooserDialog" recent-chooser-dialog
                        (:superclass dialog :export t :interfaces
                        (:superclass container :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_box_get_type")
-                       ((spacing box-spacing "spacing" "gint" t t)
-                        (homogeneous box-homogeneous "homogeneous" "gboolean" t
-                         t)))
+                       ((homogeneous box-homogeneous "homogeneous" "gboolean" t
+                         t)
+                        (spacing box-spacing "spacing" "gint" t t)))
 
 (define-g-object-class "GtkButtonBox" button-box
                        (:superclass box :export t :interfaces
                        (:superclass v-box :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_color_selection_get_type")
-                       ((has-palette color-selection-has-palette "has-palette"
-                         "gboolean" t t)
+                       ((current-alpha color-selection-current-alpha
+                         "current-alpha" "guint" t t)
+                        (current-color color-selection-current-color
+                         "current-color" "GdkColor" t t)
                         (has-opacity-control
                          color-selection-has-opacity-control
                          "has-opacity-control" "gboolean" t t)
-                        (current-color color-selection-current-color
-                         "current-color" "GdkColor" t t)
-                        (current-alpha color-selection-current-alpha
-                         "current-alpha" "guint" t t)))
+                        (has-palette color-selection-has-palette "has-palette"
+                         "gboolean" t t)))
 
 (define-g-object-class "GtkFileChooserWidget" file-chooser-widget
                        (:superclass v-box :export t :interfaces
                        (:superclass v-box :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_font_selection_get_type")
-                       ((font-name font-selection-font-name "font-name"
+                       ((font font-selection-font "font" "GdkFont" t nil)
+                        (font-name font-selection-font-name "font-name"
                          "gchararray" t t)
-                        (font font-selection-font "font" "GdkFont" t nil)
                         (preview-text font-selection-preview-text
                          "preview-text" "gchararray" t t)))
 
                        (:superclass container :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable" "GtkCellLayout")
                         :type-initializer "gtk_icon_view_get_type")
-                       ((pixbuf-column icon-view-pixbuf-column "pixbuf-column"
-                         "gint" t t)
-                        (text-column icon-view-text-column "text-column" "gint"
-                         t t)
+                       ((column-spacing icon-view-column-spacing
+                         "column-spacing" "gint" t t)
+                        (columns icon-view-columns "columns" "gint" t t)
+                        (item-width icon-view-item-width "item-width" "gint" t
+                         t)
+                        (margin icon-view-margin "margin" "gint" t t)
                         (markup-column icon-view-markup-column "markup-column"
                          "gint" t t)
-                        (selection-mode icon-view-selection-mode
-                         "selection-mode" "GtkSelectionMode" t t)
+                        (model icon-view-model "model" "GtkTreeModel" t t)
                         (orientation icon-view-orientation "orientation"
                          "GtkOrientation" t t)
-                        (model icon-view-model "model" "GtkTreeModel" t t)
-                        (columns icon-view-columns "columns" "gint" t t)
-                        (item-width icon-view-item-width "item-width" "gint" t
-                         t)
-                        (spacing icon-view-spacing "spacing" "gint" t t)
-                        (row-spacing icon-view-row-spacing "row-spacing" "gint"
-                         t t)
-                        (column-spacing icon-view-column-spacing
-                         "column-spacing" "gint" t t)
-                        (margin icon-view-margin "margin" "gint" t t)
+                        (pixbuf-column icon-view-pixbuf-column "pixbuf-column"
+                         "gint" t t)
                         (reorderable icon-view-reorderable "reorderable"
                          "gboolean" t t)
+                        (row-spacing icon-view-row-spacing "row-spacing" "gint"
+                         t t)
+                        (selection-mode icon-view-selection-mode
+                         "selection-mode" "GtkSelectionMode" t t)
+                        (spacing icon-view-spacing "spacing" "gint" t t)
+                        (text-column icon-view-text-column "text-column" "gint"
+                         t t)
                         (tooltip-column icon-view-tooltip-column
                          "tooltip-column" "gint" t t)))
 
                         :type-initializer "gtk_layout_get_type")
                        ((hadjustment layout-hadjustment "hadjustment"
                          "GtkAdjustment" t t)
+                        (height layout-height "height" "guint" t t)
                         (vadjustment layout-vadjustment "vadjustment"
                          "GtkAdjustment" t t)
                         (width layout-width "width" "guint" t t)
-                        (height layout-height "height" "guint" t t)
                         (:cffi bin-window layout-bin-window g-object
                          "gtk_layout_get_bin_window" nil)))
 
                        (:superclass menu-shell :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable")
                         :type-initializer "gtk_menu_get_type")
-                       ((active menu-active "active" "gint" t t)
-                        (accel-group menu-accel-group "accel-group"
+                       ((accel-group menu-accel-group "accel-group"
                          "GtkAccelGroup" t t)
                         (accel-path menu-accel-path "accel-path" "gchararray" t
                          t)
+                        (active menu-active "active" "gint" t t)
                         (attach-widget menu-attach-widget "attach-widget"
                          "GtkWidget" t t)
+                        (monitor menu-monitor "monitor" "gint" t t)
                         (tearoff-state menu-tearoff-state "tearoff-state"
                          "gboolean" t t)
                         (tearoff-title menu-tearoff-title "tearoff-title"
                          "gchararray" t t)
-                        (monitor menu-monitor "monitor" "gint" t t)
                         (:cffi screen menu-screen g-object nil
                          "gtk_menu_set_screen")))
 
                        (:superclass menu-shell :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable")
                         :type-initializer "gtk_menu_bar_get_type")
-                       ((pack-direction menu-bar-pack-direction
-                         "pack-direction" "GtkPackDirection" t t)
-                        (child-pack-direction menu-bar-child-pack-direction
-                         "child-pack-direction" "GtkPackDirection" t t)))
+                       ((child-pack-direction menu-bar-child-pack-direction
+                         "child-pack-direction" "GtkPackDirection" t t)
+                        (pack-direction menu-bar-pack-direction
+                         "pack-direction" "GtkPackDirection" t t)))
 
 (define-g-object-class "GtkNotebook" notebook
                        (:superclass container :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable")
                         :type-initializer "gtk_notebook_get_type")
-                       ((tab-pos notebook-tab-pos "tab-pos" "GtkPositionType" t
-                         t)
-                        (show-tabs notebook-show-tabs "show-tabs" "gboolean" t
-                         t)
-                        (show-border notebook-show-border "show-border"
+                       ((enable-popup notebook-enable-popup "enable-popup"
+                         "gboolean" t t)
+                        (group notebook-group "group" "gpointer" t t)
+                        (group-id notebook-group-id "group-id" "gint" t t)
+                        (homogeneous notebook-homogeneous "homogeneous"
                          "gboolean" t t)
+                        (page notebook-page "page" "gint" t t)
                         (scrollable notebook-scrollable "scrollable" "gboolean"
                          t t)
+                        (show-border notebook-show-border "show-border"
+                         "gboolean" t t)
+                        (show-tabs notebook-show-tabs "show-tabs" "gboolean" t
+                         t)
                         (tab-border notebook-tab-border "tab-border" "guint"
                          nil t)
                         (tab-hborder notebook-tab-hborder "tab-hborder" "guint"
                          t t)
+                        (tab-pos notebook-tab-pos "tab-pos" "GtkPositionType" t
+                         t)
                         (tab-vborder notebook-tab-vborder "tab-vborder" "guint"
-                         t t)
-                        (page notebook-page "page" "gint" t t)
-                        (enable-popup notebook-enable-popup "enable-popup"
-                         "gboolean" t t)
-                        (group-id notebook-group-id "group-id" "gint" t t)
-                        (group notebook-group "group" "gpointer" t t)
-                        (homogeneous notebook-homogeneous "homogeneous"
-                         "gboolean" t t)))
+                         t t)))
 
 (define-g-object-class "GtkPaned" paned
                        (:superclass container :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_paned_get_type")
-                       ((position paned-position "position" "gint" t t)
-                        (position-set paned-position-set "position-set"
-                         "gboolean" t t)
+                       ((max-position paned-max-position "max-position" "gint"
+                         t nil)
                         (min-position paned-min-position "min-position" "gint"
                          t nil)
-                        (max-position paned-max-position "max-position" "gint"
-                         t nil)))
+                        (position paned-position "position" "gint" t t)
+                        (position-set paned-position-set "position-set"
+                         "gboolean" t t)))
 
 (define-g-object-class "GtkHPaned" h-paned
                        (:superclass paned :export t :interfaces
                        (:superclass container :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable")
                         :type-initializer "gtk_table_get_type")
-                       ((n-rows table-n-rows "n-rows" "guint" t t)
-                        (n-columns table-n-columns "n-columns" "guint" t t)
-                        (column-spacing table-column-spacing "column-spacing"
+                       ((column-spacing table-column-spacing "column-spacing"
                          "guint" t t)
-                        (row-spacing table-row-spacing "row-spacing" "guint" t
-                         t)
                         (homogeneous table-homogeneous "homogeneous" "gboolean"
-                         t t)))
+                         t t)
+                        (n-columns table-n-columns "n-columns" "guint" t t)
+                        (n-rows table-n-rows "n-rows" "guint" t t)
+                        (row-spacing table-row-spacing "row-spacing" "guint" t
+                         t)))
 
 (define-g-object-class "GtkTextView" text-view
                        (:superclass container :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable")
                         :type-initializer "gtk_text_view_get_type")
-                       ((pixels-above-lines text-view-pixels-above-lines
-                         "pixels-above-lines" "gint" t t)
-                        (pixels-below-lines text-view-pixels-below-lines
-                         "pixels-below-lines" "gint" t t)
-                        (pixels-inside-wrap text-view-pixels-inside-wrap
-                         "pixels-inside-wrap" "gint" t t)
+                       ((accepts-tab text-view-accepts-tab "accepts-tab"
+                         "gboolean" t t)
+                        (buffer text-view-buffer "buffer" "GtkTextBuffer" t t)
+                        (cursor-visible text-view-cursor-visible
+                         "cursor-visible" "gboolean" t t)
                         (editable text-view-editable "editable" "gboolean" t t)
-                        (wrap-mode text-view-wrap-mode "wrap-mode"
-                         "GtkWrapMode" t t)
+                        (im-module text-view-im-module "im-module" "gchararray"
+                         t t)
+                        (indent text-view-indent "indent" "gint" t t)
                         (justification text-view-justification "justification"
                          "GtkJustification" t t)
                         (left-margin text-view-left-margin "left-margin" "gint"
                          t t)
+                        (overwrite text-view-overwrite "overwrite" "gboolean" t
+                         t)
+                        (pixels-above-lines text-view-pixels-above-lines
+                         "pixels-above-lines" "gint" t t)
+                        (pixels-below-lines text-view-pixels-below-lines
+                         "pixels-below-lines" "gint" t t)
+                        (pixels-inside-wrap text-view-pixels-inside-wrap
+                         "pixels-inside-wrap" "gint" t t)
                         (right-margin text-view-right-margin "right-margin"
                          "gint" t t)
-                        (indent text-view-indent "indent" "gint" t t)
                         (tabs text-view-tabs "tabs" "PangoTabArray" t t)
-                        (cursor-visible text-view-cursor-visible
-                         "cursor-visible" "gboolean" t t)
-                        (buffer text-view-buffer "buffer" "GtkTextBuffer" t t)
-                        (overwrite text-view-overwrite "overwrite" "gboolean" t
-                         t)
-                        (accepts-tab text-view-accepts-tab "accepts-tab"
-                         "gboolean" t t)
-                        (im-module text-view-im-module "im-module" "gchararray"
-                         t t)))
+                        (wrap-mode text-view-wrap-mode "wrap-mode"
+                         "GtkWrapMode" t t)))
 
 (define-g-object-class "GtkToolbar" toolbar
                        (:superclass container :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable" "GtkOrientable"
                          "GtkToolShell")
                         :type-initializer "gtk_toolbar_get_type")
-                       ((toolbar-style toolbar-toolbar-style "toolbar-style"
-                         "GtkToolbarStyle" t t)
+                       ((icon-size toolbar-icon-size "icon-size" "gint" t t)
+                        (icon-size-set toolbar-icon-size-set "icon-size-set"
+                         "gboolean" t t)
                         (show-arrow toolbar-show-arrow "show-arrow" "gboolean"
                          t t)
-                        (tooltips toolbar-tooltips "tooltips" "gboolean" t t)
-                        (icon-size toolbar-icon-size "icon-size" "gint" t t)
-                        (icon-size-set toolbar-icon-size-set "icon-size-set"
-                         "gboolean" t t)))
+                        (toolbar-style toolbar-toolbar-style "toolbar-style"
+                         "GtkToolbarStyle" t t)
+                        (tooltips toolbar-tooltips "tooltips" "gboolean" t t)))
 
 (define-g-object-class "GtkTree" tree
                        (:superclass container :export t :interfaces
                        (:superclass container :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable")
                         :type-initializer "gtk_tree_view_get_type")
-                       ((model tree-view-model "model" "GtkTreeModel" t t)
+                       ((enable-grid-lines tree-view-enable-grid-lines
+                         "enable-grid-lines" "GtkTreeViewGridLines" t t)
+                        (enable-search tree-view-enable-search "enable-search"
+                         "gboolean" t t)
+                        (enable-tree-lines tree-view-enable-tree-lines
+                         "enable-tree-lines" "gboolean" t t)
+                        (expander-column tree-view-expander-column
+                         "expander-column" "GtkTreeViewColumn" t t)
+                        (fixed-height-mode tree-view-fixed-height-mode
+                         "fixed-height-mode" "gboolean" t t)
                         (hadjustment tree-view-hadjustment "hadjustment"
                          "GtkAdjustment" t t)
-                        (vadjustment tree-view-vadjustment "vadjustment"
-                         "GtkAdjustment" t t)
-                        (headers-visible tree-view-headers-visible
-                         "headers-visible" "gboolean" t t)
                         (headers-clickable tree-view-headers-clickable
                          "headers-clickable" "gboolean" t t)
-                        (expander-column tree-view-expander-column
-                         "expander-column" "GtkTreeViewColumn" t t)
+                        (headers-visible tree-view-headers-visible
+                         "headers-visible" "gboolean" t t)
+                        (hover-expand tree-view-hover-expand "hover-expand"
+                         "gboolean" t t)
+                        (hover-selection tree-view-hover-selection
+                         "hover-selection" "gboolean" t t)
+                        (level-indentation tree-view-level-indentation
+                         "level-indentation" "gint" t t)
+                        (model tree-view-model "model" "GtkTreeModel" t t)
                         (reorderable tree-view-reorderable "reorderable"
                          "gboolean" t t)
+                        (rubber-banding tree-view-rubber-banding
+                         "rubber-banding" "gboolean" t t)
                         (rules-hint tree-view-rules-hint "rules-hint"
                          "gboolean" t t)
-                        (enable-search tree-view-enable-search "enable-search"
-                         "gboolean" t t)
                         (search-column tree-view-search-column "search-column"
                          "gint" t t)
-                        (fixed-height-mode tree-view-fixed-height-mode
-                         "fixed-height-mode" "gboolean" t t)
-                        (hover-selection tree-view-hover-selection
-                         "hover-selection" "gboolean" t t)
-                        (hover-expand tree-view-hover-expand "hover-expand"
-                         "gboolean" t t)
                         (show-expanders tree-view-show-expanders
                          "show-expanders" "gboolean" t t)
-                        (level-indentation tree-view-level-indentation
-                         "level-indentation" "gint" t t)
-                        (rubber-banding tree-view-rubber-banding
-                         "rubber-banding" "gboolean" t t)
-                        (enable-grid-lines tree-view-enable-grid-lines
-                         "enable-grid-lines" "GtkTreeViewGridLines" t t)
-                        (enable-tree-lines tree-view-enable-tree-lines
-                         "enable-tree-lines" "gboolean" t t)
                         (tooltip-column tree-view-tooltip-column
                          "tooltip-column" "gint" t t)
+                        (vadjustment tree-view-vadjustment "vadjustment"
+                         "GtkAdjustment" t t)
                         (:cffi selection tree-view-selection g-object
                          "gtk_tree_view_get_selection" nil)
                         (:cffi column-drag-function
                         :type-initializer "gtk_curve_get_type")
                        ((curve-type curve-curve-type "curve-type"
                          "GtkCurveType" t t)
-                        (min-x curve-min-x "min-x" "gfloat" t t)
                         (max-x curve-max-x "max-x" "gfloat" t t)
-                        (min-y curve-min-y "min-y" "gfloat" t t)
-                        (max-y curve-max-y "max-y" "gfloat" t t)))
-
-(define-g-object-class "GtkGLDrawingArea" g-l-drawing-area
-                       (:superclass drawing-area :export t :interfaces
-                        ("AtkImplementorIface" "GtkBuildable"))
-                       nil)
+                        (max-y curve-max-y "max-y" "gfloat" t t)
+                        (min-x curve-min-x "min-x" "gfloat" t t)
+                        (min-y curve-min-y "min-y" "gfloat" t t)))
 
 (define-g-object-class "GtkEntry" entry
                        (:superclass widget :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable" "GtkCellEditable"
                          "GtkEditable")
                         :type-initializer "gtk_entry_get_type")
-                       ((cursor-position entry-cursor-position
+                       ((activates-default entry-activates-default
+                         "activates-default" "gboolean" t t)
+                        (caps-lock-warning entry-caps-lock-warning
+                         "caps-lock-warning" "gboolean" t t)
+                        (cursor-position entry-cursor-position
                          "cursor-position" "gint" t nil)
-                        (selection-bound entry-selection-bound
-                         "selection-bound" "gint" t nil)
                         (editable entry-editable "editable" "gboolean" t t)
-                        (max-length entry-max-length "max-length" "gint" t t)
-                        (visibility entry-visibility "visibility" "gboolean" t
-                         t)
                         (has-frame entry-has-frame "has-frame" "gboolean" t t)
+                        (im-module entry-im-module "im-module" "gchararray" t
+                         t)
                         (inner-border entry-inner-border "inner-border"
                          "GtkBorder" t t)
                         (invisible-char entry-invisible-char "invisible-char"
                          "guint" t t)
-                        (activates-default entry-activates-default
-                         "activates-default" "gboolean" t t)
-                        (width-chars entry-width-chars "width-chars" "gint" t
-                         t)
-                        (scroll-offset entry-scroll-offset "scroll-offset"
-                         "gint" t nil)
-                        (text entry-text "text" "gchararray" t t)
-                        (xalign entry-xalign "xalign" "gfloat" t t)
-                        (truncate-multiline entry-truncate-multiline
-                         "truncate-multiline" "gboolean" t t)
-                        (shadow-type entry-shadow-type "shadow-type"
-                         "GtkShadowType" t t)
-                        (overwrite-mode entry-overwrite-mode "overwrite-mode"
-                         "gboolean" t t)
-                        (text-length entry-text-length "text-length" "guint" t
-                         nil)
                         (invisible-char-set entry-invisible-char-set
                          "invisible-char-set" "gboolean" t t)
-                        (caps-lock-warning entry-caps-lock-warning
-                         "caps-lock-warning" "gboolean" t t)
-                        (progress-fraction entry-progress-fraction
-                         "progress-fraction" "gdouble" t t)
-                        (progress-pulse-step entry-progress-pulse-step
-                         "progress-pulse-step" "gdouble" t t)
+                        (max-length entry-max-length "max-length" "gint" t t)
+                        (overwrite-mode entry-overwrite-mode "overwrite-mode"
+                         "gboolean" t t)
+                        (primary-icon-activatable
+                         entry-primary-icon-activatable
+                         "primary-icon-activatable" "gboolean" t t)
+                        (primary-icon-gicon entry-primary-icon-gicon
+                         "primary-icon-gicon" "GIcon" t t)
+                        (primary-icon-name entry-primary-icon-name
+                         "primary-icon-name" "gchararray" t t)
                         (primary-icon-pixbuf entry-primary-icon-pixbuf
                          "primary-icon-pixbuf" "GdkPixbuf" t t)
-                        (secondary-icon-pixbuf entry-secondary-icon-pixbuf
-                         "secondary-icon-pixbuf" "GdkPixbuf" t t)
+                        (primary-icon-sensitive entry-primary-icon-sensitive
+                         "primary-icon-sensitive" "gboolean" t t)
                         (primary-icon-stock entry-primary-icon-stock
                          "primary-icon-stock" "gchararray" t t)
-                        (secondary-icon-stock entry-secondary-icon-stock
-                         "secondary-icon-stock" "gchararray" t t)
-                        (primary-icon-name entry-primary-icon-name
-                         "primary-icon-name" "gchararray" t t)
-                        (secondary-icon-name entry-secondary-icon-name
-                         "secondary-icon-name" "gchararray" t t)
-                        (primary-icon-gicon entry-primary-icon-gicon
-                         "primary-icon-gicon" "GIcon" t t)
-                        (secondary-icon-gicon entry-secondary-icon-gicon
-                         "secondary-icon-gicon" "GIcon" t t)
                         (primary-icon-storage-type
                          entry-primary-icon-storage-type
                          "primary-icon-storage-type" "GtkImageType" t nil)
-                        (secondary-icon-storage-type
-                         entry-secondary-icon-storage-type
-                         "secondary-icon-storage-type" "GtkImageType" t nil)
-                        (primary-icon-activatable
-                         entry-primary-icon-activatable
-                         "primary-icon-activatable" "gboolean" t t)
+                        (primary-icon-tooltip-markup
+                         entry-primary-icon-tooltip-markup
+                         "primary-icon-tooltip-markup" "gchararray" t t)
+                        (primary-icon-tooltip-text
+                         entry-primary-icon-tooltip-text
+                         "primary-icon-tooltip-text" "gchararray" t t)
+                        (progress-fraction entry-progress-fraction
+                         "progress-fraction" "gdouble" t t)
+                        (progress-pulse-step entry-progress-pulse-step
+                         "progress-pulse-step" "gdouble" t t)
+                        (scroll-offset entry-scroll-offset "scroll-offset"
+                         "gint" t nil)
                         (secondary-icon-activatable
                          entry-secondary-icon-activatable
                          "secondary-icon-activatable" "gboolean" t t)
-                        (primary-icon-sensitive entry-primary-icon-sensitive
-                         "primary-icon-sensitive" "gboolean" t t)
+                        (secondary-icon-gicon entry-secondary-icon-gicon
+                         "secondary-icon-gicon" "GIcon" t t)
+                        (secondary-icon-name entry-secondary-icon-name
+                         "secondary-icon-name" "gchararray" t t)
+                        (secondary-icon-pixbuf entry-secondary-icon-pixbuf
+                         "secondary-icon-pixbuf" "GdkPixbuf" t t)
                         (secondary-icon-sensitive
                          entry-secondary-icon-sensitive
                          "secondary-icon-sensitive" "gboolean" t t)
-                        (primary-icon-tooltip-text
-                         entry-primary-icon-tooltip-text
-                         "primary-icon-tooltip-text" "gchararray" t t)
-                        (secondary-icon-tooltip-text
-                         entry-secondary-icon-tooltip-text
-                         "secondary-icon-tooltip-text" "gchararray" t t)
-                        (primary-icon-tooltip-markup
-                         entry-primary-icon-tooltip-markup
-                         "primary-icon-tooltip-markup" "gchararray" t t)
+                        (secondary-icon-stock entry-secondary-icon-stock
+                         "secondary-icon-stock" "gchararray" t t)
+                        (secondary-icon-storage-type
+                         entry-secondary-icon-storage-type
+                         "secondary-icon-storage-type" "GtkImageType" t nil)
                         (secondary-icon-tooltip-markup
                          entry-secondary-icon-tooltip-markup
                          "secondary-icon-tooltip-markup" "gchararray" t t)
-                        (im-module entry-im-module "im-module" "gchararray" t
-                         t)))
+                        (secondary-icon-tooltip-text
+                         entry-secondary-icon-tooltip-text
+                         "secondary-icon-tooltip-text" "gchararray" t t)
+                        (selection-bound entry-selection-bound
+                         "selection-bound" "gint" t nil)
+                        (shadow-type entry-shadow-type "shadow-type"
+                         "GtkShadowType" t t)
+                        (text entry-text "text" "gchararray" t t)
+                        (text-length entry-text-length "text-length" "guint" t
+                         nil)
+                        (truncate-multiline entry-truncate-multiline
+                         "truncate-multiline" "gboolean" t t)
+                        (visibility entry-visibility "visibility" "gboolean" t
+                         t)
+                        (width-chars entry-width-chars "width-chars" "gint" t
+                         t)
+                        (xalign entry-xalign "xalign" "gfloat" t t)))
 
 (define-g-object-class "GtkSpinButton" spin-button
                        (:superclass entry :export t :interfaces
                         (climb-rate spin-button-climb-rate "climb-rate"
                          "gdouble" t t)
                         (digits spin-button-digits "digits" "guint" t t)
+                        (numeric spin-button-numeric "numeric" "gboolean" t t)
                         (snap-to-ticks spin-button-snap-to-ticks
                          "snap-to-ticks" "gboolean" t t)
-                        (numeric spin-button-numeric "numeric" "gboolean" t t)
-                        (wrap spin-button-wrap "wrap" "gboolean" t t)
                         (update-policy spin-button-update-policy
                          "update-policy" "GtkSpinButtonUpdatePolicy" t t)
-                        (value spin-button-value "value" "gdouble" t t)))
+                        (value spin-button-value "value" "gdouble" t t)
+                        (wrap spin-button-wrap "wrap" "gboolean" t t)))
 
 (define-g-object-class "GtkHSV" h-s-v
                        (:superclass widget :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable")
                         :type-initializer "gtk_misc_get_type")
                        ((xalign misc-xalign "xalign" "gfloat" t t)
-                        (yalign misc-yalign "yalign" "gfloat" t t)
                         (xpad misc-xpad "xpad" "gint" t t)
+                        (yalign misc-yalign "yalign" "gfloat" t t)
                         (ypad misc-ypad "ypad" "gint" t t)))
 
 (define-g-object-class "GtkArrow" arrow
                        (:superclass misc :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable")
                         :type-initializer "gtk_image_get_type")
-                       ((pixbuf image-pixbuf "pixbuf" "GdkPixbuf" t t)
-                        (pixmap image-pixmap "pixmap" "GdkPixmap" t t)
-                        (image image-image "image" "GdkImage" t t)
-                        (mask image-mask "mask" "GdkPixmap" t t)
-                        (file image-file "file" "gchararray" t t)
-                        (stock image-stock "stock" "gchararray" t t)
+                       ((file image-file "file" "gchararray" t t)
+                        (gicon image-gicon "gicon" "GIcon" t t)
+                        (icon-name image-icon-name "icon-name" "gchararray" t
+                         t)
                         (icon-set image-icon-set "icon-set" "GtkIconSet" t t)
                         (icon-size image-icon-size "icon-size" "gint" t t)
-                        (pixel-size image-pixel-size "pixel-size" "gint" t t)
+                        (image image-image "image" "GdkImage" t t)
+                        (mask image-mask "mask" "GdkPixmap" t t)
+                        (pixbuf image-pixbuf "pixbuf" "GdkPixbuf" t t)
                         (pixbuf-animation image-pixbuf-animation
                          "pixbuf-animation" "GdkPixbufAnimation" t t)
-                        (icon-name image-icon-name "icon-name" "gchararray" t
-                         t)
+                        (pixel-size image-pixel-size "pixel-size" "gint" t t)
+                        (pixmap image-pixmap "pixmap" "GdkPixmap" t t)
+                        (stock image-stock "stock" "gchararray" t t)
                         (storage-type image-storage-type "storage-type"
-                         "GtkImageType" t nil)
-                        (gicon image-gicon "gicon" "GIcon" t t)))
+                         "GtkImageType" t nil)))
 
 (define-g-object-class "GtkLabel" label
                        (:superclass misc :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable")
                         :type-initializer "gtk_label_get_type")
-                       ((label label-label "label" "gchararray" t t)
+                       ((angle label-angle "angle" "gdouble" t t)
                         (attributes label-attributes "attributes"
                          "PangoAttrList" t t)
-                        (use-markup label-use-markup "use-markup" "gboolean" t
-                         t)
-                        (use-underline label-use-underline "use-underline"
-                         "gboolean" t t)
+                        (cursor-position label-cursor-position
+                         "cursor-position" "gint" t nil)
+                        (ellipsize label-ellipsize "ellipsize"
+                         "PangoEllipsizeMode" t t)
                         (justify label-justify "justify" "GtkJustification" t
                          t)
-                        (pattern label-pattern "pattern" "gchararray" nil t)
-                        (wrap label-wrap "wrap" "gboolean" t t)
-                        (wrap-mode label-wrap-mode "wrap-mode" "PangoWrapMode"
-                         t t)
-                        (selectable label-selectable "selectable" "gboolean" t
-                         t)
+                        (label label-label "label" "gchararray" t t)
+                        (max-width-chars label-max-width-chars
+                         "max-width-chars" "gint" t t)
                         (mnemonic-keyval label-mnemonic-keyval
                          "mnemonic-keyval" "guint" t nil)
                         (mnemonic-widget label-mnemonic-widget
                          "mnemonic-widget" "GtkWidget" t t)
-                        (cursor-position label-cursor-position
-                         "cursor-position" "gint" t nil)
+                        (pattern label-pattern "pattern" "gchararray" nil t)
+                        (selectable label-selectable "selectable" "gboolean" t
+                         t)
                         (selection-bound label-selection-bound
                          "selection-bound" "gint" t nil)
-                        (ellipsize label-ellipsize "ellipsize"
-                         "PangoEllipsizeMode" t t)
-                        (width-chars label-width-chars "width-chars" "gint" t
-                         t)
                         (single-line-mode label-single-line-mode
                          "single-line-mode" "gboolean" t t)
-                        (angle label-angle "angle" "gdouble" t t)
-                        (max-width-chars label-max-width-chars
-                         "max-width-chars" "gint" t t)))
+                        (use-markup label-use-markup "use-markup" "gboolean" t
+                         t)
+                        (use-underline label-use-underline "use-underline"
+                         "gboolean" t t)
+                        (width-chars label-width-chars "width-chars" "gint" t
+                         t)
+                        (wrap label-wrap "wrap" "gboolean" t t)
+                        (wrap-mode label-wrap-mode "wrap-mode" "PangoWrapMode"
+                         t t)))
 
 (define-g-object-class "GtkAccelLabel" accel-label
                        (:superclass label :export t :interfaces
                        (:superclass widget :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable" "GtkEditable")
                         :type-initializer "gtk_old_editable_get_type")
-                       ((text-position old-editable-text-position
-                         "text-position" "gint" t t)
-                        (editable old-editable-editable "editable" "gboolean" t
-                         t)))
+                       ((editable old-editable-editable "editable" "gboolean" t
+                         t)
+                        (text-position old-editable-text-position
+                         "text-position" "gint" t t)))
 
 (define-g-object-class "GtkText" text
                        (:superclass old-editable :export t :interfaces
                         :type-initializer "gtk_text_get_type")
                        ((hadjustment text-hadjustment "hadjustment"
                          "GtkAdjustment" t t)
+                        (line-wrap text-line-wrap "line-wrap" "gboolean" t t)
                         (vadjustment text-vadjustment "vadjustment"
                          "GtkAdjustment" t t)
-                        (line-wrap text-line-wrap "line-wrap" "gboolean" t t)
                         (word-wrap text-word-wrap "word-wrap" "gboolean" t t)))
 
 (define-g-object-class "GtkProgress" progress
                        (:superclass progress :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable")
                         :type-initializer "gtk_progress_bar_get_type")
-                       ((fraction progress-bar-fraction "fraction" "gdouble" t
-                         t)
-                        (pulse-step progress-bar-pulse-step "pulse-step"
-                         "gdouble" t t)
-                        (orientation progress-bar-orientation "orientation"
-                         "GtkProgressBarOrientation" t t)
-                        (text progress-bar-text "text" "gchararray" t t)
-                        (ellipsize progress-bar-ellipsize "ellipsize"
-                         "PangoEllipsizeMode" t t)
+                       ((activity-blocks progress-bar-activity-blocks
+                         "activity-blocks" "guint" t t)
+                        (activity-step progress-bar-activity-step
+                         "activity-step" "guint" t t)
                         (adjustment progress-bar-adjustment "adjustment"
                          "GtkAdjustment" t t)
                         (bar-style progress-bar-bar-style "bar-style"
                          "GtkProgressBarStyle" t t)
-                        (activity-step progress-bar-activity-step
-                         "activity-step" "guint" t t)
-                        (activity-blocks progress-bar-activity-blocks
-                         "activity-blocks" "guint" t t)
                         (discrete-blocks progress-bar-discrete-blocks
-                         "discrete-blocks" "guint" t t)))
+                         "discrete-blocks" "guint" t t)
+                        (ellipsize progress-bar-ellipsize "ellipsize"
+                         "PangoEllipsizeMode" t t)
+                        (fraction progress-bar-fraction "fraction" "gdouble" t
+                         t)
+                        (orientation progress-bar-orientation "orientation"
+                         "GtkProgressBarOrientation" t t)
+                        (pulse-step progress-bar-pulse-step "pulse-step"
+                         "gdouble" t t)
+                        (text progress-bar-text "text" "gchararray" t t)))
 
 (define-g-object-class "GtkRange" range
                        (:superclass widget :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_range_get_type")
-                       ((update-policy range-update-policy "update-policy"
-                         "GtkUpdateType" t t)
-                        (adjustment range-adjustment "adjustment"
+                       ((adjustment range-adjustment "adjustment"
                          "GtkAdjustment" t t)
+                        (fill-level range-fill-level "fill-level" "gdouble" t
+                         t)
                         (inverted range-inverted "inverted" "gboolean" t t)
                         (lower-stepper-sensitivity
                          range-lower-stepper-sensitivity
                          "lower-stepper-sensitivity" "GtkSensitivityType" t t)
-                        (upper-stepper-sensitivity
-                         range-upper-stepper-sensitivity
-                         "upper-stepper-sensitivity" "GtkSensitivityType" t t)
-                        (show-fill-level range-show-fill-level
-                         "show-fill-level" "gboolean" t t)
                         (restrict-to-fill-level range-restrict-to-fill-level
                          "restrict-to-fill-level" "gboolean" t t)
-                        (fill-level range-fill-level "fill-level" "gdouble" t
-                         t)))
+                        (show-fill-level range-show-fill-level
+                         "show-fill-level" "gboolean" t t)
+                        (update-policy range-update-policy "update-policy"
+                         "GtkUpdateType" t t)
+                        (upper-stepper-sensitivity
+                         range-upper-stepper-sensitivity
+                         "upper-stepper-sensitivity" "GtkSensitivityType" t t)))
 
 (define-g-object-class "GtkScale" scale
                        (:superclass range :export t :interfaces
                         ("AtkImplementorIface" "GtkBuildable" "GtkOrientable")
                         :type-initializer "gtk_ruler_get_type")
                        ((lower ruler-lower "lower" "gdouble" t t)
-                        (upper ruler-upper "upper" "gdouble" t t)
-                        (position ruler-position "position" "gdouble" t t)
                         (max-size ruler-max-size "max-size" "gdouble" t t)
-                        (metric ruler-metric "metric" "GtkMetricType" t t)))
+                        (metric ruler-metric "metric" "GtkMetricType" t t)
+                        (position ruler-position "position" "gdouble" t t)
+                        (upper ruler-upper "upper" "gdouble" t t)))
 
 (define-g-object-class "GtkHRuler" h-ruler
                        (:superclass ruler :export t :interfaces
 (define-g-object-class "GtkSettings" settings
                        (:superclass g-object :export t :interfaces nil
                         :type-initializer "gtk_settings_get_type")
-                       ((gtk-double-click-time settings-gtk-double-click-time
-                         "gtk-double-click-time" "gint" t t)
-                        (gtk-double-click-distance
-                         settings-gtk-double-click-distance
-                         "gtk-double-click-distance" "gint" t t)
+                       ((color-hash settings-color-hash "color-hash"
+                         "GHashTable" t nil)
+                        (gtk-alternative-button-order
+                         settings-gtk-alternative-button-order
+                         "gtk-alternative-button-order" "gboolean" t t)
+                        (gtk-alternative-sort-arrows
+                         settings-gtk-alternative-sort-arrows
+                         "gtk-alternative-sort-arrows" "gboolean" t t)
+                        (gtk-button-images settings-gtk-button-images
+                         "gtk-button-images" "gboolean" t t)
+                        (gtk-can-change-accels settings-gtk-can-change-accels
+                         "gtk-can-change-accels" "gboolean" t t)
+                        (gtk-color-palette settings-gtk-color-palette
+                         "gtk-color-palette" "gchararray" t t)
+                        (gtk-color-scheme settings-gtk-color-scheme
+                         "gtk-color-scheme" "gchararray" t t)
                         (gtk-cursor-blink settings-gtk-cursor-blink
                          "gtk-cursor-blink" "gboolean" t t)
                         (gtk-cursor-blink-time settings-gtk-cursor-blink-time
                         (gtk-cursor-blink-timeout
                          settings-gtk-cursor-blink-timeout
                          "gtk-cursor-blink-timeout" "gint" t t)
-                        (gtk-split-cursor settings-gtk-split-cursor
-                         "gtk-split-cursor" "gboolean" t t)
-                        (gtk-theme-name settings-gtk-theme-name
-                         "gtk-theme-name" "gchararray" t t)
-                        (gtk-icon-theme-name settings-gtk-icon-theme-name
-                         "gtk-icon-theme-name" "gchararray" t t)
+                        (gtk-cursor-theme-name settings-gtk-cursor-theme-name
+                         "gtk-cursor-theme-name" "gchararray" t t)
+                        (gtk-cursor-theme-size settings-gtk-cursor-theme-size
+                         "gtk-cursor-theme-size" "gint" t t)
+                        (gtk-dnd-drag-threshold settings-gtk-dnd-drag-threshold
+                         "gtk-dnd-drag-threshold" "gint" t t)
+                        (gtk-double-click-distance
+                         settings-gtk-double-click-distance
+                         "gtk-double-click-distance" "gint" t t)
+                        (gtk-double-click-time settings-gtk-double-click-time
+                         "gtk-double-click-time" "gint" t t)
+                        (gtk-enable-accels settings-gtk-enable-accels
+                         "gtk-enable-accels" "gboolean" t t)
+                        (gtk-enable-animations settings-gtk-enable-animations
+                         "gtk-enable-animations" "gboolean" t t)
+                        (gtk-enable-event-sounds
+                         settings-gtk-enable-event-sounds
+                         "gtk-enable-event-sounds" "gboolean" t t)
+                        (gtk-enable-input-feedback-sounds
+                         settings-gtk-enable-input-feedback-sounds
+                         "gtk-enable-input-feedback-sounds" "gboolean" t t)
+                        (gtk-enable-mnemonics settings-gtk-enable-mnemonics
+                         "gtk-enable-mnemonics" "gboolean" t t)
+                        (gtk-enable-tooltips settings-gtk-enable-tooltips
+                         "gtk-enable-tooltips" "gboolean" t t)
+                        (gtk-entry-password-hint-timeout
+                         settings-gtk-entry-password-hint-timeout
+                         "gtk-entry-password-hint-timeout" "guint" t t)
+                        (gtk-entry-select-on-focus
+                         settings-gtk-entry-select-on-focus
+                         "gtk-entry-select-on-focus" "gboolean" t t)
+                        (gtk-error-bell settings-gtk-error-bell
+                         "gtk-error-bell" "gboolean" t t)
                         (gtk-fallback-icon-theme
                          settings-gtk-fallback-icon-theme
                          "gtk-fallback-icon-theme" "gchararray" t t)
-                        (gtk-key-theme-name settings-gtk-key-theme-name
-                         "gtk-key-theme-name" "gchararray" t t)
-                        (gtk-menu-bar-accel settings-gtk-menu-bar-accel
-                         "gtk-menu-bar-accel" "gchararray" t t)
-                        (gtk-dnd-drag-threshold settings-gtk-dnd-drag-threshold
-                         "gtk-dnd-drag-threshold" "gint" t t)
+                        (gtk-file-chooser-backend
+                         settings-gtk-file-chooser-backend
+                         "gtk-file-chooser-backend" "gchararray" t t)
                         (gtk-font-name settings-gtk-font-name "gtk-font-name"
                          "gchararray" t t)
+                        (gtk-fontconfig-timestamp
+                         settings-gtk-fontconfig-timestamp
+                         "gtk-fontconfig-timestamp" "guint" t t)
                         (gtk-icon-sizes settings-gtk-icon-sizes
                          "gtk-icon-sizes" "gchararray" t t)
-                        (gtk-modules settings-gtk-modules "gtk-modules"
-                         "gchararray" t t)
-                        (gtk-xft-antialias settings-gtk-xft-antialias
-                         "gtk-xft-antialias" "gint" t t)
-                        (gtk-xft-hinting settings-gtk-xft-hinting
-                         "gtk-xft-hinting" "gint" t t)
-                        (gtk-xft-hintstyle settings-gtk-xft-hintstyle
-                         "gtk-xft-hintstyle" "gchararray" t t)
-                        (gtk-xft-rgba settings-gtk-xft-rgba "gtk-xft-rgba"
+                        (gtk-icon-theme-name settings-gtk-icon-theme-name
+                         "gtk-icon-theme-name" "gchararray" t t)
+                        (gtk-im-module settings-gtk-im-module "gtk-im-module"
                          "gchararray" t t)
-                        (gtk-xft-dpi settings-gtk-xft-dpi "gtk-xft-dpi" "gint"
-                         t t)
-                        (gtk-cursor-theme-name settings-gtk-cursor-theme-name
-                         "gtk-cursor-theme-name" "gchararray" t t)
-                        (gtk-cursor-theme-size settings-gtk-cursor-theme-size
-                         "gtk-cursor-theme-size" "gint" t t)
-                        (gtk-alternative-button-order
-                         settings-gtk-alternative-button-order
-                         "gtk-alternative-button-order" "gboolean" t t)
-                        (gtk-alternative-sort-arrows
-                         settings-gtk-alternative-sort-arrows
-                         "gtk-alternative-sort-arrows" "gboolean" t t)
-                        (gtk-show-input-method-menu
-                         settings-gtk-show-input-method-menu
-                         "gtk-show-input-method-menu" "gboolean" t t)
-                        (gtk-show-unicode-menu settings-gtk-show-unicode-menu
-                         "gtk-show-unicode-menu" "gboolean" t t)
-                        (gtk-timeout-initial settings-gtk-timeout-initial
-                         "gtk-timeout-initial" "gint" t t)
-                        (gtk-timeout-repeat settings-gtk-timeout-repeat
-                         "gtk-timeout-repeat" "gint" t t)
-                        (gtk-timeout-expand settings-gtk-timeout-expand
-                         "gtk-timeout-expand" "gint" t t)
-                        (gtk-color-scheme settings-gtk-color-scheme
-                         "gtk-color-scheme" "gchararray" t t)
-                        (gtk-enable-animations settings-gtk-enable-animations
-                         "gtk-enable-animations" "gboolean" t t)
-                        (gtk-touchscreen-mode settings-gtk-touchscreen-mode
-                         "gtk-touchscreen-mode" "gboolean" t t)
-                        (gtk-tooltip-timeout settings-gtk-tooltip-timeout
-                         "gtk-tooltip-timeout" "gint" t t)
-                        (gtk-tooltip-browse-timeout
-                         settings-gtk-tooltip-browse-timeout
-                         "gtk-tooltip-browse-timeout" "gint" t t)
-                        (gtk-tooltip-browse-mode-timeout
-                         settings-gtk-tooltip-browse-mode-timeout
-                         "gtk-tooltip-browse-mode-timeout" "gint" t t)
+                        (gtk-key-theme-name settings-gtk-key-theme-name
+                         "gtk-key-theme-name" "gchararray" t t)
                         (gtk-keynav-cursor-only settings-gtk-keynav-cursor-only
                          "gtk-keynav-cursor-only" "gboolean" t t)
                         (gtk-keynav-wrap-around settings-gtk-keynav-wrap-around
                          "gtk-keynav-wrap-around" "gboolean" t t)
-                        (gtk-error-bell settings-gtk-error-bell
-                         "gtk-error-bell" "gboolean" t t)
-                        (color-hash settings-color-hash "color-hash"
-                         "GHashTable" t nil)
-                        (gtk-file-chooser-backend
-                         settings-gtk-file-chooser-backend
-                         "gtk-file-chooser-backend" "gchararray" t t)
+                        (gtk-label-select-on-focus
+                         settings-gtk-label-select-on-focus
+                         "gtk-label-select-on-focus" "gboolean" t t)
+                        (gtk-menu-bar-accel settings-gtk-menu-bar-accel
+                         "gtk-menu-bar-accel" "gchararray" t t)
+                        (gtk-menu-bar-popup-delay
+                         settings-gtk-menu-bar-popup-delay
+                         "gtk-menu-bar-popup-delay" "gint" t t)
+                        (gtk-menu-images settings-gtk-menu-images
+                         "gtk-menu-images" "gboolean" t t)
+                        (gtk-menu-popdown-delay settings-gtk-menu-popdown-delay
+                         "gtk-menu-popdown-delay" "gint" t t)
+                        (gtk-menu-popup-delay settings-gtk-menu-popup-delay
+                         "gtk-menu-popup-delay" "gint" t t)
+                        (gtk-modules settings-gtk-modules "gtk-modules"
+                         "gchararray" t t)
                         (gtk-print-backends settings-gtk-print-backends
                          "gtk-print-backends" "gchararray" t t)
                         (gtk-print-preview-command
                          settings-gtk-print-preview-command
                          "gtk-print-preview-command" "gchararray" t t)
-                        (gtk-enable-mnemonics settings-gtk-enable-mnemonics
-                         "gtk-enable-mnemonics" "gboolean" t t)
-                        (gtk-enable-accels settings-gtk-enable-accels
-                         "gtk-enable-accels" "gboolean" t t)
                         (gtk-recent-files-limit settings-gtk-recent-files-limit
                          "gtk-recent-files-limit" "gint" t t)
-                        (gtk-im-module settings-gtk-im-module "gtk-im-module"
-                         "gchararray" t t)
                         (gtk-recent-files-max-age
                          settings-gtk-recent-files-max-age
                          "gtk-recent-files-max-age" "gint" t t)
-                        (gtk-fontconfig-timestamp
-                         settings-gtk-fontconfig-timestamp
-                         "gtk-fontconfig-timestamp" "guint" t t)
+                        (gtk-scrolled-window-placement
+                         settings-gtk-scrolled-window-placement
+                         "gtk-scrolled-window-placement" "GtkCornerType" t t)
+                        (gtk-show-input-method-menu
+                         settings-gtk-show-input-method-menu
+                         "gtk-show-input-method-menu" "gboolean" t t)
+                        (gtk-show-unicode-menu settings-gtk-show-unicode-menu
+                         "gtk-show-unicode-menu" "gboolean" t t)
                         (gtk-sound-theme-name settings-gtk-sound-theme-name
                          "gtk-sound-theme-name" "gchararray" t t)
-                        (gtk-enable-input-feedback-sounds
-                         settings-gtk-enable-input-feedback-sounds
-                         "gtk-enable-input-feedback-sounds" "gboolean" t t)
-                        (gtk-enable-event-sounds
-                         settings-gtk-enable-event-sounds
-                         "gtk-enable-event-sounds" "gboolean" t t)
-                        (gtk-enable-tooltips settings-gtk-enable-tooltips
-                         "gtk-enable-tooltips" "gboolean" t t)
-                        (gtk-button-images settings-gtk-button-images
-                         "gtk-button-images" "gboolean" t t)
-                        (gtk-menu-bar-popup-delay
-                         settings-gtk-menu-bar-popup-delay
-                         "gtk-menu-bar-popup-delay" "gint" t t)
-                        (gtk-can-change-accels settings-gtk-can-change-accels
-                         "gtk-can-change-accels" "gboolean" t t)
-                        (gtk-menu-popup-delay settings-gtk-menu-popup-delay
-                         "gtk-menu-popup-delay" "gint" t t)
-                        (gtk-menu-popdown-delay settings-gtk-menu-popdown-delay
-                         "gtk-menu-popdown-delay" "gint" t t)
-                        (gtk-label-select-on-focus
-                         settings-gtk-label-select-on-focus
-                         "gtk-label-select-on-focus" "gboolean" t t)
-                        (gtk-menu-images settings-gtk-menu-images
-                         "gtk-menu-images" "gboolean" t t)
-                        (gtk-toolbar-style settings-gtk-toolbar-style
-                         "gtk-toolbar-style" "GtkToolbarStyle" t t)
+                        (gtk-split-cursor settings-gtk-split-cursor
+                         "gtk-split-cursor" "gboolean" t t)
+                        (gtk-theme-name settings-gtk-theme-name
+                         "gtk-theme-name" "gchararray" t t)
+                        (gtk-timeout-expand settings-gtk-timeout-expand
+                         "gtk-timeout-expand" "gint" t t)
+                        (gtk-timeout-initial settings-gtk-timeout-initial
+                         "gtk-timeout-initial" "gint" t t)
+                        (gtk-timeout-repeat settings-gtk-timeout-repeat
+                         "gtk-timeout-repeat" "gint" t t)
                         (gtk-toolbar-icon-size settings-gtk-toolbar-icon-size
                          "gtk-toolbar-icon-size" "GtkIconSize" t t)
-                        (gtk-scrolled-window-placement
-                         settings-gtk-scrolled-window-placement
-                         "gtk-scrolled-window-placement" "GtkCornerType" t t)
-                        (gtk-color-palette settings-gtk-color-palette
-                         "gtk-color-palette" "gchararray" t t)
-                        (gtk-entry-select-on-focus
-                         settings-gtk-entry-select-on-focus
-                         "gtk-entry-select-on-focus" "gboolean" t t)
-                        (gtk-entry-password-hint-timeout
-                         settings-gtk-entry-password-hint-timeout
-                         "gtk-entry-password-hint-timeout" "guint" t t)))
+                        (gtk-toolbar-style settings-gtk-toolbar-style
+                         "gtk-toolbar-style" "GtkToolbarStyle" t t)
+                        (gtk-tooltip-browse-mode-timeout
+                         settings-gtk-tooltip-browse-mode-timeout
+                         "gtk-tooltip-browse-mode-timeout" "gint" t t)
+                        (gtk-tooltip-browse-timeout
+                         settings-gtk-tooltip-browse-timeout
+                         "gtk-tooltip-browse-timeout" "gint" t t)
+                        (gtk-tooltip-timeout settings-gtk-tooltip-timeout
+                         "gtk-tooltip-timeout" "gint" t t)
+                        (gtk-touchscreen-mode settings-gtk-touchscreen-mode
+                         "gtk-touchscreen-mode" "gboolean" t t)
+                        (gtk-xft-antialias settings-gtk-xft-antialias
+                         "gtk-xft-antialias" "gint" t t)
+                        (gtk-xft-dpi settings-gtk-xft-dpi "gtk-xft-dpi" "gint"
+                         t t)
+                        (gtk-xft-hinting settings-gtk-xft-hinting
+                         "gtk-xft-hinting" "gint" t t)
+                        (gtk-xft-hintstyle settings-gtk-xft-hintstyle
+                         "gtk-xft-hintstyle" "gchararray" t t)
+                        (gtk-xft-rgba settings-gtk-xft-rgba "gtk-xft-rgba"
+                         "gchararray" t t)))
 
 (define-g-object-class "GtkRcStyle" rc-style
                        (:superclass g-object :export t :interfaces nil
                        (:superclass g-object :export t :interfaces
                         ("GtkBuildable") :type-initializer
                         "gtk_action_get_type")
-                       ((name action-name "name" "gchararray" t nil)
+                       ((action-group action-action-group "action-group"
+                         "GtkActionGroup" t t)
+                        (gicon action-gicon "gicon" "GIcon" t t)
+                        (hide-if-empty action-hide-if-empty "hide-if-empty"
+                         "gboolean" t t)
+                        (icon-name action-icon-name "icon-name" "gchararray" t
+                         t)
+                        (is-important action-is-important "is-important"
+                         "gboolean" t t)
                         (label action-label "label" "gchararray" t t)
+                        (name action-name "name" "gchararray" t nil)
+                        (sensitive action-sensitive "sensitive" "gboolean" t t)
                         (short-label action-short-label "short-label"
                          "gchararray" t t)
-                        (tooltip action-tooltip "tooltip" "gchararray" t t)
                         (stock-id action-stock-id "stock-id" "gchararray" t t)
-                        (icon-name action-icon-name "icon-name" "gchararray" t
-                         t)
-                        (gicon action-gicon "gicon" "GIcon" t t)
+                        (tooltip action-tooltip "tooltip" "gchararray" t t)
+                        (visible action-visible "visible" "gboolean" t t)
                         (visible-horizontal action-visible-horizontal
                          "visible-horizontal" "gboolean" t t)
-                        (visible-vertical action-visible-vertical
-                         "visible-vertical" "gboolean" t t)
                         (visible-overflown action-visible-overflown
                          "visible-overflown" "gboolean" t t)
-                        (is-important action-is-important "is-important"
-                         "gboolean" t t)
-                        (hide-if-empty action-hide-if-empty "hide-if-empty"
-                         "gboolean" t t)
-                        (sensitive action-sensitive "sensitive" "gboolean" t t)
-                        (visible action-visible "visible" "gboolean" t t)
-                        (action-group action-action-group "action-group"
-                         "GtkActionGroup" t t)
+                        (visible-vertical action-visible-vertical
+                         "visible-vertical" "gboolean" t t)
                         (:cffi accel-path action-accel-path
                          (:string :free-from-foreign nil :free-to-foreign t)
                          "gtk_action_get_accel_path"
                        (:superclass g-object :export t :interfaces
                         ("GtkBuildable" "GtkCellLayout") :type-initializer
                         "gtk_entry_completion_get_type")
-                       ((model entry-completion-model "model" "GtkTreeModel" t
-                         t)
+                       ((inline-completion entry-completion-inline-completion
+                         "inline-completion" "gboolean" t t)
+                        (inline-selection entry-completion-inline-selection
+                         "inline-selection" "gboolean" t t)
                         (minimum-key-length entry-completion-minimum-key-length
                          "minimum-key-length" "gint" t t)
-                        (text-column entry-completion-text-column "text-column"
-                         "gint" t t)
-                        (inline-completion entry-completion-inline-completion
-                         "inline-completion" "gboolean" t t)
+                        (model entry-completion-model "model" "GtkTreeModel" t
+                         t)
                         (popup-completion entry-completion-popup-completion
                          "popup-completion" "gboolean" t t)
                         (popup-set-width entry-completion-popup-set-width
                          "popup-set-width" "gboolean" t t)
                         (popup-single-match entry-completion-popup-single-match
                          "popup-single-match" "gboolean" t t)
-                        (inline-selection entry-completion-inline-selection
-                         "inline-selection" "gboolean" t t)))
+                        (text-column entry-completion-text-column "text-column"
+                         "gint" t t)))
 
 (define-g-object-class "GtkIconFactory" icon-factory
                        (:superclass g-object :export t :interfaces
                        (:superclass g-object :export t :interfaces
                         ("GtkPrintOperationPreview") :type-initializer
                         "gtk_print_operation_get_type")
-                       ((default-page-setup print-operation-default-page-setup
+                       ((allow-async print-operation-allow-async "allow-async"
+                         "gboolean" t t)
+                        (current-page print-operation-current-page
+                         "current-page" "gint" t t)
+                        (custom-tab-label print-operation-custom-tab-label
+                         "custom-tab-label" "gchararray" t t)
+                        (default-page-setup print-operation-default-page-setup
                          "default-page-setup" "GtkPageSetup" t t)
-                        (print-settings print-operation-print-settings
-                         "print-settings" "GtkPrintSettings" t t)
+                        (export-filename print-operation-export-filename
+                         "export-filename" "gchararray" t t)
                         (job-name print-operation-job-name "job-name"
                          "gchararray" t t)
                         (n-pages print-operation-n-pages "n-pages" "gint" t t)
-                        (current-page print-operation-current-page
-                         "current-page" "gint" t t)
-                        (use-full-page print-operation-use-full-page
-                         "use-full-page" "gboolean" t t)
-                        (track-print-status print-operation-track-print-status
-                         "track-print-status" "gboolean" t t)
-                        (unit print-operation-unit "unit" "GtkUnit" t t)
+                        (print-settings print-operation-print-settings
+                         "print-settings" "GtkPrintSettings" t t)
                         (show-progress print-operation-show-progress
                          "show-progress" "gboolean" t t)
-                        (allow-async print-operation-allow-async "allow-async"
-                         "gboolean" t t)
-                        (export-filename print-operation-export-filename
-                         "export-filename" "gchararray" t t)
                         (status print-operation-status "status"
                          "GtkPrintStatus" t nil)
                         (status-string print-operation-status-string
                          "status-string" "gchararray" t nil)
-                        (custom-tab-label print-operation-custom-tab-label
-                         "custom-tab-label" "gchararray" t t)))
+                        (track-print-status print-operation-track-print-status
+                         "track-print-status" "gboolean" t t)
+                        (unit print-operation-unit "unit" "GtkUnit" t t)
+                        (use-full-page print-operation-use-full-page
+                         "use-full-page" "gboolean" t t)))
 
 (define-g-object-class "GtkPrintSettings" print-settings
                        (:superclass g-object :export t :interfaces nil
                        (:superclass g-object :export t :interfaces
                         ("GtkBuildable") :type-initializer
                         "gtk_size_group_get_type")
-                       ((mode size-group-mode "mode" "GtkSizeGroupMode" t t)
-                        (ignore-hidden size-group-ignore-hidden "ignore-hidden"
-                         "gboolean" t t)))
+                       ((ignore-hidden size-group-ignore-hidden "ignore-hidden"
+                         "gboolean" t t)
+                        (mode size-group-mode "mode" "GtkSizeGroupMode" t t)))
 
 (define-g-object-class "GtkStatusIcon" status-icon
                        (:superclass g-object :export t :interfaces nil
                         :type-initializer "gtk_status_icon_get_type")
-                       ((pixbuf status-icon-pixbuf "pixbuf" "GdkPixbuf" t t)
+                       ((blinking status-icon-blinking "blinking" "gboolean" t
+                         t)
+                        (embedded status-icon-embedded "embedded" "gboolean" t
+                         nil)
                         (file status-icon-file "file" "gchararray" nil t)
-                        (stock status-icon-stock "stock" "gchararray" t t)
+                        (gicon status-icon-gicon "gicon" "GIcon" t t)
+                        (has-tooltip status-icon-has-tooltip "has-tooltip"
+                         "gboolean" t t)
                         (icon-name status-icon-icon-name "icon-name"
                          "gchararray" t t)
-                        (gicon status-icon-gicon "gicon" "GIcon" t t)
-                        (storage-type status-icon-storage-type "storage-type"
-                         "GtkImageType" t nil)
-                        (size status-icon-size "size" "gint" t nil)
-                        (screen status-icon-screen "screen" "GdkScreen" t t)
-                        (visible status-icon-visible "visible" "gboolean" t t)
                         (orientation status-icon-orientation "orientation"
                          "GtkOrientation" t nil)
-                        (embedded status-icon-embedded "embedded" "gboolean" t
-                         nil)
-                        (blinking status-icon-blinking "blinking" "gboolean" t
-                         t)
-                        (has-tooltip status-icon-has-tooltip "has-tooltip"
-                         "gboolean" t t)
+                        (pixbuf status-icon-pixbuf "pixbuf" "GdkPixbuf" t t)
+                        (screen status-icon-screen "screen" "GdkScreen" t t)
+                        (size status-icon-size "size" "gint" t nil)
+                        (stock status-icon-stock "stock" "gchararray" t t)
+                        (storage-type status-icon-storage-type "storage-type"
+                         "GtkImageType" t nil)
+                        (tooltip-markup status-icon-tooltip-markup
+                         "tooltip-markup" "gchararray" t t)
                         (tooltip-text status-icon-tooltip-text "tooltip-text"
                          "gchararray" t t)
-                        (tooltip-markup status-icon-tooltip-markup
-                         "tooltip-markup" "gchararray" t t)))
+                        (visible status-icon-visible "visible" "gboolean" t t)))
 
 (define-g-object-class "GtkTextBuffer" text-buffer
                        (:superclass g-object :export t :interfaces nil
                         :type-initializer "gtk_text_buffer_get_type")
-                       ((tag-table text-buffer-tag-table "tag-table"
-                         "GtkTextTagTable" t nil)
-                        (text text-buffer-text "text" "gchararray" t t)
-                        (has-selection text-buffer-has-selection
-                         "has-selection" "gboolean" t nil)
+                       ((copy-target-list text-buffer-copy-target-list
+                         "copy-target-list" "GtkTargetList" t nil)
                         (cursor-position text-buffer-cursor-position
                          "cursor-position" "gint" t nil)
-                        (copy-target-list text-buffer-copy-target-list
-                         "copy-target-list" "GtkTargetList" t nil)
+                        (has-selection text-buffer-has-selection
+                         "has-selection" "gboolean" t nil)
                         (paste-target-list text-buffer-paste-target-list
-                         "paste-target-list" "GtkTargetList" t nil)))
+                         "paste-target-list" "GtkTargetList" t nil)
+                        (tag-table text-buffer-tag-table "tag-table"
+                         "GtkTextTagTable" t nil)
+                        (text text-buffer-text "text" "gchararray" t t)))
 
 (define-g-object-class "GtkTextChildAnchor" text-child-anchor
                        (:superclass g-object :export t :interfaces nil
 (define-g-object-class "GtkTextMark" text-mark
                        (:superclass g-object :export t :interfaces nil
                         :type-initializer "gtk_text_mark_get_type")
-                       ((name text-mark-name "name" "gchararray" t nil)
-                        (left-gravity text-mark-left-gravity "left-gravity"
-                         "gboolean" t nil)))
+                       ((left-gravity text-mark-left-gravity "left-gravity"
+                         "gboolean" t nil)
+                        (name text-mark-name "name" "gchararray" t nil)))
 
 (define-g-object-class "GtkTextTag" text-tag
                        (:superclass g-object :export t :interfaces nil
                         :type-initializer "gtk_text_tag_get_type")
-                       ((name text-tag-name "name" "gchararray" t nil)
+                       ((accumulative-margin text-tag-accumulative-margin
+                         "accumulative-margin" "gboolean" t t)
                         (background text-tag-background "background"
                          "gchararray" nil t)
-                        (foreground text-tag-foreground "foreground"
-                         "gchararray" nil t)
+                        (background-full-height text-tag-background-full-height
+                         "background-full-height" "gboolean" t t)
+                        (background-full-height-set
+                         text-tag-background-full-height-set
+                         "background-full-height-set" "gboolean" t t)
                         (background-gdk text-tag-background-gdk
                          "background-gdk" "GdkColor" t t)
-                        (foreground-gdk text-tag-foreground-gdk
-                         "foreground-gdk" "GdkColor" t t)
+                        (background-set text-tag-background-set
+                         "background-set" "gboolean" t t)
                         (background-stipple text-tag-background-stipple
                          "background-stipple" "GdkPixmap" t t)
-                        (foreground-stipple text-tag-foreground-stipple
-                         "foreground-stipple" "GdkPixmap" t t)
+                        (background-stipple-set text-tag-background-stipple-set
+                         "background-stipple-set" "gboolean" t t)
+                        (direction text-tag-direction "direction"
+                         "GtkTextDirection" t t)
+                        (editable text-tag-editable "editable" "gboolean" t t)
+                        (editable-set text-tag-editable-set "editable-set"
+                         "gboolean" t t)
+                        (family text-tag-family "family" "gchararray" t t)
+                        (family-set text-tag-family-set "family-set" "gboolean"
+                         t t)
                         (font text-tag-font "font" "gchararray" t t)
                         (font-desc text-tag-font-desc "font-desc"
                          "PangoFontDescription" t t)
-                        (family text-tag-family "family" "gchararray" t t)
-                        (style text-tag-style "style" "PangoStyle" t t)
-                        (variant text-tag-variant "variant" "PangoVariant" t t)
-                        (weight text-tag-weight "weight" "gint" t t)
-                        (stretch text-tag-stretch "stretch" "PangoStretch" t t)
-                        (size text-tag-size "size" "gint" t t)
-                        (size-points text-tag-size-points "size-points"
-                         "gdouble" t t)
-                        (scale text-tag-scale "scale" "gdouble" t t)
-                        (pixels-above-lines text-tag-pixels-above-lines
-                         "pixels-above-lines" "gint" t t)
-                        (pixels-below-lines text-tag-pixels-below-lines
-                         "pixels-below-lines" "gint" t t)
-                        (pixels-inside-wrap text-tag-pixels-inside-wrap
-                         "pixels-inside-wrap" "gint" t t)
-                        (editable text-tag-editable "editable" "gboolean" t t)
-                        (wrap-mode text-tag-wrap-mode "wrap-mode" "GtkWrapMode"
+                        (foreground text-tag-foreground "foreground"
+                         "gchararray" nil t)
+                        (foreground-gdk text-tag-foreground-gdk
+                         "foreground-gdk" "GdkColor" t t)
+                        (foreground-set text-tag-foreground-set
+                         "foreground-set" "gboolean" t t)
+                        (foreground-stipple text-tag-foreground-stipple
+                         "foreground-stipple" "GdkPixmap" t t)
+                        (foreground-stipple-set text-tag-foreground-stipple-set
+                         "foreground-stipple-set" "gboolean" t t)
+                        (indent text-tag-indent "indent" "gint" t t)
+                        (indent-set text-tag-indent-set "indent-set" "gboolean"
                          t t)
+                        (invisible text-tag-invisible "invisible" "gboolean" t
+                         t)
+                        (invisible-set text-tag-invisible-set "invisible-set"
+                         "gboolean" t t)
                         (justification text-tag-justification "justification"
                          "GtkJustification" t t)
-                        (direction text-tag-direction "direction"
-                         "GtkTextDirection" t t)
-                        (left-margin text-tag-left-margin "left-margin" "gint"
-                         t t)
-                        (indent text-tag-indent "indent" "gint" t t)
-                        (strikethrough text-tag-strikethrough "strikethrough"
-                         "gboolean" t t)
-                        (right-margin text-tag-right-margin "right-margin"
-                         "gint" t t)
-                        (underline text-tag-underline "underline"
-                         "PangoUnderline" t t)
-                        (rise text-tag-rise "rise" "gint" t t)
-                        (background-full-height text-tag-background-full-height
-                         "background-full-height" "gboolean" t t)
+                        (justification-set text-tag-justification-set
+                         "justification-set" "gboolean" t t)
                         (language text-tag-language "language" "gchararray" t
                          t)
-                        (tabs text-tag-tabs "tabs" "PangoTabArray" t t)
-                        (invisible text-tag-invisible "invisible" "gboolean" t
-                         t)
+                        (language-set text-tag-language-set "language-set"
+                         "gboolean" t t)
+                        (left-margin text-tag-left-margin "left-margin" "gint"
+                         t t)
+                        (left-margin-set text-tag-left-margin-set
+                         "left-margin-set" "gboolean" t t)
+                        (name text-tag-name "name" "gchararray" t nil)
                         (paragraph-background text-tag-paragraph-background
                          "paragraph-background" "gchararray" nil t)
                         (paragraph-background-gdk
                          text-tag-paragraph-background-gdk
                          "paragraph-background-gdk" "GdkColor" t t)
-                        (accumulative-margin text-tag-accumulative-margin
-                         "accumulative-margin" "gboolean" t t)
-                        (background-set text-tag-background-set
-                         "background-set" "gboolean" t t)
-                        (foreground-set text-tag-foreground-set
-                         "foreground-set" "gboolean" t t)
-                        (background-stipple-set text-tag-background-stipple-set
-                         "background-stipple-set" "gboolean" t t)
-                        (foreground-stipple-set text-tag-foreground-stipple-set
-                         "foreground-stipple-set" "gboolean" t t)
-                        (family-set text-tag-family-set "family-set" "gboolean"
-                         t t)
-                        (style-set text-tag-style-set "style-set" "gboolean" t
-                         t)
-                        (variant-set text-tag-variant-set "variant-set"
-                         "gboolean" t t)
-                        (weight-set text-tag-weight-set "weight-set" "gboolean"
-                         t t)
-                        (stretch-set text-tag-stretch-set "stretch-set"
-                         "gboolean" t t)
-                        (size-set text-tag-size-set "size-set" "gboolean" t t)
-                        (scale-set text-tag-scale-set "scale-set" "gboolean" t
-                         t)
+                        (paragraph-background-set
+                         text-tag-paragraph-background-set
+                         "paragraph-background-set" "gboolean" t t)
+                        (pixels-above-lines text-tag-pixels-above-lines
+                         "pixels-above-lines" "gint" t t)
                         (pixels-above-lines-set text-tag-pixels-above-lines-set
                          "pixels-above-lines-set" "gboolean" t t)
+                        (pixels-below-lines text-tag-pixels-below-lines
+                         "pixels-below-lines" "gint" t t)
                         (pixels-below-lines-set text-tag-pixels-below-lines-set
                          "pixels-below-lines-set" "gboolean" t t)
+                        (pixels-inside-wrap text-tag-pixels-inside-wrap
+                         "pixels-inside-wrap" "gint" t t)
                         (pixels-inside-wrap-set text-tag-pixels-inside-wrap-set
                          "pixels-inside-wrap-set" "gboolean" t t)
-                        (editable-set text-tag-editable-set "editable-set"
+                        (right-margin text-tag-right-margin "right-margin"
+                         "gint" t t)
+                        (right-margin-set text-tag-right-margin-set
+                         "right-margin-set" "gboolean" t t)
+                        (rise text-tag-rise "rise" "gint" t t)
+                        (rise-set text-tag-rise-set "rise-set" "gboolean" t t)
+                        (scale text-tag-scale "scale" "gdouble" t t)
+                        (scale-set text-tag-scale-set "scale-set" "gboolean" t
+                         t)
+                        (size text-tag-size "size" "gint" t t)
+                        (size-points text-tag-size-points "size-points"
+                         "gdouble" t t)
+                        (size-set text-tag-size-set "size-set" "gboolean" t t)
+                        (stretch text-tag-stretch "stretch" "PangoStretch" t t)
+                        (stretch-set text-tag-stretch-set "stretch-set"
                          "gboolean" t t)
-                        (wrap-mode-set text-tag-wrap-mode-set "wrap-mode-set"
+                        (strikethrough text-tag-strikethrough "strikethrough"
                          "gboolean" t t)
-                        (justification-set text-tag-justification-set
-                         "justification-set" "gboolean" t t)
-                        (left-margin-set text-tag-left-margin-set
-                         "left-margin-set" "gboolean" t t)
-                        (indent-set text-tag-indent-set "indent-set" "gboolean"
-                         t t)
                         (strikethrough-set text-tag-strikethrough-set
                          "strikethrough-set" "gboolean" t t)
-                        (right-margin-set text-tag-right-margin-set
-                         "right-margin-set" "gboolean" t t)
+                        (style text-tag-style "style" "PangoStyle" t t)
+                        (style-set text-tag-style-set "style-set" "gboolean" t
+                         t)
+                        (tabs text-tag-tabs "tabs" "PangoTabArray" t t)
+                        (tabs-set text-tag-tabs-set "tabs-set" "gboolean" t t)
+                        (underline text-tag-underline "underline"
+                         "PangoUnderline" t t)
                         (underline-set text-tag-underline-set "underline-set"
                          "gboolean" t t)
-                        (rise-set text-tag-rise-set "rise-set" "gboolean" t t)
-                        (background-full-height-set
-                         text-tag-background-full-height-set
-                         "background-full-height-set" "gboolean" t t)
-                        (language-set text-tag-language-set "language-set"
+                        (variant text-tag-variant "variant" "PangoVariant" t t)
+                        (variant-set text-tag-variant-set "variant-set"
                          "gboolean" t t)
-                        (tabs-set text-tag-tabs-set "tabs-set" "gboolean" t t)
-                        (invisible-set text-tag-invisible-set "invisible-set"
+                        (weight text-tag-weight "weight" "gint" t t)
+                        (weight-set text-tag-weight-set "weight-set" "gboolean"
+                         t t)
+                        (wrap-mode text-tag-wrap-mode "wrap-mode" "GtkWrapMode"
+                         t t)
+                        (wrap-mode-set text-tag-wrap-mode-set "wrap-mode-set"
                          "gboolean" t t)
-                        (paragraph-background-set
-                         text-tag-paragraph-background-set
-                         "paragraph-background-set" "gboolean" t t)
                         (:cffi priority text-tag-priority :int
                          "gtk_text_tag_get_priority"
                          "gtk_text_tag_set_priority")))
 (define-g-object-class "GtkWindowGroup" window-group
                        (:superclass g-object :export t :interfaces nil
                         :type-initializer "gtk_window_group_get_type")
-                       nil)
+                       ((:cffi windows window-group-windows
+                         (glist (g-object window))
+                         "gtk_window_group_list_windows" nil)))
 
 (define-g-object-class "GtkToggleAction" toggle-action
                        (:superclass action :export t :interfaces
                         ("GtkBuildable") :type-initializer
                         "gtk_toggle_action_get_type")
-                       ((draw-as-radio toggle-action-draw-as-radio
-                         "draw-as-radio" "gboolean" t t)
-                        (active toggle-action-active "active" "gboolean" t t)))
+                       ((active toggle-action-active "active" "gboolean" t t)
+                        (draw-as-radio toggle-action-draw-as-radio
+                         "draw-as-radio" "gboolean" t t)))
 
 (define-g-object-class "GtkRecentAction" recent-action
                        (:superclass action :export t :interfaces
                        (:superclass toggle-action :export t :interfaces
                         ("GtkBuildable") :type-initializer
                         "gtk_radio_action_get_type")
-                       ((value radio-action-value "value" "gint" t t)
+                       ((current-value radio-action-current-value
+                         "current-value" "gint" t t)
                         (group radio-action-group "group" "GtkRadioAction" nil
                          t)
-                        (current-value radio-action-current-value
-                         "current-value" "gint" t t)))
+                        (value radio-action-value "value" "gint" t t)))
 
 (define-g-object-class "GtkItemFactory" item-factory
                        (:superclass gtk-object :export t :interfaces nil
index 7089353..e3d910f 100644 (file)
@@ -17,7 +17,7 @@
 
 ; TODO: gtk_main_do_event
 
-(defcfun (grad-add "gtk_grab_add") :void
+(defcfun (grab-add "gtk_grab_add") :void
   (widget g-object))
 
 (export 'grab-add)
diff --git a/gtk/gtk.window-group.lisp b/gtk/gtk.window-group.lisp
new file mode 100644 (file)
index 0000000..610b367
--- /dev/null
@@ -0,0 +1,13 @@
+(in-package :gtk)
+
+(defcfun (window-group-add-window "gtk_window_group_add_window") :void
+  (window-group (g-object window-group))
+  (window (g-object gtk-window)))
+
+(export 'window-group-add-window)
+
+(defcfun (window-group-remove-window "gtk_window_group_remove_window") :void
+  (window-group (g-object window-group))
+  (window (g-object gtk-window)))
+
+(export 'window-group-remove-window)
index 311854e..85867f5 100644 (file)
 
 (export 'present-window-with-time)
 
-(defcfun (iconify-window "gtk_window_iconify") :void
+(defcfun (window-iconify "gtk_window_iconify") :void
   (window (g-object gtk-window)))
 
-(export 'iconify-window)
+(export 'window-iconify)
 
-(defcfun (deiconify-window "gtk_window_deiconify") :void
+(defcfun (window-deiconify "gtk_window_deiconify") :void
   (window (g-object gtk-window)))
 
-(export 'deiconify-window)
+(export 'window-deiconify)
 
-(defcfun (stick-window "gtk_window_stick") :void
+(defcfun (window-stick "gtk_window_stick") :void
   (window (g-object gtk-window)))
 
-(export 'stick-window)
+(export 'window-stick)
 
-(defcfun (unstick-window "gtk_window_unstick") :void
+(defcfun (window-unstick "gtk_window_unstick") :void
   (window (g-object gtk-window)))
 
-(export 'unstick-window)
+(export 'window-unstick)
 
-(defcfun (maximize-window "gtk_window_maximize") :void
+(defcfun (window-maximize "gtk_window_maximize") :void
   (window (g-object gtk-window)))
 
-(export 'maximize-window)
+(export 'window-maximize)
 
-(defcfun (unmaximize-window "gtk_window_unmaximize") :void
+(defcfun (window-unmaximize "gtk_window_unmaximize") :void
   (window (g-object gtk-window)))
 
-(export 'unmaximize-window)
+(export 'window-unmaximize)
 
-(defcfun (fullscreen-window "gtk_window_fullscreen") :void
+(defcfun (window-fullscreen "gtk_window_fullscreen") :void
   (window (g-object gtk-window)))
 
-(export 'fullscreen-window)
+(export 'window-fullscreen)
 
-(defcfun (unfullscreen-window "gtk_window_unfullscreen") :void
+(defcfun (window-unfullscreen "gtk_window_unfullscreen") :void
   (window (g-object gtk-window)))
 
-(export 'unfullscreen-window)
+(export 'window-unfullscreen)
 
 (defcfun (gtk-window-set-keep-above "gtk_window_set_keep_above") :void
   (window (g-object gtk-window))
 
 (export 'gtk-window-size)
 
-(defcfun (move-window "gtk_window_move") :void
+(defcfun (window-move "gtk_window_move") :void
   (window (g-object gtk-window))
   (x :int)
   (y :int))
 
-(export 'move-window)
+(export 'window-move)
 
 (defcfun (gtk-window-parse-geometry "gtk_window_parse_geometry") :boolean
   (window (g-object gtk-window))
 
 (export 'reshow-window-with-initial-size)
 
-(defcfun (resize-window "gtk_window_resize") :void
+(defcfun (window-resize "gtk_window_resize") :void
   (window (g-object gtk-window))
   (width :int)
   (height :int))
 
-(export 'resize-window)
+(export 'window-resize)
 
-(defcfun (default-window-icon-list "gtk_window_get_default_icon_list") (glist pixbuf))
+(defcfun (default-window-icon-list "gtk_window_get_default_icon_list") (glist (g-object pixbuf)))
 
 (defcfun (set-default-window-icon-list "gtk_window_set_default_icon_list") :boolean
-  (icon-list (glist pixbuf)))
+  (icon-list (glist (g-object pixbuf))))
 
 (defun (setf default-window-icon-list) (icon-list)
   (set-default-window-icon-list icon-list)
 (defcfun (set-default-window-icon-name "gtk_window_set_default_icon_name") :void
   (icon-name :string))
 
-(defun (setf default-window-icon) (icon)
-  (etypecase icon
-    (pixbuf (set-default-window-icon icon))
-    (string (set-default-window-icon-name icon))))
+(defun (setf window-default-icon) (icon)
+  (set-default-window-icon icon))
 
-(export 'default-window-icon)
+(defun (setf window-default-icon-name) (name)
+  (set-default-window-icon-name name))
+
+(export 'window-default-icon)
 
 (defcfun (set-window-auto-startup-notification "gtk_window_set_auto_startup_notification") :void
   (setting :boolean))
   (window-group (g-object window-group)))
 
 (export 'gtk-window-group-list-windows)
+
+(defcfun (gtk-window-mnemonic-activate "gtk_window_mnemonic_activate") :boolean
+  (window (g-object gtk-window))
+  (keyval :uint)
+  (modifier modifier-type))
+
+(export 'gtk-window-mnemonic-activate)
index e76ae5d..d152bc5 100644 (file)
@@ -6,6 +6,11 @@
 
 (in-package :mm-test)
 
+(defun get-object (ptr)
+  (when (cffi:pointerp ptr) (setf ptr (cffi:pointer-address ptr)))
+  (or (gethash ptr gobject::*foreign-gobjects-strong*)
+      (gethash ptr gobject::*foreign-gobjects-weak*)))
+
 (defun do-gc ()
   (gc :full t)
   (gobject::activate-gc-hooks)
   (gobject::activate-gc-hooks)
   (gc :full t))
 
+(defun object-handlers (object)
+  (when object
+    (remove nil (gobject::g-object-signal-handlers object))))
+
 (defun print-refs-table (table &optional (stream *standard-output*))
   (iter (for (ptr object) in-hashtable table)
-        (format stream "~A => ~A (~A refs)~%"
-                ptr object (gobject::ref-count object))))
+        (format stream "~A => ~A (~A refs~@[~*, floating~])~@[ handlers: ~A~]~%"
+                ptr object (gobject::ref-count object)
+                (gobject.ffi:g-object-is-floating (cffi:make-pointer ptr))
+                (object-handlers object))))
 
 (defun print-refs (&optional (stream *standard-output*))
   (format stream "Strong:~%")
       (gc :full t)
       (gobject::activate-gc-hooks))
     nil))
+
+(defun make-builder (&optional return)
+  (let* ((builder (make-instance 'gtk:builder
+                                 :from-file (namestring (merge-pathnames "demo/demo1.ui" gtk-demo::*src-location*))))
+         (text-view (builder-get-object builder "textview1"))
+         (window (builder-get-object builder "window1")))
+    (builder-connect-signals-simple
+     builder
+     `(("quit_cb"
+        ,(lambda (&rest args)
+                 (print args)
+                 (object-destroy window)))))
+    (when return builder)))