gtk3 2.2.4-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 +7 -0
- data/Rakefile +20 -0
- data/ext/gtk3/conversions.c +34 -0
- data/ext/gtk3/depend +11 -0
- data/ext/gtk3/extconf.rb +99 -0
- data/ext/gtk3/gtk3.def +10 -0
- data/ext/gtk3/init.c +34 -0
- data/ext/gtk3/rbgtk-about-dialog.c +113 -0
- data/ext/gtk3/rbgtk-accel-group-entry.c +94 -0
- data/ext/gtk3/rbgtk-accel-group.c +199 -0
- data/ext/gtk3/rbgtk-accel-key.c +120 -0
- data/ext/gtk3/rbgtk-accel-label.c +55 -0
- data/ext/gtk3/rbgtk-accel-map.c +135 -0
- data/ext/gtk3/rbgtk-accelerator.c +78 -0
- data/ext/gtk3/rbgtk-accessible.c +40 -0
- data/ext/gtk3/rbgtk-action-bar.c +73 -0
- data/ext/gtk3/rbgtk-action-group.c +467 -0
- data/ext/gtk3/rbgtk-action.c +205 -0
- data/ext/gtk3/rbgtk-activatable.c +30 -0
- data/ext/gtk3/rbgtk-adjustment.c +98 -0
- data/ext/gtk3/rbgtk-alignment.c +75 -0
- data/ext/gtk3/rbgtk-allocation.c +166 -0
- data/ext/gtk3/rbgtk-app-chooser-button.c +70 -0
- data/ext/gtk3/rbgtk-app-chooser-dialog.c +68 -0
- data/ext/gtk3/rbgtk-app-chooser-widget.c +40 -0
- data/ext/gtk3/rbgtk-app-chooser.c +47 -0
- data/ext/gtk3/rbgtk-application.c +69 -0
- data/ext/gtk3/rbgtk-arrow.c +56 -0
- data/ext/gtk3/rbgtk-aspect-frame.c +56 -0
- data/ext/gtk3/rbgtk-assistant.c +218 -0
- data/ext/gtk3/rbgtk-bin.c +42 -0
- data/ext/gtk3/rbgtk-binding-set.c +154 -0
- data/ext/gtk3/rbgtk-border.c +119 -0
- data/ext/gtk3/rbgtk-box.c +146 -0
- data/ext/gtk3/rbgtk-buildable.c +96 -0
- data/ext/gtk3/rbgtk-builder.c +166 -0
- data/ext/gtk3/rbgtk-button-box.c +87 -0
- data/ext/gtk3/rbgtk-button.c +93 -0
- data/ext/gtk3/rbgtk-calendar.c +118 -0
- data/ext/gtk3/rbgtk-cell-editable.c +57 -0
- data/ext/gtk3/rbgtk-cell-layout.c +144 -0
- data/ext/gtk3/rbgtk-cell-renderer-accel.c +41 -0
- data/ext/gtk3/rbgtk-cell-renderer-combo.c +38 -0
- data/ext/gtk3/rbgtk-cell-renderer-pixbuf.c +41 -0
- data/ext/gtk3/rbgtk-cell-renderer-progress.c +38 -0
- data/ext/gtk3/rbgtk-cell-renderer-spin.c +39 -0
- data/ext/gtk3/rbgtk-cell-renderer-spinner.c +38 -0
- data/ext/gtk3/rbgtk-cell-renderer-text.c +48 -0
- data/ext/gtk3/rbgtk-cell-renderer-toggle.c +39 -0
- data/ext/gtk3/rbgtk-cell-renderer.c +119 -0
- data/ext/gtk3/rbgtk-cell-view.c +95 -0
- data/ext/gtk3/rbgtk-check-button.c +64 -0
- data/ext/gtk3/rbgtk-check-menu-item.c +64 -0
- data/ext/gtk3/rbgtk-clip-board.c +389 -0
- data/ext/gtk3/rbgtk-color-button.c +55 -0
- data/ext/gtk3/rbgtk-color-selection-dialog.c +56 -0
- data/ext/gtk3/rbgtk-color-selection.c +219 -0
- data/ext/gtk3/rbgtk-combo-box-text.c +138 -0
- data/ext/gtk3/rbgtk-combo-box.c +147 -0
- data/ext/gtk3/rbgtk-const.c +79 -0
- data/ext/gtk3/rbgtk-container.c +788 -0
- data/ext/gtk3/rbgtk-css-provider.c +110 -0
- data/ext/gtk3/rbgtk-dialog.c +206 -0
- data/ext/gtk3/rbgtk-drag-gdk-drag-context.c +108 -0
- data/ext/gtk3/rbgtk-drag.c +93 -0
- data/ext/gtk3/rbgtk-drawing-area.c +42 -0
- data/ext/gtk3/rbgtk-editable.c +149 -0
- data/ext/gtk3/rbgtk-entry-buffer.c +87 -0
- data/ext/gtk3/rbgtk-entry-completion.c +122 -0
- data/ext/gtk3/rbgtk-entry.c +184 -0
- data/ext/gtk3/rbgtk-event-box.c +42 -0
- data/ext/gtk3/rbgtk-expander.c +49 -0
- data/ext/gtk3/rbgtk-file-chooser-button.c +50 -0
- data/ext/gtk3/rbgtk-file-chooser-dialog.c +62 -0
- data/ext/gtk3/rbgtk-file-chooser-widget.c +40 -0
- data/ext/gtk3/rbgtk-file-chooser.c +381 -0
- data/ext/gtk3/rbgtk-file-filter.c +128 -0
- data/ext/gtk3/rbgtk-file-system-error.c +48 -0
- data/ext/gtk3/rbgtk-fixed.c +61 -0
- data/ext/gtk3/rbgtk-font-button.c +49 -0
- data/ext/gtk3/rbgtk-font-chooser-dialog.c +56 -0
- data/ext/gtk3/rbgtk-font-chooser-widget.c +45 -0
- data/ext/gtk3/rbgtk-font-chooser.c +78 -0
- data/ext/gtk3/rbgtk-frame.c +69 -0
- data/ext/gtk3/rbgtk-gdk-event.c +38 -0
- data/ext/gtk3/rbgtk-grid.c +105 -0
- data/ext/gtk3/rbgtk-handle-box.c +45 -0
- data/ext/gtk3/rbgtk-header-bar.c +58 -0
- data/ext/gtk3/rbgtk-hsv.c +102 -0
- data/ext/gtk3/rbgtk-icon-factory.c +85 -0
- data/ext/gtk3/rbgtk-icon-info.c +115 -0
- data/ext/gtk3/rbgtk-icon-set.c +84 -0
- data/ext/gtk3/rbgtk-icon-size.c +91 -0
- data/ext/gtk3/rbgtk-icon-source.c +184 -0
- data/ext/gtk3/rbgtk-icon-theme.c +268 -0
- data/ext/gtk3/rbgtk-icon-view.c +295 -0
- data/ext/gtk3/rbgtk-im-multicontext.c +48 -0
- data/ext/gtk3/rbgtk-image-menu-item.c +67 -0
- data/ext/gtk3/rbgtk-image.c +162 -0
- data/ext/gtk3/rbgtk-imcon-text-simple.c +69 -0
- data/ext/gtk3/rbgtk-imcon-text.c +133 -0
- data/ext/gtk3/rbgtk-infobar.c +121 -0
- data/ext/gtk3/rbgtk-invisible.c +49 -0
- data/ext/gtk3/rbgtk-label.c +139 -0
- data/ext/gtk3/rbgtk-layout.c +93 -0
- data/ext/gtk3/rbgtk-level-bar.c +88 -0
- data/ext/gtk3/rbgtk-link-button.c +49 -0
- data/ext/gtk3/rbgtk-list-store.c +399 -0
- data/ext/gtk3/rbgtk-lock-button.c +50 -0
- data/ext/gtk3/rbgtk-menu-button.c +41 -0
- data/ext/gtk3/rbgtk-menu-item.c +95 -0
- data/ext/gtk3/rbgtk-menu-shell.c +106 -0
- data/ext/gtk3/rbgtk-menu-tool-button.c +81 -0
- data/ext/gtk3/rbgtk-menu.c +168 -0
- data/ext/gtk3/rbgtk-menubar.c +43 -0
- data/ext/gtk3/rbgtk-message-dialog.c +74 -0
- data/ext/gtk3/rbgtk-misc.c +70 -0
- data/ext/gtk3/rbgtk-notebook.c +383 -0
- data/ext/gtk3/rbgtk-numerable-icon.c +50 -0
- data/ext/gtk3/rbgtk-orientable.c +27 -0
- data/ext/gtk3/rbgtk-overlay.c +53 -0
- data/ext/gtk3/rbgtk-page-setup-unix-dialog.c +94 -0
- data/ext/gtk3/rbgtk-page-setup.c +195 -0
- data/ext/gtk3/rbgtk-paned.c +114 -0
- data/ext/gtk3/rbgtk-paper-size.c +179 -0
- data/ext/gtk3/rbgtk-plug.c +85 -0
- data/ext/gtk3/rbgtk-print-context.c +125 -0
- data/ext/gtk3/rbgtk-print-job.c +148 -0
- data/ext/gtk3/rbgtk-print-operation-preview.c +59 -0
- data/ext/gtk3/rbgtk-print-operation.c +149 -0
- data/ext/gtk3/rbgtk-print-settings.c +807 -0
- data/ext/gtk3/rbgtk-print-unix-dialog.c +90 -0
- data/ext/gtk3/rbgtk-printer.c +155 -0
- data/ext/gtk3/rbgtk-progress-bar.c +72 -0
- data/ext/gtk3/rbgtk-radio-action.c +122 -0
- data/ext/gtk3/rbgtk-radio-button.c +89 -0
- data/ext/gtk3/rbgtk-radio-menu-item.c +147 -0
- data/ext/gtk3/rbgtk-radio-tool-button.c +131 -0
- data/ext/gtk3/rbgtk-range.c +68 -0
- data/ext/gtk3/rbgtk-recent-action.c +64 -0
- data/ext/gtk3/rbgtk-recent-chooser-dialog.c +66 -0
- data/ext/gtk3/rbgtk-recent-chooser-menu.c +50 -0
- data/ext/gtk3/rbgtk-recent-chooser-widget.c +48 -0
- data/ext/gtk3/rbgtk-recent-chooser.c +198 -0
- data/ext/gtk3/rbgtk-recent-data.c +188 -0
- data/ext/gtk3/rbgtk-recent-filter-info.c +201 -0
- data/ext/gtk3/rbgtk-recent-filter.c +169 -0
- data/ext/gtk3/rbgtk-recent-info.c +213 -0
- data/ext/gtk3/rbgtk-recent-manager.c +134 -0
- data/ext/gtk3/rbgtk-revealer.c +42 -0
- data/ext/gtk3/rbgtk-scale-button.c +84 -0
- data/ext/gtk3/rbgtk-scale.c +97 -0
- data/ext/gtk3/rbgtk-scrollable.c +31 -0
- data/ext/gtk3/rbgtk-scrollbar.c +52 -0
- data/ext/gtk3/rbgtk-scrolled-window.c +122 -0
- data/ext/gtk3/rbgtk-search-bar.c +59 -0
- data/ext/gtk3/rbgtk-search-entry.c +42 -0
- data/ext/gtk3/rbgtk-selection-data.c +281 -0
- data/ext/gtk3/rbgtk-selection.c +168 -0
- data/ext/gtk3/rbgtk-separator-menu-item.c +39 -0
- data/ext/gtk3/rbgtk-separator-tool-item.c +38 -0
- data/ext/gtk3/rbgtk-separator.c +44 -0
- data/ext/gtk3/rbgtk-settings.c +229 -0
- data/ext/gtk3/rbgtk-size-group.c +66 -0
- data/ext/gtk3/rbgtk-socket.c +82 -0
- data/ext/gtk3/rbgtk-spin-button.c +132 -0
- data/ext/gtk3/rbgtk-spinner.c +55 -0
- data/ext/gtk3/rbgtk-stack-switcher.c +41 -0
- data/ext/gtk3/rbgtk-stack.c +106 -0
- data/ext/gtk3/rbgtk-status-bar.c +77 -0
- data/ext/gtk3/rbgtk-status-icon.c +122 -0
- data/ext/gtk3/rbgtk-stock.c +213 -0
- data/ext/gtk3/rbgtk-style-context-gdk-screen.c +61 -0
- data/ext/gtk3/rbgtk-style-context.c +411 -0
- data/ext/gtk3/rbgtk-style-properties.c +118 -0
- data/ext/gtk3/rbgtk-style-provider.c +67 -0
- data/ext/gtk3/rbgtk-switch.c +40 -0
- data/ext/gtk3/rbgtk-table.c +190 -0
- data/ext/gtk3/rbgtk-target-list.c +125 -0
- data/ext/gtk3/rbgtk-tearoff-menu-item.c +41 -0
- data/ext/gtk3/rbgtk-text-appearance.c +236 -0
- data/ext/gtk3/rbgtk-text-attributes.c +326 -0
- data/ext/gtk3/rbgtk-text-buffer.c +899 -0
- data/ext/gtk3/rbgtk-text-child-anchor.c +56 -0
- data/ext/gtk3/rbgtk-text-iter.c +732 -0
- data/ext/gtk3/rbgtk-text-mark.c +71 -0
- data/ext/gtk3/rbgtk-text-tag-table.c +96 -0
- data/ext/gtk3/rbgtk-text-tag.c +68 -0
- data/ext/gtk3/rbgtk-text-view.c +336 -0
- data/ext/gtk3/rbgtk-theming-engine.c +257 -0
- data/ext/gtk3/rbgtk-toggle-action.c +61 -0
- data/ext/gtk3/rbgtk-toggle-button.c +87 -0
- data/ext/gtk3/rbgtk-toggle-tool-button.c +61 -0
- data/ext/gtk3/rbgtk-tool-button.c +66 -0
- data/ext/gtk3/rbgtk-tool-item.c +200 -0
- data/ext/gtk3/rbgtk-tool-itemgroup.c +70 -0
- data/ext/gtk3/rbgtk-tool-shell.c +96 -0
- data/ext/gtk3/rbgtk-toolbar.c +118 -0
- data/ext/gtk3/rbgtk-tooltip-gdk-display.c +39 -0
- data/ext/gtk3/rbgtk-tooltip.c +100 -0
- data/ext/gtk3/rbgtk-tree-dragdest.c +28 -0
- data/ext/gtk3/rbgtk-tree-dragsource.c +28 -0
- data/ext/gtk3/rbgtk-tree-iter.c +258 -0
- data/ext/gtk3/rbgtk-tree-model.c +246 -0
- data/ext/gtk3/rbgtk-tree-modelfilter.c +197 -0
- data/ext/gtk3/rbgtk-tree-modelsort.c +111 -0
- data/ext/gtk3/rbgtk-tree-path.c +191 -0
- data/ext/gtk3/rbgtk-tree-rowreference.c +140 -0
- data/ext/gtk3/rbgtk-tree-selection.c +190 -0
- data/ext/gtk3/rbgtk-tree-sortable.c +122 -0
- data/ext/gtk3/rbgtk-tree-store.c +330 -0
- data/ext/gtk3/rbgtk-tree-view-column.c +256 -0
- data/ext/gtk3/rbgtk-tree-view.c +716 -0
- data/ext/gtk3/rbgtk-ui-manager.c +189 -0
- data/ext/gtk3/rbgtk-viewport.c +44 -0
- data/ext/gtk3/rbgtk-volume-button.c +41 -0
- data/ext/gtk3/rbgtk-widget-path.c +229 -0
- data/ext/gtk3/rbgtk-widget.c +1554 -0
- data/ext/gtk3/rbgtk-window-group.c +80 -0
- data/ext/gtk3/rbgtk-window.c +565 -0
- data/ext/gtk3/rbgtk.c +783 -0
- data/ext/gtk3/rbgtk3.h +90 -0
- data/ext/gtk3/rbgtk3conversions.h +439 -0
- data/ext/gtk3/rbgtk3private.h +300 -0
- data/ext/gtk3/rbgtk3util.c +67 -0
- data/ext/gtk3/rbgtk3util.h +32 -0
- data/extconf.rb +49 -0
- 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 +11 -0
- data/lib/gtk3/base.rb +67 -0
- data/lib/gtk3/deprecated.rb +1004 -0
- data/sample/gtk-demo/README +7 -0
- data/sample/gtk-demo/alphatest.png +0 -0
- data/sample/gtk-demo/apple-red.png +0 -0
- data/sample/gtk-demo/appwindow.rb +233 -0
- data/sample/gtk-demo/background.jpg +0 -0
- data/sample/gtk-demo/builder.rb +51 -0
- data/sample/gtk-demo/button_box.rb +83 -0
- data/sample/gtk-demo/cairo-arc-negative.rb +41 -0
- data/sample/gtk-demo/cairo-arc.rb +41 -0
- data/sample/gtk-demo/cairo-clip-image.rb +51 -0
- data/sample/gtk-demo/cairo-clip-rectangle.rb +35 -0
- data/sample/gtk-demo/cairo-clip.rb +35 -0
- data/sample/gtk-demo/cairo-curve-rectangle.rb +76 -0
- data/sample/gtk-demo/cairo-curve-to.rb +43 -0
- data/sample/gtk-demo/cairo-dash.rb +39 -0
- data/sample/gtk-demo/cairo-fill-and-stroke.rb +32 -0
- data/sample/gtk-demo/cairo-fill-and-stroke2.rb +38 -0
- data/sample/gtk-demo/cairo-gradient.rb +35 -0
- data/sample/gtk-demo/cairo-image-pattern.rb +39 -0
- data/sample/gtk-demo/cairo-image.rb +49 -0
- data/sample/gtk-demo/cairo-line-cap.rb +53 -0
- data/sample/gtk-demo/cairo-line-join.rb +41 -0
- data/sample/gtk-demo/cairo-long-lines.rb +41 -0
- data/sample/gtk-demo/cairo-operator.rb +83 -0
- data/sample/gtk-demo/cairo-path.rb +28 -0
- data/sample/gtk-demo/cairo-pattern-fill.rb +88 -0
- data/sample/gtk-demo/cairo-self-intersect.rb +32 -0
- data/sample/gtk-demo/cairo-text-align-center.rb +45 -0
- data/sample/gtk-demo/cairo-text-extents.rb +46 -0
- data/sample/gtk-demo/cairo-text.rb +43 -0
- data/sample/gtk-demo/changedisplay.rb +407 -0
- data/sample/gtk-demo/clipboard.rb +67 -0
- data/sample/gtk-demo/colorsel.rb +82 -0
- data/sample/gtk-demo/common.rb +87 -0
- data/sample/gtk-demo/css_accordion.css +53 -0
- data/sample/gtk-demo/css_accordion.rb +75 -0
- data/sample/gtk-demo/demo.ui +258 -0
- data/sample/gtk-demo/dialog.rb +137 -0
- data/sample/gtk-demo/drawingarea.rb +205 -0
- data/sample/gtk-demo/editable_cells.rb +173 -0
- data/sample/gtk-demo/entry_completion.rb +63 -0
- data/sample/gtk-demo/expander.rb +42 -0
- data/sample/gtk-demo/floppybuddy.gif +0 -0
- data/sample/gtk-demo/gnome-applets.png +0 -0
- data/sample/gtk-demo/gnome-calendar.png +0 -0
- data/sample/gtk-demo/gnome-foot.png +0 -0
- data/sample/gtk-demo/gnome-fs-directory.png +0 -0
- data/sample/gtk-demo/gnome-fs-regular.png +0 -0
- data/sample/gtk-demo/gnome-gimp.png +0 -0
- data/sample/gtk-demo/gnome-gmush.png +0 -0
- data/sample/gtk-demo/gnome-gsame.png +0 -0
- data/sample/gtk-demo/gnu-keys.png +0 -0
- data/sample/gtk-demo/gtk-logo-rgb.gif +0 -0
- data/sample/gtk-demo/hypertext.rb +211 -0
- data/sample/gtk-demo/iconview.rb +110 -0
- data/sample/gtk-demo/images.rb +197 -0
- data/sample/gtk-demo/infobar.rb +78 -0
- data/sample/gtk-demo/item_factory.rb +94 -0
- data/sample/gtk-demo/links.rb +53 -0
- data/sample/gtk-demo/list_store.rb +138 -0
- data/sample/gtk-demo/main.rb +384 -0
- data/sample/gtk-demo/menus.rb +172 -0
- data/sample/gtk-demo/panes.rb +156 -0
- data/sample/gtk-demo/pixbufs.rb +167 -0
- data/sample/gtk-demo/printing.rb +128 -0
- data/sample/gtk-demo/reset.css +69 -0
- data/sample/gtk-demo/rotated_text.rb +72 -0
- data/sample/gtk-demo/ruby-gnome2-logo.png +0 -0
- data/sample/gtk-demo/sizegroup.rb +118 -0
- data/sample/gtk-demo/spinner.rb +59 -0
- data/sample/gtk-demo/stock_browser.rb +233 -0
- data/sample/gtk-demo/textview.rb +436 -0
- data/sample/gtk-demo/theming.ui +319 -0
- data/sample/gtk-demo/theming_style_classes.rb +48 -0
- data/sample/gtk-demo/tree_store.rb +270 -0
- data/sample/misc/aboutdialog.rb +42 -0
- data/sample/misc/aboutdialog2.rb +42 -0
- data/sample/misc/alpha-demo.rb +70 -0
- data/sample/misc/assistant.rb +281 -0
- data/sample/misc/bindings.rb +97 -0
- data/sample/misc/button.rb +72 -0
- data/sample/misc/button2.rb +28 -0
- data/sample/misc/buttonbox.rb +93 -0
- data/sample/misc/cairo-pong.rb +217 -0
- data/sample/misc/calendar.rb +66 -0
- data/sample/misc/checkbutton.rb +49 -0
- data/sample/misc/colorselection.rb +22 -0
- data/sample/misc/combo_check.rb +79 -0
- data/sample/misc/combobox.rb +85 -0
- data/sample/misc/composited-windows.rb +113 -0
- data/sample/misc/cursor.rb +34 -0
- data/sample/misc/dialog.rb +44 -0
- data/sample/misc/dialog2.rb +36 -0
- data/sample/misc/dnd.rb +64 -0
- data/sample/misc/dndtreeview.rb +56 -0
- data/sample/misc/drag-move.rb +139 -0
- data/sample/misc/drawing.rb +109 -0
- data/sample/misc/entry.rb +34 -0
- data/sample/misc/entrycompletion.rb +33 -0
- data/sample/misc/expander.rb +27 -0
- data/sample/misc/filechooser.rb +41 -0
- data/sample/misc/frame.rb +69 -0
- data/sample/misc/gdkscreen.rb +32 -0
- data/sample/misc/gnome-logo-icon.png +0 -0
- data/sample/misc/helloworld.rb +35 -0
- data/sample/misc/iconview.rb +38 -0
- data/sample/misc/image.rb +42 -0
- data/sample/misc/itemfactory.rb +73 -0
- data/sample/misc/itemfactory2.rb +74 -0
- data/sample/misc/keyboard_grab.rb +29 -0
- data/sample/misc/label.rb +33 -0
- data/sample/misc/linkbutton.rb +42 -0
- data/sample/misc/listview.rb +92 -0
- data/sample/misc/menu.rb +81 -0
- data/sample/misc/misc_button.rb +49 -0
- data/sample/misc/mouse-gesture.rb +465 -0
- data/sample/misc/pangorenderer.rb +66 -0
- data/sample/misc/pointer_grab.rb +34 -0
- data/sample/misc/print.rb +247 -0
- data/sample/misc/properties.rb +86 -0
- data/sample/misc/radiobutton.rb +47 -0
- data/sample/misc/recentchooserdialog.rb +52 -0
- data/sample/misc/rgtk+cairo.rb +42 -0
- data/sample/misc/scalebutton.rb +19 -0
- data/sample/misc/settings.rb +41 -0
- data/sample/misc/statusicon.rb +106 -0
- data/sample/misc/stock.rb +36 -0
- data/sample/misc/style_property.rb +67 -0
- data/sample/misc/style_property.rc +19 -0
- data/sample/misc/t-gtkplug.rb +58 -0
- data/sample/misc/t-gtksocket.rb +65 -0
- data/sample/misc/test.xpm +92 -0
- data/sample/misc/textbuffer_serialize.rb +130 -0
- data/sample/misc/threads.rb +70 -0
- data/sample/misc/to_drawable.rb +42 -0
- data/sample/misc/togglebutton.rb +34 -0
- data/sample/misc/toolbar.rb +55 -0
- data/sample/misc/tooltips.rb +204 -0
- data/sample/misc/tree_combo.rb +79 -0
- data/sample/misc/tree_progress.rb +61 -0
- data/sample/misc/treemodelfilter.rb +49 -0
- data/sample/misc/treeview.rb +71 -0
- data/sample/misc/uimanager.rb +148 -0
- data/sample/misc/uimanager2.rb +91 -0
- data/sample/misc/uimanager2.xml +36 -0
- data/sample/misc/window.rb +24 -0
- data/sample/misc/xbm_cursor.rb +43 -0
- data/sample/testgtk/3DRings.xpm +116 -0
- data/sample/testgtk/FilesQueue.xpm +98 -0
- data/sample/testgtk/Modeller.xpm +117 -0
- data/sample/testgtk/README +14 -0
- data/sample/testgtk/button.rb +124 -0
- data/sample/testgtk/buttonbox.rb +100 -0
- data/sample/testgtk/check-n.xpm +21 -0
- data/sample/testgtk/check-y.xpm +21 -0
- data/sample/testgtk/checkbutton.rb +67 -0
- data/sample/testgtk/circles.xbm +46 -0
- data/sample/testgtk/colorselect.rb +33 -0
- data/sample/testgtk/dialog.rb +48 -0
- data/sample/testgtk/entry.rb +73 -0
- data/sample/testgtk/filesel.rb +65 -0
- data/sample/testgtk/fontselection.rb +56 -0
- data/sample/testgtk/labels.rb +74 -0
- data/sample/testgtk/layout.rb +108 -0
- data/sample/testgtk/marble.xpm +408 -0
- data/sample/testgtk/menu.rb +79 -0
- data/sample/testgtk/notebook.rb +280 -0
- data/sample/testgtk/pixmap.rb +58 -0
- data/sample/testgtk/progressbar.rb +173 -0
- data/sample/testgtk/radiobutton.rb +61 -0
- data/sample/testgtk/range.rb +65 -0
- data/sample/testgtk/reparent.rb +91 -0
- data/sample/testgtk/sample.rb +80 -0
- data/sample/testgtk/savedposition.rb +87 -0
- data/sample/testgtk/scrolledwindow.rb +67 -0
- data/sample/testgtk/shapedwindow.rb +99 -0
- data/sample/testgtk/spinbutton.rb +181 -0
- data/sample/testgtk/statusbar.rb +89 -0
- data/sample/testgtk/test.xpm +92 -0
- data/sample/testgtk/testgtk.rb +176 -0
- data/sample/testgtk/testgtkrc +146 -0
- data/sample/testgtk/testgtkrc2 +21 -0
- data/sample/testgtk/togglebutton.rb +53 -0
- data/sample/testgtk/toolbar.rb +82 -0
- data/sample/testgtk/tooltips.rb +41 -0
- data/sample/testgtk/wmhints.rb +40 -0
- data/test/gtk-test-utils.rb +15 -0
- data/test/run-test.rb +58 -0
- data/test/test_gc.rb +22 -0
- data/test/test_gtk.rb +23 -0
- data/test/test_gtk_about_dialog.rb +13 -0
- data/test/test_gtk_accel_group_entry.rb +24 -0
- data/test/test_gtk_accel_key.rb +24 -0
- data/test/test_gtk_accessible.rb +31 -0
- data/test/test_gtk_action_group.rb +46 -0
- data/test/test_gtk_allocation.rb +24 -0
- data/test/test_gtk_border.rb +24 -0
- data/test/test_gtk_buildable.rb +56 -0
- data/test/test_gtk_builder.rb +166 -0
- data/test/test_gtk_container.rb +32 -0
- data/test/test_gtk_css_provider.rb +27 -0
- data/test/test_gtk_entry.rb +52 -0
- data/test/test_gtk_header_bar.rb +66 -0
- data/test/test_gtk_icon_theme.rb +31 -0
- data/test/test_gtk_icon_view.rb +41 -0
- data/test/test_gtk_image.rb +8 -0
- data/test/test_gtk_level_bar.rb +82 -0
- data/test/test_gtk_list_store.rb +105 -0
- data/test/test_gtk_menu_button.rb +49 -0
- data/test/test_gtk_menu_item.rb +13 -0
- data/test/test_gtk_recent_data.rb +24 -0
- data/test/test_gtk_recent_filter_info.rb +26 -0
- data/test/test_gtk_revealer.rb +57 -0
- data/test/test_gtk_search_bar.rb +55 -0
- data/test/test_gtk_search_entry.rb +34 -0
- data/test/test_gtk_stack.rb +115 -0
- data/test/test_gtk_stack_switcher.rb +30 -0
- data/test/test_gtk_style_context.rb +30 -0
- data/test/test_gtk_style_properties.rb +38 -0
- data/test/test_gtk_tree_path.rb +20 -0
- data/test/test_gtk_tree_selection.rb +31 -0
- data/test/test_gtk_unix_print.rb +14 -0
- data/test/test_gtk_widget.rb +24 -0
- metadata +582 -0
@@ -0,0 +1,268 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
+
* Copyright (C) 2004,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 cIconTheme
|
25
|
+
#define _SELF(i) RVAL2GTKICONTHEME(i)
|
26
|
+
|
27
|
+
static VALUE
|
28
|
+
rg_initialize(VALUE self)
|
29
|
+
{
|
30
|
+
G_INITIALIZE(self, gtk_icon_theme_new());
|
31
|
+
return Qnil;
|
32
|
+
}
|
33
|
+
|
34
|
+
static VALUE
|
35
|
+
rg_s_default(G_GNUC_UNUSED VALUE self)
|
36
|
+
{
|
37
|
+
return GOBJ2RVAL(gtk_icon_theme_get_default());
|
38
|
+
}
|
39
|
+
|
40
|
+
static VALUE
|
41
|
+
rg_s_get_for_screen(G_GNUC_UNUSED VALUE self, VALUE screen)
|
42
|
+
{
|
43
|
+
return GOBJ2RVAL(gtk_icon_theme_get_for_screen(RVAL2GDKSCREEN(screen)));
|
44
|
+
}
|
45
|
+
|
46
|
+
static VALUE
|
47
|
+
rg_set_screen(VALUE self, VALUE screen)
|
48
|
+
{
|
49
|
+
gtk_icon_theme_set_screen(_SELF(self), RVAL2GDKSCREEN(screen));
|
50
|
+
return self;
|
51
|
+
}
|
52
|
+
|
53
|
+
static VALUE
|
54
|
+
rg_set_search_path(VALUE self, VALUE rbpath)
|
55
|
+
{
|
56
|
+
GtkIconTheme *theme = _SELF(self);
|
57
|
+
long n;
|
58
|
+
const gchar **path = RVAL2STRS(rbpath, n);
|
59
|
+
|
60
|
+
gtk_icon_theme_set_search_path(theme, path, n);
|
61
|
+
|
62
|
+
g_free(path);
|
63
|
+
|
64
|
+
return self;
|
65
|
+
}
|
66
|
+
|
67
|
+
static VALUE
|
68
|
+
rg_search_path(VALUE self)
|
69
|
+
{
|
70
|
+
gchar **path;
|
71
|
+
|
72
|
+
gtk_icon_theme_get_search_path(_SELF(self), &path, NULL);
|
73
|
+
|
74
|
+
return STRV2RVAL_FREE(path);
|
75
|
+
}
|
76
|
+
|
77
|
+
static VALUE
|
78
|
+
rg_append_search_path(VALUE self, VALUE path)
|
79
|
+
{
|
80
|
+
gtk_icon_theme_append_search_path(_SELF(self), RVAL2CSTR(path));
|
81
|
+
return self;
|
82
|
+
}
|
83
|
+
|
84
|
+
static VALUE
|
85
|
+
rg_prepend_search_path(VALUE self, VALUE path)
|
86
|
+
{
|
87
|
+
gtk_icon_theme_prepend_search_path(_SELF(self), RVAL2CSTR(path));
|
88
|
+
return self;
|
89
|
+
}
|
90
|
+
|
91
|
+
static VALUE
|
92
|
+
rg_set_custom_theme(VALUE self, VALUE theme_name)
|
93
|
+
{
|
94
|
+
gtk_icon_theme_set_custom_theme(_SELF(self),
|
95
|
+
RVAL2CSTR_ACCEPT_NIL(theme_name));
|
96
|
+
return self;
|
97
|
+
}
|
98
|
+
|
99
|
+
static VALUE
|
100
|
+
rg_has_icon_p(VALUE self, VALUE icon_name)
|
101
|
+
{
|
102
|
+
return CBOOL2RVAL(gtk_icon_theme_has_icon(_SELF(self),
|
103
|
+
RVAL2CSTR(icon_name)));
|
104
|
+
}
|
105
|
+
|
106
|
+
static VALUE
|
107
|
+
rg_lookup_icon(VALUE self, VALUE icon, VALUE size, VALUE flags)
|
108
|
+
{
|
109
|
+
GtkIconInfo* info;
|
110
|
+
|
111
|
+
if (TYPE(icon) == T_STRING) {
|
112
|
+
info = gtk_icon_theme_lookup_icon(_SELF(self),
|
113
|
+
RVAL2CSTR(icon),
|
114
|
+
NUM2INT(size),
|
115
|
+
RVAL2GTKICONLOOKUPFLAGS(flags));
|
116
|
+
} else {
|
117
|
+
info = gtk_icon_theme_lookup_by_gicon(_SELF(self),
|
118
|
+
RVAL2GICON(icon),
|
119
|
+
NUM2INT(size),
|
120
|
+
RVAL2GTKICONLOOKUPFLAGS(flags));
|
121
|
+
}
|
122
|
+
|
123
|
+
/* TODO: need gtk_icon_info_free? */
|
124
|
+
return GTKICONINFO2RVAL(info);
|
125
|
+
}
|
126
|
+
|
127
|
+
static VALUE
|
128
|
+
rg_load_icon(VALUE self, VALUE icon_name, VALUE size, VALUE flags)
|
129
|
+
{
|
130
|
+
GError *error = NULL;
|
131
|
+
GdkPixbuf *pixbuf;
|
132
|
+
|
133
|
+
pixbuf = gtk_icon_theme_load_icon(_SELF(self),
|
134
|
+
RVAL2CSTR(icon_name),
|
135
|
+
NUM2INT(size),
|
136
|
+
RVAL2GTKICONLOOKUPFLAGS(flags),
|
137
|
+
&error);
|
138
|
+
if (!pixbuf)
|
139
|
+
RAISE_GERROR(error);
|
140
|
+
return GOBJ2RVAL(pixbuf);
|
141
|
+
}
|
142
|
+
|
143
|
+
static VALUE
|
144
|
+
rg_icons(int argc, VALUE *argv, VALUE self)
|
145
|
+
{
|
146
|
+
VALUE context;
|
147
|
+
GList *icons;
|
148
|
+
|
149
|
+
rb_scan_args(argc, argv, "01", &context);
|
150
|
+
|
151
|
+
icons = gtk_icon_theme_list_icons(_SELF(self),
|
152
|
+
RVAL2CSTR_ACCEPT_NIL(context));
|
153
|
+
return CSTRGLIST2RVAL_FREE(icons, g_list_free, g_free);
|
154
|
+
}
|
155
|
+
|
156
|
+
static VALUE
|
157
|
+
rg_get_icon_sizes(VALUE self, VALUE icon_name)
|
158
|
+
{
|
159
|
+
VALUE ary = rb_ary_new();
|
160
|
+
|
161
|
+
gint* sizes = gtk_icon_theme_get_icon_sizes(_SELF(self), RVAL2CSTR(icon_name));
|
162
|
+
gint* tmp_sizes = sizes;
|
163
|
+
while (*tmp_sizes) {
|
164
|
+
rb_ary_push(ary, INT2NUM(*tmp_sizes));
|
165
|
+
tmp_sizes++;
|
166
|
+
}
|
167
|
+
g_free(sizes);
|
168
|
+
return ary;
|
169
|
+
}
|
170
|
+
|
171
|
+
static VALUE
|
172
|
+
rg_example_icon_name(VALUE self)
|
173
|
+
{
|
174
|
+
return CSTR2RVAL_FREE(gtk_icon_theme_get_example_icon_name(_SELF(self)));
|
175
|
+
}
|
176
|
+
|
177
|
+
static VALUE
|
178
|
+
rg_rescan_if_needed(VALUE self)
|
179
|
+
{
|
180
|
+
return CBOOL2RVAL(gtk_icon_theme_rescan_if_needed(_SELF(self)));
|
181
|
+
}
|
182
|
+
|
183
|
+
static VALUE
|
184
|
+
rg_s_add_builtin_icon(VALUE self, VALUE icon_name, VALUE size, VALUE pixbuf)
|
185
|
+
{
|
186
|
+
gtk_icon_theme_add_builtin_icon(RVAL2CSTR(icon_name), NUM2INT(size),
|
187
|
+
RVAL2GDKPIXBUF(pixbuf));
|
188
|
+
return self;
|
189
|
+
}
|
190
|
+
|
191
|
+
static VALUE
|
192
|
+
rg_choose_icon(int argc, VALUE *argv, VALUE self)
|
193
|
+
{
|
194
|
+
VALUE rb_icon_names, rb_size, rb_flags;
|
195
|
+
gint size;
|
196
|
+
const gchar **icon_names;
|
197
|
+
GtkIconLookupFlags flags;
|
198
|
+
GtkIconInfo *info;
|
199
|
+
|
200
|
+
rb_scan_args(argc, argv, "21", &rb_icon_names, &rb_size, &rb_flags);
|
201
|
+
|
202
|
+
if (RVAL2CBOOL(rb_obj_is_kind_of(rb_icon_names, rb_cString))) {
|
203
|
+
icon_names = ALLOCA_N(const gchar *, 2);
|
204
|
+
icon_names[0] = RVAL2CSTR(rb_icon_names);
|
205
|
+
icon_names[1] = NULL;
|
206
|
+
}
|
207
|
+
else if (RVAL2CBOOL(rb_obj_is_kind_of(rb_icon_names, rb_cArray))) {
|
208
|
+
icon_names = RVAL2STRV(rb_icon_names);
|
209
|
+
}
|
210
|
+
else {
|
211
|
+
rb_raise(rb_eArgError,
|
212
|
+
"expected (name, size), (name, size, flags), "
|
213
|
+
"([name1, name2, ...], size) or "
|
214
|
+
"([name1, name2, ...], size, flags): %s",
|
215
|
+
RBG_INSPECT(rb_ary_new4(argc, argv)));
|
216
|
+
}
|
217
|
+
|
218
|
+
size = NUM2INT(rb_size);
|
219
|
+
|
220
|
+
if (NIL_P(rb_flags)) {
|
221
|
+
flags = GTK_ICON_LOOKUP_GENERIC_FALLBACK;
|
222
|
+
}
|
223
|
+
else {
|
224
|
+
flags = RVAL2GTKICONLOOKUPFLAGS(rb_flags);
|
225
|
+
}
|
226
|
+
|
227
|
+
info = gtk_icon_theme_choose_icon(_SELF(self),
|
228
|
+
icon_names,
|
229
|
+
size, flags);
|
230
|
+
return GTKICONINFO2RVAL(info);
|
231
|
+
}
|
232
|
+
|
233
|
+
static VALUE
|
234
|
+
rg_contexts(VALUE self)
|
235
|
+
{
|
236
|
+
return CSTRGLIST2RVAL_FREE(gtk_icon_theme_list_contexts(_SELF(self)),
|
237
|
+
g_list_free, g_free);
|
238
|
+
}
|
239
|
+
|
240
|
+
void
|
241
|
+
Init_gtk_icon_theme(VALUE mGtk)
|
242
|
+
{
|
243
|
+
VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GTK_TYPE_ICON_THEME, "IconTheme", mGtk);
|
244
|
+
|
245
|
+
RG_DEF_METHOD(initialize, 0);
|
246
|
+
RG_DEF_SMETHOD(default, 0);
|
247
|
+
RG_DEF_SMETHOD(get_for_screen, 1);
|
248
|
+
RG_DEF_METHOD(set_screen, 1);
|
249
|
+
RG_DEF_METHOD(set_search_path, 1);
|
250
|
+
RG_DEF_METHOD(search_path, 0);
|
251
|
+
RG_DEF_METHOD(append_search_path, 1);
|
252
|
+
RG_DEF_METHOD(prepend_search_path, 1);
|
253
|
+
RG_DEF_METHOD(set_custom_theme, 1);
|
254
|
+
RG_DEF_METHOD_P(has_icon, 1);
|
255
|
+
RG_DEF_METHOD(lookup_icon, 3);
|
256
|
+
RG_DEF_METHOD(load_icon, 3);
|
257
|
+
RG_DEF_METHOD(icons, -1);
|
258
|
+
RG_DEF_METHOD(get_icon_sizes, 1);
|
259
|
+
RG_DEF_METHOD(example_icon_name, 0);
|
260
|
+
RG_DEF_METHOD(rescan_if_needed, 0);
|
261
|
+
RG_DEF_SMETHOD(add_builtin_icon, 3);
|
262
|
+
RG_DEF_METHOD(choose_icon, -1);
|
263
|
+
RG_DEF_METHOD(contexts, 0);
|
264
|
+
|
265
|
+
G_DEF_ERROR(GTK_ICON_THEME_ERROR, "IconThemeError", mGtk, rb_eRuntimeError,
|
266
|
+
GTK_TYPE_ICON_THEME_ERROR);
|
267
|
+
G_DEF_CLASS(GTK_TYPE_ICON_LOOKUP_FLAGS, "LookupFlags", RG_TARGET_NAMESPACE);
|
268
|
+
}
|
@@ -0,0 +1,295 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2011-2014 Ruby-GNOME2 Project Team
|
4
|
+
* Copyright (C) 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 cIconView
|
25
|
+
#define _SELF(s) (RVAL2GTKICONVIEW(s))
|
26
|
+
|
27
|
+
static ID id_model;
|
28
|
+
static ID id_select_path;
|
29
|
+
|
30
|
+
static VALUE
|
31
|
+
rg_initialize(int argc, VALUE *argv, VALUE self)
|
32
|
+
{
|
33
|
+
VALUE model;
|
34
|
+
rb_scan_args(argc, argv, "01", &model);
|
35
|
+
if (NIL_P(model)){
|
36
|
+
RBGTK_INITIALIZE(self, gtk_icon_view_new());
|
37
|
+
} else {
|
38
|
+
G_CHILD_SET(self, id_model, model);
|
39
|
+
RBGTK_INITIALIZE(self,
|
40
|
+
gtk_icon_view_new_with_model(RVAL2GTKTREEMODEL(model)));
|
41
|
+
}
|
42
|
+
return Qnil;
|
43
|
+
}
|
44
|
+
|
45
|
+
static VALUE
|
46
|
+
rg_get_path_at_pos(VALUE self, VALUE x, VALUE y)
|
47
|
+
{
|
48
|
+
return GTKTREEPATH2RVAL(gtk_icon_view_get_path_at_pos(_SELF(self), NUM2INT(x), NUM2INT(y)));
|
49
|
+
}
|
50
|
+
|
51
|
+
static void
|
52
|
+
iview_foreach_func(GtkIconView *iview, GtkTreePath *path, gpointer *func)
|
53
|
+
{
|
54
|
+
rb_funcall((VALUE)func, id_call, 2, GOBJ2RVAL(iview), GTKTREEPATH2RVAL(path));
|
55
|
+
}
|
56
|
+
|
57
|
+
static VALUE
|
58
|
+
rg_selected_each(VALUE self)
|
59
|
+
{
|
60
|
+
VALUE func = rb_block_proc();
|
61
|
+
G_RELATIVE(self, func);
|
62
|
+
gtk_icon_view_selected_foreach(_SELF(self),
|
63
|
+
(GtkIconViewForeachFunc)iview_foreach_func,
|
64
|
+
(gpointer)func);
|
65
|
+
return self;
|
66
|
+
}
|
67
|
+
|
68
|
+
#if GTK_CHECK_VERSION(3, 6, 0)
|
69
|
+
static VALUE
|
70
|
+
rg_get_cell_rect(int argc, VALUE *argv, VALUE self)
|
71
|
+
{
|
72
|
+
VALUE path, cell;
|
73
|
+
GdkRectangle rectangle;
|
74
|
+
gboolean found;
|
75
|
+
|
76
|
+
rb_scan_args(argc, argv, "11", &path, &cell);
|
77
|
+
|
78
|
+
found = gtk_icon_view_get_cell_rect(_SELF(self),
|
79
|
+
RVAL2GTKTREEPATH(path),
|
80
|
+
RVAL2GTKCELLRENDERER(cell),
|
81
|
+
&rectangle);
|
82
|
+
if (!found) {
|
83
|
+
return Qnil;
|
84
|
+
}
|
85
|
+
|
86
|
+
return GDKRECTANGLE2RVAL(&rectangle);
|
87
|
+
}
|
88
|
+
#endif
|
89
|
+
|
90
|
+
static VALUE
|
91
|
+
rg_select_path(VALUE self, VALUE path)
|
92
|
+
{
|
93
|
+
G_CHILD_SET(self, id_select_path, path);
|
94
|
+
gtk_icon_view_select_path(_SELF(self), RVAL2GTKTREEPATH(path));
|
95
|
+
return self;
|
96
|
+
}
|
97
|
+
|
98
|
+
static VALUE
|
99
|
+
rg_unselect_path(VALUE self, VALUE path)
|
100
|
+
{
|
101
|
+
G_CHILD_UNSET(self, id_select_path);
|
102
|
+
gtk_icon_view_unselect_path(_SELF(self), RVAL2GTKTREEPATH(path));
|
103
|
+
return self;
|
104
|
+
}
|
105
|
+
|
106
|
+
static VALUE
|
107
|
+
rg_path_is_selected_p(VALUE self, VALUE path)
|
108
|
+
{
|
109
|
+
return CBOOL2RVAL(gtk_icon_view_path_is_selected(_SELF(self), RVAL2GTKTREEPATH(path)));
|
110
|
+
}
|
111
|
+
|
112
|
+
static VALUE
|
113
|
+
rg_selected_items(VALUE self)
|
114
|
+
{
|
115
|
+
GList* list = gtk_icon_view_get_selected_items(_SELF(self));
|
116
|
+
VALUE ret = BOXEDGLIST2RVAL(list, GTK_TYPE_TREE_PATH);
|
117
|
+
g_list_foreach(list, (GFunc)gtk_tree_path_free, NULL);
|
118
|
+
g_list_free(list);
|
119
|
+
return ret;
|
120
|
+
}
|
121
|
+
|
122
|
+
static VALUE
|
123
|
+
rg_item_activated(VALUE self, VALUE path)
|
124
|
+
{
|
125
|
+
gtk_icon_view_item_activated(_SELF(self), RVAL2GTKTREEPATH(path));
|
126
|
+
return self;
|
127
|
+
}
|
128
|
+
|
129
|
+
static VALUE
|
130
|
+
rg_create_drag_icon(VALUE self, VALUE path)
|
131
|
+
{
|
132
|
+
return GOBJ2RVAL(gtk_icon_view_create_drag_icon(_SELF(self), RVAL2GTKTREEPATH(path)));
|
133
|
+
}
|
134
|
+
|
135
|
+
static VALUE
|
136
|
+
rg_enable_model_drag_dest(VALUE self, VALUE rbtargets, VALUE rbactions)
|
137
|
+
{
|
138
|
+
GtkIconView *icon_view = _SELF(self);
|
139
|
+
GdkDragAction actions = RVAL2GDKDRAGACTION(rbactions);
|
140
|
+
long n;
|
141
|
+
GtkTargetEntry *targets = RVAL2GTKTARGETENTRIES(rbtargets, &n);
|
142
|
+
|
143
|
+
gtk_icon_view_enable_model_drag_dest(icon_view, targets, n, actions);
|
144
|
+
|
145
|
+
g_free(targets);
|
146
|
+
|
147
|
+
return self;
|
148
|
+
}
|
149
|
+
|
150
|
+
static VALUE
|
151
|
+
rg_enable_model_drag_source(VALUE self, VALUE rbstart_button_mask, VALUE rbtargets, VALUE rbactions)
|
152
|
+
{
|
153
|
+
GtkIconView *icon_view = _SELF(self);
|
154
|
+
GdkModifierType start_button_mask = RVAL2GDKMODIFIERTYPE(rbstart_button_mask);
|
155
|
+
GdkDragAction actions = RVAL2GDKDRAGACTION(rbactions);
|
156
|
+
long n;
|
157
|
+
GtkTargetEntry *targets = RVAL2GTKTARGETENTRIES(rbtargets, &n);
|
158
|
+
|
159
|
+
gtk_icon_view_enable_model_drag_source(icon_view, start_button_mask, targets, n, actions);
|
160
|
+
|
161
|
+
g_free(targets);
|
162
|
+
|
163
|
+
return self;
|
164
|
+
}
|
165
|
+
|
166
|
+
static VALUE
|
167
|
+
rg_cursor(VALUE self)
|
168
|
+
{
|
169
|
+
GtkTreePath* path;
|
170
|
+
GtkCellRenderer* cell;
|
171
|
+
gboolean cursor_set = gtk_icon_view_get_cursor(_SELF(self), &path, &cell);
|
172
|
+
return cursor_set ? rb_assoc_new(GTKTREEPATH2RVAL(path), GOBJ2RVAL(cell)) : Qnil;
|
173
|
+
}
|
174
|
+
|
175
|
+
static VALUE
|
176
|
+
rg_get_dest_item(VALUE self, VALUE drag_x, VALUE drag_y)
|
177
|
+
{
|
178
|
+
GtkTreePath* path;
|
179
|
+
GtkIconViewDropPosition pos;
|
180
|
+
gboolean item_at_pos = gtk_icon_view_get_dest_item_at_pos(_SELF(self), NUM2INT(drag_x), NUM2INT(drag_y), &path, &pos);
|
181
|
+
return item_at_pos ? rb_assoc_new(GTKTREEPATH2RVAL(path),
|
182
|
+
GTKICONVIEWDROPPOSITION2RVAL(pos)) : Qnil;
|
183
|
+
}
|
184
|
+
|
185
|
+
static VALUE
|
186
|
+
rg_drag_dest_item(VALUE self)
|
187
|
+
{
|
188
|
+
GtkTreePath* path;
|
189
|
+
GtkIconViewDropPosition pos;
|
190
|
+
gtk_icon_view_get_drag_dest_item(_SELF(self), &path, &pos);
|
191
|
+
return rb_assoc_new(GTKTREEPATH2RVAL(path),
|
192
|
+
GTKICONVIEWDROPPOSITION2RVAL(pos));
|
193
|
+
}
|
194
|
+
|
195
|
+
static VALUE
|
196
|
+
rg_get_item(VALUE self, VALUE x, VALUE y)
|
197
|
+
{
|
198
|
+
GtkTreePath* path;
|
199
|
+
GtkCellRenderer* cell;
|
200
|
+
gboolean item_at_pos = gtk_icon_view_get_item_at_pos(_SELF(self), NUM2INT(x), NUM2INT(y), &path, &cell);
|
201
|
+
return item_at_pos ? rb_assoc_new(GTKTREEPATH2RVAL(path), GOBJ2RVAL(cell)) : Qnil;
|
202
|
+
}
|
203
|
+
|
204
|
+
static VALUE
|
205
|
+
rg_visible_range(VALUE self)
|
206
|
+
{
|
207
|
+
GtkTreePath* start_path;
|
208
|
+
GtkTreePath* end_path;
|
209
|
+
|
210
|
+
gboolean valid_paths = gtk_icon_view_get_visible_range(_SELF(self), &start_path, &end_path);
|
211
|
+
|
212
|
+
return valid_paths ? rb_assoc_new(GTKTREEPATH2RVAL(start_path),
|
213
|
+
GTKTREEPATH2RVAL(end_path)) : Qnil;
|
214
|
+
}
|
215
|
+
|
216
|
+
static VALUE
|
217
|
+
rg_scroll_to_path(VALUE self, VALUE path, VALUE use_align, VALUE row_align, VALUE col_align)
|
218
|
+
{
|
219
|
+
gtk_icon_view_scroll_to_path(_SELF(self),
|
220
|
+
RVAL2GTKTREEPATH(path),
|
221
|
+
RVAL2CBOOL(use_align),
|
222
|
+
NUM2DBL(row_align),
|
223
|
+
NUM2DBL(col_align));
|
224
|
+
return self;
|
225
|
+
}
|
226
|
+
|
227
|
+
static VALUE
|
228
|
+
rg_set_cursor(VALUE self, VALUE path, VALUE cell, VALUE start_editing)
|
229
|
+
{
|
230
|
+
gtk_icon_view_set_cursor(_SELF(self),
|
231
|
+
RVAL2GTKTREEPATH(path),
|
232
|
+
NIL_P(cell) ? NULL : RVAL2GTKCELLRENDERER(cell),
|
233
|
+
RVAL2CBOOL(start_editing));
|
234
|
+
return self;
|
235
|
+
}
|
236
|
+
|
237
|
+
static VALUE
|
238
|
+
rg_set_drag_dest_item(VALUE self, VALUE path, VALUE pos)
|
239
|
+
{
|
240
|
+
gtk_icon_view_set_drag_dest_item(_SELF(self),
|
241
|
+
NIL_P(path) ? NULL : RVAL2GTKTREEPATH(path),
|
242
|
+
RVAL2GTKICONVIEWDROPPOSITION(pos));
|
243
|
+
return self;
|
244
|
+
}
|
245
|
+
|
246
|
+
static VALUE
|
247
|
+
rg_unset_model_drag_dest(VALUE self)
|
248
|
+
{
|
249
|
+
gtk_icon_view_unset_model_drag_dest(_SELF(self));
|
250
|
+
return self;
|
251
|
+
}
|
252
|
+
|
253
|
+
static VALUE
|
254
|
+
rg_unset_model_drag_source(VALUE self)
|
255
|
+
{
|
256
|
+
gtk_icon_view_unset_model_drag_source(_SELF(self));
|
257
|
+
return self;
|
258
|
+
}
|
259
|
+
|
260
|
+
void
|
261
|
+
Init_gtk_iconview(VALUE mGtk)
|
262
|
+
{
|
263
|
+
VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GTK_TYPE_ICON_VIEW, "IconView", mGtk);
|
264
|
+
|
265
|
+
id_model = rb_intern("model");
|
266
|
+
id_select_path = rb_intern("select_path");
|
267
|
+
|
268
|
+
RG_DEF_METHOD(initialize, -1);
|
269
|
+
RG_DEF_METHOD(get_path_at_pos, 2);
|
270
|
+
RG_DEF_ALIAS("get_path", "get_path_at_pos");
|
271
|
+
RG_DEF_METHOD(selected_each, 0);
|
272
|
+
#if GTK_CHECK_VERSION(3, 6, 0)
|
273
|
+
RG_DEF_METHOD(get_cell_rect, -1);
|
274
|
+
#endif
|
275
|
+
RG_DEF_METHOD(select_path, 1);
|
276
|
+
RG_DEF_METHOD(unselect_path, 1);
|
277
|
+
RG_DEF_METHOD_P(path_is_selected, 1);
|
278
|
+
RG_DEF_METHOD(selected_items, 0);
|
279
|
+
RG_DEF_METHOD(item_activated, 1);
|
280
|
+
RG_DEF_METHOD(create_drag_icon, 1);
|
281
|
+
RG_DEF_METHOD(enable_model_drag_dest, 2);
|
282
|
+
RG_DEF_METHOD(enable_model_drag_source, 3);
|
283
|
+
RG_DEF_METHOD(cursor, 0);
|
284
|
+
RG_DEF_METHOD(get_dest_item, 2);
|
285
|
+
RG_DEF_METHOD(drag_dest_item, 0);
|
286
|
+
RG_DEF_METHOD(get_item, 2);
|
287
|
+
RG_DEF_METHOD(visible_range, 0);
|
288
|
+
RG_DEF_METHOD(scroll_to_path, 4);
|
289
|
+
RG_DEF_METHOD(set_cursor, 3);
|
290
|
+
RG_DEF_METHOD(set_drag_dest_item, 2);
|
291
|
+
RG_DEF_METHOD(unset_model_drag_dest, 0);
|
292
|
+
RG_DEF_METHOD(unset_model_drag_source, 0);
|
293
|
+
|
294
|
+
G_DEF_CLASS(GTK_TYPE_ICON_VIEW_DROP_POSITION, "Type", RG_TARGET_NAMESPACE);
|
295
|
+
}
|