flags: ApplicationFlags.FLAGS_NONE
);
BuilderApplication.windows = new Gee.ArrayList<Xcls_MainWindow>();
+ BuilderApplication.windowlist = new GLib.ListStore(typeof(WindowState));
//BuilderApplication.valacompilequeue = new Palete.ValaCompileQueue();
// move to 'window colletction?
public static Gee.ArrayList<Xcls_MainWindow> windows;
+ public static GLib.ListStore windowlist;
public static void addWindow(Xcls_MainWindow w)
{
+ windowlist.append(w.windowstate);
BuilderApplication.windows.add(w);
- BuilderApplication.updateWindows();
+
}
{
//GLib.debug("remove window before = %d", BuilderApplication.windows.size);
BuilderApplication.windows.remove(w);
- BuilderApplication.updateWindows();
+ for(var i = 0 ; i < windowlist.get_n_items(); i++) {
+ var ws = windowlist.get_item(i) as WindowState;
+ if (ws.file.path == w.windowstate.file.path && ws.project.path == w.windowstate.project.path) {
+ windowlist.remove(i);
+ break;
+ }
+ }
+
+
w.el.hide();
w.el.close();
}
- public static void updateWindows()
- {
- foreach(var ww in BuilderApplication.windows) {
- ww.windowbtn.updateMenu();
- }
- }
+
public static Xcls_MainWindow? getWindow(JsRender.JsRender file)
{
foreach(var ww in BuilderApplication.windows) {
{
var w = new Xcls_MainWindow();
w.ref();
- BuilderApplication.addWindow(w);
w.initChildren();
+ BuilderApplication.addWindow(w);
+ w.windowstate.init();
w.windowstate.fileViewOpen(file, false, line);
w.el.present();
public static void updateCompileResults( )
{
- queue_update_compile_countdown = 4; // 1 second after last call.
+ queue_update_compile_countdown = 2; // 1 second after last call.
if (queue_update_compile_id == 0) {
- queue_update_compile_id = GLib.Timeout.add(250, () => {
+ queue_update_compile_id = GLib.Timeout.add(100, () => {
if (queue_update_compile_countdown < 0) {
return true;
}
if (ww == null || ww.windowstate == null || ww.windowstate.project ==null) {
continue;
}
+
ww.windowstate.updateErrorMarksAll();
GLib.debug("calling udate Errors of window %s", ww.windowstate.file.targetName());
ww.updateErrors();
-
+ ww.windowstate.left_tree.updateErrors();
+ ww.windowstate.left_props.updateErrors();
}
-
\ No newline at end of file
+