Пример #1
0
        //save cmddoc to file
        public void SaveTab(List <Tabcontent> tabs, string path)
        {
            List <string> alllines = new List <string>();

            for (int i = 0; i != tabs.Count; i++)
            {
                Tabcontent tab = tabs[i];
                alllines.Add("<tab {" + tab.tabname + "}>");
                for (int j = 0; j != tab.buttons.Length; j++)
                {
                    Buttontype btn = tab.buttons[j];
                    if (btn.btnnumber != -1)
                    {
                        alllines.Add("<button {" + btn.btnnumber + "} {" + btn.btnname + "}>");
                        alllines.Add("<data>");
                        for (int k = 0; k != btn.data.Count; k++)
                        {
                            alllines.Add(btn.data[k]);
                        }
                        alllines.Add("</data>");
                        alllines.Add("</button>");
                    }
                }
                alllines.Add("</tab>");
            }
            File.WriteAllLines(path, alllines.ToArray());
            //File.WriteAllText(path, alllines.ToString());

            /*
             * if (!File.Exists(path))
             * {
             *  StreamWriter sw = File.AppendText(path);
             *  File.a
             *  File.WriteAllLines(path, alllines.ToArray());
             * }
             * else
             * {
             *  File.WriteAllLines(path, alllines.ToArray());
             * }
             */
        }
Пример #2
0
        //get cmddoc from file
        public List <Tabcontent> getTabs(string path)
        {
            //Cmddocument cmddoc = new Cmddocument();
            List <Tabcontent> tabs = new List <Tabcontent>();

            if (File.Exists(path))
            {
                string[] alllines;
                alllines = File.ReadAllLines(path);
                //int i = 0;
                int tabno    = 0;
                int tabstart = 0;
                for (int i = 0; i != alllines.Length;)
                {
                    string     line = alllines[i];
                    Tabcontent tab  = new Tabcontent("");
                    if (line.StartsWith("<tab"))
                    {
                        tabstart = i;

                        string tabname = line.Substring(line.IndexOf("{") + 1, line.IndexOf("}") - line.IndexOf("{") - 1);
                        tab = new Tabcontent(tabname);
                        int j = 0;
                        i++;
                        for (int newtab = i; newtab != alllines.Length; newtab = i)
                        {
                            string newline = alllines[i];
                            if (newline.StartsWith("</tab"))
                            {
                                tabs.Add(tab);
                                //cmddoc.[tabno] = tab;
                                tabno++;
                                i++;
                                break;
                            }
                            else if (newline.StartsWith("<button"))
                            {
                                int        btnstart = newtab;
                                Buttontype btn      = new Buttontype(int.Parse(newline.Substring(newline.IndexOf("{") + 1, newline.IndexOf("}") - newline.IndexOf("{") - 1)), newline.Substring(newline.LastIndexOf("{") + 1, newline.LastIndexOf("}") - newline.LastIndexOf("{") - 1));
                                i++;
                                for (int newbtn = i; newbtn != alllines.Length; newbtn = i)
                                {
                                    string newbtnline = alllines[i];
                                    if (newbtnline.StartsWith("</button"))
                                    {
                                        i++;
                                        break;
                                    }
                                    else if (newbtnline.StartsWith("<data") || newbtnline.StartsWith("</data"))
                                    {
                                        i++;
                                        continue;
                                    }
                                    else
                                    {
                                        if (!newbtnline.Contains("<icon>") && !newbtnline.Contains("</icon>") && !newbtnline.Contains("<desc>") && !newbtnline.Contains("</desc>"))
                                        {
                                            btn.data.Add(newbtnline);
                                            i++;
                                        }
                                        else
                                        {
                                            i++;
                                        }
                                    }
                                }
                                //tab.buttons[j] = btn;
                                tab.buttons[btn.btnnumber] = btn;
                                j++;
                            }
                        }
                    }
                    else
                    {
                        i++;
                        continue;
                    }
                }
            }

            return(tabs);
        }
Пример #3
0
        //modify current tab' name
        //add a new tab
        private void AddTab(Tabcontent tc)
        {
            NewTabPage Page;
            TableLayoutPanel layoutPanel = new TableLayoutPanel();
            layoutPanel.RowCount = 4;
            layoutPanel.ColumnCount = 8;
            layoutPanel.Dock = DockStyle.Fill;
            //tc has no buttons,add a empty page
            if (tc.tabname == "")
            {
                Page = new NewTabPage();
                Page.Name = "Page" + _tabindex.ToString();
                Page.Text = "tabPage" + _tabindex.ToString();
                Page.TabIndex = _tabindex;
                Page.Controls.Add(layoutPanel);

                this.tabControl1.Controls.Add(Page);
                //layout button
                //int x = 8, y = 10;
                for (int i = 0; i != 32; i++)
                {

                    TabButton tb = new TabButton();
                    tb._index = i;
                    tb.Dock = DockStyle.Fill;
                    toolTip1.SetToolTip(tb, tb.Text);
                    /*Page.Controls.Add(tb);
                    tb.Location = new System.Drawing.Point(x, y);
                    x = x + tb.Width + 7;
                    if (x + tb.Width > Page.Width)
                    {
                        x = 8;
                        y = y + tb.Height + 6;
                    }*/
                    for (int k = 0; k < layoutPanel.RowCount; k++)
                    {
                        layoutPanel.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
                        for (int j = 0; j < layoutPanel.ColumnCount; j++)
                        {
                            layoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
                            layoutPanel.Controls.Add(tb);
                        }
                    }
                    tb.Click += new System.EventHandler(command_button_Click);
                    tb.MouseDown += new MouseEventHandler(command_button_MouseDown);
                }
            }
            //tc has buttons
            else
            {
                Page = new NewTabPage();
                Page.Name = tc.tabname;
                Page.Text = tc.tabname;
                Page.TabIndex = _tabindex;
                Page.Controls.Add(layoutPanel);
                this.tabControl1.Controls.Add(Page);
                //layout button
                //int x = 8, y = 10;
                for (int i = 0; i != 32; i++)
                {

                    TabButton tb = new TabButton();
                    tb._data = tc.buttons[i].data;
                    tb._index = i;
                    tb.Name = tc.buttons[i].btnname;
                    tb.Text = tc.buttons[i].btnname;
                    tb.Dock = DockStyle.Fill;
                    toolTip1.SetToolTip(tb, tb.Text);
                    /*Page.Controls.Add(tb);
                    tb.Location = new System.Drawing.Point(x, y);
                    x = x + tb.Width + 7;
                    if (x + tb.Width > Page.Width)
                    {
                        x = 8;
                        y = y + tb.Height + 6;
                    }*/
                    for (int k = 0; k < layoutPanel.RowCount; k++)
                    {
                        layoutPanel.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
                        for (int j = 0; j < layoutPanel.ColumnCount; j++)
                        {
                            layoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F));
                            layoutPanel.Controls.Add(tb);
                        }
                    }
                    tb.Click += new System.EventHandler(command_button_Click);
                    tb.MouseDown += new MouseEventHandler(command_button_MouseDown);
                }
            }

            #region 三种设置某个选项卡为当前选项卡的方法
            //this.tabControl1.SelectedIndex = index;
            //this.tabControl1.SelectedTab = Page;
            //this.tabControl1.SelectTab("Page" + index.ToString());
            #endregion

            _tabindex++;
        }
Пример #4
0
        private List<Tabcontent> GetCurrentTabs()
        {
            List<Tabcontent> tabs = new List<Tabcontent>();

            //get current tabs in mainform
            foreach (NewTabPage ntp in this.tabControl1.TabPages)
            {
                Tabcontent tab = new Tabcontent();
                tab.tabname = ntp.Name;

                foreach (Control item in ntp.Controls)
                {
                    if (item is TableLayoutPanel)
                    {
                        TableLayoutPanel layoutPanel = item as TableLayoutPanel;
                        foreach (Control btitem in layoutPanel.Controls)
                        {
                            if (btitem is TabButton)
                            {
                                TabButton button = btitem as TabButton;
                                Buttontype bt = new Buttontype();
                                bt.btnname = button.Name;
                                bt.btnnumber = button._index;
                                bt.data = button._data;
                                tab.buttons[button._index] = bt;
                            }
                        }
                    }

                }
                tabs.Add(tab);
            }

            return tabs;
        }
Пример #5
0
        private void Form1_Load(object sender, EventArgs e)
        {
            for (int i = 0; i < Constant.DEVICE_LIST.Length; i++)
            {

                this.comboBox_instrumentprefix.Items.Add(Constant.DEVICE_LIST[i]);

            }

            string filepath = localpath +@"\default.ts";
            if(File.Exists(filepath))
            {

                TsFileHelper tfh = new TsFileHelper();
                //get tabs from file
                List<Tabcontent> tabs = tfh.getTabs(filepath);
                //delete all current pages
                this.tabControl1.TabPages.Clear();
                //init tabindex
                this._tabindex = 0;
                //add tabpage from tabs
                if(tabs.Count!=0)
                {
                    foreach (Tabcontent tab in tabs)
                    {
                        this.AddTab(tab);
                    }
                }
                else
                {
                    Tabcontent tc = new Tabcontent();
                    this.AddTab(tc);
                }

            }
            else
            {
                string filePath = System.IO.Path.Combine(localpath, "default.ts");
                File.Create(filePath);
                Tabcontent tc = new Tabcontent();
                this.AddTab(tc);
            }

            //load config

            Dictionary<string, string> tempaddr = new Dictionary<string, string>();
            ConfigHelper ch = new ConfigHelper();
            tempaddr = ch.GetAddr();
            this.addr.SetAddress(tempaddr,this.link);

            //load color

            this.backcolor = ch.GetConfig("disp_backcolor");
            if (this.backcolor != "")
            {
                this.dataDisplayBox.BackColor = ColorTranslator.FromHtml(this.backcolor);
            }

            this.forecolor = ch.GetConfig("disp_forecolor");
            if (this.forecolor != "")
            {
                this.dataDisplayBox.ForeColor = ColorTranslator.FromHtml(this.forecolor);
            }

            //load font
            FontConverter fc = new FontConverter();
            this.fontstyle = ch.GetConfig("disp_font");
            if (this.fontstyle != "")
            {
                this.dataDisplayBox.Font = (Font)fc.ConvertFromString(this.fontstyle);
            }

            //init instrument status
            //initInstrumentStatus(this.addr, this.addr,true);
            this.initInstrumentStatusbyVisa32(this.addr, this.addr, true);
            foreach (Control ctl in this.SerialpropertyBox.Controls)
            {
                if (ctl.Name == "label_rruport")
                {
                    ctl.Text = this.addr.RRU;
                }
                else if (ctl.Name == "label_rrubaud")
                {
                    ctl.Text = this.addr.Baudrate_rru;
                }
                else if (ctl.Name == "label_serial2port")
                {
                    ctl.Text = this.addr.SERIAL2;
                }
                else if (ctl.Name == "label_serial2baud")
                {
                    ctl.Text = this.addr.Baudrate_com2;
                }
            }

            //ipep
            ipep = new IPEndPoint(IPAddress.Any, int.Parse(this.addr.Server_Port));

            //log
            LogManager.LogFielPrefix = "RTT ";
            //string logPath = System.Environment.CurrentDirectory + @"\log\";

            if (!Directory.Exists(logPath))
                Directory.CreateDirectory(logPath);
            LogManager.LogPath = logPath;
            LogManager.WriteLog(LogFile.Trace, "RTT start, version is "+ Assembly.GetExecutingAssembly().GetName().Version.ToString());

            //update

            if (!Directory.Exists(updatePath))
                Directory.CreateDirectory(updatePath);

            if (!Directory.Exists(backuppath))
                Directory.CreateDirectory(backuppath);
            //snapshot
            //_snapPath = System.Environment.CurrentDirectory + @"\snapshot\";

            if (!Directory.Exists(_snapPath))
                Directory.CreateDirectory(_snapPath);

            //rxevm

            if (!Directory.Exists(_rxevmPath))
                Directory.CreateDirectory(_rxevmPath);

            //cmd queue process thread
            cmdProcessThread_run = true;
            _cmdProcessThread = new Thread(new ThreadStart(cmdProcessThread));
            _cmdProcessThread.Start();

            //cqEventSender.QueueChanged += new cmdQueueEventSender.QueueChangHandler(cmdProcessThread);

            this.Text = "RTT v" + Assembly.GetExecutingAssembly().GetName().Version.ToString();
            this.label_terminal_IP.Text = this.addr.DU_IP;
            this.Show();
            //this.InputBox.Focus();
        }
Пример #6
0
        //get cmddoc from file
        public List<Tabcontent> getTabs(string path)
        {
            //Cmddocument cmddoc = new Cmddocument();
            List<Tabcontent> tabs = new List<Tabcontent>();
            if (File.Exists(path))
            {
                string[] alllines;
                alllines = File.ReadAllLines(path);
                //int i = 0;
                int tabno = 0;
                int tabstart = 0;
                for (int i = 0; i != alllines.Length;)
                {
                    string line = alllines[i];
                    Tabcontent tab = new Tabcontent("");
                    if (line.StartsWith("<tab"))
                    {
                        tabstart = i;

                        string tabname = line.Substring(line.IndexOf("{") + 1, line.IndexOf("}") - line.IndexOf("{") - 1);
                        tab = new Tabcontent(tabname);
                        int j = 0;
                        i++;
                        for (int newtab = i; newtab != alllines.Length; newtab = i)
                        {
                            string newline = alllines[i];
                            if (newline.StartsWith("</tab"))
                            {
                                tabs.Add(tab);
                                //cmddoc.[tabno] = tab;
                                tabno++;
                                i++;
                                break;
                            }
                            else if (newline.StartsWith("<button"))
                            {
                                int btnstart = newtab;
                                Buttontype btn = new Buttontype(int.Parse(newline.Substring(newline.IndexOf("{") + 1, newline.IndexOf("}") - newline.IndexOf("{") - 1)), newline.Substring(newline.LastIndexOf("{") + 1, newline.LastIndexOf("}") - newline.LastIndexOf("{") - 1));
                                i++;
                                for (int newbtn = i; newbtn != alllines.Length; newbtn = i)
                                {
                                    string newbtnline = alllines[i];
                                    if (newbtnline.StartsWith("</button"))
                                    {
                                        i++;
                                        break;
                                    }
                                    else if (newbtnline.StartsWith("<data") || newbtnline.StartsWith("</data"))
                                    {
                                        i++;
                                        continue;
                                    }
                                    else
                                    {
                                        if (!newbtnline.Contains("<icon>") && !newbtnline.Contains("</icon>") && !newbtnline.Contains("<desc>") && !newbtnline.Contains("</desc>"))
                                        {
                                            btn.data.Add(newbtnline);
                                            i++;
                                        }
                                        else
                                        {
                                            i++;
                                        }
                                    }
                                }
                                //tab.buttons[j] = btn;
                                tab.buttons[btn.btnnumber] = btn;
                                j++;
                            }
                        }
                    }
                    else
                    {
                        i++;
                        continue;
                    }

                }
            }

            return tabs;
        }