diff options
Diffstat (limited to 'lib/wrappers/gtk/libglade2.nim')
-rw-r--r-- | lib/wrappers/gtk/libglade2.nim | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/lib/wrappers/gtk/libglade2.nim b/lib/wrappers/gtk/libglade2.nim new file mode 100644 index 000000000..5e323680e --- /dev/null +++ b/lib/wrappers/gtk/libglade2.nim @@ -0,0 +1,118 @@ +{.deadCodeElim: on.} + +import + glib2, gtk2 + +when defined(win32): + const + LibGladeLib = "libglade-2.0-0.dll" +else: + const + LibGladeLib = "libglade-2.0.so" +type + PLongint* = ptr int32 + PSmallInt* = ptr int16 + PByte* = ptr int8 + PWord* = ptr int16 + PDWord* = ptr int32 + PDouble* = ptr float64 + +proc glade_init*(){.cdecl, dynlib: LibGladeLib, importc: "glade_init".} +proc glade_require*(TheLibrary: cstring){.cdecl, dynlib: LibGladeLib, + importc: "glade_require".} +proc glade_provide*(TheLibrary: cstring){.cdecl, dynlib: LibGladeLib, + importc: "glade_provide".} +type + PGladeXMLPrivate* = pointer + PGladeXML* = ptr TGladeXML + TGladeXML* = object of TGObject + filename*: cstring + priv*: PGladeXMLPrivate + + PGladeXMLClass* = ptr TGladeXMLClass + TGladeXMLClass* = object of TGObjectClass + + TGladeXMLConnectFunc* = proc (handler_name: cstring, anObject: PGObject, + signal_name: cstring, signal_data: cstring, + connect_object: PGObject, after: gboolean, + user_data: gpointer){.cdecl.} + +proc GLADE_TYPE_XML*(): GType +proc GLADE_XML*(obj: pointer): PGladeXML +proc GLADE_XML_CLASS*(klass: pointer): PGladeXMLClass +proc GLADE_IS_XML*(obj: pointer): gboolean +proc GLADE_IS_XML_CLASS*(klass: pointer): gboolean +proc GLADE_XML_GET_CLASS*(obj: pointer): PGladeXMLClass +proc glade_xml_get_type*(): GType{.cdecl, dynlib: LibGladeLib, + importc: "glade_xml_get_type".} +proc glade_xml_new*(fname: cstring, root: cstring, domain: cstring): PGladeXML{. + cdecl, dynlib: LibGladeLib, importc: "glade_xml_new".} +proc glade_xml_new_from_buffer*(buffer: cstring, size: int32, root: cstring, + domain: cstring): PGladeXML{.cdecl, + dynlib: LibGladeLib, importc: "glade_xml_new_from_buffer".} +proc glade_xml_construct*(self: PGladeXML, fname: cstring, root: cstring, + domain: cstring): gboolean{.cdecl, + dynlib: LibGladeLib, importc: "glade_xml_construct".} +proc glade_xml_signal_connect*(self: PGladeXML, handlername: cstring, + func: TGCallback){.cdecl, dynlib: LibGladeLib, + importc: "glade_xml_signal_connect".} +proc glade_xml_signal_connect_data*(self: PGladeXML, handlername: cstring, + func: TGCallback, user_data: gpointer){. + cdecl, dynlib: LibGladeLib, importc: "glade_xml_signal_connect_data".} +proc glade_xml_signal_autoconnect*(self: PGladeXML){.cdecl, dynlib: LibGladeLib, + importc: "glade_xml_signal_autoconnect".} +proc glade_xml_signal_connect_full*(self: PGladeXML, handler_name: cstring, + func: TGladeXMLConnectFunc, + user_data: gpointer){.cdecl, + dynlib: LibGladeLib, importc: "glade_xml_signal_connect_full".} +proc glade_xml_signal_autoconnect_full*(self: PGladeXML, + func: TGladeXMLConnectFunc, + user_data: gpointer){.cdecl, + dynlib: LibGladeLib, importc: "glade_xml_signal_autoconnect_full".} +proc glade_xml_get_widget*(self: PGladeXML, name: cstring): PGtkWidget{.cdecl, + dynlib: LibGladeLib, importc: "glade_xml_get_widget".} +proc glade_xml_get_widget_prefix*(self: PGladeXML, name: cstring): PGList{. + cdecl, dynlib: LibGladeLib, importc: "glade_xml_get_widget_prefix".} +proc glade_xml_relative_file*(self: PGladeXML, filename: cstring): cstring{.cdecl, + dynlib: LibGladeLib, importc: "glade_xml_relative_file".} +proc glade_get_widget_name*(widget: PGtkWidget): cstring{.cdecl, + dynlib: LibGladeLib, importc: "glade_get_widget_name".} +proc glade_get_widget_tree*(widget: PGtkWidget): PGladeXML{.cdecl, + dynlib: LibGladeLib, importc: "glade_get_widget_tree".} +type + PGladeXMLCustomWidgetHandler* = ptr TGladeXMLCustomWidgetHandler + TGladeXMLCustomWidgetHandler* = TGtkWidget + +proc glade_set_custom_handler*(handler: TGladeXMLCustomWidgetHandler, + user_data: gpointer){.cdecl, dynlib: LibGladeLib, + importc: "glade_set_custom_handler".} +proc glade_gnome_init*() = + glade_init() + +proc glade_bonobo_init*() = + glade_init() + +proc glade_xml_new_with_domain*(fname: cstring, root: cstring, domain: cstring): PGladeXML = + result = glade_xml_new(fname, root, domain) + +proc glade_xml_new_from_memory*(buffer: cstring, size: int32, root: cstring, + domain: cstring): PGladeXML = + result = glade_xml_new_from_buffer(buffer, size, root, domain) + +proc GLADE_TYPE_XML*(): GType = + result = glade_xml_get_type() + +proc GLADE_XML*(obj: pointer): PGladeXML = + result = cast[PGladeXML](G_TYPE_CHECK_INSTANCE_CAST(obj, GLADE_TYPE_XML())) + +proc GLADE_XML_CLASS*(klass: pointer): PGladeXMLClass = + result = cast[PGladeXMLClass](G_TYPE_CHECK_CLASS_CAST(klass, GLADE_TYPE_XML())) + +proc GLADE_IS_XML*(obj: pointer): gboolean = + result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GLADE_TYPE_XML()) + +proc GLADE_IS_XML_CLASS*(klass: pointer): gboolean = + result = G_TYPE_CHECK_CLASS_TYPE(klass, GLADE_TYPE_XML()) + +proc GLADE_XML_GET_CLASS*(obj: pointer): PGladeXMLClass = + result = cast[PGladeXMLClass](G_TYPE_INSTANCE_GET_CLASS(obj, GLADE_TYPE_XML())) |