void LoadDesigner() { this.window = gproject.GetWindow(rootName); if (window == null) { // The window doesn't exist anymore return; } gproject.Unloaded += OnDisposeProject; designer = gproject.SteticProject.CreateWidgetDesigner(window.RootWidget, false); // Designer page designerPage.ClearChild(); designerPage.Add(designer); if (designer.RootComponent == null) { // Something went wrong while creating the designer. Show it, but don't do aything else. designer.ShowAll(); return; } designer.AllowWidgetBinding = !gproject.Project.UsePartialTypes; codeBinder = new CodeBinder(gproject.Project, new OpenDocumentFileProvider(), designer.RootComponent); designer.BindField += OnBindWidgetField; designer.ModifiedChanged += OnWindowModifiedChanged; designer.SignalAdded += OnSignalAdded; designer.SignalRemoved += OnSignalRemoved; designer.SignalChanged += OnSignalChanged; designer.ComponentNameChanged += OnComponentNameChanged; designer.RootComponentChanged += OnRootComponentChanged; designer.ComponentTypesChanged += OnComponentTypesChanged; designer.ImportFileCallback = ImportFile; // Actions designer actionsBox = designer.CreateActionGroupDesigner(); actionsBox.AllowActionBinding = !gproject.Project.UsePartialTypes; actionsBox.BindField += new EventHandler(OnBindActionField); actionsBox.ModifiedChanged += new EventHandler(OnActionshanged); actionsPage.ClearChild(); actionsPage.PackStart(actionsBox, true, true, 0); actionsPage.ShowAll(); if (actionsBox.HasData) { if (!HasPage(actionsPage)) { AddButton(GettextCatalog.GetString("Actions"), actionsPage); } } else { RemoveButton(actionsPage); } designer.ShowAll(); GuiBuilderService.SteticApp.ActiveDesigner = designer; }