gtk3 2.2.5-x64-mingw32 → 3.0.0-x64-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
@@ -1,256 +0,0 @@
|
|
1
|
-
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
-
/*
|
3
|
-
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
-
* Copyright (C) 2002-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 cTreeViewColumn
|
25
|
-
#define _SELF(s) (RVAL2GTKTREEVIEWCOLUMN(s))
|
26
|
-
|
27
|
-
static VALUE
|
28
|
-
rg_initialize(int argc, VALUE *argv, VALUE self)
|
29
|
-
{
|
30
|
-
int i;
|
31
|
-
int col;
|
32
|
-
GtkTreeViewColumn *tvc;
|
33
|
-
GtkCellRenderer *renderer;
|
34
|
-
const gchar *name;
|
35
|
-
VALUE ary, val;
|
36
|
-
|
37
|
-
tvc = gtk_tree_view_column_new();
|
38
|
-
if (argc > 0){
|
39
|
-
gtk_tree_view_column_set_title(tvc, RVAL2CSTR(argv[0]));
|
40
|
-
if (argc > 1) {
|
41
|
-
gtk_tree_view_column_pack_start(tvc, RVAL2GTKCELLRENDERER(argv[1]), TRUE);
|
42
|
-
G_CHILD_ADD(self, argv[1]);
|
43
|
-
}
|
44
|
-
}
|
45
|
-
|
46
|
-
RBGTK_INITIALIZE(self, tvc);
|
47
|
-
|
48
|
-
if (argc == 3){
|
49
|
-
ary = rb_funcall(argv[2], rb_intern("to_a"), 0);
|
50
|
-
renderer = RVAL2GTKCELLRENDERER(argv[1]);
|
51
|
-
for (i = 0; i < RARRAY_LEN(ary); i++) {
|
52
|
-
val = RARRAY_PTR(RARRAY_PTR(ary)[i])[0];
|
53
|
-
if (SYMBOL_P(val)) {
|
54
|
-
name = rb_id2name(SYM2ID(val));
|
55
|
-
} else {
|
56
|
-
name = RVAL2CSTR(val);
|
57
|
-
}
|
58
|
-
col = NUM2INT(RARRAY_PTR(RARRAY_PTR(ary)[i])[1]);
|
59
|
-
gtk_tree_view_column_add_attribute(_SELF(self), renderer, name, col);
|
60
|
-
}
|
61
|
-
}
|
62
|
-
|
63
|
-
return Qnil;
|
64
|
-
}
|
65
|
-
|
66
|
-
static VALUE
|
67
|
-
rg_pack_start(VALUE self, VALUE cell, VALUE expand)
|
68
|
-
{
|
69
|
-
G_CHILD_ADD(self, cell);
|
70
|
-
gtk_tree_view_column_pack_start(_SELF(self), RVAL2GTKCELLRENDERER(cell), RVAL2CBOOL(expand));
|
71
|
-
return self;
|
72
|
-
}
|
73
|
-
|
74
|
-
static VALUE
|
75
|
-
rg_pack_end(VALUE self, VALUE cell, VALUE expand)
|
76
|
-
{
|
77
|
-
G_CHILD_ADD(self, cell);
|
78
|
-
gtk_tree_view_column_pack_end(_SELF(self), RVAL2GTKCELLRENDERER(cell), RVAL2CBOOL(expand));
|
79
|
-
return self;
|
80
|
-
}
|
81
|
-
|
82
|
-
static VALUE
|
83
|
-
rg_clear(VALUE self)
|
84
|
-
{
|
85
|
-
G_CHILD_REMOVE_ALL(self);
|
86
|
-
gtk_tree_view_column_clear(_SELF(self));
|
87
|
-
return self;
|
88
|
-
}
|
89
|
-
|
90
|
-
static VALUE
|
91
|
-
rg_add_attribute(VALUE self, VALUE cell, VALUE attribute, VALUE column)
|
92
|
-
{
|
93
|
-
const gchar *name;
|
94
|
-
if (SYMBOL_P(attribute)) {
|
95
|
-
name = rb_id2name(SYM2ID(attribute));
|
96
|
-
} else {
|
97
|
-
name = RVAL2CSTR(attribute);
|
98
|
-
}
|
99
|
-
gtk_tree_view_column_add_attribute(_SELF(self), RVAL2GTKCELLRENDERER(cell),
|
100
|
-
name, NUM2INT(column));
|
101
|
-
return self;
|
102
|
-
}
|
103
|
-
|
104
|
-
static VALUE
|
105
|
-
rg_set_attributes(VALUE self, VALUE renderer, VALUE attributes)
|
106
|
-
{
|
107
|
-
GtkTreeViewColumn *tvc;
|
108
|
-
GtkCellRenderer *grenderer;
|
109
|
-
const gchar *name;
|
110
|
-
int i, col;
|
111
|
-
VALUE ary, val;
|
112
|
-
|
113
|
-
Check_Type(attributes, T_HASH);
|
114
|
-
|
115
|
-
tvc = _SELF(self);
|
116
|
-
grenderer = RVAL2GTKCELLRENDERER(renderer);
|
117
|
-
gtk_tree_view_column_clear_attributes(tvc, grenderer);
|
118
|
-
|
119
|
-
ary = rb_funcall(attributes, rb_intern("to_a"), 0);
|
120
|
-
for (i = 0; i < RARRAY_LEN(ary); i++) {
|
121
|
-
val = RARRAY_PTR(RARRAY_PTR(ary)[i])[0];
|
122
|
-
if (SYMBOL_P(val)) {
|
123
|
-
name = rb_id2name(SYM2ID(val));
|
124
|
-
} else {
|
125
|
-
name = RVAL2CSTR(val);
|
126
|
-
}
|
127
|
-
col = NUM2INT(RARRAY_PTR(RARRAY_PTR(ary)[i])[1]);
|
128
|
-
gtk_tree_view_column_add_attribute(tvc, grenderer, name, col);
|
129
|
-
}
|
130
|
-
return self;
|
131
|
-
}
|
132
|
-
|
133
|
-
static void
|
134
|
-
cell_data_func(GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *model, GtkTreeIter *iter, gpointer func)
|
135
|
-
{
|
136
|
-
iter->user_data3 = model;
|
137
|
-
rb_funcall((VALUE)func, id_call, 4, GOBJ2RVAL(tree_column),
|
138
|
-
GOBJ2RVAL(cell), GOBJ2RVAL(model),
|
139
|
-
GTKTREEITER2RVAL(iter));
|
140
|
-
}
|
141
|
-
|
142
|
-
static VALUE
|
143
|
-
rg_set_cell_data_func(VALUE self, VALUE renderer)
|
144
|
-
{
|
145
|
-
volatile VALUE func = rb_block_proc();
|
146
|
-
G_RELATIVE(self, func);
|
147
|
-
G_RELATIVE(renderer, func);
|
148
|
-
gtk_tree_view_column_set_cell_data_func(_SELF(self), RVAL2GTKCELLRENDERER(renderer),
|
149
|
-
(GtkTreeCellDataFunc)cell_data_func, (gpointer)func, NULL);
|
150
|
-
return self;
|
151
|
-
}
|
152
|
-
|
153
|
-
static VALUE
|
154
|
-
rg_clear_attributes(VALUE self, VALUE cell)
|
155
|
-
{
|
156
|
-
gtk_tree_view_column_clear_attributes(_SELF(self), RVAL2GTKCELLRENDERER(cell));
|
157
|
-
return self;
|
158
|
-
}
|
159
|
-
|
160
|
-
static VALUE
|
161
|
-
rg_clicked(VALUE self)
|
162
|
-
{
|
163
|
-
gtk_tree_view_column_clicked(_SELF(self));
|
164
|
-
return self;
|
165
|
-
}
|
166
|
-
|
167
|
-
static VALUE
|
168
|
-
rg_cell_set_cell_data(VALUE self, VALUE model, VALUE iter, VALUE is_expander, VALUE is_expanded)
|
169
|
-
{
|
170
|
-
gtk_tree_view_column_cell_set_cell_data(_SELF(self),
|
171
|
-
RVAL2GTKTREEMODEL(model),
|
172
|
-
RVAL2GTKTREEITER(iter),
|
173
|
-
RVAL2CBOOL(is_expander),
|
174
|
-
RVAL2CBOOL(is_expanded));
|
175
|
-
return self;
|
176
|
-
}
|
177
|
-
|
178
|
-
static VALUE
|
179
|
-
rg_cell_size(VALUE self)
|
180
|
-
{
|
181
|
-
GdkRectangle cell_area;
|
182
|
-
gint x_offset, y_offset, width, height;
|
183
|
-
VALUE cell;
|
184
|
-
|
185
|
-
/* Is this collect implement for cell_area ? */
|
186
|
-
cell_area.x = -1;
|
187
|
-
cell_area.y = -1;
|
188
|
-
cell_area.width = -1;
|
189
|
-
cell_area.height = -1;
|
190
|
-
|
191
|
-
gtk_tree_view_column_cell_get_size(_SELF(self), &cell_area,
|
192
|
-
&x_offset, &y_offset,
|
193
|
-
&width, &height);
|
194
|
-
if (cell_area.x == -1 || cell_area.y == -1 ||
|
195
|
-
cell_area.width == -1 || cell_area.height == -1){
|
196
|
-
cell = Qnil;
|
197
|
-
} else {
|
198
|
-
cell = GDKRECTANGLE2RVAL(&cell_area);
|
199
|
-
}
|
200
|
-
return rb_ary_new3(5, cell,
|
201
|
-
x_offset ? INT2NUM(x_offset) : Qnil,
|
202
|
-
y_offset ? INT2NUM(y_offset) : Qnil,
|
203
|
-
width ? INT2NUM(width) : Qnil,
|
204
|
-
height ? INT2NUM(height) : Qnil);
|
205
|
-
}
|
206
|
-
|
207
|
-
static VALUE
|
208
|
-
rg_cell_is_visible_p(VALUE self)
|
209
|
-
{
|
210
|
-
return CBOOL2RVAL(gtk_tree_view_column_cell_is_visible(_SELF(self)));
|
211
|
-
}
|
212
|
-
|
213
|
-
static VALUE
|
214
|
-
rg_focus_cell(VALUE self, VALUE renderer)
|
215
|
-
{
|
216
|
-
gtk_tree_view_column_focus_cell(_SELF(self), RVAL2GTKCELLRENDERER(renderer));
|
217
|
-
|
218
|
-
return self;
|
219
|
-
}
|
220
|
-
|
221
|
-
static VALUE
|
222
|
-
rg_queue_resize(VALUE self)
|
223
|
-
{
|
224
|
-
gtk_tree_view_column_queue_resize(_SELF(self));
|
225
|
-
return self;
|
226
|
-
}
|
227
|
-
|
228
|
-
static VALUE
|
229
|
-
rg_tree_view(VALUE self)
|
230
|
-
{
|
231
|
-
return GOBJ2RVAL(gtk_tree_view_column_get_tree_view(_SELF(self)));
|
232
|
-
}
|
233
|
-
|
234
|
-
void
|
235
|
-
Init_gtk_treeviewcolumn(VALUE mGtk)
|
236
|
-
{
|
237
|
-
VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GTK_TYPE_TREE_VIEW_COLUMN, "TreeViewColumn", mGtk);
|
238
|
-
|
239
|
-
RG_DEF_METHOD(initialize, -1);
|
240
|
-
RG_DEF_METHOD(pack_start, 2);
|
241
|
-
RG_DEF_METHOD(pack_end, 2);
|
242
|
-
RG_DEF_METHOD(clear, 0);
|
243
|
-
RG_DEF_METHOD(add_attribute, 3);
|
244
|
-
RG_DEF_METHOD(set_attributes, 2);
|
245
|
-
RG_DEF_METHOD(set_cell_data_func, 1);
|
246
|
-
RG_DEF_METHOD(clear_attributes, 1);
|
247
|
-
RG_DEF_METHOD(clicked, 0);
|
248
|
-
RG_DEF_METHOD(cell_set_cell_data, 4);
|
249
|
-
RG_DEF_METHOD(cell_size, 0);
|
250
|
-
RG_DEF_METHOD_P(cell_is_visible, 0);
|
251
|
-
RG_DEF_METHOD(focus_cell, 1);
|
252
|
-
RG_DEF_METHOD(queue_resize, 0);
|
253
|
-
RG_DEF_METHOD(tree_view, 0);
|
254
|
-
|
255
|
-
G_DEF_CLASS(GTK_TYPE_TREE_VIEW_COLUMN_SIZING, "Sizing", RG_TARGET_NAMESPACE);
|
256
|
-
}
|
data/ext/gtk3/rbgtk-tree-view.c
DELETED
@@ -1,716 +0,0 @@
|
|
1
|
-
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
-
/*
|
3
|
-
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
-
* Copyright (C) 2002-2005 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 cTreeView
|
25
|
-
#define _SELF(s) (RVAL2GTKTREEVIEW(s))
|
26
|
-
|
27
|
-
static VALUE rb_mGtk;
|
28
|
-
static ID id_model;
|
29
|
-
static ID id_selection;
|
30
|
-
|
31
|
-
static VALUE
|
32
|
-
rg_initialize(int argc, VALUE *argv, VALUE self)
|
33
|
-
{
|
34
|
-
VALUE model;
|
35
|
-
GtkWidget *widget;
|
36
|
-
|
37
|
-
if (rb_scan_args(argc, argv, "01", &model) == 1) {
|
38
|
-
G_CHILD_SET(self, id_model, model);
|
39
|
-
widget = gtk_tree_view_new_with_model(RVAL2GTKTREEMODEL(model));
|
40
|
-
}
|
41
|
-
else {
|
42
|
-
widget = gtk_tree_view_new();
|
43
|
-
}
|
44
|
-
|
45
|
-
RBGTK_INITIALIZE(self, widget);
|
46
|
-
return Qnil;
|
47
|
-
}
|
48
|
-
|
49
|
-
static VALUE
|
50
|
-
rg_selection(VALUE self)
|
51
|
-
{
|
52
|
-
VALUE ret = GOBJ2RVAL(gtk_tree_view_get_selection(_SELF(self)));
|
53
|
-
G_CHILD_SET(self, id_selection, ret);
|
54
|
-
return ret;
|
55
|
-
}
|
56
|
-
|
57
|
-
static VALUE
|
58
|
-
rg_columns_autosize(VALUE self)
|
59
|
-
{
|
60
|
-
gtk_tree_view_columns_autosize(_SELF(self));
|
61
|
-
return self;
|
62
|
-
}
|
63
|
-
|
64
|
-
static VALUE
|
65
|
-
rg_append_column(VALUE self, VALUE column)
|
66
|
-
{
|
67
|
-
G_CHILD_ADD(self, column);
|
68
|
-
return INT2NUM(gtk_tree_view_append_column(_SELF(self),
|
69
|
-
RVAL2GTKTREEVIEWCOLUMN(column)));
|
70
|
-
}
|
71
|
-
|
72
|
-
static VALUE
|
73
|
-
rg_remove_column(VALUE self, VALUE column)
|
74
|
-
{
|
75
|
-
G_CHILD_REMOVE(self, column);
|
76
|
-
return INT2NUM(gtk_tree_view_remove_column(_SELF(self),
|
77
|
-
RVAL2GTKTREEVIEWCOLUMN(column)));
|
78
|
-
}
|
79
|
-
|
80
|
-
static void
|
81
|
-
cell_data_func(GtkTreeViewColumn *column, GtkCellRenderer *cell, GtkTreeModel *model, GtkTreeIter *iter, gpointer func)
|
82
|
-
{
|
83
|
-
iter->user_data3 = model;
|
84
|
-
rb_funcall((VALUE)func, id_call, 4, GOBJ2RVAL(column),
|
85
|
-
GOBJ2RVAL(cell), GOBJ2RVAL(model),
|
86
|
-
GTKTREEITER2RVAL(iter));
|
87
|
-
}
|
88
|
-
|
89
|
-
static VALUE
|
90
|
-
rg_insert_column(int argc, VALUE *argv, VALUE self)
|
91
|
-
{
|
92
|
-
VALUE args[4];
|
93
|
-
|
94
|
-
rb_scan_args(argc, argv, "22", /* NORMAL ATTRIBUTES DATA_FUNC */
|
95
|
-
&args[0], /* column position position */
|
96
|
-
&args[1], /* position title title */
|
97
|
-
&args[2], /* renderer renderer */
|
98
|
-
&args[3]); /* attributes */
|
99
|
-
|
100
|
-
if (argc == 2) {
|
101
|
-
G_CHILD_ADD(self, args[0]);
|
102
|
-
return INT2NUM(gtk_tree_view_insert_column(_SELF(self),
|
103
|
-
RVAL2GTKTREEVIEWCOLUMN(args[0]),
|
104
|
-
NUM2INT(args[1])));
|
105
|
-
} else if (argc == 3) {
|
106
|
-
int ret;
|
107
|
-
VALUE func = rb_block_proc();
|
108
|
-
|
109
|
-
G_RELATIVE(self, argv[2]);
|
110
|
-
G_RELATIVE(self, func);
|
111
|
-
ret = gtk_tree_view_insert_column_with_data_func(_SELF(self),
|
112
|
-
NUM2INT(args[0]),
|
113
|
-
RVAL2CSTR(args[1]),
|
114
|
-
RVAL2GTKCELLRENDERER(args[2]),
|
115
|
-
(GtkTreeCellDataFunc)cell_data_func,
|
116
|
-
(gpointer)func,
|
117
|
-
NULL);
|
118
|
-
return INT2NUM(ret);
|
119
|
-
} else if (argc == 4) {
|
120
|
-
int i;
|
121
|
-
int col;
|
122
|
-
int ret;
|
123
|
-
const gchar *name;
|
124
|
-
VALUE ary;
|
125
|
-
GtkCellRenderer* renderer = RVAL2GTKCELLRENDERER(args[2]);
|
126
|
-
|
127
|
-
GtkTreeViewColumn* column = gtk_tree_view_column_new();
|
128
|
-
|
129
|
-
Check_Type(args[3], T_HASH);
|
130
|
-
|
131
|
-
/* TODO: Should this really be done before we know that everything
|
132
|
-
* below worked without error? */
|
133
|
-
G_CHILD_ADD(self, args[2]);
|
134
|
-
G_CHILD_ADD(self, args[3]);
|
135
|
-
|
136
|
-
gtk_tree_view_column_set_title(column, RVAL2CSTR(args[1]));
|
137
|
-
gtk_tree_view_column_pack_start(column, renderer, TRUE);
|
138
|
-
|
139
|
-
ret = gtk_tree_view_insert_column(_SELF(self), column, NUM2INT(args[0]));
|
140
|
-
ary = rb_funcall(args[3], rb_intern("to_a"), 0);
|
141
|
-
for (i = 0; i < RARRAY_LEN(ary); i++) {
|
142
|
-
VALUE val = RARRAY_PTR(RARRAY_PTR(ary)[i])[0];
|
143
|
-
if (SYMBOL_P(val)) {
|
144
|
-
name = rb_id2name(SYM2ID(val));
|
145
|
-
} else {
|
146
|
-
name = RVAL2CSTR(val);
|
147
|
-
}
|
148
|
-
col = NUM2INT(RARRAY_PTR(RARRAY_PTR(ary)[i])[1]);
|
149
|
-
gtk_tree_view_column_add_attribute(column,
|
150
|
-
renderer,
|
151
|
-
name, col);
|
152
|
-
}
|
153
|
-
return INT2NUM(ret);
|
154
|
-
} else {
|
155
|
-
rb_raise(rb_eArgError, "Wrong number of arguments: %d", argc);
|
156
|
-
}
|
157
|
-
|
158
|
-
return Qnil;
|
159
|
-
}
|
160
|
-
|
161
|
-
static VALUE
|
162
|
-
rg_get_column(VALUE self, VALUE num)
|
163
|
-
{
|
164
|
-
return GOBJ2RVAL(gtk_tree_view_get_column(_SELF(self), NUM2INT(num)));
|
165
|
-
}
|
166
|
-
|
167
|
-
static VALUE
|
168
|
-
rg_columns(VALUE self)
|
169
|
-
{
|
170
|
-
return GOBJGLIST2RVAL_FREE(gtk_tree_view_get_columns(_SELF(self)),
|
171
|
-
g_list_free, NULL);
|
172
|
-
}
|
173
|
-
|
174
|
-
static VALUE
|
175
|
-
rg_move_column_after(VALUE self, VALUE column, VALUE base_column)
|
176
|
-
{
|
177
|
-
gtk_tree_view_move_column_after(_SELF(self), RVAL2GTKTREEVIEWCOLUMN(column),
|
178
|
-
NIL_P(base_column) ? NULL : RVAL2GTKTREEVIEWCOLUMN(base_column));
|
179
|
-
return self;
|
180
|
-
}
|
181
|
-
|
182
|
-
static gboolean
|
183
|
-
column_drop_func(GtkTreeView *treeview, GtkTreeViewColumn *column, GtkTreeViewColumn *prev_column, GtkTreeViewColumn *next_column, gpointer func)
|
184
|
-
{
|
185
|
-
return RVAL2CBOOL(rb_funcall((VALUE)func, id_call, 4, GOBJ2RVAL(treeview),
|
186
|
-
GOBJ2RVAL(column), GOBJ2RVAL(prev_column),
|
187
|
-
GOBJ2RVAL(next_column)));
|
188
|
-
}
|
189
|
-
|
190
|
-
static VALUE
|
191
|
-
rg_set_column_drag_function(VALUE self)
|
192
|
-
{
|
193
|
-
VALUE func = rb_block_proc();
|
194
|
-
G_RELATIVE(self, func);
|
195
|
-
gtk_tree_view_set_column_drag_function(_SELF(self),
|
196
|
-
(GtkTreeViewColumnDropFunc)column_drop_func,
|
197
|
-
(gpointer)func, NULL);
|
198
|
-
return self;
|
199
|
-
}
|
200
|
-
|
201
|
-
static VALUE
|
202
|
-
rg_scroll_to_point(VALUE self, VALUE x, VALUE y)
|
203
|
-
{
|
204
|
-
gtk_tree_view_scroll_to_point(_SELF(self), NUM2INT(x), NUM2INT(y));
|
205
|
-
return self;
|
206
|
-
}
|
207
|
-
|
208
|
-
static VALUE
|
209
|
-
rg_scroll_to_cell(VALUE self, VALUE path, VALUE column, VALUE use_align, VALUE row_align, VALUE col_align)
|
210
|
-
{
|
211
|
-
gtk_tree_view_scroll_to_cell(_SELF(self),
|
212
|
-
NIL_P(path) ? NULL : RVAL2GTKTREEPATH(path),
|
213
|
-
NIL_P(column) ? NULL : RVAL2GTKTREEVIEWCOLUMN(column),
|
214
|
-
RVAL2CBOOL(use_align),
|
215
|
-
NUM2DBL(row_align), NUM2DBL(col_align));
|
216
|
-
return self;
|
217
|
-
}
|
218
|
-
|
219
|
-
static VALUE
|
220
|
-
rg_set_cursor(VALUE self, VALUE path, VALUE focus_column, VALUE start_editing)
|
221
|
-
{
|
222
|
-
gtk_tree_view_set_cursor(_SELF(self), RVAL2GTKTREEPATH(path),
|
223
|
-
NIL_P(focus_column) ? NULL : RVAL2GTKTREEVIEWCOLUMN(focus_column),
|
224
|
-
RVAL2CBOOL(start_editing));
|
225
|
-
return self;
|
226
|
-
}
|
227
|
-
|
228
|
-
static VALUE
|
229
|
-
rg_cursor(VALUE self)
|
230
|
-
{
|
231
|
-
GtkTreePath* path;
|
232
|
-
GtkTreeViewColumn* focus_column;
|
233
|
-
|
234
|
-
gtk_tree_view_get_cursor(_SELF(self), &path, &focus_column);
|
235
|
-
return rb_ary_new3(2, path ? GTKTREEPATH2RVAL(path) : Qnil,
|
236
|
-
GOBJ2RVAL(focus_column));
|
237
|
-
}
|
238
|
-
|
239
|
-
static VALUE
|
240
|
-
rg_expand_all(VALUE self)
|
241
|
-
{
|
242
|
-
gtk_tree_view_expand_all(_SELF(self));
|
243
|
-
return self;
|
244
|
-
}
|
245
|
-
|
246
|
-
static VALUE
|
247
|
-
rg_collapse_all(VALUE self)
|
248
|
-
{
|
249
|
-
gtk_tree_view_collapse_all(_SELF(self));
|
250
|
-
return self;
|
251
|
-
}
|
252
|
-
|
253
|
-
static VALUE
|
254
|
-
rg_expand_row(VALUE self, VALUE path, VALUE open_all)
|
255
|
-
{
|
256
|
-
return CBOOL2RVAL(gtk_tree_view_expand_row(_SELF(self),
|
257
|
-
RVAL2GTKTREEPATH(path),
|
258
|
-
RVAL2CBOOL(open_all)));
|
259
|
-
}
|
260
|
-
|
261
|
-
static VALUE
|
262
|
-
rg_expand_to_path(VALUE self, VALUE path)
|
263
|
-
{
|
264
|
-
gtk_tree_view_expand_to_path(_SELF(self), RVAL2GTKTREEPATH(path));
|
265
|
-
return self;
|
266
|
-
}
|
267
|
-
|
268
|
-
static VALUE
|
269
|
-
rg_collapse_row(VALUE self, VALUE path)
|
270
|
-
{
|
271
|
-
return CBOOL2RVAL(gtk_tree_view_collapse_row(_SELF(self),
|
272
|
-
RVAL2GTKTREEPATH(path)));
|
273
|
-
}
|
274
|
-
|
275
|
-
static void
|
276
|
-
mapping_func(GtkTreeView *treeview, GtkTreePath *path, gpointer func)
|
277
|
-
{
|
278
|
-
rb_funcall((VALUE)func, id_call, 2, GOBJ2RVAL(treeview),
|
279
|
-
GTKTREEPATH2RVAL(path));
|
280
|
-
}
|
281
|
-
|
282
|
-
static VALUE
|
283
|
-
rg_map_expanded_rows(VALUE self)
|
284
|
-
{
|
285
|
-
VALUE func = rb_block_proc();
|
286
|
-
G_RELATIVE(self, func);
|
287
|
-
gtk_tree_view_map_expanded_rows(_SELF(self),
|
288
|
-
(GtkTreeViewMappingFunc)mapping_func,
|
289
|
-
(gpointer)func);
|
290
|
-
return self;
|
291
|
-
}
|
292
|
-
|
293
|
-
static VALUE
|
294
|
-
rg_row_expanded_p(VALUE self, VALUE path)
|
295
|
-
{
|
296
|
-
return CBOOL2RVAL(gtk_tree_view_row_expanded(_SELF(self),
|
297
|
-
RVAL2GTKTREEPATH(path)));
|
298
|
-
}
|
299
|
-
|
300
|
-
static VALUE
|
301
|
-
rg_get_path_at_pos(VALUE self, VALUE x, VALUE y)
|
302
|
-
{
|
303
|
-
GtkTreePath* path;
|
304
|
-
GtkTreeViewColumn* column;
|
305
|
-
gint cell_x, cell_y;
|
306
|
-
gboolean ret;
|
307
|
-
|
308
|
-
ret = gtk_tree_view_get_path_at_pos(_SELF(self),
|
309
|
-
NUM2INT(x), NUM2INT(y),
|
310
|
-
&path, &column, &cell_x, &cell_y);
|
311
|
-
return ret ? rb_ary_new3(4,
|
312
|
-
path ? GTKTREEPATH2RVAL(path) : Qnil,
|
313
|
-
column ? GOBJ2RVAL(column) : Qnil,
|
314
|
-
INT2NUM(cell_x), INT2NUM(cell_y)) : Qnil;
|
315
|
-
}
|
316
|
-
|
317
|
-
static VALUE
|
318
|
-
rg_get_cell_area(VALUE self, VALUE path, VALUE column)
|
319
|
-
{
|
320
|
-
GdkRectangle rect;
|
321
|
-
gtk_tree_view_get_cell_area(_SELF(self),
|
322
|
-
NIL_P(path) ? NULL : RVAL2GTKTREEPATH(path),
|
323
|
-
NIL_P(column) ? NULL : RVAL2GTKTREEVIEWCOLUMN(column),
|
324
|
-
&rect);
|
325
|
-
return GDKRECTANGLE2RVAL(&rect);
|
326
|
-
}
|
327
|
-
|
328
|
-
static VALUE
|
329
|
-
rg_get_background_area(VALUE self, VALUE path, VALUE column)
|
330
|
-
{
|
331
|
-
GdkRectangle rect;
|
332
|
-
gtk_tree_view_get_background_area(_SELF(self),
|
333
|
-
NIL_P(path) ? NULL : RVAL2GTKTREEPATH(path),
|
334
|
-
NIL_P(column) ? NULL : RVAL2GTKTREEVIEWCOLUMN(column),
|
335
|
-
&rect);
|
336
|
-
return GDKRECTANGLE2RVAL(&rect);
|
337
|
-
}
|
338
|
-
|
339
|
-
static VALUE
|
340
|
-
rg_visible_rect(VALUE self)
|
341
|
-
{
|
342
|
-
GdkRectangle rect;
|
343
|
-
gtk_tree_view_get_visible_rect(_SELF(self), &rect);
|
344
|
-
return GDKRECTANGLE2RVAL(&rect);
|
345
|
-
}
|
346
|
-
|
347
|
-
static VALUE
|
348
|
-
rg_visible_range(VALUE self)
|
349
|
-
{
|
350
|
-
GtkTreePath* start_path;
|
351
|
-
GtkTreePath* end_path;
|
352
|
-
|
353
|
-
gboolean valid_paths = gtk_tree_view_get_visible_range(_SELF(self), &start_path, &end_path);
|
354
|
-
|
355
|
-
return valid_paths ? rb_assoc_new(GTKTREEPATH2RVAL(start_path),
|
356
|
-
GTKTREEPATH2RVAL(end_path)) : Qnil;
|
357
|
-
}
|
358
|
-
|
359
|
-
static VALUE
|
360
|
-
rg_bin_window(VALUE self)
|
361
|
-
{
|
362
|
-
return GOBJ2RVAL(gtk_tree_view_get_bin_window(_SELF(self)));
|
363
|
-
}
|
364
|
-
|
365
|
-
static VALUE
|
366
|
-
rg_convert_bin_window_to_tree_coords(VALUE self, VALUE bx, VALUE by)
|
367
|
-
{
|
368
|
-
gint tx, ty;
|
369
|
-
gtk_tree_view_convert_bin_window_to_tree_coords(_SELF(self),
|
370
|
-
NUM2INT(bx), NUM2INT(by),
|
371
|
-
&tx, &ty);
|
372
|
-
return rb_ary_new3(2, INT2NUM(tx), INT2NUM(ty));
|
373
|
-
}
|
374
|
-
static VALUE
|
375
|
-
rg_convert_bin_window_to_widget_coords(VALUE self, VALUE bx, VALUE by)
|
376
|
-
{
|
377
|
-
gint wx, wy;
|
378
|
-
gtk_tree_view_convert_bin_window_to_widget_coords(_SELF(self),
|
379
|
-
NUM2INT(bx), NUM2INT(by),
|
380
|
-
&wx, &wy);
|
381
|
-
return rb_ary_new3(2, INT2NUM(wx), INT2NUM(wy));
|
382
|
-
}
|
383
|
-
|
384
|
-
static VALUE
|
385
|
-
rg_convert_tree_to_bin_window_coords(VALUE self, VALUE tx, VALUE ty)
|
386
|
-
{
|
387
|
-
gint bx, by;
|
388
|
-
gtk_tree_view_convert_tree_to_bin_window_coords(_SELF(self),
|
389
|
-
NUM2INT(tx), NUM2INT(ty),
|
390
|
-
&bx, &by);
|
391
|
-
return rb_ary_new3(2, INT2NUM(bx), INT2NUM(by));
|
392
|
-
}
|
393
|
-
static VALUE
|
394
|
-
rg_convert_tree_to_widget_coords(VALUE self, VALUE tx, VALUE ty)
|
395
|
-
{
|
396
|
-
gint wx, wy;
|
397
|
-
gtk_tree_view_convert_tree_to_widget_coords(_SELF(self),
|
398
|
-
NUM2INT(tx), NUM2INT(ty),
|
399
|
-
&wx, &wy);
|
400
|
-
return rb_ary_new3(2, INT2NUM(wx), INT2NUM(wy));
|
401
|
-
}
|
402
|
-
|
403
|
-
static VALUE
|
404
|
-
rg_convert_widget_to_bin_window_coords(VALUE self, VALUE wx, VALUE wy)
|
405
|
-
{
|
406
|
-
gint bx, by;
|
407
|
-
gtk_tree_view_convert_widget_to_bin_window_coords(_SELF(self),
|
408
|
-
NUM2INT(wx), NUM2INT(wy),
|
409
|
-
&bx, &by);
|
410
|
-
return rb_ary_new3(2, INT2NUM(bx), INT2NUM(by));
|
411
|
-
}
|
412
|
-
static VALUE
|
413
|
-
rg_convert_widget_to_tree_coords(VALUE self, VALUE wx, VALUE wy)
|
414
|
-
{
|
415
|
-
gint tx, ty;
|
416
|
-
gtk_tree_view_convert_widget_to_tree_coords(_SELF(self),
|
417
|
-
NUM2INT(wx), NUM2INT(wy),
|
418
|
-
&tx, &ty);
|
419
|
-
return rb_ary_new3(2, INT2NUM(tx), INT2NUM(ty));
|
420
|
-
}
|
421
|
-
|
422
|
-
static VALUE
|
423
|
-
rg_enable_model_drag_dest(VALUE self, VALUE rbtargets, VALUE rbactions)
|
424
|
-
{
|
425
|
-
GtkTreeView *view = _SELF(self);
|
426
|
-
GdkDragAction actions = RVAL2GDKDRAGACTION(rbactions);
|
427
|
-
long n;
|
428
|
-
GtkTargetEntry *targets = RVAL2GTKTARGETENTRIES(rbtargets, &n);
|
429
|
-
|
430
|
-
gtk_tree_view_enable_model_drag_dest(view, targets, n, actions);
|
431
|
-
|
432
|
-
g_free(targets);
|
433
|
-
|
434
|
-
return self;
|
435
|
-
}
|
436
|
-
|
437
|
-
static VALUE
|
438
|
-
rg_enable_model_drag_source(VALUE self, VALUE rbstart_button_mask, VALUE rbtargets, VALUE rbactions)
|
439
|
-
{
|
440
|
-
GtkTreeView *view = _SELF(self);
|
441
|
-
GdkModifierType start_button_mask = RVAL2GDKMODIFIERTYPE(rbstart_button_mask);
|
442
|
-
GdkDragAction actions = RVAL2GDKDRAGACTION(rbactions);
|
443
|
-
long n;
|
444
|
-
GtkTargetEntry *targets = RVAL2GTKTARGETENTRIES_ACCEPT_NIL(rbtargets, &n);
|
445
|
-
|
446
|
-
if (targets == NULL)
|
447
|
-
return self;
|
448
|
-
|
449
|
-
gtk_tree_view_enable_model_drag_source(view, start_button_mask, targets, n, actions);
|
450
|
-
|
451
|
-
g_free(targets);
|
452
|
-
|
453
|
-
return self;
|
454
|
-
}
|
455
|
-
|
456
|
-
static VALUE
|
457
|
-
rg_unset_rows_drag_source(VALUE self)
|
458
|
-
{
|
459
|
-
gtk_tree_view_unset_rows_drag_source(_SELF(self));
|
460
|
-
return self;
|
461
|
-
}
|
462
|
-
|
463
|
-
static VALUE
|
464
|
-
rg_unset_rows_drag_dest(VALUE self)
|
465
|
-
{
|
466
|
-
gtk_tree_view_unset_rows_drag_dest(_SELF(self));
|
467
|
-
return self;
|
468
|
-
}
|
469
|
-
|
470
|
-
static VALUE
|
471
|
-
rg_set_drag_dest_row(VALUE self, VALUE path, VALUE pos)
|
472
|
-
{
|
473
|
-
gtk_tree_view_set_drag_dest_row(_SELF(self),
|
474
|
-
NIL_P(path)?NULL:RVAL2GTKTREEPATH(path),
|
475
|
-
RVAL2GTKTREEVIEWDROPPOSITION(pos));
|
476
|
-
return self;
|
477
|
-
}
|
478
|
-
|
479
|
-
static VALUE
|
480
|
-
rg_drag_dest_row(VALUE self)
|
481
|
-
{
|
482
|
-
GtkTreePath* path = NULL;
|
483
|
-
GtkTreeViewDropPosition pos;
|
484
|
-
gtk_tree_view_get_drag_dest_row(_SELF(self), &path, &pos);
|
485
|
-
return rb_ary_new3(2, path ? GTKTREEPATH2RVAL(path) : Qnil,
|
486
|
-
GTKTREEVIEWDROPPOSITION2RVAL(pos));
|
487
|
-
}
|
488
|
-
|
489
|
-
static VALUE
|
490
|
-
rg_get_dest_row_at_pos(VALUE self, VALUE drag_x, VALUE drag_y)
|
491
|
-
{
|
492
|
-
GtkTreePath* path;
|
493
|
-
GtkTreeViewDropPosition pos;
|
494
|
-
gboolean ret;
|
495
|
-
|
496
|
-
ret = gtk_tree_view_get_dest_row_at_pos(_SELF(self),
|
497
|
-
NUM2INT(drag_x), NUM2INT(drag_y),
|
498
|
-
&path, &pos);
|
499
|
-
return ret ? rb_ary_new3(2, path ? GTKTREEPATH2RVAL(path) : Qnil,
|
500
|
-
GTKTREEVIEWDROPPOSITION2RVAL(pos)) : Qnil;
|
501
|
-
}
|
502
|
-
|
503
|
-
static VALUE
|
504
|
-
rg_create_row_drag_icon(VALUE self, VALUE path)
|
505
|
-
{
|
506
|
-
return GOBJ2RVAL(gtk_tree_view_create_row_drag_icon(_SELF(self),
|
507
|
-
RVAL2GTKTREEPATH(path)));
|
508
|
-
}
|
509
|
-
|
510
|
-
/*
|
511
|
-
We don't need this.
|
512
|
-
GtkTreeViewSearchEqualFunc gtk_tree_view_get_search_equal_func
|
513
|
-
(GtkTreeView *tree_view);
|
514
|
-
*/
|
515
|
-
|
516
|
-
static gboolean
|
517
|
-
search_equal_func(GtkTreeModel *model, gint column, const gchar *key, GtkTreeIter *iter, gpointer func)
|
518
|
-
{
|
519
|
-
iter->user_data3 = model;
|
520
|
-
return RVAL2CBOOL(rb_funcall((VALUE)func, id_call, 4,
|
521
|
-
GOBJ2RVAL(model), INT2NUM(column),
|
522
|
-
CSTR2RVAL(key), GTKTREEITER2RVAL(iter)));
|
523
|
-
}
|
524
|
-
|
525
|
-
static VALUE
|
526
|
-
rg_set_search_equal_func(VALUE self)
|
527
|
-
{
|
528
|
-
VALUE func = rb_block_proc();
|
529
|
-
G_RELATIVE(self, func);
|
530
|
-
gtk_tree_view_set_search_equal_func(_SELF(self),
|
531
|
-
(GtkTreeViewSearchEqualFunc)search_equal_func,
|
532
|
-
(gpointer)func, NULL);
|
533
|
-
return self;
|
534
|
-
}
|
535
|
-
|
536
|
-
/*
|
537
|
-
* Optional Signals
|
538
|
-
*/
|
539
|
-
static VALUE
|
540
|
-
treeview_signal_func(G_GNUC_UNUSED guint num, const GValue *values)
|
541
|
-
{
|
542
|
-
GtkTreeView* view = g_value_get_object(&values[0]);
|
543
|
-
GtkTreeIter* iter = g_value_get_boxed(&values[1]);
|
544
|
-
iter->user_data3 = gtk_tree_view_get_model(view);
|
545
|
-
|
546
|
-
return rb_ary_new3(3, GOBJ2RVAL(view), GTKTREEITER2RVAL(iter), GVAL2RVAL(&values[2]));
|
547
|
-
}
|
548
|
-
|
549
|
-
static VALUE
|
550
|
-
rg_set_cursor_on_cell(VALUE self, VALUE path, VALUE focus_column, VALUE focus_cell, VALUE start_editing)
|
551
|
-
{
|
552
|
-
gtk_tree_view_set_cursor_on_cell(_SELF(self), RVAL2GTKTREEPATH(path),
|
553
|
-
NIL_P(focus_column) ? NULL : RVAL2GTKTREEVIEWCOLUMN(focus_column),
|
554
|
-
NIL_P(focus_cell) ? NULL : RVAL2GTKCELLRENDERER(focus_cell),
|
555
|
-
RVAL2CBOOL(start_editing));
|
556
|
-
return self;
|
557
|
-
}
|
558
|
-
|
559
|
-
/* How can I implement this?
|
560
|
-
GtkTreeViewRowSeparatorFunc gtk_tree_view_get_row_separator_func
|
561
|
-
(GtkTreeView *tree_view);
|
562
|
-
*/
|
563
|
-
|
564
|
-
static gboolean
|
565
|
-
row_separator_func(GtkTreeModel *model, GtkTreeIter *iter, gpointer func)
|
566
|
-
{
|
567
|
-
VALUE ret;
|
568
|
-
iter->user_data3 = model;
|
569
|
-
ret = rb_funcall((VALUE)func, id_call, 2, GOBJ2RVAL(model),
|
570
|
-
GTKTREEITER2RVAL(iter));
|
571
|
-
return CBOOL2RVAL(ret);
|
572
|
-
}
|
573
|
-
|
574
|
-
static VALUE
|
575
|
-
rg_set_row_separator_func(VALUE self)
|
576
|
-
{
|
577
|
-
VALUE func = rb_block_proc();
|
578
|
-
|
579
|
-
G_RELATIVE(self, func);
|
580
|
-
gtk_tree_view_set_row_separator_func(_SELF(self),
|
581
|
-
row_separator_func,
|
582
|
-
(gpointer)func,
|
583
|
-
(GDestroyNotify)NULL);
|
584
|
-
return self;
|
585
|
-
}
|
586
|
-
|
587
|
-
static VALUE
|
588
|
-
rg_search_entry(VALUE self)
|
589
|
-
{
|
590
|
-
return GOBJ2RVAL(gtk_tree_view_get_search_entry(_SELF(self)));
|
591
|
-
}
|
592
|
-
|
593
|
-
static VALUE
|
594
|
-
rg_set_search_entry(VALUE self, VALUE entry)
|
595
|
-
{
|
596
|
-
gtk_tree_view_set_search_entry(_SELF(self), RVAL2GTKENTRY(entry));
|
597
|
-
return self;
|
598
|
-
}
|
599
|
-
|
600
|
-
/* Can't define this.
|
601
|
-
GtkTreeViewSearchPositionFunc gtk_tree_view_get_search_position_func
|
602
|
-
(GtkTreeView *tree_view);
|
603
|
-
*/
|
604
|
-
|
605
|
-
struct callback_arg
|
606
|
-
{
|
607
|
-
VALUE callback;
|
608
|
-
VALUE tree_view;
|
609
|
-
VALUE search_dialog;
|
610
|
-
};
|
611
|
-
|
612
|
-
static VALUE
|
613
|
-
invoke_callback(VALUE data)
|
614
|
-
{
|
615
|
-
struct callback_arg *arg = (struct callback_arg *)data;
|
616
|
-
rb_funcall(arg->callback, id_call, 2, arg->tree_view, arg->search_dialog);
|
617
|
-
return Qnil;
|
618
|
-
}
|
619
|
-
|
620
|
-
static void
|
621
|
-
search_position_func(GtkTreeView *tree_view, GtkWidget *search_dialog, gpointer func)
|
622
|
-
{
|
623
|
-
struct callback_arg arg;
|
624
|
-
|
625
|
-
arg.callback = (VALUE)func;
|
626
|
-
arg.tree_view = GOBJ2RVAL(tree_view);
|
627
|
-
arg.search_dialog = GOBJ2RVAL(search_dialog);
|
628
|
-
G_PROTECT_CALLBACK(invoke_callback, &arg);
|
629
|
-
}
|
630
|
-
|
631
|
-
static void
|
632
|
-
remove_callback_reference(gpointer data)
|
633
|
-
{
|
634
|
-
G_CHILD_REMOVE(rb_mGtk, (VALUE)data);
|
635
|
-
}
|
636
|
-
|
637
|
-
static VALUE
|
638
|
-
rg_set_search_position_func(VALUE self)
|
639
|
-
{
|
640
|
-
VALUE func = rb_block_proc();
|
641
|
-
G_CHILD_ADD(rb_mGtk, func);
|
642
|
-
gtk_tree_view_set_search_position_func(_SELF(self),
|
643
|
-
(GtkTreeViewSearchPositionFunc)search_position_func,
|
644
|
-
(gpointer)func,
|
645
|
-
(GDestroyNotify)remove_callback_reference);
|
646
|
-
return self;
|
647
|
-
}
|
648
|
-
|
649
|
-
void
|
650
|
-
Init_gtk_treeview(VALUE mGtk)
|
651
|
-
{
|
652
|
-
rb_mGtk = mGtk;
|
653
|
-
VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GTK_TYPE_TREE_VIEW, "TreeView", mGtk);
|
654
|
-
|
655
|
-
id_selection = rb_intern("selection");
|
656
|
-
id_model = rb_intern("model");
|
657
|
-
|
658
|
-
RG_DEF_METHOD(initialize, -1);
|
659
|
-
RG_DEF_METHOD(selection, 0);
|
660
|
-
RG_DEF_METHOD(columns_autosize, 0);
|
661
|
-
RG_DEF_METHOD(append_column, 1);
|
662
|
-
RG_DEF_METHOD(remove_column, 1);
|
663
|
-
RG_DEF_METHOD(insert_column, -1);
|
664
|
-
RG_DEF_METHOD(get_column, 1);
|
665
|
-
RG_DEF_METHOD(columns, 0);
|
666
|
-
RG_DEF_METHOD(move_column_after, 2);
|
667
|
-
RG_DEF_METHOD(set_column_drag_function, 0);
|
668
|
-
RG_DEF_METHOD(scroll_to_point, 2);
|
669
|
-
RG_DEF_METHOD(scroll_to_cell, 5);
|
670
|
-
RG_DEF_METHOD(set_cursor, 3);
|
671
|
-
RG_DEF_METHOD(cursor, 0);
|
672
|
-
RG_DEF_METHOD(expand_all, 0);
|
673
|
-
RG_DEF_METHOD(collapse_all, 0);
|
674
|
-
RG_DEF_METHOD(expand_row, 2);
|
675
|
-
RG_DEF_METHOD(collapse_row, 1);
|
676
|
-
RG_DEF_METHOD(expand_to_path, 1);
|
677
|
-
RG_DEF_METHOD(map_expanded_rows, 0);
|
678
|
-
RG_DEF_METHOD_P(row_expanded, 1);
|
679
|
-
RG_DEF_METHOD(get_path_at_pos, 2);
|
680
|
-
RG_DEF_ALIAS("get_path", "get_path_at_pos");
|
681
|
-
RG_DEF_METHOD(get_cell_area, 2);
|
682
|
-
RG_DEF_METHOD(get_background_area, 2);
|
683
|
-
RG_DEF_METHOD(visible_rect, 0);
|
684
|
-
RG_DEF_METHOD(visible_range, 0);
|
685
|
-
RG_DEF_METHOD(bin_window, 0);
|
686
|
-
RG_DEF_METHOD(convert_bin_window_to_tree_coords, 2);
|
687
|
-
RG_DEF_METHOD(convert_bin_window_to_widget_coords, 2);
|
688
|
-
RG_DEF_METHOD(convert_tree_to_bin_window_coords, 2);
|
689
|
-
RG_DEF_METHOD(convert_tree_to_widget_coords, 2);
|
690
|
-
RG_DEF_METHOD(convert_widget_to_bin_window_coords, 2);
|
691
|
-
RG_DEF_METHOD(convert_widget_to_tree_coords, 2);
|
692
|
-
RG_DEF_METHOD(enable_model_drag_dest, 2);
|
693
|
-
RG_DEF_METHOD(enable_model_drag_source, 3);
|
694
|
-
RG_DEF_METHOD(unset_rows_drag_source, 0);
|
695
|
-
RG_DEF_METHOD(unset_rows_drag_dest, 0);
|
696
|
-
RG_DEF_METHOD(set_drag_dest_row, 2);
|
697
|
-
RG_DEF_METHOD(drag_dest_row, 0);
|
698
|
-
RG_DEF_METHOD(get_dest_row_at_pos, 2);
|
699
|
-
RG_DEF_ALIAS("get_dest_row", "get_dest_row_at_pos");
|
700
|
-
RG_DEF_METHOD(create_row_drag_icon, 1);
|
701
|
-
RG_DEF_METHOD(set_search_equal_func, 0);
|
702
|
-
RG_DEF_METHOD(set_cursor_on_cell, 4);
|
703
|
-
RG_DEF_METHOD(set_row_separator_func, 0);
|
704
|
-
RG_DEF_METHOD(search_entry, 0);
|
705
|
-
RG_DEF_METHOD(set_search_entry, 1);
|
706
|
-
RG_DEF_METHOD(set_search_position_func, 0);
|
707
|
-
|
708
|
-
G_DEF_CLASS(GTK_TYPE_TREE_VIEW_DROP_POSITION, "DropPosition", RG_TARGET_NAMESPACE);
|
709
|
-
G_DEF_CLASS(GTK_TYPE_TREE_VIEW_GRID_LINES, "GridLines", RG_TARGET_NAMESPACE);
|
710
|
-
|
711
|
-
/* Option Signals */
|
712
|
-
G_DEF_SIGNAL_FUNC(RG_TARGET_NAMESPACE, "row-collapsed", (GValToRValSignalFunc)treeview_signal_func);
|
713
|
-
G_DEF_SIGNAL_FUNC(RG_TARGET_NAMESPACE, "row-expanded", (GValToRValSignalFunc)treeview_signal_func);
|
714
|
-
G_DEF_SIGNAL_FUNC(RG_TARGET_NAMESPACE, "test-collapse-row", (GValToRValSignalFunc)treeview_signal_func);
|
715
|
-
G_DEF_SIGNAL_FUNC(RG_TARGET_NAMESPACE, "test-expand-row", (GValToRValSignalFunc)treeview_signal_func);
|
716
|
-
}
|