@menu
* gdk Classes::
+* gdk Structs::
+* gdk Opaque Boxeds::
* gdk Enums::
* gdk Flags::
@end menu
@end itemize
+@node gdk Structs
+@section gdk Structs
+
+@menu
+* color::
+* event::
+* event-button::
+* event-client::
+* event-client-16::
+* event-client-32::
+* event-client-8::
+* event-configure::
+* event-crossing::
+* event-dnd::
+* event-expose::
+* event-focus::
+* event-grab-broken::
+* event-key::
+* event-motion::
+* event-no-expose::
+* event-owner-change::
+* event-property::
+* event-proximity::
+* event-scroll::
+* event-selection::
+* event-setting::
+* event-visibility::
+* event-window-state::
+* font::
+* geometry::
+* rectangle::
+@end menu
+
+Reference of structs in package GDK
+
+@node color
+@subsection color
+@Class color
+
+Superclasses: @code{structure-object}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item blue
+
+@item green
+
+@item pixel
+
+@item red
+
+@end itemize
+
+@node event
+@subsection event
+@Class event
+
+Superclasses: @code{structure-object}
+
+Subclasses: @ref{event-key}, @ref{event-button}, @ref{event-scroll}, @ref{event-motion}, @ref{event-expose}, @ref{event-visibility}, @ref{event-crossing}, @ref{event-focus}, @ref{event-configure}, @ref{event-property}, @ref{event-selection}, @ref{event-dnd}, @ref{event-proximity}, @ref{event-client}, @ref{event-no-expose}, @ref{event-window-state}, @ref{event-setting}, @ref{event-owner-change}, @ref{event-grab-broken}
+
+Slots:
+@itemize
+@item send-event
+
+@item type
+
+@item window
+
+@end itemize
+
+@node event-button
+@subsection event-button
+@Class event-button
+
+Superclasses: @ref{event}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item axes
+
+@item button
+
+@item device
+
+@item state
+
+@item time
+
+@item type
+
+@item x
+
+@item x-root
+
+@item y
+
+@item y-root
+
+@end itemize
+
+@node event-client
+@subsection event-client
+@Class event-client
+
+Superclasses: @ref{event}
+
+Subclasses: @ref{event-client-8}, @ref{event-client-16}, @ref{event-client-32}
+
+Slots:
+@itemize
+@item data-format
+
+@item message-time
+
+@item type
+
+@end itemize
+
+@node event-client-16
+@subsection event-client-16
+@Class event-client-16
+
+Superclasses: @ref{event-client}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item data
+
+@item data-format
+
+@end itemize
+
+@node event-client-32
+@subsection event-client-32
+@Class event-client-32
+
+Superclasses: @ref{event-client}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item data
+
+@item data-format
+
+@end itemize
+
+@node event-client-8
+@subsection event-client-8
+@Class event-client-8
+
+Superclasses: @ref{event-client}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item data
+
+@item data-format
+
+@end itemize
+
+@node event-configure
+@subsection event-configure
+@Class event-configure
+
+Superclasses: @ref{event}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item height
+
+@item type
+
+@item width
+
+@item x
+
+@item y
+
+@end itemize
+
+@node event-crossing
+@subsection event-crossing
+@Class event-crossing
+
+Superclasses: @ref{event}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item detail
+
+@item focus
+
+@item mode
+
+@item state
+
+@item sub-window
+
+@item time
+
+@item type
+
+@item x
+
+@item x-root
+
+@item y
+
+@item y-root
+
+@end itemize
+
+@node event-dnd
+@subsection event-dnd
+@Class event-dnd
+
+Superclasses: @ref{event}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item drag-context
+
+@item time
+
+@item type
+
+@item x-root
+
+@item y-root
+
+@end itemize
+
+@node event-expose
+@subsection event-expose
+@Class event-expose
+
+Superclasses: @ref{event}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item area
+
+@item count
+
+@item region
+
+@item type
+
+@end itemize
+
+@node event-focus
+@subsection event-focus
+@Class event-focus
+
+Superclasses: @ref{event}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item in
+
+@item type
+
+@end itemize
+
+@node event-grab-broken
+@subsection event-grab-broken
+@Class event-grab-broken
+
+Superclasses: @ref{event}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item grab-window
+
+@item implicit
+
+@item keyboard
+
+@item type
+
+@end itemize
+
+@node event-key
+@subsection event-key
+@Class event-key
+
+Superclasses: @ref{event}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item group
+
+@item hardware-keycode
+
+@item is-modifier
+
+@item keyval
+
+@item length
+
+@item state
+
+@item string
+
+@item time
+
+@item type
+
+@end itemize
+
+@node event-motion
+@subsection event-motion
+@Class event-motion
+
+Superclasses: @ref{event}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item axes
+
+@item device
+
+@item is-hint
+
+@item state
+
+@item time
+
+@item type
+
+@item x
+
+@item x-root
+
+@item y
+
+@item y-root
+
+@end itemize
+
+@node event-no-expose
+@subsection event-no-expose
+@Class event-no-expose
+
+Superclasses: @ref{event}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item type
+
+@end itemize
+
+@node event-owner-change
+@subsection event-owner-change
+@Class event-owner-change
+
+Superclasses: @ref{event}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item owner
+
+@item reason
+
+@item selection
+
+@item selection-time
+
+@item time
+
+@item type
+
+@end itemize
+
+@node event-property
+@subsection event-property
+@Class event-property
+
+Superclasses: @ref{event}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item atom
+
+@item state
+
+@item time
+
+@item type
+
+@end itemize
+
+@node event-proximity
+@subsection event-proximity
+@Class event-proximity
+
+Superclasses: @ref{event}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item device
+
+@item time
+
+@item type
+
+@end itemize
+
+@node event-scroll
+@subsection event-scroll
+@Class event-scroll
+
+Superclasses: @ref{event}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item device
+
+@item direction
+
+@item state
+
+@item time
+
+@item type
+
+@item x
+
+@item x-root
+
+@item y
+
+@item y-root
+
+@end itemize
+
+@node event-selection
+@subsection event-selection
+@Class event-selection
+
+Superclasses: @ref{event}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item property
+
+@item requestor
+
+@item selection
+
+@item target
+
+@item time
+
+@item type
+
+@end itemize
+
+@node event-setting
+@subsection event-setting
+@Class event-setting
+
+Superclasses: @ref{event}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item action
+
+@item name
+
+@item type
+
+@end itemize
+
+@node event-visibility
+@subsection event-visibility
+@Class event-visibility
+
+Superclasses: @ref{event}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item state
+
+@item type
+
+@end itemize
+
+@node event-window-state
+@subsection event-window-state
+@Class event-window-state
+
+Superclasses: @ref{event}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item changed-mask
+
+@item new-window-state
+
+@item type
+
+@end itemize
+
+@node font
+@subsection font
+@Class font
+
+Superclasses: @code{structure-object}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item ascent
+
+@item descent
+
+@item type
+
+@end itemize
+
+@node geometry
+@subsection geometry
+@Class geometry
+
+Superclasses: @code{structure-object}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item base-height
+
+@item base-width
+
+@item gravity
+
+@item height-increment
+
+@item max-aspect
+
+@item max-height
+
+@item max-width
+
+@item min-aspect
+
+@item min-height
+
+@item min-width
+
+@item width-increment
+
+@end itemize
+
+@node rectangle
+@subsection rectangle
+@Class rectangle
+
+Superclasses: @code{structure-object}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item height
+
+@item width
+
+@item x
+
+@item y
+
+@end itemize
+
+@node gdk Opaque Boxeds
+@section gdk Opaque Boxeds
+
+@menu
+@end menu
+
+Reference of opaque boxeds in package GDK
+
@node gdk Enums
@section gdk Enums
@menu
* gtk Classes::
+* gtk Structs::
+* gtk Opaque Boxeds::
* gtk Enums::
* gtk Flags::
@end menu
-@item cell-background-gdk. Type: GdkColor (flags: readable writable)
+@item cell-background-gdk. Type: @ref{color} (flags: readable writable)
@end itemize
Signals:
@itemize
-@item changed. (@code{string}, GtkTreeIter) -> @code{null} [run-last]
+@item changed. (@code{string}, @ref{tree-iter}) -> @code{null} [run-last]
@end itemize
-@item background-gdk. Type: GdkColor (flags: readable writable)
+@item background-gdk. Type: @ref{color} (flags: readable writable)
-@item foreground-gdk. Type: GdkColor (flags: readable writable)
+@item foreground-gdk. Type: @ref{color} (flags: readable writable)
-@item background-gdk. Type: GdkColor (flags: readable writable)
+@item background-gdk. Type: @ref{color} (flags: readable writable)
-@item color. Type: GdkColor (flags: readable writable)
+@item color. Type: @ref{color} (flags: readable writable)
-@item current-color. Type: GdkColor (flags: readable writable)
+@item current-color. Type: @ref{color} (flags: readable writable)
-@item inner-border. Type: GtkBorder (flags: readable writable)
+@item inner-border. Type: @ref{border} (flags: readable writable)
@item delete-from-cursor. (@ref{delete-type}, @code{integer}) -> @code{null} [run-last, action]
-@item icon-press. (GtkEntryIconPosition, GdkEvent) -> @code{null} [run-last]
+@item icon-press. (GtkEntryIconPosition, @ref{event}) -> @code{null} [run-last]
-@item icon-release. (GtkEntryIconPosition, GdkEvent) -> @code{null} [run-last]
+@item icon-release. (GtkEntryIconPosition, @ref{event}) -> @code{null} [run-last]
@item insert-at-cursor. (@code{string}) -> @code{null} [run-last, action]
@itemize
@item action-activated. (@code{integer}) -> @code{null} [run-last]
-@item cursor-on-match. (@ref{tree-model}, GtkTreeIter) -> @code{boolean} [run-last]
+@item cursor-on-match. (@ref{tree-model}, @ref{tree-iter}) -> @code{boolean} [run-last]
@item insert-prefix. (@code{string}) -> @code{boolean} [run-last]
-@item match-selected. (@ref{tree-model}, GtkTreeIter) -> @code{boolean} [run-last]
+@item match-selected. (@ref{tree-model}, @ref{tree-iter}) -> @code{boolean} [run-last]
@end itemize
Slots:
@itemize
-@item font. Type: GdkFont (flags: readable)
+@item font. Type: @ref{font} (flags: readable)
@item activate-focus. () -> @code{null} [run-last, action]
-@item frame-event. (GdkEvent) -> @code{boolean} [run-last]
+@item frame-event. (@ref{event}) -> @code{boolean} [run-last]
@item keys-changed. () -> @code{null} [run-first]
@itemize
@item activate-cursor-item. () -> @code{boolean} [run-last, action]
-@item item-activated. (GtkTreePath) -> @code{null} [run-last]
+@item item-activated. (@ref{tree-path}) -> @code{null} [run-last]
@item move-cursor. (@ref{movement-step}, @code{integer}) -> @code{boolean} [run-last, action]
@itemize
@item activate. () -> @code{null} [run-first, action]
-@item button-press-event. (GdkEvent) -> @code{boolean} [run-last]
+@item button-press-event. (@ref{event}) -> @code{boolean} [run-last]
-@item button-release-event. (GdkEvent) -> @code{boolean} [run-last]
+@item button-release-event. (@ref{event}) -> @code{boolean} [run-last]
@item popup-menu. (@code{(integer 0)}, @code{(integer 0)}) -> @code{null} [run-first, action]
@item query-tooltip. (@code{integer}, @code{integer}, @code{boolean}, @ref{tooltip}) -> @code{boolean} [run-last]
-@item scroll-event. (GdkEvent) -> @code{boolean} [run-last]
+@item scroll-event. (@ref{event}) -> @code{boolean} [run-last]
@item size-changed. (@code{integer}) -> @code{boolean} [run-last]
@end itemize
Signals:
@itemize
-@item apply-tag. (@ref{text-tag}, GtkTextIter, GtkTextIter) -> @code{null} [run-last]
+@item apply-tag. (@ref{text-tag}, @ref{text-iter}, @ref{text-iter}) -> @code{null} [run-last]
@item begin-user-action. () -> @code{null} [run-last]
@item changed. () -> @code{null} [run-last]
-@item delete-range. (GtkTextIter, GtkTextIter) -> @code{null} [run-last]
+@item delete-range. (@ref{text-iter}, @ref{text-iter}) -> @code{null} [run-last]
@item end-user-action. () -> @code{null} [run-last]
-@item insert-child-anchor. (GtkTextIter, @ref{text-child-anchor}) -> @code{null} [run-last]
+@item insert-child-anchor. (@ref{text-iter}, @ref{text-child-anchor}) -> @code{null} [run-last]
-@item insert-pixbuf. (GtkTextIter, @ref{pixbuf}) -> @code{null} [run-last]
+@item insert-pixbuf. (@ref{text-iter}, @ref{pixbuf}) -> @code{null} [run-last]
-@item insert-text. (GtkTextIter, @code{string}, @code{integer}) -> @code{null} [run-last]
+@item insert-text. (@ref{text-iter}, @code{string}, @code{integer}) -> @code{null} [run-last]
@item mark-deleted. (@ref{text-mark}) -> @code{null} [run-last]
-@item mark-set. (GtkTextIter, @ref{text-mark}) -> @code{null} [run-last]
+@item mark-set. (@ref{text-iter}, @ref{text-mark}) -> @code{null} [run-last]
@item modified-changed. () -> @code{null} [run-last]
@item paste-done. (@ref{clipboard}) -> @code{null} [run-last]
-@item remove-tag. (@ref{text-tag}, GtkTextIter, GtkTextIter) -> @code{null} [run-last]
+@item remove-tag. (@ref{text-tag}, @ref{text-iter}, @ref{text-iter}) -> @code{null} [run-last]
@end itemize
-@item background-gdk. Type: GdkColor (flags: readable writable)
+@item background-gdk. Type: @ref{color} (flags: readable writable)
-@item foreground-gdk. Type: GdkColor (flags: readable writable)
+@item foreground-gdk. Type: @ref{color} (flags: readable writable)
-@item paragraph-background-gdk. Type: GdkColor (flags: readable writable)
+@item paragraph-background-gdk. Type: @ref{color} (flags: readable writable)
@end itemize
Signals:
@itemize
-@item event. (@ref{g-object}, GdkEvent, GtkTextIter) -> @code{boolean} [run-last]
+@item event. (@ref{g-object}, @ref{event}, @ref{text-iter}) -> @code{boolean} [run-last]
@end itemize
Signals:
@itemize
-@item row-changed. (GtkTreePath, GtkTreeIter) -> @code{null} [run-last]
+@item row-changed. (@ref{tree-path}, @ref{tree-iter}) -> @code{null} [run-last]
-@item row-deleted. (GtkTreePath) -> @code{null} [run-first]
+@item row-deleted. (@ref{tree-path}) -> @code{null} [run-first]
-@item row-has-child-toggled. (GtkTreePath, GtkTreeIter) -> @code{null} [run-last]
+@item row-has-child-toggled. (@ref{tree-path}, @ref{tree-iter}) -> @code{null} [run-last]
-@item row-inserted. (GtkTreePath, GtkTreeIter) -> @code{null} [run-first]
+@item row-inserted. (@ref{tree-path}, @ref{tree-iter}) -> @code{null} [run-first]
-@item rows-reordered. (GtkTreePath, GtkTreeIter, @code{foreign-pointer}) -> @code{null} [run-first]
+@item rows-reordered. (@ref{tree-path}, @ref{tree-iter}, @code{foreign-pointer}) -> @code{null} [run-first]
@end itemize
-@item virtual-root. Type: GtkTreePath (flags: readable writable constructor-only)
+@item virtual-root. Type: @ref{tree-path} (flags: readable writable constructor-only)
@item move-cursor. (@ref{movement-step}, @code{integer}) -> @code{boolean} [run-last, action]
-@item row-activated. (GtkTreePath, @ref{tree-view-column}) -> @code{null} [run-last, action]
+@item row-activated. (@ref{tree-path}, @ref{tree-view-column}) -> @code{null} [run-last, action]
-@item row-collapsed. (GtkTreeIter, GtkTreePath) -> @code{null} [run-last]
+@item row-collapsed. (@ref{tree-iter}, @ref{tree-path}) -> @code{null} [run-last]
-@item row-expanded. (GtkTreeIter, GtkTreePath) -> @code{null} [run-last]
+@item row-expanded. (@ref{tree-iter}, @ref{tree-path}) -> @code{null} [run-last]
@item select-all. () -> @code{boolean} [run-last, action]
@item start-interactive-search. () -> @code{boolean} [run-last, action]
-@item test-collapse-row. (GtkTreeIter, GtkTreePath) -> @code{boolean} [run-last]
+@item test-collapse-row. (@ref{tree-iter}, @ref{tree-path}) -> @code{boolean} [run-last]
-@item test-expand-row. (GtkTreeIter, GtkTreePath) -> @code{boolean} [run-last]
+@item test-expand-row. (@ref{tree-iter}, @ref{tree-path}) -> @code{boolean} [run-last]
@item toggle-cursor-row. () -> @code{boolean} [run-last, action]
@itemize
@item accel-closures-changed. () -> @code{null}
-@item button-press-event. (GdkEvent) -> @code{boolean} [run-last]
+@item button-press-event. (@ref{event}) -> @code{boolean} [run-last]
-@item button-release-event. (GdkEvent) -> @code{boolean} [run-last]
+@item button-release-event. (@ref{event}) -> @code{boolean} [run-last]
@item can-activate-accel. (@code{(integer 0)}) -> @code{boolean} [run-last]
@item child-notify. (@code{class-property-info}) -> @code{null} [run-first, no-recurse, detailed, no-hooks]
-@item client-event. (GdkEvent) -> @code{boolean} [run-last]
+@item client-event. (@ref{event}) -> @code{boolean} [run-last]
@item composited-changed. () -> @code{null} [run-last, action]
-@item configure-event. (GdkEvent) -> @code{boolean} [run-last]
+@item configure-event. (@ref{event}) -> @code{boolean} [run-last]
-@item damage-event. (GdkEvent) -> @code{boolean} [run-last]
+@item damage-event. (@ref{event}) -> @code{boolean} [run-last]
-@item delete-event. (GdkEvent) -> @code{boolean} [run-last]
+@item delete-event. (@ref{event}) -> @code{boolean} [run-last]
-@item destroy-event. (GdkEvent) -> @code{boolean} [run-last]
+@item destroy-event. (@ref{event}) -> @code{boolean} [run-last]
@item direction-changed. (@ref{text-direction}) -> @code{null} [run-first]
@item drag-motion. (@ref{drag-context}, @code{integer}, @code{integer}, @code{(integer 0)}) -> @code{boolean} [run-last]
-@item enter-notify-event. (GdkEvent) -> @code{boolean} [run-last]
+@item enter-notify-event. (@ref{event}) -> @code{boolean} [run-last]
-@item event. (GdkEvent) -> @code{boolean} [run-last]
+@item event. (@ref{event}) -> @code{boolean} [run-last]
-@item event-after. (GdkEvent) -> @code{null}
+@item event-after. (@ref{event}) -> @code{null}
-@item expose-event. (GdkEvent) -> @code{boolean} [run-last]
+@item expose-event. (@ref{event}) -> @code{boolean} [run-last]
@item focus. (@ref{direction-type}) -> @code{boolean} [run-last]
-@item focus-in-event. (GdkEvent) -> @code{boolean} [run-last]
+@item focus-in-event. (@ref{event}) -> @code{boolean} [run-last]
-@item focus-out-event. (GdkEvent) -> @code{boolean} [run-last]
+@item focus-out-event. (@ref{event}) -> @code{boolean} [run-last]
-@item grab-broken-event. (GdkEvent) -> @code{boolean} [run-last]
+@item grab-broken-event. (@ref{event}) -> @code{boolean} [run-last]
@item grab-focus. () -> @code{null} [run-last, action]
@item hierarchy-changed. (@ref{widget}) -> @code{null} [run-last]
-@item key-press-event. (GdkEvent) -> @code{boolean} [run-last]
+@item key-press-event. (@ref{event}) -> @code{boolean} [run-last]
-@item key-release-event. (GdkEvent) -> @code{boolean} [run-last]
+@item key-release-event. (@ref{event}) -> @code{boolean} [run-last]
@item keynav-failed. (@ref{direction-type}) -> @code{boolean} [run-last]
-@item leave-notify-event. (GdkEvent) -> @code{boolean} [run-last]
+@item leave-notify-event. (@ref{event}) -> @code{boolean} [run-last]
@item map. () -> @code{null} [run-first]
-@item map-event. (GdkEvent) -> @code{boolean} [run-last]
+@item map-event. (@ref{event}) -> @code{boolean} [run-last]
@item mnemonic-activate. (@code{boolean}) -> @code{boolean} [run-last]
-@item motion-notify-event. (GdkEvent) -> @code{boolean} [run-last]
+@item motion-notify-event. (@ref{event}) -> @code{boolean} [run-last]
@item move-focus. (@ref{direction-type}) -> @code{null} [run-last, action]
-@item no-expose-event. (GdkEvent) -> @code{boolean} [run-last]
+@item no-expose-event. (@ref{event}) -> @code{boolean} [run-last]
@item parent-set. (@ref{widget}) -> @code{null} [run-first]
@item popup-menu. () -> @code{boolean} [run-last, action]
-@item property-notify-event. (GdkEvent) -> @code{boolean} [run-last]
+@item property-notify-event. (@ref{event}) -> @code{boolean} [run-last]
-@item proximity-in-event. (GdkEvent) -> @code{boolean} [run-last]
+@item proximity-in-event. (@ref{event}) -> @code{boolean} [run-last]
-@item proximity-out-event. (GdkEvent) -> @code{boolean} [run-last]
+@item proximity-out-event. (@ref{event}) -> @code{boolean} [run-last]
@item query-tooltip. (@code{integer}, @code{integer}, @code{boolean}, @ref{tooltip}) -> @code{boolean} [run-last]
@item screen-changed. (@ref{screen}) -> @code{null} [run-last]
-@item scroll-event. (GdkEvent) -> @code{boolean} [run-last]
+@item scroll-event. (@ref{event}) -> @code{boolean} [run-last]
-@item selection-clear-event. (GdkEvent) -> @code{boolean} [run-last]
+@item selection-clear-event. (@ref{event}) -> @code{boolean} [run-last]
@item selection-get. (GtkSelectionData, @code{(integer 0)}, @code{(integer 0)}) -> @code{null} [run-last]
-@item selection-notify-event. (GdkEvent) -> @code{boolean} [run-last]
+@item selection-notify-event. (@ref{event}) -> @code{boolean} [run-last]
@item selection-received. (GtkSelectionData, @code{(integer 0)}) -> @code{null} [run-last]
-@item selection-request-event. (GdkEvent) -> @code{boolean} [run-last]
+@item selection-request-event. (@ref{event}) -> @code{boolean} [run-last]
@item show. () -> @code{null} [run-first]
@item show-help. (@ref{widget-help-type}) -> @code{boolean} [run-last, action]
-@item size-allocate. (GdkRectangle) -> @code{null} [run-first]
+@item size-allocate. (@ref{rectangle}) -> @code{null} [run-first]
@item size-request. (GtkRequisition) -> @code{null} [run-first]
@item unmap. () -> @code{null} [run-first]
-@item unmap-event. (GdkEvent) -> @code{boolean} [run-last]
+@item unmap-event. (@ref{event}) -> @code{boolean} [run-last]
@item unrealize. () -> @code{null} [run-last]
-@item visibility-notify-event. (GdkEvent) -> @code{boolean} [run-last]
+@item visibility-notify-event. (@ref{event}) -> @code{boolean} [run-last]
-@item window-state-event. (GdkEvent) -> @code{boolean} [run-last]
+@item window-state-event. (@ref{event}) -> @code{boolean} [run-last]
@end itemize
None
+@node gtk Structs
+@section gtk Structs
+
+@menu
+* border::
+* progress-display::
+* progress-window::
+* tree-iter::
+* tree-node::
+@end menu
+
+Reference of structs in package GTK
+
+@node border
+@subsection border
+@Class border
+
+Superclasses: @code{structure-object}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item bottom
+
+@item left
+
+@item right
+
+@item top
+
+@end itemize
+
+@node progress-display
+@subsection progress-display
+@Class progress-display
+
+Superclasses: @code{structure-object}
+
+Subclasses: @ref{progress-window}
+
+Slots:
+@itemize
+@item bar
+
+@item count
+
+@item current
+
+@item name
+
+@item parent
+
+@item time-started
+
+@end itemize
+
+@node progress-window
+@subsection progress-window
+@Class progress-window
+
+Superclasses: @ref{progress-display}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item box
+
+@item window
+
+@end itemize
+
+@node tree-iter
+@subsection tree-iter
+@Class tree-iter
+
+Superclasses: @code{structure-object}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item stamp
+
+@item user-data
+
+@item user-data-2
+
+@item user-data-3
+
+@end itemize
+
+@node tree-node
+@subsection tree-node
+@Class tree-node
+
+Superclasses: @code{structure-object}
+
+Subclasses: None
+
+Slots:
+@itemize
+@item children
+
+@item id
+
+@item item
+
+@item parent
+
+@item tree
+
+@end itemize
+
+@node gtk Opaque Boxeds
+@section gtk Opaque Boxeds
+
+@menu
+* text-iter::
+* tree-path::
+@end menu
+
+Reference of opaque boxeds in package GTK
+
+@node text-iter
+@subsection text-iter
+@Class text-iter
+
+Superclasses: @ref{g-boxed-opaque}
+
+Slots:
+None
+
+
+@node tree-path
+@subsection tree-path
+@Class tree-path
+
+Superclasses: @ref{g-boxed-opaque}
+
+Slots:
+None
+
+
@node gtk Enums
@section gtk Enums
#:generate-texinfo-for-package
#:get-enums
#:generate-texinfo-for-enum
- #:generate-texinfo-for-packages))
+ #:generate-texinfo-for-packages
+ #:get-flags
+ #:get-structs
+ #:get-opaque-boxeds))
(in-package :gtk-doc-introspection)
(when (eq (symbol-package type) package)
(collect type))))
+(defun get-structs (package)
+ (when (symbolp package) (setf package (find-package package)))
+ (iter (for symbol in-package package :external-only t)
+ (for class = (find-class symbol nil))
+ (when (and class (typep class 'structure-class))
+ (collect class))))
+
+(defun get-opaque-boxeds (package)
+ (when (symbolp package) (setf package (find-package package)))
+ (iter (for symbol in-package package :external-only t)
+ (for class = (find-class symbol nil))
+ (when (and class (subtypep class 'g-boxed-opaque))
+ (collect class))))
+
(defvar *doc-packages* nil)
(defun generate-texinfo-for-packages (directory packages)
(with-open-file (stream file :direction :output :if-exists :supersede)
(let ((classes (sort (copy-list (get-gobject-classes package)) #'string< :key #'class-name))
(enums (sort (copy-list (get-enums package)) #'string<))
- (flags (sort (copy-list (get-flags package)) #'string<)))
+ (flags (sort (copy-list (get-flags package)) #'string<))
+ (structs (sort (copy-list (get-structs package)) #'string< :key #'class-name))
+ (opaque-boxeds (sort (copy-list (get-opaque-boxeds package)) #'string< :key #'class-name)))
(format stream "@menu~%")
(format stream "* ~A Classes::~%" (string-downcase (package-name package)))
+ (format stream "* ~A Structs::~%" (string-downcase (package-name package)))
+ (format stream "* ~A Opaque Boxeds::~%" (string-downcase (package-name package)))
(format stream "* ~A Enums::~%" (string-downcase (package-name package)))
(format stream "* ~A Flags::~%" (string-downcase (package-name package)))
(format stream "@end menu~%~%")
+
(format stream "@node ~A Classes~%" (string-downcase (package-name package)))
(format stream "@section ~A Classes~%~%" (string-downcase (package-name package)))
(format stream "@menu~%")
(generate-texinfo-for-class class stream)
(format stream "~%"))
+ (format stream "@node ~A Structs~%" (string-downcase (package-name package)))
+ (format stream "@section ~A Structs~%~%" (string-downcase (package-name package)))
+ (format stream "@menu~%")
+ (iter (for struct in structs)
+ (format stream "* ~A::~%" (string-downcase (symbol-name (class-name struct)))))
+ (format stream "@end menu~%~%")
+ (format stream "Reference of structs in package ~A~%~%" (package-name package))
+ (iter (for struct in structs)
+ (generate-texinfo-for-struct struct stream)
+ (format stream "~%"))
+
+ (format stream "@node ~A Opaque Boxeds~%" (string-downcase (package-name package)))
+ (format stream "@section ~A Opaque Boxeds~%~%" (string-downcase (package-name package)))
+ (format stream "@menu~%")
+ (iter (for boxed in opaque-boxeds)
+ (format stream "* ~A::~%" (string-downcase (symbol-name (class-name boxed)))))
+ (format stream "@end menu~%~%")
+ (format stream "Reference of opaque boxeds in package ~A~%~%" (package-name package))
+ (iter (for boxed in opaque-boxeds)
+ (generate-texinfo-for-opaque-boxed boxed stream)
+ (format stream "~%"))
+
(format stream "@node ~A Enums~%" (string-downcase (package-name package)))
(format stream "@section ~A Enums~%~%" (string-downcase (package-name package)))
(format stream "@menu~%")
((g-type= +g-type-string+ type) "@code{string}")
((g-type= +g-type-boolean+ type) "@code{boolean}")
((g-type= +g-type-pointer+ type) "@code{foreign-pointer}")
+ ((and (g-type= (g-type-fundamental type) "GBoxed")
+ (gethash (g-type-string type) gobject::*g-type-name->g-boxed-foreign-info*))
+ (symbol-texi-ref (gobject::g-boxed-info-name (gethash (g-type-string type)
+ gobject::*g-type-name->g-boxed-foreign-info*))))
((and (g-type= (g-type-fundamental type) "GEnum")
(gethash (g-type-string type) gobject::*registered-enum-types*))
(symbol-texi-ref (gethash (g-type-string type) gobject::*registered-enum-types*)))
(generate-texinfo-for-signal class signal stream))
(format stream "@end itemize~%")))))
+(defun generate-texinfo-for-struct (class stream)
+ (when (symbolp class) (setf class (find-class class)))
+ (format stream "@node ~A~%" (string-downcase (symbol-name (class-name class))))
+ (format stream "@subsection ~A~%"(string-downcase (symbol-name (class-name class))))
+ (format stream "@Class ~A~%~%" (string-downcase (symbol-name (class-name class))))
+ (format stream "Superclasses: ~{~A~^, ~}~%~%" (mapcar #'texi-ref (class-direct-superclasses class)))
+ (format stream "Subclasses: ")
+ (if (class-direct-subclasses class)
+ (format stream "~{~A~^, ~}~%~%" (mapcar #'texi-ref (class-direct-subclasses class)))
+ (format stream "None~%~%"))
+ (format stream "Slots:~%")
+ (let ((slots (sort (copy-list (class-direct-slots class)) #'string< :key #'slot-definition-name)))
+ (if (null slots)
+ (format stream "None~%~%")
+ (progn
+ (format stream "@itemize~%")
+ (iter (for slot in slots)
+ (generate-texinfo-for-slot class slot stream))
+ (format stream "@end itemize~%")))))
+
+(defun generate-texinfo-for-opaque-boxed (class stream)
+ (when (symbolp class) (setf class (find-class class)))
+ (format stream "@node ~A~%" (string-downcase (symbol-name (class-name class))))
+ (format stream "@subsection ~A~%"(string-downcase (symbol-name (class-name class))))
+ (format stream "@Class ~A~%~%" (string-downcase (symbol-name (class-name class))))
+ (format stream "Superclasses: ~{~A~^, ~}~%~%" (mapcar #'texi-ref (class-direct-superclasses class)))
+ (format stream "Slots:~%")
+ (let ((slots (sort (copy-list (class-direct-slots class)) #'string< :key #'slot-definition-name)))
+ (if (null slots)
+ (format stream "None~%~%")
+ (progn
+ (format stream "@itemize~%")
+ (iter (for slot in slots)
+ (generate-texinfo-for-slot class slot stream))
+ (format stream "@end itemize~%")))))
+
(defun generate-texinfo-for-slot (class slot stream)
(format stream "@item ~A" (string-downcase (slot-definition-name slot)))
(ignore-errors