internal static string CreateEditorDocumentXmlConfiguration(List <WorkspaceControllerForWindow.WindowConfig> config, int selectedIndex = -1)
        {
            var dockingManager = new KryptonDockingManager();

            dockingManager.PageSaving += DockingManager_PageSaving;

            var dockingWorkspace = new KryptonDockingWorkspace("DockingWorkspace");

            dockingManager.Add(dockingWorkspace);

            var pages = new List <KryptonPage>();

            foreach (var cfg in config)
            {
                pages.Add(new KryptonPage()
                {
                    Tag = cfg
                });
            }

            var workspace = dockingManager.AddToWorkspace("DockingWorkspace", pages.ToArray());

            if (selectedIndex != -1)
            {
                workspace.SelectPage(pages[selectedIndex].UniqueName);
            }

            using (var stream = new MemoryStream())
            {
                dockingManager.SaveConfigToStream(stream, System.Text.Encoding.Unicode, Formatting.None);
                dockingManager.Dispose();

                return(System.Text.Encoding.Unicode.GetString(stream.ToArray()));
            }
        }
예제 #2
0
        //public void ShowDockWindow<T>() where T : DockWindow
        //{
        //	var w = FindWindow<T>();
        //	if( w != null && w.KryptonPage != null )
        //		w.KryptonPage.Show();
        //}

        public WorkspaceController(Control ownerControl, EditorForm editorForm)
        {
            this.ownerControl = ownerControl;
            this.editorForm   = editorForm;

            this.dockableWorkspaceControl = ownerControl.Controls.OfType <KryptonDockableWorkspace>().First();

            dockingManager = new KryptonDockingManager();

            var dockingWorkspace = new KryptonDockingWorkspace("DockingWorkspace", "Filler", dockableWorkspaceControl);

            dockingManager.Add(dockingWorkspace);

            if (this is WorkspaceControllerForForm)
            {
                var controlElement = new KryptonDockingControl("DockingControl", ownerControl, dockingWorkspace);
                dockingManager.Add(controlElement);
            }

            var floatingElement = new KryptonDockingFloating("DockingFloating", editorForm);

            dockingManager.Add(floatingElement);

            dockingManager.PageLoading         += DockingManager_PageLoading;
            dockingManager.PageSaving          += DockingManager_PageSaving;
            dockingManager.RecreateLoadingPage += DockingManager_RecreateLoadingPage;

            dockingManager.OrphanedPages    += DockingManager_OrphanedPages;
            dockingManager.PageCloseRequest += DockingManager_PageCloseRequest;

            dockableWorkspaceControl.WorkspaceCellAdding  += DockableWorkspace_WorkspaceCellAdding;
            dockableWorkspaceControl.WorkspaceCellRemoved += DockableWorkspace_WorkspaceCellRemoved;
            dockableWorkspaceControl.CellPageInserting    += DockableWorkspaceControl_CellPageInserting;
        }
예제 #3
0
        private void FormStudio_Load(object sender, EventArgs e)
        {
            Left = SystemInformation.WorkingArea.Size.Width - Size.Width;
            Top  = SystemInformation.WorkingArea.Size.Height - Size.Height;
            CheckEnabele.Checked = Settings.Default.CheckEnabele;

            Registry.SetValue("HKEY_CURRENT_USER\\Software\\FormConfiguration", "IPAddress", "localhost");
            Registry.SetValue("HKEY_CURRENT_USER\\Software\\FormConfiguration", "Port", "8080");


            try
            {
                EventChannelCount += ServiceBase_eventChannelCount;
            }
            catch (Exception ex)
            {
                EventscadaException?.Invoke(GetType().Name, ex.Message);
            }
            // Setup docking functionality
            KryptonDockingWorkspace w = kryptonDockingManager.ManageWorkspace(kryptonDockableWorkspace);

            kryptonDockingManager.ManageControl(panelFill, w);
            kryptonDockingManager.ManageFloating(this);

            // Add initial docking pages
            kryptonDockingManager.AddDockspace("Control", DockingEdge.Bottom, new KryptonPage[] { NewInput() });



            ThisNotificationPopup.TitleText     = "سكادا";
            ThisNotificationPopup.ContentText   = "برمجة عبداللة الصاوى";
            ThisNotificationPopup.IsRightToLeft = false;

            ThisNotificationPopup.Popup();

            btnFormMain_Click();
            ChannelService objChannelManager = ChannelService.GetChannelManager();
            string         xmlFile           = objChannelManager.ReadKey(objChannelManager.XML_NAME_DEFAULT);

            if (string.IsNullOrEmpty(xmlFile) || string.IsNullOrWhiteSpace(xmlFile))
            {
                return;
            }

            System.Collections.Generic.List <DriverBase.Devices.Channel> chList = objChannelManager.GetChannels(xmlFile);
            if (chList.Count < 1)
            {
                return;
            }

            try
            {
                InitializeTags(true);
            }
            catch (Exception ex)
            {
                EventscadaException?.Invoke(GetType().Name, ex.Message);
            }
        }
 /// <summary>
 /// Initialize a new instance of the DockableWorkspaceCellEventArgs class.
 /// </summary>
 /// <param name="workspace">Reference to existing dockable workspace control instance.</param>
 /// <param name="element">Reference to docking workspace element that is managing the dockable workspace control.</param>
 /// <param name="cell">Reference to workspace control cell instance.</param>
 public DockableWorkspaceCellEventArgs(KryptonDockableWorkspace workspace,
                                       KryptonDockingWorkspace element,
                                       KryptonWorkspaceCell cell)
 {
     DockableWorkspaceControl = workspace;
     WorkspaceElement         = element;
     CellControl = cell;
 }
예제 #5
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            KryptonDockingWorkspace w = kryptonDockingManager.ManageWorkspace(kryptonDockableWorkspace);

            kryptonDockingManager.ManageControl(kryptonPanel, w);
            kryptonDockingManager.ManageFloating(this);

            //kryptonDockingManager.AddToWorkspace("Workspace", new KryptonPage[] { NewDocument(), NewDocument() });
            kryptonDockingManager.AddDockspace("Control", DockingEdge.Left, new KryptonPage[] { NewPage() });
            TreeViewer.getInstance.TreeView.NodeMouseDoubleClick += TreeView_NodeMouseDoubleClick;
        }
예제 #6
0
        private void Form1_Load(object sender, EventArgs e)
        {
            // Setup docking functionality
            KryptonDockingWorkspace w = kryptonDockingManager.ManageWorkspace(kryptonDockableWorkspace);

            kryptonDockingManager.ManageControl(kryptonPanel, w);
            kryptonDockingManager.ManageFloating(this);

            // Add initial docking pages
            kryptonDockingManager.AddDockspace("Control", DockingEdge.Left, new KryptonPage[] { NewTreeView() });
            kryptonDockingManager.AddToWorkspace("Workspace", new KryptonPage[] { NewDocument() });
        }
예제 #7
0
        private void InitializeControls()
        {
            // Setup docking functionality
            KryptonDockingWorkspace w = kryptonDockingManager.ManageWorkspace(kryptonDockableWorkspace);

            kryptonDockingManager.ManageControl(kryptonPanel, w);
            kryptonDockingManager.ManageFloating(this);

            // Add initial docking pages
            databaseNavigationForm = new DatabaseNavigationForm {
                Text = "Database Navigation"
            };
            databaseNavigationForm.TableSelected    += DnfTableSelected;
            databaseNavigationForm.DatabaseSelected += DnfDatabaseSelected;
            databaseNavigationForm.ColumnSelected   += DnfColumnSelected;

            snippetsForm = new SnippetsForm {
                Text = "Snippets"
            };
            snippetsForm.SnippetSelected += SfSnippetSelected;

            documentForm = new DocumentForm {
                Text = "Template"
            };
            resultForm = new ResultForm {
                Text = "Results"
            };
            propertiesForm = new PropertiesForm {
                Text = "Properties"
            };
            customValuesForm = new CustomValuesForm {
                Text = "Custom Values"
            };

            templatePage = NewDocument("Template", documentForm, icon: IconToBitMap("itemplate.ico"));
            resultPage   = NewDocument("Results", resultForm, icon: IconToBitMap("iresult.ico"));

            kryptonDockingManager.AddToWorkspace("Workspace", new KryptonPage[] { templatePage, resultPage });
            kryptonDockingManager.AddAutoHiddenGroup("Control", DockingEdge.Left, new KryptonPage[]
            {
                NewPage("Snippets", snippetsForm, icon: IconToBitMap("isnippet.ico"))
            });
            kryptonDockingManager.AddDockspace("Control", DockingEdge.Left, new KryptonPage[]
            {
                NewPage("Database Navigation", databaseNavigationForm, icon: IconToBitMap("idb.ico"))
            });
            kryptonDockingManager.AddDockspace("Control", DockingEdge.Right, new KryptonPage[]
            {
                NewPage("Properties", propertiesForm, icon: IconToBitMap("igen.ico")),
                NewPage("Custom Values", customValuesForm, icon: IconToBitMap("icustom.ico"))
            });
        }
예제 #8
0
        private void Form1_Load(object sender, EventArgs e)
        {
            // Setup docking functionality
            KryptonDockingWorkspace w = kryptonDockingManager.ManageWorkspace(kryptonDockableWorkspace);

            kryptonDockingManager.ManageControl(kryptonPanel, w);
            kryptonDockingManager.ManageFloating(this);

            // Add docking pages
            kryptonDockingManager.AddDockspace("Control", DockingEdge.Left, new KryptonPage[] { NewPropertyGrid() });
            kryptonDockingManager.AddDockspace("Control", DockingEdge.Bottom, new KryptonPage[] { NewInput(), NewInput() });
            kryptonDockingManager.AddAutoHiddenGroup("Control", DockingEdge.Right, new KryptonPage[] { NewPropertyGrid() });
            kryptonDockingManager.AddToWorkspace("Workspace", new KryptonPage[] { NewDocument(), NewDocument(), NewDocument() });
        }
예제 #9
0
        private void Form1_Load(object sender, EventArgs e)
        {
            // Setup docking functionality
            KryptonDockingWorkspace w = kryptonDockingManager.ManageWorkspace(kryptonDockableWorkspace);

            kryptonDockingManager.ManageControl(kryptonPanel, w);
            kryptonDockingManager.ManageFloating(this);

            // Add initial docking pages
            kryptonDockingManager.AddToWorkspace("Workspace", new KryptonPage[] { NewDocument(), NewDocument() });
            kryptonDockingManager.AddDockspace("Control", DockingEdge.Right, new KryptonPage[] { NewPropertyGrid(), NewInput() });
            kryptonDockingManager.AddDockspace("Control", DockingEdge.Bottom, new KryptonPage[] { NewInput(), NewPropertyGrid() });

            // Set correct initial ribbon palette buttons
            UpdatePaletteButtons();
        }
예제 #10
0
        private void XTagManager_Load(object sender, EventArgs e)
        {
            KryptonDockingWorkspace w = kryptonDockingManager1.ManageWorkspace("Workspace", kryptonDockableWorkspace1);

            kryptonDockingManager1.ManageControl("Control", kryptonSplitContainer1.Panel2, w);
            kryptonDockingManager1.ManageFloating("Floating", this);


            kryptonDockingManager1.AddAutoHiddenGroup("Control", DockingEdge.Right, new KryptonPage[] { NewUserPropertyGrid() });

            objServerManager = ServerManager.GetServerManager();
            string xmlFile = objServerManager.ReadKey(ServerManager.XML_NAME_DEFAULT);

            if (string.IsNullOrEmpty(xmlFile) || string.IsNullOrWhiteSpace(xmlFile))
            {
                return;
            }

            InitializeData(xmlFile);
        }
예제 #11
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            // Setup docking functionality
            KryptonDockingWorkspace w = kryptonDockingManager.ManageWorkspace(kryptonDockableWorkspace);

            kryptonDockingManager.ManageControl(kryptonPanel, w);
            kryptonDockingManager.ManageFloating(this);

            Btn_Node_Click(null, null);
            Btn_Param_Click(null, null);
            Btn_Process_Click(null, null);
            //NewBoard("日志",new LogUI());
            //NewBoard("Plc信号",new PlcFlagUI());
            try
            {
                kryptonDockingManager.LoadConfigFromFile(defaultCfgFilePath + UiCfgFileName);//加载保存的UI显示配置
            }
            catch (Exception ex)
            {
                MessageBox.Show(UiCfgFileName + "配置文件有误");
            }
        }
예제 #12
0
        internal void InitialDockingMenu()
        {
            ucMenu = new UCMenu();
            ucMenu.ChangeSelect += new ChangeSelectHandler(MainFormNodeChaned);
            KryptonDockingWorkspace w = kryptonDockingManager.ManageWorkspace(kDWorkspaceContent);

            kryptonDockingManager.ManageControl(panel1, w);
            kryptonDockingManager.ManageFloating(this);

            // Add docking pages
            KryptonPage kp = NewMenu("分 组 ");

            kp.Width      = 50;
            kp.UniqueName = "left";
            KryptonPage[] kpArr = new KryptonPage[] { kp };
            //KryptonDockingControl kdc = new KryptonDockingControl("Menu",,w);
            kryptonDockingManager.AddDockspace("Control", DockingEdge.Left, kpArr);

            kp.ClearFlags(KryptonPageFlags.DockingAllowDropDown
                          | KryptonPageFlags.DockingAllowClose
                          | KryptonPageFlags.DockingAllowFloating
                          | KryptonPageFlags.DockingAllowWorkspace
                          | KryptonPageFlags.AllowPageDrag);
        }
예제 #13
0
        private void PLC_MonitorForm_Load(object sender, EventArgs e)
        {
            KryptonDockingWorkspace w = kryptonDockingManager1.ManageWorkspace("Workspace", kryptonDockableWorkspace1);

            kryptonDockingManager1.ManageControl("Control", kryptonSplitContainer1.Panel2, w);
            kryptonDockingManager1.ManageFloating("Floating", this);


            kryptonDockingManager1.AddAutoHiddenGroup("Control", DockingEdge.Right, new KryptonPage[] { NewUserPropertyGrid() });

            objChannelManager   = ChannelService.GetChannelManager();
            objDeviceManager    = DeviceService.GetDeviceManager();
            objDataBlockManager = DataBlockService.GetDataBlockManager();
            objTagManager       = TagService.GetTagManager();
            string xmlFile = objChannelManager.ReadKey(objChannelManager.XML_NAME_DEFAULT);

            if (string.IsNullOrEmpty(xmlFile) || string.IsNullOrWhiteSpace(xmlFile))
            {
                return;
            }

            InitializeData(xmlFile);
            SetCreateChannel();
        }
 /// <summary>
 /// Initialize a new instance of the DockableWorkspaceEventArgs class.
 /// </summary>
 /// <param name="workspace">Reference to dockable workspace control instance.</param>
 /// <param name="element">Reference to docking workspace element that is managing the dockable workspace control.</param>
 public DockableWorkspaceEventArgs(KryptonDockableWorkspace workspace,
                                   KryptonDockingWorkspace element)
 {
     DockableWorkspaceControl = workspace;
     DockingWorkspaceElement  = element;
 }