void RegisterWindow(Stetic.WidgetInfo widget, bool notify) { if (formInfos != null) { foreach (GuiBuilderWindow w in formInfos) { if (w.RootWidget == widget) { return; } } GuiBuilderWindow win = new GuiBuilderWindow(this, gproject, widget); formInfos.Add(win); if (notify) { if (WindowAdded != null) { WindowAdded(this, new WindowEventArgs(win)); } NotifyChanged(); } } }
void OnProjectReloaded (object s, EventArgs args) { rootWidget.Changed -= OnChanged; rootWidget = gproject.GetWidget (name); if (rootWidget != null) rootWidget.Changed += OnChanged; }
public Stetic.WidgetInfo AddNewComponent(XmlElement element) { Stetic.WidgetInfo c = SteticProject.AddNewComponent(element); // Register the window now, don't wait for the WidgetAdded event since // it may take some time, and the GuiBuilderWindow object is needed // just after this call RegisterWindow(c, true); return(c); }
internal GuiBuilderWindow (GuiBuilderProject fproject, Stetic.Project gproject, Stetic.WidgetInfo rootWidget) { this.fproject = fproject; this.rootWidget = rootWidget; this.gproject = gproject; name = rootWidget.Name; gproject.ProjectReloaded += OnProjectReloaded; rootWidget.Changed += OnChanged; }
void OnProjectReloaded(object s, EventArgs args) { rootWidget.Changed -= OnChanged; rootWidget = gproject.GetWidget(name); if (rootWidget != null) { rootWidget.Changed += OnChanged; } }
internal GuiBuilderWindow(GuiBuilderProject fproject, Stetic.Project gproject, Stetic.WidgetInfo rootWidget) { this.fproject = fproject; this.rootWidget = rootWidget; this.gproject = gproject; name = rootWidget.Name; gproject.ProjectReloaded += OnProjectReloaded; rootWidget.Changed += OnChanged; }
public void RegisterWindow(Stetic.WidgetInfo widget, bool notify) { if (formInfos != null) { foreach (GuiBuilderWindow w in formInfos) { if (w.RootWidget == widget) { return; } } GuiBuilderWindow win = new GuiBuilderWindow(this, gproject, widget); formInfos.Add(win); GuiBuilderWindow winToRemove = null; foreach (GuiBuilderWindow form in formInfosRemoved) { if (form.RootWidget == widget) { winToRemove = form; break; } } if (winToRemove != null) { formInfosRemoved.Remove(winToRemove); } if (notify) { if (WindowAdded != null) { WindowAdded(this, new WindowEventArgs(win)); } NotifyChanged(); } } }
public Stetic.WidgetInfo AddNewComponent(Stetic.ComponentType type, string name) { Stetic.WidgetInfo c = SteticProject.AddNewComponent(type, name); RegisterWindow(c, true); return(c); }