;; -*- scheme -*-

; object definitions ...
(define-object CanvasComponent
  (in-module "Bonobo")
  (parent "BonoboObject")
  (c-name "BonoboCanvasComponent")
  (gtype-id "BONOBO_TYPE_CANVAS_COMPONENT")
)

(define-object CanvasItem
  (in-module "Bonobo")
  (parent "GnomeCanvasItem")
  (c-name "BonoboCanvasItem")
  (gtype-id "BONOBO_TYPE_CANVAS_ITEM")
)

(define-object Control
  (in-module "Bonobo")
  (parent "BonoboObject")
  (c-name "BonoboControl")
  (gtype-id "BONOBO_TYPE_CONTROL")
)

(define-object ControlFrame
  (in-module "Bonobo")
  (parent "BonoboObject")
  (c-name "BonoboControlFrame")
  (gtype-id "BONOBO_TYPE_CONTROL_FRAME")
)

(define-object Dock
  (in-module "Bonobo")
  (parent "GtkContainer")
  (c-name "BonoboDock")
  (gtype-id "BONOBO_TYPE_DOCK")
)

(define-object DockBand
  (in-module "Bonobo")
  (parent "GtkContainer")
  (c-name "BonoboDockBand")
  (gtype-id "BONOBO_TYPE_DOCK_BAND")
)

(define-object DockItem
  (in-module "Bonobo")
  (parent "GtkBin")
  (c-name "BonoboDockItem")
  (gtype-id "BONOBO_TYPE_DOCK_ITEM")
)

(define-object Engine
  (in-module "Bonobo")
  (parent "GObject")
  (c-name "BonoboUIEngine")
  (gtype-id "BONOBO_TYPE_UI_ENGINE")
)

(define-object Plug
  (in-module "Bonobo")
  (parent "GtkPlug")
  (c-name "BonoboPlug")
  (gtype-id "BONOBO_TYPE_PLUG")
)

(define-object PropertyControl
  (in-module "Bonobo")
  (parent "BonoboObject")
  (c-name "BonoboPropertyControl")
  (gtype-id "BONOBO_TYPE_PROPERTY_CONTROL")
)

(define-object Selector
  (in-module "Bonobo")
  (parent "GtkDialog")
  (c-name "BonoboSelector")
  (gtype-id "BONOBO_TYPE_SELECTOR")
)

(define-object SelectorWidget
  (in-module "Bonobo")
  (parent "GtkVBox")
  (c-name "BonoboSelectorWidget")
  (gtype-id "BONOBO_TYPE_SELECTOR_WIDGET")
)

(define-object Socket
  (in-module "Bonobo")
  (parent "GtkSocket")
  (c-name "BonoboSocket")
  (gtype-id "BONOBO_TYPE_SOCKET")
)

(define-object Component
  (in-module "Bonobo")
  (parent "BonoboObject")
  (c-name "BonoboUIComponent")
  (gtype-id "BONOBO_TYPE_UI_COMPONENT")
)

(define-object Container
  (in-module "Bonobo")
  (parent "BonoboObject")
  (c-name "BonoboUIContainer")
  (gtype-id "BONOBO_TYPE_UI_CONTAINER")
)

(define-object Toolbar
  (in-module "Bonobo")
  (parent "GtkContainer")
  (c-name "BonoboUIToolbar")
  (gtype-id "BONOBO_TYPE_UI_TOOLBAR")
)

(define-object ToolbarItem
  (in-module "Bonobo")
  (parent "GtkBin")
  (c-name "BonoboUIToolbarItem")
  (gtype-id "BONOBO_TYPE_UI_TOOLBAR_ITEM")
)

(define-object Widget
  (in-module "Bonobo")
  (parent "GtkBin")
  (c-name "BonoboWidget")
  (gtype-id "BONOBO_TYPE_WIDGET")
)

(define-object Window
  (in-module "Bonobo")
  (parent "GtkWindow")
  (c-name "BonoboWindow")
  (gtype-id "BONOBO_TYPE_WINDOW")
)

;; Enumerations and flags ...

(define-enum DockPlacement
  (in-module "Bonobo")
  (c-name "BonoboDockPlacement")
  (gtype-id "BONOBO_TYPE_DOCK_PLACEMENT")
  (values
    '("top" "BONOBO_DOCK_TOP")
    '("right" "BONOBO_DOCK_RIGHT")
    '("bottom" "BONOBO_DOCK_BOTTOM")
    '("left" "BONOBO_DOCK_LEFT")
    '("floating" "BONOBO_DOCK_FLOATING")
  )
)

(define-flags DockItemBehavior
  (in-module "Bonobo")
  (c-name "BonoboDockItemBehavior")
  (gtype-id "BONOBO_TYPE_DOCK_ITEM_BEHAVIOR")
  (values
    '("normal" "BONOBO_DOCK_ITEM_BEH_NORMAL")
    '("exclusive" "BONOBO_DOCK_ITEM_BEH_EXCLUSIVE")
    '("never-floating" "BONOBO_DOCK_ITEM_BEH_NEVER_FLOATING")
    '("never-vertical" "BONOBO_DOCK_ITEM_BEH_NEVER_VERTICAL")
    '("never-horizontal" "BONOBO_DOCK_ITEM_BEH_NEVER_HORIZONTAL")
    '("locked" "BONOBO_DOCK_ITEM_BEH_LOCKED")
  )
)

(define-enum Error
  (in-module "Bonobo")
  (c-name "BonoboUIError")
  (gtype-id "BONOBO_TYPE_UI_ERROR")
  (values
    '("ok" "BONOBO_UI_ERROR_OK")
    '("bad-param" "BONOBO_UI_ERROR_BAD_PARAM")
    '("invalid-path" "BONOBO_UI_ERROR_INVALID_PATH")
    '("invalid-xml" "BONOBO_UI_ERROR_INVALID_XML")
  )
)

(define-enum ToolbarStyle
  (in-module "Bonobo")
  (c-name "BonoboUIToolbarStyle")
  (gtype-id "BONOBO_TYPE_UI_TOOLBAR_STYLE")
  (values
    '("priority-text" "BONOBO_UI_TOOLBAR_STYLE_PRIORITY_TEXT")
    '("icons-and-text" "BONOBO_UI_TOOLBAR_STYLE_ICONS_AND_TEXT")
    '("icons-only" "BONOBO_UI_TOOLBAR_STYLE_ICONS_ONLY")
  )
)

(define-enum ToolbarItemStyle
  (in-module "Bonobo")
  (c-name "BonoboUIToolbarItemStyle")
  (gtype-id "BONOBO_TYPE_UI_TOOLBAR_ITEM_STYLE")
  (values
    '("icon-and-text-vertical" "BONOBO_UI_TOOLBAR_ITEM_STYLE_ICON_AND_TEXT_VERTICAL")
    '("icon-and-text-horizontal" "BONOBO_UI_TOOLBAR_ITEM_STYLE_ICON_AND_TEXT_HORIZONTAL")
    '("icon-only" "BONOBO_UI_TOOLBAR_ITEM_STYLE_ICON_ONLY")
    '("text-only" "BONOBO_UI_TOOLBAR_ITEM_STYLE_TEXT_ONLY")
  )
)

(define-enum UIError
  (in-module "Bonobo")
  (c-name "BonoboUIError")
  (gtype-id "BONOBO_TYPE_UI_ERROR")
  (values
    '("ok" "BONOBO_UI_ERROR_OK")
    '("bad-param" "BONOBO_UI_ERROR_BAD_PARAM")
    '("invalid-path" "BONOBO_UI_ERROR_INVALID_PATH")
    '("invalid-xml" "BONOBO_UI_ERROR_INVALID_XML")
  )
)


