alternative to assert
[gtkD.git] / gtkD / wrap / APILookupGlade.txt
blobf1a945b575eceb006d8547530ff54f312708a8f7
2 # This file is part of gtkD.
3
4 # gtkD is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU Lesser General Public License as published by
6 # the Free Software Foundation; either version 2.1 of the License, or
7 # (at your option) any later version.
8
9 # gtkD is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU Lesser General Public License for more details.
13
14 # You should have received a copy of the GNU Lesser General Public License
15 # along with gtkD; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
21 ###
22 #####
23 # Definitions for wrapping Glade
24 #####
25 ###
29 addTypedefs: start
31 public import gtkc.glibtypes;
32 public import gtkc.gobjecttypes;
33 public import gtkc.gdktypes;
34 public import gtkc.gtktypes;
36 addTypedefs: end
38 addAliases: start
39 // hacks as we ignore all connect stuff at present..
40 alias void* GladeXMLConnectFunc;
41 alias void* GladeXMLCustomWidgetHandler;
44 addAliases: end
46 addEnums: start
47 addEnums: end
49 addStructs: start
51 addStructs: end
53 addTypes: start
54 addTypes: end
56 addFuncts: start
57 addFuncts: end
59 addUnions: start
60 addUnions: end
62 addConstants: start
63 addConstants: end
66 # must start with wrap
68 wrap: glade
70 ###########################################################
71 ### Glade #############################################
72 ###########################################################
74   
80 file: GladeXML.html
81 struct: GladeXML
82 class: Glade
83 prefix: glade_xml_
84 structWrap: GladeXML* Glade
85 import: gtk.Widget
86 structWrap: GtkWidget* Widget
87 import: gobject.ObjectG
88 structWrap: GObject* ObjectG
89 import: glib.ListG
90 structWrap: GList* ListG
91 import: glib.Str
93 nocode: glade_xml_signal_autoconnect
94 nocode: glade_xml_signal_connect_data
95 nocode: glade_xml_signal_connect
96 nocode: glade_xml_signal_connect_full
97 nocode: glade_xml_signal_autoconnect_full
98 nocode: GladeXMLConnectFunc
99 nocode: GladeXMLCustomWidgetHandler
100 nocode: glade_set_custom_handler
102 nocode: glade_xml_get_widget
103 nocode: glade_xml_new
104 nocode: glade_xml_get_widget_prefix
106 code: start
107         /**
108          * This function is used to get a pointer to the GtkWidget corresponding to
109          * name in the interface description. You would use this if you have to do
110          * anything to the widget after loading.
111          * self:
112          *  the GladeXML object.
113          * name:
114          *  the name of the widget.
115          * Returns:
116          *  the widget matching name, or NULL if none exists.
117          */
118         public Widget getWidget(char[] name)
119         {
120                 // GtkWidget* glade_xml_get_widget (GladeXML *self,  const char *name);
121                 return newFromWidget(cast(void *) glade_xml_get_widget(gladeXML, Str.toStringz(name)) );
122         }
123         
124         
125         
126         
127         
128         
129         /**
130          * Creates a new GladeXML object (and the corresponding widgets) from the
131          * XML file fname. Optionally it will only build the interface from the
132          * widget node root (if it is not NULL). This feature is useful if you
133          * only want to build say a toolbar or menu from the XML file, but not the
134          * window it is embedded in. Note also that the XML parse tree is cached
135          * to speed up creating another GladeXML object for the same file
136          * fname:
137          *  the XML file name.
138          * root:
139          *  the widget node in fname to start building from (or NULL)
140          * domain:
141          *  the translation domain for the XML file (or NULL for default)
142          * Returns:
143          *  the newly created GladeXML object, or NULL on failure.
144          */
145         public this (char[] fname, char[] root = null, char[] domain=null)
146         {
147                 // GladeXML* glade_xml_new (const char *fname,  const char *root,  const char *domain);
148                 this(cast(GladeXML*)glade_xml_new(Str.toStringz(fname), 
149                         root ? Str.toStringz(root) : null, 
150                         domain ? Str.toStringz(domain) : null) );
151         }
152         
153         /**
154          * This function is used to get a list of pointers to the GtkWidget(s)
155          * with names that start with the string name in the interface description.
156          * You would use this if you have to do something to all of these widgets
157          * after loading.
158          * self:
159          *  the GladeXML object.
160          * name:
161          *  the name of the widget.
162          * Returns:
163          *  A list of the widget that match name as the start of their
164          * name, or NULL if none exists.
165          */
166         public Widget[] getWidgetPrefix(char[] name)
167         {
168                 // GList* glade_xml_get_widget_prefix (GladeXML *self,  const char *name);
169                 Widget[] ret;
170                 ListG widgets = new ListG( glade_xml_get_widget_prefix(gladeXML, Str.toStringz(name)) );
171                 for (int i=0;i < widgets.length; i++) {
172                         ret ~= newFromWidget( cast(void *)widgets.nthData(i) );
173                 }
174                 return widgets.length ? ret : null;
175         }
178         /**
179          * Utilitiy method to create objects that are castable.
180          * 
181          */
182         private import gobject.Type;
183         private import gtk.Container;
184         private import gtk.Bin;
185         private import gtk.Window;
186         private import gtk.Dialog;
187         private import gtk.AboutDialog;
188         private import gtk.ColorSelectionDialog;
189         private import gtk.FileChooserDialog;
190         private import gtk.FileSelection;
191         private import gtk.FontSelectionDialog;
192         private import gtk.InputDialog;
193         private import gtk.MessageDialog;
194         //private import gtk.PageSetupUnixDialog;
195         //private import gtk.PrintUnixDialog;
196         //private import gtk.RecentChooserDialog;
197         private import gtk.Assistant;
198         private import gtk.Plug;
199         private import gtk.Alignment;
200         private import gtk.Frame;
201         private import gtk.AspectFrame;
202         private import gtk.Button;
203         private import gtk.ToggleButton;
204         private import gtk.CheckButton;
205         private import gtk.RadioButton;
206         private import gtk.ColorButton;
207         private import gtk.FontButton;
208         //private import gtk.LinkButton;
209         //private import gtk.OptionMenu;
210         private import gtk.Item;
211         private import gtk.MenuItem;
212         private import gtk.CheckMenuItem;
213         private import gtk.RadioMenuItem;
214         private import gtk.ImageMenuItem;
215         private import gtk.SeparatorMenuItem;
216         private import gtk.TearoffMenuItem;
217         //private import gtk.ListItem;
218         //private import gtk.TreeItem;
219         private import gtk.ComboBox;
220         private import gtk.ComboBoxEntry;
221         private import gtk.EventBox;
222         private import gtk.Expander;
223         private import gtk.HandleBox;
224         private import gtk.ToolItem;
225         private import gtk.ToolButton;
226         private import gtk.MenuToolButton;
227         private import gtk.ToggleToolButton;
228         private import gtk.RadioToolButton;
229         private import gtk.SeparatorToolItem;
230         private import gtk.ScrolledWindow;
231         private import gtk.Viewport;
232         private import gtk.Box;
233         private import gtk.ButtonBox;
234         private import gtk.HButtonBox;
235         private import gtk.VButtonBox;
236         private import gtk.VBox;
237         private import gtk.ColorSelection;
238         private import gtk.FileChooserWidget;
239         private import gtk.FontSelection;
240         private import gtk.GammaCurve;
241         //private import gtk.RecentChooserWidget;
242         private import gtk.HBox;
243         //private import gtk.Combo;
244         private import gtk.FileChooserButton;
245         private import gtk.Statusbar;
246         //private import gtk.CList;
247         //private import gtk.CTree;
248         private import gtk.Fixed;
249         private import gtk.Paned;
250         private import gtk.HPaned;
251         private import gtk.VPaned;
252         private import gtk.IconView;
253         private import gtk.Layout;
254         //private import gtk.List;
255         private import gtk.MenuShell;
256         private import gtk.MenuBar;
257         private import gtk.Menu;
258         //private import gtk.RecentChooserMenu;
259         private import gtk.Notebook;
260         private import gtk.Socket;
261         private import gtk.Table;
262         private import gtk.TextView;
263         private import gtk.Toolbar;
264         //private import gtk.Tree;
265         private import gtk.TreeView;
266         private import gtk.Misc;
267         private import gtk.Label;
268         private import gtk.AccelLabel;
269         //private import gtk.TipsQuery;
270         private import gtk.Arrow;
271         private import gtk.Image;
272         //private import gtk.Pixmap;
273         private import gtk.Calendar;
274         private import gtk.CellView;
275         private import gtk.DrawingArea;
276         private import gtk.Curve;
277         private import gtk.Entry;
278         private import gtk.SpinButton;
279         private import gtk.Ruler;
280         private import gtk.HRuler;
281         private import gtk.VRuler;
282         private import gtk.Range;
283         private import gtk.Scale;
284         private import gtk.HScale;
285         private import gtk.VScale;
286         private import gtk.Scrollbar;
287         private import gtk.HScrollbar;
288         private import gtk.VScrollbar;
289         private import gtk.Separator;
290         private import gtk.HSeparator;
291         private import gtk.VSeparator;
292         private import gtk.Invisible;
293         //private import gtk.OldEditable;
294         //private import gtk.Text;
295         //private import gtk.Preview;
296         private import gtk.Progress;
297         private import gtk.ProgressBar;
299         Widget newFromWidget(void * ptr) 
300         {
301                 if (ptr is null) {
302                         return null;
303                 }
304                 
305                 int* pt =cast(int*)ptr;
306             
307                 int* pt2 =cast(int*) (cast(int*)(*pt));
308                 uint utype =  cast(uint)(*pt2);
309                  
310                 char[] tname = Type.name(cast(GType)utype);
311                 
312                 switch(tname) {
313                         case "GtkContainer": return new Container(cast(GtkContainer *)ptr);
314                         case "GtkBin": return new Bin(cast(GtkBin *)ptr);
315                         case "GtkWindow": return new Window(cast(GtkWindow *)ptr);
316                         case "GtkDialog": return new Dialog(cast(GtkDialog *)ptr);
317                         case "GtkAboutDialog": return new AboutDialog(cast(GtkAboutDialog *)ptr);
318                         case "GtkColorSelectionDialog": return new ColorSelectionDialog(cast(GtkColorSelectionDialog *)ptr);
319                         case "GtkFileChooserDialog": return new FileChooserDialog(cast(GtkFileChooserDialog *)ptr);
320                         case "GtkFileSelection": return new FileSelection(cast(GtkFileSelection *)ptr);
321                         case "GtkFontSelectionDialog": return new FontSelectionDialog(cast(GtkFontSelectionDialog *)ptr);
322                         case "GtkInputDialog": return new InputDialog(cast(GtkInputDialog *)ptr);
323                         case "GtkMessageDialog": return new MessageDialog(cast(GtkMessageDialog *)ptr);
324                         //case "GtkPageSetupUnixDialog": return new PageSetupUnixDialog(cast(GtkPageSetupUnixDialog *)ptr);
325                         //case "GtkPrintUnixDialog": return new PrintUnixDialog(cast(GtkPrintUnixDialog *)ptr);
326                         //case "GtkRecentChooserDialog": return new RecentChooserDialog(cast(GtkRecentChooserDialog *)ptr);
327                         case "GtkAssistant": return new Assistant(cast(GtkAssistant *)ptr);
328                         case "GtkPlug": return new Plug(cast(GtkPlug *)ptr);
329                         case "GtkAlignment": return new Alignment(cast(GtkAlignment *)ptr);
330                         case "GtkFrame": return new Frame(cast(GtkFrame *)ptr);
331                         case "GtkAspectFrame": return new AspectFrame(cast(GtkAspectFrame *)ptr);
332                         case "GtkButton": return new Button(cast(GtkButton *)ptr);
333                         case "GtkToggleButton": return new ToggleButton(cast(GtkToggleButton *)ptr);
334                         case "GtkCheckButton": return new CheckButton(cast(GtkCheckButton *)ptr);
335                         case "GtkRadioButton": return new RadioButton(cast(GtkRadioButton *)ptr);
336                         case "GtkColorButton": return new ColorButton(cast(GtkColorButton *)ptr);
337                         case "GtkFontButton": return new FontButton(cast(GtkFontButton *)ptr);
338                         //case "GtkLinkButton": return new LinkButton(cast(GtkLinkButton *)ptr);
339                         //case "GtkOptionMenu": return new OptionMenu(cast(GtkOptionMenu *)ptr);
340                         case "GtkItem": return new Item(cast(GtkItem *)ptr);
341                         case "GtkMenuItem": return new MenuItem(cast(GtkMenuItem *)ptr);
342                         case "GtkCheckMenuItem": return new CheckMenuItem(cast(GtkCheckMenuItem *)ptr);
343                         case "GtkRadioMenuItem": return new RadioMenuItem(cast(GtkRadioMenuItem *)ptr);
344                         case "GtkImageMenuItem": return new ImageMenuItem(cast(GtkImageMenuItem *)ptr);
345                         case "GtkSeparatorMenuItem": return new SeparatorMenuItem(cast(GtkSeparatorMenuItem *)ptr);
346                         case "GtkTearoffMenuItem": return new TearoffMenuItem(cast(GtkTearoffMenuItem *)ptr);
347                         //case "GtkListItem": return new ListItem(cast(GtkListItem *)ptr);
348                         //case "GtkTreeItem": return new TreeItem(cast(GtkTreeItem *)ptr);
349                         case "GtkComboBox": return new ComboBox(cast(GtkComboBox *)ptr);
350                         case "GtkComboBoxEntry": return new ComboBoxEntry(cast(GtkComboBoxEntry *)ptr);
351                         case "GtkEventBox": return new EventBox(cast(GtkEventBox *)ptr);
352                         case "GtkExpander": return new Expander(cast(GtkExpander *)ptr);
353                         case "GtkHandleBox": return new HandleBox(cast(GtkHandleBox *)ptr);
354                         case "GtkToolItem": return new ToolItem(cast(GtkToolItem *)ptr);
355                         case "GtkToolButton": return new ToolButton(cast(GtkToolButton *)ptr);
356                         case "GtkMenuToolButton": return new MenuToolButton(cast(GtkMenuToolButton *)ptr);
357                         case "GtkToggleToolButton": return new ToggleToolButton(cast(GtkToggleToolButton *)ptr);
358                         case "GtkRadioToolButton": return new RadioToolButton(cast(GtkRadioToolButton *)ptr);
359                         case "GtkSeparatorToolItem": return new SeparatorToolItem(cast(GtkSeparatorToolItem *)ptr);
360                         case "GtkScrolledWindow": return new ScrolledWindow(cast(GtkScrolledWindow *)ptr);
361                         case "GtkViewport": return new Viewport(cast(GtkViewport *)ptr);
362                         case "GtkBox": return new Box(cast(GtkBox *)ptr);
363                         case "GtkButtonBox": return new ButtonBox(cast(GtkButtonBox *)ptr);
364                         case "GtkHButtonBox": return new HButtonBox(cast(GtkHButtonBox *)ptr);
365                         case "GtkVButtonBox": return new VButtonBox(cast(GtkVButtonBox *)ptr);
366                         case "GtkVBox": return new VBox(cast(GtkVBox *)ptr);
367                         case "GtkColorSelection": return new ColorSelection(cast(GtkColorSelection *)ptr);
368                         case "GtkFileChooserWidget": return new FileChooserWidget(cast(GtkFileChooserWidget *)ptr);
369                         case "GtkFontSelection": return new FontSelection(cast(GtkFontSelection *)ptr);
370                         case "GtkGammaCurve": return new GammaCurve(cast(GtkGammaCurve *)ptr);
371                         //case "GtkRecentChooserWidget": return new RecentChooserWidget(cast(GtkRecentChooserWidget *)ptr);
372                         case "GtkHBox": return new HBox(cast(GtkHBox *)ptr);
373                         //case "GtkCombo": return new Combo(cast(GtkCombo *)ptr);
374                         case "GtkFileChooserButton": return new FileChooserButton(cast(GtkFileChooserButton *)ptr);
375                         case "GtkStatusbar": return new Statusbar(cast(GtkStatusbar *)ptr);
376                         //case "GtkCList": return new CList(cast(GtkCList *)ptr);
377                         //case "GtkCTree": return new CTree(cast(GtkCTree *)ptr);
378                         case "GtkFixed": return new Fixed(cast(GtkFixed *)ptr);
379                         case "GtkPaned": return new Paned(cast(GtkPaned *)ptr);
380                         case "GtkHPaned": return new HPaned(cast(GtkHPaned *)ptr);
381                         case "GtkVPaned": return new VPaned(cast(GtkVPaned *)ptr);
382                         case "GtkIconView": return new IconView(cast(GtkIconView *)ptr);
383                         case "GtkLayout": return new Layout(cast(GtkLayout *)ptr);
384                         //case "GtkList": return new List(cast(GtkList *)ptr);
385                         case "GtkMenuShell": return new MenuShell(cast(GtkMenuShell *)ptr);
386                         case "GtkMenuBar": return new MenuBar(cast(GtkMenuBar *)ptr);
387                         case "GtkMenu": return new Menu(cast(GtkMenu *)ptr);
388                         //case "GtkRecentChooserMenu": return new RecentChooserMenu(cast(GtkRecentChooserMenu *)ptr);
389                         case "GtkNotebook": return new Notebook(cast(GtkNotebook *)ptr);
390                         case "GtkSocket": return new Socket(cast(GtkSocket *)ptr);
391                         case "GtkTable": return new Table(cast(GtkTable *)ptr);
392                         case "GtkTextView": return new TextView(cast(GtkTextView *)ptr);
393                         case "GtkToolbar": return new Toolbar(cast(GtkToolbar *)ptr);
394                         //case "GtkTree": return new Tree(cast(GtkTree *)ptr);
395                         case "GtkTreeView": return new TreeView(cast(GtkTreeView *)ptr);
396                         case "GtkMisc": return new Misc(cast(GtkMisc *)ptr);
397                         case "GtkLabel": return new Label(cast(GtkLabel *)ptr);
398                         case "GtkAccelLabel": return new AccelLabel(cast(GtkAccelLabel *)ptr);
399                         //case "GtkTipsQuery": return new TipsQuery(cast(GtkTipsQuery *)ptr);
400                         case "GtkArrow": return new Arrow(cast(GtkArrow *)ptr);
401                         case "GtkImage": return new Image(cast(GtkImage *)ptr);
402                         //case "GtkPixmap": return new Pixmap(cast(GtkPixmap *)ptr);
403                         case "GtkCalendar": return new Calendar(cast(GtkCalendar *)ptr);
404                         case "GtkCellView": return new CellView(cast(GtkCellView *)ptr);
405                         case "GtkDrawingArea": return new DrawingArea(cast(GtkDrawingArea *)ptr);
406                         case "GtkCurve": return new Curve(cast(GtkCurve *)ptr);
407                         case "GtkEntry": return new Entry(cast(GtkEntry *)ptr);
408                         case "GtkSpinButton": return new SpinButton(cast(GtkSpinButton *)ptr);
409                         case "GtkRuler": return new Ruler(cast(GtkRuler *)ptr);
410                         case "GtkHRuler": return new HRuler(cast(GtkHRuler *)ptr);
411                         case "GtkVRuler": return new VRuler(cast(GtkVRuler *)ptr);
412                         case "GtkRange": return new Range(cast(GtkRange *)ptr);
413                         case "GtkScale": return new Scale(cast(GtkScale *)ptr);
414                         case "GtkHScale": return new HScale(cast(GtkHScale *)ptr);
415                         case "GtkVScale": return new VScale(cast(GtkVScale *)ptr);
416                         case "GtkScrollbar": return new Scrollbar(cast(GtkScrollbar *)ptr);
417                         case "GtkHScrollbar": return new HScrollbar(cast(GtkHScrollbar *)ptr);
418                         case "GtkVScrollbar": return new VScrollbar(cast(GtkVScrollbar *)ptr);
419                         case "GtkSeparator": return new Separator(cast(GtkSeparator *)ptr);
420                         case "GtkHSeparator": return new HSeparator(cast(GtkHSeparator *)ptr);
421                         case "GtkVSeparator": return new VSeparator(cast(GtkVSeparator *)ptr);
422                         case "GtkInvisible": return new Invisible(cast(GtkInvisible *)ptr);
423                         //case "GtkOldEditable": return new OldEditable(cast(GtkOldEditable *)ptr);
424                         //case "GtkText": return new Text(cast(GtkText *)ptr);
425                         //case "GtkPreview": return new Preview(cast(GtkPreview *)ptr);
426                         case "GtkProgress": return new Progress(cast(GtkProgress *)ptr);
427                         case "GtkProgressBar": return new ProgressBar(cast(GtkProgressBar *)ptr);
428                         default: return null;
429                 }
430                 
431         }
433          
434         
435         
436         
440 code: end
443 openFile: Glade 
446 file: libglade-Libglade-Initialisation.html
448 class: Glade
449 prefix: glade_
450 import: glib.Str
451 import: gtk.Widget
452 structWrap: GtkWidget* Widget
453 import: gobject.ObjectG
454 structWrap: GObject* ObjectG
455 import: glib.ListG
456 structWrap: GList* ListG
457 import: glib.Str
460 closeFile: Glade