Fix #8011 - add resources
authorAlan <alan@roojs.com>
Tue, 6 Feb 2024 10:45:53 +0000 (18:45 +0800)
committerAlan <alan@roojs.com>
Tue, 6 Feb 2024 10:45:53 +0000 (18:45 +0800)
176 files changed:
debian/changelog
debian/control
meson.build
org.roojs.roobuilder.json
resources/Gir.overides [deleted file]
resources/GtkUsage.txt [deleted file]
resources/glade-icons/widget-gtk-aboutdialog.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-accelgroup.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-accellabel.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-action.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-actionbar.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-actiongroup.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-adjustment.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-alignment.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-appchooserbutton.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-appchooserdialog.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-appchooserwidget.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-arrow.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-aspectframe.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-assistant.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-box.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-button.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-buttonbox.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-calendar.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-cellareabox.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-cellrendereraccel.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-cellrenderercombo.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-cellrendererpixbuf.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-cellrendererprogress.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-cellrendererspin.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-cellrendererspinner.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-cellrenderertext.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-cellrenderertoggle.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-checkbutton.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-checkmenuitem.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-colorbutton.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-colorselection.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-colorselectiondialog.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-combobox.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-comboboxtext.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-default.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-dialog.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-drawingarea.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-entry.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-entrybuffer.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-entrycompletion.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-eventbox.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-expander.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-filechooserbutton.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-filechooserdialog.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-filechooserwidget.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-filefilter.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-fixed.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-flowbox.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-flowboxchild.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-fontbutton.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-fontselection.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-fontselectiondialog.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-frame.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-glarea.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-grid.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-handlebox.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-hbox.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-hbuttonbox.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-headerbar.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-hpaned.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-hscale.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-hscrollbar.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-hseparator.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-iconfactory.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-iconview.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-image.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-imagemenuitem.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-infobar.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-inputdialog.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-label.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-layout.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-levelbar.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-linkbutton.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-listbox.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-listboxrow.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-liststore.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-lockbutton.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-menu.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-menubar.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-menubutton.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-menuitem.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-menutoolbutton.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-messagedialog.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-modelbutton.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-notebook.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-offscreenwindow.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-overlay.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-pagesetupdialog.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-paned.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-placessidebar.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-popover.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-popovermenu.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-printdialog.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-progressbar.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-radioaction.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-radiobutton.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-radiomenuitem.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-radiotoolbutton.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-recentaction.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-recentchooser.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-recentchooserdialog.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-recentchoosermenu.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-recentfilter.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-recentmanager.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-revealer.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-scale.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-scalebutton.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-scrollbar.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-scrolledwindow.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-searchbar.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-searchentry.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-separator.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-separatormenuitem.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-separatortoolitem.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-sizegroup.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-spinbutton.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-spinner.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-stack.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-stacksidebar.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-stackswitcher.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-statusbar.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-statusicon.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-switch.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-table.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-tearoffmenuitem.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-textbuffer.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-texttag.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-texttagtable.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-textview.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-toggleaction.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-togglebutton.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-toggletoolbutton.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-toolbar.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-toolbutton.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-toolitem.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-toolitemgroup.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-toolpalette.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-treemodelfilter.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-treemodelsort.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-treeselection.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-treestore.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-treeview.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-treeviewcolumn.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-vbox.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-vbuttonbox.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-viewport.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-volumebutton.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-vpaned.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-vscale.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-vscrollbar.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-vseparator.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-window.png [new file with mode: 0644]
resources/glade-icons/widget-gtk-windowgroup.png [new file with mode: 0644]
resources/glade-icons/widget-vte-terminal.png [new file with mode: 0644]
resources/html/RooUsage.txt [moved from resources/RooUsage.txt with 100% similarity]
resources/html/bootstrap.builder.html [moved from resources/bootstrap.builder.html with 100% similarity]
resources/html/bootstrap4.builder.html [moved from resources/bootstrap4.builder.html with 100% similarity]
resources/html/mailer.builder.html [moved from resources/mailer.builder.html with 100% similarity]
resources/html/roo.builder.html [moved from resources/roo.builder.html with 100% similarity]
resources/html/roo.builder.js [moved from resources/roo.builder.js with 100% similarity]
src/Builder4/PopoverAddObject.bjs
src/Builder4/PopoverAddObject.vala
src/Builder4/WindowLeftTree.bjs
src/Builder4/WindowLeftTree.vala
src/JsRender/Node.vala
src/Palete/LanguageClientJavascript.vala
src/Palete/LanguageClientVala.vala
src/Palete/ValaCompileRequest.vala
src/Project/Meson.vala
src/Project/Project.vala

index 25af4af..8a9d214 100644 (file)
@@ -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 <alan@touchbox>  Sun, 28 Jan 2024 06:54:56 +0800
 
index 7306554..d72c2f4 100644 (file)
@@ -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)
index 2987160..dda4270 100644 (file)
@@ -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
 )
 
-
index 8c51d14..863db68 100644 (file)
@@ -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",
                     "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 (file)
index 4705c4e..0000000
+++ /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 (file)
index b203005..0000000
+++ /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 (file)
index 0000000..963dd8c
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 (file)
index 0000000..ca93b21
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 (file)
index 0000000..947b58a
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 (file)
index 0000000..c84bd7c
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 (file)
index 0000000..8d4548c
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 (file)
index 0000000..348916f
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 (file)
index 0000000..25b028d
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 (file)
index 0000000..e256473
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 (file)
index 0000000..d59e729
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 (file)
index 0000000..df18419
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 (file)
index 0000000..7b97181
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 (file)
index 0000000..e5cd65f
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 (file)
index 0000000..1f1d6fc
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 (file)
index 0000000..78cc449
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 (file)
index 0000000..7aebe83
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 (file)
index 0000000..82c1d96
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 (file)
index 0000000..8c440c7
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 (file)
index 0000000..1dceca0
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 (file)
index 0000000..52314ff
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 (file)
index 0000000..6147f9f
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 (file)
index 0000000..51bca90
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 (file)
index 0000000..8db2d6d
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 (file)
index 0000000..ffe37d3
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 (file)
index 0000000..009c92e
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 (file)
index 0000000..0834949
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 (file)
index 0000000..dcae6b9
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 (file)
index 0000000..6b957b6
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 (file)
index 0000000..453e346
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 (file)
index 0000000..1c6b5c0
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 (file)
index 0000000..585fe4d
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 (file)
index 0000000..dae9e56
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 (file)
index 0000000..c04f6a1
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 (file)
index 0000000..e58f5de
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 (file)
index 0000000..07bd1d1
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 (file)
index 0000000..4dd6124
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 (file)
index 0000000..eb9d8bd
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 (file)
index 0000000..59a1a35
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 (file)
index 0000000..aefd111
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 (file)
index 0000000..66bfcc0
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 (file)
index 0000000..37b01fe
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 (file)
index 0000000..ab78bbc
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 (file)
index 0000000..9c8cb6b
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 (file)
index 0000000..4e8e10a
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 (file)
index 0000000..82a1942
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 (file)
index 0000000..1d4fcb4
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 (file)
index 0000000..c0ab38f
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 (file)
index 0000000..1a2ac51
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 (file)
index 0000000..eaeeabf
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 (file)
index 0000000..c484d6d
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 (file)
index 0000000..c84bd7c
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 (file)
index 0000000..bb1c762
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 (file)
index 0000000..61571e7
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 (file)
index 0000000..5f19b72
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 (file)
index 0000000..a3df42f
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 (file)
index 0000000..0f2693d
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 (file)
index 0000000..cc7955d
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 (file)
index 0000000..ee805ad
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 (file)
index 0000000..8c440c7
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 (file)
index 0000000..914cd78
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 (file)
index 0000000..f419e71
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 (file)
index 0000000..5be4070
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 (file)
index 0000000..9daaebd
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 (file)
index 0000000..80be2b9
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 (file)
index 0000000..8353a7a
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 (file)
index 0000000..cc16606
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 (file)
index 0000000..078c1c3
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 (file)
index 0000000..1c7f14c
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 (file)
index 0000000..aa488c4
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 (file)
index 0000000..a4bf183
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 (file)
index 0000000..62ff63e
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 (file)
index 0000000..7b26297
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 (file)
index 0000000..90c7d7c
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 (file)
index 0000000..4bef71a
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 (file)
index 0000000..ec68826
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 (file)
index 0000000..8b2c99d
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 (file)
index 0000000..de0745e
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 (file)
index 0000000..3e9118a
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 (file)
index 0000000..5469ddd
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 (file)
index 0000000..23def1e
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 (file)
index 0000000..dc30af1
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 (file)
index 0000000..09fdafb
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 (file)
index 0000000..b15c7ab
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 (file)
index 0000000..87b88d6
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 (file)
index 0000000..e4cd40c
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 (file)
index 0000000..2c6dc5f
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 (file)
index 0000000..ba65454
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 (file)
index 0000000..2800b51
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 (file)
index 0000000..64124fc
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 (file)
index 0000000..f419e71
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 (file)
index 0000000..177a42c
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 (file)
index 0000000..164fd15
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 (file)
index 0000000..1b23c65
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 (file)
index 0000000..507e933
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 (file)
index 0000000..5a88bf7
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 (file)
index 0000000..73e3112
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 (file)
index 0000000..175360b
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 (file)
index 0000000..bed4265
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 (file)
index 0000000..5f243ea
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 (file)
index 0000000..2c1f0e7
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 (file)
index 0000000..56f2837
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 (file)
index 0000000..2476187
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 (file)
index 0000000..5480a5c
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 (file)
index 0000000..565bde8
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 (file)
index 0000000..3bd02ec
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 (file)
index 0000000..238449e
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 (file)
index 0000000..322355d
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 (file)
index 0000000..573601e
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 (file)
index 0000000..5305d21
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 (file)
index 0000000..a4fb208
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 (file)
index 0000000..c25d8cb
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 (file)
index 0000000..c39938d
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 (file)
index 0000000..d5bcafe
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 (file)
index 0000000..7e9a8a1
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 (file)
index 0000000..f4a6c3f
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 (file)
index 0000000..27a2e7d
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 (file)
index 0000000..178f880
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 (file)
index 0000000..96c211e
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 (file)
index 0000000..51053ac
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 (file)
index 0000000..6eee801
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 (file)
index 0000000..b57f466
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 (file)
index 0000000..b6eedf1
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 (file)
index 0000000..732df98
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 (file)
index 0000000..87612f5
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 (file)
index 0000000..0f2693d
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 (file)
index 0000000..fe78ca3
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 (file)
index 0000000..7fc0f14
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 (file)
index 0000000..1dc3c75
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 (file)
index 0000000..7640a1e
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 (file)
index 0000000..48bbb92
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 (file)
index 0000000..f079e3d
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 (file)
index 0000000..4056359
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 (file)
index 0000000..a4912b8
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 (file)
index 0000000..6ce3111
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 (file)
index 0000000..d2371b9
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 (file)
index 0000000..1d54c6a
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 (file)
index 0000000..b260b0d
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 (file)
index 0000000..c0bb837
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 (file)
index 0000000..494edc4
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 (file)
index 0000000..e6cdc6c
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 (file)
index 0000000..145f7c0
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 (file)
index 0000000..8e35939
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 (file)
index 0000000..81e1ead
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 (file)
index 0000000..d535614
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 (file)
index 0000000..7aebe83
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 (file)
index 0000000..081ac0e
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 (file)
index 0000000..51385b4
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 (file)
index 0000000..74899f7
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 (file)
index 0000000..da69956
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 (file)
index 0000000..322355d
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 (file)
index 0000000..5305d21
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 (file)
index 0000000..d5bcafe
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 (file)
index 0000000..81cb5d6
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 (file)
index 0000000..b70aa09
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 (file)
index 0000000..e767bc6
Binary files /dev/null and b/resources/glade-icons/widget-vte-terminal.png differ
index f4e7724..20d4cd8 100644 (file)
              "// was item (1) in old layout",
              "",
              "\t ",
-             " \timg.file = node.iconFilename;",
+             " \timg.resource = node.iconResourceName;",
              " \tlbl.label =  node.fqn();",
              "// \tlbl.tooltip_markup = node.nodeTip();",
              " ",
index 8de0923..83490c2 100644 (file)
-    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
     
 );
 
-                // 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
+       }
+
+
+
+}
index 4af302e..9167aed 100644 (file)
              "    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\",",
index 322f5ff..8b0a0b0 100644 (file)
@@ -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",
index 194ee2f..cdc7cf3 100644 (file)
@@ -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;
                        //}
index 7f43fdd..fcea241 100644 (file)
@@ -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;
index ebe35e1..c61f24f 100644 (file)
@@ -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);
                        }  
                        
index 90982cc..7fe5405 100644 (file)
@@ -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;
  
index 59198ce..e91fc93 100644 (file)
@@ -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 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<gresources>";
+                       string[] paths = {};
+                       foreach(var dir in ar) {
+                               if (dir.childfiles.get_n_items() < 1) {
+                                       continue;
+                               }
+                               var sp = dir.relpath.substring(10);
+                               gr += @"  <gresource prefix=\"/$sp\">\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 +=  @"    <file>$fn</file>\n";
+                               }
+                               paths += ("'" + dir.relpath +"'");
+                               gr += "  </gresource>\n";
+
+                       
+                       }
+                       gr += "</gresources>\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
index c16f226..7060c2b 100644 (file)
@@ -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<JsRender.Dir> pathsUnder(string name)
+               {
+                       var ret = new Gee.ArrayList<JsRender.Dir>();
+                        
+                       foreach(var jdir in this.sub_paths) { 
+                               if (jdir.relpath.has_prefix(name + "/")) {
+                                       ret.add(jdir as JsRender.Dir);
+                               }
+                               
+                       }
+                       return ret;
+                       
+               }
+               
                public Gee.ArrayList<string> readArray(Json.Array ar) 
                {
                        var ret = new Gee.ArrayList<string>();