Ejemplo n.º 1
0
 public override void Dispose()
 {
     base.Dispose();
     if (panel != null && panel.Parent == DockBox)
     {
         DockBox?.Remove(panel);
     }
     panel?.Dispose();
 }
Ejemplo n.º 2
0
 protected void OnPageDrag(ToolItemEventArgs arg)
 {
     PageDrag?.Invoke(this, arg);
     DockBox?.OnPageDrag(arg);
 }
Ejemplo n.º 3
0
 public override void OnItemDoubleClick(ToolItem item)
 {
     base.OnItemDoubleClick(item);
     DockBox?.OnPageDoubleClick((DockPage)item);
 }
Ejemplo n.º 4
0
        public MainWindow()
        {
            GuiService.Main         = this;
            Helper.ThreadException += OnThreadException;

            ListEditor.StatusClick += FieldsEditorStatusClick;
            ListEditor.LogClick    += FieldsEditorLogClick;

            icon = Application.CreateStatusIcon();

            openFD = new OpenFileDialog()
            {
                Title = "Open File"
            };
            saveFD = new SaveFileDialog()
            {
                Title = "Save File"
            };

            menuProjectCreate = new ToolMenuItem {
                Name = "Create", DropDown = new Menubar {
                    Name = "Create"
                }
            };
            menuProjectCreate.ItemClick += ToolProjectCreateItemClick;
            menuProjectOpen              = new ToolMenuItem(ToolProjectOpenClick)
            {
                Name = "Open"
            };
            menuProjectProps = new ToolMenuItem(ToolProjectPropertiesClick)
            {
                Name = "Properties"
            };
            menuProjectSave = new ToolMenuItem(ToolProjectSaveClick)
            {
                Name = "Save"
            };
            menuProjectSaveAs = new ToolMenuItem(ToolProjectSaveAsClick)
            {
                Name = "SaveAs"
            };
            menuProjectRecent = new ToolMenuItem()
            {
                Name = "Recent"
            };
            menuProjectClose = new ToolMenuItem(ToolProjectCloseClick)
            {
                Name = "Close"
            };
            menuProjectExit = new ToolMenuItem(ToolExitOnClick)
            {
                Name = "Exit"
            };

            menuProject = new ToolDropDown(
                menuProjectCreate,
                menuProjectOpen,
                menuProjectProps,
                menuProjectSave,
                menuProjectSaveAs,
                menuProjectRecent,
                menuProjectClose,
                menuProjectExit)
            {
                Name = "Project", DisplayStyle = ToolItemDisplayStyle.Text
            };

            menuView = new ToolDropDown(
                BuildMenuItem(typeof(PropertiesEditor), "Properties"),
                BuildMenuItem(typeof(LogExplorer), "Logs"),
                new ToolSeparator())
            {
                Name = "View", DisplayStyle = ToolItemDisplayStyle.Text
            };

            menuEditUIEnvironment = new ToolMenuItem(ToolEditUIEnvironment)
            {
                Name = "UI Environment"
            };
            menuEditLocalize = new ToolMenuItem(ToolEditLocalizeClick)
            {
                Name = "Localize"
            };

            menuWindowLang = new ToolMenuItem {
                Name = "Language", DropDown = new Menubar {
                    Name = "Language"
                }
            };
            foreach (var info in Locale.Instance.Cultures)
            {
                menuWindowLang.DropDown.Items.Add(new ToolLangItem(LangItemClick)
                {
                    Culture = info,
                    Name    = info.Name,
                    Text    = info.DisplayName,
                });
            }
            menuWindowTheme = new ToolMenuItem {
                Name = "Theme", DropDown = new Menubar {
                    Name = "Theme"
                }
            };
            foreach (var theme in GuiEnvironment.Instance.Themes)
            {
                menuWindowTheme.DropDown.Items.Add(new ToolThemeItem(ThemeItemClick)
                {
                    Theme = theme,
                    Name  = theme.Name,
                    Text  = theme.Name,
                });
            }
            menuWindow = new ToolDropDown(
                menuEditUIEnvironment,
                menuEditLocalize,
                new ToolSeparator(),
                menuWindowLang,
                menuWindowTheme)
            {
                Name         = "Window",
                DisplayStyle = ToolItemDisplayStyle.Text
            };
            menuHelpAbout = new ToolMenuItem()
            {
                Name = "About"
            };
            menuHelp = new ToolDropDown(menuHelpAbout)
            {
                Name = "Help", DisplayStyle = ToolItemDisplayStyle.Text
            };

            bar = new Toolsbar(
                new ToolSeparator {
                FillWidth = true
            },
                menuView,
                menuWindow,
                menuHelp)
            {
                Name = "MainBar"
            };

            toolTasks = new ToolSplit {
                DisplayStyle = ToolItemDisplayStyle.Text, Name = "Tasks"
            };
            toolProgress = new ToolProgressBar {
                Name = "Progress", Visible = false
            };
            toolLabel = new ToolLabel()
            {
                Name = "Label", Text = "_"
            };

            statusBar = new Toolsbar(
                toolTasks,
                toolProgress,
                toolLabel)
            {
                Name = "StatusBar"
            };

            dock = new DockBox()
            {
                Name = "dock"
            };
            dock.ContentFocus += DockOnContentFocus;
            //icon.Image = Image.FromResource(GetType(), "datawf.ico"); ;

            var vbox = new VBox()
            {
                Spacing = 0
            };

            vbox.PackStart(bar, false, false);
            vbox.PackStart(dock, true, true);
            vbox.PackStart(statusBar, false, false);

            Padding         = new WidgetSpacing(5, 5, 5, 5);
            Icon            = Image.FromResource(typeof(MainWindow), "datawf.png");
            Content         = vbox;
            Name            = "Main";
            InitialLocation = WindowLocation.CenterScreen;
            Title           = "Main Form";
            Size            = new Size(1024, 768);
            BackgroundColor = GuiEnvironment.Theme["Window"].BaseColor;
        }