/// <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);
 }
Exemplo n.º 2
0
 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);
     }
 }
Exemplo n.º 3
0
        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();
        }
Exemplo n.º 4
0
        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();
                }
            }
        }
Exemplo n.º 6
0
        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;
                    }
                }
            }
        }
Exemplo n.º 8
0
 /// <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);
 }
Exemplo n.º 9
0
        /// <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);
        }