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,899 +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 Ruby-GNOME2 Project Team
|
5
|
-
* Copyright (C) 2002,2003 Masahiro Sakai
|
6
|
-
*
|
7
|
-
* This library is free software; you can redistribute it and/or
|
8
|
-
* modify it under the terms of the GNU Lesser General Public
|
9
|
-
* License as published by the Free Software Foundation; either
|
10
|
-
* version 2.1 of the License, or (at your option) any later version.
|
11
|
-
*
|
12
|
-
* This library is distributed in the hope that it will be useful,
|
13
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
15
|
-
* Lesser General Public License for more details.
|
16
|
-
*
|
17
|
-
* You should have received a copy of the GNU Lesser General Public
|
18
|
-
* License along with this library; if not, write to the Free Software
|
19
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
20
|
-
* MA 02110-1301 USA
|
21
|
-
*/
|
22
|
-
|
23
|
-
#include "rbgtk3private.h"
|
24
|
-
|
25
|
-
#define RG_TARGET_NAMESPACE cTextBuffer
|
26
|
-
#define _SELF(s) (RVAL2GTKTEXTBUFFER(s))
|
27
|
-
|
28
|
-
static VALUE rb_mGtk;
|
29
|
-
|
30
|
-
#define RVAL2ITER(self, position) RVAL2GTKTEXTITER(rg_get_iter_at(self, position))
|
31
|
-
#define RVAL2STARTITER(self, iter, out) \
|
32
|
-
rval2iter_with_default(&(self), &(iter), &(out), gtk_text_buffer_get_start_iter)
|
33
|
-
#define RVAL2ENDITER(self, iter, out) \
|
34
|
-
rval2iter_with_default(&(self), &(iter), &(out), gtk_text_buffer_get_end_iter)
|
35
|
-
|
36
|
-
static VALUE
|
37
|
-
rg_get_iter_at(VALUE self, VALUE position)
|
38
|
-
{
|
39
|
-
GtkTextIter iter;
|
40
|
-
|
41
|
-
switch (TYPE(position)) {
|
42
|
-
case T_HASH:
|
43
|
-
{
|
44
|
-
VALUE line, offset, index, mark, anchor;
|
45
|
-
rbg_scan_options(position,
|
46
|
-
"line", &line,
|
47
|
-
"offset", &offset,
|
48
|
-
"index", &index,
|
49
|
-
"mark", &mark,
|
50
|
-
"anchor", &anchor,
|
51
|
-
NULL);
|
52
|
-
|
53
|
-
if (!NIL_P(line))
|
54
|
-
if (!NIL_P(offset))
|
55
|
-
gtk_text_buffer_get_iter_at_line_offset(_SELF(self),
|
56
|
-
&iter,
|
57
|
-
NUM2INT(line),
|
58
|
-
NUM2INT(offset));
|
59
|
-
else if (!NIL_P(index))
|
60
|
-
gtk_text_buffer_get_iter_at_line_index(_SELF(self),
|
61
|
-
&iter,
|
62
|
-
NUM2INT(line),
|
63
|
-
NUM2INT(index));
|
64
|
-
else
|
65
|
-
gtk_text_buffer_get_iter_at_line(_SELF(self),
|
66
|
-
&iter,
|
67
|
-
NUM2INT(line));
|
68
|
-
else if (!NIL_P(offset))
|
69
|
-
gtk_text_buffer_get_iter_at_offset(_SELF(self),
|
70
|
-
&iter,
|
71
|
-
NUM2INT(offset));
|
72
|
-
else if (!NIL_P(mark))
|
73
|
-
gtk_text_buffer_get_iter_at_mark(_SELF(self),
|
74
|
-
&iter,
|
75
|
-
RVAL2GTKTEXTMARK(mark));
|
76
|
-
else if (!NIL_P(anchor))
|
77
|
-
gtk_text_buffer_get_iter_at_child_anchor(_SELF(self),
|
78
|
-
&iter,
|
79
|
-
RVAL2GTKTEXTCHILDANCHOR(anchor));
|
80
|
-
else
|
81
|
-
rb_raise(rb_eArgError, "Invalid arguments.");
|
82
|
-
break;
|
83
|
-
}
|
84
|
-
case T_FIXNUM:
|
85
|
-
{
|
86
|
-
gtk_text_buffer_get_iter_at_offset(_SELF(self),
|
87
|
-
&iter,
|
88
|
-
NUM2INT(position));
|
89
|
-
break;
|
90
|
-
}
|
91
|
-
default:
|
92
|
-
{
|
93
|
-
GType gtype = RVAL2GTYPE(position);
|
94
|
-
|
95
|
-
if (g_type_is_a(gtype, GTK_TYPE_TEXT_ITER))
|
96
|
-
return position;
|
97
|
-
else if (g_type_is_a(gtype, GTK_TYPE_TEXT_MARK))
|
98
|
-
gtk_text_buffer_get_iter_at_mark(_SELF(self),
|
99
|
-
&iter,
|
100
|
-
RVAL2GTKTEXTMARK(position));
|
101
|
-
else if (g_type_is_a(gtype, GTK_TYPE_TEXT_CHILD_ANCHOR))
|
102
|
-
gtk_text_buffer_get_iter_at_child_anchor(_SELF(self),
|
103
|
-
&iter,
|
104
|
-
RVAL2GTKTEXTCHILDANCHOR(position));
|
105
|
-
else
|
106
|
-
rb_raise(rb_eArgError, "Invalid arguments.");
|
107
|
-
break;
|
108
|
-
}
|
109
|
-
}
|
110
|
-
|
111
|
-
return GTKTEXTITER2RVAL(&iter);
|
112
|
-
}
|
113
|
-
|
114
|
-
static GtkTextIter *
|
115
|
-
rval2iter_with_default(VALUE *self, VALUE *iter, GtkTextIter *out,
|
116
|
-
void (*default_func)(GtkTextBuffer *, GtkTextIter *))
|
117
|
-
{
|
118
|
-
if (NIL_P(*iter)) {
|
119
|
-
default_func(_SELF(*self), out);
|
120
|
-
return out;
|
121
|
-
} else {
|
122
|
-
return RVAL2ITER(*self, *iter);
|
123
|
-
}
|
124
|
-
}
|
125
|
-
|
126
|
-
static VALUE
|
127
|
-
rg_initialize(int argc, VALUE *argv, VALUE self)
|
128
|
-
{
|
129
|
-
VALUE table;
|
130
|
-
rb_scan_args(argc, argv, "01", &table);
|
131
|
-
if (NIL_P(table))
|
132
|
-
G_INITIALIZE(self, gtk_text_buffer_new(NULL));
|
133
|
-
else {
|
134
|
-
G_CHILD_SET(self, rb_intern("tagtable"), table);
|
135
|
-
G_INITIALIZE(self, gtk_text_buffer_new(RVAL2GTKTEXTTAGTABLE(table)));
|
136
|
-
}
|
137
|
-
return Qnil;
|
138
|
-
}
|
139
|
-
|
140
|
-
static VALUE
|
141
|
-
rg_line_count(VALUE self)
|
142
|
-
{
|
143
|
-
return INT2NUM(gtk_text_buffer_get_line_count(_SELF(self)));
|
144
|
-
}
|
145
|
-
|
146
|
-
static VALUE
|
147
|
-
rg_char_count(VALUE self)
|
148
|
-
{
|
149
|
-
return INT2NUM(gtk_text_buffer_get_char_count(_SELF(self)));
|
150
|
-
}
|
151
|
-
|
152
|
-
static VALUE
|
153
|
-
txt_set_text(VALUE self, VALUE text)
|
154
|
-
{
|
155
|
-
StringValue(text);
|
156
|
-
gtk_text_buffer_set_text(_SELF(self), RSTRING_PTR(text), RSTRING_LEN(text));
|
157
|
-
return self;
|
158
|
-
}
|
159
|
-
|
160
|
-
static VALUE
|
161
|
-
rg_backspace(VALUE self, VALUE iter, VALUE interactive, VALUE default_editable)
|
162
|
-
{
|
163
|
-
return CBOOL2RVAL(gtk_text_buffer_backspace(_SELF(self), RVAL2ITER(self, iter),
|
164
|
-
RVAL2CBOOL(interactive),
|
165
|
-
RVAL2CBOOL(default_editable)));
|
166
|
-
}
|
167
|
-
|
168
|
-
static VALUE
|
169
|
-
rg_insert_at_cursor(VALUE self, VALUE text)
|
170
|
-
{
|
171
|
-
StringValue(text);
|
172
|
-
gtk_text_buffer_insert_at_cursor(_SELF(self), RSTRING_PTR(text), RSTRING_LEN(text));
|
173
|
-
return self;
|
174
|
-
}
|
175
|
-
|
176
|
-
static VALUE
|
177
|
-
rg_insert_interactive(VALUE self, VALUE iter, VALUE text, VALUE editable)
|
178
|
-
{
|
179
|
-
StringValue(text);
|
180
|
-
|
181
|
-
return CBOOL2RVAL(gtk_text_buffer_insert_interactive(_SELF(self),
|
182
|
-
RVAL2ITER(self, iter),
|
183
|
-
RSTRING_PTR(text),
|
184
|
-
RSTRING_LEN(text),
|
185
|
-
RVAL2CBOOL(editable)));
|
186
|
-
}
|
187
|
-
|
188
|
-
static VALUE
|
189
|
-
rg_insert_interactive_at_cursor(VALUE self, VALUE text, VALUE editable)
|
190
|
-
{
|
191
|
-
StringValue(text);
|
192
|
-
|
193
|
-
return CBOOL2RVAL(gtk_text_buffer_insert_interactive_at_cursor(_SELF(self),
|
194
|
-
RSTRING_PTR(text),
|
195
|
-
RSTRING_LEN(text),
|
196
|
-
RVAL2CBOOL(editable)));
|
197
|
-
}
|
198
|
-
|
199
|
-
static VALUE
|
200
|
-
rg_insert_range(VALUE self, VALUE iter, VALUE start, VALUE end)
|
201
|
-
{
|
202
|
-
gtk_text_buffer_insert_range(_SELF(self), RVAL2ITER(self, iter),
|
203
|
-
RVAL2ITER(self, start), RVAL2ITER(self, end));
|
204
|
-
return self;
|
205
|
-
}
|
206
|
-
|
207
|
-
static VALUE
|
208
|
-
rg_insert_range_interactive(VALUE self, VALUE iter, VALUE start, VALUE end, VALUE editable)
|
209
|
-
{
|
210
|
-
return CBOOL2RVAL(gtk_text_buffer_insert_range_interactive(_SELF(self),
|
211
|
-
RVAL2ITER(self, iter),
|
212
|
-
RVAL2ITER(self, start),
|
213
|
-
RVAL2ITER(self, end),
|
214
|
-
RVAL2CBOOL(editable)));
|
215
|
-
}
|
216
|
-
|
217
|
-
static VALUE
|
218
|
-
rg_delete(int argc, VALUE *argv, VALUE self)
|
219
|
-
{
|
220
|
-
VALUE start, end;
|
221
|
-
GtkTextIter start_iter, end_iter;
|
222
|
-
|
223
|
-
rb_scan_args(argc, argv, "02", &start, &end);
|
224
|
-
|
225
|
-
gtk_text_buffer_delete(_SELF(self),
|
226
|
-
RVAL2STARTITER(self, start, start_iter),
|
227
|
-
RVAL2ENDITER(self, end, end_iter));
|
228
|
-
|
229
|
-
return self;
|
230
|
-
}
|
231
|
-
|
232
|
-
static VALUE
|
233
|
-
rg_delete_interactive(int argc, VALUE *argv, VALUE self)
|
234
|
-
{
|
235
|
-
VALUE start, end, editable;
|
236
|
-
GtkTextIter start_iter, end_iter;
|
237
|
-
|
238
|
-
rb_scan_args(argc, argv, "03", &start, &end, &editable);
|
239
|
-
|
240
|
-
return CBOOL2RVAL(gtk_text_buffer_delete_interactive(_SELF(self),
|
241
|
-
RVAL2STARTITER(self, start, start_iter),
|
242
|
-
RVAL2ENDITER(self, end, end_iter),
|
243
|
-
RVAL2CBOOL(editable)));
|
244
|
-
}
|
245
|
-
|
246
|
-
static VALUE
|
247
|
-
rg_get_text(int argc, VALUE *argv, VALUE self)
|
248
|
-
{
|
249
|
-
VALUE start, end, include_hidden_chars;
|
250
|
-
GtkTextIter start_iter, end_iter;
|
251
|
-
gchar* ret;
|
252
|
-
|
253
|
-
rb_scan_args(argc, argv, "03", &start, &end, &include_hidden_chars);
|
254
|
-
|
255
|
-
ret = gtk_text_buffer_get_text(_SELF(self),
|
256
|
-
RVAL2STARTITER(self, start, start_iter),
|
257
|
-
RVAL2ENDITER(self, end, end_iter),
|
258
|
-
RVAL2CBOOL(include_hidden_chars));
|
259
|
-
|
260
|
-
return CSTR2RVAL_FREE(ret);
|
261
|
-
}
|
262
|
-
|
263
|
-
static VALUE
|
264
|
-
txt_get_text_all(VALUE self)
|
265
|
-
{
|
266
|
-
return rg_get_text(0, NULL, self);
|
267
|
-
}
|
268
|
-
|
269
|
-
static VALUE
|
270
|
-
rg_get_slice(int argc, VALUE *argv, VALUE self)
|
271
|
-
{
|
272
|
-
VALUE start, end, include_hidden_chars;
|
273
|
-
GtkTextIter start_iter, end_iter;
|
274
|
-
gchar* ret;
|
275
|
-
|
276
|
-
rb_scan_args(argc, argv, "03", &start, &end, &include_hidden_chars);
|
277
|
-
|
278
|
-
ret = gtk_text_buffer_get_slice(_SELF(self),
|
279
|
-
RVAL2STARTITER(self, start, start_iter),
|
280
|
-
RVAL2ENDITER(self, end, end_iter),
|
281
|
-
RVAL2CBOOL(include_hidden_chars));
|
282
|
-
|
283
|
-
return CSTR2RVAL_FREE(ret);
|
284
|
-
}
|
285
|
-
|
286
|
-
static VALUE
|
287
|
-
rg_slice(VALUE self)
|
288
|
-
{
|
289
|
-
return rg_get_slice(0, NULL, self);
|
290
|
-
}
|
291
|
-
|
292
|
-
static VALUE
|
293
|
-
rg_create_child_anchor(VALUE self, VALUE iter)
|
294
|
-
{
|
295
|
-
VALUE ret = GOBJ2RVAL(gtk_text_buffer_create_child_anchor(_SELF(self), RVAL2ITER(self, iter)));
|
296
|
-
G_CHILD_ADD(self, ret);
|
297
|
-
return ret;
|
298
|
-
}
|
299
|
-
|
300
|
-
static VALUE
|
301
|
-
rg_create_mark(VALUE self, VALUE name, VALUE where, VALUE left_gravity)
|
302
|
-
{
|
303
|
-
VALUE ret = GOBJ2RVAL(gtk_text_buffer_create_mark(_SELF(self),
|
304
|
-
RVAL2CSTR_ACCEPT_NIL(name),
|
305
|
-
RVAL2ITER(self, where),
|
306
|
-
RVAL2CBOOL(left_gravity)));
|
307
|
-
G_CHILD_ADD(self, ret);
|
308
|
-
return ret;
|
309
|
-
}
|
310
|
-
|
311
|
-
static VALUE
|
312
|
-
rg_add_mark(VALUE self, VALUE mark, VALUE where)
|
313
|
-
{
|
314
|
-
gtk_text_buffer_add_mark(_SELF(self), RVAL2GTKTEXTMARK(mark), RVAL2ITER(self, where));
|
315
|
-
return self;
|
316
|
-
}
|
317
|
-
|
318
|
-
static VALUE
|
319
|
-
rg_delete_mark(VALUE self, VALUE mark)
|
320
|
-
{
|
321
|
-
if (rb_obj_is_kind_of(mark, GTYPE2CLASS(GTK_TYPE_TEXT_MARK))){
|
322
|
-
G_CHILD_REMOVE(self, mark);
|
323
|
-
gtk_text_buffer_delete_mark(_SELF(self), RVAL2GTKTEXTMARK(mark));
|
324
|
-
} else {
|
325
|
-
G_CHILD_REMOVE(self, GOBJ2RVAL(gtk_text_buffer_get_mark(_SELF(self), RVAL2CSTR(mark))));
|
326
|
-
gtk_text_buffer_delete_mark_by_name(_SELF(self), RVAL2CSTR(mark));
|
327
|
-
}
|
328
|
-
return self;
|
329
|
-
}
|
330
|
-
|
331
|
-
static VALUE
|
332
|
-
rg_get_mark(VALUE self, VALUE name)
|
333
|
-
{
|
334
|
-
return GOBJ2RVAL(gtk_text_buffer_get_mark(_SELF(self), RVAL2CSTR(name)));
|
335
|
-
}
|
336
|
-
|
337
|
-
/*
|
338
|
-
static VALUE
|
339
|
-
rg_get_insert(VALUE self)
|
340
|
-
{
|
341
|
-
return GOBJ2RVAL(gtk_text_buffer_get_insert(_SELF(self)));
|
342
|
-
}
|
343
|
-
*/
|
344
|
-
|
345
|
-
static VALUE
|
346
|
-
rg_selection_bound(VALUE self)
|
347
|
-
{
|
348
|
-
return GOBJ2RVAL(gtk_text_buffer_get_selection_bound(_SELF(self)));
|
349
|
-
}
|
350
|
-
|
351
|
-
static VALUE
|
352
|
-
rg_place_cursor(VALUE self, VALUE where)
|
353
|
-
{
|
354
|
-
gtk_text_buffer_place_cursor(_SELF(self), RVAL2ITER(self, where));
|
355
|
-
return self;
|
356
|
-
}
|
357
|
-
|
358
|
-
static VALUE
|
359
|
-
rg_select_range(VALUE self, VALUE ins, VALUE bound)
|
360
|
-
{
|
361
|
-
gtk_text_buffer_select_range(_SELF(self), RVAL2ITER(self, ins), RVAL2ITER(self, bound));
|
362
|
-
return self;
|
363
|
-
}
|
364
|
-
|
365
|
-
static VALUE
|
366
|
-
rg_modified_p(VALUE self)
|
367
|
-
{
|
368
|
-
return CBOOL2RVAL(gtk_text_buffer_get_modified(_SELF(self)));
|
369
|
-
}
|
370
|
-
|
371
|
-
static VALUE
|
372
|
-
rg_set_modified(VALUE self, VALUE setting)
|
373
|
-
{
|
374
|
-
gtk_text_buffer_set_modified(_SELF(self), RVAL2CBOOL(setting));
|
375
|
-
return setting;
|
376
|
-
}
|
377
|
-
|
378
|
-
static VALUE
|
379
|
-
rg_add_selection_clipboard(VALUE self, VALUE clipboard)
|
380
|
-
{
|
381
|
-
G_CHILD_ADD(self, clipboard);
|
382
|
-
gtk_text_buffer_add_selection_clipboard(_SELF(self), RVAL2GTKCLIPBOARD(clipboard));
|
383
|
-
return self;
|
384
|
-
}
|
385
|
-
|
386
|
-
static VALUE
|
387
|
-
rg_remove_selection_clipboard(VALUE self, VALUE clipboard)
|
388
|
-
{
|
389
|
-
G_CHILD_REMOVE(self, clipboard);
|
390
|
-
gtk_text_buffer_remove_selection_clipboard(_SELF(self), RVAL2GTKCLIPBOARD(clipboard));
|
391
|
-
return self;
|
392
|
-
}
|
393
|
-
|
394
|
-
static VALUE
|
395
|
-
rg_deserialize(VALUE self, VALUE content_buffer, VALUE format, VALUE iter, VALUE data)
|
396
|
-
{
|
397
|
-
GError* error = NULL;
|
398
|
-
gboolean ret;
|
399
|
-
|
400
|
-
StringValue(data);
|
401
|
-
ret = gtk_text_buffer_deserialize(_SELF(self), _SELF(content_buffer),
|
402
|
-
RVAL2ATOM(format),
|
403
|
-
RVAL2ITER(self, iter),
|
404
|
-
(const guint8*)RSTRING_PTR(data),
|
405
|
-
(gsize)RSTRING_LEN(data),
|
406
|
-
&error);
|
407
|
-
if (! ret) RAISE_GERROR(error);
|
408
|
-
return self;
|
409
|
-
}
|
410
|
-
|
411
|
-
static VALUE
|
412
|
-
rg_deserialize_can_create_tags_p(VALUE self, VALUE format)
|
413
|
-
{
|
414
|
-
return CBOOL2RVAL(gtk_text_buffer_deserialize_get_can_create_tags(_SELF(self),
|
415
|
-
RVAL2ATOM(format)));
|
416
|
-
|
417
|
-
}
|
418
|
-
|
419
|
-
static VALUE
|
420
|
-
rg_deserialize_set_can_create_tags(VALUE self, VALUE format, VALUE can_create_tags)
|
421
|
-
{
|
422
|
-
gtk_text_buffer_deserialize_set_can_create_tags(_SELF(self),
|
423
|
-
RVAL2ATOM(format),
|
424
|
-
RVAL2CBOOL(can_create_tags));
|
425
|
-
return self;
|
426
|
-
}
|
427
|
-
|
428
|
-
static VALUE
|
429
|
-
rg_deserialize_formats(VALUE self)
|
430
|
-
{
|
431
|
-
gint i;
|
432
|
-
gint n_formats;
|
433
|
-
GdkAtom* atoms = gtk_text_buffer_get_deserialize_formats(_SELF(self), &n_formats);
|
434
|
-
VALUE ary = rb_ary_new();
|
435
|
-
|
436
|
-
for (i = 0; i < n_formats; i++){
|
437
|
-
rb_ary_push(ary, GDKATOM2RVAL(atoms[i]));
|
438
|
-
}
|
439
|
-
return ary;
|
440
|
-
}
|
441
|
-
|
442
|
-
static VALUE
|
443
|
-
rg_serialize_formats(VALUE self)
|
444
|
-
{
|
445
|
-
gint i;
|
446
|
-
gint n_formats;
|
447
|
-
GdkAtom* atoms = gtk_text_buffer_get_serialize_formats(_SELF(self), &n_formats);
|
448
|
-
VALUE ary = rb_ary_new();
|
449
|
-
|
450
|
-
for (i = 0; i < n_formats; i++){
|
451
|
-
rb_ary_push(ary, GDKATOM2RVAL(atoms[i]));
|
452
|
-
}
|
453
|
-
return ary;
|
454
|
-
}
|
455
|
-
|
456
|
-
struct callback_arg
|
457
|
-
{
|
458
|
-
VALUE callback;
|
459
|
-
int argc;
|
460
|
-
VALUE *argv;
|
461
|
-
};
|
462
|
-
|
463
|
-
static VALUE
|
464
|
-
invoke_callback(VALUE data)
|
465
|
-
{
|
466
|
-
struct callback_arg *arg = (struct callback_arg *)data;
|
467
|
-
|
468
|
-
return rb_funcall2(arg->callback, id_call, arg->argc, arg->argv);
|
469
|
-
}
|
470
|
-
|
471
|
-
static gboolean
|
472
|
-
deserialize_func(GtkTextBuffer *register_buffer,
|
473
|
-
GtkTextBuffer *content_buffer,
|
474
|
-
GtkTextIter *iter,
|
475
|
-
const guint8 *data,
|
476
|
-
gsize length,
|
477
|
-
gboolean create_tags,
|
478
|
-
gpointer func,
|
479
|
-
G_GNUC_UNUSED GError **error)
|
480
|
-
{
|
481
|
-
VALUE result;
|
482
|
-
VALUE argv[5];
|
483
|
-
struct callback_arg arg;
|
484
|
-
|
485
|
-
argv[0] = GOBJ2RVAL(register_buffer);
|
486
|
-
argv[1] = GOBJ2RVAL(content_buffer);
|
487
|
-
argv[2] = GTKTEXTITER2RVAL(iter);
|
488
|
-
argv[3] = RBG_STRING_SET_UTF8_ENCODING(rb_str_new((char*)data, length));
|
489
|
-
argv[4] = CBOOL2RVAL(create_tags);
|
490
|
-
|
491
|
-
arg.callback = (VALUE)func;
|
492
|
-
arg.argc = 5;
|
493
|
-
arg.argv = argv;
|
494
|
-
|
495
|
-
result = G_PROTECT_CALLBACK(invoke_callback, &arg);
|
496
|
-
return NIL_P(rb_errinfo()) ? RVAL2CBOOL(result) : FALSE;
|
497
|
-
}
|
498
|
-
|
499
|
-
static void
|
500
|
-
remove_callback_reference(gpointer callback)
|
501
|
-
{
|
502
|
-
G_CHILD_REMOVE(rb_mGtk, (VALUE)callback);
|
503
|
-
}
|
504
|
-
|
505
|
-
static VALUE
|
506
|
-
rg_register_deserialize_format(VALUE self, VALUE mime_type)
|
507
|
-
{
|
508
|
-
VALUE block = rb_block_proc();
|
509
|
-
GdkAtom atom;
|
510
|
-
G_CHILD_ADD(rb_mGtk, block);
|
511
|
-
atom = gtk_text_buffer_register_deserialize_format(_SELF(self),
|
512
|
-
(const gchar*)RVAL2CSTR(mime_type),
|
513
|
-
(GtkTextBufferDeserializeFunc)deserialize_func,
|
514
|
-
(gpointer)block,
|
515
|
-
(GDestroyNotify)remove_callback_reference);
|
516
|
-
return GDKATOM2RVAL(atom);
|
517
|
-
}
|
518
|
-
|
519
|
-
static VALUE
|
520
|
-
rg_register_deserialize_target(VALUE self, VALUE tagset_name)
|
521
|
-
{
|
522
|
-
return GDKATOM2RVAL(gtk_text_buffer_register_deserialize_tagset(_SELF(self),
|
523
|
-
RVAL2CSTR_ACCEPT_NIL(tagset_name)));
|
524
|
-
}
|
525
|
-
|
526
|
-
static guint8*
|
527
|
-
serialize_func(GtkTextBuffer *register_buffer, GtkTextBuffer *content_buffer, GtkTextIter *start, GtkTextIter *end, gsize *length, gpointer func)
|
528
|
-
{
|
529
|
-
VALUE result;
|
530
|
-
VALUE argv[4];
|
531
|
-
struct callback_arg arg;
|
532
|
-
|
533
|
-
argv[0] = GOBJ2RVAL(register_buffer);
|
534
|
-
argv[1] = GOBJ2RVAL(content_buffer);
|
535
|
-
argv[2] = GTKTEXTITER2RVAL(start);
|
536
|
-
argv[3] = GTKTEXTITER2RVAL(end);
|
537
|
-
|
538
|
-
arg.callback = (VALUE)func;
|
539
|
-
arg.argc = 4;
|
540
|
-
arg.argv = argv;
|
541
|
-
|
542
|
-
/* This should return data as String */
|
543
|
-
result = G_PROTECT_CALLBACK(invoke_callback, &arg);
|
544
|
-
StringValue(result);
|
545
|
-
*length = RSTRING_LEN(result);
|
546
|
-
return (guint8*)(NIL_P(rb_errinfo()) ? RSTRING_PTR(result) : NULL);
|
547
|
-
}
|
548
|
-
|
549
|
-
static VALUE
|
550
|
-
rg_register_serialize_format(VALUE self, VALUE mime_type)
|
551
|
-
{
|
552
|
-
VALUE block = rb_block_proc();
|
553
|
-
GdkAtom atom;
|
554
|
-
G_CHILD_ADD(rb_mGtk, block);
|
555
|
-
atom = gtk_text_buffer_register_serialize_format(_SELF(self),
|
556
|
-
(const gchar*)RVAL2CSTR(mime_type),
|
557
|
-
(GtkTextBufferSerializeFunc)serialize_func,
|
558
|
-
(gpointer)block,
|
559
|
-
(GDestroyNotify)remove_callback_reference);
|
560
|
-
return GDKATOM2RVAL(atom);
|
561
|
-
}
|
562
|
-
|
563
|
-
static VALUE
|
564
|
-
rg_register_serialize_target(VALUE self, VALUE tagset_name)
|
565
|
-
{
|
566
|
-
return GDKATOM2RVAL(gtk_text_buffer_register_serialize_tagset(_SELF(self),
|
567
|
-
RVAL2CSTR_ACCEPT_NIL(tagset_name)));
|
568
|
-
}
|
569
|
-
|
570
|
-
static VALUE
|
571
|
-
rg_serialize(VALUE self, VALUE content_buffer, VALUE format, VALUE start, VALUE end)
|
572
|
-
{
|
573
|
-
gsize length;
|
574
|
-
guint8* ret = gtk_text_buffer_serialize(_SELF(self), _SELF(content_buffer),
|
575
|
-
RVAL2ATOM(format),
|
576
|
-
RVAL2ITER(self, start), RVAL2ITER(self, end),
|
577
|
-
&length);
|
578
|
-
return RBG_STRING_SET_UTF8_ENCODING(rb_str_new((char*)ret, length));
|
579
|
-
}
|
580
|
-
|
581
|
-
static VALUE
|
582
|
-
rg_unregister_deserialize_format(VALUE self, VALUE format)
|
583
|
-
{
|
584
|
-
gtk_text_buffer_unregister_deserialize_format(_SELF(self), RVAL2ATOM(format));
|
585
|
-
return self;
|
586
|
-
}
|
587
|
-
|
588
|
-
static VALUE
|
589
|
-
rg_unregister_serialize_format(VALUE self, VALUE format)
|
590
|
-
{
|
591
|
-
gtk_text_buffer_unregister_serialize_format(_SELF(self), RVAL2ATOM(format));
|
592
|
-
return self;
|
593
|
-
}
|
594
|
-
|
595
|
-
static VALUE
|
596
|
-
rg_cut_clipboard(VALUE self, VALUE clipboard, VALUE default_editable)
|
597
|
-
{
|
598
|
-
G_CHILD_ADD(self, clipboard);
|
599
|
-
gtk_text_buffer_cut_clipboard(_SELF(self), RVAL2GTKCLIPBOARD(clipboard), RVAL2CBOOL(default_editable));
|
600
|
-
return self;
|
601
|
-
}
|
602
|
-
|
603
|
-
static VALUE
|
604
|
-
rg_copy_clipboard(VALUE self, VALUE clipboard)
|
605
|
-
{
|
606
|
-
G_CHILD_ADD(self, clipboard);
|
607
|
-
gtk_text_buffer_copy_clipboard(_SELF(self), RVAL2GTKCLIPBOARD(clipboard));
|
608
|
-
return self;
|
609
|
-
}
|
610
|
-
|
611
|
-
static VALUE
|
612
|
-
rg_paste_clipboard(VALUE self, VALUE clipboard, VALUE location, VALUE default_editable)
|
613
|
-
{
|
614
|
-
G_CHILD_ADD(self, clipboard);
|
615
|
-
gtk_text_buffer_paste_clipboard(_SELF(self), RVAL2GTKCLIPBOARD(clipboard),
|
616
|
-
NIL_P(location) ? NULL : RVAL2ITER(self, location),
|
617
|
-
RVAL2CBOOL(default_editable));
|
618
|
-
return self;
|
619
|
-
}
|
620
|
-
|
621
|
-
static VALUE
|
622
|
-
rg_selection_bounds(VALUE self)
|
623
|
-
{
|
624
|
-
GtkTextIter start, end;
|
625
|
-
|
626
|
-
gboolean ret = gtk_text_buffer_get_selection_bounds(_SELF(self), &start, &end);
|
627
|
-
return rb_ary_new3(3, GTKTEXTITER2RVAL(&start), GTKTEXTITER2RVAL(&end), CBOOL2RVAL(ret));
|
628
|
-
}
|
629
|
-
|
630
|
-
static VALUE
|
631
|
-
rg_delete_selection(int argc, VALUE *argv, VALUE self)
|
632
|
-
{
|
633
|
-
VALUE interactive, default_editable;
|
634
|
-
rb_scan_args(argc, argv, "20", &interactive, &default_editable);
|
635
|
-
return CBOOL2RVAL(gtk_text_buffer_delete_selection(_SELF(self),
|
636
|
-
RVAL2CBOOL(interactive), RVAL2CBOOL(default_editable)));
|
637
|
-
}
|
638
|
-
|
639
|
-
static VALUE
|
640
|
-
rg_end_user_action(VALUE self)
|
641
|
-
{
|
642
|
-
gtk_text_buffer_end_user_action(_SELF(self));
|
643
|
-
return self;
|
644
|
-
}
|
645
|
-
|
646
|
-
static VALUE
|
647
|
-
rg_begin_user_action(VALUE self)
|
648
|
-
{
|
649
|
-
gtk_text_buffer_begin_user_action(_SELF(self));
|
650
|
-
if (rb_block_given_p())
|
651
|
-
rb_ensure(rb_yield, self, rg_end_user_action, self);
|
652
|
-
return self;
|
653
|
-
}
|
654
|
-
|
655
|
-
static VALUE
|
656
|
-
rg_start_iter(VALUE self)
|
657
|
-
{
|
658
|
-
GtkTextIter iter;
|
659
|
-
gtk_text_buffer_get_start_iter(_SELF(self), &iter);
|
660
|
-
return GTKTEXTITER2RVAL(&iter);
|
661
|
-
}
|
662
|
-
|
663
|
-
static VALUE
|
664
|
-
rg_end_iter(VALUE self)
|
665
|
-
{
|
666
|
-
GtkTextIter iter;
|
667
|
-
gtk_text_buffer_get_end_iter(_SELF(self), &iter);
|
668
|
-
return GTKTEXTITER2RVAL(&iter);
|
669
|
-
}
|
670
|
-
|
671
|
-
static VALUE
|
672
|
-
rg_move_mark(VALUE self, VALUE mark, VALUE where)
|
673
|
-
{
|
674
|
-
if (rb_obj_is_kind_of(mark, GTYPE2CLASS(GTK_TYPE_TEXT_MARK)))
|
675
|
-
gtk_text_buffer_move_mark(_SELF(self), RVAL2GTKTEXTMARK(mark), RVAL2ITER(self, where));
|
676
|
-
else
|
677
|
-
gtk_text_buffer_move_mark_by_name(_SELF(self), RVAL2CSTR(mark), RVAL2ITER(self, where));
|
678
|
-
return self;
|
679
|
-
}
|
680
|
-
|
681
|
-
static VALUE
|
682
|
-
rg_create_tag(VALUE self, VALUE tag_name, VALUE properties)
|
683
|
-
{
|
684
|
-
GtkTextTag *tag;
|
685
|
-
VALUE ret;
|
686
|
-
|
687
|
-
tag = gtk_text_tag_new(RVAL2CSTR_ACCEPT_NIL(tag_name));
|
688
|
-
gtk_text_tag_table_add (gtk_text_buffer_get_tag_table(_SELF(self)), tag);
|
689
|
-
|
690
|
-
G_SET_PROPERTIES(GOBJ2RVAL(tag), properties);
|
691
|
-
|
692
|
-
ret = GOBJ2RVAL(tag);
|
693
|
-
|
694
|
-
G_CHILD_ADD(self, ret);
|
695
|
-
|
696
|
-
return ret;
|
697
|
-
}
|
698
|
-
|
699
|
-
static VALUE
|
700
|
-
rg_insert(int argc, VALUE *argv, VALUE self)
|
701
|
-
{
|
702
|
-
VALUE where, value, tags;
|
703
|
-
gint start_offset;
|
704
|
-
GtkTextIter start;
|
705
|
-
int i;
|
706
|
-
|
707
|
-
rb_scan_args(argc, argv, "2*", &where, &value, &tags);
|
708
|
-
|
709
|
-
G_CHILD_ADD(self, where);
|
710
|
-
G_CHILD_ADD(self, value);
|
711
|
-
if (rb_obj_is_kind_of(value, GTYPE2CLASS(GDK_TYPE_PIXBUF))){
|
712
|
-
gtk_text_buffer_insert_pixbuf(_SELF(self), RVAL2ITER(self, where),
|
713
|
-
RVAL2GDKPIXBUF(value));
|
714
|
-
} else if (rb_obj_is_kind_of(value, GTYPE2CLASS(GTK_TYPE_TEXT_CHILD_ANCHOR))){
|
715
|
-
gtk_text_buffer_insert_child_anchor(_SELF(self), RVAL2ITER(self, where),
|
716
|
-
RVAL2GTKTEXTCHILDANCHOR(value));
|
717
|
-
} else {
|
718
|
-
start_offset = gtk_text_iter_get_offset(RVAL2ITER(self, where));
|
719
|
-
StringValue(value);
|
720
|
-
gtk_text_buffer_insert(_SELF(self), RVAL2ITER(self, where),
|
721
|
-
RSTRING_PTR(value), RSTRING_LEN(value));
|
722
|
-
|
723
|
-
if (RARRAY_LEN(tags) == 0)
|
724
|
-
return self;
|
725
|
-
|
726
|
-
/* TODO: Do we really want to do this before we know that everything
|
727
|
-
* below passed without any errors? */
|
728
|
-
G_CHILD_ADD(self, tags);
|
729
|
-
|
730
|
-
gtk_text_buffer_get_iter_at_offset(_SELF(self), &start, start_offset);
|
731
|
-
|
732
|
-
for(i = 0; i < RARRAY_LEN(tags); i++) {
|
733
|
-
GtkTextTag *tag;
|
734
|
-
|
735
|
-
if (rb_obj_is_kind_of(RARRAY_PTR(tags)[i], GTYPE2CLASS(GTK_TYPE_TEXT_TAG))) {
|
736
|
-
tag = RVAL2GOBJ(RARRAY_PTR(tags)[i]);
|
737
|
-
} else {
|
738
|
-
tag = gtk_text_tag_table_lookup(gtk_text_buffer_get_tag_table(_SELF(self)),
|
739
|
-
RVAL2CSTR(RARRAY_PTR(tags)[i]));
|
740
|
-
if (tag == NULL) {
|
741
|
-
g_warning ("%s: no tag with name '%s'!",
|
742
|
-
G_STRLOC, RVAL2CSTR(RARRAY_PTR(tags)[i]));
|
743
|
-
return self;
|
744
|
-
}
|
745
|
-
}
|
746
|
-
gtk_text_buffer_apply_tag(_SELF(self), tag, &start, RVAL2ITER(self, where));
|
747
|
-
}
|
748
|
-
}
|
749
|
-
return self;
|
750
|
-
}
|
751
|
-
|
752
|
-
static VALUE
|
753
|
-
rg_apply_tag(int argc, VALUE *argv, VALUE self)
|
754
|
-
{
|
755
|
-
VALUE tag, start, end;
|
756
|
-
GtkTextIter start_iter, end_iter;
|
757
|
-
|
758
|
-
rb_scan_args(argc, argv, "12", &tag, &start, &end);
|
759
|
-
|
760
|
-
if (rb_obj_is_kind_of(tag, GTYPE2CLASS(GTK_TYPE_TEXT_TAG)))
|
761
|
-
gtk_text_buffer_apply_tag(_SELF(self),
|
762
|
-
RVAL2GTKTEXTTAG(tag),
|
763
|
-
RVAL2STARTITER(self, start, start_iter),
|
764
|
-
RVAL2ENDITER(self, end, end_iter));
|
765
|
-
else
|
766
|
-
gtk_text_buffer_apply_tag_by_name(_SELF(self),
|
767
|
-
RVAL2CSTR(tag),
|
768
|
-
RVAL2STARTITER(self, start, start_iter),
|
769
|
-
RVAL2ENDITER(self, end, end_iter));
|
770
|
-
|
771
|
-
return self;
|
772
|
-
}
|
773
|
-
|
774
|
-
static VALUE
|
775
|
-
rg_remove_tag(int argc, VALUE *argv, VALUE self)
|
776
|
-
{
|
777
|
-
VALUE tag, start, end;
|
778
|
-
GtkTextIter start_iter, end_iter;
|
779
|
-
|
780
|
-
rb_scan_args(argc, argv, "12", &tag, &start, &end);
|
781
|
-
|
782
|
-
if (rb_obj_is_kind_of(tag, GTYPE2CLASS(GTK_TYPE_TEXT_TAG)))
|
783
|
-
gtk_text_buffer_remove_tag(_SELF(self),
|
784
|
-
RVAL2GTKTEXTTAG(tag),
|
785
|
-
RVAL2STARTITER(self, start, start_iter),
|
786
|
-
RVAL2ENDITER(self, end, end_iter));
|
787
|
-
else
|
788
|
-
gtk_text_buffer_remove_tag_by_name(_SELF(self),
|
789
|
-
RVAL2CSTR(tag),
|
790
|
-
RVAL2STARTITER(self, start, start_iter),
|
791
|
-
RVAL2ENDITER(self, end, end_iter));
|
792
|
-
|
793
|
-
return self;
|
794
|
-
}
|
795
|
-
|
796
|
-
static VALUE
|
797
|
-
rg_remove_all_tags(int argc, VALUE *argv, VALUE self)
|
798
|
-
{
|
799
|
-
VALUE start, end;
|
800
|
-
GtkTextIter start_iter, end_iter;
|
801
|
-
|
802
|
-
rb_scan_args(argc, argv, "02", &start, &end);
|
803
|
-
|
804
|
-
gtk_text_buffer_remove_all_tags(_SELF(self),
|
805
|
-
RVAL2STARTITER(self, start, start_iter),
|
806
|
-
RVAL2ENDITER(self, end, end_iter));
|
807
|
-
|
808
|
-
return self;
|
809
|
-
}
|
810
|
-
|
811
|
-
static VALUE
|
812
|
-
rg_bounds(VALUE self)
|
813
|
-
{
|
814
|
-
GtkTextIter start, end;
|
815
|
-
|
816
|
-
gtk_text_buffer_get_bounds(_SELF(self), &start, &end);
|
817
|
-
|
818
|
-
return rb_ary_new3(2, GTKTEXTITER2RVAL(&start), GTKTEXTITER2RVAL(&end));
|
819
|
-
}
|
820
|
-
|
821
|
-
void
|
822
|
-
Init_gtk_textbuffer(VALUE mGtk)
|
823
|
-
{
|
824
|
-
rb_mGtk = mGtk;
|
825
|
-
VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GTK_TYPE_TEXT_BUFFER, "TextBuffer", mGtk);
|
826
|
-
|
827
|
-
RG_DEF_METHOD(initialize, -1);
|
828
|
-
RG_DEF_METHOD(line_count, 0);
|
829
|
-
RG_DEF_METHOD(char_count, 0);
|
830
|
-
|
831
|
-
G_REPLACE_SET_PROPERTY(RG_TARGET_NAMESPACE, "text", txt_set_text, 1);
|
832
|
-
RG_DEF_METHOD(insert, -1);
|
833
|
-
RG_DEF_METHOD(backspace, 3);
|
834
|
-
RG_DEF_METHOD(insert_at_cursor, 1);
|
835
|
-
RG_DEF_METHOD(insert_interactive, 3);
|
836
|
-
RG_DEF_METHOD(insert_interactive_at_cursor, 2);
|
837
|
-
RG_DEF_METHOD(insert_range, 3);
|
838
|
-
RG_DEF_METHOD(insert_range_interactive, 4);
|
839
|
-
|
840
|
-
RG_DEF_METHOD(delete, -1);
|
841
|
-
RG_DEF_METHOD(delete_interactive, -1);
|
842
|
-
|
843
|
-
RG_DEF_METHOD(get_text, -1);
|
844
|
-
G_REPLACE_GET_PROPERTY(RG_TARGET_NAMESPACE, "text", txt_get_text_all, 0);
|
845
|
-
RG_DEF_METHOD(get_slice, -1);
|
846
|
-
RG_DEF_METHOD(slice, 0);
|
847
|
-
|
848
|
-
RG_DEF_METHOD(create_child_anchor, 1);
|
849
|
-
|
850
|
-
RG_DEF_METHOD(create_mark, 3);
|
851
|
-
RG_DEF_METHOD(add_mark, 2);
|
852
|
-
RG_DEF_METHOD(delete_mark, 1);
|
853
|
-
|
854
|
-
RG_DEF_METHOD(get_mark, 1);
|
855
|
-
/* Comment out because this method's name is very bad.
|
856
|
-
Use Gtk::TextBuffer#get_mark("insert") instead.
|
857
|
-
RG_DEF_METHOD(get_insert, 0);
|
858
|
-
*/
|
859
|
-
RG_DEF_METHOD(selection_bound, 0);
|
860
|
-
RG_DEF_METHOD(place_cursor, 1);
|
861
|
-
RG_DEF_METHOD(select_range, 2);
|
862
|
-
RG_DEF_METHOD_P(modified, 0);
|
863
|
-
RG_DEF_METHOD(set_modified, 1);
|
864
|
-
|
865
|
-
RG_DEF_METHOD(add_selection_clipboard, 1);
|
866
|
-
RG_DEF_METHOD(remove_selection_clipboard, 1);
|
867
|
-
RG_DEF_METHOD(deserialize, 4);
|
868
|
-
RG_DEF_METHOD_P(deserialize_can_create_tags, 1);
|
869
|
-
RG_DEF_METHOD(deserialize_set_can_create_tags, 2);
|
870
|
-
RG_DEF_METHOD(deserialize_formats, 0);
|
871
|
-
RG_DEF_METHOD(serialize_formats, 0);
|
872
|
-
RG_DEF_METHOD(register_deserialize_format, 1);
|
873
|
-
RG_DEF_METHOD(register_deserialize_target, 1);
|
874
|
-
RG_DEF_METHOD(register_serialize_format, 1);
|
875
|
-
RG_DEF_METHOD(register_serialize_target, 1);
|
876
|
-
RG_DEF_METHOD(serialize, 4);
|
877
|
-
RG_DEF_METHOD(unregister_deserialize_format, 1);
|
878
|
-
RG_DEF_METHOD(unregister_serialize_format, 1);
|
879
|
-
RG_DEF_METHOD(cut_clipboard, 2);
|
880
|
-
RG_DEF_METHOD(copy_clipboard, 1);
|
881
|
-
RG_DEF_METHOD(paste_clipboard, 3);
|
882
|
-
|
883
|
-
RG_DEF_METHOD(selection_bounds, 0);
|
884
|
-
RG_DEF_METHOD(delete_selection, -1);
|
885
|
-
|
886
|
-
RG_DEF_METHOD(begin_user_action, 0);
|
887
|
-
RG_DEF_METHOD(end_user_action, 0);
|
888
|
-
|
889
|
-
RG_DEF_METHOD(start_iter, 0);
|
890
|
-
RG_DEF_METHOD(end_iter, 0);
|
891
|
-
RG_DEF_METHOD(get_iter_at, 1);
|
892
|
-
RG_DEF_METHOD(bounds, 0);
|
893
|
-
RG_DEF_METHOD(move_mark, 2);
|
894
|
-
|
895
|
-
RG_DEF_METHOD(create_tag, 2);
|
896
|
-
RG_DEF_METHOD(apply_tag, -1);
|
897
|
-
RG_DEF_METHOD(remove_tag, -1);
|
898
|
-
RG_DEF_METHOD(remove_all_tags, -1);
|
899
|
-
}
|