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
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
|
2
|
+
/************************************************
|
|
3
|
+
|
|
4
|
+
rbgtkrecentaction.c -
|
|
5
|
+
|
|
6
|
+
$Author: ggc $
|
|
7
|
+
$Date: 2007/07/12 14:53:09 $
|
|
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
|
+
#if GTK_CHECK_VERSION(2,12,0)
|
|
18
|
+
|
|
19
|
+
static VALUE
|
|
20
|
+
recentaction_initialize(argc, argv, self)
|
|
21
|
+
int argc;
|
|
22
|
+
VALUE* argv;
|
|
23
|
+
VALUE self;
|
|
24
|
+
{
|
|
25
|
+
VALUE name, label, tooltip, stock_id, manager;
|
|
26
|
+
rb_scan_args(argc, argv, "23", &name, &label, &tooltip, &stock_id, &manager);
|
|
27
|
+
if (NIL_P(manager)) {
|
|
28
|
+
G_INITIALIZE(self, gtk_recent_action_new(RVAL2CSTR(name),
|
|
29
|
+
RVAL2CSTR(label),
|
|
30
|
+
NIL_P(tooltip) ? NULL : RVAL2CSTR(tooltip),
|
|
31
|
+
NIL_P(stock_id) ? NULL : RVAL2CSTR(stock_id)));
|
|
32
|
+
} else {
|
|
33
|
+
G_INITIALIZE(self, gtk_recent_action_new_for_manager(RVAL2CSTR(name),
|
|
34
|
+
RVAL2CSTR(label),
|
|
35
|
+
NIL_P(tooltip) ? NULL : RVAL2CSTR(tooltip),
|
|
36
|
+
NIL_P(stock_id) ? NULL : RVAL2CSTR(stock_id),
|
|
37
|
+
GTK_RECENT_MANAGER(RVAL2GOBJ(manager))));
|
|
38
|
+
}
|
|
39
|
+
return Qnil;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
#endif
|
|
43
|
+
|
|
44
|
+
void
|
|
45
|
+
Init_gtk_recentaction()
|
|
46
|
+
{
|
|
47
|
+
#if GTK_CHECK_VERSION(2,12,0)
|
|
48
|
+
VALUE gRecentaction = G_DEF_CLASS(GTK_TYPE_RECENT_ACTION, "RecentAction", mGtk);
|
|
49
|
+
rb_define_method(gRecentaction, "initialize", recentaction_initialize, -1);
|
|
50
|
+
G_DEF_SETTERS(gRecentaction);
|
|
51
|
+
#endif
|
|
52
|
+
}
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
|
2
|
+
/************************************************
|
|
3
|
+
|
|
4
|
+
rbgtkrecentchooser.c -
|
|
5
|
+
|
|
6
|
+
$Author: sakai $
|
|
7
|
+
$Date: 2007/07/08 03:00:49 $
|
|
8
|
+
|
|
9
|
+
Copyright (C) 2006 Masao Mutoh
|
|
10
|
+
************************************************/
|
|
11
|
+
|
|
12
|
+
#include "global.h"
|
|
13
|
+
|
|
14
|
+
#if GTK_CHECK_VERSION(2,10,0)
|
|
15
|
+
|
|
16
|
+
#define _SELF(self) (GTK_RECENT_CHOOSER(RVAL2GOBJ(self)))
|
|
17
|
+
|
|
18
|
+
/* Defined as Properties
|
|
19
|
+
void gtk_recent_chooser_set_show_private
|
|
20
|
+
(GtkRecentChooser *chooser,
|
|
21
|
+
gboolean show_private);
|
|
22
|
+
gboolean gtk_recent_chooser_get_show_private
|
|
23
|
+
(GtkRecentChooser *chooser);
|
|
24
|
+
void gtk_recent_chooser_set_show_not_found
|
|
25
|
+
(GtkRecentChooser *chooser,
|
|
26
|
+
gboolean show_not_found);
|
|
27
|
+
gboolean gtk_recent_chooser_get_show_not_found
|
|
28
|
+
(GtkRecentChooser *chooser);
|
|
29
|
+
void gtk_recent_chooser_set_show_icons
|
|
30
|
+
(GtkRecentChooser *chooser,
|
|
31
|
+
gboolean show_icons);
|
|
32
|
+
gboolean gtk_recent_chooser_get_show_icons
|
|
33
|
+
(GtkRecentChooser *chooser);
|
|
34
|
+
void gtk_recent_chooser_set_select_multiple
|
|
35
|
+
(GtkRecentChooser *chooser,
|
|
36
|
+
gboolean select_multiple);
|
|
37
|
+
gboolean gtk_recent_chooser_get_select_multiple
|
|
38
|
+
(GtkRecentChooser *chooser);
|
|
39
|
+
void gtk_recent_chooser_set_local_only
|
|
40
|
+
(GtkRecentChooser *chooser,
|
|
41
|
+
gboolean local_only);
|
|
42
|
+
gboolean gtk_recent_chooser_get_local_only
|
|
43
|
+
(GtkRecentChooser *chooser);
|
|
44
|
+
void gtk_recent_chooser_set_limit (GtkRecentChooser *chooser,
|
|
45
|
+
gint limit);
|
|
46
|
+
gint gtk_recent_chooser_get_limit (GtkRecentChooser *chooser);
|
|
47
|
+
void gtk_recent_chooser_set_show_tips
|
|
48
|
+
(GtkRecentChooser *chooser,
|
|
49
|
+
gboolean show_tips);
|
|
50
|
+
gboolean gtk_recent_chooser_get_show_tips
|
|
51
|
+
(GtkRecentChooser *chooser);
|
|
52
|
+
void gtk_recent_chooser_set_sort_type
|
|
53
|
+
(GtkRecentChooser *chooser,
|
|
54
|
+
GtkRecentSortType sort_type);
|
|
55
|
+
GtkRecentSortType gtk_recent_chooser_get_sort_type
|
|
56
|
+
(GtkRecentChooser *chooser);
|
|
57
|
+
void gtk_recent_chooser_set_filter (GtkRecentChooser *chooser,
|
|
58
|
+
GtkRecentFilter *filter);
|
|
59
|
+
GtkRecentFilter* gtk_recent_chooser_get_filter
|
|
60
|
+
(GtkRecentChooser *chooser);
|
|
61
|
+
|
|
62
|
+
*/
|
|
63
|
+
static VALUE
|
|
64
|
+
rc_set_show_numbers(self, val)
|
|
65
|
+
VALUE self, val;
|
|
66
|
+
{
|
|
67
|
+
gtk_recent_chooser_set_show_numbers(_SELF(self), RVAL2CBOOL(val));
|
|
68
|
+
return self;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
static VALUE
|
|
72
|
+
rc_get_show_numbers(self)
|
|
73
|
+
VALUE self;
|
|
74
|
+
{
|
|
75
|
+
return CBOOL2RVAL(gtk_recent_chooser_get_show_numbers(_SELF(self)));
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
struct callback_arg
|
|
79
|
+
{
|
|
80
|
+
VALUE callback;
|
|
81
|
+
VALUE a, b;
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
static VALUE
|
|
85
|
+
invoke_callback(data)
|
|
86
|
+
VALUE data;
|
|
87
|
+
{
|
|
88
|
+
struct callback_arg *arg = (struct callback_arg *)data;
|
|
89
|
+
return rb_funcall(arg->callback, id_call, 1, arg->a, arg->b);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
static void
|
|
93
|
+
remove_callback_reference(callback)
|
|
94
|
+
gpointer callback;
|
|
95
|
+
{
|
|
96
|
+
G_CHILD_REMOVE(mGtk, (VALUE)callback);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
static gint
|
|
100
|
+
sort_func(a, b, func)
|
|
101
|
+
GtkRecentInfo* a;
|
|
102
|
+
GtkRecentInfo* b;
|
|
103
|
+
gpointer func;
|
|
104
|
+
{
|
|
105
|
+
struct callback_arg arg;
|
|
106
|
+
|
|
107
|
+
arg.callback = (VALUE)func;
|
|
108
|
+
arg.a = BOXED2RVAL(a, GTK_TYPE_RECENT_INFO);
|
|
109
|
+
arg.b = BOXED2RVAL(b, GTK_TYPE_RECENT_INFO);
|
|
110
|
+
return NUM2INT(G_PROTECT_CALLBACK(invoke_callback, &arg));
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
static VALUE
|
|
114
|
+
rc_set_sort_func(self)
|
|
115
|
+
VALUE self;
|
|
116
|
+
{
|
|
117
|
+
VALUE func = rb_block_proc();
|
|
118
|
+
G_CHILD_ADD(mGtk, func);
|
|
119
|
+
gtk_recent_chooser_set_sort_func(_SELF(self), (GtkRecentSortFunc)sort_func,
|
|
120
|
+
(gpointer)func, (GDestroyNotify)remove_callback_reference);
|
|
121
|
+
return self;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
static VALUE
|
|
125
|
+
rc_set_current_uri(self, uri)
|
|
126
|
+
VALUE self, uri;
|
|
127
|
+
{
|
|
128
|
+
GError *error = NULL;
|
|
129
|
+
gboolean ret = gtk_recent_chooser_set_current_uri(_SELF(self),
|
|
130
|
+
RVAL2CSTR(uri),
|
|
131
|
+
&error);
|
|
132
|
+
if (! ret) RAISE_GERROR(error);
|
|
133
|
+
return self;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
static VALUE
|
|
137
|
+
rc_get_current_uri(self)
|
|
138
|
+
VALUE self;
|
|
139
|
+
{
|
|
140
|
+
return CSTR2RVAL(gtk_recent_chooser_get_current_uri(_SELF(self)));
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
static VALUE
|
|
144
|
+
rc_get_current_item(self)
|
|
145
|
+
VALUE self;
|
|
146
|
+
{
|
|
147
|
+
return BOXED2RVAL(gtk_recent_chooser_get_current_item(_SELF(self)),
|
|
148
|
+
GTK_TYPE_RECENT_INFO);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
static VALUE
|
|
152
|
+
rc_select_uri(self, uri)
|
|
153
|
+
VALUE self, uri;
|
|
154
|
+
{
|
|
155
|
+
GError *error = NULL;
|
|
156
|
+
gboolean ret = gtk_recent_chooser_select_uri(_SELF(self),
|
|
157
|
+
RVAL2CSTR(uri),
|
|
158
|
+
&error);
|
|
159
|
+
if (! ret) RAISE_GERROR(error);
|
|
160
|
+
return self;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
static VALUE
|
|
164
|
+
rc_unselect_uri(self, uri)
|
|
165
|
+
VALUE self, uri;
|
|
166
|
+
{
|
|
167
|
+
gtk_recent_chooser_unselect_uri(_SELF(self), RVAL2CSTR(uri));
|
|
168
|
+
return self;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
static VALUE
|
|
172
|
+
rc_select_all(self)
|
|
173
|
+
VALUE self;
|
|
174
|
+
{
|
|
175
|
+
gtk_recent_chooser_select_all(_SELF(self));
|
|
176
|
+
return self;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
static VALUE
|
|
180
|
+
rc_unselect_all(self)
|
|
181
|
+
VALUE self;
|
|
182
|
+
{
|
|
183
|
+
gtk_recent_chooser_unselect_all(_SELF(self));
|
|
184
|
+
return self;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
static VALUE
|
|
188
|
+
rc_get_items(self)
|
|
189
|
+
VALUE self;
|
|
190
|
+
{
|
|
191
|
+
GList* list = gtk_recent_chooser_get_items(_SELF(self));
|
|
192
|
+
VALUE ary = rb_ary_new();
|
|
193
|
+
while (list) {
|
|
194
|
+
rb_ary_push(ary, BOXED2RVAL(list->data, GTK_TYPE_RECENT_INFO));
|
|
195
|
+
gtk_recent_info_unref(list->data);
|
|
196
|
+
list = list->next;
|
|
197
|
+
}
|
|
198
|
+
g_list_free(list);
|
|
199
|
+
return ary;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
static VALUE
|
|
203
|
+
rc_get_uris(self)
|
|
204
|
+
VALUE self;
|
|
205
|
+
{
|
|
206
|
+
int i;
|
|
207
|
+
gsize size;
|
|
208
|
+
gchar** uris = gtk_recent_chooser_get_uris(_SELF(self), &size);
|
|
209
|
+
VALUE ary = rb_ary_new();
|
|
210
|
+
for (i = 0; i < size; i++){
|
|
211
|
+
rb_ary_push(ary, CSTR2RVAL(uris[i]));
|
|
212
|
+
}
|
|
213
|
+
g_strfreev(uris);
|
|
214
|
+
return ary;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
static VALUE
|
|
218
|
+
rc_add_filter(self, filter)
|
|
219
|
+
VALUE self, filter;
|
|
220
|
+
{
|
|
221
|
+
gtk_recent_chooser_add_filter(_SELF(self),
|
|
222
|
+
GTK_RECENT_FILTER(RVAL2GOBJ(filter)));
|
|
223
|
+
return self;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
static VALUE
|
|
227
|
+
rc_remove_filter(self, filter)
|
|
228
|
+
VALUE self, filter;
|
|
229
|
+
{
|
|
230
|
+
gtk_recent_chooser_remove_filter(_SELF(self),
|
|
231
|
+
GTK_RECENT_FILTER(RVAL2GOBJ(filter)));
|
|
232
|
+
return self;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
static VALUE
|
|
236
|
+
rc_list_filters(self)
|
|
237
|
+
VALUE self;
|
|
238
|
+
{
|
|
239
|
+
return GSLIST2ARYF(gtk_recent_chooser_list_filters(_SELF(self)));
|
|
240
|
+
}
|
|
241
|
+
#endif
|
|
242
|
+
|
|
243
|
+
void
|
|
244
|
+
Init_gtk_recent_chooser()
|
|
245
|
+
{
|
|
246
|
+
#if GTK_CHECK_VERSION(2,10,0)
|
|
247
|
+
VALUE gRecentChooser = G_DEF_CLASS(GTK_TYPE_RECENT_CHOOSER, "RecentChooser", mGtk);
|
|
248
|
+
|
|
249
|
+
rb_define_method(gRecentChooser, "set_show_numbers", rc_set_show_numbers, 1);
|
|
250
|
+
rb_define_method(gRecentChooser, "show_numbers", rc_get_show_numbers, 0);
|
|
251
|
+
rb_define_method(gRecentChooser, "set_sort_func", rc_set_sort_func, 0);
|
|
252
|
+
rb_define_method(gRecentChooser, "set_current_uri", rc_set_current_uri, 1);
|
|
253
|
+
rb_define_method(gRecentChooser, "current_uri", rc_get_current_uri, 0);
|
|
254
|
+
rb_define_method(gRecentChooser, "current_item", rc_get_current_item, 0);
|
|
255
|
+
rb_define_method(gRecentChooser, "select_uri", rc_select_uri, 1);
|
|
256
|
+
rb_define_method(gRecentChooser, "unselect_uri", rc_unselect_uri, 1);
|
|
257
|
+
rb_define_method(gRecentChooser, "select_all", rc_select_all, 0);
|
|
258
|
+
rb_define_method(gRecentChooser, "unselect_all", rc_unselect_all, 0);
|
|
259
|
+
rb_define_method(gRecentChooser, "items", rc_get_items, 0);
|
|
260
|
+
rb_define_method(gRecentChooser, "uris", rc_get_uris, 0);
|
|
261
|
+
rb_define_method(gRecentChooser, "add_filter", rc_add_filter, 1);
|
|
262
|
+
rb_define_method(gRecentChooser, "remove_filter", rc_remove_filter, 1);
|
|
263
|
+
rb_define_method(gRecentChooser, "filters", rc_list_filters, 0);
|
|
264
|
+
|
|
265
|
+
G_DEF_SETTERS(gRecentChooser);
|
|
266
|
+
|
|
267
|
+
/* GtkRecentChooserError */
|
|
268
|
+
G_DEF_ERROR(GTK_RECENT_CHOOSER_ERROR, "RecentChooserError", mGtk, rb_eRuntimeError,
|
|
269
|
+
GTK_TYPE_RECENT_CHOOSER_ERROR);
|
|
270
|
+
|
|
271
|
+
/* GtkRecentSortType */
|
|
272
|
+
G_DEF_CLASS(GTK_TYPE_RECENT_SORT_TYPE, "SortType", gRecentChooser);
|
|
273
|
+
G_DEF_CONSTANTS(gRecentChooser, GTK_TYPE_RECENT_SORT_TYPE, "GTK_RECENT_");
|
|
274
|
+
#endif
|
|
275
|
+
|
|
276
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
|
2
|
+
/************************************************
|
|
3
|
+
|
|
4
|
+
rbgtkrecentchooserdialog.c -
|
|
5
|
+
|
|
6
|
+
$Author: mutoh $
|
|
7
|
+
$Date: 2006/11/27 17:41:06 $
|
|
8
|
+
|
|
9
|
+
Copyright (C) 2006 Masao Mutoh
|
|
10
|
+
************************************************/
|
|
11
|
+
|
|
12
|
+
#include "global.h"
|
|
13
|
+
|
|
14
|
+
#if GTK_CHECK_VERSION(2,10,0)
|
|
15
|
+
|
|
16
|
+
#define _SELF(self) (GTK_RECENT_CHOOSER_DIALOG(RVAL2GOBJ(self)))
|
|
17
|
+
|
|
18
|
+
static VALUE
|
|
19
|
+
rcd_initialize(argc, argv, self)
|
|
20
|
+
int argc;
|
|
21
|
+
VALUE *argv;
|
|
22
|
+
VALUE self;
|
|
23
|
+
{
|
|
24
|
+
VALUE title, parent, button_ary;
|
|
25
|
+
GtkWidget* dialog;
|
|
26
|
+
if (rb_obj_is_kind_of(argv[2], GTYPE2CLASS(GTK_TYPE_RECENT_MANAGER))){
|
|
27
|
+
VALUE manager;
|
|
28
|
+
rb_scan_args(argc, argv, "03*", &title, &parent, &manager, &button_ary);
|
|
29
|
+
|
|
30
|
+
dialog = gtk_recent_chooser_dialog_new_for_manager((const gchar*)RVAL2CSTR2(title),
|
|
31
|
+
GTK_WINDOW(RVAL2GOBJ(parent)),
|
|
32
|
+
GTK_RECENT_MANAGER(RVAL2GOBJ(manager)),
|
|
33
|
+
(const gchar*)NULL, NULL);
|
|
34
|
+
} else {
|
|
35
|
+
rb_scan_args(argc, argv, "02*", &title, &parent, &button_ary);
|
|
36
|
+
|
|
37
|
+
dialog = gtk_recent_chooser_dialog_new((const gchar*)RVAL2CSTR2(title),
|
|
38
|
+
GTK_WINDOW(RVAL2GOBJ(parent)),
|
|
39
|
+
(const gchar*)NULL, NULL);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
RBGTK_INITIALIZE(self, dialog);
|
|
43
|
+
|
|
44
|
+
if (button_ary != Qnil){
|
|
45
|
+
rbgtk_dialog_add_buttons_internal(self, button_ary);
|
|
46
|
+
}
|
|
47
|
+
return Qnil;
|
|
48
|
+
}
|
|
49
|
+
#endif
|
|
50
|
+
|
|
51
|
+
void
|
|
52
|
+
Init_gtk_recent_chooser_dialog()
|
|
53
|
+
{
|
|
54
|
+
#if GTK_CHECK_VERSION(2,10,0)
|
|
55
|
+
VALUE rcd = G_DEF_CLASS(GTK_TYPE_RECENT_CHOOSER_DIALOG, "RecentChooserDialog", mGtk);
|
|
56
|
+
|
|
57
|
+
rb_define_method(rcd, "initialize", rcd_initialize, -1);
|
|
58
|
+
#endif
|
|
59
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
|
2
|
+
/************************************************
|
|
3
|
+
|
|
4
|
+
rbgtkrecentchoosermenu.c -
|
|
5
|
+
|
|
6
|
+
$Author: mutoh $
|
|
7
|
+
$Date: 2006/11/27 17:41:06 $
|
|
8
|
+
|
|
9
|
+
Copyright (C) 2006 Masao Mutoh
|
|
10
|
+
************************************************/
|
|
11
|
+
|
|
12
|
+
#include "global.h"
|
|
13
|
+
|
|
14
|
+
#if GTK_CHECK_VERSION(2,10,0)
|
|
15
|
+
|
|
16
|
+
#define _SELF(self) (GTK_RECENT_CHOOSER_MENU(RVAL2GOBJ(self)))
|
|
17
|
+
|
|
18
|
+
static VALUE
|
|
19
|
+
rcm_initialize(argc, argv, self)
|
|
20
|
+
int argc;
|
|
21
|
+
VALUE *argv;
|
|
22
|
+
VALUE self;
|
|
23
|
+
{
|
|
24
|
+
VALUE manager;
|
|
25
|
+
GtkWidget* menu;
|
|
26
|
+
|
|
27
|
+
rb_scan_args(argc, argv, "01", &manager);
|
|
28
|
+
|
|
29
|
+
if (NIL_P(manager)){
|
|
30
|
+
menu = gtk_recent_chooser_menu_new_for_manager(GTK_RECENT_MANAGER(RVAL2GOBJ(manager)));
|
|
31
|
+
} else {
|
|
32
|
+
menu = gtk_recent_chooser_menu_new();
|
|
33
|
+
}
|
|
34
|
+
RBGTK_INITIALIZE(self, menu);
|
|
35
|
+
return Qnil;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/* Defined as properties
|
|
39
|
+
gboolean gtk_recent_chooser_menu_get_show_numbers
|
|
40
|
+
(GtkRecentChooserMenu *menu);
|
|
41
|
+
void gtk_recent_chooser_menu_set_show_numbers
|
|
42
|
+
(GtkRecentChooserMenu *menu,
|
|
43
|
+
gboolean show_numbers);
|
|
44
|
+
*/
|
|
45
|
+
#endif
|
|
46
|
+
|
|
47
|
+
void
|
|
48
|
+
Init_gtk_recent_chooser_menu()
|
|
49
|
+
{
|
|
50
|
+
#if GTK_CHECK_VERSION(2,10,0)
|
|
51
|
+
VALUE rcm = G_DEF_CLASS(GTK_TYPE_RECENT_CHOOSER_MENU, "RecentChooserMenu", mGtk);
|
|
52
|
+
|
|
53
|
+
rb_define_method(rcm, "initialize", rcm_initialize, -1);
|
|
54
|
+
#endif
|
|
55
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
|
2
|
+
/************************************************
|
|
3
|
+
|
|
4
|
+
rbgtkrecentchooserwidget.c -
|
|
5
|
+
|
|
6
|
+
$Author: mutoh $
|
|
7
|
+
$Date: 2006/11/12 15:28:40 $
|
|
8
|
+
|
|
9
|
+
Copyright (C) 2006 Masao Mutoh
|
|
10
|
+
************************************************/
|
|
11
|
+
|
|
12
|
+
#include "global.h"
|
|
13
|
+
|
|
14
|
+
#if GTK_CHECK_VERSION(2,10,0)
|
|
15
|
+
|
|
16
|
+
#define _SELF(self) (GTK_RECENT_CHOOSER_WIDGET(RVAL2GOBJ(self)))
|
|
17
|
+
|
|
18
|
+
static VALUE
|
|
19
|
+
rcw_initialize(argc, argv, self)
|
|
20
|
+
int argc;
|
|
21
|
+
VALUE *argv;
|
|
22
|
+
VALUE self;
|
|
23
|
+
{
|
|
24
|
+
VALUE manager;
|
|
25
|
+
GtkWidget* widget;
|
|
26
|
+
rb_scan_args(argc, argv, "01", &manager);
|
|
27
|
+
if (NIL_P(manager)){
|
|
28
|
+
widget = gtk_recent_chooser_widget_new_for_manager(GTK_RECENT_MANAGER(RVAL2GOBJ(manager)));
|
|
29
|
+
} else {
|
|
30
|
+
widget = gtk_recent_chooser_widget_new();
|
|
31
|
+
}
|
|
32
|
+
RBGTK_INITIALIZE(self, widget);
|
|
33
|
+
return Qnil;
|
|
34
|
+
}
|
|
35
|
+
#endif
|
|
36
|
+
|
|
37
|
+
void
|
|
38
|
+
Init_gtk_recent_chooser_widget()
|
|
39
|
+
{
|
|
40
|
+
#if GTK_CHECK_VERSION(2,10,0)
|
|
41
|
+
VALUE rcw = G_DEF_CLASS(GTK_TYPE_RECENT_CHOOSER_WIDGET, "RecentChooserWidget", mGtk);
|
|
42
|
+
|
|
43
|
+
rb_define_method(rcw, "initialize", rcw_initialize, -1);
|
|
44
|
+
#endif
|
|
45
|
+
}
|