gtk2 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ChangeLog +6664 -0
- data/README +33 -0
- data/Rakefile +71 -0
- data/extconf.rb +116 -0
- data/src/global.h +33 -0
- data/src/init.c +39 -0
- data/src/lib/gtk2.rb +13 -0
- data/src/lib/gtk2/base.rb +95 -0
- data/src/makeinits.rb +57 -0
- data/src/makekeysyms.rb +5 -0
- data/src/rbgdk.c +395 -0
- data/src/rbgdk.h +50 -0
- data/src/rbgdkatom.c +122 -0
- data/src/rbgdkcairo.c +100 -0
- data/src/rbgdkcolor.c +151 -0
- data/src/rbgdkcolormap.c +142 -0
- data/src/rbgdkconst.c +29 -0
- data/src/rbgdkconversions.h +18 -0
- data/src/rbgdkcursor.c +115 -0
- data/src/rbgdkdevice.c +235 -0
- data/src/rbgdkdisplay.c +634 -0
- data/src/rbgdkdisplaymanager.c +50 -0
- data/src/rbgdkdragcontext.c +280 -0
- data/src/rbgdkdraw.c +487 -0
- data/src/rbgdkevent.c +1020 -0
- data/src/rbgdkgc.c +456 -0
- data/src/rbgdkgeometry.c +272 -0
- data/src/rbgdkimage.c +155 -0
- data/src/rbgdkinput.c +70 -0
- data/src/rbgdkkeymap.c +153 -0
- data/src/rbgdkkeysyms.h +2174 -0
- data/src/rbgdkkeyval.c +105 -0
- data/src/rbgdkpango.c +171 -0
- data/src/rbgdkpangorenderer.c +132 -0
- data/src/rbgdkpixbuf.c +178 -0
- data/src/rbgdkpixmap.c +255 -0
- data/src/rbgdkproperty.c +342 -0
- data/src/rbgdkrectangle.c +146 -0
- data/src/rbgdkregion.c +242 -0
- data/src/rbgdkrgb.c +197 -0
- data/src/rbgdkscreen.c +535 -0
- data/src/rbgdkselection.c +161 -0
- data/src/rbgdkthreads.c +68 -0
- data/src/rbgdktimecoord.c +118 -0
- data/src/rbgdkvisual.c +273 -0
- data/src/rbgdkwindow.c +1302 -0
- data/src/rbgdkwindowattr.c +213 -0
- data/src/rbgdkx11.c +256 -0
- data/src/rbgtk.c +93 -0
- data/src/rbgtk.h +121 -0
- data/src/rbgtkaboutdialog.c +195 -0
- data/src/rbgtkaccelerator.c +78 -0
- data/src/rbgtkaccelgroup.c +216 -0
- data/src/rbgtkaccelgroupentry.c +85 -0
- data/src/rbgtkaccelkey.c +116 -0
- data/src/rbgtkaccellabel.c +46 -0
- data/src/rbgtkaccelmap.c +162 -0
- data/src/rbgtkaccessible.c +29 -0
- data/src/rbgtkaction.c +277 -0
- data/src/rbgtkactiongroup.c +377 -0
- data/src/rbgtkadjustment.c +153 -0
- data/src/rbgtkalignment.c +71 -0
- data/src/rbgtkallocation.c +171 -0
- data/src/rbgtkarrow.c +47 -0
- data/src/rbgtkaspectframe.c +46 -0
- data/src/rbgtkassistant.c +230 -0
- data/src/rbgtkbbox.c +47 -0
- data/src/rbgtkbin.c +31 -0
- data/src/rbgtkbindingset.c +192 -0
- data/src/rbgtkborder.c +80 -0
- data/src/rbgtkbox.c +142 -0
- data/src/rbgtkbuildable.c +115 -0
- data/src/rbgtkbuilder.c +154 -0
- data/src/rbgtkbutton.c +151 -0
- data/src/rbgtkcalendar.c +159 -0
- data/src/rbgtkcelleditable.c +49 -0
- data/src/rbgtkcelllayout.c +144 -0
- data/src/rbgtkcellrenderer.c +139 -0
- data/src/rbgtkcellrendereraccel.c +42 -0
- data/src/rbgtkcellrenderercombo.c +37 -0
- data/src/rbgtkcellrendererpixbuf.c +33 -0
- data/src/rbgtkcellrendererprogress.c +37 -0
- data/src/rbgtkcellrendererspin.c +38 -0
- data/src/rbgtkcellrenderertext.c +45 -0
- data/src/rbgtkcellrenderertoggle.c +32 -0
- data/src/rbgtkcellview.c +134 -0
- data/src/rbgtkcheckbutton.c +55 -0
- data/src/rbgtkcheckmenuitem.c +56 -0
- data/src/rbgtkclipboard.c +473 -0
- data/src/rbgtkcolorbutton.c +63 -0
- data/src/rbgtkcolorsel.c +175 -0
- data/src/rbgtkcolorselectiondialog.c +72 -0
- data/src/rbgtkcombo.c +117 -0
- data/src/rbgtkcombobox.c +240 -0
- data/src/rbgtkcomboboxentry.c +60 -0
- data/src/rbgtkconst.c +163 -0
- data/src/rbgtkcontainer.c +776 -0
- data/src/rbgtkconversions.h +26 -0
- data/src/rbgtkcurve.c +105 -0
- data/src/rbgtkdialog.c +244 -0
- data/src/rbgtkdrag.c +436 -0
- data/src/rbgtkdrawingarea.c +31 -0
- data/src/rbgtkeditable.c +152 -0
- data/src/rbgtkentry.c +161 -0
- data/src/rbgtkentrycompletion.c +167 -0
- data/src/rbgtkeventbox.c +31 -0
- data/src/rbgtkexpander.c +67 -0
- data/src/rbgtkfilechooser.c +403 -0
- data/src/rbgtkfilechooserbutton.c +72 -0
- data/src/rbgtkfilechooserdialog.c +58 -0
- data/src/rbgtkfilechooserwidget.c +50 -0
- data/src/rbgtkfilefilter.c +139 -0
- data/src/rbgtkfilesel.c +155 -0
- data/src/rbgtkfixed.c +72 -0
- data/src/rbgtkfontbutton.c +69 -0
- data/src/rbgtkfontselection.c +30 -0
- data/src/rbgtkfontselectiondialog.c +106 -0
- data/src/rbgtkframe.c +64 -0
- data/src/rbgtkgamma.c +47 -0
- data/src/rbgtkhandlebox.c +42 -0
- data/src/rbgtkhbbox.c +31 -0
- data/src/rbgtkhbox.c +38 -0
- data/src/rbgtkhpaned.c +31 -0
- data/src/rbgtkhruler.c +31 -0
- data/src/rbgtkhscale.c +45 -0
- data/src/rbgtkhscrollbar.c +38 -0
- data/src/rbgtkhseparator.c +30 -0
- data/src/rbgtkiconfactory.c +80 -0
- data/src/rbgtkiconinfo.c +118 -0
- data/src/rbgtkiconset.c +87 -0
- data/src/rbgtkiconsize.c +90 -0
- data/src/rbgtkiconsource.c +176 -0
- data/src/rbgtkicontheme.c +309 -0
- data/src/rbgtkiconview.c +351 -0
- data/src/rbgtkimage.c +152 -0
- data/src/rbgtkimagemenuitem.c +52 -0
- data/src/rbgtkimcontext.c +134 -0
- data/src/rbgtkimcontextsimple.c +48 -0
- data/src/rbgtkimmulticontext.c +38 -0
- data/src/rbgtkinits.c +473 -0
- data/src/rbgtkinputdialog.c +30 -0
- data/src/rbgtkinvisible.c +68 -0
- data/src/rbgtkitem.c +51 -0
- data/src/rbgtkitemfactory.c +312 -0
- data/src/rbgtklabel.c +168 -0
- data/src/rbgtklayout.c +91 -0
- data/src/rbgtklinkbutton.c +68 -0
- data/src/rbgtkliststore.c +412 -0
- data/src/rbgtkmacros.h +26 -0
- data/src/rbgtkmain.c +532 -0
- data/src/rbgtkmenu.c +272 -0
- data/src/rbgtkmenubar.c +48 -0
- data/src/rbgtkmenuitem.c +171 -0
- data/src/rbgtkmenushell.c +128 -0
- data/src/rbgtkmenutoolbutton.c +74 -0
- data/src/rbgtkmessagedialog.c +102 -0
- data/src/rbgtkmisc.c +63 -0
- data/src/rbgtknotebook.c +484 -0
- data/src/rbgtkobject.c +186 -0
- data/src/rbgtkoptionmenu.c +65 -0
- data/src/rbgtkpagesetup.c +196 -0
- data/src/rbgtkpagesetupunixdialog.c +80 -0
- data/src/rbgtkpaned.c +114 -0
- data/src/rbgtkpapersize.c +186 -0
- data/src/rbgtkplug.c +84 -0
- data/src/rbgtkprintcontext.c +124 -0
- data/src/rbgtkprinter.c +155 -0
- data/src/rbgtkprintjob.c +151 -0
- data/src/rbgtkprintoperation.c +152 -0
- data/src/rbgtkprintoperationpreview.c +54 -0
- data/src/rbgtkprintsettings.c +794 -0
- data/src/rbgtkprintunixdialog.c +98 -0
- data/src/rbgtkprogress.c +21 -0
- data/src/rbgtkprogressbar.c +72 -0
- data/src/rbgtkradioaction.c +102 -0
- data/src/rbgtkradiobutton.c +83 -0
- data/src/rbgtkradiomenuitem.c +115 -0
- data/src/rbgtkradiotoolbutton.c +99 -0
- data/src/rbgtkrange.c +98 -0
- data/src/rbgtkrc.c +228 -0
- data/src/rbgtkrcstyle.c +184 -0
- data/src/rbgtkrecentaction.c +52 -0
- data/src/rbgtkrecentchooser.c +276 -0
- data/src/rbgtkrecentchooserdialog.c +59 -0
- data/src/rbgtkrecentchoosermenu.c +55 -0
- data/src/rbgtkrecentchooserwidget.c +45 -0
- data/src/rbgtkrecentdata.c +152 -0
- data/src/rbgtkrecentfilter.c +180 -0
- data/src/rbgtkrecentfilterinfo.c +197 -0
- data/src/rbgtkrecentinfo.c +232 -0
- data/src/rbgtkrecentmanager.c +164 -0
- data/src/rbgtkruler.c +82 -0
- data/src/rbgtkscale.c +47 -0
- data/src/rbgtkscalebutton.c +115 -0
- data/src/rbgtkscrollbar.c +21 -0
- data/src/rbgtkscrolledwindow.c +160 -0
- data/src/rbgtkselection.c +171 -0
- data/src/rbgtkselectiondata.c +333 -0
- data/src/rbgtkseparator.c +21 -0
- data/src/rbgtkseparatormenuitem.c +28 -0
- data/src/rbgtkseparatortoolitem.c +40 -0
- data/src/rbgtksettings.c +225 -0
- data/src/rbgtksizegroup.c +74 -0
- data/src/rbgtksocket.c +72 -0
- data/src/rbgtkspinbutton.c +138 -0
- data/src/rbgtkstatusbar.c +90 -0
- data/src/rbgtkstatusicon.c +120 -0
- data/src/rbgtkstock.c +264 -0
- data/src/rbgtkstyle.c +722 -0
- data/src/rbgtktable.c +190 -0
- data/src/rbgtktargetlist.c +148 -0
- data/src/rbgtktearoffmenuitem.c +30 -0
- data/src/rbgtktextappearance.c +173 -0
- data/src/rbgtktextattributes.c +209 -0
- data/src/rbgtktextbuffer.c +993 -0
- data/src/rbgtktextchild.c +49 -0
- data/src/rbgtktextiter.c +553 -0
- data/src/rbgtktextmark.c +87 -0
- data/src/rbgtktexttag.c +66 -0
- data/src/rbgtktexttagtable.c +94 -0
- data/src/rbgtktextview.c +351 -0
- data/src/rbgtktoggleaction.c +76 -0
- data/src/rbgtktogglebutton.c +84 -0
- data/src/rbgtktoggletoolbutton.c +70 -0
- data/src/rbgtktoolbar.c +373 -0
- data/src/rbgtktoolbutton.c +75 -0
- data/src/rbgtktoolitem.c +184 -0
- data/src/rbgtktooltip.c +76 -0
- data/src/rbgtktooltips.c +107 -0
- data/src/rbgtktreedragdest.c +19 -0
- data/src/rbgtktreedragsource.c +19 -0
- data/src/rbgtktreeiter.c +259 -0
- data/src/rbgtktreemodel.c +256 -0
- data/src/rbgtktreemodelfilter.c +214 -0
- data/src/rbgtktreemodelsort.c +113 -0
- data/src/rbgtktreepath.c +195 -0
- data/src/rbgtktreerowreference.c +168 -0
- data/src/rbgtktreeselection.c +235 -0
- data/src/rbgtktreesortable.c +127 -0
- data/src/rbgtktreestore.c +379 -0
- data/src/rbgtktreeview.c +881 -0
- data/src/rbgtktreeviewcolumn.c +331 -0
- data/src/rbgtkuimanager.c +210 -0
- data/src/rbgtkvbbox.c +31 -0
- data/src/rbgtkvbox.c +38 -0
- data/src/rbgtkviewport.c +33 -0
- data/src/rbgtkvolumebutton.c +36 -0
- data/src/rbgtkvpaned.c +31 -0
- data/src/rbgtkvruler.c +30 -0
- data/src/rbgtkvscale.c +45 -0
- data/src/rbgtkvscrollbar.c +38 -0
- data/src/rbgtkvseparator.c +30 -0
- data/src/rbgtkwidget.c +1414 -0
- data/src/rbgtkwindow.c +822 -0
- data/src/rbgtkwindowgroup.c +48 -0
- data/test/gtk-test-utils.rb +15 -0
- data/test/run-test.rb +30 -0
- data/test/test_gc.rb +25 -0
- data/test/test_gdk.rb +18 -0
- data/test/test_gdk_color.rb +10 -0
- data/test/test_gdk_display.rb +37 -0
- data/test/test_gdk_event.rb +11 -0
- data/test/test_gdk_gc.rb +7 -0
- data/test/test_gdk_keymap.rb +8 -0
- data/test/test_gdk_pango.rb +9 -0
- data/test/test_gdk_selection_data.rb +17 -0
- data/test/test_gdk_window.rb +29 -0
- data/test/test_gdk_window_attribute.rb +9 -0
- data/test/test_gtk_about_dialog.rb +14 -0
- data/test/test_gtk_buildable.rb +66 -0
- data/test/test_gtk_builder.rb +188 -0
- data/test/test_gtk_entry.rb +18 -0
- data/test/test_gtk_icon_theme.rb +30 -0
- data/test/test_gtk_image.rb +8 -0
- data/test/test_gtk_list_store.rb +65 -0
- data/test/test_gtk_menu_item.rb +13 -0
- data/test/test_gtk_rc_style.rb +14 -0
- data/test/test_gtk_tree_path.rb +20 -0
- data/test/test_gtk_unix_print.rb +14 -0
- data/test/test_gtk_widget.rb +32 -0
- metadata +393 -0
data/src/rbgtkeventbox.c
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/************************************************
|
3
|
+
|
4
|
+
rbgtkeventbox.c -
|
5
|
+
|
6
|
+
$Author: mutoh $
|
7
|
+
$Date: 2003/02/01 16:46:23 $
|
8
|
+
|
9
|
+
Copyright (C) 2002,2003 Ruby-GNOME2 Project Team
|
10
|
+
Copyright (C) 1998-2000 Yukihiro Matsumoto,
|
11
|
+
Daisuke Kanda,
|
12
|
+
Hiroshi Igarashi
|
13
|
+
************************************************/
|
14
|
+
|
15
|
+
#include "global.h"
|
16
|
+
|
17
|
+
static VALUE
|
18
|
+
eventbox_initialize(self)
|
19
|
+
VALUE self;
|
20
|
+
{
|
21
|
+
RBGTK_INITIALIZE(self, gtk_event_box_new());
|
22
|
+
return Qnil;
|
23
|
+
}
|
24
|
+
|
25
|
+
void
|
26
|
+
Init_gtk_eventbox()
|
27
|
+
{
|
28
|
+
VALUE gEventBox = G_DEF_CLASS(GTK_TYPE_EVENT_BOX, "EventBox", mGtk);
|
29
|
+
|
30
|
+
rb_define_method(gEventBox, "initialize", eventbox_initialize, 0);
|
31
|
+
}
|
data/src/rbgtkexpander.c
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/************************************************
|
3
|
+
|
4
|
+
rbgtkexpander.c -
|
5
|
+
|
6
|
+
$Author: ggc $
|
7
|
+
$Date: 2007/07/13 16:07:31 $
|
8
|
+
|
9
|
+
Copyright (C) 2004 Masao Mutoh
|
10
|
+
************************************************/
|
11
|
+
|
12
|
+
#include "global.h"
|
13
|
+
|
14
|
+
#if GTK_CHECK_VERSION(2,4,0)
|
15
|
+
|
16
|
+
#define _SELF(self) (GTK_EXPANDER(RVAL2GOBJ(self)))
|
17
|
+
|
18
|
+
static VALUE
|
19
|
+
expander_initialize(argc, argv, self)
|
20
|
+
int argc;
|
21
|
+
VALUE* argv;
|
22
|
+
VALUE self;
|
23
|
+
{
|
24
|
+
VALUE label, with_mnemonic;
|
25
|
+
GtkWidget* widget = NULL;
|
26
|
+
|
27
|
+
rb_scan_args(argc, argv, "11", &label, &with_mnemonic);
|
28
|
+
if (NIL_P(with_mnemonic) || ! RVAL2CBOOL(with_mnemonic)){
|
29
|
+
widget = gtk_expander_new(RVAL2CSTR(label));
|
30
|
+
} else {
|
31
|
+
widget = gtk_expander_new_with_mnemonic(RVAL2CSTR(label));
|
32
|
+
}
|
33
|
+
|
34
|
+
RBGTK_INITIALIZE(self, widget);
|
35
|
+
return Qnil;
|
36
|
+
}
|
37
|
+
/* Defined as Property.
|
38
|
+
void gtk_expander_set_expanded (GtkExpander *expander,
|
39
|
+
gboolean expanded);
|
40
|
+
gboolean gtk_expander_get_expanded (GtkExpander *expander);
|
41
|
+
void gtk_expander_set_spacing (GtkExpander *expander,
|
42
|
+
gint spacing);
|
43
|
+
gint gtk_expander_get_spacing (GtkExpander *expander);
|
44
|
+
void gtk_expander_set_label (GtkExpander *expander,
|
45
|
+
const gchar *label);
|
46
|
+
G_CONST_RETURN gchar* gtk_expander_get_label
|
47
|
+
(GtkExpander *expander);
|
48
|
+
void gtk_expander_set_use_underline (GtkExpander *expander,
|
49
|
+
gboolean use_underline);
|
50
|
+
gboolean gtk_expander_get_use_underline (GtkExpander *expander);
|
51
|
+
void gtk_expander_set_use_markup (GtkExpander *expander,
|
52
|
+
gboolean use_markup);
|
53
|
+
gboolean gtk_expander_get_use_markup (GtkExpander *expander);
|
54
|
+
void gtk_expander_set_label_widget (GtkExpander *expander,
|
55
|
+
GtkWidget *label_widget);
|
56
|
+
GtkWidget* gtk_expander_get_label_widget (GtkExpander *expander);
|
57
|
+
*/
|
58
|
+
#endif
|
59
|
+
|
60
|
+
void
|
61
|
+
Init_gtk_expander()
|
62
|
+
{
|
63
|
+
#if GTK_CHECK_VERSION(2,4,0)
|
64
|
+
VALUE gExpander = G_DEF_CLASS(GTK_TYPE_EXPANDER, "Expander", mGtk);
|
65
|
+
rb_define_method(gExpander, "initialize", expander_initialize, -1);
|
66
|
+
#endif
|
67
|
+
}
|
@@ -0,0 +1,403 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/************************************************
|
3
|
+
|
4
|
+
rbgtkfilechooser.c -
|
5
|
+
|
6
|
+
$Author: ggc $
|
7
|
+
$Date: 2007/07/13 16:07:31 $
|
8
|
+
|
9
|
+
Copyright (C) 2005,2006 Ruby-GNOME2 Project Team
|
10
|
+
Copyright (C) 2004 Seiya Nishizawa, Masao Mutoh
|
11
|
+
************************************************/
|
12
|
+
|
13
|
+
#include "global.h"
|
14
|
+
|
15
|
+
#if GTK_CHECK_VERSION(2,4,0)
|
16
|
+
|
17
|
+
#define _SELF(self) GTK_FILE_CHOOSER(RVAL2GOBJ(self))
|
18
|
+
|
19
|
+
#ifdef HAVE_GTK_GTKFILESYSTEM_H
|
20
|
+
/* For error handling */
|
21
|
+
# define GTK_FILE_SYSTEM_ENABLE_UNSUPPORTED
|
22
|
+
# include <gtk/gtkfilesystem.h>
|
23
|
+
#endif
|
24
|
+
|
25
|
+
static VALUE
|
26
|
+
gslist2ary_free(list)
|
27
|
+
GSList* list;
|
28
|
+
{
|
29
|
+
GSList* l;
|
30
|
+
VALUE ary = rb_ary_new();
|
31
|
+
for (l = list; l != NULL; l = g_slist_next(l)) {
|
32
|
+
rb_ary_push(ary, CSTR2RVAL2(l->data));
|
33
|
+
}
|
34
|
+
g_slist_free(list);
|
35
|
+
return ary;
|
36
|
+
}
|
37
|
+
|
38
|
+
static VALUE
|
39
|
+
fcho_set_action(self, action)
|
40
|
+
VALUE self, action;
|
41
|
+
{
|
42
|
+
gtk_file_chooser_set_action(
|
43
|
+
_SELF(self),
|
44
|
+
RVAL2GENUM(action, GTK_TYPE_FILE_CHOOSER_ACTION));
|
45
|
+
return self;
|
46
|
+
}
|
47
|
+
|
48
|
+
static VALUE
|
49
|
+
fcho_get_action(self)
|
50
|
+
VALUE self;
|
51
|
+
{
|
52
|
+
return GENUM2RVAL(gtk_file_chooser_get_action(_SELF(self)), GTK_TYPE_FILE_CHOOSER_ACTION);
|
53
|
+
}
|
54
|
+
|
55
|
+
/* They are defined as properties
|
56
|
+
gtk_file_chooser_set_local_only(_SELF(self), RVAL2CBOOL(local));
|
57
|
+
gtk_file_chooser_get_local_only(_SELF(self));
|
58
|
+
gtk_file_chooser_set_select_multiple(_SELF(self), RVAL2CBOOL(multiple));
|
59
|
+
gtk_file_chooser_get_select_multiple(_SELF(self));
|
60
|
+
*/
|
61
|
+
|
62
|
+
/* Defined as Property
|
63
|
+
void gtk_file_chooser_set_show_hidden
|
64
|
+
(GtkFileChooser *chooser,
|
65
|
+
gboolean show_hidden);
|
66
|
+
gboolean gtk_file_chooser_get_show_hidden
|
67
|
+
(GtkFileChooser *chooser);
|
68
|
+
*/
|
69
|
+
|
70
|
+
static VALUE
|
71
|
+
fcho_set_current_name(self, name)
|
72
|
+
VALUE self, name;
|
73
|
+
{
|
74
|
+
gtk_file_chooser_set_current_name(_SELF(self), RVAL2CSTR(name));
|
75
|
+
return self;
|
76
|
+
}
|
77
|
+
|
78
|
+
static VALUE
|
79
|
+
fcho_get_filename(self)
|
80
|
+
VALUE self;
|
81
|
+
{
|
82
|
+
return CSTR2RVAL2(gtk_file_chooser_get_filename(_SELF(self)));
|
83
|
+
}
|
84
|
+
|
85
|
+
static VALUE
|
86
|
+
fcho_set_filename(self, name)
|
87
|
+
VALUE self, name;
|
88
|
+
{
|
89
|
+
gboolean ret = gtk_file_chooser_set_filename(_SELF(self), RVAL2CSTR(name));
|
90
|
+
if (! ret) rb_raise(rb_eRuntimeError, "Can't set filename");
|
91
|
+
return self;
|
92
|
+
}
|
93
|
+
|
94
|
+
static VALUE
|
95
|
+
fcho_select_filename(self, filename)
|
96
|
+
VALUE self, filename;
|
97
|
+
{
|
98
|
+
return CBOOL2RVAL(gtk_file_chooser_select_filename(_SELF(self), RVAL2CSTR(filename)));
|
99
|
+
}
|
100
|
+
|
101
|
+
static VALUE
|
102
|
+
fcho_unselect_filename(self, filename)
|
103
|
+
VALUE self, filename;
|
104
|
+
{
|
105
|
+
gtk_file_chooser_unselect_filename(_SELF(self), RVAL2CSTR(filename));
|
106
|
+
return self;
|
107
|
+
}
|
108
|
+
|
109
|
+
static VALUE
|
110
|
+
fcho_select_all(self)
|
111
|
+
VALUE self;
|
112
|
+
{
|
113
|
+
gtk_file_chooser_select_all(_SELF(self));
|
114
|
+
return self;
|
115
|
+
}
|
116
|
+
|
117
|
+
static VALUE
|
118
|
+
fcho_unselect_all(self)
|
119
|
+
VALUE self;
|
120
|
+
{
|
121
|
+
gtk_file_chooser_unselect_all(_SELF(self));
|
122
|
+
return self;
|
123
|
+
}
|
124
|
+
|
125
|
+
static VALUE
|
126
|
+
fcho_get_filenames(self)
|
127
|
+
VALUE self;
|
128
|
+
{
|
129
|
+
return gslist2ary_free(gtk_file_chooser_get_filenames(_SELF(self)));
|
130
|
+
}
|
131
|
+
|
132
|
+
static VALUE
|
133
|
+
fcho_set_current_folder(self, filename)
|
134
|
+
VALUE self, filename;
|
135
|
+
{
|
136
|
+
gboolean ret = gtk_file_chooser_set_current_folder(_SELF(self), RVAL2CSTR(filename));
|
137
|
+
if (! ret) rb_raise(rb_eRuntimeError, "Can't set current folder");
|
138
|
+
return self;
|
139
|
+
}
|
140
|
+
|
141
|
+
static VALUE
|
142
|
+
fcho_get_current_folder(self)
|
143
|
+
VALUE self;
|
144
|
+
{
|
145
|
+
return CSTR2RVAL2(gtk_file_chooser_get_current_folder(_SELF(self)));
|
146
|
+
}
|
147
|
+
|
148
|
+
static VALUE
|
149
|
+
fcho_get_uri(self)
|
150
|
+
VALUE self;
|
151
|
+
{
|
152
|
+
return CSTR2RVAL2(gtk_file_chooser_get_uri(_SELF(self)));
|
153
|
+
}
|
154
|
+
|
155
|
+
static VALUE
|
156
|
+
fcho_set_uri(self, uri)
|
157
|
+
VALUE self, uri;
|
158
|
+
{
|
159
|
+
gboolean ret = gtk_file_chooser_set_uri(_SELF(self), RVAL2CSTR(uri));
|
160
|
+
if (! ret) rb_raise(rb_eRuntimeError, "Can't set uri");
|
161
|
+
return self;
|
162
|
+
}
|
163
|
+
|
164
|
+
static VALUE
|
165
|
+
fcho_select_uri(self, uri)
|
166
|
+
VALUE self, uri;
|
167
|
+
{
|
168
|
+
return CBOOL2RVAL(gtk_file_chooser_select_uri(_SELF(self), RVAL2CSTR(uri)));
|
169
|
+
}
|
170
|
+
|
171
|
+
static VALUE
|
172
|
+
fcho_unselect_uri(self, uri)
|
173
|
+
VALUE self, uri;
|
174
|
+
{
|
175
|
+
gtk_file_chooser_unselect_uri(_SELF(self), RVAL2CSTR(uri));
|
176
|
+
return self;
|
177
|
+
}
|
178
|
+
|
179
|
+
static VALUE
|
180
|
+
fcho_get_uris(self)
|
181
|
+
VALUE self;
|
182
|
+
{
|
183
|
+
return gslist2ary_free(gtk_file_chooser_get_uris(_SELF(self)));
|
184
|
+
}
|
185
|
+
|
186
|
+
static VALUE
|
187
|
+
fcho_set_current_folder_uri(self, uri)
|
188
|
+
VALUE self, uri;
|
189
|
+
{
|
190
|
+
gboolean ret = gtk_file_chooser_set_current_folder_uri(_SELF(self), RVAL2CSTR(uri));
|
191
|
+
if (! ret) rb_raise(rb_eRuntimeError, "Can't set current folder uri");
|
192
|
+
return self;
|
193
|
+
}
|
194
|
+
|
195
|
+
static VALUE
|
196
|
+
fcho_get_current_folder_uri(self)
|
197
|
+
VALUE self;
|
198
|
+
{
|
199
|
+
return CSTR2RVAL2(gtk_file_chooser_get_current_folder_uri(_SELF(self)));
|
200
|
+
}
|
201
|
+
|
202
|
+
/* They are defined as properties.
|
203
|
+
gtk_file_chooser_set_preview_widget(_SELF(self), GTK_WIDGET(RVAL2GOBJ(widget));
|
204
|
+
gtk_file_chooser_get_preview_widget(_SELF(self)));
|
205
|
+
gtk_file_chooser_set_preview_widget_active(_SELF(self), RVAL2CBOOL(active));
|
206
|
+
gtk_file_chooser_get_preview_widget_active(_SELF(self));
|
207
|
+
gtk_file_chooser_set_use_preview_label(_SELF(self), RVAL2CBOOL(label));
|
208
|
+
gtk_file_chooser_get_use_preview_label(_SELF(self));
|
209
|
+
*/
|
210
|
+
|
211
|
+
static VALUE
|
212
|
+
fcho_get_preview_filename(self)
|
213
|
+
VALUE self;
|
214
|
+
{
|
215
|
+
return CSTR2RVAL2(gtk_file_chooser_get_preview_filename(_SELF(self)));
|
216
|
+
}
|
217
|
+
|
218
|
+
static VALUE
|
219
|
+
fcho_get_preview_uri(self)
|
220
|
+
VALUE self;
|
221
|
+
{
|
222
|
+
return CSTR2RVAL2(gtk_file_chooser_get_preview_uri(_SELF(self)));
|
223
|
+
}
|
224
|
+
|
225
|
+
/* They are defined as properties.
|
226
|
+
gtk_file_chooser_set_extra_widget(_SELF(self), GTK_WIDGET(RVAL2GOBJ(widget)));
|
227
|
+
gtk_file_chooser_get_extra_widget(_SELF(self));
|
228
|
+
*/
|
229
|
+
|
230
|
+
static VALUE
|
231
|
+
fcho_add_filter(self, filter)
|
232
|
+
VALUE self, filter;
|
233
|
+
{
|
234
|
+
gtk_file_chooser_add_filter(_SELF(self), GTK_FILE_FILTER(RVAL2GOBJ(filter)));
|
235
|
+
return self;
|
236
|
+
}
|
237
|
+
|
238
|
+
static VALUE
|
239
|
+
fcho_remove_filter(self, filter)
|
240
|
+
VALUE self, filter;
|
241
|
+
{
|
242
|
+
gtk_file_chooser_remove_filter(_SELF(self), GTK_FILE_FILTER(RVAL2GOBJ(filter)));
|
243
|
+
return self;
|
244
|
+
}
|
245
|
+
|
246
|
+
static VALUE
|
247
|
+
fcho_list_filters(self)
|
248
|
+
VALUE self;
|
249
|
+
{
|
250
|
+
return GSLIST2ARYF(gtk_file_chooser_list_filters(_SELF(self)));
|
251
|
+
}
|
252
|
+
|
253
|
+
/*
|
254
|
+
They are defined as property.
|
255
|
+
gtk_file_chooser_set_filter(_SELF(self), GTK_FILE_FILTER(RVAL2GOBJ(filter)));
|
256
|
+
gtk_file_chooser_get_filter(_SELF(self));
|
257
|
+
*/
|
258
|
+
|
259
|
+
static VALUE
|
260
|
+
fcho_add_shortcut_folder(self, folder)
|
261
|
+
VALUE self, folder;
|
262
|
+
{
|
263
|
+
GError *error = NULL;
|
264
|
+
if (! gtk_file_chooser_add_shortcut_folder(_SELF(self), RVAL2CSTR(folder), &error))
|
265
|
+
RAISE_GERROR(error);
|
266
|
+
return self;
|
267
|
+
}
|
268
|
+
|
269
|
+
static VALUE
|
270
|
+
fcho_remove_shortcut_folder(self, folder)
|
271
|
+
VALUE self, folder;
|
272
|
+
{
|
273
|
+
GError *error = NULL;
|
274
|
+
if (! gtk_file_chooser_remove_shortcut_folder(_SELF(self), RVAL2CSTR(folder), &error))
|
275
|
+
RAISE_GERROR(error);
|
276
|
+
return self;
|
277
|
+
}
|
278
|
+
|
279
|
+
static VALUE
|
280
|
+
fcho_list_shortcut_folders(self)
|
281
|
+
VALUE self;
|
282
|
+
{
|
283
|
+
return gslist2ary_free(gtk_file_chooser_list_shortcut_folders(_SELF(self)));
|
284
|
+
}
|
285
|
+
|
286
|
+
|
287
|
+
static VALUE
|
288
|
+
fcho_add_shortcut_folder_uri(self, uri)
|
289
|
+
VALUE self, uri;
|
290
|
+
{
|
291
|
+
GError *error = NULL;
|
292
|
+
if (! gtk_file_chooser_add_shortcut_folder_uri(_SELF(self), RVAL2CSTR(uri), &error))
|
293
|
+
RAISE_GERROR(error);
|
294
|
+
return self;
|
295
|
+
}
|
296
|
+
|
297
|
+
static VALUE
|
298
|
+
fcho_remove_shortcut_folder_uri(self, uri)
|
299
|
+
VALUE self, uri;
|
300
|
+
{
|
301
|
+
GError *error = NULL;
|
302
|
+
if (! gtk_file_chooser_remove_shortcut_folder_uri(_SELF(self), RVAL2CSTR(uri), &error))
|
303
|
+
RAISE_GERROR(error);
|
304
|
+
return self;
|
305
|
+
}
|
306
|
+
|
307
|
+
static VALUE
|
308
|
+
fcho_list_shortcut_folder_uris(self)
|
309
|
+
VALUE self;
|
310
|
+
{
|
311
|
+
return gslist2ary_free(gtk_file_chooser_list_shortcut_folder_uris(_SELF(self)));
|
312
|
+
}
|
313
|
+
#endif
|
314
|
+
|
315
|
+
/* Properties.
|
316
|
+
void gtk_file_chooser_set_do_overwrite_confirmation
|
317
|
+
(GtkFileChooser *chooser,
|
318
|
+
gboolean do_overwrite_confirmation);
|
319
|
+
gboolean gtk_file_chooser_get_do_overwrite_confirmation
|
320
|
+
(GtkFileChooser *chooser);
|
321
|
+
*/
|
322
|
+
|
323
|
+
void
|
324
|
+
Init_gtk_file_chooser()
|
325
|
+
{
|
326
|
+
#if GTK_CHECK_VERSION(2,4,0)
|
327
|
+
|
328
|
+
VALUE gFileCho = G_DEF_INTERFACE(GTK_TYPE_FILE_CHOOSER, "FileChooser", mGtk);
|
329
|
+
#ifdef GTK_FILE_SYSTEM_ERROR
|
330
|
+
VALUE eFileSystemError;
|
331
|
+
#endif
|
332
|
+
|
333
|
+
rb_define_method(gFileCho, "set_action", fcho_set_action, 1);
|
334
|
+
rb_define_method(gFileCho, "action", fcho_get_action, 0);
|
335
|
+
rb_define_method(gFileCho, "set_current_name", fcho_set_current_name, 1);
|
336
|
+
rb_define_method(gFileCho, "set_filename", fcho_set_filename, 1);
|
337
|
+
rb_define_method(gFileCho, "filename", fcho_get_filename, 0);
|
338
|
+
rb_define_method(gFileCho, "select_filename", fcho_select_filename, 1);
|
339
|
+
rb_define_method(gFileCho, "unselect_filename", fcho_unselect_filename, 1);
|
340
|
+
rb_define_method(gFileCho, "select_all", fcho_select_all, 0);
|
341
|
+
rb_define_method(gFileCho, "unselect_all", fcho_unselect_all, 0);
|
342
|
+
rb_define_method(gFileCho, "filenames", fcho_get_filenames, 0);
|
343
|
+
rb_define_method(gFileCho, "set_current_folder", fcho_set_current_folder, 1);
|
344
|
+
rb_define_method(gFileCho, "current_folder", fcho_get_current_folder, 0);
|
345
|
+
rb_define_method(gFileCho, "set_uri", fcho_set_uri, 1);
|
346
|
+
rb_define_method(gFileCho, "uri", fcho_get_uri, 0);
|
347
|
+
rb_define_method(gFileCho, "select_uri", fcho_select_uri, 1);
|
348
|
+
rb_define_method(gFileCho, "unselect_uri", fcho_unselect_uri, 1);
|
349
|
+
rb_define_method(gFileCho, "uris", fcho_get_uris, 0);
|
350
|
+
rb_define_method(gFileCho, "set_current_folder_uri", fcho_set_current_folder_uri, 1);
|
351
|
+
rb_define_method(gFileCho, "current_folder_uri", fcho_get_current_folder_uri, 0);
|
352
|
+
rb_define_method(gFileCho, "preview_filename", fcho_get_preview_filename, 0);
|
353
|
+
rb_define_method(gFileCho, "preview_uri", fcho_get_preview_uri, 0);
|
354
|
+
rb_define_method(gFileCho, "add_filter", fcho_add_filter, 1);
|
355
|
+
rb_define_method(gFileCho, "remove_filter", fcho_remove_filter, 1);
|
356
|
+
rb_define_method(gFileCho, "filters", fcho_list_filters, 0);
|
357
|
+
rb_define_method(gFileCho, "add_shortcut_folder", fcho_add_shortcut_folder, 1);
|
358
|
+
rb_define_method(gFileCho, "remove_shortcut_folder", fcho_remove_shortcut_folder, 1);
|
359
|
+
rb_define_method(gFileCho, "shortcut_folders", fcho_list_shortcut_folders, 0);
|
360
|
+
rb_define_method(gFileCho, "add_shortcut_folder_uri", fcho_add_shortcut_folder_uri, 1);
|
361
|
+
rb_define_method(gFileCho, "remove_shortcut_folder_uri", fcho_remove_shortcut_folder_uri, 1);
|
362
|
+
|
363
|
+
rb_define_method(gFileCho, "shortcut_folder_uris", fcho_list_shortcut_folder_uris, 0);
|
364
|
+
|
365
|
+
G_DEF_SETTERS(gFileCho);
|
366
|
+
|
367
|
+
/* GtkFileChooserAction */
|
368
|
+
G_DEF_CLASS(GTK_TYPE_FILE_CHOOSER_ACTION, "Action", gFileCho);
|
369
|
+
G_DEF_CONSTANTS(gFileCho, GTK_TYPE_FILE_CHOOSER_ACTION, "GTK_FILE_CHOOSER_");
|
370
|
+
|
371
|
+
/* GtkFileChooserError */
|
372
|
+
G_DEF_ERROR(GTK_FILE_CHOOSER_ERROR, "FileChooserError", mGtk, rb_eRuntimeError,
|
373
|
+
GTK_TYPE_FILE_CHOOSER_ERROR);
|
374
|
+
|
375
|
+
#ifdef GTK_FILE_SYSTEM_ERROR
|
376
|
+
/* GtkFileSystemError */
|
377
|
+
eFileSystemError = G_DEF_ERROR2(GTK_FILE_SYSTEM_ERROR, "FileSystemError",
|
378
|
+
mGtk, rb_eRuntimeError);
|
379
|
+
rb_define_const(eFileSystemError, "NONEXISTENT",
|
380
|
+
INT2NUM(GTK_FILE_SYSTEM_ERROR_NONEXISTENT));
|
381
|
+
rb_define_const(eFileSystemError, "NOT_FOLDER",
|
382
|
+
INT2NUM(GTK_FILE_SYSTEM_ERROR_NOT_FOLDER));
|
383
|
+
rb_define_const(eFileSystemError, "INVALID_URI",
|
384
|
+
INT2NUM(GTK_FILE_SYSTEM_ERROR_INVALID_URI));
|
385
|
+
rb_define_const(eFileSystemError, "BAD_FILENAME",
|
386
|
+
INT2NUM(GTK_FILE_SYSTEM_ERROR_BAD_FILENAME));
|
387
|
+
rb_define_const(eFileSystemError, "FAILED",
|
388
|
+
INT2NUM(GTK_FILE_SYSTEM_ERROR_FAILED));
|
389
|
+
rb_define_const(eFileSystemError, "ALREADY_EXSITS",
|
390
|
+
INT2NUM(GTK_FILE_SYSTEM_ERROR_ALREADY_EXISTS));
|
391
|
+
#endif
|
392
|
+
|
393
|
+
#if GTK_CHECK_VERSION(2,8,0)
|
394
|
+
/* GtkFileChooserConfirmation */
|
395
|
+
G_DEF_CLASS(GTK_TYPE_FILE_CHOOSER_CONFIRMATION, "Confirmation", gFileCho);
|
396
|
+
G_DEF_CONSTANTS(gFileCho, GTK_TYPE_FILE_CHOOSER_CONFIRMATION, "GTK_FILE_CHOOSER_");
|
397
|
+
#endif
|
398
|
+
|
399
|
+
G_DEF_CLASS3("GtkFileChooserEmbed", "FileChooserEmbed", mGtk);
|
400
|
+
|
401
|
+
#endif
|
402
|
+
}
|
403
|
+
|