コード例 #1
0
        private void DataGrid_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
        {
            ValueCommentAlias comment = e.Row.DataContext as ValueCommentAlias;
            TextBox           textBox = e.EditingElement as TextBox;

            if (e.Column == elementComment)
            {
                if (comment != null && textBox != null)
                {
                    ValueCommentManager.UpdateComment(comment.Name, textBox.Text);
                }
            }
            else if (e.Column == elementAlias)
            {
                if (comment != null && textBox != null)
                {
                    if (textBox.Text != string.Empty && !ValueAliasManager.CheckAlias(comment.Name, textBox.Text))
                    {
                        LocalizedMessageBox.Show(Properties.Resources.Message_Alias_Exist, LocalizedMessageIcon.Warning);
                        e.Cancel = true;
                    }
                    else
                    {
                        ValueAliasManager.UpdateAlias(comment.Name, textBox.Text);
                    }
                }
            }
        }
コード例 #2
0
ファイル: ProjectHelper.cs プロジェクト: hyzhappy/samsoarii
 public static void LoadValueAliasByXElement(XElement xEle)
 {
     if (xEle != null)
     {
         foreach (XElement xele in xEle.Elements("Alias"))
         {
             string valueString = xele.Attribute("Value").Value;
             string alias       = xele.Value;
             ValueAliasManager.UpdateAlias(valueString, alias);
         }
     }
 }
コード例 #3
0
ファイル: CSVFileHelper.cs プロジェクト: hyzhappy/samsoarii
        public static void ImportExcute(string filename, IEnumerable <ValueCommentAlias> elementCollection, string separator)
        {
            StreamReader stream = new StreamReader(File.OpenRead(filename));
            string       line;

            while (!stream.EndOfStream)
            {
                line = stream.ReadLine();
                string[] eles = line.Split(new string[] { separator }, StringSplitOptions.None);
                int      last, first = line.IndexOf(separator);
                string   name = line.Substring(0, first);
                string   alias, comment;
                if (QuotationOperation(ref line, out comment, out alias, out last, separator))
                {
                    if (elementCollection.ToList().Exists(x => { return(x.Name == name); }))
                    {
                        var valueCommentAlias = elementCollection.Where(x => { return(x.Name == name); }).First();
                        if (valueCommentAlias.Comment != comment)
                        {
                            if (comment == string.Empty)
                            {
                                valueCommentAlias.HasComment = false;
                            }
                            else
                            {
                                valueCommentAlias.HasComment = true;
                            }
                            ValueCommentManager.UpdateComment(name, comment);
                        }
                        if (valueCommentAlias.Alias != alias && !elementCollection.ToList().Exists(x => { return(x.Name != name && x.Alias == alias && alias != string.Empty); }))
                        {
                            if (alias == string.Empty)
                            {
                                valueCommentAlias.HasAlias = false;
                            }
                            else
                            {
                                valueCommentAlias.HasAlias = true;
                            }
                            ValueAliasManager.UpdateAlias(name, alias);
                        }
                    }
                }
            }
            stream.Close();
        }
コード例 #4
0
ファイル: App.xaml.cs プロジェクト: hyzhappy/samsoarii
 public App()
 {
     splashScreen = new SplashScreen(@"Resources\Image\SplashScreen.png");
     splashScreen.Show(false, true);
     InitializeComponent();
     SpecialValueManager.Initialize();
     ValueCommentManager.Initialize();
     ValueAliasManager.Initialize();
     SettingManager.Load();
     if (GlobalSetting.IsOpenLSetting && GlobalSetting.LanagArea != string.Empty)
     {
         Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(GlobalSetting.LanagArea);
     }
     Exit    += App_Exit;
     Startup += App_Startup;
     DispatcherUnhandledException += App_DispatcherUnhandledException;
 }
コード例 #5
0
        public bool Open(XElement rootNode)
        {
            ProjectName = rootNode.Attribute("Name").Value;
            PLCDeviceManager.GetPLCDeviceManager().SetSelectDeviceType((PLCDeviceType)Enum.Parse(typeof(PLCDeviceType), rootNode.Attribute("DeviceType").Value));
            SubRoutines.Clear();
            FuncBlocks.Clear();
            ValueAliasManager.Clear();
            ValueCommentManager.Clear();
            InstructionCommentManager.Clear();
            ProjectHelper.LoadValueCommentsByXElement(rootNode.Element("ValueComments"));
            ProjectHelper.LoadValueAliasByXElement(rootNode.Element("ValueAlias"));
            ProjectPropertyManager.LoadProjectPropertyByXElement(rootNode.Element("ProjectPropertyParams"));
            MMonitorManager.MMWindow.LoadTablesByXElement(rootNode.Element("Tables"));
            EleInitializeData = rootNode.Element("EleInitialize");
            var ldnodes = rootNode.Elements("Ladder");

            foreach (XElement ldnode in ldnodes)
            {
                var ldmodel = ProjectHelper.CreateLadderDiagramByXElement(ldnode, this);
                if (ldmodel.IsMainLadder)
                {
                    MainRoutine = ldmodel;
                }
                else
                {
                    SubRoutines.Add(ldmodel);
                    TreeViewItem item = new TreeViewItem();
                    item.Header = ldmodel;
                }
            }
            // Open FunctionBlock
            var fbnodes = rootNode.Elements("FuncBlock");

            foreach (XElement fbnode in fbnodes)
            {
                var fbmodel = ProjectHelper.CreateFuncBlockByXElement(fbnode, this);
                FuncBlocks.Add(fbmodel);
            }
            var mtnodes = rootNode.Element("Modbus");
            var mtmodel = new ModbusTableViewModel(this);

            mtmodel.Load(mtnodes);
            MTVModel = mtmodel;
            return(true);
        }
コード例 #6
0
        private void OnClearButtonClick(object sender, RoutedEventArgs e)
        {
            var selectedItems = ElementDataGrid.SelectedItems;

            foreach (var item in selectedItems)
            {
                var tempitem = item as ValueCommentAlias;
                if (tempitem.Comment != string.Empty)
                {
                    tempitem.Comment    = string.Empty;
                    tempitem.HasComment = false;
                    ValueCommentManager.UpdateComment(tempitem.Name, tempitem.Comment);
                }
                if (tempitem.Alias != string.Empty)
                {
                    tempitem.Alias    = string.Empty;
                    tempitem.HasAlias = false;
                    ValueAliasManager.UpdateAlias(tempitem.Name, tempitem.Alias);
                }
            }
        }