}
public Xcls_viewwin viewwin;
public Xcls_view view;
+ public Xcls_keystate keystate;
public Xcls_drop drop;
public Xcls_selmodel selmodel;
public Xcls_model model;
public Xcls_maincol maincol;
- public Xcls_keystate keystate;
public Xcls_LeftTreeMenu LeftTreeMenu;
// my vars (def)
public signal bool before_node_change ();
- public Xcls_MainWindow main_window;
+ public Xcls_MainWindow? main_window;
public int last_error_counter;
public signal void changed ();
public signal void node_selected (JsRender.Node? node);
// user defined functions
public void updateErrors () {
var file = this.getActiveFile();
+ 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;
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) {
reading_header = false;
-
+ continue;
}
- if (!child.has_css_class("node-err")) {
+ 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-warn")) {
child.remove_css_class("node-warn");
}
- if (!child.has_css_class("node-depr")) {
+ if (child.has_css_class("node-depr")) {
child.remove_css_class("node-depr");
}
var child_5 = new Xcls_EventControllerKey9( _this );
child_5.ref();
this.el.add_controller( child_5.el );
+ new Xcls_keystate( _this );
+ this.el.add_controller( _this.keystate.el );
new Xcls_drop( _this );
this.el.add_controller( _this.drop.el );
new Xcls_maincol( _this );
this.el.append_column ( _this.maincol.el );
- var child_8 = new Xcls_ColumnViewColumn15( _this );
- child_8.ref();
- this.el.append_column ( child_8.el );
- new Xcls_keystate( _this );
- this.el.add_controller( _this.keystate.el );
+ var child_9 = new Xcls_ColumnViewColumn16( _this );
+ child_9.ref();
+ this.el.append_column ( child_9.el );
// init method
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) {
reading_header = false;
-
+ continue;
}
}
public int getColAt (double x, double y) {
- /*
-
- from https://discourse.gnome.org/t/gtk4-finding-a-row-data-on-gtkcolumnview/8465
-
- */
- //Gtk.Allocation alloc = { 0, 0, 0, 0 };
- //GLib.debug("Cehck %d, %d", x,y);
- var child = this.el.get_first_child();
-
- var col = 0;
- var offx = 0;
- while (child != null) {
+ /*
- if (child.get_type().name() == "GtkColumnViewRowWidget") {
- child = child.get_first_child();
- continue;
- }
-
- //child.get_allocation(out alloc);
- if (x < (child.get_width() + offx)) {
- return col;
- }
- return 1;
- //offx += child.get_width();
- //col++;
- //child = child.get_next_sibling();
+ from https://discourse.gnome.org/t/gtk4-finding-a-row-data-on-gtkcolumnview/8465
+
+ */
+ //Gtk.Allocation alloc = { 0, 0, 0, 0 };
+ //GLib.debug("Cehck %d, %d", x,y);
+ var child = this.el.get_first_child();
+
+ var col = 0;
+ var offx = 0;
+ while (child != null) {
+
+ if (child.get_type().name() == "GtkColumnViewRowWidget") {
+ child = child.get_first_child();
+ continue;
}
-
-
- return -1;
+
+ //child.get_allocation(out alloc);
+ if (x < (child.get_width() + offx)) {
+ return col;
+ }
+ return 1;
+ //offx += child.get_width();
+ //col++;
+ //child = child.get_next_sibling();
+ }
+
+
+ return -1;
}
public int getRowAt (double x, double in_y, out string pos) {
*/
- //GLib.debug("offset = %d y = %d", (int) voff, (int) in_y);
+ GLib.debug("get Widget At Row x = %d y = %d", (int) x, (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 };
}
// should be columnlistview
child = child.get_first_child();
- GLib.debug("header height=%d", h);
+ //GLib.debug("header height=%d", h);
header_height = h;
reading_header = false;
+ continue;
}
line_no++;
var hh = child.get_height();
+
+ if (child.has_css_class("node-err") ||
+ child.has_css_class("node-warn") ||
+ child.has_css_class("node-depr")) {
+ hh += 10;
+
+ }
//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),
header_height = h;
reading_header = false;
-
+ continue;
}
line_no++;
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 (child.has_css_class("node-err") ||
+ child.has_css_class("node-warn") ||
+ child.has_css_class("node-depr")) {
+ hh += 10;
+
+ }
if (y > curr_y && y <= header_height + hh + curr_y ) {
return (Gtk.Widget)child;
}
GLib.warning("No node found at row %d", row);
return;
}
+
+
_this.model.selectNode(node);
// user defined functions
}
+ public class Xcls_keystate : Object
+ {
+ public Gtk.EventControllerKey el;
+ private Xcls_WindowLeftTree _this;
+
+
+ // my vars (def)
+ public int is_shift;
+
+ // ctor
+ public Xcls_keystate(Xcls_WindowLeftTree _owner )
+ {
+ _this = _owner;
+ _this.keystate = this;
+ this.el = new Gtk.EventControllerKey();
+
+ // my vars (dec)
+ this.is_shift = 0;
+
+ // set gobject values
+
+ //listeners
+ this.el.key_released.connect( (keyval, keycode, state) => {
+ GLib.debug("key release %d, %d, %d" , (int) keyval, (int) keycode, state);
+ if (keyval == Gdk.Key.Shift_L || keyval == Gdk.Key.Shift_R) {
+ this.is_shift = 0;
+ }
+ //GLib.debug("set state %d , shift = %d", (int)this.el.get_current_event_state(), Gdk.ModifierType.SHIFT_MASK);
+
+
+
+ });
+ this.el.key_pressed.connect( (keyval, keycode, state) => {
+
+ if (keyval == Gdk.Key.Shift_L || keyval == Gdk.Key.Shift_R) {
+ this.is_shift = 1;
+ }
+ return true;
+ });
+ }
+
+ // user defined functions
+ }
+
public class Xcls_drop : Object
{
public Gtk.DropTarget el;
var m = (GLib.ListStore) _this.model.el.model;
_this.main_window.windowstate.file.tree = dropNode;
-
+ dropNode.updated_count++;
m.append(dropNode);
_this.model.selectNode(dropNode);
_this.view.dragNode.remove();
}
-
+ dropNode.updated_count++;
_this.model.selectNode(dropNode);
_this.changed();
_this.model.selectNode(null);
_this.view.dragNode.remove();
}
-
+ dropNode.updated_count++;
_this.model.selectNode(dropNode);
_this.changed();
return true;
node.parent.insertAfter(dropNode, node);
+ dropNode.updated_count++;
_this.model.selectNode(dropNode);
_this.changed();
// select it
for (var i = 0; i < s.n_items; i++) {
//GLib.debug("check node %s", s.get_item(i).get_type().name());
var lr = s.get_item(i) as Gtk.TreeListRow;
- GLib.debug("check node %s", lr.get_item().get_type().name());
+ //GLib.debug("check node %s", lr.get_item().get_type().name());
if ((lr.get_item() as JsRender.Node).oid == node.oid) {
return i;
{
_this = _owner;
_this.maincol = this;
- var child_1 = new Xcls_SignalListItemFactory14( _this );
+ var child_1 = new Xcls_SignalListItemFactory15( _this );
child_1.ref();
this.el = new Gtk.ColumnViewColumn( "Property", child_1.el );
// user defined functions
}
- public class Xcls_SignalListItemFactory14 : Object
+ public class Xcls_SignalListItemFactory15 : Object
{
public Gtk.SignalListItemFactory el;
private Xcls_WindowLeftTree _this;
// my vars (def)
// ctor
- public Xcls_SignalListItemFactory14(Xcls_WindowLeftTree _owner )
+ public Xcls_SignalListItemFactory15(Xcls_WindowLeftTree _owner )
{
_this = _owner;
this.el = new Gtk.SignalListItemFactory();
}
- public class Xcls_ColumnViewColumn15 : Object
+ public class Xcls_ColumnViewColumn16 : Object
{
public Gtk.ColumnViewColumn el;
private Xcls_WindowLeftTree _this;
// my vars (def)
// ctor
- public Xcls_ColumnViewColumn15(Xcls_WindowLeftTree _owner )
+ public Xcls_ColumnViewColumn16(Xcls_WindowLeftTree _owner )
{
_this = _owner;
- var child_1 = new Xcls_SignalListItemFactory16( _this );
+ var child_1 = new Xcls_SignalListItemFactory17( _this );
child_1.ref();
this.el = new Gtk.ColumnViewColumn( "Add", child_1.el );
// user defined functions
}
- public class Xcls_SignalListItemFactory16 : Object
+ public class Xcls_SignalListItemFactory17 : Object
{
public Gtk.SignalListItemFactory el;
private Xcls_WindowLeftTree _this;
// my vars (def)
// ctor
- public Xcls_SignalListItemFactory16(Xcls_WindowLeftTree _owner )
+ public Xcls_SignalListItemFactory17(Xcls_WindowLeftTree _owner )
{
_this = _owner;
this.el = new Gtk.SignalListItemFactory();
}
- public class Xcls_keystate : Object
- {
- public Gtk.EventControllerKey el;
- private Xcls_WindowLeftTree _this;
-
-
- // my vars (def)
- public int is_shift;
-
- // ctor
- public Xcls_keystate(Xcls_WindowLeftTree _owner )
- {
- _this = _owner;
- _this.keystate = this;
- this.el = new Gtk.EventControllerKey();
-
- // my vars (dec)
- this.is_shift = 0;
-
- // set gobject values
-
- //listeners
- this.el.key_released.connect( (keyval, keycode, state) => {
- GLib.debug("key release %d, %d, %d" , (int) keyval, (int) keycode, state);
- if (keyval == Gdk.Key.Shift_L || keyval == Gdk.Key.Shift_R) {
- this.is_shift = 0;
- }
- //GLib.debug("set state %d , shift = %d", (int)this.el.get_current_event_state(), Gdk.ModifierType.SHIFT_MASK);
-
-
-
- });
- this.el.key_pressed.connect( (keyval, keycode, state) => {
-
- if (keyval == Gdk.Key.Shift_L || keyval == Gdk.Key.Shift_R) {
- this.is_shift = 1;
- }
- return true;
- });
- }
-
- // user defined functions
- }
-
public class Xcls_LeftTreeMenu : Object
{