}
return _LeftProps;
}
- public Xcls_AddPropertyPopup AddPropertyPopup;
+ public Xcls_addpop addpop;
public Xcls_EditProps EditProps;
public Xcls_view view;
public Xcls_deletemenu deletemenu;
public JsRender.JsRender file;
public JsRender.Node node;
public signal void show_editor (JsRender.JsRender file, JsRender.Node node, JsRender.NodeProp prop);
+ public Gee.ArrayList<Gtk.Widget>? error_widgets;
// ctor
public Xcls_LeftProps()
this.allow_edit = false;
this.main_window = null;
this.last_error_counter = -1;
+ this.error_widgets = null;
// set gobject values
this.el.homogeneous = false ;
this.el.hexpand = true;
this.el.vexpand = true;
- var child_1 = new Xcls_Box2( _this );
+ var child_1 = new Xcls_Box1( _this );
child_1.ref();
this.el.append( child_1.el );
new Xcls_EditProps( _this );
}
public void updateErrors () {
var file = this.file;
+ if (file == null) {
+ return;
+ }
var ar = file.getErrors();
- if (ar.size < 1) {
- this.removeErrors();
+ if (ar == null || ar.size < 1) {
+ if (this.last_error_counter != file.error_counter) {
+ this.removeErrors();
+ }
+
this.last_error_counter = file.error_counter ;
return;
return;
}
this.removeErrors();
-
+ this.error_widgets = new Gee.ArrayList<Gtk.Widget>();
foreach(var diag in ar) {
// print("get inter\n");
- var node= file.lineToNode( (int)diag.range.start.line) ;
- if (node == null || node.oid != this.node.oid) {
+ var node = file.lineToNode( (int)diag.range.start.line) ;
+ if (node == null || this.node == null || node.oid != this.node.oid) {
continue;
}
var prop = node.lineToProp( (int)diag.range.start.line) ;
-
+ if (prop == null) {
+ continue;
+ }
var row = _this.selmodel.propToRow(prop);
if (row < 0) {
continue;
if (w == null) {
return;
}
- var ed = diag.category.down();
+
+
+ var ed = diag.category.down();
if (ed != "err" && w.has_css_class("node-err")) {
continue;
}
+ this.error_widgets.add(w);
if (ed == "err" && w.has_css_class("node-warn")) {
w.remove_css_class("node-warn");
}
*/
}
public void removeErrors () {
- var child = this.view.el.get_first_child();
-
- 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;
- }
- // should be columnlistview
- child = child.get_first_child();
-
-
-
- reading_header = false;
-
- }
-
- if (child.has_css_class("node-err")) {
+ if (this.error_widgets == null || this.error_widgets.size < 1) {
+ return;
+ }
+ foreach(var child in this.error_widgets) {
+
+ if (child.has_css_class("node-err")) {
child.remove_css_class("node-err");
}
if (child.has_css_class("node-warn")) {
if (child.has_css_class("node-depr")) {
child.remove_css_class("node-depr");
}
-
- child = child.get_next_sibling();
}
+ this.error_widgets = null;
+ return;
//GLib.debug("Rturning null");
- }
- public void a_addProp (JsRender.NodeProp prop) {
- // info includes key, val, skel, etype..
- //console.dump(info);
- //type = info.type.toLowerCase();
- //var data = this.toJS();
-
-
- if (prop.ptype == JsRender.NodePropType.LISTENER) {
- if (this.node.listeners.has_key(prop.name)) {
- return;
- }
- this.node.listeners.set(prop.name,prop);
- } else {
- assert(this.node != null);
- assert(this.node.props != null);
- if (this.node.props.has_key(prop.to_index_key())) {
- return;
- }
- this.node.props.set(prop.to_index_key(),prop);
- }
-
-
- // add a row???
- this.load(this.file, this.node);
-
-
-
-
- GLib.debug("trying to find new iter");
-
-
-
}
public void load (JsRender.JsRender file, JsRender.Node? node)
{
}
- GLib.debug("load leftprops\n");
+ GLib.debug("load leftprops");
this.node = node;
this.file = file;
//this.get('/RightEditor').el.hide();
if (node ==null) {
+ GLib.debug("node is null return");
return ;
}
- node.loadProps(this.model.el);
+
+ node.loadProps(this.model.el, _this.main_window.windowstate.project);
//GLib.debug("clear selection\n");
// _this.valcol.el.set_max_width(_this.EditProps.el.get_allocated_width()/ 2);
}
- public class Xcls_Box2 : Object
+ public class Xcls_Box1 : Object
{
public Gtk.Box el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_Box2(Xcls_LeftProps _owner )
+ public Xcls_Box1(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
// set gobject values
this.el.hexpand = true;
- var child_1 = new Xcls_Label3( _this );
+ var child_1 = new Xcls_Label2( _this );
child_1.ref();
this.el.append( child_1.el );
- var child_2 = new Xcls_Button4( _this );
+ var child_2 = new Xcls_Button3( _this );
child_2.ref();
this.el.append( child_2.el );
- var child_3 = new Xcls_Button5( _this );
+ var child_3 = new Xcls_Button4( _this );
child_3.ref();
this.el.append( child_3.el );
- var child_4 = new Xcls_Button6( _this );
+ var child_4 = new Xcls_MenuButton5( _this );
child_4.ref();
this.el.append( child_4.el );
}
// user defined functions
}
- public class Xcls_Label3 : Object
+ public class Xcls_Label2 : Object
{
public Gtk.Label el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_Label3(Xcls_LeftProps _owner )
+ public Xcls_Label2(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Label( "Add:" );
// user defined functions
}
- public class Xcls_Button4 : Object
+ public class Xcls_Button3 : Object
{
public Gtk.Button el;
private Xcls_LeftProps _this;
public bool always_show_image;
// ctor
- public Xcls_Button4(Xcls_LeftProps _owner )
+ public Xcls_Button3(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Button();
// user defined functions
}
- public class Xcls_Button5 : Object
+ public class Xcls_Button4 : Object
{
public Gtk.Button el;
private Xcls_LeftProps _this;
public bool always_show_image;
// ctor
- public Xcls_Button5(Xcls_LeftProps _owner )
+ public Xcls_Button4(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Button();
// user defined functions
}
- public class Xcls_Button6 : Object
+ public class Xcls_MenuButton5 : Object
{
- public Gtk.Button el;
+ public Gtk.MenuButton el;
private Xcls_LeftProps _this;
// my vars (def)
- public bool always_show_image;
// ctor
- public Xcls_Button6(Xcls_LeftProps _owner )
+ public Xcls_MenuButton5(Xcls_LeftProps _owner )
{
_this = _owner;
- this.el = new Gtk.Button();
+ this.el = new Gtk.MenuButton();
// my vars (dec)
- this.always_show_image = true;
// set gobject values
- this.el.icon_name = "list-add";
- this.el.hexpand = true;
this.el.label = "Other";
- new Xcls_AddPropertyPopup( _this );
-
- //listeners
- this.el.clicked.connect( ( ) => {
- //_this.before_edit();
-
-
- var p = _this.AddPropertyPopup;
-
- // Gtk.Allocation rect;
- //this.el.get_allocation(out rect);
- if (p.el.parent == null) {
- p.el.set_parent(this.el);
- }
- //p.el.set_pointing_to(rect);
- p.el.show();
- p.el.set_position(Gtk.PositionType.BOTTOM);
- p.el.autohide = true;
- return;
-
- });
+ new Xcls_addpop( _this );
+ this.el.popover = _this.addpop.el;
}
// user defined functions
}
- public class Xcls_AddPropertyPopup : Object
+ public class Xcls_addpop : Object
{
public Gtk.Popover el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_AddPropertyPopup(Xcls_LeftProps _owner )
+ public Xcls_addpop(Xcls_LeftProps _owner )
{
_this = _owner;
- _this.AddPropertyPopup = this;
+ _this.addpop = this;
this.el = new Gtk.Popover();
// my vars (dec)
// set gobject values
- this.el.autohide = true;
- var child_1 = new Xcls_Box8( _this );
+ var child_1 = new Xcls_Box7( _this );
+ child_1.ref();
this.el.child = child_1.el;
}
// user defined functions
}
- public class Xcls_Box8 : Object
+ public class Xcls_Box7 : Object
{
public Gtk.Box el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_Box8(Xcls_LeftProps _owner )
+ public Xcls_Box7(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
// my vars (dec)
// set gobject values
- var child_1 = new Xcls_Button9( _this );
+ var child_1 = new Xcls_Button8( _this );
child_1.ref();
this.el.append( child_1.el );
var child_2 = new Xcls_Button10( _this );
child_2.ref();
this.el.append( child_2.el );
- var child_3 = new Xcls_Button11( _this );
+ var child_3 = new Xcls_Button12( _this );
child_3.ref();
this.el.append( child_3.el );
- var child_4 = new Xcls_Button12( _this );
+ var child_4 = new Xcls_Button14( _this );
child_4.ref();
this.el.append( child_4.el );
- var child_5 = new Xcls_Button13( _this );
+ var child_5 = new Xcls_Button16( _this );
child_5.ref();
this.el.append( child_5.el );
- var child_6 = new Xcls_Separator14( _this );
+ var child_6 = new Xcls_Separator18( _this );
child_6.ref();
this.el.append( child_6.el );
- var child_7 = new Xcls_Button15( _this );
+ var child_7 = new Xcls_Button19( _this );
child_7.ref();
this.el.append( child_7.el );
- var child_8 = new Xcls_Button16( _this );
+ var child_8 = new Xcls_Button21( _this );
child_8.ref();
this.el.append( child_8.el );
- var child_9 = new Xcls_Button17( _this );
+ var child_9 = new Xcls_Button23( _this );
child_9.ref();
this.el.append( child_9.el );
- var child_10 = new Xcls_Separator18( _this );
+ var child_10 = new Xcls_Separator25( _this );
child_10.ref();
this.el.append( child_10.el );
- var child_11 = new Xcls_Button19( _this );
+ var child_11 = new Xcls_Button26( _this );
child_11.ref();
this.el.append( child_11.el );
- var child_12 = new Xcls_Button20( _this );
+ var child_12 = new Xcls_Button28( _this );
child_12.ref();
this.el.append( child_12.el );
- var child_13 = new Xcls_Button21( _this );
+ var child_13 = new Xcls_Button30( _this );
child_13.ref();
this.el.append( child_13.el );
- var child_14 = new Xcls_Separator22( _this );
+ var child_14 = new Xcls_Separator32( _this );
child_14.ref();
this.el.append( child_14.el );
- var child_15 = new Xcls_Button23( _this );
+ var child_15 = new Xcls_Button33( _this );
child_15.ref();
this.el.append( child_15.el );
- var child_16 = new Xcls_Button24( _this );
+ var child_16 = new Xcls_Button35( _this );
child_16.ref();
this.el.append( child_16.el );
- var child_17 = new Xcls_Button25( _this );
+ var child_17 = new Xcls_Button37( _this );
child_17.ref();
this.el.append( child_17.el );
}
// user defined functions
}
- public class Xcls_Button9 : Object
+ public class Xcls_Button8 : Object
{
public Gtk.Button el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_Button9(Xcls_LeftProps _owner )
+ public Xcls_Button8(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Button();
// my vars (dec)
// set gobject values
- this.el.tooltip_markup = "Using _this.{ID} will map to this element";
- this.el.label = "id: _this.{ID} (Vala)";
+ this.el.has_frame = false;
+ var child_1 = new Xcls_Label9( _this );
+ child_1.ref();
+ this.el.child = child_1.el;
//listeners
this.el.clicked.connect( () => {
- _this.AddPropertyPopup.el.hide();
+ _this.addpop.el.hide();
// is this userdef or special??
var add = new JsRender.NodeProp.prop("id");
if (_this.node.has_prop_key(add)) {
_this.view.editProp( add );
-
});
}
// user defined functions
}
+ public class Xcls_Label9 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_LeftProps _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label9(Xcls_LeftProps _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "id: _this.{ID} (Vala)" );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.halign = Gtk.Align.START;
+ this.el.tooltip_text = "Using _this.{ID} will map to this element";
+ }
+
+ // user defined functions
+ }
+
public class Xcls_Button10 : Object
{
// my vars (dec)
// set gobject values
- this.el.tooltip_markup = "how to pack this element onto parent, (method, 2nd arg, 3rd arg) .. the 1st argument is filled by the element";
- this.el.label = "pack: Pack method (Vala)";
+ this.el.has_frame = false;
+ var child_1 = new Xcls_Label11( _this );
+ child_1.ref();
+ this.el.child = child_1.el;
//listeners
this.el.clicked.connect( ( ) => {
- _this.AddPropertyPopup.el.hide();
+ _this.addpop.el.hide();
// is this userdef or special??
var add = new JsRender.NodeProp.special("pack", "add");
if (_this.node.has_prop_key(add)) {
// user defined functions
}
+ public class Xcls_Label11 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_LeftProps _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label11(Xcls_LeftProps _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "pack: Pack method (Vala)" );
+
+ // my vars (dec)
- public class Xcls_Button11 : Object
+ // set gobject values
+ this.el.halign = Gtk.Align.START;
+ this.el.tooltip_text = "how to pack this element onto parent, (method, 2nd arg, 3rd arg) .. the 1st argument is filled by the element";
+ }
+
+ // user defined functions
+ }
+
+
+ public class Xcls_Button12 : Object
{
public Gtk.Button el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_Button11(Xcls_LeftProps _owner )
+ public Xcls_Button12(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Button();
// my vars (dec)
// set gobject values
- this.el.tooltip_markup = "eg. \n\nnew Clutter.Image.from_file(.....)";
- this.el.label = "ctor: Alterative to default contructor (Vala)";
+ this.el.has_frame = false;
+ var child_1 = new Xcls_Label13( _this );
+ child_1.ref();
+ this.el.child = child_1.el;
//listeners
this.el.clicked.connect( ( ) => {
- _this.AddPropertyPopup.el.hide();
+ _this.addpop.el.hide();
// is this userdef or special??
var add = new JsRender.NodeProp.special("ctor");
if (_this.node.has_prop_key(add)) {
// user defined functions
}
+ public class Xcls_Label13 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_LeftProps _this;
- public class Xcls_Button12 : Object
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label13(Xcls_LeftProps _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "ctor: Alterative to default contructor (Vala)" );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.halign = Gtk.Align.START;
+ this.el.tooltip_text = "eg. \n\nnew Clutter.Image.from_file(.....)";
+ }
+
+ // user defined functions
+ }
+
+
+ public class Xcls_Button14 : Object
{
public Gtk.Button el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_Button12(Xcls_LeftProps _owner )
+ public Xcls_Button14(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Button();
// my vars (dec)
// set gobject values
- this.el.tooltip_markup = "This code is called after the ctor";
- this.el.label = "init: initialziation code (vala)";
+ this.el.has_frame = false;
+ var child_1 = new Xcls_Label15( _this );
+ child_1.ref();
+ this.el.child = child_1.el;
//listeners
this.el.clicked.connect( ( ) => {
- _this.AddPropertyPopup.el.hide();
+ _this.addpop.el.hide();
// is this userdef or special??
var add = new JsRender.NodeProp.special("init","{\n\n}\n" ) ;
if (_this.node.has_prop_key(add)) {
// user defined functions
}
+ public class Xcls_Label15 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_LeftProps _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label15(Xcls_LeftProps _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "init: initialziation code (vala)" );
+
+ // my vars (dec)
- public class Xcls_Button13 : Object
+ // set gobject values
+ this.el.halign = Gtk.Align.START;
+ this.el.tooltip_text = "This code is called after the ctor";
+ }
+
+ // user defined functions
+ }
+
+
+ public class Xcls_Button16 : Object
{
public Gtk.Button el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_Button13(Xcls_LeftProps _owner )
+ public Xcls_Button16(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Button();
// my vars (dec)
// set gobject values
- this.el.tooltip_markup = "set the cms-id for this element, when converted to javascript, the html value will be wrapped with Pman.Cms.content({cms-id},{original-html})\n";
- this.el.label = "cms-id: (Roo JS/Pman library)";
+ this.el.has_frame = false;
+ var child_1 = new Xcls_Label17( _this );
+ child_1.ref();
+ this.el.child = child_1.el;
//listeners
this.el.clicked.connect( () => {
-
- _this.AddPropertyPopup.el.hide();
+ _this.addpop.el.hide();
+
// is this userdef or special??
var add = new JsRender.NodeProp.prop("cms-id","string", "" ) ;
if (_this.node.has_prop_key(add)) {
// user defined functions
}
+ public class Xcls_Label17 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_LeftProps _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label17(Xcls_LeftProps _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "cms-id: (Roo JS/Pman library)" );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.halign = Gtk.Align.START;
+ this.el.tooltip_text = "set the cms-id for this element, when converted to javascript, the html value will be wrapped with Pman.Cms.content({cms-id},{original-html})\n";
+ }
+
+ // user defined functions
+ }
+
- public class Xcls_Separator14 : Object
+ public class Xcls_Separator18 : Object
{
public Gtk.Separator el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_Separator14(Xcls_LeftProps _owner )
+ public Xcls_Separator18(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Separator( Gtk.Orientation.HORIZONTAL );
// user defined functions
}
- public class Xcls_Button15 : Object
+ public class Xcls_Button19 : Object
{
public Gtk.Button el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_Button15(Xcls_LeftProps _owner )
+ public Xcls_Button19(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Button();
// my vars (dec)
// set gobject values
- this.el.tooltip_markup = "Add a user defined string property";
- this.el.label = "String";
+ this.el.has_frame = false;
+ var child_1 = new Xcls_Label20( _this );
+ child_1.ref();
+ this.el.child = child_1.el;
//listeners
this.el.clicked.connect( (self) => {
- _this.AddPropertyPopup.el.hide();
+ _this.addpop.el.hide();
_this.view.popover.show(
_this.view.el,
_this.node,
- new JsRender.NodeProp.prop("", "string", "") ,
+ new JsRender.NodeProp.user("", "string", "") ,
-1,
true
);
// user defined functions
}
+ public class Xcls_Label20 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_LeftProps _this;
- public class Xcls_Button16 : Object
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label20(Xcls_LeftProps _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "String" );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.halign = Gtk.Align.START;
+ this.el.tooltip_text = "Add a user defined string property";
+ }
+
+ // user defined functions
+ }
+
+
+ public class Xcls_Button21 : Object
{
public Gtk.Button el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_Button16(Xcls_LeftProps _owner )
+ public Xcls_Button21(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Button();
// my vars (dec)
// set gobject values
- this.el.tooltip_markup = "Add a user defined number property";
- this.el.label = "Number";
+ this.el.has_frame = false;
+ var child_1 = new Xcls_Label22( _this );
+ child_1.ref();
+ this.el.child = child_1.el;
//listeners
this.el.clicked.connect( ( ) =>{
- _this.AddPropertyPopup.el.hide();
-
+
+ _this.addpop.el.hide();
_this.view.popover.show(
_this.view.el,
_this.node,
- new JsRender.NodeProp.prop("", "int", "0") ,
+ new JsRender.NodeProp.user("", "int", "0") ,
-1,
true
);
// user defined functions
}
+ public class Xcls_Label22 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_LeftProps _this;
+
- public class Xcls_Button17 : Object
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label22(Xcls_LeftProps _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "Number" );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.halign = Gtk.Align.START;
+ this.el.tooltip_text = "Add a user defined number property";
+ }
+
+ // user defined functions
+ }
+
+
+ public class Xcls_Button23 : Object
{
public Gtk.Button el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_Button17(Xcls_LeftProps _owner )
+ public Xcls_Button23(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Button();
// my vars (dec)
// set gobject values
- this.el.tooltip_markup = "Add a user defined boolean property";
- this.el.label = "Boolean";
+ this.el.has_frame = false;
+ var child_1 = new Xcls_Label24( _this );
+ child_1.ref();
+ this.el.child = child_1.el;
//listeners
this.el.clicked.connect( ( ) =>{
- _this.AddPropertyPopup.el.hide();
+ _this.addpop.el.hide();
_this.view.popover.show(
_this.view.el,
_this.node,
- new JsRender.NodeProp.prop("", "bool", "true") ,
+ new JsRender.NodeProp.user("", "bool", "true") ,
-1,
true
);
// user defined functions
}
+ public class Xcls_Label24 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_LeftProps _this;
- public class Xcls_Separator18 : Object
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label24(Xcls_LeftProps _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "Boolean" );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.halign = Gtk.Align.START;
+ this.el.tooltip_text = "Add a user defined boolean property";
+ }
+
+ // user defined functions
+ }
+
+
+ public class Xcls_Separator25 : Object
{
public Gtk.Separator el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_Separator18(Xcls_LeftProps _owner )
+ public Xcls_Separator25(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Separator( Gtk.Orientation.HORIZONTAL );
// user defined functions
}
- public class Xcls_Button19 : Object
+ public class Xcls_Button26 : Object
{
public Gtk.Button el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_Button19(Xcls_LeftProps _owner )
+ public Xcls_Button26(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Button();
// my vars (dec)
// set gobject values
- this.el.tooltip_markup = "Add a user function boolean property";
- this.el.label = "Javascript Function";
+ this.el.has_frame = false;
+ var child_1 = new Xcls_Label27( _this );
+ child_1.ref();
+ this.el.child = child_1.el;
//listeners
this.el.clicked.connect( ( ) =>{
- _this.AddPropertyPopup.el.hide();
+ _this.addpop.el.hide();
_this.view.popover.show(
_this.view.el,
_this.node,
// user defined functions
}
+ public class Xcls_Label27 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_LeftProps _this;
+
+
+ // my vars (def)
- public class Xcls_Button20 : Object
+ // ctor
+ public Xcls_Label27(Xcls_LeftProps _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "Javascript Function" );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.halign = Gtk.Align.START;
+ this.el.tooltip_text = "Add a javascript function";
+ }
+
+ // user defined functions
+ }
+
+
+ public class Xcls_Button28 : Object
{
public Gtk.Button el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_Button20(Xcls_LeftProps _owner )
+ public Xcls_Button28(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Button();
// my vars (dec)
// set gobject values
- this.el.tooltip_markup = "Add a user function boolean property";
- this.el.label = "Vala Method";
+ this.el.has_frame = false;
+ var child_1 = new Xcls_Label29( _this );
+ child_1.ref();
+ this.el.child = child_1.el;
//listeners
this.el.clicked.connect( ( ) =>{
- _this.AddPropertyPopup.el.hide();
+ _this.addpop.el.hide();
_this.view.popover.show(
_this.view.el,
_this.node,
// user defined functions
}
+ public class Xcls_Label29 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_LeftProps _this;
- public class Xcls_Button21 : Object
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label29(Xcls_LeftProps _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "Vala Method" );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.halign = Gtk.Align.START;
+ this.el.tooltip_text = "Add a user defined method to a object";
+ }
+
+ // user defined functions
+ }
+
+
+ public class Xcls_Button30 : Object
{
public Gtk.Button el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_Button21(Xcls_LeftProps _owner )
+ public Xcls_Button30(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Button();
// my vars (dec)
// set gobject values
- this.el.tooltip_markup = "Add a vala signal";
- this.el.label = "Vala Signal";
+ this.el.has_frame = false;
+ var child_1 = new Xcls_Label31( _this );
+ child_1.ref();
+ this.el.child = child_1.el;
//listeners
this.el.clicked.connect( ( ) =>{
- _this.AddPropertyPopup.el.hide();
+ _this.addpop.el.hide();
_this.view.popover.show(
_this.view.el,
_this.node,
// user defined functions
}
+ public class Xcls_Label31 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_LeftProps _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label31(Xcls_LeftProps _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "Vala Signal" );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.halign = Gtk.Align.START;
+ this.el.tooltip_text = "Add a user defined signal to a object";
+ }
+
+ // user defined functions
+ }
- public class Xcls_Separator22 : Object
+
+ public class Xcls_Separator32 : Object
{
public Gtk.Separator el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_Separator22(Xcls_LeftProps _owner )
+ public Xcls_Separator32(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Separator( Gtk.Orientation.HORIZONTAL );
// user defined functions
}
- public class Xcls_Button23 : Object
+ public class Xcls_Button33 : Object
{
public Gtk.Button el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_Button23(Xcls_LeftProps _owner )
+ public Xcls_Button33(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Button();
// my vars (dec)
// set gobject values
- this.el.tooltip_markup = "Add a flexy if (for HTML templates)";
- this.el.label = "Flexy - If";
+ this.el.has_frame = false;
+ var child_1 = new Xcls_Label34( _this );
+ child_1.ref();
+ this.el.child = child_1.el;
//listeners
this.el.clicked.connect( ( ) =>{
- _this.AddPropertyPopup.el.hide();
+ _this.addpop.el.hide();
_this.view.popover.show(
_this.view.el,
_this.node,
// user defined functions
}
+ public class Xcls_Label34 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_LeftProps _this;
+
+
+ // my vars (def)
- public class Xcls_Button24 : Object
+ // ctor
+ public Xcls_Label34(Xcls_LeftProps _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "Flexy - If" );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.halign = Gtk.Align.START;
+ this.el.tooltip_text = "Add a flexy if (for HTML templates)";
+ }
+
+ // user defined functions
+ }
+
+
+ public class Xcls_Button35 : Object
{
public Gtk.Button el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_Button24(Xcls_LeftProps _owner )
+ public Xcls_Button35(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Button();
// my vars (dec)
// set gobject values
- this.el.tooltip_markup = "Add a flexy include (for HTML templates)";
- this.el.label = "Flexy - Include";
+ this.el.has_frame = false;
+ var child_1 = new Xcls_Label36( _this );
+ child_1.ref();
+ this.el.child = child_1.el;
//listeners
this.el.clicked.connect( ( ) =>{
- _this.AddPropertyPopup.el.hide();
+ _this.addpop.el.hide();
_this.view.popover.show(
_this.view.el,
_this.node,
// user defined functions
}
+ public class Xcls_Label36 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_LeftProps _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label36(Xcls_LeftProps _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "Flexy - Include" );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.halign = Gtk.Align.START;
+ this.el.tooltip_text = "Add a flexy include (for HTML templates)";
+ }
+
+ // user defined functions
+ }
+
- public class Xcls_Button25 : Object
+ public class Xcls_Button37 : Object
{
public Gtk.Button el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_Button25(Xcls_LeftProps _owner )
+ public Xcls_Button37(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Button();
// my vars (dec)
// set gobject values
+ this.el.has_frame = false;
this.el.tooltip_markup = "Add a flexy include (for HTML templates)";
- this.el.label = "Flexy - Foreach";
+ var child_1 = new Xcls_Label38( _this );
+ child_1.ref();
+ this.el.child = child_1.el;
//listeners
this.el.clicked.connect( ( ) =>{
- _this.AddPropertyPopup.el.hide();
+ _this.addpop.el.hide();
_this.view.popover.show(
_this.view.el,
_this.node,
// user defined functions
}
+ public class Xcls_Label38 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_LeftProps _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label38(Xcls_LeftProps _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "Flexy - Foreach" );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.halign = Gtk.Align.START;
+ this.el.tooltip_text = "Add a flexy foreach (for HTML templates)";
+ }
+
+ // user defined functions
+ }
+
// my vars (def)
- public Gtk.CssProvider css;
public Xcls_PopoverProperty popover;
// ctor
this.el.vexpand = true;
this.el.show_row_separators = true;
new Xcls_deletemenu( _this );
- var child_3 = new Xcls_GestureClick31( _this );
+ var child_3 = new Xcls_GestureClick45( _this );
child_3.ref();
this.el.add_controller( child_3.el );
- var child_4 = new Xcls_GestureClick32( _this );
+ var child_4 = new Xcls_GestureClick46( _this );
child_4.ref();
this.el.add_controller( child_4.el );
new Xcls_keycol( _this );
new Xcls_valcol( _this );
this.el.append_column ( _this.valcol.el );
new Xcls_ContextMenu( _this );
-
- // init method
-
- {
-
- this.css = new Gtk.CssProvider();
-
- this.css.load_from_string("
- #leftprops-view { font-size: 12px;}
-
- #leftprops-view dropdown button {
- min-height: 16px;
- outline-offset : 0;
- }
- #leftprops-view cell dropdown label {
- padding-top:0px;
- padding-bottom:0px;
- }
- #leftprops-view cell {
- padding-top:2px;
- padding-bottom:2px;
- }
- #leftprops-view cell label, #leftprops-view cell editablelable {
- padding-top:4px;
- padding-bottom:4px;
- }");
-
- Gtk.StyleContext.add_provider_for_display(
- this.el.get_display(),
- this.css,
- Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION
- );
-
-
- }
}
// user defined functions
}
*/
- GLib.debug("Get Widget At Row %d", (int)row);
+ //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());
+ //GLib.debug("Got %s", child.get_type().name());
if (reading_header) {
}
line_no++;
if (line_no == row) {
- GLib.debug("Returning widget %s", child.get_type().name());
+ //GLib.debug("Returning widget %s", child.get_type().name());
return (Gtk.Widget)child;
}
child = child.get_next_sibling();
}
- GLib.debug("Rturning null");
+ //GLib.debug("Rturning null");
return null;
}
}
if (l.get_visible()) {
_this.stop_editor();
+ if (prop.parent == null) {
+ return;
+ }
_this.show_editor(_this.file, prop.parent, prop);
}
return -1;
}
- public int getRowAt (double x, double in_y, out string pos) {
-
+ public int getRowAt (double x, double y, out string pos) {
+ pos = "";
+ var w = this.el.pick(x, y, Gtk.PickFlags.DEFAULT);
+ //GLib.debug("got widget %s", w == null ? "nothing" : w.get_type().name());
+ if (w == null) {
+ return -1;
+ }
+
+ var row= w.get_ancestor(GLib.Type.from_name("GtkColumnViewRowWidget"));
+ if (row == null) {
+ return -1;
+ }
+
+ //GLib.debug("got colview %s", row == null ? "nothing" : row.get_type().name());
-
- /*
-
- 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.EditProps.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;
-
+ var rn = 0;
+ var cr = row;
+
+ while (cr.get_prev_sibling() != null) {
+ rn++;
+ cr = cr.get_prev_sibling();
+ }
+
+ //GLib.debug("row number is %d", rn);
+ //GLib.debug("click %d, %d", (int)x, (int)y);
+ // above or belw
+ Graphene.Rect bounds;
+ row.compute_bounds(this.el, out bounds);
+ //GLib.debug("click x=%d, y=%d, w=%d, h=%d",
+ // (int)bounds.get_x(), (int)bounds.get_y(),
+ // (int)bounds.get_width(), (int)bounds.get_height()
+ // );
+ var ypos = y - bounds.get_y();
+ //GLib.debug("rel ypos = %d", (int)ypos);
+ var rpos = 100.0 * (ypos / bounds.get_height());
+ //GLib.debug("rel pos = %d %%", (int)rpos);
+ pos = "over";
+
+ if (rpos > 80) {
+ pos = "below";
+ } else if (rpos < 20) {
+ pos = "above";
+ }
+ return rn;
}
}
public class Xcls_deletemenu : Object
// my vars (dec)
// set gobject values
- var child_1 = new Xcls_Box29( _this );
+ var child_1 = new Xcls_Box42( _this );
+ child_1.ref();
this.el.child = child_1.el;
}
// user defined functions
}
- public class Xcls_Box29 : Object
+ public class Xcls_Box42 : Object
{
public Gtk.Box el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_Box29(Xcls_LeftProps _owner )
+ public Xcls_Box42(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
// my vars (dec)
// set gobject values
- var child_1 = new Xcls_Button30( _this );
+ var child_1 = new Xcls_Button43( _this );
child_1.ref();
this.el.append( child_1.el );
}
// user defined functions
}
- public class Xcls_Button30 : Object
+ public class Xcls_Button43 : Object
{
public Gtk.Button el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_Button30(Xcls_LeftProps _owner )
+ public Xcls_Button43(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Button();
// my vars (dec)
// set gobject values
+ this.el.has_frame = false;
this.el.label = "Delete";
+ var child_1 = new Xcls_Label44( _this );
+ child_1.ref();
+ this.el.child = child_1.el;
//listeners
this.el.clicked.connect( ( ) => {
// user defined functions
}
+ public class Xcls_Label44 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_LeftProps _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label44(Xcls_LeftProps _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "Delete Property / Method" );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.halign = Gtk.Align.START;
+ }
+
+ // user defined functions
+ }
+
- public class Xcls_GestureClick31 : Object
+ public class Xcls_GestureClick45 : Object
{
public Gtk.GestureClick el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_GestureClick31(Xcls_LeftProps _owner )
+ public Xcls_GestureClick45(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.GestureClick();
// user defined functions
}
- public class Xcls_GestureClick32 : Object
+ public class Xcls_GestureClick46 : Object
{
public Gtk.GestureClick el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_GestureClick32(Xcls_LeftProps _owner )
+ public Xcls_GestureClick46(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.GestureClick();
{
_this = _owner;
_this.keycol = this;
- var child_1 = new Xcls_SignalListItemFactory36( _this );
+ var child_1 = new Xcls_SignalListItemFactory50( _this );
child_1.ref();
this.el = new Gtk.ColumnViewColumn( "Property", child_1.el );
// user defined functions
}
- public class Xcls_SignalListItemFactory36 : Object
+ public class Xcls_SignalListItemFactory50 : Object
{
public Gtk.SignalListItemFactory el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_SignalListItemFactory36(Xcls_LeftProps _owner )
+ public Xcls_SignalListItemFactory50(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.SignalListItemFactory();
var lb = (Gtk.Label) ((Gtk.ListItem)listitem).get_child();
var item = (JsRender.NodeProp) ((Gtk.ListItem)listitem).get_item();
-
+ if (item == null) {
+ return;
+ }
item.bind_property("to_display_name_prop",
lb, "label",
GLib.BindingFlags.SYNC_CREATE);
{
_this = _owner;
_this.valcol = this;
- var child_1 = new Xcls_SignalListItemFactory38( _this );
+ var child_1 = new Xcls_SignalListItemFactory52( _this );
child_1.ref();
this.el = new Gtk.ColumnViewColumn( "Value", child_1.el );
// user defined functions
}
- public class Xcls_SignalListItemFactory38 : Object
+ public class Xcls_SignalListItemFactory52 : Object
{
public Gtk.SignalListItemFactory el;
private Xcls_LeftProps _this;
public bool is_setting;
// ctor
- public Xcls_SignalListItemFactory38(Xcls_LeftProps _owner )
+ public Xcls_SignalListItemFactory52(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.SignalListItemFactory();
cb.hide();
var prop = (JsRender.NodeProp) ((Gtk.ListItem)listitem).get_item();
+ if (prop == null || _this.node == null ) {
+ GLib.error("something is wrong");
+
+ }
+ if ( _this.node.fqn() == "") {
+ GLib.debug("node is missing fqn");
+ return;
+ }
+
//GLib.debug("prop = %s", prop.get_type().name());
//GLib.debug("prop.val = %s", prop.val);
//GLib.debug("prop.key = %s", prop.to_display_name());
var pal = _this.file.project.palete;
- string[] opts;
- var has_opts = pal.typeOptions(_this.node.fqn(), prop.name, prop.rtype, out opts);
+ string[] opts = {};
+
+ var has_opts = prop.ptype.can_have_opt_list() ?
+ pal.typeOptions(_this.node.fqn(), prop.name, prop.rtype, out opts)
+ : false;
if (!has_opts && prop.ptype == JsRender.NodePropType.RAW) {
use_textarea = true;
// my vars (dec)
// set gobject values
- var child_1 = new Xcls_Box40( _this );
+ var child_1 = new Xcls_Box54( _this );
+ child_1.ref();
this.el.child = child_1.el;
}
// user defined functions
}
- public class Xcls_Box40 : Object
+ public class Xcls_Box54 : Object
{
public Gtk.Box el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_Box40(Xcls_LeftProps _owner )
+ public Xcls_Box54(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
// my vars (dec)
// set gobject values
- var child_1 = new Xcls_Button41( _this );
+ var child_1 = new Xcls_Button55( _this );
child_1.ref();
this.el.append( child_1.el );
}
// user defined functions
}
- public class Xcls_Button41 : Object
+ public class Xcls_Button55 : Object
{
public Gtk.Button el;
private Xcls_LeftProps _this;
// my vars (def)
// ctor
- public Xcls_Button41(Xcls_LeftProps _owner )
+ public Xcls_Button55(Xcls_LeftProps _owner )
{
_this = _owner;
this.el = new Gtk.Button();