/// <summary> /// Формрированиее формы в зависимости от параметров при создании /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DigitalIOTabbedDocument_Load(object sender, EventArgs e) { _engine.EngineStatusChanged += new EventHandler <DebuggerEngineStatusChangedEventArgs>(DebuggerParametersList_ChangeStatusEngine); //Загрузка параметров this._tpDefault = this.tabControl1.TabPages[0]; this.Update(_solution, _engine); }
private void ResizeGraphs(TD.SandDock.TabPage pTabPage) { for (int i = 0; i < pTabPage.Controls.Count; i++) { Control thisControl = pTabPage.Controls[i]; thisControl.Location = new System.Drawing.Point(0, i * (pTabPage.Height / pTabPage.Controls.Count)); thisControl.Size = new Size(pTabPage.Width, pTabPage.Height / pTabPage.Controls.Count); } }
private void OpenSystem(object obj) { UdpMessage message = (UdpMessage)obj; //label1.Visible = true; status1.Text = "Initializing..." + message.Recipient; TD.SandDock.TabPage sysTab = new TD.SandDock.TabPage(message.Recipient); tabControl1.TabPages.Add(sysTab);//tabControl1 now contains sysTab this.Refresh(); ControlVseSystem vseSys = new ControlVseSystem(); vseSys.Name = message.Recipient; vseSys.Setup(message.Recipient);//Sets the database name for the console, also sets the statName.Text vseSys.Dock = DockStyle.Fill; vseSys.SendUdpBroadcast += new UdpDelegate(SendUdpBroadcast); sysTab.Controls.Add(vseSys); //sysTab contains VseSystemControl if (message.Info == "Open-Off") { vseSys.OnOpenOff(); } else if (message.Info == "Open-Disconnected") { vseSys.OnDisconnected(""); } else if (message.Info == "Open-Ready") { vseSys.OnConnected(); } else//Must be initializing { vseSys.OnInitializing(message.Info.TrimStart(new char[5] { 'O', 'p', 'e', 'n', '-' })); } _vseSystems.Add(vseSys);//Add to the collection of defined systems #region Make sure we didn't miss any messages object[] mMessages = missedMessages.ToArray(); foreach (UdpMessage mMess in mMessages) { if (mMess.Recipient == message.Recipient) { missedMessages.Remove(mMess); UdpBroadcast1_MessageRcvd(mMess); } } #endregion status1.Text = ""; //label1.Visible = false; this.Refresh(); }
private void CreateSystem(string name) { ControlVseSystem vseSysOpen = _vseSystems.GetByName(name); if (vseSysOpen == null) { ControlVseSystem vseSys = new ControlVseSystem(); vseSys.Name = name; //vseSys.SetName(name); vseSys.Dock = DockStyle.Fill; vseSys.SendUdpBroadcast += new UdpDelegate(SendUdpBroadcast); _vseSystems.Add(vseSys);//Add to the collection of defined systems TD.SandDock.TabPage sysTab = new TD.SandDock.TabPage(name); sysTab.Controls.Add(vseSys); //sysTab now contains vseSys tabControl1.TabPages.Add(sysTab); //tabControl1 now contains sysTab } }
/// <summary> /// Остановка опросов датчиков /// </summary> private void RemoveReadItems() { //Остановка чения стандартных датчиков //Остановка чтения цифровых датчиков IList <int> m_key = _inVarsDigital.Keys; for (int i = 0; i < _inVarsDigital.Count; i++) { try { _engine.RemoveReadItem(_inVarsDigital[m_key[i]].Address, _inVarsDigital[m_key[i]].Memory, "DIN_" + m_key[i]); } catch { } } m_key = _outVarsDigital.Keys; for (int i = 0; i < _outVarsDigital.Count; i++) { try { _engine.RemoveReadItem(_outVarsDigital[m_key[i]].Address, _outVarsDigital[m_key[i]].Memory, "DOUT_" + m_key[i]); } catch {} } //Остановка чения аналоговых датчиков for (int i = 0; i < this.ascInputs.Length; i++) { Kontel.Relkon.Classes.ControllerVar m_var = _solution.Vars.GetVarByName(this.ascInputs[i].SensorName); try { _engine.RemoveReadItem(m_var.Address, m_var.Memory, this.ascInputs[i]); } catch {} } for (int i = 0; i < this.ascOutputs.Length; i++) { Kontel.Relkon.Classes.ControllerVar m_var = _solution.Vars.GetVarByName(this.ascOutputs[i].SensorName); try { _engine.RemoveReadItem(m_var.Address, m_var.Memory, this.ascOutputs[i]); } catch {} } //Остановка чтения остальных вкладок for (int i = 0; i < tpBloks.Count; i++) { TD.SandDock.TabPage tp = tpBloks[tpBloks.Keys[i]]; if ((_deletedPage == -1 || _deletedPage != (int)(((DisplayBlock)tp.Controls[0]).bDelete.Tag)) && tp.Controls.Count > 0 /*tp.Disposing*/) { ((DisplayBlock)tp.Controls[0]).RemoveReadItems(); } } }
private PropertyGrid SelectedPropertGrid(TD.SandDock.TabControl tabControl) { TD.SandDock.TabPage tabPage = tabControl.SelectedPage; if (tabPage == null) { return(null); } if (tabPage.Controls.Count == 0) { return(null); } if (tabPage.Controls[0] is TD.SandDock.TabControl) { return(this.SelectedPropertGrid((TD.SandDock.TabControl)tabPage.Controls[0])); } if (tabPage.Controls[0] is PropertyGrid) { return((PropertyGrid)tabPage.Controls[0]); } return(null); }
/// <summary> /// Составление опросов датчиков /// </summary> private void AddedReadItems() { IList <int> m_key; if (this.tabControl1.SelectedPage != null && this.tabControl1.SelectedPage.Name == "tpDigital") { //Запуск стандартных датчиков //Запуск на четние цифровых датчиков m_key = _inVarsDigital.Keys; for (int i = 0; i < _inVarsDigital.Count; i++) { if (this.cbDefault.Checked || _engine.Parameters.ProcessorType == ProcessorType.AT89C51ED2 || i > 3) { try { _engine.AddReadItem(_inVarsDigital[m_key[i]].Address, _inVarsDigital[m_key[i]].Memory, _inVarsDigital[m_key[i]].Size, "DIN_" + m_key[i], null, RefreshInterfaseDigital); } catch { } } } m_key = _outVarsDigital.Keys; for (int i = 0; i < _outVarsDigital.Count; i++) { if (this.cbDefault.Checked || _engine.Parameters.ProcessorType == ProcessorType.AT89C51ED2 || i > 3) { try { _engine.AddReadItem(_outVarsDigital[m_key[i]].Address, _outVarsDigital[m_key[i]].Memory, _outVarsDigital[m_key[i]].Size, "DOUT_" + m_key[i], null, RefreshInterfaseDigital); } catch { } } } //Запуск на чтение аналоговых датчиков Kontel.Relkon.Classes.ControllerVar m_var; for (int i = 0; i < this.ascInputs.Length; i++) { if (this.cbDefault.Checked || _engine.Parameters.ProcessorType == ProcessorType.AT89C51ED2 || i > 7) { m_var = _solution.Vars.GetIOVar(this.ascInputs[i].SensorName); try { _engine.AddReadItem(m_var.Address, m_var.Memory, m_var.Size, this.ascInputs[i], null, RefreshInterfaseAnalog); } catch { } } } for (int i = 0; i < this.ascOutputs.Length; i++) { if (this.cbDefault.Checked || _engine.Parameters.ProcessorType == ProcessorType.AT89C51ED2 || i > 1) { m_var = _solution.Vars.GetIOVar(this.ascOutputs[i].SensorName); try { _engine.AddReadItem(m_var.Address, m_var.Memory, m_var.Size, this.ascOutputs[i], null, RefreshInterfaseAnalog); } catch { } } } } else { //Запуск датчиков с открытой вкладки for (int i = 0; i < tpBloks.Count; i++) { TD.SandDock.TabPage tp = tpBloks[tpBloks.Keys[i]]; if (this.tabControl1.SelectedPage != null && tp.Name == this.tabControl1.SelectedPage.Name && tp.Name != "") { ((DisplayBlock)tp.Controls[0]).AddedReadItems(); break; } } } }
/// <summary> /// Erforderliche Methode für die Designerunterstützung. /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden. /// </summary> private void InitializeComponent() { this.tabControl1 = new TD.SandDock.TabControl(); this.tabPage1 = new TD.SandDock.TabPage(); this.lv = new SimPe.Plugin.NgbhItemsListView(); this.tabPage2 = new TD.SandDock.TabPage(); this.lvint = new SimPe.Plugin.NgbhItemsListView(); this.splitter1 = new System.Windows.Forms.Splitter(); this.memprop = new SimPe.Plugin.MemoryProperties(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); this.tabPage2.SuspendLayout(); this.SuspendLayout(); // // tabControl1 // this.tabControl1.BorderStyle = TD.SandDock.Rendering.BorderStyle.None; this.tabControl1.Controls.Add(this.tabPage1); this.tabControl1.Controls.Add(this.tabPage2); this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill; this.tabControl1.LayoutSystem = new TD.SandDock.SplitLayoutSystem(250, 400, System.Windows.Forms.Orientation.Horizontal, new TD.SandDock.LayoutSystemBase[] { new TD.SandDock.DocumentLayoutSystem(504, 165, new TD.SandDock.DockControl[] { this.tabPage1, this.tabPage2 }, this.tabPage1) }); this.tabControl1.Location = new System.Drawing.Point(0, 0); this.tabControl1.Name = "tabControl1"; this.tabControl1.Size = new System.Drawing.Size(504, 165); this.tabControl1.TabIndex = 3; // // tabPage1 // this.tabPage1.BackColor = System.Drawing.Color.Transparent; this.tabPage1.Controls.Add(this.lv); this.tabPage1.FloatingSize = new System.Drawing.Size(550, 400); this.tabPage1.Guid = new System.Guid("951f2dbf-63ee-4eb5-8342-1e80d72570b8"); this.tabPage1.Location = new System.Drawing.Point(2, 22); this.tabPage1.Name = "tabPage1"; this.tabPage1.Size = new System.Drawing.Size(500, 141); this.tabPage1.TabIndex = 0; this.tabPage1.TabText = "Memories"; this.tabPage1.Text = "Memories"; // // lv // this.lv.BackColor = System.Drawing.Color.Transparent; this.lv.Dock = System.Windows.Forms.DockStyle.Fill; this.lv.Font = new System.Drawing.Font("Tahoma", 8.25F); this.lv.Location = new System.Drawing.Point(0, 0); this.lv.Name = "lv"; this.lv.NgbhItems = null; this.lv.Size = new System.Drawing.Size(500, 141); this.lv.Slot = null; this.lv.SlotType = SimPe.Data.NeighborhoodSlots.Sims; this.lv.TabIndex = 0; // // tabPage2 // this.tabPage2.BackColor = System.Drawing.Color.Transparent; this.tabPage2.Controls.Add(this.lvint); this.tabPage2.FloatingSize = new System.Drawing.Size(550, 400); this.tabPage2.Guid = new System.Guid("88419e31-43c9-4409-8d97-7ef80e549ee5"); this.tabPage2.Location = new System.Drawing.Point(2, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Size = new System.Drawing.Size(500, 117); this.tabPage2.TabIndex = 1; this.tabPage2.TabText = "Tokens (Skills, Badges...)"; this.tabPage2.Text = "Tokens (Skills, Badges...)"; this.tabPage2.Visible = false; this.tabPage2.VisibleChanged += new System.EventHandler(this.tabPage2_VisibleChanged); // // lvint // this.lvint.Dock = System.Windows.Forms.DockStyle.Fill; this.lvint.Font = new System.Drawing.Font("Tahoma", 8.25F); this.lvint.Location = new System.Drawing.Point(0, 0); this.lvint.Name = "lvint"; this.lvint.NgbhItems = null; this.lvint.Size = new System.Drawing.Size(500, 117); this.lvint.Slot = null; this.lvint.SlotType = SimPe.Data.NeighborhoodSlots.Sims; this.lvint.TabIndex = 1; // // splitter1 // this.splitter1.BackColor = System.Drawing.SystemColors.AppWorkspace; this.splitter1.Dock = System.Windows.Forms.DockStyle.Bottom; this.splitter1.Location = new System.Drawing.Point(0, 165); this.splitter1.Name = "splitter1"; this.splitter1.Size = new System.Drawing.Size(504, 3); this.splitter1.TabIndex = 3; this.splitter1.TabStop = false; // // memprop // this.memprop.BackColor = System.Drawing.Color.Transparent; this.memprop.Dock = System.Windows.Forms.DockStyle.Bottom; this.memprop.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0))); this.memprop.Item = null; this.memprop.Location = new System.Drawing.Point(0, 168); this.memprop.Name = "memprop"; this.memprop.NgbhItemsListView = null; this.memprop.Size = new System.Drawing.Size(504, 192); this.memprop.TabIndex = 4; // // NgbhSlotUI // this.Controls.Add(this.tabControl1); this.Controls.Add(this.splitter1); this.Controls.Add(this.memprop); this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0))); this.Name = "NgbhSlotUI"; this.Size = new System.Drawing.Size(504, 360); this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); this.ResumeLayout(false); }
/// <summary> /// Add the passed Wrapper (it's UI) as a new Document /// </summary> /// <param name="fii"></param> /// <param name="wrapper"></param> /// <param name="overload">Replace the currently active Document Tab with the new one</param> /// <returns>true, if the Resource was Presented succesfull</returns> bool Present(SimPe.Interfaces.Scenegraph.IScenegraphFileIndexItem fii, SimPe.Interfaces.Plugin.IFileWrapper wrapper, bool overload) { if (wrapper != null) { if (wrapper.FileDescriptor == null) { return(false); } if (wrapper.Package == null) { return(false); } //do not open Wrappers for deleted Descriptors if (wrapper.FileDescriptor != null) { if (wrapper.FileDescriptor.MarkForDelete) { return(false); } } TD.SandDock.DockControl doc = null; bool add = !overload; if (overload) { doc = dc.SelectedPage; } if (doc == null) { add = true; doc = new TD.SandDock.TabPage(); doc.AllowClose = true; doc.AllowDockCenter = true; } else if (!this.UnloadWrapper(doc)) { return(false); } doc.Text = wrapper.ResourceName; doc.Tag = wrapper; wrapper.FileDescriptor.Deleted += new EventHandler(DeletedDescriptor); wrapper.FileDescriptor.ChangedUserData += new SimPe.Events.PackedFileChanged(FileDescriptor_ChangedUserData); doc.Text = wrapper.ResourceName; SimPe.Interfaces.Plugin.IPackedFileUI uiHandler = wrapper.UIHandler; Control pan = uiHandler == null ? null : wrapper.UIHandler.GUIHandle; if (pan != null) { doc.FloatingSize = pan.Size; doc.AllowFloat = true; doc.AllowDockBottom = true; doc.AllowDockLeft = true; doc.AllowDockRight = true; doc.AllowDockTop = true; doc.AllowDockCenter = true; doc.AllowCollapse = true; if (add) { dc.TabPages.Add(doc); } pan.Parent = doc; pan.Left = 0; pan.Top = 0; pan.Width = doc.ClientRectangle.Width; pan.Height = doc.ClientRectangle.Height; pan.Dock = System.Windows.Forms.DockStyle.Fill; pan.Visible = true; //pan.Anchor = AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top; if (add) { doc.Closing += new TD.SandDock.DockControlClosingEventHandler(CloseResourceDocument); } dc.SelectedPage = (TD.SandDock.TabPage)doc; doc.Manager = dc.Manager; doc.LayoutSystem.LockControls = false; loaded[fii] = doc; if (!wrapper.AllowMultipleInstances) { single[wrapper.GetType().ToString()] = fii; } wrapper.LoadUI(); } return(true); } return(false); }