From: Alan Date: Tue, 6 Feb 2024 10:45:53 +0000 (+0800) Subject: Fix #8011 - add resources X-Git-Tag: release-5.0.2~3 X-Git-Url: http://git.roojs.org/?p=roobuilder;a=commitdiff_plain;h=84c9a633e7699d8215579a74c52507c86c49e018 Fix #8011 - add resources --- diff --git a/debian/changelog b/debian/changelog index 25af4af4f..8a9d214f1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -19,6 +19,12 @@ roobuilder (5.0.2) UNRELEASED; urgency=medium * use find path for searching for vala-language-server (and add it as a dependancy!) * support for Adw in rendering of previews (limited though) * remove readonly properties from palete + * added icons from glade (and made the resources) + * added resource support to meson creation + * added gdb / gnome-terminal / meson / ninja to control file + * removed gda dependancy ( not used at present) + * flatpack might work... + -- Alan Knowles Sun, 28 Jan 2024 06:54:56 +0800 diff --git a/debian/control b/debian/control index 730655476..d72c2f438 100644 --- a/debian/control +++ b/debian/control @@ -19,5 +19,7 @@ Depends: meson, ninja-build vala-language-server + gnome-terminal + gdb Description: Vala and Javascript IDE for building Vala Desktop applications and Javascript UI's using the roojs libraries (for bootstrap and classic) diff --git a/meson.build b/meson.build index 298716043..dda42709a 100644 --- a/meson.build +++ b/meson.build @@ -6,6 +6,7 @@ project('roobuilder', 'vala', 'c', 'c_std=gnu11' # for C subprojects ] ) +gnome = import('gnome') valac = meson.get_compiler('vala') @@ -70,11 +71,18 @@ install_data( install_dir: get_option('datadir') + '/icons/hicolor/48x48/apps/' ) -gnome = import('gnome') + gnome.post_install(gtk_update_icon_cache : true) +roobuilder_resources = gnome.compile_resources( + 'roobuilder-resources', 'resources/gresources.xml', + source_dir: [ 'resources/glade-icons', 'resources/html', 'resources/Editors' ], + c_name: 'roobuilder_resources' +) + + install_data( 'roobuilder.desktop', install_dir : get_option('datadir') + '/applications/' @@ -148,10 +156,10 @@ roobuilder_src = files([ 'src/Builder4/MainWindow.vala', ]) + roobuilder = executable('roobuilder', dependencies: deps, - sources: [ roobuilder_src ], + sources: [ roobuilder_src , roobuilder_resources ], install: true ) - diff --git a/org.roojs.roobuilder.json b/org.roojs.roobuilder.json index 8c51d1403..863db6898 100644 --- a/org.roojs.roobuilder.json +++ b/org.roojs.roobuilder.json @@ -3,6 +3,13 @@ "runtime": "org.gnome.Sdk", "runtime-version": "45", "sdk": "org.gnome.Sdk", + "sdk-extensions": [ + "org.freedesktop.Sdk.Extension.vala" + ], + "build-options" : { + "append-path" : "/usr/lib/sdk/vala/bin", + "prepend-ld-library-path" : "/usr/lib/sdk/vala/lib" + }, "command": "roobuilder", "finish-args": [ "--device=dri", @@ -12,6 +19,7 @@ "--socket=pulseaudio", "--socket=wayland", "--socket=session-bus", + "--filesystem=home", "--filesystem=xdg-download:ro", "--filesystem=xdg-music:ro", "--filesystem=xdg-run/gvfsd", @@ -66,7 +74,6 @@ } ] }, - { "name" : "gtksourceview", "buildsystem" : "meson", @@ -91,12 +98,13 @@ "type": "git", "tag": "master", "url": "https://github.com/roojs/roobuilder.git" - }, - { - "type": "patch", - "path": "gda_vapi.patch" - } - ] + } + ], + "post-install": [ + "cp -a /usr/lib/sdk/vala/bin/. /app/bin/", + "cp -a /usr/lib/sdk/vala/lib/. /app/lib/", + "cp -a /usr/lib/sdk/vala/share/. /app/share/" + ] } ] } \ No newline at end of file diff --git a/resources/Gir.overides b/resources/Gir.overides deleted file mode 100644 index 4705c4ee6..000000000 --- a/resources/Gir.overides +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Gtk.Label.new.str": "label" , - "Gtk.Label.new_with_mnemonic.str": "label" , - - "Gtk.MessageDialog.new.parent" : "transient_for", - - "Gtk.MessageDialog.new.type" : "message_type", - "Gtk.MessageDialog.new.message_format" : "text", - - "Gtk.SourceBuffer.new.table" : "tag_table", - "Gtk.Table.new.rows" : "n_rows", - "Gtk.Table.new.columns" : "n_columns", - - "Gtk.ListStore.new.___" : "columns", - "Gtk.TreeStore.new.___" : "columns", - - "Gtk.Grid.attach.top" : "top_attach", - "Gtk.Grid.attach.left" : "left_attach", - - - "-" : "" - -} diff --git a/resources/GtkUsage.txt b/resources/GtkUsage.txt deleted file mode 100644 index b20300508..000000000 --- a/resources/GtkUsage.txt +++ /dev/null @@ -1,291 +0,0 @@ - -// what can be added where... - -left: - *top -right: - Gtk.Window - Gtk.Dialog - Gtk.MessageDialog - Gtk.AboutDialog - Gtk.Dialog - Gtk.FontSelectionDialog - Gtk.InputDialog - Gtk.ColorSelectionDialog - Gtk.FileChooserDialog - Gtk.Menu - GtkClutter.Window - Gtk.OffScreenWindow - Gtk.Popover - Clutter.ScrollActor - Clutter.Actor -// these should really be based on heirachy.. - -left: - Gtk.Window - Gtk.Dialog - Gtk.MessageDialog - Gtk.AboutDialog - Gtk.Dialog - Gtk.OffScreenWindow - Gtk.Popover - Gtk.Alignment - Gtk.AspectFrame - Gtk.Box - Gtk.ButtonBox - Gtk.Paned - Gtk.Table - Gtk.Layout - Gtk.Notebook - //Gtk.Table - //Gtk.Fixed - Gtk.Expander - Gtk.Frame - Gtk.ScrolledWindow - Gtk.ToolItem - Gtk.Viewport - Gtk.Button - GtkClutter.Actor - Gtk.HeaderBar - Gtk.ToolButton -right: - Gtk.Alignment - Gtk.AspectFrame - Gtk.Box - Gtk.ButtonBox - Gtk.Fixed - Gtk.Paned - Gtk.Layout - Gtk.Notebook - Gtk.Table - Gtk.Expander - Gtk.Frame - - Gtk.ScrolledWindow - Gtk.AccelLabel - Gtk.Image - Gtk.Label - Gtk.ProgressBar - Gtk.Statusbar - Gtk.InfoBar - Gtk.StatusIcon - Gtk.Spinner - Gtk.Button - Gtk.CheckButton - Gtk.RadioButton - Gtk.ToggleButton - Gtk.LinkButton - Gtk.ScaleButton - Gtk.VolumeButton - Gtk.Entry - Gtk.HeaderBar - Gtk.HScale - Gtk.VScale - Gtk.SpinButton - Gtk.TreeView - Gtk.TextView - Gtk.ComboBox - Gtk.ComboBoxEntry - Gtk.Menu - Gtk.MenuBar - Gtk.Toolbar - Gtk.ToolPalette - Gtk.ColorButton - Gtk.ColorSelection - Gtk.HSV - Gtk.FileChooserButton - Gtk.FileChooserWidget - Gtk.FontButton - Gtk.IconView - GtkSource.View - WebKit.WebView - Gtk.Viewport - Vte.Terminal - GtkClutter.Embed - Gdl.Dock - Gdl.DockBar - -left: - Gdl.Dock -right: - Gdl.DockItem - - - - -left: - Gdl.DockItem -right: - Gdl.DockItem - - Gtk.Alignment - Gtk.AspectFrame - Gtk.Box - Gtk.ButtonBox - Gtk.Fixed - Gtk.Paned - Gtk.Layout - Gtk.Notebook - Gtk.Table - Gtk.Expander - Gtk.Frame - - Gtk.ScrolledWindow - Gtk.AccelLabel - Gtk.Image - Gtk.Label - Gtk.ProgressBar - Gtk.Statusbar - Gtk.InfoBar - Gtk.StatusIcon - Gtk.Spinner - Gtk.Button - Gtk.CheckButton - Gtk.RadioButton - Gtk.ToggleButton - Gtk.LinkButton - Gtk.ScaleButton - Gtk.VolumeButton - Gtk.Entry - Gtk.HScale - Gtk.VScale - Gtk.SpinButton - Gtk.TreeView - Gtk.ComboBox - Gtk.ComboBoxEntry - Gtk.Menu - Gtk.MenuBar - Gtk.Toolbar - Gtk.ToolPalette - Gtk.ColorButton - Gtk.ColorSelection - Gtk.HSV - Gtk.FileChooserButton - Gtk.FileChooserWidget - Gtk.FontButton - GtkSource.View - WebKit.WebView - Vte.Terminal - GtkClutter.Embed - - - - -left: - Gtk.MenuBar - Gtk.Menu -right: - Gtk.MenuItem - Gtk.ImageMenuItem - Gtk.RadioMenuItem - Gtk.CheckMenuItem - Gtk.SeparatorMenuItem - Gtk.TearoffMenuItem -left: - Gtk.ImageMenuItem -right: - Gtk.Image - - -left: - Gtk.MenuItem:submenu -right: - Gtk.Menu - -left: - Gtk.Toolbar -right: - Gtk.ToolButton - Gtk.ToolItem - Gtk.MenuToolButton - Gtk.ToggleToolButton - Gtk.RadioToolButton - Gtk.ToolItemGroup - Gtk.SeparatorToolItem - - -left: - Gtk.TreeView -right: - Gtk.TreeStore - Gtk.ListStore - Gtk.TreeModelFilter - Gtk.TreeViewColumn - -left: - Gtk.TreeModelFilter -right: - Gtk.TreeStore - Gtk.ListStore - -left: - Gtk.TreeViewColumn -right: - Gtk.CellRendererText - Gtk.CellRendererCombo - Gtk.CellRendererToggle - -left: - Gtk.CellRendererCombo:model - Gtk.ComboBox - Gtk.IconView:model -right: - Gtk.ListStore - - -left: - Gtk.ComboBox -right: - Gtk.CellRendererText - - - -left: - Gtk.ScrolledWindow -right: - Gtk.Viewport - - - -left: - GtkSource.View -right: - GtkSource.Buffer - - - -left: - GtkClutter.Window - GtkClutter.Embed - -right: - GtkClutter.Actor - -left: - Gdl.Dock -right: - Gdl.DockItem - - -left: - Clutter.ScrollActor:layout_manager - Clutter.Actor:layout_manager -right: - Clutter.GridLayout - Clutter.FlowLayout - Clutter.FixedLayout - Clutter.TableLayout - Clutter.BinLayout - Clutter.BoxLayout - -left: - Clutter.ScrollActor - Clutter.Actor -right: - Clutter.Actor - Clutter.ScrollActor - Clutter.Texture - Clutter.Text - Clutter.Rectangle - - diff --git a/resources/glade-icons/widget-gtk-aboutdialog.png b/resources/glade-icons/widget-gtk-aboutdialog.png new file mode 100644 index 000000000..963dd8c9f Binary files /dev/null and b/resources/glade-icons/widget-gtk-aboutdialog.png differ diff --git a/resources/glade-icons/widget-gtk-accelgroup.png b/resources/glade-icons/widget-gtk-accelgroup.png new file mode 100644 index 000000000..ca93b21d5 Binary files /dev/null and b/resources/glade-icons/widget-gtk-accelgroup.png differ diff --git a/resources/glade-icons/widget-gtk-accellabel.png b/resources/glade-icons/widget-gtk-accellabel.png new file mode 100644 index 000000000..947b58aab Binary files /dev/null and b/resources/glade-icons/widget-gtk-accellabel.png differ diff --git a/resources/glade-icons/widget-gtk-action.png b/resources/glade-icons/widget-gtk-action.png new file mode 100644 index 000000000..c84bd7c48 Binary files /dev/null and b/resources/glade-icons/widget-gtk-action.png differ diff --git a/resources/glade-icons/widget-gtk-actionbar.png b/resources/glade-icons/widget-gtk-actionbar.png new file mode 100644 index 000000000..8d4548c59 Binary files /dev/null and b/resources/glade-icons/widget-gtk-actionbar.png differ diff --git a/resources/glade-icons/widget-gtk-actiongroup.png b/resources/glade-icons/widget-gtk-actiongroup.png new file mode 100644 index 000000000..348916f0b Binary files /dev/null and b/resources/glade-icons/widget-gtk-actiongroup.png differ diff --git a/resources/glade-icons/widget-gtk-adjustment.png b/resources/glade-icons/widget-gtk-adjustment.png new file mode 100644 index 000000000..25b028d15 Binary files /dev/null and b/resources/glade-icons/widget-gtk-adjustment.png differ diff --git a/resources/glade-icons/widget-gtk-alignment.png b/resources/glade-icons/widget-gtk-alignment.png new file mode 100644 index 000000000..e25647389 Binary files /dev/null and b/resources/glade-icons/widget-gtk-alignment.png differ diff --git a/resources/glade-icons/widget-gtk-appchooserbutton.png b/resources/glade-icons/widget-gtk-appchooserbutton.png new file mode 100644 index 000000000..d59e72964 Binary files /dev/null and b/resources/glade-icons/widget-gtk-appchooserbutton.png differ diff --git a/resources/glade-icons/widget-gtk-appchooserdialog.png b/resources/glade-icons/widget-gtk-appchooserdialog.png new file mode 100644 index 000000000..df184197f Binary files /dev/null and b/resources/glade-icons/widget-gtk-appchooserdialog.png differ diff --git a/resources/glade-icons/widget-gtk-appchooserwidget.png b/resources/glade-icons/widget-gtk-appchooserwidget.png new file mode 100644 index 000000000..7b971819e Binary files /dev/null and b/resources/glade-icons/widget-gtk-appchooserwidget.png differ diff --git a/resources/glade-icons/widget-gtk-arrow.png b/resources/glade-icons/widget-gtk-arrow.png new file mode 100644 index 000000000..e5cd65fdd Binary files /dev/null and b/resources/glade-icons/widget-gtk-arrow.png differ diff --git a/resources/glade-icons/widget-gtk-aspectframe.png b/resources/glade-icons/widget-gtk-aspectframe.png new file mode 100644 index 000000000..1f1d6fcef Binary files /dev/null and b/resources/glade-icons/widget-gtk-aspectframe.png differ diff --git a/resources/glade-icons/widget-gtk-assistant.png b/resources/glade-icons/widget-gtk-assistant.png new file mode 100644 index 000000000..78cc449d2 Binary files /dev/null and b/resources/glade-icons/widget-gtk-assistant.png differ diff --git a/resources/glade-icons/widget-gtk-box.png b/resources/glade-icons/widget-gtk-box.png new file mode 100644 index 000000000..7aebe835a Binary files /dev/null and b/resources/glade-icons/widget-gtk-box.png differ diff --git a/resources/glade-icons/widget-gtk-button.png b/resources/glade-icons/widget-gtk-button.png new file mode 100644 index 000000000..82c1d96cd Binary files /dev/null and b/resources/glade-icons/widget-gtk-button.png differ diff --git a/resources/glade-icons/widget-gtk-buttonbox.png b/resources/glade-icons/widget-gtk-buttonbox.png new file mode 100644 index 000000000..8c440c742 Binary files /dev/null and b/resources/glade-icons/widget-gtk-buttonbox.png differ diff --git a/resources/glade-icons/widget-gtk-calendar.png b/resources/glade-icons/widget-gtk-calendar.png new file mode 100644 index 000000000..1dceca097 Binary files /dev/null and b/resources/glade-icons/widget-gtk-calendar.png differ diff --git a/resources/glade-icons/widget-gtk-cellareabox.png b/resources/glade-icons/widget-gtk-cellareabox.png new file mode 100644 index 000000000..52314ff00 Binary files /dev/null and b/resources/glade-icons/widget-gtk-cellareabox.png differ diff --git a/resources/glade-icons/widget-gtk-cellrendereraccel.png b/resources/glade-icons/widget-gtk-cellrendereraccel.png new file mode 100644 index 000000000..6147f9f72 Binary files /dev/null and b/resources/glade-icons/widget-gtk-cellrendereraccel.png differ diff --git a/resources/glade-icons/widget-gtk-cellrenderercombo.png b/resources/glade-icons/widget-gtk-cellrenderercombo.png new file mode 100644 index 000000000..51bca9042 Binary files /dev/null and b/resources/glade-icons/widget-gtk-cellrenderercombo.png differ diff --git a/resources/glade-icons/widget-gtk-cellrendererpixbuf.png b/resources/glade-icons/widget-gtk-cellrendererpixbuf.png new file mode 100644 index 000000000..8db2d6d85 Binary files /dev/null and b/resources/glade-icons/widget-gtk-cellrendererpixbuf.png differ diff --git a/resources/glade-icons/widget-gtk-cellrendererprogress.png b/resources/glade-icons/widget-gtk-cellrendererprogress.png new file mode 100644 index 000000000..ffe37d37b Binary files /dev/null and b/resources/glade-icons/widget-gtk-cellrendererprogress.png differ diff --git a/resources/glade-icons/widget-gtk-cellrendererspin.png b/resources/glade-icons/widget-gtk-cellrendererspin.png new file mode 100644 index 000000000..009c92e5c Binary files /dev/null and b/resources/glade-icons/widget-gtk-cellrendererspin.png differ diff --git a/resources/glade-icons/widget-gtk-cellrendererspinner.png b/resources/glade-icons/widget-gtk-cellrendererspinner.png new file mode 100644 index 000000000..08349496a Binary files /dev/null and b/resources/glade-icons/widget-gtk-cellrendererspinner.png differ diff --git a/resources/glade-icons/widget-gtk-cellrenderertext.png b/resources/glade-icons/widget-gtk-cellrenderertext.png new file mode 100644 index 000000000..dcae6b9d6 Binary files /dev/null and b/resources/glade-icons/widget-gtk-cellrenderertext.png differ diff --git a/resources/glade-icons/widget-gtk-cellrenderertoggle.png b/resources/glade-icons/widget-gtk-cellrenderertoggle.png new file mode 100644 index 000000000..6b957b6f3 Binary files /dev/null and b/resources/glade-icons/widget-gtk-cellrenderertoggle.png differ diff --git a/resources/glade-icons/widget-gtk-checkbutton.png b/resources/glade-icons/widget-gtk-checkbutton.png new file mode 100644 index 000000000..453e346b4 Binary files /dev/null and b/resources/glade-icons/widget-gtk-checkbutton.png differ diff --git a/resources/glade-icons/widget-gtk-checkmenuitem.png b/resources/glade-icons/widget-gtk-checkmenuitem.png new file mode 100644 index 000000000..1c6b5c0f9 Binary files /dev/null and b/resources/glade-icons/widget-gtk-checkmenuitem.png differ diff --git a/resources/glade-icons/widget-gtk-colorbutton.png b/resources/glade-icons/widget-gtk-colorbutton.png new file mode 100644 index 000000000..585fe4d62 Binary files /dev/null and b/resources/glade-icons/widget-gtk-colorbutton.png differ diff --git a/resources/glade-icons/widget-gtk-colorselection.png b/resources/glade-icons/widget-gtk-colorselection.png new file mode 100644 index 000000000..dae9e56ca Binary files /dev/null and b/resources/glade-icons/widget-gtk-colorselection.png differ diff --git a/resources/glade-icons/widget-gtk-colorselectiondialog.png b/resources/glade-icons/widget-gtk-colorselectiondialog.png new file mode 100644 index 000000000..c04f6a1e5 Binary files /dev/null and b/resources/glade-icons/widget-gtk-colorselectiondialog.png differ diff --git a/resources/glade-icons/widget-gtk-combobox.png b/resources/glade-icons/widget-gtk-combobox.png new file mode 100644 index 000000000..e58f5debc Binary files /dev/null and b/resources/glade-icons/widget-gtk-combobox.png differ diff --git a/resources/glade-icons/widget-gtk-comboboxtext.png b/resources/glade-icons/widget-gtk-comboboxtext.png new file mode 100644 index 000000000..07bd1d16a Binary files /dev/null and b/resources/glade-icons/widget-gtk-comboboxtext.png differ diff --git a/resources/glade-icons/widget-gtk-default.png b/resources/glade-icons/widget-gtk-default.png new file mode 100644 index 000000000..4dd612448 Binary files /dev/null and b/resources/glade-icons/widget-gtk-default.png differ diff --git a/resources/glade-icons/widget-gtk-dialog.png b/resources/glade-icons/widget-gtk-dialog.png new file mode 100644 index 000000000..eb9d8bd09 Binary files /dev/null and b/resources/glade-icons/widget-gtk-dialog.png differ diff --git a/resources/glade-icons/widget-gtk-drawingarea.png b/resources/glade-icons/widget-gtk-drawingarea.png new file mode 100644 index 000000000..59a1a3538 Binary files /dev/null and b/resources/glade-icons/widget-gtk-drawingarea.png differ diff --git a/resources/glade-icons/widget-gtk-entry.png b/resources/glade-icons/widget-gtk-entry.png new file mode 100644 index 000000000..aefd1115b Binary files /dev/null and b/resources/glade-icons/widget-gtk-entry.png differ diff --git a/resources/glade-icons/widget-gtk-entrybuffer.png b/resources/glade-icons/widget-gtk-entrybuffer.png new file mode 100644 index 000000000..66bfcc005 Binary files /dev/null and b/resources/glade-icons/widget-gtk-entrybuffer.png differ diff --git a/resources/glade-icons/widget-gtk-entrycompletion.png b/resources/glade-icons/widget-gtk-entrycompletion.png new file mode 100644 index 000000000..37b01fe1f Binary files /dev/null and b/resources/glade-icons/widget-gtk-entrycompletion.png differ diff --git a/resources/glade-icons/widget-gtk-eventbox.png b/resources/glade-icons/widget-gtk-eventbox.png new file mode 100644 index 000000000..ab78bbc35 Binary files /dev/null and b/resources/glade-icons/widget-gtk-eventbox.png differ diff --git a/resources/glade-icons/widget-gtk-expander.png b/resources/glade-icons/widget-gtk-expander.png new file mode 100644 index 000000000..9c8cb6bd3 Binary files /dev/null and b/resources/glade-icons/widget-gtk-expander.png differ diff --git a/resources/glade-icons/widget-gtk-filechooserbutton.png b/resources/glade-icons/widget-gtk-filechooserbutton.png new file mode 100644 index 000000000..4e8e10a85 Binary files /dev/null and b/resources/glade-icons/widget-gtk-filechooserbutton.png differ diff --git a/resources/glade-icons/widget-gtk-filechooserdialog.png b/resources/glade-icons/widget-gtk-filechooserdialog.png new file mode 100644 index 000000000..82a19420e Binary files /dev/null and b/resources/glade-icons/widget-gtk-filechooserdialog.png differ diff --git a/resources/glade-icons/widget-gtk-filechooserwidget.png b/resources/glade-icons/widget-gtk-filechooserwidget.png new file mode 100644 index 000000000..1d4fcb48f Binary files /dev/null and b/resources/glade-icons/widget-gtk-filechooserwidget.png differ diff --git a/resources/glade-icons/widget-gtk-filefilter.png b/resources/glade-icons/widget-gtk-filefilter.png new file mode 100644 index 000000000..c0ab38f88 Binary files /dev/null and b/resources/glade-icons/widget-gtk-filefilter.png differ diff --git a/resources/glade-icons/widget-gtk-fixed.png b/resources/glade-icons/widget-gtk-fixed.png new file mode 100644 index 000000000..1a2ac511e Binary files /dev/null and b/resources/glade-icons/widget-gtk-fixed.png differ diff --git a/resources/glade-icons/widget-gtk-flowbox.png b/resources/glade-icons/widget-gtk-flowbox.png new file mode 100644 index 000000000..eaeeabf8f Binary files /dev/null and b/resources/glade-icons/widget-gtk-flowbox.png differ diff --git a/resources/glade-icons/widget-gtk-flowboxchild.png b/resources/glade-icons/widget-gtk-flowboxchild.png new file mode 100644 index 000000000..c484d6d78 Binary files /dev/null and b/resources/glade-icons/widget-gtk-flowboxchild.png differ diff --git a/resources/glade-icons/widget-gtk-fontbutton.png b/resources/glade-icons/widget-gtk-fontbutton.png new file mode 100644 index 000000000..c84bd7c48 Binary files /dev/null and b/resources/glade-icons/widget-gtk-fontbutton.png differ diff --git a/resources/glade-icons/widget-gtk-fontselection.png b/resources/glade-icons/widget-gtk-fontselection.png new file mode 100644 index 000000000..bb1c762c3 Binary files /dev/null and b/resources/glade-icons/widget-gtk-fontselection.png differ diff --git a/resources/glade-icons/widget-gtk-fontselectiondialog.png b/resources/glade-icons/widget-gtk-fontselectiondialog.png new file mode 100644 index 000000000..61571e7ce Binary files /dev/null and b/resources/glade-icons/widget-gtk-fontselectiondialog.png differ diff --git a/resources/glade-icons/widget-gtk-frame.png b/resources/glade-icons/widget-gtk-frame.png new file mode 100644 index 000000000..5f19b7278 Binary files /dev/null and b/resources/glade-icons/widget-gtk-frame.png differ diff --git a/resources/glade-icons/widget-gtk-glarea.png b/resources/glade-icons/widget-gtk-glarea.png new file mode 100644 index 000000000..a3df42f84 Binary files /dev/null and b/resources/glade-icons/widget-gtk-glarea.png differ diff --git a/resources/glade-icons/widget-gtk-grid.png b/resources/glade-icons/widget-gtk-grid.png new file mode 100644 index 000000000..0f2693d14 Binary files /dev/null and b/resources/glade-icons/widget-gtk-grid.png differ diff --git a/resources/glade-icons/widget-gtk-handlebox.png b/resources/glade-icons/widget-gtk-handlebox.png new file mode 100644 index 000000000..cc7955def Binary files /dev/null and b/resources/glade-icons/widget-gtk-handlebox.png differ diff --git a/resources/glade-icons/widget-gtk-hbox.png b/resources/glade-icons/widget-gtk-hbox.png new file mode 100644 index 000000000..ee805ad58 Binary files /dev/null and b/resources/glade-icons/widget-gtk-hbox.png differ diff --git a/resources/glade-icons/widget-gtk-hbuttonbox.png b/resources/glade-icons/widget-gtk-hbuttonbox.png new file mode 100644 index 000000000..8c440c742 Binary files /dev/null and b/resources/glade-icons/widget-gtk-hbuttonbox.png differ diff --git a/resources/glade-icons/widget-gtk-headerbar.png b/resources/glade-icons/widget-gtk-headerbar.png new file mode 100644 index 000000000..914cd784b Binary files /dev/null and b/resources/glade-icons/widget-gtk-headerbar.png differ diff --git a/resources/glade-icons/widget-gtk-hpaned.png b/resources/glade-icons/widget-gtk-hpaned.png new file mode 100644 index 000000000..f419e7192 Binary files /dev/null and b/resources/glade-icons/widget-gtk-hpaned.png differ diff --git a/resources/glade-icons/widget-gtk-hscale.png b/resources/glade-icons/widget-gtk-hscale.png new file mode 100644 index 000000000..5be4070f3 Binary files /dev/null and b/resources/glade-icons/widget-gtk-hscale.png differ diff --git a/resources/glade-icons/widget-gtk-hscrollbar.png b/resources/glade-icons/widget-gtk-hscrollbar.png new file mode 100644 index 000000000..9daaebdd6 Binary files /dev/null and b/resources/glade-icons/widget-gtk-hscrollbar.png differ diff --git a/resources/glade-icons/widget-gtk-hseparator.png b/resources/glade-icons/widget-gtk-hseparator.png new file mode 100644 index 000000000..80be2b9b0 Binary files /dev/null and b/resources/glade-icons/widget-gtk-hseparator.png differ diff --git a/resources/glade-icons/widget-gtk-iconfactory.png b/resources/glade-icons/widget-gtk-iconfactory.png new file mode 100644 index 000000000..8353a7a10 Binary files /dev/null and b/resources/glade-icons/widget-gtk-iconfactory.png differ diff --git a/resources/glade-icons/widget-gtk-iconview.png b/resources/glade-icons/widget-gtk-iconview.png new file mode 100644 index 000000000..cc1660602 Binary files /dev/null and b/resources/glade-icons/widget-gtk-iconview.png differ diff --git a/resources/glade-icons/widget-gtk-image.png b/resources/glade-icons/widget-gtk-image.png new file mode 100644 index 000000000..078c1c308 Binary files /dev/null and b/resources/glade-icons/widget-gtk-image.png differ diff --git a/resources/glade-icons/widget-gtk-imagemenuitem.png b/resources/glade-icons/widget-gtk-imagemenuitem.png new file mode 100644 index 000000000..1c7f14c33 Binary files /dev/null and b/resources/glade-icons/widget-gtk-imagemenuitem.png differ diff --git a/resources/glade-icons/widget-gtk-infobar.png b/resources/glade-icons/widget-gtk-infobar.png new file mode 100644 index 000000000..aa488c4ec Binary files /dev/null and b/resources/glade-icons/widget-gtk-infobar.png differ diff --git a/resources/glade-icons/widget-gtk-inputdialog.png b/resources/glade-icons/widget-gtk-inputdialog.png new file mode 100644 index 000000000..a4bf1836b Binary files /dev/null and b/resources/glade-icons/widget-gtk-inputdialog.png differ diff --git a/resources/glade-icons/widget-gtk-label.png b/resources/glade-icons/widget-gtk-label.png new file mode 100644 index 000000000..62ff63e9f Binary files /dev/null and b/resources/glade-icons/widget-gtk-label.png differ diff --git a/resources/glade-icons/widget-gtk-layout.png b/resources/glade-icons/widget-gtk-layout.png new file mode 100644 index 000000000..7b26297cf Binary files /dev/null and b/resources/glade-icons/widget-gtk-layout.png differ diff --git a/resources/glade-icons/widget-gtk-levelbar.png b/resources/glade-icons/widget-gtk-levelbar.png new file mode 100644 index 000000000..90c7d7ccb Binary files /dev/null and b/resources/glade-icons/widget-gtk-levelbar.png differ diff --git a/resources/glade-icons/widget-gtk-linkbutton.png b/resources/glade-icons/widget-gtk-linkbutton.png new file mode 100644 index 000000000..4bef71a6a Binary files /dev/null and b/resources/glade-icons/widget-gtk-linkbutton.png differ diff --git a/resources/glade-icons/widget-gtk-listbox.png b/resources/glade-icons/widget-gtk-listbox.png new file mode 100644 index 000000000..ec68826e6 Binary files /dev/null and b/resources/glade-icons/widget-gtk-listbox.png differ diff --git a/resources/glade-icons/widget-gtk-listboxrow.png b/resources/glade-icons/widget-gtk-listboxrow.png new file mode 100644 index 000000000..8b2c99d72 Binary files /dev/null and b/resources/glade-icons/widget-gtk-listboxrow.png differ diff --git a/resources/glade-icons/widget-gtk-liststore.png b/resources/glade-icons/widget-gtk-liststore.png new file mode 100644 index 000000000..de0745e9e Binary files /dev/null and b/resources/glade-icons/widget-gtk-liststore.png differ diff --git a/resources/glade-icons/widget-gtk-lockbutton.png b/resources/glade-icons/widget-gtk-lockbutton.png new file mode 100644 index 000000000..3e9118a31 Binary files /dev/null and b/resources/glade-icons/widget-gtk-lockbutton.png differ diff --git a/resources/glade-icons/widget-gtk-menu.png b/resources/glade-icons/widget-gtk-menu.png new file mode 100644 index 000000000..5469dddc0 Binary files /dev/null and b/resources/glade-icons/widget-gtk-menu.png differ diff --git a/resources/glade-icons/widget-gtk-menubar.png b/resources/glade-icons/widget-gtk-menubar.png new file mode 100644 index 000000000..23def1e16 Binary files /dev/null and b/resources/glade-icons/widget-gtk-menubar.png differ diff --git a/resources/glade-icons/widget-gtk-menubutton.png b/resources/glade-icons/widget-gtk-menubutton.png new file mode 100644 index 000000000..dc30af1fa Binary files /dev/null and b/resources/glade-icons/widget-gtk-menubutton.png differ diff --git a/resources/glade-icons/widget-gtk-menuitem.png b/resources/glade-icons/widget-gtk-menuitem.png new file mode 100644 index 000000000..09fdafb2c Binary files /dev/null and b/resources/glade-icons/widget-gtk-menuitem.png differ diff --git a/resources/glade-icons/widget-gtk-menutoolbutton.png b/resources/glade-icons/widget-gtk-menutoolbutton.png new file mode 100644 index 000000000..b15c7ab30 Binary files /dev/null and b/resources/glade-icons/widget-gtk-menutoolbutton.png differ diff --git a/resources/glade-icons/widget-gtk-messagedialog.png b/resources/glade-icons/widget-gtk-messagedialog.png new file mode 100644 index 000000000..87b88d6ad Binary files /dev/null and b/resources/glade-icons/widget-gtk-messagedialog.png differ diff --git a/resources/glade-icons/widget-gtk-modelbutton.png b/resources/glade-icons/widget-gtk-modelbutton.png new file mode 100644 index 000000000..e4cd40c19 Binary files /dev/null and b/resources/glade-icons/widget-gtk-modelbutton.png differ diff --git a/resources/glade-icons/widget-gtk-notebook.png b/resources/glade-icons/widget-gtk-notebook.png new file mode 100644 index 000000000..2c6dc5f7b Binary files /dev/null and b/resources/glade-icons/widget-gtk-notebook.png differ diff --git a/resources/glade-icons/widget-gtk-offscreenwindow.png b/resources/glade-icons/widget-gtk-offscreenwindow.png new file mode 100644 index 000000000..ba65454f3 Binary files /dev/null and b/resources/glade-icons/widget-gtk-offscreenwindow.png differ diff --git a/resources/glade-icons/widget-gtk-overlay.png b/resources/glade-icons/widget-gtk-overlay.png new file mode 100644 index 000000000..2800b51cf Binary files /dev/null and b/resources/glade-icons/widget-gtk-overlay.png differ diff --git a/resources/glade-icons/widget-gtk-pagesetupdialog.png b/resources/glade-icons/widget-gtk-pagesetupdialog.png new file mode 100644 index 000000000..64124fc4c Binary files /dev/null and b/resources/glade-icons/widget-gtk-pagesetupdialog.png differ diff --git a/resources/glade-icons/widget-gtk-paned.png b/resources/glade-icons/widget-gtk-paned.png new file mode 100644 index 000000000..f419e7192 Binary files /dev/null and b/resources/glade-icons/widget-gtk-paned.png differ diff --git a/resources/glade-icons/widget-gtk-placessidebar.png b/resources/glade-icons/widget-gtk-placessidebar.png new file mode 100644 index 000000000..177a42c12 Binary files /dev/null and b/resources/glade-icons/widget-gtk-placessidebar.png differ diff --git a/resources/glade-icons/widget-gtk-popover.png b/resources/glade-icons/widget-gtk-popover.png new file mode 100644 index 000000000..164fd152e Binary files /dev/null and b/resources/glade-icons/widget-gtk-popover.png differ diff --git a/resources/glade-icons/widget-gtk-popovermenu.png b/resources/glade-icons/widget-gtk-popovermenu.png new file mode 100644 index 000000000..1b23c6514 Binary files /dev/null and b/resources/glade-icons/widget-gtk-popovermenu.png differ diff --git a/resources/glade-icons/widget-gtk-printdialog.png b/resources/glade-icons/widget-gtk-printdialog.png new file mode 100644 index 000000000..507e933ed Binary files /dev/null and b/resources/glade-icons/widget-gtk-printdialog.png differ diff --git a/resources/glade-icons/widget-gtk-progressbar.png b/resources/glade-icons/widget-gtk-progressbar.png new file mode 100644 index 000000000..5a88bf70c Binary files /dev/null and b/resources/glade-icons/widget-gtk-progressbar.png differ diff --git a/resources/glade-icons/widget-gtk-radioaction.png b/resources/glade-icons/widget-gtk-radioaction.png new file mode 100644 index 000000000..73e311282 Binary files /dev/null and b/resources/glade-icons/widget-gtk-radioaction.png differ diff --git a/resources/glade-icons/widget-gtk-radiobutton.png b/resources/glade-icons/widget-gtk-radiobutton.png new file mode 100644 index 000000000..175360b81 Binary files /dev/null and b/resources/glade-icons/widget-gtk-radiobutton.png differ diff --git a/resources/glade-icons/widget-gtk-radiomenuitem.png b/resources/glade-icons/widget-gtk-radiomenuitem.png new file mode 100644 index 000000000..bed42652b Binary files /dev/null and b/resources/glade-icons/widget-gtk-radiomenuitem.png differ diff --git a/resources/glade-icons/widget-gtk-radiotoolbutton.png b/resources/glade-icons/widget-gtk-radiotoolbutton.png new file mode 100644 index 000000000..5f243eab2 Binary files /dev/null and b/resources/glade-icons/widget-gtk-radiotoolbutton.png differ diff --git a/resources/glade-icons/widget-gtk-recentaction.png b/resources/glade-icons/widget-gtk-recentaction.png new file mode 100644 index 000000000..2c1f0e75e Binary files /dev/null and b/resources/glade-icons/widget-gtk-recentaction.png differ diff --git a/resources/glade-icons/widget-gtk-recentchooser.png b/resources/glade-icons/widget-gtk-recentchooser.png new file mode 100644 index 000000000..56f283726 Binary files /dev/null and b/resources/glade-icons/widget-gtk-recentchooser.png differ diff --git a/resources/glade-icons/widget-gtk-recentchooserdialog.png b/resources/glade-icons/widget-gtk-recentchooserdialog.png new file mode 100644 index 000000000..247618772 Binary files /dev/null and b/resources/glade-icons/widget-gtk-recentchooserdialog.png differ diff --git a/resources/glade-icons/widget-gtk-recentchoosermenu.png b/resources/glade-icons/widget-gtk-recentchoosermenu.png new file mode 100644 index 000000000..5480a5c89 Binary files /dev/null and b/resources/glade-icons/widget-gtk-recentchoosermenu.png differ diff --git a/resources/glade-icons/widget-gtk-recentfilter.png b/resources/glade-icons/widget-gtk-recentfilter.png new file mode 100644 index 000000000..565bde82c Binary files /dev/null and b/resources/glade-icons/widget-gtk-recentfilter.png differ diff --git a/resources/glade-icons/widget-gtk-recentmanager.png b/resources/glade-icons/widget-gtk-recentmanager.png new file mode 100644 index 000000000..3bd02ec88 Binary files /dev/null and b/resources/glade-icons/widget-gtk-recentmanager.png differ diff --git a/resources/glade-icons/widget-gtk-revealer.png b/resources/glade-icons/widget-gtk-revealer.png new file mode 100644 index 000000000..238449e29 Binary files /dev/null and b/resources/glade-icons/widget-gtk-revealer.png differ diff --git a/resources/glade-icons/widget-gtk-scale.png b/resources/glade-icons/widget-gtk-scale.png new file mode 100644 index 000000000..322355da7 Binary files /dev/null and b/resources/glade-icons/widget-gtk-scale.png differ diff --git a/resources/glade-icons/widget-gtk-scalebutton.png b/resources/glade-icons/widget-gtk-scalebutton.png new file mode 100644 index 000000000..573601eff Binary files /dev/null and b/resources/glade-icons/widget-gtk-scalebutton.png differ diff --git a/resources/glade-icons/widget-gtk-scrollbar.png b/resources/glade-icons/widget-gtk-scrollbar.png new file mode 100644 index 000000000..5305d21f3 Binary files /dev/null and b/resources/glade-icons/widget-gtk-scrollbar.png differ diff --git a/resources/glade-icons/widget-gtk-scrolledwindow.png b/resources/glade-icons/widget-gtk-scrolledwindow.png new file mode 100644 index 000000000..a4fb208ed Binary files /dev/null and b/resources/glade-icons/widget-gtk-scrolledwindow.png differ diff --git a/resources/glade-icons/widget-gtk-searchbar.png b/resources/glade-icons/widget-gtk-searchbar.png new file mode 100644 index 000000000..c25d8cb1f Binary files /dev/null and b/resources/glade-icons/widget-gtk-searchbar.png differ diff --git a/resources/glade-icons/widget-gtk-searchentry.png b/resources/glade-icons/widget-gtk-searchentry.png new file mode 100644 index 000000000..c39938dd1 Binary files /dev/null and b/resources/glade-icons/widget-gtk-searchentry.png differ diff --git a/resources/glade-icons/widget-gtk-separator.png b/resources/glade-icons/widget-gtk-separator.png new file mode 100644 index 000000000..d5bcafebf Binary files /dev/null and b/resources/glade-icons/widget-gtk-separator.png differ diff --git a/resources/glade-icons/widget-gtk-separatormenuitem.png b/resources/glade-icons/widget-gtk-separatormenuitem.png new file mode 100644 index 000000000..7e9a8a118 Binary files /dev/null and b/resources/glade-icons/widget-gtk-separatormenuitem.png differ diff --git a/resources/glade-icons/widget-gtk-separatortoolitem.png b/resources/glade-icons/widget-gtk-separatortoolitem.png new file mode 100644 index 000000000..f4a6c3f5d Binary files /dev/null and b/resources/glade-icons/widget-gtk-separatortoolitem.png differ diff --git a/resources/glade-icons/widget-gtk-sizegroup.png b/resources/glade-icons/widget-gtk-sizegroup.png new file mode 100644 index 000000000..27a2e7d91 Binary files /dev/null and b/resources/glade-icons/widget-gtk-sizegroup.png differ diff --git a/resources/glade-icons/widget-gtk-spinbutton.png b/resources/glade-icons/widget-gtk-spinbutton.png new file mode 100644 index 000000000..178f8806d Binary files /dev/null and b/resources/glade-icons/widget-gtk-spinbutton.png differ diff --git a/resources/glade-icons/widget-gtk-spinner.png b/resources/glade-icons/widget-gtk-spinner.png new file mode 100644 index 000000000..96c211eea Binary files /dev/null and b/resources/glade-icons/widget-gtk-spinner.png differ diff --git a/resources/glade-icons/widget-gtk-stack.png b/resources/glade-icons/widget-gtk-stack.png new file mode 100644 index 000000000..51053ac5d Binary files /dev/null and b/resources/glade-icons/widget-gtk-stack.png differ diff --git a/resources/glade-icons/widget-gtk-stacksidebar.png b/resources/glade-icons/widget-gtk-stacksidebar.png new file mode 100644 index 000000000..6eee801fb Binary files /dev/null and b/resources/glade-icons/widget-gtk-stacksidebar.png differ diff --git a/resources/glade-icons/widget-gtk-stackswitcher.png b/resources/glade-icons/widget-gtk-stackswitcher.png new file mode 100644 index 000000000..b57f4664d Binary files /dev/null and b/resources/glade-icons/widget-gtk-stackswitcher.png differ diff --git a/resources/glade-icons/widget-gtk-statusbar.png b/resources/glade-icons/widget-gtk-statusbar.png new file mode 100644 index 000000000..b6eedf14c Binary files /dev/null and b/resources/glade-icons/widget-gtk-statusbar.png differ diff --git a/resources/glade-icons/widget-gtk-statusicon.png b/resources/glade-icons/widget-gtk-statusicon.png new file mode 100644 index 000000000..732df984c Binary files /dev/null and b/resources/glade-icons/widget-gtk-statusicon.png differ diff --git a/resources/glade-icons/widget-gtk-switch.png b/resources/glade-icons/widget-gtk-switch.png new file mode 100644 index 000000000..87612f546 Binary files /dev/null and b/resources/glade-icons/widget-gtk-switch.png differ diff --git a/resources/glade-icons/widget-gtk-table.png b/resources/glade-icons/widget-gtk-table.png new file mode 100644 index 000000000..0f2693d14 Binary files /dev/null and b/resources/glade-icons/widget-gtk-table.png differ diff --git a/resources/glade-icons/widget-gtk-tearoffmenuitem.png b/resources/glade-icons/widget-gtk-tearoffmenuitem.png new file mode 100644 index 000000000..fe78ca3d7 Binary files /dev/null and b/resources/glade-icons/widget-gtk-tearoffmenuitem.png differ diff --git a/resources/glade-icons/widget-gtk-textbuffer.png b/resources/glade-icons/widget-gtk-textbuffer.png new file mode 100644 index 000000000..7fc0f14bb Binary files /dev/null and b/resources/glade-icons/widget-gtk-textbuffer.png differ diff --git a/resources/glade-icons/widget-gtk-texttag.png b/resources/glade-icons/widget-gtk-texttag.png new file mode 100644 index 000000000..1dc3c75b6 Binary files /dev/null and b/resources/glade-icons/widget-gtk-texttag.png differ diff --git a/resources/glade-icons/widget-gtk-texttagtable.png b/resources/glade-icons/widget-gtk-texttagtable.png new file mode 100644 index 000000000..7640a1e68 Binary files /dev/null and b/resources/glade-icons/widget-gtk-texttagtable.png differ diff --git a/resources/glade-icons/widget-gtk-textview.png b/resources/glade-icons/widget-gtk-textview.png new file mode 100644 index 000000000..48bbb92db Binary files /dev/null and b/resources/glade-icons/widget-gtk-textview.png differ diff --git a/resources/glade-icons/widget-gtk-toggleaction.png b/resources/glade-icons/widget-gtk-toggleaction.png new file mode 100644 index 000000000..f079e3d43 Binary files /dev/null and b/resources/glade-icons/widget-gtk-toggleaction.png differ diff --git a/resources/glade-icons/widget-gtk-togglebutton.png b/resources/glade-icons/widget-gtk-togglebutton.png new file mode 100644 index 000000000..40563596d Binary files /dev/null and b/resources/glade-icons/widget-gtk-togglebutton.png differ diff --git a/resources/glade-icons/widget-gtk-toggletoolbutton.png b/resources/glade-icons/widget-gtk-toggletoolbutton.png new file mode 100644 index 000000000..a4912b8af Binary files /dev/null and b/resources/glade-icons/widget-gtk-toggletoolbutton.png differ diff --git a/resources/glade-icons/widget-gtk-toolbar.png b/resources/glade-icons/widget-gtk-toolbar.png new file mode 100644 index 000000000..6ce311109 Binary files /dev/null and b/resources/glade-icons/widget-gtk-toolbar.png differ diff --git a/resources/glade-icons/widget-gtk-toolbutton.png b/resources/glade-icons/widget-gtk-toolbutton.png new file mode 100644 index 000000000..d2371b951 Binary files /dev/null and b/resources/glade-icons/widget-gtk-toolbutton.png differ diff --git a/resources/glade-icons/widget-gtk-toolitem.png b/resources/glade-icons/widget-gtk-toolitem.png new file mode 100644 index 000000000..1d54c6ab5 Binary files /dev/null and b/resources/glade-icons/widget-gtk-toolitem.png differ diff --git a/resources/glade-icons/widget-gtk-toolitemgroup.png b/resources/glade-icons/widget-gtk-toolitemgroup.png new file mode 100644 index 000000000..b260b0d3a Binary files /dev/null and b/resources/glade-icons/widget-gtk-toolitemgroup.png differ diff --git a/resources/glade-icons/widget-gtk-toolpalette.png b/resources/glade-icons/widget-gtk-toolpalette.png new file mode 100644 index 000000000..c0bb83739 Binary files /dev/null and b/resources/glade-icons/widget-gtk-toolpalette.png differ diff --git a/resources/glade-icons/widget-gtk-treemodelfilter.png b/resources/glade-icons/widget-gtk-treemodelfilter.png new file mode 100644 index 000000000..494edc480 Binary files /dev/null and b/resources/glade-icons/widget-gtk-treemodelfilter.png differ diff --git a/resources/glade-icons/widget-gtk-treemodelsort.png b/resources/glade-icons/widget-gtk-treemodelsort.png new file mode 100644 index 000000000..e6cdc6c33 Binary files /dev/null and b/resources/glade-icons/widget-gtk-treemodelsort.png differ diff --git a/resources/glade-icons/widget-gtk-treeselection.png b/resources/glade-icons/widget-gtk-treeselection.png new file mode 100644 index 000000000..145f7c0bd Binary files /dev/null and b/resources/glade-icons/widget-gtk-treeselection.png differ diff --git a/resources/glade-icons/widget-gtk-treestore.png b/resources/glade-icons/widget-gtk-treestore.png new file mode 100644 index 000000000..8e3593980 Binary files /dev/null and b/resources/glade-icons/widget-gtk-treestore.png differ diff --git a/resources/glade-icons/widget-gtk-treeview.png b/resources/glade-icons/widget-gtk-treeview.png new file mode 100644 index 000000000..81e1eadfd Binary files /dev/null and b/resources/glade-icons/widget-gtk-treeview.png differ diff --git a/resources/glade-icons/widget-gtk-treeviewcolumn.png b/resources/glade-icons/widget-gtk-treeviewcolumn.png new file mode 100644 index 000000000..d535614b6 Binary files /dev/null and b/resources/glade-icons/widget-gtk-treeviewcolumn.png differ diff --git a/resources/glade-icons/widget-gtk-vbox.png b/resources/glade-icons/widget-gtk-vbox.png new file mode 100644 index 000000000..7aebe835a Binary files /dev/null and b/resources/glade-icons/widget-gtk-vbox.png differ diff --git a/resources/glade-icons/widget-gtk-vbuttonbox.png b/resources/glade-icons/widget-gtk-vbuttonbox.png new file mode 100644 index 000000000..081ac0e4d Binary files /dev/null and b/resources/glade-icons/widget-gtk-vbuttonbox.png differ diff --git a/resources/glade-icons/widget-gtk-viewport.png b/resources/glade-icons/widget-gtk-viewport.png new file mode 100644 index 000000000..51385b4f1 Binary files /dev/null and b/resources/glade-icons/widget-gtk-viewport.png differ diff --git a/resources/glade-icons/widget-gtk-volumebutton.png b/resources/glade-icons/widget-gtk-volumebutton.png new file mode 100644 index 000000000..74899f76c Binary files /dev/null and b/resources/glade-icons/widget-gtk-volumebutton.png differ diff --git a/resources/glade-icons/widget-gtk-vpaned.png b/resources/glade-icons/widget-gtk-vpaned.png new file mode 100644 index 000000000..da699565e Binary files /dev/null and b/resources/glade-icons/widget-gtk-vpaned.png differ diff --git a/resources/glade-icons/widget-gtk-vscale.png b/resources/glade-icons/widget-gtk-vscale.png new file mode 100644 index 000000000..322355da7 Binary files /dev/null and b/resources/glade-icons/widget-gtk-vscale.png differ diff --git a/resources/glade-icons/widget-gtk-vscrollbar.png b/resources/glade-icons/widget-gtk-vscrollbar.png new file mode 100644 index 000000000..5305d21f3 Binary files /dev/null and b/resources/glade-icons/widget-gtk-vscrollbar.png differ diff --git a/resources/glade-icons/widget-gtk-vseparator.png b/resources/glade-icons/widget-gtk-vseparator.png new file mode 100644 index 000000000..d5bcafebf Binary files /dev/null and b/resources/glade-icons/widget-gtk-vseparator.png differ diff --git a/resources/glade-icons/widget-gtk-window.png b/resources/glade-icons/widget-gtk-window.png new file mode 100644 index 000000000..81cb5d6ba Binary files /dev/null and b/resources/glade-icons/widget-gtk-window.png differ diff --git a/resources/glade-icons/widget-gtk-windowgroup.png b/resources/glade-icons/widget-gtk-windowgroup.png new file mode 100644 index 000000000..b70aa0959 Binary files /dev/null and b/resources/glade-icons/widget-gtk-windowgroup.png differ diff --git a/resources/glade-icons/widget-vte-terminal.png b/resources/glade-icons/widget-vte-terminal.png new file mode 100644 index 000000000..e767bc68f Binary files /dev/null and b/resources/glade-icons/widget-vte-terminal.png differ diff --git a/resources/RooUsage.txt b/resources/html/RooUsage.txt similarity index 100% rename from resources/RooUsage.txt rename to resources/html/RooUsage.txt diff --git a/resources/bootstrap.builder.html b/resources/html/bootstrap.builder.html similarity index 100% rename from resources/bootstrap.builder.html rename to resources/html/bootstrap.builder.html diff --git a/resources/bootstrap4.builder.html b/resources/html/bootstrap4.builder.html similarity index 100% rename from resources/bootstrap4.builder.html rename to resources/html/bootstrap4.builder.html diff --git a/resources/mailer.builder.html b/resources/html/mailer.builder.html similarity index 100% rename from resources/mailer.builder.html rename to resources/html/mailer.builder.html diff --git a/resources/roo.builder.html b/resources/html/roo.builder.html similarity index 100% rename from resources/roo.builder.html rename to resources/html/roo.builder.html diff --git a/resources/roo.builder.js b/resources/html/roo.builder.js similarity index 100% rename from resources/roo.builder.js rename to resources/html/roo.builder.js diff --git a/src/Builder4/PopoverAddObject.bjs b/src/Builder4/PopoverAddObject.bjs index f4e77247a..20d4cd825 100644 --- a/src/Builder4/PopoverAddObject.bjs +++ b/src/Builder4/PopoverAddObject.bjs @@ -191,7 +191,7 @@ "// was item (1) in old layout", "", "\t ", - " \timg.file = node.iconFilename;", + " \timg.resource = node.iconResourceName;", " \tlbl.label = node.fqn();", "// \tlbl.tooltip_markup = node.nodeTip();", " ", diff --git a/src/Builder4/PopoverAddObject.vala b/src/Builder4/PopoverAddObject.vala index 8de09234b..83490c23d 100644 --- a/src/Builder4/PopoverAddObject.vala +++ b/src/Builder4/PopoverAddObject.vala @@ -1,497 +1,497 @@ - static Xcls_PopoverAddObject _PopoverAddObject; - - public class Xcls_PopoverAddObject : Object - { - public Gtk.Popover el; - private Xcls_PopoverAddObject _this; - - public static Xcls_PopoverAddObject singleton() - { - if (_PopoverAddObject == null) { - _PopoverAddObject= new Xcls_PopoverAddObject(); - } - return _PopoverAddObject; - } - public Xcls_viewwin viewwin; - public Xcls_view view; - public Xcls_selmodel selmodel; - public Xcls_model model; - public Xcls_maincol maincol; - - // my vars (def) - public signal void before_node_change (JsRender.Node? node); - public bool modal; - public signal void after_node_change (JsRender.Node? node); - public bool active; - public Xcls_MainWindow mainwindow; - - // ctor - public Xcls_PopoverAddObject() - { - _this = this; - this.el = new Gtk.Popover(); - - // my vars (dec) - this.modal = true; - this.active = false; - - // set gobject values - this.el.width_request = 900; - this.el.height_request = 800; - this.el.hexpand = false; - this.el.position = Gtk.PositionType.RIGHT; - new Xcls_viewwin( _this ); - this.el.set_child ( _this.viewwin.el ); - } - - // user defined functions - public void a_clear () { - var m = (GLib.ListStore) _this.model.el.model; - m.remove_all(); - - - - } - public void show (Palete.Palete pal, string cls, Gtk.Widget onbtn) { - - - - var tr = pal.getChildList(cls, false); - var m = (GLib.ListStore) _this.model.el.model; - m.remove_all(); - - - // new version will not support properties here.. - // they will be part of the properties, clicking will add a node.. - // will change the return list above eventually? - - - foreach (var dname in tr) { - - - GLib.debug("add to model: %s", dname); - m.append(pal.fqnToNode(dname)); - } - m.sort( (a, b) => { - - return Posix.strcmp( ((JsRender.Node)a).fqn(), ((JsRender.Node)b).fqn()); - - }); - - - var win = this.mainwindow.el; - //var w = win.get_width(); - var h = win.get_height(); - - - // left tree = 250, editor area = 500? - - // min 450? - // max hieght ... - this.el.set_size_request( 350, h); // full height? - - this.el.set_parent(onbtn); - - //if (this.el.relative_to == null) { - //Gtk.Allocation rect; - //onbtn.get_allocation(out rect); - // this.el.set_pointing_to(rect); - //} - this.selmodel.el.set_selected(Gtk.INVALID_LIST_POSITION); - this.el.show(); - - } - public void hide () { - - this.el.hide(); - } - public class Xcls_viewwin : Object - { - public Gtk.ScrolledWindow el; - private Xcls_PopoverAddObject _this; - - - // my vars (def) - - // ctor - public Xcls_viewwin(Xcls_PopoverAddObject _owner ) - { - _this = _owner; - _this.viewwin = this; - this.el = new Gtk.ScrolledWindow(); - - // my vars (dec) - - // set gobject values - new Xcls_view( _this ); - this.el.set_child ( _this.view.el ); - - // init method - - this.el.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC); - this.el.set_size_request(-1,200); - } - - // user defined functions - } - public class Xcls_view : Object - { - public Gtk.ColumnView el; - private Xcls_PopoverAddObject _this; - - - // my vars (def) - - // ctor - public Xcls_view(Xcls_PopoverAddObject _owner ) - { - _this = _owner; - _this.view = this; - new Xcls_selmodel( _this ); - this.el = new Gtk.ColumnView( _this.selmodel.el ); - - // my vars (dec) - - // set gobject values - this.el.hexpand = true; - this.el.vexpand = true; - var child_2 = new Xcls_DragSource4( _this ); - child_2.ref(); - this.el.add_controller( child_2.el ); - new Xcls_maincol( _this ); - this.el.append_column ( _this.maincol.el ); - var child_4 = new Xcls_GestureClick9( _this ); - child_4.ref(); - this.el.add_controller( child_4.el ); - } - - // user defined functions - public Gtk.Widget? getWidgetAtRow (uint row) { - /* - // ?? could be done with model? - - from https://discourse.gnome.org/t/gtk4-finding-a-row-data-on-gtkcolumnview/8465 - var colview = gesture.widget; - var line_no = check_list_widget(colview, x,y); - if (line_no > -1) { - var item = colview.model.get_item(line_no); - - } - */ - GLib.debug("Get Widget At Row %d", (int)row); - var child = this.el.get_first_child(); - var line_no = -1; - var reading_header = true; - - while (child != null) { - GLib.debug("Got %s", child.get_type().name()); - if (reading_header) { - - - if (child.get_type().name() != "GtkColumnListView") { - child = child.get_next_sibling(); - continue; - } - child = child.get_first_child(); - reading_header = false; - } - if (child.get_type().name() != "GtkColumnViewRowWidget") { - child = child.get_next_sibling(); - continue; - } - line_no++; - if (line_no == row) { - GLib.debug("Returning widget %s", child.get_type().name()); - return (Gtk.Widget)child; - } - child = child.get_next_sibling(); - } - GLib.debug("Rturning null"); - return null; - - } - public int getRowAt (double x, double in_y, out string pos) { - - - - - /* - - from https://discourse.gnome.org/t/gtk4-finding-a-row-data-on-gtkcolumnview/8465 - var colview = gesture.widget; - var line_no = check_list_widget(colview, x,y); - if (line_no > -1) { - var item = colview.model.get_item(line_no); - - } - */ - - - //GLib.debug("offset = %d y = %d", (int) voff, (int) in_y); - var y = in_y + _this.viewwin.el.vadjustment.value; - var child = this.el.get_first_child(); - //Gtk.Allocation alloc = { 0, 0, 0, 0 }; - var line_no = -1; - var reading_header = true; - var real_y = 0; - var header_height = 0; - pos = "none"; - var h = 0; - while (child != null) { - //GLib.debug("Got %s", child.get_type().name()); - if (reading_header) { - - - if (child.get_type().name() != "GtkColumnListView") { - h += child.get_height(); - child = child.get_next_sibling(); - continue; - } - // should be columnlistview - child = child.get_first_child(); - GLib.debug("header height=%d", h); - header_height = h; - - reading_header = false; - - } - - if (child.get_type().name() != "GtkColumnViewRowWidget") { - child = child.get_next_sibling(); - continue; - } - - if (y < header_height) { - return -1; - } - - line_no++; - var hh = child.get_height(); - //child.get_allocation(out alloc); - //GLib.debug("got cell xy = %d,%d w,h= %d,%d", alloc.x, alloc.y, alloc.width, alloc.height); - //GLib.debug("row %d y= %d %s", line_no, (int) (header_height + alloc.y), - - // child.visible ? "VIS" : "hidden"); - - if (y > (header_height + real_y) && y <= (header_height + real_y + hh) ) { - if (y > ( header_height + real_y + (hh * 0.8))) { - pos = "below"; - } else if (y > ( header_height + real_y + (hh * 0.2))) { - pos = "over"; - } else { - pos = "above"; - } - GLib.debug("getRowAt return : %d, %s", line_no, pos); - return line_no; - } - - - if (real_y + hh > y) { - return -1; - } - real_y += hh; - child = child.get_next_sibling(); - } - return -1; - - } - public Gtk.Widget? getWidgetAt (double x, double in_y) { - /* - - from https://discourse.gnome.org/t/gtk4-finding-a-row-data-on-gtkcolumnview/8465 - var colview = gesture.widget; - var line_no = check_list_widget(colview, x,y); - if (line_no > -1) { - var item = colview.model.get_item(line_no); - - } - */ - var y = in_y + _this.viewwin.el.vadjustment.value; - var child = this.el.get_first_child(); - //Gtk.Allocation alloc = { 0, 0, 0, 0 }; - var line_no = -1; - var reading_header = true; - var curr_y = 0; - var header_height = 0; - var h = 0; - while (child != null) { - //GLib.debug("Got %s", child.get_type().name()); - if (reading_header) { - - - if (child.get_type().name() != "GtkColumnListView") { - h += child.get_height(); - child = child.get_next_sibling(); - continue; - } - // should be columnlistview - child = child.get_first_child(); - GLib.debug("header height=%d", h); - header_height = h; - - reading_header = false; - - } - line_no++; - - if (y < header_height) { - return null; - } - - var hh = child.get_height(); - //GLib.debug("got cell xy = %d,%d w,h= %d,%d", alloc.x, alloc.y, alloc.width, alloc.height); - - if (y > curr_y && y <= header_height + hh + curr_y ) { - return (Gtk.Widget)child; - } - curr_y += hh ; - - if (curr_y > y) { - return null; - } - child = child.get_next_sibling(); - } - return null; - - } - } - public class Xcls_DragSource4 : Object - { - public Gtk.DragSource el; - private Xcls_PopoverAddObject _this; - - - // my vars (def) - - // ctor - public Xcls_DragSource4(Xcls_PopoverAddObject _owner ) - { - _this = _owner; - this.el = new Gtk.DragSource(); - - // my vars (dec) - - // set gobject values - this.el.actions = Gdk.DragAction.COPY | Gdk.DragAction.MOVE ; - - //listeners - this.el.prepare.connect( (x, y) => { - - - - /// ( drag_context, data, info, time) => { - - - //print("drag-data-get"); - var ndata = _this.selmodel.getSelectedNode(); - if (ndata == null) { - GLib.debug("return empty string - no selection.."); - return null; - - } - - - //data.set_text(tp,tp.length); - - var str = ndata.toJsonString(); - GLib.debug("prepare store: %s", str); - GLib.Value ov = GLib.Value(typeof(string)); - ov.set_string(str); - var cont = new Gdk.ContentProvider.for_value(ov); - - //GLib.Value v = GLib.Value(typeof(string)); - //var str = drop.read_text( [ "text/plain" ] 0); - - //cont.get_value(ref v); - //GLib.debug("set %s", v.get_string()); - - return cont; - - }); - this.el.drag_begin.connect( ( drag ) => { - GLib.debug("SOURCE: drag-begin"); - - // find what is selected in our tree... - var data = _this.selmodel.getSelectedNode(); - if (data == null) { - return ; - } - - var xname = data.fqn(); - GLib.debug ("XNAME IS %s", xname); - - var widget = _this.view.getWidgetAtRow(_this.selmodel.el.selected); - - - var paintable = new Gtk.WidgetPaintable(widget); - this.el.set_icon(paintable, 0,0); - - - }); - this.el.drag_end.connect( (drag, delete_data) => { - _this.hide(); - - }); - } - - // user defined functions - } - - public class Xcls_selmodel : Object - { - public Gtk.SingleSelection el; - private Xcls_PopoverAddObject _this; - - - // my vars (def) - - // ctor - public Xcls_selmodel(Xcls_PopoverAddObject _owner ) - { - _this = _owner; - _this.selmodel = this; - new Xcls_model( _this ); - this.el = new Gtk.SingleSelection( _this.model.el ); - - // my vars (dec) - - // set gobject values - } - - // user defined functions - public JsRender.Node? getSelectedNode () { - if (this.el.selected_item == null) { - return null; - } - var tr = (Gtk.TreeListRow)this.el.selected_item; - return (JsRender.Node)tr.get_item(); - - } - public JsRender.Node getNodeAt (uint row) { - - var tr = (Gtk.TreeListRow)this.el.get_item(row); - - var a = tr.get_item();; - GLib.debug("get_item (2) = %s", a.get_type().name()); - - return (JsRender.Node)tr.get_item(); - - } - } - public class Xcls_model : Object - { - public Gtk.TreeListModel el; - private Xcls_PopoverAddObject _this; - - - // my vars (def) - - // ctor - public Xcls_model(Xcls_PopoverAddObject _owner ) - { - _this = _owner; - _this.model = this; - this.el = new Gtk.TreeListModel( +static Xcls_PopoverAddObject _PopoverAddObject; + +public class Xcls_PopoverAddObject : Object +{ + public Gtk.Popover el; + private Xcls_PopoverAddObject _this; + + public static Xcls_PopoverAddObject singleton() + { + if (_PopoverAddObject == null) { + _PopoverAddObject= new Xcls_PopoverAddObject(); + } + return _PopoverAddObject; + } + public Xcls_viewwin viewwin; + public Xcls_view view; + public Xcls_selmodel selmodel; + public Xcls_model model; + public Xcls_maincol maincol; + + // my vars (def) + public signal void before_node_change (JsRender.Node? node); + public bool modal; + public signal void after_node_change (JsRender.Node? node); + public bool active; + public Xcls_MainWindow mainwindow; + + // ctor + public Xcls_PopoverAddObject() + { + _this = this; + this.el = new Gtk.Popover(); + + // my vars (dec) + this.modal = true; + this.active = false; + + // set gobject values + this.el.width_request = 900; + this.el.height_request = 800; + this.el.hexpand = false; + this.el.position = Gtk.PositionType.RIGHT; + new Xcls_viewwin( _this ); + this.el.set_child ( _this.viewwin.el ); + } + + // user defined functions + public void a_clear () { + var m = (GLib.ListStore) _this.model.el.model; + m.remove_all(); + + + + } + public void show (Palete.Palete pal, string cls, Gtk.Widget onbtn) { + + + + var tr = pal.getChildList(cls, false); + var m = (GLib.ListStore) _this.model.el.model; + m.remove_all(); + + + // new version will not support properties here.. + // they will be part of the properties, clicking will add a node.. + // will change the return list above eventually? + + + foreach (var dname in tr) { + + + GLib.debug("add to model: %s", dname); + m.append(pal.fqnToNode(dname)); + } + m.sort( (a, b) => { + + return Posix.strcmp( ((JsRender.Node)a).fqn(), ((JsRender.Node)b).fqn()); + + }); + + + var win = this.mainwindow.el; + //var w = win.get_width(); + var h = win.get_height(); + + + // left tree = 250, editor area = 500? + + // min 450? + // max hieght ... + this.el.set_size_request( 350, h); // full height? + + this.el.set_parent(onbtn); + + //if (this.el.relative_to == null) { + //Gtk.Allocation rect; + //onbtn.get_allocation(out rect); + // this.el.set_pointing_to(rect); + //} + this.selmodel.el.set_selected(Gtk.INVALID_LIST_POSITION); + this.el.show(); + + } + public void hide () { + + this.el.hide(); + } + public class Xcls_viewwin : Object + { + public Gtk.ScrolledWindow el; + private Xcls_PopoverAddObject _this; + + + // my vars (def) + + // ctor + public Xcls_viewwin(Xcls_PopoverAddObject _owner ) + { + _this = _owner; + _this.viewwin = this; + this.el = new Gtk.ScrolledWindow(); + + // my vars (dec) + + // set gobject values + new Xcls_view( _this ); + this.el.set_child ( _this.view.el ); + + // init method + + this.el.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC); + this.el.set_size_request(-1,200); + } + + // user defined functions + } + public class Xcls_view : Object + { + public Gtk.ColumnView el; + private Xcls_PopoverAddObject _this; + + + // my vars (def) + + // ctor + public Xcls_view(Xcls_PopoverAddObject _owner ) + { + _this = _owner; + _this.view = this; + new Xcls_selmodel( _this ); + this.el = new Gtk.ColumnView( _this.selmodel.el ); + + // my vars (dec) + + // set gobject values + this.el.hexpand = true; + this.el.vexpand = true; + var child_2 = new Xcls_DragSource3( _this ); + child_2.ref(); + this.el.add_controller( child_2.el ); + new Xcls_maincol( _this ); + this.el.append_column ( _this.maincol.el ); + var child_4 = new Xcls_GestureClick8( _this ); + child_4.ref(); + this.el.add_controller( child_4.el ); + } + + // user defined functions + public Gtk.Widget? getWidgetAtRow (uint row) { + /* + // ?? could be done with model? + + from https://discourse.gnome.org/t/gtk4-finding-a-row-data-on-gtkcolumnview/8465 + var colview = gesture.widget; + var line_no = check_list_widget(colview, x,y); + if (line_no > -1) { + var item = colview.model.get_item(line_no); + + } + */ + GLib.debug("Get Widget At Row %d", (int)row); + var child = this.el.get_first_child(); + var line_no = -1; + var reading_header = true; + + while (child != null) { + GLib.debug("Got %s", child.get_type().name()); + if (reading_header) { + + + if (child.get_type().name() != "GtkColumnListView") { + child = child.get_next_sibling(); + continue; + } + child = child.get_first_child(); + reading_header = false; + } + if (child.get_type().name() != "GtkColumnViewRowWidget") { + child = child.get_next_sibling(); + continue; + } + line_no++; + if (line_no == row) { + GLib.debug("Returning widget %s", child.get_type().name()); + return (Gtk.Widget)child; + } + child = child.get_next_sibling(); + } + GLib.debug("Rturning null"); + return null; + + } + public int getRowAt (double x, double in_y, out string pos) { + + + + + /* + + from https://discourse.gnome.org/t/gtk4-finding-a-row-data-on-gtkcolumnview/8465 + var colview = gesture.widget; + var line_no = check_list_widget(colview, x,y); + if (line_no > -1) { + var item = colview.model.get_item(line_no); + + } + */ + + + //GLib.debug("offset = %d y = %d", (int) voff, (int) in_y); + var y = in_y + _this.viewwin.el.vadjustment.value; + var child = this.el.get_first_child(); + //Gtk.Allocation alloc = { 0, 0, 0, 0 }; + var line_no = -1; + var reading_header = true; + var real_y = 0; + var header_height = 0; + pos = "none"; + var h = 0; + while (child != null) { + //GLib.debug("Got %s", child.get_type().name()); + if (reading_header) { + + + if (child.get_type().name() != "GtkColumnListView") { + h += child.get_height(); + child = child.get_next_sibling(); + continue; + } + // should be columnlistview + child = child.get_first_child(); + GLib.debug("header height=%d", h); + header_height = h; + + reading_header = false; + + } + + if (child.get_type().name() != "GtkColumnViewRowWidget") { + child = child.get_next_sibling(); + continue; + } + + if (y < header_height) { + return -1; + } + + line_no++; + var hh = child.get_height(); + //child.get_allocation(out alloc); + //GLib.debug("got cell xy = %d,%d w,h= %d,%d", alloc.x, alloc.y, alloc.width, alloc.height); + //GLib.debug("row %d y= %d %s", line_no, (int) (header_height + alloc.y), + + // child.visible ? "VIS" : "hidden"); + + if (y > (header_height + real_y) && y <= (header_height + real_y + hh) ) { + if (y > ( header_height + real_y + (hh * 0.8))) { + pos = "below"; + } else if (y > ( header_height + real_y + (hh * 0.2))) { + pos = "over"; + } else { + pos = "above"; + } + GLib.debug("getRowAt return : %d, %s", line_no, pos); + return line_no; + } + + + if (real_y + hh > y) { + return -1; + } + real_y += hh; + child = child.get_next_sibling(); + } + return -1; + + } + public Gtk.Widget? getWidgetAt (double x, double in_y) { + /* + + from https://discourse.gnome.org/t/gtk4-finding-a-row-data-on-gtkcolumnview/8465 + var colview = gesture.widget; + var line_no = check_list_widget(colview, x,y); + if (line_no > -1) { + var item = colview.model.get_item(line_no); + + } + */ + var y = in_y + _this.viewwin.el.vadjustment.value; + var child = this.el.get_first_child(); + //Gtk.Allocation alloc = { 0, 0, 0, 0 }; + var line_no = -1; + var reading_header = true; + var curr_y = 0; + var header_height = 0; + var h = 0; + while (child != null) { + //GLib.debug("Got %s", child.get_type().name()); + if (reading_header) { + + + if (child.get_type().name() != "GtkColumnListView") { + h += child.get_height(); + child = child.get_next_sibling(); + continue; + } + // should be columnlistview + child = child.get_first_child(); + GLib.debug("header height=%d", h); + header_height = h; + + reading_header = false; + + } + line_no++; + + if (y < header_height) { + return null; + } + + var hh = child.get_height(); + //GLib.debug("got cell xy = %d,%d w,h= %d,%d", alloc.x, alloc.y, alloc.width, alloc.height); + + if (y > curr_y && y <= header_height + hh + curr_y ) { + return (Gtk.Widget)child; + } + curr_y += hh ; + + if (curr_y > y) { + return null; + } + child = child.get_next_sibling(); + } + return null; + + } + } + public class Xcls_DragSource3 : Object + { + public Gtk.DragSource el; + private Xcls_PopoverAddObject _this; + + + // my vars (def) + + // ctor + public Xcls_DragSource3(Xcls_PopoverAddObject _owner ) + { + _this = _owner; + this.el = new Gtk.DragSource(); + + // my vars (dec) + + // set gobject values + this.el.actions = Gdk.DragAction.COPY | Gdk.DragAction.MOVE ; + + //listeners + this.el.prepare.connect( (x, y) => { + + + + /// ( drag_context, data, info, time) => { + + + //print("drag-data-get"); + var ndata = _this.selmodel.getSelectedNode(); + if (ndata == null) { + GLib.debug("return empty string - no selection.."); + return null; + + } + + + //data.set_text(tp,tp.length); + + var str = ndata.toJsonString(); + GLib.debug("prepare store: %s", str); + GLib.Value ov = GLib.Value(typeof(string)); + ov.set_string(str); + var cont = new Gdk.ContentProvider.for_value(ov); + + //GLib.Value v = GLib.Value(typeof(string)); + //var str = drop.read_text( [ "text/plain" ] 0); + + //cont.get_value(ref v); + //GLib.debug("set %s", v.get_string()); + + return cont; + + }); + this.el.drag_begin.connect( ( drag ) => { + GLib.debug("SOURCE: drag-begin"); + + // find what is selected in our tree... + var data = _this.selmodel.getSelectedNode(); + if (data == null) { + return ; + } + + var xname = data.fqn(); + GLib.debug ("XNAME IS %s", xname); + + var widget = _this.view.getWidgetAtRow(_this.selmodel.el.selected); + + + var paintable = new Gtk.WidgetPaintable(widget); + this.el.set_icon(paintable, 0,0); + + + }); + this.el.drag_end.connect( (drag, delete_data) => { + _this.hide(); + + }); + } + + // user defined functions + } + + public class Xcls_selmodel : Object + { + public Gtk.SingleSelection el; + private Xcls_PopoverAddObject _this; + + + // my vars (def) + + // ctor + public Xcls_selmodel(Xcls_PopoverAddObject _owner ) + { + _this = _owner; + _this.selmodel = this; + new Xcls_model( _this ); + this.el = new Gtk.SingleSelection( _this.model.el ); + + // my vars (dec) + + // set gobject values + } + + // user defined functions + public JsRender.Node? getSelectedNode () { + if (this.el.selected_item == null) { + return null; + } + var tr = (Gtk.TreeListRow)this.el.selected_item; + return (JsRender.Node)tr.get_item(); + + } + public JsRender.Node getNodeAt (uint row) { + + var tr = (Gtk.TreeListRow)this.el.get_item(row); + + var a = tr.get_item();; + GLib.debug("get_item (2) = %s", a.get_type().name()); + + return (JsRender.Node)tr.get_item(); + + } + } + public class Xcls_model : Object + { + public Gtk.TreeListModel el; + private Xcls_PopoverAddObject _this; + + + // my vars (def) + + // ctor + public Xcls_model(Xcls_PopoverAddObject _owner ) + { + _this = _owner; + _this.model = this; + this.el = new Gtk.TreeListModel( new GLib.ListStore(typeof(JsRender.Node)), //..... << that's our store.. false, // passthru true, // autexpand @@ -503,157 +503,157 @@ ); - // my vars (dec) - - // set gobject values - } - - // user defined functions - } - - - public class Xcls_maincol : Object - { - public Gtk.ColumnViewColumn el; - private Xcls_PopoverAddObject _this; - - - // my vars (def) - - // ctor - public Xcls_maincol(Xcls_PopoverAddObject _owner ) - { - _this = _owner; - _this.maincol = this; - var child_1 = new Xcls_SignalListItemFactory8( _this ); - child_1.ref(); - this.el = new Gtk.ColumnViewColumn( "Drag to add Object", child_1.el ); - - // my vars (dec) - - // set gobject values - this.el.id = "maincol"; - this.el.expand = true; - } - - // user defined functions - } - public class Xcls_SignalListItemFactory8 : Object - { - public Gtk.SignalListItemFactory el; - private Xcls_PopoverAddObject _this; - - - // my vars (def) - - // ctor - public Xcls_SignalListItemFactory8(Xcls_PopoverAddObject _owner ) - { - _this = _owner; - this.el = new Gtk.SignalListItemFactory(); - - // my vars (dec) - - // set gobject values - - //listeners - this.el.setup.connect( (listitem) => { - - - var hbox = new Gtk.Box(Gtk.Orientation.HORIZONTAL,0); - var icon = new Gtk.Image(); - var lbl = new Gtk.Label(""); - lbl.use_markup = true; - - - lbl.justify = Gtk.Justification.LEFT; - lbl.xalign = 0; - lbl.margin_start = 4; - // listitem.activatable = true; ?? - - hbox.append(icon); - hbox.append(lbl); - - ((Gtk.ListItem)listitem).set_child(hbox); - - }); - this.el.bind.connect( (listitem) => { - //GLib.debug("listitme is is %s", ((Gtk.ListItem)listitem).get_type().name()); - - //var expand = (Gtk.TreeExpander) ((Gtk.ListItem)listitem).get_child(); - - - var hbox = (Gtk.Box) ((Gtk.ListItem)listitem).get_child(); - - - - var img = (Gtk.Image) hbox.get_first_child(); - var lbl = (Gtk.Label) img.get_next_sibling(); - - var lr = (Gtk.TreeListRow)((Gtk.ListItem)listitem).get_item(); - - - - var node = (JsRender.Node) lr.get_item(); - - GLib.debug("node is %s", node.get_type().name()); - GLib.debug("lbl is %s", lbl.get_type().name()); - GLib.debug("node fqn %s", node.fqn()); - // was item (1) in old layout - - - img.file = node.iconFilename; - lbl.label = node.fqn(); - // lbl.tooltip_markup = node.nodeTip(); - - - // bind image... - - }); - } - - // user defined functions - } - - - public class Xcls_GestureClick9 : Object - { - public Gtk.GestureClick el; - private Xcls_PopoverAddObject _this; - - - // my vars (def) - - // ctor - public Xcls_GestureClick9(Xcls_PopoverAddObject _owner ) - { - _this = _owner; - this.el = new Gtk.GestureClick(); - - // my vars (dec) - - // set gobject values - - //listeners - this.el.pressed.connect( (n_press, x, y) => { - if (n_press < 2) { /// doubleclick? - return; - } - //var pos = ""; - // find left tree selected node - var addto = _this.mainwindow.windowstate.left_tree.selmodel.getSelectedNode(); - //var row = _this.view.getRowAt(x,y, out pos); - - var add = _this.selmodel.getSelectedNode().deepClone(); - addto.appendChild(add); - _this.mainwindow.windowstate.left_props.changed(); - _this.mainwindow.windowstate.left_tree.model.selectNode(add); - }); - } - - // user defined functions - } - - - - } + // my vars (dec) + + // set gobject values + } + + // user defined functions + } + + + public class Xcls_maincol : Object + { + public Gtk.ColumnViewColumn el; + private Xcls_PopoverAddObject _this; + + + // my vars (def) + + // ctor + public Xcls_maincol(Xcls_PopoverAddObject _owner ) + { + _this = _owner; + _this.maincol = this; + var child_1 = new Xcls_SignalListItemFactory7( _this ); + child_1.ref(); + this.el = new Gtk.ColumnViewColumn( "Drag to add Object", child_1.el ); + + // my vars (dec) + + // set gobject values + this.el.id = "maincol"; + this.el.expand = true; + } + + // user defined functions + } + public class Xcls_SignalListItemFactory7 : Object + { + public Gtk.SignalListItemFactory el; + private Xcls_PopoverAddObject _this; + + + // my vars (def) + + // ctor + public Xcls_SignalListItemFactory7(Xcls_PopoverAddObject _owner ) + { + _this = _owner; + this.el = new Gtk.SignalListItemFactory(); + + // my vars (dec) + + // set gobject values + + //listeners + this.el.setup.connect( (listitem) => { + + + var hbox = new Gtk.Box(Gtk.Orientation.HORIZONTAL,0); + var icon = new Gtk.Image(); + var lbl = new Gtk.Label(""); + lbl.use_markup = true; + + + lbl.justify = Gtk.Justification.LEFT; + lbl.xalign = 0; + lbl.margin_start = 4; + // listitem.activatable = true; ?? + + hbox.append(icon); + hbox.append(lbl); + + ((Gtk.ListItem)listitem).set_child(hbox); + + }); + this.el.bind.connect( (listitem) => { + //GLib.debug("listitme is is %s", ((Gtk.ListItem)listitem).get_type().name()); + + //var expand = (Gtk.TreeExpander) ((Gtk.ListItem)listitem).get_child(); + + + var hbox = (Gtk.Box) ((Gtk.ListItem)listitem).get_child(); + + + + var img = (Gtk.Image) hbox.get_first_child(); + var lbl = (Gtk.Label) img.get_next_sibling(); + + var lr = (Gtk.TreeListRow)((Gtk.ListItem)listitem).get_item(); + + + + var node = (JsRender.Node) lr.get_item(); + + GLib.debug("node is %s", node.get_type().name()); + GLib.debug("lbl is %s", lbl.get_type().name()); + GLib.debug("node fqn %s", node.fqn()); + // was item (1) in old layout + + + img.resource = node.iconResourceName; + lbl.label = node.fqn(); + // lbl.tooltip_markup = node.nodeTip(); + + + // bind image... + + }); + } + + // user defined functions + } + + + public class Xcls_GestureClick8 : Object + { + public Gtk.GestureClick el; + private Xcls_PopoverAddObject _this; + + + // my vars (def) + + // ctor + public Xcls_GestureClick8(Xcls_PopoverAddObject _owner ) + { + _this = _owner; + this.el = new Gtk.GestureClick(); + + // my vars (dec) + + // set gobject values + + //listeners + this.el.pressed.connect( (n_press, x, y) => { + if (n_press < 2) { /// doubleclick? + return; + } + //var pos = ""; + // find left tree selected node + var addto = _this.mainwindow.windowstate.left_tree.selmodel.getSelectedNode(); + //var row = _this.view.getRowAt(x,y, out pos); + + var add = _this.selmodel.getSelectedNode().deepClone(); + addto.appendChild(add); + _this.mainwindow.windowstate.left_props.changed(); + _this.mainwindow.windowstate.left_tree.model.selectNode(add); + }); + } + + // user defined functions + } + + + +} diff --git a/src/Builder4/WindowLeftTree.bjs b/src/Builder4/WindowLeftTree.bjs index 4af302ea1..9167aed60 100644 --- a/src/Builder4/WindowLeftTree.bjs +++ b/src/Builder4/WindowLeftTree.bjs @@ -1200,8 +1200,8 @@ " expand.set_hide_expander( !node.hasChildren() );", " \texpand.set_list_row(lr);", " \t", - " \tnode.bind_property(\"iconFilename\",", - " img, \"file\",", + " \tnode.bind_property(\"iconResourceName\",", + " img, \"resource\",", " GLib.BindingFlags.SYNC_CREATE);", " \t", " \tnode.bind_property(\"nodeTitleProp\",", diff --git a/src/Builder4/WindowLeftTree.vala b/src/Builder4/WindowLeftTree.vala index 322f5ffb2..8b0a0b01c 100644 --- a/src/Builder4/WindowLeftTree.vala +++ b/src/Builder4/WindowLeftTree.vala @@ -1826,8 +1826,8 @@ public class Xcls_WindowLeftTree : Object expand.set_hide_expander( !node.hasChildren() ); expand.set_list_row(lr); - node.bind_property("iconFilename", - img, "file", + node.bind_property("iconResourceName", + img, "resource", GLib.BindingFlags.SYNC_CREATE); node.bind_property("nodeTitleProp", diff --git a/src/JsRender/Node.vala b/src/JsRender/Node.vala index 194ee2fe3..cdc7cf311 100644 --- a/src/JsRender/Node.vala +++ b/src/JsRender/Node.vala @@ -121,7 +121,7 @@ public class JsRender.Node : GLib.Object { } set { this.nodeTitleProp = ""; // ?? should trigger set? - this.iconFilename = ""; + this.iconResourceName = ""; this._updated_count = value; @@ -929,7 +929,7 @@ public class JsRender.Node : GLib.Object { } // used by trees to display icons? // needs more thought?!? - public string iconFilename { + public string iconResourceName { set { // NOOp ??? should } @@ -938,7 +938,7 @@ public class JsRender.Node : GLib.Object { var clsb = clsname.split("."); var sub = clsb.length > 1 ? clsb[1].down() : ""; - var fn = "/usr/share/glade/pixmaps/hicolor/16x16/actions/widget-gtk-" + sub + ".png"; + var fn = "/glade-icons/widget-gtk-" + sub + ".png"; //if (FileUtils.test (fn, FileTest.IS_REGULAR)) { return fn; //} diff --git a/src/Palete/LanguageClientJavascript.vala b/src/Palete/LanguageClientJavascript.vala index 7f43fdde4..fcea241e9 100644 --- a/src/Palete/LanguageClientJavascript.vala +++ b/src/Palete/LanguageClientJavascript.vala @@ -58,7 +58,7 @@ namespace Palete { //GLib.debug("got file %s : %s ", file.path, this.file_contents.get(file.path)); var ar = this.file_contents.get(file.path).split("\n"); - var ln = line >= ar.length ? "" : ar[line-1]; + var ln = line >= ar.length || line < 1 ? "" : ar[line-1]; if (offset-1 >= ln.length) { GLib.debug("request for complete on line %d @ pos %d > line length %d", line, offset, (int) ln.length); return ret; diff --git a/src/Palete/LanguageClientVala.vala b/src/Palete/LanguageClientVala.vala index ebe35e1b8..c61f24f7c 100644 --- a/src/Palete/LanguageClientVala.vala +++ b/src/Palete/LanguageClientVala.vala @@ -402,10 +402,15 @@ namespace Palete { public override async void document_change_force (JsRender.JsRender file, string contents) { + + if (!this.isReady()) { return; } - if (!this.open_files.contains(file)) { + this.countdown = 9; // not really relivant.. + this.change_queue_file = null; // this is more important.. + + if (!this.open_files.contains(file)) { this.document_open(file); } diff --git a/src/Palete/ValaCompileRequest.vala b/src/Palete/ValaCompileRequest.vala index 90982ccd7..7fe5405ed 100644 --- a/src/Palete/ValaCompileRequest.vala +++ b/src/Palete/ValaCompileRequest.vala @@ -64,7 +64,8 @@ namespace Palete { if (GLib.FileUtils.test(this.project.path + "/build/meson-info", GLib.FileTest.EXISTS)) { return 0; //assume it's been set up. } - string[] args = { "/usr/bin/meson" ,"setup", "build", "--prefix=/usr" }; + var exe = GLib.Environment.find_program_in_path( "meson"); + string[] args = { exe ,"setup", "build", "--prefix=/usr" }; GLib.debug("running meson"); this.spawn = new Spawn(this.project.path , args); this.spawn.output_line.connect(( str) => { @@ -80,7 +81,8 @@ namespace Palete { GLib.debug("build is missing"); return -1; //assume it's been set up. } - string[] args = { "/usr/bin/ninja"}; + var exe = GLib.Environment.find_program_in_path( "ninja"); + string[] args = { exe }; this.spawn = new Spawn(this.project.path + "/build" , args); this.spawn.output_line.connect(( str) => { @@ -178,9 +180,10 @@ namespace Palete { if (!GLib.FileUtils.test(gdb_cfg, GLib.FileTest.EXISTS)) { pr.writeFile("build/.gdb-script", "set debuginfod enabled off\nr"); } - + var gdb = GLib.Environment.find_program_in_path( "gdb"); + var term = GLib.Environment.find_program_in_path( "gnome-terminal"); - string[] args = "/usr/bin/gnome-terminal --disable-factory --wait -- /usr/bin/gdb -x".split(" "); + string[] args = @"$term --disable-factory --wait -- $gdb -x").split(" "); args+= gdb_cfg; diff --git a/src/Project/Meson.vala b/src/Project/Meson.vala index 59198ce94..e91fc9304 100644 --- a/src/Project/Meson.vala +++ b/src/Project/Meson.vala @@ -14,7 +14,7 @@ namespace Project { public void save() { - + this.has_resources = false; var project_name = this.project.name; var project_version = "1.0"; //this.project.version; var project_licence = "LGPL"; // this.project.licence @@ -47,11 +47,17 @@ namespace Project { var targets = ""; var icons = ""; var desktops = ""; + + var resources = this.addResources(); + foreach(var cg in this.project.compilegroups.values) { targets += this.addTarget(cg); icons += this.addIcons(cg); desktops += this.addDesktop(cg); } + + + var data = @"project('$project_name', 'vala', 'c', @@ -62,6 +68,7 @@ namespace Project { 'c_std=gnu11' # for C subprojects ] ) +gnome = import('gnome') valac = meson.get_compiler('vala') @@ -85,6 +92,8 @@ $addvapidir $icons +$resources + $desktops $targets @@ -117,11 +126,16 @@ GLib.debug("write meson : %s" , data); } str += "])\n\n"; - str += cg.name +" = executable('" + cg.name + "',\n"+ - " dependencies: deps,\n"+ - " sources: [ " + cg.name + "_src ],\n"+ - " install: true\n" + - ")\n\n"; + var resources = this.has_resources ? (", " + this.project.name + "_resources") : ""; + var cgname = cg.name; + + str += @" +$cgname = executable('$cgname', + dependencies: deps, + sources: [ " + cgname + @"_src $resources ], + install: true +) +"; return str; } @@ -149,7 +163,7 @@ install_data( return ""; } ret += " -gnome = import('gnome') + gnome.post_install(gtk_update_icon_cache : true) "; return ret; @@ -170,5 +184,60 @@ install_data( ) "; } + bool has_resources = false; + + string addResources() + { + + if (this.project.findDir(this.project.path + "/resources") == null) { + GLib.debug("no resources folder"); + return ""; + } + var ar = this.project.pathsUnder("resources"); + if (ar.size < 1) { + GLib.debug("no paths under resources"); + return ""; + } + // should probably use DOM (but this is a quick dirty fix + var gr = "\n"; + string[] paths = {}; + foreach(var dir in ar) { + if (dir.childfiles.get_n_items() < 1) { + continue; + } + var sp = dir.relpath.substring(10); + gr += @" \n"; + for (var i = 0; i < dir.childfiles.get_n_items(); i++) { + var f = (dir.childfiles.get_item(i) as JsRender.JsRender); + if (f.xtype != "PlainFile") { + continue; + } + var fn = f.name; + gr += @" $fn\n"; + } + paths += ("'" + dir.relpath +"'"); + gr += " \n"; + + + } + gr += "\n"; + FileUtils.set_contents(this.project.path + "/resources/gresources.xml", gr, gr.length); + + this.has_resources = true; + + return " +" + this.project.name + "_resources = gnome.compile_resources( + '" + this.project.name + "-resources', 'resources/gresources.xml', + source_dir: [ " + string.joinv(", ", paths) + " ], + c_name: '" + this.project.name + "_resources' +)"; + + + return ""; + + } + + + } } \ No newline at end of file diff --git a/src/Project/Project.vala b/src/Project/Project.vala index c16f22693..7060c2be4 100644 --- a/src/Project/Project.vala +++ b/src/Project/Project.vala @@ -979,9 +979,6 @@ namespace Project { string[] ret = {}; foreach(var jdir in this.sub_paths) { - - - if (Path.get_basename (jdir.path) == name) { GLib.debug("pathsMatching %s\n", jdir.path); ret += full_path ? jdir.path : jdir.relpath; @@ -991,6 +988,21 @@ namespace Project { return ret; } + + public Gee.ArrayList pathsUnder(string name) + { + var ret = new Gee.ArrayList(); + + foreach(var jdir in this.sub_paths) { + if (jdir.relpath.has_prefix(name + "/")) { + ret.add(jdir as JsRender.Dir); + } + + } + return ret; + + } + public Gee.ArrayList readArray(Json.Array ar) { var ret = new Gee.ArrayList();