1// Package gtk was automatically generated by github.com/bnema/puregotk DO NOT EDIT
2package gtk
3
4import (
5 "github.com/ebitengine/purego"
6
7 "github.com/bnema/puregotk/pkg/core"
8 "github.com/bnema/puregotk/v4/gio"
9 "github.com/bnema/puregotk/v4/glib"
10 "github.com/bnema/puregotk/v4/gobject"
11 "github.com/bnema/puregotk/v4/gobject/types"
12)
13
14// `GtkFileChooser` is an interface that can be implemented by file
15// selection widgets.
16//
17// In GTK, the main objects that implement this interface are
18// [class@Gtk.FileChooserWidget] and [class@Gtk.FileChooserDialog].
19//
20// You do not need to write an object that implements the `GtkFileChooser`
21// interface unless you are trying to adapt an existing file selector to
22// expose a standard programming interface.
23//
24// `GtkFileChooser` allows for shortcuts to various places in the filesystem.
25// In the default implementation these are displayed in the left pane. It
26// may be a bit confusing at first that these shortcuts come from various
27// sources and in various flavours, so lets explain the terminology here:
28//
29// - Bookmarks: are created by the user, by dragging folders from the
30// right pane to the left pane, or by using the “Add”. Bookmarks
31// can be renamed and deleted by the user.
32//
33// - Shortcuts: can be provided by the application. For example, a Paint
34// program may want to add a shortcut for a Clipart folder. Shortcuts
35// cannot be modified by the user.
36//
37// - Volumes: are provided by the underlying filesystem abstraction. They are
38// the “roots” of the filesystem.
39//
40// # File Names and Encodings
41//
42// When the user is finished selecting files in a `GtkFileChooser`, your
43// program can get the selected filenames as `GFile`s.
44//
45// # Adding options
46//
47// You can add extra widgets to a file chooser to provide options
48// that are not present in the default design, by using
49// [method@Gtk.FileChooser.add_choice]. Each choice has an identifier and
50// a user visible label; additionally, each choice can have multiple
51// options. If a choice has no option, it will be rendered as a
52// check button with the given label; if a choice has options, it will
53// be rendered as a combo box.
54type FileChooser interface {
55 GoPointer() uintptr
56 SetGoPointer(uintptr)
57 AddChoice(IdVar string, LabelVar string, OptionsVar []string, OptionLabelsVar []string)
58 AddFilter(FilterVar *FileFilter)
59 AddShortcutFolder(FolderVar gio.File) (bool, error)
60 GetAction() FileChooserAction
61 GetChoice(IdVar string) string
62 GetCreateFolders() bool
63 GetCurrentFolder() *gio.FileBase
64 GetCurrentName() string
65 GetFile() *gio.FileBase
66 GetFiles() *gio.ListModelBase
67 GetFilter() *FileFilter
68 GetFilters() *gio.ListModelBase
69 GetSelectMultiple() bool
70 GetShortcutFolders() *gio.ListModelBase
71 RemoveChoice(IdVar string)
72 RemoveFilter(FilterVar *FileFilter)
73 RemoveShortcutFolder(FolderVar gio.File) (bool, error)
74 SetAction(ActionVar FileChooserAction)
75 SetChoice(IdVar string, OptionVar string)
76 SetCreateFolders(CreateFoldersVar bool)
77 SetCurrentFolder(FileVar gio.File) (bool, error)
78 SetCurrentName(NameVar string)
79 SetFile(FileVar gio.File) (bool, error)
80 SetFilter(FilterVar *FileFilter)
81 SetSelectMultiple(SelectMultipleVar bool)
82}
83
84var xFileChooserGLibType func() types.GType
85
86func FileChooserGLibType() types.GType {
87 return xFileChooserGLibType()
88}
89
90type FileChooserBase struct {
91 Ptr uintptr
92}
93
94func (x *FileChooserBase) GoPointer() uintptr {
95 if x == nil {
96 return 0
97 }
98 return x.Ptr
99}
100
101func (x *FileChooserBase) SetGoPointer(ptr uintptr) {
102 x.Ptr = ptr
103}
104
105// Adds a 'choice' to the file chooser.
106//
107// This is typically implemented as a combobox or, for boolean choices,
108// as a checkbutton. You can select a value using
109// [method@Gtk.FileChooser.set_choice] before the dialog is shown,
110// and you can obtain the user-selected value in the
111// [signal@Gtk.Dialog::response] signal handler using
112// [method@Gtk.FileChooser.get_choice].
113func (x *FileChooserBase) AddChoice(IdVar string, LabelVar string, OptionsVar []string, OptionLabelsVar []string) {
114
115 XGtkFileChooserAddChoice(x.GoPointer(), IdVar, LabelVar, OptionsVar, OptionLabelsVar)
116
117}
118
119// Adds @filter to the list of filters that the user can select between.
120//
121// When a filter is selected, only files that are passed by that
122// filter are displayed.
123//
124// Note that the @chooser takes ownership of the filter if it is floating,
125// so you have to ref and sink it if you want to keep a reference.
126func (x *FileChooserBase) AddFilter(FilterVar *FileFilter) {
127
128 XGtkFileChooserAddFilter(x.GoPointer(), FilterVar.GoPointer())
129
130}
131
132// Adds a folder to be displayed with the shortcut folders
133// in a file chooser.
134func (x *FileChooserBase) AddShortcutFolder(FolderVar gio.File) (bool, error) {
135 var cerr *glib.Error
136
137 cret := XGtkFileChooserAddShortcutFolder(x.GoPointer(), FolderVar.GoPointer(), &cerr)
138 if cerr == nil {
139 return cret, nil
140 }
141 return cret, cerr
142
143}
144
145// Gets the type of operation that the file chooser is performing.
146func (x *FileChooserBase) GetAction() FileChooserAction {
147
148 cret := XGtkFileChooserGetAction(x.GoPointer())
149 return cret
150}
151
152// Gets the currently selected option in the 'choice' with the given ID.
153func (x *FileChooserBase) GetChoice(IdVar string) string {
154
155 cret := XGtkFileChooserGetChoice(x.GoPointer(), IdVar)
156 return cret
157}
158
159// Gets whether file chooser will offer to create new folders.
160func (x *FileChooserBase) GetCreateFolders() bool {
161
162 cret := XGtkFileChooserGetCreateFolders(x.GoPointer())
163 return cret
164}
165
166// Gets the current folder of @chooser as `GFile`.
167func (x *FileChooserBase) GetCurrentFolder() *gio.FileBase {
168 var cls *gio.FileBase
169
170 cret := XGtkFileChooserGetCurrentFolder(x.GoPointer())
171
172 if cret == 0 {
173 return nil
174 }
175 cls = &gio.FileBase{}
176 cls.Ptr = cret
177 return cls
178}
179
180// Gets the current name in the file selector, as entered by the user.
181//
182// This is meant to be used in save dialogs, to get the currently typed
183// filename when the file itself does not exist yet.
184func (x *FileChooserBase) GetCurrentName() string {
185
186 cret := XGtkFileChooserGetCurrentName(x.GoPointer())
187 return cret
188}
189
190// Gets the `GFile` for the currently selected file in
191// the file selector.
192//
193// If multiple files are selected, one of the files will be
194// returned at random.
195//
196// If the file chooser is in folder mode, this function returns
197// the selected folder.
198func (x *FileChooserBase) GetFile() *gio.FileBase {
199 var cls *gio.FileBase
200
201 cret := XGtkFileChooserGetFile(x.GoPointer())
202
203 if cret == 0 {
204 return nil
205 }
206 cls = &gio.FileBase{}
207 cls.Ptr = cret
208 return cls
209}
210
211// Lists all the selected files and subfolders in the current folder
212// of @chooser as `GFile`.
213func (x *FileChooserBase) GetFiles() *gio.ListModelBase {
214 var cls *gio.ListModelBase
215
216 cret := XGtkFileChooserGetFiles(x.GoPointer())
217
218 if cret == 0 {
219 return nil
220 }
221 cls = &gio.ListModelBase{}
222 cls.Ptr = cret
223 return cls
224}
225
226// Gets the current filter.
227func (x *FileChooserBase) GetFilter() *FileFilter {
228 var cls *FileFilter
229
230 cret := XGtkFileChooserGetFilter(x.GoPointer())
231
232 if cret == 0 {
233 return nil
234 }
235 gobject.IncreaseRef(cret)
236 cls = &FileFilter{}
237 cls.Ptr = cret
238 return cls
239}
240
241// Gets the current set of user-selectable filters, as a list model.
242//
243// See [method@Gtk.FileChooser.add_filter] and
244// [method@Gtk.FileChooser.remove_filter] for changing individual filters.
245//
246// You should not modify the returned list model. Future changes to
247// @chooser may or may not affect the returned model.
248func (x *FileChooserBase) GetFilters() *gio.ListModelBase {
249 var cls *gio.ListModelBase
250
251 cret := XGtkFileChooserGetFilters(x.GoPointer())
252
253 if cret == 0 {
254 return nil
255 }
256 cls = &gio.ListModelBase{}
257 cls.Ptr = cret
258 return cls
259}
260
261// Gets whether multiple files can be selected in the file
262// chooser.
263func (x *FileChooserBase) GetSelectMultiple() bool {
264
265 cret := XGtkFileChooserGetSelectMultiple(x.GoPointer())
266 return cret
267}
268
269// Queries the list of shortcut folders in the file chooser.
270//
271// You should not modify the returned list model. Future changes to
272// @chooser may or may not affect the returned model.
273func (x *FileChooserBase) GetShortcutFolders() *gio.ListModelBase {
274 var cls *gio.ListModelBase
275
276 cret := XGtkFileChooserGetShortcutFolders(x.GoPointer())
277
278 if cret == 0 {
279 return nil
280 }
281 cls = &gio.ListModelBase{}
282 cls.Ptr = cret
283 return cls
284}
285
286// Removes a 'choice' that has been added with gtk_file_chooser_add_choice().
287func (x *FileChooserBase) RemoveChoice(IdVar string) {
288
289 XGtkFileChooserRemoveChoice(x.GoPointer(), IdVar)
290
291}
292
293// Removes @filter from the list of filters that the user can select between.
294func (x *FileChooserBase) RemoveFilter(FilterVar *FileFilter) {
295
296 XGtkFileChooserRemoveFilter(x.GoPointer(), FilterVar.GoPointer())
297
298}
299
300// Removes a folder from the shortcut folders in a file chooser.
301func (x *FileChooserBase) RemoveShortcutFolder(FolderVar gio.File) (bool, error) {
302 var cerr *glib.Error
303
304 cret := XGtkFileChooserRemoveShortcutFolder(x.GoPointer(), FolderVar.GoPointer(), &cerr)
305 if cerr == nil {
306 return cret, nil
307 }
308 return cret, cerr
309
310}
311
312// Sets the type of operation that the chooser is performing.
313//
314// The user interface is adapted to suit the selected action.
315//
316// For example, an option to create a new folder might be shown
317// if the action is %GTK_FILE_CHOOSER_ACTION_SAVE but not if the
318// action is %GTK_FILE_CHOOSER_ACTION_OPEN.
319func (x *FileChooserBase) SetAction(ActionVar FileChooserAction) {
320
321 XGtkFileChooserSetAction(x.GoPointer(), ActionVar)
322
323}
324
325// Selects an option in a 'choice' that has been added with
326// gtk_file_chooser_add_choice().
327//
328// For a boolean choice, the possible options are "true" and "false".
329func (x *FileChooserBase) SetChoice(IdVar string, OptionVar string) {
330
331 XGtkFileChooserSetChoice(x.GoPointer(), IdVar, OptionVar)
332
333}
334
335// Sets whether file chooser will offer to create new folders.
336//
337// This is only relevant if the action is not set to be
338// %GTK_FILE_CHOOSER_ACTION_OPEN.
339func (x *FileChooserBase) SetCreateFolders(CreateFoldersVar bool) {
340
341 XGtkFileChooserSetCreateFolders(x.GoPointer(), CreateFoldersVar)
342
343}
344
345// Sets the current folder for @chooser from a `GFile`.
346func (x *FileChooserBase) SetCurrentFolder(FileVar gio.File) (bool, error) {
347 var cerr *glib.Error
348
349 cret := XGtkFileChooserSetCurrentFolder(x.GoPointer(), FileVar.GoPointer(), &cerr)
350 if cerr == nil {
351 return cret, nil
352 }
353 return cret, cerr
354
355}
356
357// Sets the current name in the file selector, as if entered
358// by the user.
359//
360// Note that the name passed in here is a UTF-8 string rather
361// than a filename. This function is meant for such uses as a
362// suggested name in a “Save As...” dialog. You can pass
363// “Untitled.doc” or a similarly suitable suggestion for the @name.
364//
365// If you want to preselect a particular existing file, you should
366// use [method@Gtk.FileChooser.set_file] instead.
367//
368// Please see the documentation for those functions for an example
369// of using [method@Gtk.FileChooser.set_current_name] as well.
370func (x *FileChooserBase) SetCurrentName(NameVar string) {
371
372 XGtkFileChooserSetCurrentName(x.GoPointer(), NameVar)
373
374}
375
376// Sets @file as the current filename for the file chooser.
377//
378// This includes changing to the file’s parent folder and actually selecting
379// the file in list. If the @chooser is in %GTK_FILE_CHOOSER_ACTION_SAVE mode,
380// the file’s base name will also appear in the dialog’s file name entry.
381//
382// If the file name isn’t in the current folder of @chooser, then the current
383// folder of @chooser will be changed to the folder containing @file.
384//
385// Note that the file must exist, or nothing will be done except
386// for the directory change.
387//
388// If you are implementing a save dialog, you should use this function if
389// you already have a file name to which the user may save; for example,
390// when the user opens an existing file and then does “Save As…”. If you
391// don’t have a file name already — for example, if the user just created
392// a new file and is saving it for the first time, do not call this function.
393//
394// Instead, use something similar to this:
395//
396// ```c
397// static void
398// prepare_file_chooser (GtkFileChooser *chooser,
399//
400// GFile *existing_file)
401//
402// {
403// gboolean document_is_new = (existing_file == NULL);
404//
405// if (document_is_new)
406// {
407// GFile *default_file_for_saving = g_file_new_for_path ("./out.txt");
408// // the user just created a new document
409// gtk_file_chooser_set_current_folder (chooser, default_file_for_saving, NULL);
410// gtk_file_chooser_set_current_name (chooser, "Untitled document");
411// g_object_unref (default_file_for_saving);
412// }
413// else
414// {
415// // the user edited an existing document
416// gtk_file_chooser_set_file (chooser, existing_file, NULL);
417// }
418// }
419//
420// ```
421func (x *FileChooserBase) SetFile(FileVar gio.File) (bool, error) {
422 var cerr *glib.Error
423
424 cret := XGtkFileChooserSetFile(x.GoPointer(), FileVar.GoPointer(), &cerr)
425 if cerr == nil {
426 return cret, nil
427 }
428 return cret, cerr
429
430}
431
432// Sets the current filter.
433//
434// Only the files that pass the filter will be displayed.
435// If the user-selectable list of filters is non-empty, then
436// the filter should be one of the filters in that list.
437//
438// Setting the current filter when the list of filters is
439// empty is useful if you want to restrict the displayed
440// set of files without letting the user change it.
441func (x *FileChooserBase) SetFilter(FilterVar *FileFilter) {
442
443 XGtkFileChooserSetFilter(x.GoPointer(), FilterVar.GoPointer())
444
445}
446
447// Sets whether multiple files can be selected in the file chooser.
448//
449// This is only relevant if the action is set to be
450// %GTK_FILE_CHOOSER_ACTION_OPEN or
451// %GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER.
452func (x *FileChooserBase) SetSelectMultiple(SelectMultipleVar bool) {
453
454 XGtkFileChooserSetSelectMultiple(x.GoPointer(), SelectMultipleVar)
455
456}
457
458// SetPropertyCreateFolders sets the "create-folders" property.
459// Whether a file chooser not in %GTK_FILE_CHOOSER_ACTION_OPEN mode
460// will offer the user to create new folders.
461func (x *FileChooserBase) SetPropertyCreateFolders(value bool) {
462 obj := gobject.Object{}
463 obj.Ptr = x.GoPointer()
464 var v gobject.Value
465 v.Init(gobject.TypeBooleanVal)
466 v.SetBoolean(value)
467 obj.SetProperty("create-folders", &v)
468}
469
470// GetPropertyCreateFolders gets the "create-folders" property.
471// Whether a file chooser not in %GTK_FILE_CHOOSER_ACTION_OPEN mode
472// will offer the user to create new folders.
473func (x *FileChooserBase) GetPropertyCreateFolders() bool {
474 obj := gobject.Object{}
475 obj.Ptr = x.GoPointer()
476 var v gobject.Value
477 obj.GetProperty("create-folders", &v)
478 return v.GetBoolean()
479}
480
481// SetPropertySelectMultiple sets the "select-multiple" property.
482// Whether to allow multiple files to be selected.
483func (x *FileChooserBase) SetPropertySelectMultiple(value bool) {
484 obj := gobject.Object{}
485 obj.Ptr = x.GoPointer()
486 var v gobject.Value
487 v.Init(gobject.TypeBooleanVal)
488 v.SetBoolean(value)
489 obj.SetProperty("select-multiple", &v)
490}
491
492// GetPropertySelectMultiple gets the "select-multiple" property.
493// Whether to allow multiple files to be selected.
494func (x *FileChooserBase) GetPropertySelectMultiple() bool {
495 obj := gobject.Object{}
496 obj.Ptr = x.GoPointer()
497 var v gobject.Value
498 obj.GetProperty("select-multiple", &v)
499 return v.GetBoolean()
500}
501
502var XGtkFileChooserAddChoice func(uintptr, string, string, []string, []string)
503var XGtkFileChooserAddFilter func(uintptr, uintptr)
504var XGtkFileChooserAddShortcutFolder func(uintptr, uintptr, **glib.Error) bool
505var XGtkFileChooserGetAction func(uintptr) FileChooserAction
506var XGtkFileChooserGetChoice func(uintptr, string) string
507var XGtkFileChooserGetCreateFolders func(uintptr) bool
508var XGtkFileChooserGetCurrentFolder func(uintptr) uintptr
509var XGtkFileChooserGetCurrentName func(uintptr) string
510var XGtkFileChooserGetFile func(uintptr) uintptr
511var XGtkFileChooserGetFiles func(uintptr) uintptr
512var XGtkFileChooserGetFilter func(uintptr) uintptr
513var XGtkFileChooserGetFilters func(uintptr) uintptr
514var XGtkFileChooserGetSelectMultiple func(uintptr) bool
515var XGtkFileChooserGetShortcutFolders func(uintptr) uintptr
516var XGtkFileChooserRemoveChoice func(uintptr, string)
517var XGtkFileChooserRemoveFilter func(uintptr, uintptr)
518var XGtkFileChooserRemoveShortcutFolder func(uintptr, uintptr, **glib.Error) bool
519var XGtkFileChooserSetAction func(uintptr, FileChooserAction)
520var XGtkFileChooserSetChoice func(uintptr, string, string)
521var XGtkFileChooserSetCreateFolders func(uintptr, bool)
522var XGtkFileChooserSetCurrentFolder func(uintptr, uintptr, **glib.Error) bool
523var XGtkFileChooserSetCurrentName func(uintptr, string)
524var XGtkFileChooserSetFile func(uintptr, uintptr, **glib.Error) bool
525var XGtkFileChooserSetFilter func(uintptr, uintptr)
526var XGtkFileChooserSetSelectMultiple func(uintptr, bool)
527
528// Describes whether a `GtkFileChooser` is being used to open existing files
529// or to save to a possibly new file.
530type FileChooserAction int
531
532var xFileChooserActionGLibType func() types.GType
533
534func FileChooserActionGLibType() types.GType {
535 return xFileChooserActionGLibType()
536}
537
538const (
539
540 // Indicates open mode. The file chooser
541 // will only let the user pick an existing file.
542 FileChooserActionOpenValue FileChooserAction = 0
543 // Indicates save mode. The file chooser
544 // will let the user pick an existing file, or type in a new
545 // filename.
546 FileChooserActionSaveValue FileChooserAction = 1
547 // Indicates an Open mode for
548 // selecting folders. The file chooser will let the user pick an
549 // existing folder.
550 FileChooserActionSelectFolderValue FileChooserAction = 2
551)
552
553// These identify the various errors that can occur while calling
554// `GtkFileChooser` functions.
555type FileChooserError int
556
557var xFileChooserErrorGLibType func() types.GType
558
559func FileChooserErrorGLibType() types.GType {
560 return xFileChooserErrorGLibType()
561}
562
563const (
564
565 // Indicates that a file does not exist.
566 FileChooserErrorNonexistentValue FileChooserError = 0
567 // Indicates a malformed filename.
568 FileChooserErrorBadFilenameValue FileChooserError = 1
569 // Indicates a duplicate path (e.g. when
570 // adding a bookmark).
571 FileChooserErrorAlreadyExistsValue FileChooserError = 2
572 // Indicates an incomplete hostname
573 // (e.g. "http://foo" without a slash after that).
574 FileChooserErrorIncompleteHostnameValue FileChooserError = 3
575)
576
577var xFileChooserErrorQuark func() glib.Quark
578
579// Registers an error quark for `GtkFileChooser` errors.
580func FileChooserErrorQuark() glib.Quark {
581
582 cret := xFileChooserErrorQuark()
583 return cret
584}
585
586func init() {
587 core.SetPackageName("GTK", "gtk4")
588 core.SetSharedLibraries("GTK", []string{"libgtk-4.so.1"})
589 var libs []uintptr
590 for _, libPath := range core.GetPaths("GTK") {
591 lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
592 if err != nil {
593 panic(err)
594 }
595 libs = append(libs, lib)
596 }
597
598 core.PuregoSafeRegister(&xFileChooserActionGLibType, libs, "gtk_file_chooser_action_get_type")
599
600 core.PuregoSafeRegister(&xFileChooserErrorGLibType, libs, "gtk_file_chooser_error_get_type")
601
602 core.PuregoSafeRegister(&xFileChooserErrorQuark, libs, "gtk_file_chooser_error_quark")
603
604 core.PuregoSafeRegister(&xFileChooserGLibType, libs, "gtk_file_chooser_get_type")
605
606 core.PuregoSafeRegister(&XGtkFileChooserAddChoice, libs, "gtk_file_chooser_add_choice")
607 core.PuregoSafeRegister(&XGtkFileChooserAddFilter, libs, "gtk_file_chooser_add_filter")
608 core.PuregoSafeRegister(&XGtkFileChooserAddShortcutFolder, libs, "gtk_file_chooser_add_shortcut_folder")
609 core.PuregoSafeRegister(&XGtkFileChooserGetAction, libs, "gtk_file_chooser_get_action")
610 core.PuregoSafeRegister(&XGtkFileChooserGetChoice, libs, "gtk_file_chooser_get_choice")
611 core.PuregoSafeRegister(&XGtkFileChooserGetCreateFolders, libs, "gtk_file_chooser_get_create_folders")
612 core.PuregoSafeRegister(&XGtkFileChooserGetCurrentFolder, libs, "gtk_file_chooser_get_current_folder")
613 core.PuregoSafeRegister(&XGtkFileChooserGetCurrentName, libs, "gtk_file_chooser_get_current_name")
614 core.PuregoSafeRegister(&XGtkFileChooserGetFile, libs, "gtk_file_chooser_get_file")
615 core.PuregoSafeRegister(&XGtkFileChooserGetFiles, libs, "gtk_file_chooser_get_files")
616 core.PuregoSafeRegister(&XGtkFileChooserGetFilter, libs, "gtk_file_chooser_get_filter")
617 core.PuregoSafeRegister(&XGtkFileChooserGetFilters, libs, "gtk_file_chooser_get_filters")
618 core.PuregoSafeRegister(&XGtkFileChooserGetSelectMultiple, libs, "gtk_file_chooser_get_select_multiple")
619 core.PuregoSafeRegister(&XGtkFileChooserGetShortcutFolders, libs, "gtk_file_chooser_get_shortcut_folders")
620 core.PuregoSafeRegister(&XGtkFileChooserRemoveChoice, libs, "gtk_file_chooser_remove_choice")
621 core.PuregoSafeRegister(&XGtkFileChooserRemoveFilter, libs, "gtk_file_chooser_remove_filter")
622 core.PuregoSafeRegister(&XGtkFileChooserRemoveShortcutFolder, libs, "gtk_file_chooser_remove_shortcut_folder")
623 core.PuregoSafeRegister(&XGtkFileChooserSetAction, libs, "gtk_file_chooser_set_action")
624 core.PuregoSafeRegister(&XGtkFileChooserSetChoice, libs, "gtk_file_chooser_set_choice")
625 core.PuregoSafeRegister(&XGtkFileChooserSetCreateFolders, libs, "gtk_file_chooser_set_create_folders")
626 core.PuregoSafeRegister(&XGtkFileChooserSetCurrentFolder, libs, "gtk_file_chooser_set_current_folder")
627 core.PuregoSafeRegister(&XGtkFileChooserSetCurrentName, libs, "gtk_file_chooser_set_current_name")
628 core.PuregoSafeRegister(&XGtkFileChooserSetFile, libs, "gtk_file_chooser_set_file")
629 core.PuregoSafeRegister(&XGtkFileChooserSetFilter, libs, "gtk_file_chooser_set_filter")
630 core.PuregoSafeRegister(&XGtkFileChooserSetSelectMultiple, libs, "gtk_file_chooser_set_select_multiple")
631
632}