gtk3 2.2.5-x86-mingw32 → 3.0.0-x86-mingw32
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.
- checksums.yaml +4 -4
- data/Rakefile +1 -0
- data/ext/gtk3/depend +0 -5
- data/ext/gtk3/extconf.rb +43 -53
- data/ext/gtk3/rb-gtk3-container.c +159 -0
- data/ext/gtk3/{rbgtk3util.h → rb-gtk3-private.h} +9 -9
- data/ext/gtk3/rb-gtk3-widget.c +71 -0
- data/ext/gtk3/rb-gtk3.c +407 -0
- data/ext/gtk3/{rbgtk-orientable.c → rb-gtk3.h} +10 -7
- data/extconf.rb +25 -9
- data/lib/2.0/gtk3.so +0 -0
- data/lib/2.1/gtk3.so +0 -0
- data/lib/2.2/gtk3.so +0 -0
- data/lib/gtk3.rb +70 -9
- data/lib/gtk3/about-dialog.rb +34 -0
- data/lib/gtk3/action-group.rb +131 -0
- data/lib/gtk3/action.rb +27 -0
- data/lib/gtk3/binding-set.rb +31 -0
- data/lib/gtk3/border.rb +28 -0
- data/lib/gtk3/box.rb +40 -0
- data/lib/gtk3/builder.rb +91 -0
- data/lib/gtk3/button.rb +53 -0
- data/lib/gtk3/calendar.rb +24 -0
- data/lib/gtk3/cell-layout.rb +31 -0
- data/{test/test_gtk_accel_group_entry.rb → lib/gtk3/clipboard.rb} +8 -7
- data/lib/gtk3/color-chooser-dialog.rb +27 -0
- data/lib/gtk3/combo-box-text.rb +30 -0
- data/lib/gtk3/combo-box.rb +55 -0
- data/lib/gtk3/container.rb +51 -0
- data/lib/gtk3/css-provider.rb +38 -0
- data/lib/gtk3/deprecated.rb +193 -99
- data/lib/gtk3/dialog.rb +65 -0
- data/lib/gtk3/file-chooser-dialog.rb +36 -0
- data/lib/gtk3/font-chooser-dialog.rb +27 -0
- data/lib/gtk3/gdk-drag-context.rb +29 -0
- data/lib/gtk3/gesture-multi-press.rb +31 -0
- data/lib/gtk3/icon-theme.rb +28 -0
- data/lib/gtk3/icon-view.rb +45 -0
- data/lib/gtk3/image.rb +113 -0
- data/lib/gtk3/label.rb +54 -0
- data/{test/test_gtk_tree_selection.rb → lib/gtk3/level-bar.rb} +13 -12
- data/lib/gtk3/list-store.rb +81 -0
- data/lib/gtk3/loader.rb +403 -0
- data/lib/gtk3/menu-item.rb +33 -0
- data/lib/gtk3/message-dialog.rb +49 -0
- data/lib/gtk3/paned.rb +37 -0
- data/lib/gtk3/radio-action.rb +28 -0
- data/lib/gtk3/radio-button.rb +49 -0
- data/lib/gtk3/recent-chooser-dialog.rb +38 -0
- data/lib/gtk3/scale-button.rb +35 -0
- data/{test/test_gtk_allocation.rb → lib/gtk3/scrolled-window.rb} +7 -7
- data/lib/gtk3/search-bar.rb +27 -0
- data/lib/gtk3/selection-data.rb +42 -0
- data/lib/gtk3/spin-button.rb +34 -0
- data/lib/gtk3/stack.rb +54 -0
- data/lib/gtk3/stock.rb +70 -0
- data/lib/gtk3/style-context.rb +26 -0
- data/lib/gtk3/style-properties.rb +29 -0
- data/lib/gtk3/target-entry.rb +27 -0
- data/lib/gtk3/target-list.rb +31 -0
- data/lib/gtk3/text-buffer.rb +165 -0
- data/lib/gtk3/text-iter.rb +39 -0
- data/lib/gtk3/text-tag-table.rb +31 -0
- data/lib/gtk3/toggle-action.rb +27 -0
- data/lib/gtk3/toggle-button.rb +35 -0
- data/lib/gtk3/tool-button.rb +36 -0
- data/lib/gtk3/tree-iter.rb +52 -0
- data/lib/gtk3/tree-model-filter.rb +45 -0
- data/lib/gtk3/tree-model.rb +51 -0
- data/lib/gtk3/tree-path.rb +29 -0
- data/lib/gtk3/tree-selection.rb +30 -0
- data/lib/gtk3/tree-store.rb +59 -0
- data/lib/gtk3/tree-view-column.rb +35 -0
- data/lib/gtk3/tree-view.rb +41 -0
- data/lib/gtk3/ui-manager.rb +35 -0
- data/lib/gtk3/version.rb +28 -0
- data/lib/gtk3/widget.rb +127 -0
- data/lib/gtk3/window.rb +29 -0
- data/sample/gtk-demo/TODO +69 -0
- data/sample/gtk-demo/application.ui +107 -0
- data/sample/gtk-demo/builder.rb +2 -2
- data/sample/gtk-demo/{button_box.rb → button-box.rb} +16 -17
- data/sample/gtk-demo/common.rb +1 -1
- data/sample/gtk-demo/css_accordion.rb +5 -5
- data/sample/gtk-demo/css_basics.css +22 -0
- data/sample/gtk-demo/css_basics.rb +103 -0
- data/sample/gtk-demo/dialog.rb +3 -3
- data/sample/gtk-demo/entry_completion.rb +1 -1
- data/sample/gtk-demo/hypertext.rb +1 -1
- data/sample/gtk-demo/main.rb +65 -91
- data/sample/gtk-demo/menus.rb +4 -4
- data/sample/gtk-demo/menus.ui +107 -0
- data/sample/gtk-demo/sizegroup.rb +1 -1
- data/sample/misc/aboutdialog.rb +10 -18
- data/sample/misc/aboutdialog2.rb +4 -16
- data/sample/misc/alpha-demo.rb +17 -16
- data/sample/misc/application.rb +31 -0
- data/sample/misc/assistant.rb +3 -5
- data/sample/misc/bindings.rb +64 -50
- data/sample/misc/builder-from-resource.rb +53 -0
- data/sample/misc/builder.rb +29 -0
- data/sample/misc/builder.ui +46 -0
- data/sample/misc/button.rb +18 -19
- data/sample/misc/button2.rb +5 -5
- data/sample/misc/buttonbox.rb +2 -4
- data/sample/misc/cairo-cursor.rb +37 -0
- data/sample/misc/cairo-pong.rb +17 -17
- data/sample/misc/calendar.rb +18 -18
- data/sample/misc/checkbutton.rb +3 -4
- data/sample/misc/colorselection.rb +10 -9
- data/sample/misc/{combo_check.rb → combo-check.rb} +1 -3
- data/sample/misc/combobox-from-cellrender.rb +48 -0
- data/sample/misc/combobox.rb +10 -10
- data/sample/misc/cursor.rb +5 -5
- data/sample/misc/dialog.rb +3 -4
- data/sample/misc/dialog2.rb +5 -6
- data/sample/misc/dnd.rb +27 -23
- data/sample/misc/dndtreeview.rb +16 -18
- data/sample/misc/drag-move.rb +3 -6
- data/sample/misc/drawing.rb +74 -86
- data/sample/misc/entry.rb +2 -4
- data/sample/misc/entrycompletion.rb +5 -5
- data/sample/misc/eventbox.rb +58 -0
- data/sample/misc/expander.rb +6 -5
- data/sample/misc/filechooser.rb +5 -7
- data/sample/misc/flowbox.rb +86 -0
- data/sample/misc/frame.rb +10 -12
- data/sample/misc/gdkscreen.rb +3 -3
- data/sample/misc/gtkglarea1.rb +114 -0
- data/sample/misc/gtkglarea2.rb +194 -0
- data/sample/misc/helloworld.rb +2 -5
- data/sample/misc/iconview.rb +9 -9
- data/sample/misc/image.rb +7 -6
- data/sample/misc/keyboard-grab.rb +34 -0
- data/sample/misc/label.rb +10 -11
- data/sample/misc/linkbutton.rb +3 -10
- data/sample/misc/list-store-usage.rb +96 -0
- data/sample/misc/listview.rb +9 -11
- data/sample/misc/menu.rb +45 -25
- data/sample/misc/{misc_button.rb → misc-button.rb} +15 -14
- data/sample/misc/mouse-gesture.rb +35 -42
- data/sample/misc/pango-layout.rb +100 -0
- data/sample/misc/pointer-grab.rb +36 -0
- data/sample/misc/print.rb +202 -201
- data/sample/misc/properties.rb +16 -14
- data/sample/misc/radiobutton.rb +18 -20
- data/sample/misc/recentchooserdialog.rb +8 -10
- data/sample/misc/rgtk+cairo.rb +26 -27
- data/sample/misc/scalebutton.rb +19 -7
- data/sample/misc/simple_window.gresource.xml +6 -0
- data/sample/misc/simple_window.ui +16 -0
- data/sample/misc/statusicon.rb +11 -14
- data/sample/misc/stock.rb +14 -11
- data/sample/misc/style-property.rb +76 -0
- data/sample/misc/t-gtkplug.rb +11 -14
- data/sample/misc/t-gtksocket.rb +19 -18
- data/sample/misc/template-from-resource.rb +59 -0
- data/sample/misc/template.gresource.xml +6 -0
- data/sample/misc/template.ui +16 -0
- data/sample/misc/textbuffer-serialize.rb +133 -0
- data/sample/misc/threads.rb +54 -13
- data/sample/misc/to-drawable.rb +34 -0
- data/sample/misc/togglebutton.rb +6 -8
- data/sample/misc/toolbar.rb +39 -30
- data/sample/misc/tooltips.rb +95 -104
- data/sample/misc/{tree_combo.rb → tree-combo.rb} +21 -27
- data/sample/misc/{tree_progress.rb → tree-progress.rb} +12 -17
- data/sample/misc/treemodelfilter.rb +13 -10
- data/sample/misc/treeview.rb +18 -20
- data/sample/misc/window.rb +2 -4
- data/sample/misc/xbm-cursor.rb +86 -0
- data/sample/tutorial/README.md +338 -0
- data/sample/tutorial/builder.ui +66 -0
- data/sample/tutorial/example-0.rb +32 -0
- data/sample/tutorial/example-1.rb +47 -0
- data/sample/tutorial/example-2.rb +68 -0
- data/sample/tutorial/example-4.rb +41 -0
- data/sample/tutorial/exampleapp.desktop +6 -0
- data/sample/tutorial/exampleapp.png +0 -0
- data/sample/tutorial/exampleapp1/exampleapp.rb +57 -0
- data/sample/tutorial/exampleapp2/exampleapp.gresource.xml +6 -0
- data/sample/tutorial/exampleapp2/exampleapp.rb +87 -0
- data/sample/tutorial/exampleapp2/window.ui +32 -0
- data/sample/tutorial/exampleapp3/exampleapp.gresource.xml +6 -0
- data/sample/tutorial/exampleapp3/exampleapp.rb +106 -0
- data/sample/tutorial/exampleapp3/window.ui +32 -0
- data/sample/tutorial/exampleapp4/app-menu.ui +18 -0
- data/sample/tutorial/exampleapp4/exampleapp.gresource.xml +7 -0
- data/sample/tutorial/exampleapp4/exampleapp.rb +124 -0
- data/sample/tutorial/exampleapp4/window.ui +32 -0
- data/sample/tutorial/exampleapp5/app-menu.ui +18 -0
- data/sample/tutorial/exampleapp5/exampleapp.gresource.xml +7 -0
- data/sample/tutorial/exampleapp5/exampleapp.rb +135 -0
- data/sample/tutorial/exampleapp5/org.gtk.exampleapp.gschema.xml +20 -0
- data/sample/tutorial/exampleapp5/window.ui +32 -0
- data/sample/tutorial/exampleapp6/app-menu.ui +18 -0
- data/sample/tutorial/exampleapp6/exampleapp.gresource.xml +8 -0
- data/sample/tutorial/exampleapp6/exampleapp.rb +168 -0
- data/sample/tutorial/exampleapp6/org.gtk.exampleapp.gschema.xml +20 -0
- data/sample/tutorial/exampleapp6/prefs.ui +70 -0
- data/sample/tutorial/exampleapp6/window.ui +32 -0
- data/sample/tutorial/exampleapp7/app-menu.ui +18 -0
- data/sample/tutorial/exampleapp7/exampleapp.gresource.xml +8 -0
- data/sample/tutorial/exampleapp7/exampleapp.rb +200 -0
- data/sample/tutorial/exampleapp7/org.gtk.exampleapp.gschema.xml +20 -0
- data/sample/tutorial/exampleapp7/prefs.ui +70 -0
- data/sample/tutorial/exampleapp7/window.ui +63 -0
- data/sample/tutorial/exampleapp8/app-menu.ui +18 -0
- data/sample/tutorial/exampleapp8/exampleapp.gresource.xml +9 -0
- data/sample/tutorial/exampleapp8/exampleapp.rb +247 -0
- data/sample/tutorial/exampleapp8/gears-menu.ui +12 -0
- data/sample/tutorial/exampleapp8/org.gtk.exampleapp.gschema.xml +25 -0
- data/sample/tutorial/exampleapp8/prefs.ui +70 -0
- data/sample/tutorial/exampleapp8/window.ui +100 -0
- data/test/fixture/Rakefile +32 -0
- data/test/fixture/gnome-logo-icon.png +0 -0
- data/test/fixture/image.gresource +0 -0
- data/test/fixture/image.gresource.xml +6 -0
- data/test/fixture/simple_window.gresource.xml +6 -0
- data/test/fixture/simple_window.ui +16 -0
- data/test/gtk-test-utils.rb +46 -4
- data/test/run-test.rb +9 -1
- data/test/{test_gc.rb → test-gc.rb} +0 -0
- data/test/{test_gtk_css_provider.rb → test-gdk-display.rb} +6 -8
- data/test/test-gdk-event.rb +24 -0
- data/test/test-gdk-screen.rb +42 -0
- data/test/{test_gtk_about_dialog.rb → test-gtk-about-dialog.rb} +0 -0
- data/test/test-gtk-accel-group.rb +23 -0
- data/test/{test_gtk_accel_key.rb → test-gtk-accel-key.rb} +0 -0
- data/test/{test_gtk_accessible.rb → test-gtk-accessible.rb} +0 -0
- data/test/{test_gtk_action_group.rb → test-gtk-action-bar.rb} +20 -23
- data/test/test-gtk-action-group.rb +48 -0
- data/test/test-gtk-action.rb +41 -0
- data/test/test-gtk-assistant.rb +44 -0
- data/test/{test_gtk_border.rb → test-gtk-border.rb} +0 -0
- data/test/test-gtk-box.rb +28 -0
- data/test/{test_gtk_buildable.rb → test-gtk-buildable.rb} +6 -6
- data/test/{test_gtk_builder.rb → test-gtk-builder.rb} +45 -11
- data/test/test-gtk-button.rb +54 -0
- data/test/test-gtk-cell-layout.rb +35 -0
- data/test/test-gtk-color-chooser-dialog.rb +41 -0
- data/test/test-gtk-combo-box-text.rb +34 -0
- data/test/test-gtk-combo-box.rb +97 -0
- data/test/test-gtk-container.rb +171 -0
- data/test/test-gtk-css-provider.rb +101 -0
- data/test/test-gtk-dialog.rb +74 -0
- data/test/{test_gtk_entry.rb → test-gtk-entry.rb} +0 -0
- data/test/test-gtk-event-controller.rb +35 -0
- data/test/test-gtk-file-chooser-dialog.rb +52 -0
- data/test/test-gtk-flow-box.rb +64 -0
- data/test/test-gtk-font-chooser-dialog.rb +41 -0
- data/test/test-gtk-gesture-multi-press.rb +31 -0
- data/test/test-gtk-gesture-pan.rb +32 -0
- data/test/test-gtk-gesture-single.rb +40 -0
- data/test/test-gtk-gesture.rb +29 -0
- data/test/{test_gtk_header_bar.rb → test-gtk-header-bar.rb} +15 -1
- data/test/{test_gtk_icon_theme.rb → test-gtk-icon-theme.rb} +0 -0
- data/test/{test_gtk_icon_view.rb → test-gtk-icon-view.rb} +24 -3
- data/test/test-gtk-image.rb +52 -0
- data/test/test-gtk-label.rb +39 -0
- data/test/{test_gtk_level_bar.rb → test-gtk-level-bar.rb} +12 -0
- data/test/test-gtk-list-store.rb +204 -0
- data/test/{test_gtk_menu_button.rb → test-gtk-menu-button.rb} +0 -0
- data/test/{test_gtk_menu_item.rb → test-gtk-menu-item.rb} +0 -0
- data/test/test-gtk-message-dialog.rb +62 -0
- data/test/test-gtk-paned.rb +109 -0
- data/test/test-gtk-places-sidebar.rb +68 -0
- data/test/test-gtk-radio-action.rb +45 -0
- data/test/test-gtk-radio-button.rb +82 -0
- data/test/test-gtk-recent-chooser-dialog.rb +53 -0
- data/test/{test_gtk_recent_data.rb → test-gtk-recent-data.rb} +0 -0
- data/test/{test_gtk_recent_filter_info.rb → test-gtk-recent-filter-info.rb} +1 -1
- data/test/test-gtk-recent-info.rb +37 -0
- data/test/{test_gtk_revealer.rb → test-gtk-revealer.rb} +0 -0
- data/test/test-gtk-scale-button.rb +56 -0
- data/test/{test_gtk_search_bar.rb → test-gtk-search-bar.rb} +1 -1
- data/test/{test_gtk_search_entry.rb → test-gtk-search-entry.rb} +0 -0
- data/test/test-gtk-spin-button.rb +45 -0
- data/test/{test_gtk_stack_switcher.rb → test-gtk-stack-switcher.rb} +0 -0
- data/test/{test_gtk_stack.rb → test-gtk-stack.rb} +8 -1
- data/test/test-gtk-stock.rb +26 -0
- data/test/{test_gtk_style_context.rb → test-gtk-style-context.rb} +0 -0
- data/test/{test_gtk_style_properties.rb → test-gtk-style-properties.rb} +0 -0
- data/test/test-gtk-style-provider.rb +25 -0
- data/test/test-gtk-switch.rb +34 -0
- data/test/test-gtk-target-entry.rb +37 -0
- data/test/test-gtk-text-buffer.rb +151 -0
- data/test/{test_gtk_container.rb → test-gtk-text-tag-table.rb} +13 -11
- data/test/test-gtk-toggle-action.rb +41 -0
- data/test/test-gtk-toggle-button.rb +39 -0
- data/test/test-gtk-tool-button.rb +53 -0
- data/test/test-gtk-tree-iter.rb +53 -0
- data/test/test-gtk-tree-model-filter.rb +55 -0
- data/test/test-gtk-tree-path.rb +42 -0
- data/test/test-gtk-tree-selection.rb +61 -0
- data/test/test-gtk-tree-view-column.rb +71 -0
- data/test/test-gtk-tree-view.rb +105 -0
- data/test/test-gtk-version.rb +47 -0
- data/test/test-gtk-widget.rb +148 -0
- data/test/{test_gtk.rb → test-gtk.rb} +0 -0
- metadata +256 -332
- data/ext/gtk3/conversions.c +0 -34
- data/ext/gtk3/gtk3.def +0 -10
- data/ext/gtk3/init.c +0 -34
- data/ext/gtk3/rbgtk-about-dialog.c +0 -113
- data/ext/gtk3/rbgtk-accel-group-entry.c +0 -94
- data/ext/gtk3/rbgtk-accel-group.c +0 -199
- data/ext/gtk3/rbgtk-accel-key.c +0 -120
- data/ext/gtk3/rbgtk-accel-label.c +0 -55
- data/ext/gtk3/rbgtk-accel-map.c +0 -135
- data/ext/gtk3/rbgtk-accelerator.c +0 -78
- data/ext/gtk3/rbgtk-accessible.c +0 -40
- data/ext/gtk3/rbgtk-action-bar.c +0 -73
- data/ext/gtk3/rbgtk-action-group.c +0 -467
- data/ext/gtk3/rbgtk-action.c +0 -205
- data/ext/gtk3/rbgtk-activatable.c +0 -30
- data/ext/gtk3/rbgtk-adjustment.c +0 -98
- data/ext/gtk3/rbgtk-alignment.c +0 -75
- data/ext/gtk3/rbgtk-allocation.c +0 -166
- data/ext/gtk3/rbgtk-app-chooser-button.c +0 -70
- data/ext/gtk3/rbgtk-app-chooser-dialog.c +0 -68
- data/ext/gtk3/rbgtk-app-chooser-widget.c +0 -40
- data/ext/gtk3/rbgtk-app-chooser.c +0 -47
- data/ext/gtk3/rbgtk-application.c +0 -69
- data/ext/gtk3/rbgtk-arrow.c +0 -56
- data/ext/gtk3/rbgtk-aspect-frame.c +0 -56
- data/ext/gtk3/rbgtk-assistant.c +0 -218
- data/ext/gtk3/rbgtk-bin.c +0 -42
- data/ext/gtk3/rbgtk-binding-set.c +0 -154
- data/ext/gtk3/rbgtk-border.c +0 -119
- data/ext/gtk3/rbgtk-box.c +0 -146
- data/ext/gtk3/rbgtk-buildable.c +0 -96
- data/ext/gtk3/rbgtk-builder.c +0 -166
- data/ext/gtk3/rbgtk-button-box.c +0 -87
- data/ext/gtk3/rbgtk-button.c +0 -93
- data/ext/gtk3/rbgtk-calendar.c +0 -118
- data/ext/gtk3/rbgtk-cell-editable.c +0 -57
- data/ext/gtk3/rbgtk-cell-layout.c +0 -144
- data/ext/gtk3/rbgtk-cell-renderer-accel.c +0 -41
- data/ext/gtk3/rbgtk-cell-renderer-combo.c +0 -38
- data/ext/gtk3/rbgtk-cell-renderer-pixbuf.c +0 -41
- data/ext/gtk3/rbgtk-cell-renderer-progress.c +0 -38
- data/ext/gtk3/rbgtk-cell-renderer-spin.c +0 -39
- data/ext/gtk3/rbgtk-cell-renderer-spinner.c +0 -38
- data/ext/gtk3/rbgtk-cell-renderer-text.c +0 -48
- data/ext/gtk3/rbgtk-cell-renderer-toggle.c +0 -39
- data/ext/gtk3/rbgtk-cell-renderer.c +0 -119
- data/ext/gtk3/rbgtk-cell-view.c +0 -95
- data/ext/gtk3/rbgtk-check-button.c +0 -64
- data/ext/gtk3/rbgtk-check-menu-item.c +0 -64
- data/ext/gtk3/rbgtk-clip-board.c +0 -389
- data/ext/gtk3/rbgtk-color-button.c +0 -55
- data/ext/gtk3/rbgtk-color-selection-dialog.c +0 -56
- data/ext/gtk3/rbgtk-color-selection.c +0 -219
- data/ext/gtk3/rbgtk-combo-box-text.c +0 -138
- data/ext/gtk3/rbgtk-combo-box.c +0 -147
- data/ext/gtk3/rbgtk-const.c +0 -79
- data/ext/gtk3/rbgtk-container.c +0 -788
- data/ext/gtk3/rbgtk-css-provider.c +0 -110
- data/ext/gtk3/rbgtk-dialog.c +0 -206
- data/ext/gtk3/rbgtk-drag-gdk-drag-context.c +0 -108
- data/ext/gtk3/rbgtk-drag.c +0 -93
- data/ext/gtk3/rbgtk-drawing-area.c +0 -42
- data/ext/gtk3/rbgtk-editable.c +0 -149
- data/ext/gtk3/rbgtk-entry-buffer.c +0 -87
- data/ext/gtk3/rbgtk-entry-completion.c +0 -122
- data/ext/gtk3/rbgtk-entry.c +0 -184
- data/ext/gtk3/rbgtk-event-box.c +0 -42
- data/ext/gtk3/rbgtk-expander.c +0 -49
- data/ext/gtk3/rbgtk-file-chooser-button.c +0 -50
- data/ext/gtk3/rbgtk-file-chooser-dialog.c +0 -62
- data/ext/gtk3/rbgtk-file-chooser-widget.c +0 -40
- data/ext/gtk3/rbgtk-file-chooser.c +0 -381
- data/ext/gtk3/rbgtk-file-filter.c +0 -128
- data/ext/gtk3/rbgtk-file-system-error.c +0 -48
- data/ext/gtk3/rbgtk-fixed.c +0 -61
- data/ext/gtk3/rbgtk-font-button.c +0 -49
- data/ext/gtk3/rbgtk-font-chooser-dialog.c +0 -56
- data/ext/gtk3/rbgtk-font-chooser-widget.c +0 -45
- data/ext/gtk3/rbgtk-font-chooser.c +0 -78
- data/ext/gtk3/rbgtk-frame.c +0 -69
- data/ext/gtk3/rbgtk-gdk-event.c +0 -38
- data/ext/gtk3/rbgtk-grid.c +0 -105
- data/ext/gtk3/rbgtk-handle-box.c +0 -45
- data/ext/gtk3/rbgtk-header-bar.c +0 -58
- data/ext/gtk3/rbgtk-hsv.c +0 -102
- data/ext/gtk3/rbgtk-icon-factory.c +0 -85
- data/ext/gtk3/rbgtk-icon-info.c +0 -115
- data/ext/gtk3/rbgtk-icon-set.c +0 -84
- data/ext/gtk3/rbgtk-icon-size.c +0 -91
- data/ext/gtk3/rbgtk-icon-source.c +0 -184
- data/ext/gtk3/rbgtk-icon-theme.c +0 -268
- data/ext/gtk3/rbgtk-icon-view.c +0 -295
- data/ext/gtk3/rbgtk-im-multicontext.c +0 -48
- data/ext/gtk3/rbgtk-image-menu-item.c +0 -67
- data/ext/gtk3/rbgtk-image.c +0 -162
- data/ext/gtk3/rbgtk-imcon-text-simple.c +0 -69
- data/ext/gtk3/rbgtk-imcon-text.c +0 -133
- data/ext/gtk3/rbgtk-infobar.c +0 -121
- data/ext/gtk3/rbgtk-invisible.c +0 -49
- data/ext/gtk3/rbgtk-label.c +0 -139
- data/ext/gtk3/rbgtk-layout.c +0 -93
- data/ext/gtk3/rbgtk-level-bar.c +0 -88
- data/ext/gtk3/rbgtk-link-button.c +0 -49
- data/ext/gtk3/rbgtk-list-store.c +0 -399
- data/ext/gtk3/rbgtk-lock-button.c +0 -50
- data/ext/gtk3/rbgtk-menu-button.c +0 -41
- data/ext/gtk3/rbgtk-menu-item.c +0 -95
- data/ext/gtk3/rbgtk-menu-shell.c +0 -106
- data/ext/gtk3/rbgtk-menu-tool-button.c +0 -81
- data/ext/gtk3/rbgtk-menu.c +0 -168
- data/ext/gtk3/rbgtk-menubar.c +0 -43
- data/ext/gtk3/rbgtk-message-dialog.c +0 -74
- data/ext/gtk3/rbgtk-misc.c +0 -70
- data/ext/gtk3/rbgtk-notebook.c +0 -383
- data/ext/gtk3/rbgtk-numerable-icon.c +0 -50
- data/ext/gtk3/rbgtk-overlay.c +0 -53
- data/ext/gtk3/rbgtk-page-setup-unix-dialog.c +0 -94
- data/ext/gtk3/rbgtk-page-setup.c +0 -195
- data/ext/gtk3/rbgtk-paned.c +0 -114
- data/ext/gtk3/rbgtk-paper-size.c +0 -179
- data/ext/gtk3/rbgtk-plug.c +0 -85
- data/ext/gtk3/rbgtk-print-context.c +0 -125
- data/ext/gtk3/rbgtk-print-job.c +0 -148
- data/ext/gtk3/rbgtk-print-operation-preview.c +0 -59
- data/ext/gtk3/rbgtk-print-operation.c +0 -149
- data/ext/gtk3/rbgtk-print-settings.c +0 -807
- data/ext/gtk3/rbgtk-print-unix-dialog.c +0 -90
- data/ext/gtk3/rbgtk-printer.c +0 -155
- data/ext/gtk3/rbgtk-progress-bar.c +0 -72
- data/ext/gtk3/rbgtk-radio-action.c +0 -122
- data/ext/gtk3/rbgtk-radio-button.c +0 -89
- data/ext/gtk3/rbgtk-radio-menu-item.c +0 -147
- data/ext/gtk3/rbgtk-radio-tool-button.c +0 -131
- data/ext/gtk3/rbgtk-range.c +0 -68
- data/ext/gtk3/rbgtk-recent-action.c +0 -64
- data/ext/gtk3/rbgtk-recent-chooser-dialog.c +0 -66
- data/ext/gtk3/rbgtk-recent-chooser-menu.c +0 -50
- data/ext/gtk3/rbgtk-recent-chooser-widget.c +0 -48
- data/ext/gtk3/rbgtk-recent-chooser.c +0 -198
- data/ext/gtk3/rbgtk-recent-data.c +0 -188
- data/ext/gtk3/rbgtk-recent-filter-info.c +0 -201
- data/ext/gtk3/rbgtk-recent-filter.c +0 -169
- data/ext/gtk3/rbgtk-recent-info.c +0 -213
- data/ext/gtk3/rbgtk-recent-manager.c +0 -134
- data/ext/gtk3/rbgtk-revealer.c +0 -42
- data/ext/gtk3/rbgtk-scale-button.c +0 -84
- data/ext/gtk3/rbgtk-scale.c +0 -97
- data/ext/gtk3/rbgtk-scrollable.c +0 -31
- data/ext/gtk3/rbgtk-scrollbar.c +0 -52
- data/ext/gtk3/rbgtk-scrolled-window.c +0 -122
- data/ext/gtk3/rbgtk-search-bar.c +0 -59
- data/ext/gtk3/rbgtk-search-entry.c +0 -42
- data/ext/gtk3/rbgtk-selection-data.c +0 -281
- data/ext/gtk3/rbgtk-selection.c +0 -168
- data/ext/gtk3/rbgtk-separator-menu-item.c +0 -39
- data/ext/gtk3/rbgtk-separator-tool-item.c +0 -38
- data/ext/gtk3/rbgtk-separator.c +0 -44
- data/ext/gtk3/rbgtk-settings.c +0 -229
- data/ext/gtk3/rbgtk-size-group.c +0 -66
- data/ext/gtk3/rbgtk-socket.c +0 -82
- data/ext/gtk3/rbgtk-spin-button.c +0 -132
- data/ext/gtk3/rbgtk-spinner.c +0 -55
- data/ext/gtk3/rbgtk-stack-switcher.c +0 -41
- data/ext/gtk3/rbgtk-stack.c +0 -106
- data/ext/gtk3/rbgtk-status-bar.c +0 -77
- data/ext/gtk3/rbgtk-status-icon.c +0 -122
- data/ext/gtk3/rbgtk-stock.c +0 -213
- data/ext/gtk3/rbgtk-style-context-gdk-screen.c +0 -61
- data/ext/gtk3/rbgtk-style-context.c +0 -411
- data/ext/gtk3/rbgtk-style-properties.c +0 -118
- data/ext/gtk3/rbgtk-style-provider.c +0 -67
- data/ext/gtk3/rbgtk-switch.c +0 -40
- data/ext/gtk3/rbgtk-table.c +0 -190
- data/ext/gtk3/rbgtk-target-list.c +0 -125
- data/ext/gtk3/rbgtk-tearoff-menu-item.c +0 -41
- data/ext/gtk3/rbgtk-text-appearance.c +0 -236
- data/ext/gtk3/rbgtk-text-attributes.c +0 -326
- data/ext/gtk3/rbgtk-text-buffer.c +0 -899
- data/ext/gtk3/rbgtk-text-child-anchor.c +0 -56
- data/ext/gtk3/rbgtk-text-iter.c +0 -732
- data/ext/gtk3/rbgtk-text-mark.c +0 -71
- data/ext/gtk3/rbgtk-text-tag-table.c +0 -96
- data/ext/gtk3/rbgtk-text-tag.c +0 -68
- data/ext/gtk3/rbgtk-text-view.c +0 -336
- data/ext/gtk3/rbgtk-theming-engine.c +0 -257
- data/ext/gtk3/rbgtk-toggle-action.c +0 -61
- data/ext/gtk3/rbgtk-toggle-button.c +0 -87
- data/ext/gtk3/rbgtk-toggle-tool-button.c +0 -61
- data/ext/gtk3/rbgtk-tool-button.c +0 -66
- data/ext/gtk3/rbgtk-tool-item.c +0 -200
- data/ext/gtk3/rbgtk-tool-itemgroup.c +0 -70
- data/ext/gtk3/rbgtk-tool-shell.c +0 -96
- data/ext/gtk3/rbgtk-toolbar.c +0 -118
- data/ext/gtk3/rbgtk-tooltip-gdk-display.c +0 -39
- data/ext/gtk3/rbgtk-tooltip.c +0 -100
- data/ext/gtk3/rbgtk-tree-dragdest.c +0 -28
- data/ext/gtk3/rbgtk-tree-dragsource.c +0 -28
- data/ext/gtk3/rbgtk-tree-iter.c +0 -258
- data/ext/gtk3/rbgtk-tree-model.c +0 -246
- data/ext/gtk3/rbgtk-tree-modelfilter.c +0 -197
- data/ext/gtk3/rbgtk-tree-modelsort.c +0 -111
- data/ext/gtk3/rbgtk-tree-path.c +0 -191
- data/ext/gtk3/rbgtk-tree-rowreference.c +0 -140
- data/ext/gtk3/rbgtk-tree-selection.c +0 -190
- data/ext/gtk3/rbgtk-tree-sortable.c +0 -122
- data/ext/gtk3/rbgtk-tree-store.c +0 -330
- data/ext/gtk3/rbgtk-tree-view-column.c +0 -256
- data/ext/gtk3/rbgtk-tree-view.c +0 -716
- data/ext/gtk3/rbgtk-ui-manager.c +0 -189
- data/ext/gtk3/rbgtk-viewport.c +0 -44
- data/ext/gtk3/rbgtk-volume-button.c +0 -41
- data/ext/gtk3/rbgtk-widget-path.c +0 -229
- data/ext/gtk3/rbgtk-widget.c +0 -1554
- data/ext/gtk3/rbgtk-window-group.c +0 -80
- data/ext/gtk3/rbgtk-window.c +0 -565
- data/ext/gtk3/rbgtk.c +0 -783
- data/ext/gtk3/rbgtk3.h +0 -90
- data/ext/gtk3/rbgtk3conversions.h +0 -439
- data/ext/gtk3/rbgtk3private.h +0 -300
- data/ext/gtk3/rbgtk3util.c +0 -67
- data/lib/gtk3/base.rb +0 -67
- data/sample/gtk-demo/appwindow.rb +0 -233
- data/sample/misc/composited-windows.rb +0 -113
- data/sample/misc/itemfactory.rb +0 -73
- data/sample/misc/itemfactory2.rb +0 -74
- data/sample/misc/keyboard_grab.rb +0 -29
- data/sample/misc/pangorenderer.rb +0 -66
- data/sample/misc/pointer_grab.rb +0 -34
- data/sample/misc/settings.rb +0 -41
- data/sample/misc/style_property.rb +0 -67
- data/sample/misc/style_property.rc +0 -19
- data/sample/misc/textbuffer_serialize.rb +0 -130
- data/sample/misc/to_drawable.rb +0 -42
- data/sample/misc/uimanager.rb +0 -148
- data/sample/misc/uimanager2.rb +0 -91
- data/sample/misc/uimanager2.xml +0 -36
- data/sample/misc/xbm_cursor.rb +0 -43
- data/sample/testgtk/3DRings.xpm +0 -116
- data/sample/testgtk/FilesQueue.xpm +0 -98
- data/sample/testgtk/Modeller.xpm +0 -117
- data/sample/testgtk/README +0 -14
- data/sample/testgtk/button.rb +0 -124
- data/sample/testgtk/buttonbox.rb +0 -100
- data/sample/testgtk/check-n.xpm +0 -21
- data/sample/testgtk/check-y.xpm +0 -21
- data/sample/testgtk/checkbutton.rb +0 -67
- data/sample/testgtk/circles.xbm +0 -46
- data/sample/testgtk/colorselect.rb +0 -33
- data/sample/testgtk/dialog.rb +0 -48
- data/sample/testgtk/entry.rb +0 -73
- data/sample/testgtk/filesel.rb +0 -65
- data/sample/testgtk/fontselection.rb +0 -56
- data/sample/testgtk/labels.rb +0 -74
- data/sample/testgtk/layout.rb +0 -108
- data/sample/testgtk/marble.xpm +0 -408
- data/sample/testgtk/menu.rb +0 -79
- data/sample/testgtk/notebook.rb +0 -280
- data/sample/testgtk/pixmap.rb +0 -58
- data/sample/testgtk/progressbar.rb +0 -173
- data/sample/testgtk/radiobutton.rb +0 -61
- data/sample/testgtk/range.rb +0 -65
- data/sample/testgtk/reparent.rb +0 -91
- data/sample/testgtk/sample.rb +0 -80
- data/sample/testgtk/savedposition.rb +0 -87
- data/sample/testgtk/scrolledwindow.rb +0 -67
- data/sample/testgtk/shapedwindow.rb +0 -99
- data/sample/testgtk/spinbutton.rb +0 -181
- data/sample/testgtk/statusbar.rb +0 -89
- data/sample/testgtk/test.xpm +0 -92
- data/sample/testgtk/testgtk.rb +0 -176
- data/sample/testgtk/testgtkrc +0 -146
- data/sample/testgtk/testgtkrc2 +0 -21
- data/sample/testgtk/togglebutton.rb +0 -53
- data/sample/testgtk/toolbar.rb +0 -82
- data/sample/testgtk/tooltips.rb +0 -41
- data/sample/testgtk/wmhints.rb +0 -40
- data/test/test_gtk_image.rb +0 -8
- data/test/test_gtk_list_store.rb +0 -105
- data/test/test_gtk_tree_path.rb +0 -20
- data/test/test_gtk_unix_print.rb +0 -14
- data/test/test_gtk_widget.rb +0 -24
data/ext/gtk3/rbgtk-combo-box.c
DELETED
@@ -1,147 +0,0 @@
|
|
1
|
-
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
-
/*
|
3
|
-
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
-
* Copyright (C) 2004 Masao Mutoh
|
5
|
-
*
|
6
|
-
* This library is free software; you can redistribute it and/or
|
7
|
-
* modify it under the terms of the GNU Lesser General Public
|
8
|
-
* License as published by the Free Software Foundation; either
|
9
|
-
* version 2.1 of the License, or (at your option) any later version.
|
10
|
-
*
|
11
|
-
* This library is distributed in the hope that it will be useful,
|
12
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
-
* Lesser General Public License for more details.
|
15
|
-
*
|
16
|
-
* You should have received a copy of the GNU Lesser General Public
|
17
|
-
* License along with this library; if not, write to the Free Software
|
18
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
19
|
-
* MA 02110-1301 USA
|
20
|
-
*/
|
21
|
-
|
22
|
-
#include "rbgtk3private.h"
|
23
|
-
|
24
|
-
#define RG_TARGET_NAMESPACE cComboBox
|
25
|
-
#define _SELF(self) (RVAL2GTKCOMBOBOX(self))
|
26
|
-
|
27
|
-
static VALUE
|
28
|
-
rg_initialize(int argc, VALUE *argv, VALUE self)
|
29
|
-
{
|
30
|
-
VALUE options, rb_entry, rb_model, rb_area;
|
31
|
-
gboolean entry;
|
32
|
-
GtkTreeModel *model;
|
33
|
-
GtkCellArea *area;
|
34
|
-
GtkWidget *widget;
|
35
|
-
|
36
|
-
rb_scan_args(argc, argv, "01", &options);
|
37
|
-
rbg_scan_options(options,
|
38
|
-
"entry", &rb_entry,
|
39
|
-
"model", &rb_model,
|
40
|
-
"area", &rb_area,
|
41
|
-
NULL);
|
42
|
-
entry = RVAL2CBOOL(rb_entry);
|
43
|
-
model = NIL_P(rb_model) ? NULL : RVAL2GTKTREEMODEL(rb_model);
|
44
|
-
area = NIL_P(rb_area) ? NULL : RVAL2GTKCELLAREA(rb_area);
|
45
|
-
|
46
|
-
if (entry) {
|
47
|
-
if (model)
|
48
|
-
widget = gtk_combo_box_new_with_model_and_entry(model);
|
49
|
-
else if (area)
|
50
|
-
widget = gtk_combo_box_new_with_area_and_entry(area);
|
51
|
-
else
|
52
|
-
widget = gtk_combo_box_new_with_entry();
|
53
|
-
} else {
|
54
|
-
if (model)
|
55
|
-
widget = gtk_combo_box_new_with_model(model);
|
56
|
-
else if (area)
|
57
|
-
widget = gtk_combo_box_new_with_area(area);
|
58
|
-
else
|
59
|
-
widget = gtk_combo_box_new();
|
60
|
-
}
|
61
|
-
RBGTK_INITIALIZE(self, widget);
|
62
|
-
|
63
|
-
return Qnil;
|
64
|
-
}
|
65
|
-
|
66
|
-
static VALUE
|
67
|
-
rg_active_iter(VALUE self)
|
68
|
-
{
|
69
|
-
GtkTreeIter iter;
|
70
|
-
VALUE val = Qnil;
|
71
|
-
gboolean ret = gtk_combo_box_get_active_iter(_SELF(self), &iter);
|
72
|
-
if (ret){
|
73
|
-
iter.user_data3 = (gpointer)gtk_combo_box_get_model(_SELF(self));
|
74
|
-
val = GTKTREEITER2RVAL(&iter);
|
75
|
-
}
|
76
|
-
return val;
|
77
|
-
}
|
78
|
-
|
79
|
-
static VALUE
|
80
|
-
rg_set_active_iter(VALUE self, VALUE iter)
|
81
|
-
{
|
82
|
-
gtk_combo_box_set_active_iter(_SELF(self), RVAL2GTKTREEITER(iter));
|
83
|
-
return self;
|
84
|
-
}
|
85
|
-
|
86
|
-
static VALUE
|
87
|
-
rg_popup_accessible(VALUE self)
|
88
|
-
{
|
89
|
-
return GOBJ2RVAL(gtk_combo_box_get_popup_accessible(_SELF(self)));
|
90
|
-
}
|
91
|
-
|
92
|
-
static gboolean
|
93
|
-
row_separator_func(GtkTreeModel *model, GtkTreeIter *iter, gpointer *func)
|
94
|
-
{
|
95
|
-
iter->user_data3 = model;
|
96
|
-
return RVAL2CBOOL(rb_funcall((VALUE)func, id_call, 2, GOBJ2RVAL(model),
|
97
|
-
GTKTREEITER2RVAL(iter)));
|
98
|
-
}
|
99
|
-
|
100
|
-
static VALUE
|
101
|
-
rg_set_row_separator_func(VALUE self)
|
102
|
-
{
|
103
|
-
VALUE func = rb_block_proc();
|
104
|
-
G_RELATIVE(self, func);
|
105
|
-
gtk_combo_box_set_row_separator_func(_SELF(self),
|
106
|
-
(GtkTreeViewRowSeparatorFunc)row_separator_func,
|
107
|
-
(gpointer)func, NULL);
|
108
|
-
return self;
|
109
|
-
}
|
110
|
-
|
111
|
-
static VALUE
|
112
|
-
rg_title(VALUE self)
|
113
|
-
{
|
114
|
-
return CSTR2RVAL(gtk_combo_box_get_title(_SELF(self)));
|
115
|
-
}
|
116
|
-
|
117
|
-
/* TODO: merge to popup? */
|
118
|
-
static VALUE
|
119
|
-
rg_popup_for_device(VALUE self, VALUE device)
|
120
|
-
{
|
121
|
-
gtk_combo_box_popup_for_device(_SELF(self), RVAL2GDKDEVICE(device));
|
122
|
-
|
123
|
-
return self;
|
124
|
-
}
|
125
|
-
|
126
|
-
static VALUE
|
127
|
-
rg_set_title(VALUE self, VALUE title)
|
128
|
-
{
|
129
|
-
gtk_combo_box_set_title(_SELF(self), RVAL2CSTR(title));
|
130
|
-
|
131
|
-
return self;
|
132
|
-
}
|
133
|
-
|
134
|
-
void
|
135
|
-
Init_gtk_combobox(VALUE mGtk)
|
136
|
-
{
|
137
|
-
VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GTK_TYPE_COMBO_BOX, "ComboBox", mGtk);
|
138
|
-
|
139
|
-
RG_DEF_METHOD(initialize, -1);
|
140
|
-
RG_DEF_METHOD(active_iter, 0);
|
141
|
-
RG_DEF_METHOD(set_active_iter, 1);
|
142
|
-
RG_DEF_METHOD(popup_accessible, 0);
|
143
|
-
RG_DEF_METHOD(set_row_separator_func, 0);
|
144
|
-
RG_DEF_METHOD(title, 0);
|
145
|
-
RG_DEF_METHOD(popup_for_device, 1);
|
146
|
-
RG_DEF_METHOD(set_title, 1);
|
147
|
-
}
|
data/ext/gtk3/rbgtk-const.c
DELETED
@@ -1,79 +0,0 @@
|
|
1
|
-
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
-
/*
|
3
|
-
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
-
* Copyright (C) 2002,2003 Ruby-GNOME2 Project Team
|
5
|
-
* Copyright (C) 1998-2000 Yukihiro Matsumoto,
|
6
|
-
* Daisuke Kanda,
|
7
|
-
* Hiroshi Igarashi
|
8
|
-
*
|
9
|
-
* This library is free software; you can redistribute it and/or
|
10
|
-
* modify it under the terms of the GNU Lesser General Public
|
11
|
-
* License as published by the Free Software Foundation; either
|
12
|
-
* version 2.1 of the License, or (at your option) any later version.
|
13
|
-
*
|
14
|
-
* This library is distributed in the hope that it will be useful,
|
15
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
16
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
17
|
-
* Lesser General Public License for more details.
|
18
|
-
*
|
19
|
-
* You should have received a copy of the GNU Lesser General Public
|
20
|
-
* License along with this library; if not, write to the Free Software
|
21
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
22
|
-
* MA 02110-1301 USA
|
23
|
-
*/
|
24
|
-
|
25
|
-
#include "rbgtk3private.h"
|
26
|
-
|
27
|
-
void
|
28
|
-
Init_gtk_const(VALUE mGtk)
|
29
|
-
{
|
30
|
-
rb_define_const(mGtk, "BINDING_VERSION",
|
31
|
-
rb_ary_new3(3, INT2FIX(RBGTK_MAJOR_VERSION),
|
32
|
-
INT2FIX(RBGTK_MINOR_VERSION),
|
33
|
-
INT2FIX(RBGTK_MICRO_VERSION)));
|
34
|
-
|
35
|
-
rb_define_const(mGtk, "BUILD_VERSION",
|
36
|
-
rb_ary_new3(3, INT2FIX(GTK_MAJOR_VERSION),
|
37
|
-
INT2FIX(GTK_MINOR_VERSION),
|
38
|
-
INT2FIX(GTK_MICRO_VERSION)));
|
39
|
-
|
40
|
-
rb_define_const(mGtk, "VERSION",
|
41
|
-
rb_ary_new3(3, INT2FIX(gtk_major_version),
|
42
|
-
INT2FIX(gtk_minor_version),
|
43
|
-
INT2FIX(gtk_micro_version)));
|
44
|
-
rb_define_const(mGtk, "MAJOR_VERSION", INT2FIX(gtk_major_version));
|
45
|
-
rb_define_const(mGtk, "MINOR_VERSION", INT2FIX(gtk_minor_version));
|
46
|
-
rb_define_const(mGtk, "MICRO_VERSION", INT2FIX(gtk_micro_version));
|
47
|
-
rb_define_const(mGtk, "BINARY_AGE", INT2FIX(gtk_binary_age));
|
48
|
-
rb_define_const(mGtk, "INTERFACE_AGE", INT2FIX(gtk_interface_age));
|
49
|
-
|
50
|
-
G_DEF_CLASS(GTK_TYPE_ACCEL_FLAGS, "AccelFlags", mGtk);
|
51
|
-
G_DEF_CLASS(GTK_TYPE_ATTACH_OPTIONS, "AttachOptions", mGtk);
|
52
|
-
G_DEF_CLASS(GTK_TYPE_CORNER_TYPE, "CornerType", mGtk);
|
53
|
-
G_DEF_CLASS(GTK_TYPE_DELETE_TYPE, "DeleteType", mGtk);
|
54
|
-
G_DEF_CLASS(GTK_TYPE_DIRECTION_TYPE, "DirectionType", mGtk);
|
55
|
-
G_DEF_CLASS(GTK_TYPE_EXPANDER_STYLE, "ExpanderStyle", mGtk);
|
56
|
-
G_DEF_CLASS(GTK_TYPE_JUSTIFICATION, "Justification", mGtk);
|
57
|
-
G_DEF_CLASS(GTK_TYPE_MESSAGE_TYPE, "MessageType", mGtk);
|
58
|
-
G_DEF_CLASS(GTK_TYPE_MOVEMENT_STEP, "MovementStep", mGtk);
|
59
|
-
G_DEF_CLASS(GTK_TYPE_ORIENTATION, "Orientation", mGtk);
|
60
|
-
G_DEF_CLASS(GTK_TYPE_PACK_TYPE, "PackType", mGtk);
|
61
|
-
G_DEF_CLASS(GTK_TYPE_PATH_PRIORITY_TYPE, "PathPriorityType", mGtk);
|
62
|
-
G_DEF_CLASS(GTK_TYPE_PATH_TYPE, "PathType", mGtk);
|
63
|
-
G_DEF_CLASS(GTK_TYPE_POLICY_TYPE, "PolicyType", mGtk);
|
64
|
-
G_DEF_CLASS(GTK_TYPE_POSITION_TYPE, "PositionType", mGtk);
|
65
|
-
G_DEF_CLASS(GTK_TYPE_RELIEF_STYLE, "ReliefStyle", mGtk);
|
66
|
-
G_DEF_CLASS(GTK_TYPE_RESIZE_MODE, "ResizeMode", mGtk);
|
67
|
-
G_DEF_CLASS(GTK_TYPE_RESPONSE_TYPE, "ResponseType", mGtk);
|
68
|
-
G_DEF_CLASS(GTK_TYPE_SCROLL_STEP, "ScrollStep", mGtk);
|
69
|
-
G_DEF_CLASS(GTK_TYPE_SCROLL_TYPE, "ScrollType", mGtk);
|
70
|
-
G_DEF_CLASS(GTK_TYPE_SELECTION_MODE, "SelectionMode", mGtk);
|
71
|
-
G_DEF_CLASS(GTK_TYPE_SHADOW_TYPE, "ShadowType", mGtk);
|
72
|
-
G_DEF_CLASS(GTK_TYPE_STATE_FLAGS, "StateFlags", mGtk);
|
73
|
-
G_DEF_CLASS(GTK_TYPE_STATE_TYPE, "StateType", mGtk);
|
74
|
-
/* deprecated
|
75
|
-
G_DEF_CLASS(GTK_TYPE_SUBMENU_DIRECTION, "SubmenuDirection", mGtk);
|
76
|
-
G_DEF_CLASS(GTK_TYPE_SUBMENU_PLACEMENT, "SubmenuPlacement", mGtk);
|
77
|
-
*/
|
78
|
-
G_DEF_CLASS(GTK_TYPE_SORT_TYPE, "SortType", mGtk);
|
79
|
-
}
|
data/ext/gtk3/rbgtk-container.c
DELETED
@@ -1,788 +0,0 @@
|
|
1
|
-
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
-
/*
|
3
|
-
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
-
* Copyright (C) 2002-2006 Ruby-GNOME2 Project Team
|
5
|
-
* Copyright (C) 1998-2000 Yukihiro Matsumoto,
|
6
|
-
* Daisuke Kanda,
|
7
|
-
* Hiroshi Igarashi
|
8
|
-
*
|
9
|
-
* This library is free software; you can redistribute it and/or
|
10
|
-
* modify it under the terms of the GNU Lesser General Public
|
11
|
-
* License as published by the Free Software Foundation; either
|
12
|
-
* version 2.1 of the License, or (at your option) any later version.
|
13
|
-
*
|
14
|
-
* This library is distributed in the hope that it will be useful,
|
15
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
16
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
17
|
-
* Lesser General Public License for more details.
|
18
|
-
*
|
19
|
-
* You should have received a copy of the GNU Lesser General Public
|
20
|
-
* License along with this library; if not, write to the Free Software
|
21
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
22
|
-
* MA 02110-1301 USA
|
23
|
-
*/
|
24
|
-
|
25
|
-
#include "rbgtk3private.h"
|
26
|
-
|
27
|
-
#define RG_TARGET_NAMESPACE cContainer
|
28
|
-
#define _SELF(self) (RVAL2GTKCONTAINER(self))
|
29
|
-
|
30
|
-
#define RubyGtkContainerHookModule "RubyGtkContainerHook__"
|
31
|
-
|
32
|
-
/*
|
33
|
-
We don't need this.
|
34
|
-
#define GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID(object, property_id, pspec)
|
35
|
-
*/
|
36
|
-
|
37
|
-
static VALUE type_to_prop_setter_table;
|
38
|
-
static VALUE type_to_prop_getter_table;
|
39
|
-
|
40
|
-
static VALUE
|
41
|
-
rg_resize_container_p(VALUE self)
|
42
|
-
{
|
43
|
-
return CBOOL2RVAL(GTK_IS_RESIZE_CONTAINER(_SELF(self)));
|
44
|
-
}
|
45
|
-
|
46
|
-
static VALUE
|
47
|
-
rg_remove(VALUE self, VALUE other)
|
48
|
-
{
|
49
|
-
G_CHILD_REMOVE(self, other);
|
50
|
-
gtk_container_remove(_SELF(self), RVAL2GTKWIDGET(other));
|
51
|
-
return self;
|
52
|
-
}
|
53
|
-
|
54
|
-
static VALUE
|
55
|
-
rg_check_resize(VALUE self)
|
56
|
-
{
|
57
|
-
gtk_container_check_resize(_SELF(self));
|
58
|
-
return self;
|
59
|
-
}
|
60
|
-
|
61
|
-
static VALUE
|
62
|
-
rg_each(int argc, VALUE *argv, VALUE self)
|
63
|
-
{
|
64
|
-
VALUE callback;
|
65
|
-
|
66
|
-
rb_scan_args(argc, argv, "01", &callback);
|
67
|
-
if (NIL_P(callback)) {
|
68
|
-
callback = rb_block_proc();
|
69
|
-
}
|
70
|
-
gtk_container_foreach(_SELF(self), exec_callback, (gpointer)callback);
|
71
|
-
return self;
|
72
|
-
}
|
73
|
-
|
74
|
-
static VALUE
|
75
|
-
rg_each_forall(int argc, VALUE *argv, VALUE self)
|
76
|
-
{
|
77
|
-
VALUE callback;
|
78
|
-
|
79
|
-
rb_scan_args(argc, argv, "01", &callback);
|
80
|
-
if (NIL_P(callback)) {
|
81
|
-
callback = rb_block_proc();
|
82
|
-
}
|
83
|
-
gtk_container_forall(_SELF(self), exec_callback, (gpointer)callback);
|
84
|
-
return self;
|
85
|
-
}
|
86
|
-
|
87
|
-
static VALUE
|
88
|
-
rg_children(VALUE self)
|
89
|
-
{
|
90
|
-
return GOBJGLIST2RVAL_FREE(gtk_container_get_children(_SELF(self)),
|
91
|
-
g_list_free, NULL);
|
92
|
-
}
|
93
|
-
|
94
|
-
static VALUE
|
95
|
-
rg_set_reallocate_redraws(VALUE self, VALUE needs_redraws)
|
96
|
-
{
|
97
|
-
gtk_container_set_reallocate_redraws(_SELF(self), RVAL2CBOOL(needs_redraws));
|
98
|
-
return self;
|
99
|
-
}
|
100
|
-
|
101
|
-
static VALUE
|
102
|
-
rg_set_focus_child(VALUE self, VALUE child)
|
103
|
-
{
|
104
|
-
gtk_container_set_focus_child(_SELF(self), RVAL2GTKWIDGET(child));
|
105
|
-
return self;
|
106
|
-
}
|
107
|
-
|
108
|
-
static VALUE
|
109
|
-
rg_set_focus_vadjustment(VALUE self, VALUE adjustment)
|
110
|
-
{
|
111
|
-
gtk_container_set_focus_vadjustment(_SELF(self),
|
112
|
-
NIL_P(adjustment) ? NULL : RVAL2GTKADJUSTMENT(adjustment));
|
113
|
-
return self;
|
114
|
-
}
|
115
|
-
|
116
|
-
static VALUE
|
117
|
-
rg_set_focus_hadjustment(VALUE self, VALUE adjustment)
|
118
|
-
{
|
119
|
-
gtk_container_set_focus_hadjustment(_SELF(self),
|
120
|
-
NIL_P(adjustment) ? NULL : RVAL2GTKADJUSTMENT(adjustment));
|
121
|
-
return self;
|
122
|
-
}
|
123
|
-
|
124
|
-
static VALUE
|
125
|
-
rg_focus_vadjustment(VALUE self)
|
126
|
-
{
|
127
|
-
return GOBJ2RVAL(gtk_container_get_focus_vadjustment(_SELF(self)));
|
128
|
-
}
|
129
|
-
|
130
|
-
static VALUE
|
131
|
-
rg_focus_hadjustment(VALUE self)
|
132
|
-
{
|
133
|
-
return GOBJ2RVAL(gtk_container_get_focus_hadjustment(_SELF(self)));
|
134
|
-
}
|
135
|
-
|
136
|
-
static VALUE
|
137
|
-
rg_resize_children(VALUE self)
|
138
|
-
{
|
139
|
-
gtk_container_resize_children(_SELF(self));
|
140
|
-
return self;
|
141
|
-
}
|
142
|
-
|
143
|
-
static VALUE
|
144
|
-
rg_child_type(VALUE self)
|
145
|
-
{
|
146
|
-
return GTYPE2CLASS(gtk_container_child_type(_SELF(self)));
|
147
|
-
}
|
148
|
-
|
149
|
-
/*
|
150
|
-
void gtk_container_child_get (GtkContainer *container,
|
151
|
-
GtkWidget *child,
|
152
|
-
const gchar *first_prop_name,
|
153
|
-
...);
|
154
|
-
void gtk_container_child_set (GtkContainer *container,
|
155
|
-
GtkWidget *child,
|
156
|
-
const gchar *first_prop_name,
|
157
|
-
...);
|
158
|
-
*/
|
159
|
-
|
160
|
-
static void
|
161
|
-
rbgtkcontainer_register_child_property_setter(GType gtype, const char *name, RValueToGValueFunc func)
|
162
|
-
{
|
163
|
-
GObjectClass* oclass;
|
164
|
-
GParamSpec* pspec;
|
165
|
-
|
166
|
-
VALUE table = rb_hash_aref(type_to_prop_setter_table, INT2FIX(gtype));
|
167
|
-
if (NIL_P(table)){
|
168
|
-
table = rb_hash_new();
|
169
|
-
rb_hash_aset(type_to_prop_setter_table, INT2FIX(gtype), table);
|
170
|
-
}
|
171
|
-
|
172
|
-
oclass = g_type_class_ref(gtype);
|
173
|
-
pspec = gtk_container_class_find_child_property(oclass, name);
|
174
|
-
|
175
|
-
rb_hash_aset(table, rb_intern(g_param_spec_get_name(pspec)),
|
176
|
-
Data_Wrap_Struct(rb_cData, NULL, NULL, func));
|
177
|
-
|
178
|
-
g_type_class_unref(oclass);
|
179
|
-
}
|
180
|
-
|
181
|
-
static void
|
182
|
-
rbgtkcontainer_register_child_property_getter(GType gtype, const char *name, GValueToRValueFunc func)
|
183
|
-
{
|
184
|
-
GObjectClass* oclass;
|
185
|
-
GParamSpec* pspec;
|
186
|
-
|
187
|
-
VALUE table = rb_hash_aref(type_to_prop_getter_table, INT2FIX(gtype));
|
188
|
-
if (NIL_P(table)){
|
189
|
-
table = rb_hash_new();
|
190
|
-
rb_hash_aset(type_to_prop_getter_table, INT2FIX(gtype), table);
|
191
|
-
}
|
192
|
-
|
193
|
-
oclass = g_type_class_ref(gtype);
|
194
|
-
pspec = gtk_container_class_find_child_property(oclass, name);
|
195
|
-
|
196
|
-
rb_hash_aset(table, rb_intern(g_param_spec_get_name(pspec)),
|
197
|
-
Data_Wrap_Struct(rb_cData, NULL, NULL, func));
|
198
|
-
}
|
199
|
-
|
200
|
-
static VALUE
|
201
|
-
rg_child_get_property(VALUE self, VALUE child, VALUE prop_name)
|
202
|
-
{
|
203
|
-
GParamSpec* pspec;
|
204
|
-
const char* name;
|
205
|
-
|
206
|
-
if (SYMBOL_P(prop_name)) {
|
207
|
-
name = rb_id2name(SYM2ID(prop_name));
|
208
|
-
} else {
|
209
|
-
name = RVAL2CSTR(prop_name);
|
210
|
-
}
|
211
|
-
|
212
|
-
pspec = gtk_container_class_find_child_property(
|
213
|
-
G_OBJECT_GET_CLASS(RVAL2GOBJ(self)), name);
|
214
|
-
|
215
|
-
if (!pspec)
|
216
|
-
rb_raise(rb_eArgError, "No such property: %s", name);
|
217
|
-
else {
|
218
|
-
GValueToRValueFunc getter = NULL;
|
219
|
-
GValue gval = G_VALUE_INIT;
|
220
|
-
VALUE ret;
|
221
|
-
|
222
|
-
{
|
223
|
-
VALUE table = rb_hash_aref(type_to_prop_getter_table,
|
224
|
-
INT2FIX(pspec->owner_type));
|
225
|
-
if (!NIL_P(table)){
|
226
|
-
VALUE obj = rb_hash_aref(table, rb_intern(g_param_spec_get_name(pspec)));
|
227
|
-
if (!NIL_P(obj))
|
228
|
-
Data_Get_Struct(obj, void, getter);
|
229
|
-
}
|
230
|
-
}
|
231
|
-
g_value_init(&gval, G_PARAM_SPEC_VALUE_TYPE(pspec));
|
232
|
-
gtk_container_child_get_property(RVAL2GTKCONTAINER(self),
|
233
|
-
RVAL2GTKWIDGET(child),
|
234
|
-
name , &gval);
|
235
|
-
ret = getter ? getter(&gval) : GVAL2RVAL(&gval);
|
236
|
-
|
237
|
-
G_CHILD_ADD(child, ret);
|
238
|
-
|
239
|
-
g_value_unset(&gval);
|
240
|
-
return ret;
|
241
|
-
}
|
242
|
-
}
|
243
|
-
|
244
|
-
static VALUE
|
245
|
-
rg_child_set_property(VALUE self, VALUE child, VALUE prop_name, VALUE val)
|
246
|
-
{
|
247
|
-
GParamSpec* pspec;
|
248
|
-
const char* name;
|
249
|
-
|
250
|
-
if (SYMBOL_P(prop_name)) {
|
251
|
-
name = rb_id2name(SYM2ID(prop_name));
|
252
|
-
} else {
|
253
|
-
name = RVAL2CSTR(prop_name);
|
254
|
-
}
|
255
|
-
|
256
|
-
pspec = gtk_container_class_find_child_property(
|
257
|
-
G_OBJECT_GET_CLASS(RVAL2GOBJ(self)), name);
|
258
|
-
|
259
|
-
if (!pspec)
|
260
|
-
rb_raise(rb_eArgError, "No such property: %s", name);
|
261
|
-
else {
|
262
|
-
RValueToGValueFunc setter = NULL;
|
263
|
-
GValue gval = G_VALUE_INIT;
|
264
|
-
g_value_init(&gval, G_PARAM_SPEC_VALUE_TYPE(pspec));
|
265
|
-
|
266
|
-
{
|
267
|
-
VALUE table = rb_hash_aref(type_to_prop_setter_table,
|
268
|
-
INT2FIX(pspec->owner_type));
|
269
|
-
if (!NIL_P(table)){
|
270
|
-
VALUE obj = rb_hash_aref(table, rb_intern(g_param_spec_get_name(pspec)));
|
271
|
-
if (!NIL_P(obj))
|
272
|
-
Data_Get_Struct(obj, void, setter);
|
273
|
-
}
|
274
|
-
}
|
275
|
-
|
276
|
-
if (setter)
|
277
|
-
setter(val, &gval);
|
278
|
-
else {
|
279
|
-
if (!NIL_P(val))
|
280
|
-
rbgobj_rvalue_to_gvalue(val, &gval);
|
281
|
-
}
|
282
|
-
|
283
|
-
G_CHILD_ADD(child, val);
|
284
|
-
|
285
|
-
gtk_container_child_set_property(RVAL2GTKCONTAINER(self),
|
286
|
-
RVAL2GTKWIDGET(child), name, &gval);
|
287
|
-
|
288
|
-
g_value_unset(&gval);
|
289
|
-
return self;
|
290
|
-
}
|
291
|
-
}
|
292
|
-
|
293
|
-
static VALUE
|
294
|
-
rg_add(int argc, VALUE *argv, VALUE self)
|
295
|
-
{
|
296
|
-
VALUE other, properties;
|
297
|
-
GtkWidget *child;
|
298
|
-
|
299
|
-
rb_scan_args(argc, argv, "11", &other, &properties);
|
300
|
-
|
301
|
-
child = RVAL2GTKWIDGET(other);
|
302
|
-
gtk_widget_freeze_child_notify(child);
|
303
|
-
gtk_container_add(_SELF(self), child);
|
304
|
-
|
305
|
-
G_CHILD_ADD(self, other);
|
306
|
-
|
307
|
-
if (gtk_widget_get_parent(child) && (! NIL_P(properties))){
|
308
|
-
int i;
|
309
|
-
VALUE ary;
|
310
|
-
|
311
|
-
Check_Type(properties, T_HASH);
|
312
|
-
ary = rb_funcall(properties, rb_intern("to_a"), 0);
|
313
|
-
|
314
|
-
for (i = 0; i < RARRAY_LEN(ary); i++) {
|
315
|
-
rg_child_set_property(self, other,
|
316
|
-
RARRAY_PTR(RARRAY_PTR(ary)[i])[0],
|
317
|
-
RARRAY_PTR(RARRAY_PTR(ary)[i])[1]);
|
318
|
-
}
|
319
|
-
}
|
320
|
-
gtk_widget_thaw_child_notify(child);
|
321
|
-
return self;
|
322
|
-
}
|
323
|
-
|
324
|
-
/*
|
325
|
-
void gtk_container_child_get_valist (GtkContainer *container,
|
326
|
-
GtkWidget *child,
|
327
|
-
const gchar *first_property_name,
|
328
|
-
va_list var_args);
|
329
|
-
void gtk_container_child_set_valist (GtkContainer *container,
|
330
|
-
GtkWidget *child,
|
331
|
-
const gchar *first_property_name,
|
332
|
-
va_list var_args);
|
333
|
-
*/
|
334
|
-
|
335
|
-
/* deprecated
|
336
|
-
static VALUE
|
337
|
-
rg_propagate_expose(VALUE self, VALUE child, VALUE event)
|
338
|
-
{
|
339
|
-
gtk_container_propagate_expose(_SELF(self), RVAL2GTKWIDGET(child),
|
340
|
-
(GdkEventExpose *)RVAL2GEV(event));
|
341
|
-
return self;
|
342
|
-
}
|
343
|
-
*/
|
344
|
-
|
345
|
-
static VALUE
|
346
|
-
rg_focus_chain(VALUE self)
|
347
|
-
{
|
348
|
-
gboolean set_explicitly;
|
349
|
-
GList *glist = NULL;
|
350
|
-
|
351
|
-
set_explicitly = gtk_container_get_focus_chain(_SELF(self), &glist);
|
352
|
-
if (!set_explicitly) {
|
353
|
-
return Qnil;
|
354
|
-
}
|
355
|
-
return GOBJGLIST2RVAL_FREE(glist, g_list_free, NULL);
|
356
|
-
}
|
357
|
-
|
358
|
-
struct rval2gtkwidgetglist_args {
|
359
|
-
VALUE ary;
|
360
|
-
long n;
|
361
|
-
GList *result;
|
362
|
-
};
|
363
|
-
|
364
|
-
static VALUE
|
365
|
-
rbg_rval2gtkwidgetglist_body(VALUE value)
|
366
|
-
{
|
367
|
-
long i;
|
368
|
-
struct rval2gtkwidgetglist_args *args = (struct rval2gtkwidgetglist_args *)value;
|
369
|
-
|
370
|
-
for (i = 0; i < args->n; i++)
|
371
|
-
args->result = g_list_append(args->result, RVAL2GTKWIDGET(RARRAY_PTR(args->ary)[i]));
|
372
|
-
|
373
|
-
return Qnil;
|
374
|
-
}
|
375
|
-
|
376
|
-
static G_GNUC_NORETURN VALUE
|
377
|
-
rbg_rval2gtkwidgetglist_rescue(VALUE value)
|
378
|
-
{
|
379
|
-
g_list_free(((struct rval2gtkwidgetglist_args *)value)->result);
|
380
|
-
|
381
|
-
rb_exc_raise(rb_errinfo());
|
382
|
-
}
|
383
|
-
|
384
|
-
static GList *
|
385
|
-
rbg_rval2gtkwidgetglist(VALUE value)
|
386
|
-
{
|
387
|
-
struct rval2gtkwidgetglist_args args;
|
388
|
-
|
389
|
-
args.ary = rb_ary_to_ary(value);
|
390
|
-
args.n = RARRAY_LEN(args.ary);
|
391
|
-
args.result = NULL;
|
392
|
-
|
393
|
-
rb_rescue(rbg_rval2gtkwidgetglist_body, (VALUE)&args,
|
394
|
-
rbg_rval2gtkwidgetglist_rescue, (VALUE)&args);
|
395
|
-
|
396
|
-
return args.result;
|
397
|
-
}
|
398
|
-
|
399
|
-
#define RVAL2GTKWIDGETGLIST(value) rbg_rval2gtkwidgetglist(value)
|
400
|
-
|
401
|
-
static VALUE
|
402
|
-
rg_set_focus_chain(VALUE self, VALUE rbfocusable_widgets)
|
403
|
-
{
|
404
|
-
GtkContainer *container = _SELF(self);
|
405
|
-
GList *focusable_widgets = RVAL2GTKWIDGETGLIST(rbfocusable_widgets);
|
406
|
-
|
407
|
-
gtk_container_set_focus_chain(container, focusable_widgets);
|
408
|
-
|
409
|
-
g_list_free(focusable_widgets);
|
410
|
-
|
411
|
-
return self;
|
412
|
-
}
|
413
|
-
|
414
|
-
static VALUE
|
415
|
-
rg_unset_focus_chain(VALUE self)
|
416
|
-
{
|
417
|
-
gtk_container_unset_focus_chain(_SELF(self));
|
418
|
-
return self;
|
419
|
-
}
|
420
|
-
|
421
|
-
static VALUE
|
422
|
-
rg_s_child_property(VALUE self, VALUE property_name)
|
423
|
-
{
|
424
|
-
GObjectClass* oclass;
|
425
|
-
const char* name;
|
426
|
-
GParamSpec* prop;
|
427
|
-
VALUE result;
|
428
|
-
|
429
|
-
if (SYMBOL_P(property_name)) {
|
430
|
-
name = rb_id2name(SYM2ID(property_name));
|
431
|
-
} else {
|
432
|
-
name = RVAL2CSTR(property_name);
|
433
|
-
}
|
434
|
-
|
435
|
-
oclass = g_type_class_ref(CLASS2GTYPE(self));
|
436
|
-
|
437
|
-
prop = gtk_container_class_find_child_property(oclass, name);
|
438
|
-
if (!prop){
|
439
|
-
g_type_class_unref(oclass);
|
440
|
-
rb_raise(rb_eNameError, "no such property: %s", name);
|
441
|
-
}
|
442
|
-
|
443
|
-
result = GOBJ2RVAL(prop);
|
444
|
-
g_type_class_unref(oclass);
|
445
|
-
return result;
|
446
|
-
}
|
447
|
-
|
448
|
-
static VALUE
|
449
|
-
rg_s_install_child_property(int argc, VALUE *argv, VALUE self)
|
450
|
-
{
|
451
|
-
const RGObjClassInfo* cinfo = rbgobj_lookup_class(self);
|
452
|
-
GtkContainerClass* gclass;
|
453
|
-
VALUE spec, prop_id;
|
454
|
-
GParamSpec* pspec;
|
455
|
-
|
456
|
-
rb_scan_args(argc, argv, "11", &spec, &prop_id);
|
457
|
-
|
458
|
-
pspec = RVAL2GPARAMSPEC(spec);
|
459
|
-
|
460
|
-
if (cinfo->klass != self)
|
461
|
-
rb_raise(rb_eTypeError, "%s isn't registerd class",
|
462
|
-
rb_class2name(self));
|
463
|
-
|
464
|
-
gclass = GTK_CONTAINER_CLASS(g_type_class_ref(cinfo->gtype));
|
465
|
-
gtk_container_class_install_child_property(gclass,
|
466
|
-
NIL_P(prop_id) ? 1 : NUM2UINT(prop_id),
|
467
|
-
pspec);
|
468
|
-
|
469
|
-
return self;
|
470
|
-
}
|
471
|
-
|
472
|
-
static VALUE
|
473
|
-
rg_s_child_properties(int argc, VALUE *argv, VALUE self)
|
474
|
-
{
|
475
|
-
GObjectClass* oclass = g_type_class_ref(CLASS2GTYPE(self));
|
476
|
-
guint n_properties;
|
477
|
-
GParamSpec** props;
|
478
|
-
VALUE inherited_too;
|
479
|
-
VALUE ary;
|
480
|
-
guint i;
|
481
|
-
|
482
|
-
if (rb_scan_args(argc, argv, "01", &inherited_too) == 0)
|
483
|
-
inherited_too = Qtrue;
|
484
|
-
|
485
|
-
props = gtk_container_class_list_child_properties(oclass, &n_properties);
|
486
|
-
|
487
|
-
ary = rb_ary_new();
|
488
|
-
for (i = 0; i < n_properties; i++){
|
489
|
-
if (RVAL2CBOOL(inherited_too)
|
490
|
-
|| GTYPE2CLASS(props[i]->owner_type) == self)
|
491
|
-
rb_ary_push(ary, CSTR2RVAL(props[i]->name));
|
492
|
-
}
|
493
|
-
g_free(props);
|
494
|
-
g_type_class_unref(oclass);
|
495
|
-
return ary;
|
496
|
-
}
|
497
|
-
|
498
|
-
/**********************************************************************/
|
499
|
-
|
500
|
-
static VALUE proc_mod_eval;
|
501
|
-
static GQuark q_ruby_setter;
|
502
|
-
static GQuark q_ruby_getter;
|
503
|
-
|
504
|
-
static VALUE
|
505
|
-
cont_initialize(int argc, VALUE *argv, VALUE self)
|
506
|
-
{
|
507
|
-
VALUE params_hash;
|
508
|
-
GObject* gobj;
|
509
|
-
|
510
|
-
rb_scan_args(argc, argv, "01", ¶ms_hash);
|
511
|
-
|
512
|
-
if (!NIL_P(params_hash))
|
513
|
-
Check_Type(params_hash, T_HASH);
|
514
|
-
|
515
|
-
gobj = rbgobj_gobject_new(RVAL2GTYPE(self), params_hash);
|
516
|
-
|
517
|
-
RBGTK_INITIALIZE(self, gobj);
|
518
|
-
return Qnil;
|
519
|
-
}
|
520
|
-
|
521
|
-
// FIXME: use rb_protect
|
522
|
-
static void
|
523
|
-
get_prop_func(GObject* object,
|
524
|
-
G_GNUC_UNUSED guint property_id,
|
525
|
-
GValue* value,
|
526
|
-
GParamSpec* pspec)
|
527
|
-
{
|
528
|
-
ID ruby_getter = (ID)g_param_spec_get_qdata(pspec, q_ruby_getter);
|
529
|
-
if (!ruby_getter) {
|
530
|
-
gchar* name = g_strdup(g_param_spec_get_name(pspec));
|
531
|
-
gchar* p;
|
532
|
-
for (p = name; *p; p++) {
|
533
|
-
if (*p == '-')
|
534
|
-
*p = '_';
|
535
|
-
}
|
536
|
-
ruby_getter = rb_intern(name);
|
537
|
-
g_param_spec_set_qdata(pspec, q_ruby_getter, (gpointer)ruby_getter);
|
538
|
-
g_free(name);
|
539
|
-
}
|
540
|
-
|
541
|
-
{
|
542
|
-
VALUE ret = rb_funcall(GOBJ2RVAL(object), ruby_getter, 0);
|
543
|
-
rbgobj_rvalue_to_gvalue(ret, value);
|
544
|
-
}
|
545
|
-
}
|
546
|
-
|
547
|
-
// FIXME: use rb_protect
|
548
|
-
static void
|
549
|
-
set_prop_func(GObject* object,
|
550
|
-
G_GNUC_UNUSED guint property_id,
|
551
|
-
const GValue* value,
|
552
|
-
GParamSpec* pspec)
|
553
|
-
{
|
554
|
-
ID ruby_setter = (ID)g_param_spec_get_qdata(pspec, q_ruby_setter);
|
555
|
-
if (!ruby_setter) {
|
556
|
-
gchar* name = g_strconcat(g_param_spec_get_name(pspec), "=", NULL);
|
557
|
-
gchar* p;
|
558
|
-
for (p = name; *p; p++) {
|
559
|
-
if (*p == '-')
|
560
|
-
*p = '_';
|
561
|
-
}
|
562
|
-
ruby_setter = rb_intern(name);
|
563
|
-
g_param_spec_set_qdata(pspec, q_ruby_setter, (gpointer)ruby_setter);
|
564
|
-
g_free(name);
|
565
|
-
}
|
566
|
-
|
567
|
-
rb_funcall(GOBJ2RVAL(object), ruby_setter, 1, GVAL2RVAL(value));
|
568
|
-
}
|
569
|
-
|
570
|
-
// FIXME: use rb_protect
|
571
|
-
static void
|
572
|
-
get_child_prop_func(GtkContainer *container,
|
573
|
-
GtkWidget *child,
|
574
|
-
G_GNUC_UNUSED guint property_id,
|
575
|
-
GValue *value,
|
576
|
-
GParamSpec *pspec)
|
577
|
-
{
|
578
|
-
ID ruby_getter = (ID)g_param_spec_get_qdata(pspec, q_ruby_getter);
|
579
|
-
if (!ruby_getter) {
|
580
|
-
gchar* name = g_strconcat("get_", g_param_spec_get_name(pspec), NULL);
|
581
|
-
gchar* p;
|
582
|
-
for (p = name; *p; p++) {
|
583
|
-
if (*p == '-')
|
584
|
-
*p = '_';
|
585
|
-
}
|
586
|
-
ruby_getter = rb_intern(name);
|
587
|
-
g_param_spec_set_qdata(pspec, q_ruby_getter, (gpointer)ruby_getter);
|
588
|
-
g_free(name);
|
589
|
-
}
|
590
|
-
|
591
|
-
{
|
592
|
-
VALUE ret = rb_funcall(GOBJ2RVAL(container), ruby_getter, 1, GOBJ2RVAL(child));
|
593
|
-
rbgobj_rvalue_to_gvalue(ret, value);
|
594
|
-
}
|
595
|
-
}
|
596
|
-
|
597
|
-
// FIXME: use rb_protect
|
598
|
-
static void
|
599
|
-
set_child_prop_func(GtkContainer *container,
|
600
|
-
GtkWidget *child,
|
601
|
-
G_GNUC_UNUSED guint property_id,
|
602
|
-
const GValue *value,
|
603
|
-
GParamSpec *pspec)
|
604
|
-
{
|
605
|
-
ID ruby_setter = (ID)g_param_spec_get_qdata(pspec, q_ruby_setter);
|
606
|
-
if (!ruby_setter) {
|
607
|
-
gchar* name = g_strconcat("set_", g_param_spec_get_name(pspec), NULL);
|
608
|
-
gchar* p;
|
609
|
-
for (p = name; *p; p++) {
|
610
|
-
if (*p == '-')
|
611
|
-
*p = '_';
|
612
|
-
}
|
613
|
-
ruby_setter = rb_intern(name);
|
614
|
-
g_param_spec_set_qdata(pspec, q_ruby_setter, (gpointer)ruby_setter);
|
615
|
-
g_free(name);
|
616
|
-
}
|
617
|
-
|
618
|
-
rb_funcall(GOBJ2RVAL(container), ruby_setter, 2, GOBJ2RVAL(child), GVAL2RVAL(value));
|
619
|
-
}
|
620
|
-
|
621
|
-
// FIXME: use rb_protect
|
622
|
-
static void
|
623
|
-
class_init_func(gpointer g_class, G_GNUC_UNUSED gpointer class_data)
|
624
|
-
{
|
625
|
-
GObjectClass* g_class1 = G_OBJECT_CLASS(g_class);
|
626
|
-
GtkContainerClass* g_class2 = GTK_CONTAINER_CLASS(g_class);
|
627
|
-
|
628
|
-
g_class1->set_property = set_prop_func;
|
629
|
-
g_class1->get_property = get_prop_func;
|
630
|
-
|
631
|
-
g_class2->set_child_property = set_child_prop_func;
|
632
|
-
g_class2->get_child_property = get_child_prop_func;
|
633
|
-
|
634
|
-
#if 0
|
635
|
-
VALUE class_init_proc = (VALUE)class_data;
|
636
|
-
rb_funcall(proc_mod_eval, rb_intern("call"), 2,
|
637
|
-
GTYPE2CLASS(G_TYPE_FROM_CLASS(g_class)), class_init_proc);
|
638
|
-
#endif
|
639
|
-
}
|
640
|
-
|
641
|
-
static VALUE
|
642
|
-
rg_s_type_register(int argc, VALUE* argv, VALUE self)
|
643
|
-
{
|
644
|
-
VALUE type_name, flags;
|
645
|
-
volatile VALUE class_init_proc = Qnil;
|
646
|
-
GType parent_type;
|
647
|
-
GTypeInfo* info;
|
648
|
-
|
649
|
-
rb_scan_args(argc, argv, "03", &type_name, &info, &flags);
|
650
|
-
|
651
|
-
/* TODO: Replace this copy-paste job with the real thing in glib2. */
|
652
|
-
{
|
653
|
-
const RGObjClassInfo* cinfo = rbgobj_lookup_class(self);
|
654
|
-
if (cinfo->klass == self)
|
655
|
-
rb_raise(rb_eTypeError, "already registered");
|
656
|
-
}
|
657
|
-
|
658
|
-
{
|
659
|
-
VALUE superclass = rb_funcall(self, rb_intern("superclass"), 0);
|
660
|
-
const RGObjClassInfo* cinfo = CLASS2CINFO(superclass);
|
661
|
-
if (cinfo->klass != superclass)
|
662
|
-
rb_raise(rb_eTypeError, "super class must be registered to GLib");
|
663
|
-
parent_type = cinfo->gtype;
|
664
|
-
}
|
665
|
-
|
666
|
-
if (NIL_P(type_name)){
|
667
|
-
VALUE s = rb_funcall(self, rb_intern("name"), 0);
|
668
|
-
|
669
|
-
if (strlen(StringValuePtr(s)) == 0)
|
670
|
-
rb_raise(rb_eTypeError, "can't determine type name");
|
671
|
-
|
672
|
-
type_name = rb_funcall(
|
673
|
-
rb_eval_string("lambda{|x| x.gsub(/::/,'') }"),
|
674
|
-
rb_intern("call"), 1, s);
|
675
|
-
}
|
676
|
-
|
677
|
-
{
|
678
|
-
GTypeQuery query;
|
679
|
-
g_type_query(parent_type, &query);
|
680
|
-
|
681
|
-
/* TODO: This should not require a new GTypeInfo, as GLib doesn't
|
682
|
-
* retain a copy. */
|
683
|
-
info = g_new0(GTypeInfo, 1);
|
684
|
-
info->class_size = query.class_size;
|
685
|
-
info->base_init = NULL;
|
686
|
-
info->base_finalize = NULL;
|
687
|
-
info->class_init = class_init_func;
|
688
|
-
info->class_finalize = NULL;
|
689
|
-
info->class_data = (gpointer)class_init_proc;
|
690
|
-
info->instance_size = query.instance_size;
|
691
|
-
info->n_preallocs = 0;
|
692
|
-
info->instance_init = NULL;
|
693
|
-
info->value_table = NULL;
|
694
|
-
}
|
695
|
-
|
696
|
-
{
|
697
|
-
GType type = g_type_register_static(parent_type,
|
698
|
-
StringValuePtr(type_name),
|
699
|
-
info,
|
700
|
-
NIL_P(flags) ? 0 : NUM2INT(flags));
|
701
|
-
G_RELATIVE(self, class_init_proc);
|
702
|
-
|
703
|
-
rbgobj_register_class(self, type, TRUE, TRUE);
|
704
|
-
|
705
|
-
{
|
706
|
-
RGObjClassInfo* cinfo = (RGObjClassInfo*)rbgobj_lookup_class(self);
|
707
|
-
cinfo->flags |= RBGOBJ_DEFINED_BY_RUBY;
|
708
|
-
}
|
709
|
-
|
710
|
-
{
|
711
|
-
GType parent = g_type_parent(type);
|
712
|
-
const RGObjClassInfo* cinfo = GTYPE2CINFO(parent);
|
713
|
-
VALUE m = rb_define_module_under(self, RubyGtkContainerHookModule);
|
714
|
-
|
715
|
-
if (! (cinfo->flags & RBGOBJ_DEFINED_BY_RUBY)) {
|
716
|
-
rbg_define_method(m, "initialize", cont_initialize, -1);
|
717
|
-
}
|
718
|
-
|
719
|
-
rb_include_module(self, m);
|
720
|
-
}
|
721
|
-
|
722
|
-
return Qnil;
|
723
|
-
}
|
724
|
-
}
|
725
|
-
/**********************************************************************/
|
726
|
-
|
727
|
-
static void
|
728
|
-
cont_mark_callback(GtkWidget *w, G_GNUC_UNUSED gpointer data)
|
729
|
-
{
|
730
|
-
rbgobj_gc_mark_instance(w);
|
731
|
-
}
|
732
|
-
|
733
|
-
static void
|
734
|
-
cont_mark(void* p)
|
735
|
-
{
|
736
|
-
gtk_container_forall(GTK_CONTAINER(p), cont_mark_callback, NULL);
|
737
|
-
}
|
738
|
-
|
739
|
-
/**********************************************************************/
|
740
|
-
|
741
|
-
void
|
742
|
-
Init_gtk_container(VALUE mGtk)
|
743
|
-
{
|
744
|
-
VALUE RG_TARGET_NAMESPACE;
|
745
|
-
|
746
|
-
RG_TARGET_NAMESPACE = G_DEF_CLASS_WITH_GC_FUNC(GTK_TYPE_CONTAINER, "Container",
|
747
|
-
mGtk, cont_mark, NULL);
|
748
|
-
RG_DEF_METHOD_P(resize_container, 0);
|
749
|
-
RG_DEF_METHOD(add, -1);
|
750
|
-
RG_DEF_ALIAS("<<", "add");
|
751
|
-
RG_DEF_METHOD(remove, 1);
|
752
|
-
RG_DEF_METHOD(check_resize, 0);
|
753
|
-
RG_DEF_METHOD(each, -1);
|
754
|
-
RG_DEF_METHOD(each_forall, -1);
|
755
|
-
RG_DEF_METHOD(children, 0);
|
756
|
-
RG_DEF_METHOD(set_reallocate_redraws, 1);
|
757
|
-
RG_DEF_METHOD(set_focus_child, 1);
|
758
|
-
RG_DEF_METHOD(set_focus_vadjustment, 1);
|
759
|
-
RG_DEF_METHOD(set_focus_hadjustment, 1);
|
760
|
-
RG_DEF_METHOD(focus_vadjustment, 0);
|
761
|
-
RG_DEF_METHOD(focus_hadjustment, 0);
|
762
|
-
RG_DEF_METHOD(resize_children, 0);
|
763
|
-
RG_DEF_METHOD(child_type, 0);
|
764
|
-
RG_DEF_METHOD(child_get_property, 2);
|
765
|
-
RG_DEF_METHOD(child_set_property, 3);
|
766
|
-
/* deprecated
|
767
|
-
RG_DEF_METHOD(propagate_expose, 2);
|
768
|
-
*/
|
769
|
-
RG_DEF_METHOD(focus_chain, 0);
|
770
|
-
RG_DEF_METHOD(set_focus_chain, 1);
|
771
|
-
RG_DEF_METHOD(unset_focus_chain, 0);
|
772
|
-
RG_DEF_SMETHOD(child_property, 1);
|
773
|
-
RG_DEF_SMETHOD(child_properties, -1);
|
774
|
-
RG_DEF_SMETHOD(install_child_property, -1);
|
775
|
-
|
776
|
-
q_ruby_getter = g_quark_from_static_string("__ruby_getter");
|
777
|
-
q_ruby_setter = g_quark_from_static_string("__ruby_setter");
|
778
|
-
|
779
|
-
RG_DEF_SMETHOD(type_register, -1);
|
780
|
-
|
781
|
-
rb_global_variable(&proc_mod_eval);
|
782
|
-
proc_mod_eval = rb_eval_string("lambda{|obj,proc| obj.module_eval(&proc)}");
|
783
|
-
|
784
|
-
rb_global_variable(&type_to_prop_setter_table);
|
785
|
-
rb_global_variable(&type_to_prop_getter_table);
|
786
|
-
type_to_prop_setter_table = rb_hash_new();
|
787
|
-
type_to_prop_getter_table = rb_hash_new();
|
788
|
-
}
|