Beispiel #1
0
        public void DeletePrjSetCommand(UserPrjSetting upset)
        {
            lock (_lock)
            {
                if (_upSettings != null)
                {
                    _upSettings.Remove(upset);
                }

                RefreshPrjSetting();
            }
        }
        //保存投影配置
        public void SavePrjConfig(List <UserPrjSetting> p_prjSetting)
        {
            if (p_prjSetting != null && p_prjSetting.Count > 0)
            {
                XmlDocument config = new XmlDocument();
                XmlNode     root   = config.CreateNode(XmlNodeType.Element, "ProjectorData", null);
                config.AppendChild(root);
                #region PrjData
                if (p_prjSetting.Count > 0 && p_prjSetting != null)
                {
                    for (int i = 0; i < p_prjSetting.Count; i++)
                    {
                        UserPrjSetting currentPrjSetting = p_prjSetting[i];
                        XmlNode        deviceName        = config.CreateNode(XmlNodeType.Element, currentPrjSetting.Name, null);

                        for (int cout_mode = 0; cout_mode < currentPrjSetting.DeviceStates.Count; cout_mode++)
                        {
                            UserPrjOperation tempprjState = currentPrjSetting.DeviceStates[cout_mode];
                            XmlElement       mode         = config.CreateElement("Mode");
                            XmlAttribute     _name        = config.CreateAttribute("Name");
                            _name.Value = tempprjState.PrjOperationType.ToString();
                            XmlAttribute _data = config.CreateAttribute("Data");
                            _data.Value = tempprjState.Data;
                            mode.Attributes.Append(_name);
                            mode.Attributes.Append(_data);
                            deviceName.AppendChild(mode);
                        }

                        XmlNode operationset = config.CreateNode(XmlNodeType.Element, "OperationSetting", null);
                        XmlNode baudRate     = config.CreateNode(XmlNodeType.Element, "BaudRate", null);
                        baudRate.InnerText = currentPrjSetting.Pcs.BaudRate.ToString();
                        XmlNode dataBit = config.CreateNode(XmlNodeType.Element, "DataBit", null);
                        dataBit.InnerText = currentPrjSetting.Pcs.DataBits.ToString();
                        XmlNode stopBit = config.CreateNode(XmlNodeType.Element, "StopBit", null);
                        stopBit.InnerText = currentPrjSetting.Pcs.StopBits.ToString();
                        XmlNode parity = config.CreateNode(XmlNodeType.Element, "Parity", null);
                        parity.InnerText = currentPrjSetting.Pcs.Parity.ToString();
                        operationset.AppendChild(baudRate);
                        operationset.AppendChild(dataBit);
                        operationset.AppendChild(stopBit);
                        operationset.AppendChild(parity);
                        deviceName.AppendChild(operationset);
                        root.AppendChild(deviceName);
                    }
                }

                #endregion
                config.Save(_prjConfigFile);
            }
        }
Beispiel #3
0
 public void AddPrjSetCommand(UserPrjSetting upset)
 {
     lock (_lock)
     {
         if (_upSettings != null)
         {
             _upSettings.Add(upset);
         }
         else
         {
             Helper.ShowMessageBox("添加失败", "添加投影机设置失败!");
         }
         RefreshPrjSetting();
     }
 }
Beispiel #4
0
 private void 添加ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         DeviceSerialSetting dss = new DeviceSerialSetting();
         if (dss.ShowDialog() == DialogResult.OK)
         {
             if (_upSettings != null)
             {
                 foreach (UserPrjSetting upsetting in _upSettings)
                 {
                     if (upsetting.Name == dss.PrjName)
                     {
                         Helper.ShowMessageBox("提示", "已存在相同的名称");
                         return;
                     }
                 }
                 UserPrjSetting   upset = new UserPrjSetting(dss.PrjName, dss.DeviceComSetting);
                 UserPrjOperation _userPrjOperation_On  = new UserPrjOperation(PrjOperationType.开, "");
                 UserPrjOperation _userPrjOperation_Off = new UserPrjOperation(PrjOperationType.关, "");
                 upset.AddPrjSetting(_userPrjOperation_On);
                 upset.AddPrjSetting(_userPrjOperation_Off);
                 AddPrjSetCommand(upset);
             }
             else
             {
                 UserPrjSetting   upset = new UserPrjSetting(dss.PrjName, dss.DeviceComSetting);
                 UserPrjOperation _userPrjOperation_On  = new UserPrjOperation(PrjOperationType.开, "");
                 UserPrjOperation _userPrjOperation_Off = new UserPrjOperation(PrjOperationType.关, "");
                 upset.AddPrjSetting(_userPrjOperation_On);
                 upset.AddPrjSetting(_userPrjOperation_Off);
                 lock (_lock)
                 {
                     _upSettings.Add(upset);
                     RefreshPrjSetting();
                 }
             }
         }
     }
     catch (Exception ex)
     {
         Helper.ShowMessageBox("异常", ex.Message);
     }
 }
 public List <UserPrjSetting> LoadPrjData()
 {
     try
     {
         XmlDocument prjConfig = new XmlDocument();
         prjConfig.Load(_prjConfigFile);
         XmlNode prjroot = prjConfig.SelectSingleNode("ProjectorData");
         _prjSettings.Clear();
         foreach (XmlNode prjector in prjroot)
         {
             string      _prjName        = prjector.Name;
             XmlNodeList _prjCommsetting = prjector.SelectNodes("OperationSetting");
             ComSetting  pcs             = new ComSetting();
             foreach (XmlNode comsetting in _prjCommsetting)
             {
                 int    _baudRate = int.Parse(comsetting.SelectSingleNode("BaudRate").InnerText);
                 int    _dataBits = int.Parse(comsetting.SelectSingleNode("DataBit").InnerText);
                 int    _stopBits = int.Parse(comsetting.SelectSingleNode("StopBit").InnerText);
                 Parity _parity   = (Parity)Enum.Parse(typeof(Parity), comsetting.SelectSingleNode("Parity").InnerText);
                 pcs.BaudRate = _baudRate;
                 pcs.DataBits = _dataBits;
                 pcs.StopBits = _stopBits;
                 pcs.Parity   = _parity;
             }
             UserPrjSetting _ups           = new UserPrjSetting(_prjName, pcs);
             XmlNodeList    _tempprjStates = prjector.SelectNodes("Mode");
             _prjSettings.Add(_ups);
             foreach (XmlNode _prjState in _tempprjStates)
             {
                 string           _statename = _prjState.Attributes["Name"].Value;
                 string           _statedata = _prjState.Attributes["Data"].Value;
                 PrjOperationType _mode      = (PrjOperationType)Enum.Parse(typeof(PrjOperationType), _statename);
                 UserPrjOperation uds        = new UserPrjOperation(_mode, _statedata);
                 _ups.DeviceStates.Add(uds);
             }
         }
         return(_prjSettings);
     }
     catch
     {
         Helper.ShowMessageBox("提示", "未找到投影机配置文件!");
         return(null);
     }
 }
Beispiel #6
0
        public void RefreshPrjSetting()
        {
            dbPrjSettingList.Rows.Clear();
            _currentUpSetting = null;
            if (_upSettings != null)
            {
                foreach (UserPrjSetting upset in _upSettings)
                {
                    dbPrjSettingList.Rows.Add(upset.Name, upset.Pcs.BaudRate, upset.Pcs.DataBits, upset.Pcs.StopBits, GetParityModeType(upset.Pcs.Parity));
                }
            }

            if (dbPrjSettingList.Rows.Count > 0)
            {
                dbPrjSettingList.Rows[dbPrjSettingList.Rows.Count - 1].Selected = true;
                _currentUpSetting = _upSettings[dbPrjSettingList.Rows.Count - 1];
            }
            if (OnCurrentPrjSetChanged != null)
            {
                OnCurrentPrjSetChanged(this, null);
            }
        }
Beispiel #7
0
        private void dbComDataList_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            _selectRowIndex = e.RowIndex;
            if (_selectRowIndex < 0)
            {
                return;
            }
            if (e.Clicks == 1 && e.Button == MouseButtons.Right && e.RowIndex >= 0)
            {
                contextMenuStrip.Show(Cursor.Position);
            }

            if (_selectRowIndex >= 0 && _currentUpSetting != _upSettings[_selectRowIndex])
            {
                _currentUpSetting = _upSettings[_selectRowIndex];

                if (OnCurrentPrjSetChanged != null)
                {
                    OnCurrentPrjSetChanged(this, null);
                }

                dbPrjSettingList.Rows[_selectRowIndex].Selected = true;
            }
        }