private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { lstProjectFolder.Items.Clear(); if (treeStep7Project.SelectedNode is myTreeNode) { var tmp = (myTreeNode)treeStep7Project.SelectedNode; if (tmp.myObject is IBlocksFolder) { IBlocksFolder blkFld = (IBlocksFolder)tmp.myObject; if ((int)SelectPart > 1000) { List <ProjectBlockInfo> blocks = blkFld.readPlcBlocksList(); foreach (ProjectBlockInfo step7ProjectBlockInfo in blocks) { if (step7ProjectBlockInfo.BlockType == PLCBlockType.VAT && SelectPart == SelectPartType.VariableTable) { lstProjectFolder.Items.Add(step7ProjectBlockInfo); } if (step7ProjectBlockInfo.BlockType == PLCBlockType.DB && (SelectPart == SelectPartType.DataBlock || SelectPart == SelectPartType.DataBlocks || SelectPart == SelectPartType.IDataBlock || SelectPart == SelectPartType.IDataBlocks)) { lstProjectFolder.Items.Add(step7ProjectBlockInfo); } if (step7ProjectBlockInfo.BlockType == PLCBlockType.UDT && SelectPart == SelectPartType.DataType) { lstProjectFolder.Items.Add(step7ProjectBlockInfo); } if ((step7ProjectBlockInfo.BlockType == PLCBlockType.FB || step7ProjectBlockInfo.BlockType == PLCBlockType.FC) && SelectPart == SelectPartType.FunctionBlock) { lstProjectFolder.Items.Add(step7ProjectBlockInfo); } } } } } else if (treeStep7Project.SelectedNode is DBValueTreeNode) { //Maybe a DBTreeNode is not yet Expanded, then it need to be filled after select! if (treeStep7Project.SelectedNode is DBTreeNode) { AddDBValueNodes((DBTreeNode)treeStep7Project.SelectedNode); } DBValueTreeNode tmp = (DBValueTreeNode)treeStep7Project.SelectedNode; foreach (S7DataRow s7DataRow in tmp.s7datarow.Children) { if (s7DataRow.DataType != S7DataRowType.STRUCT && s7DataRow.DataType != S7DataRowType.UDT) { lstProjectFolder.Items.Add(new DBRowValue() { myRow = s7DataRow }); } } } }
public DockableContentBlockList(IBlocksFolder fld) { InitializeComponent(); myFld = fld; this.DataContext = this; try { var tmp = fld.readPlcBlocksList(); tmp.Sort(new NumericComparer <ProjectBlockInfo>()); var groupedItems = new ListCollectionView(tmp); groupedItems.GroupDescriptions.Add(new PropertyGroupDescription("BlockTypeString")); this.myDataGrid.ItemsSource = groupedItems; } catch (Exception ex) { //parentDockingManager. App.clientForm.lblStatus.Text = ex.Message; } }
public DockableContentBlockList(IBlocksFolder fld) { InitializeComponent(); myFld = fld; this.DataContext = this; try { var tmp = fld.readPlcBlocksList(); tmp.Sort(new NumericComparer<ProjectBlockInfo>()); var groupedItems = new ListCollectionView(tmp); groupedItems.GroupDescriptions.Add(new PropertyGroupDescription("BlockTypeString")); this.myDataGrid.ItemsSource = groupedItems; } catch (Exception ex) { //parentDockingManager. App.clientForm.lblStatus.Text = ex.Message; } }
private void AddNodes(TreeNode nd, List <ProjectFolder> lst) { foreach (var subitem in lst) { myTreeNode tmpNode = new myTreeNode(); tmpNode.Text = subitem.Name; tmpNode.myObject = subitem; tmpNode.ImageIndex = 0; //nd.ImageKey //Set the Image for the Folders... if (subitem.GetType() == typeof(StationConfigurationFolder)) { if (((StationConfigurationFolder)subitem).StationType == PLCType.Simatic300) { tmpNode.ImageIndex = 4; } else if (((StationConfigurationFolder)subitem).StationType == PLCType.Simatic400 || ((StationConfigurationFolder)subitem).StationType == PLCType.Simatic400H) { tmpNode.ImageIndex = 5; } } else if (subitem.GetType() == typeof(CPUFolder)) { if (((CPUFolder)subitem).CpuType == PLCType.Simatic300) { tmpNode.ImageIndex = 2; } else if (((CPUFolder)subitem).CpuType == PLCType.Simatic400 || ((CPUFolder)subitem).CpuType == PLCType.Simatic400H) { tmpNode.ImageIndex = 3; } } nd.Nodes.Add(tmpNode); if (subitem.SubItems != null) { AddNodes(tmpNode, subitem.SubItems); } if (subitem is IBlocksFolder && this.SelectPart == SelectPartType.Tag) { IBlocksFolder blkFld = (IBlocksFolder)subitem; foreach (ProjectPlcBlockInfo projectBlockInfo in blkFld.readPlcBlocksList()) { if (projectBlockInfo.BlockType == PLCBlockType.DB || projectBlockInfo.BlockType == PLCBlockType.S5_DB || projectBlockInfo.BlockType == PLCBlockType.S5_DX) { string nm = projectBlockInfo.BlockName; if (projectBlockInfo.SymbolTabelEntry != null) { nm += " (" + projectBlockInfo.SymbolTabelEntry.Symbol + ")"; } DBTreeNode trnd = new DBTreeNode() { Text = nm, PLCBlockInfo = projectBlockInfo }; trnd.Nodes.Add(new FakeNode()); tmpNode.Nodes.Add(trnd); } } } } }
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { if (myConn != null) { myConn.Disconnect(); } viewBlockList.Visible = false; dtaSymbolTable.Visible = false; hexBox.Visible = false; txtTextBox.Visible = false; lblToolStripFileSystemFolder.Text = ""; lblStatus.Text = ""; tableLayoutPanelVisu.ColumnStyles[1].Width = 0; datablockView.Visible = false; lblToolStripFileSystemFolder.Text = ""; blkFld = null; if (treeStep7Project.SelectedNode != null) { ProjectFolder fld = (ProjectFolder)((myTreeNode)treeStep7Project.SelectedNode).myObject; lblProjectName.Text = fld.Project.ProjectName; lblProjectInfo.Text = fld.Project.ProjectDescription; var tmp = (myTreeNode)treeStep7Project.SelectedNode; if (tmp.myObject is IBlocksFolder) { blkFld = (IBlocksFolder)tmp.myObject; } if (tmp.myObject.GetType() == typeof(SymbolTable)) { var tmp2 = (SymbolTable)tmp.myObject; if (oldNode != treeStep7Project.SelectedNode) { dtaSymbolTable.Rows.Clear(); foreach (var step7SymbolTableEntry in tmp2.SymbolTableEntrys) { dtaSymbolTable.Rows.Add(new object[] { step7SymbolTableEntry.Symbol, step7SymbolTableEntry.DataType, step7SymbolTableEntry.Operand, step7SymbolTableEntry.Comment }); } } dtaSymbolTable.Visible = true; lblToolStripFileSystemFolder.Text = tmp2.Folder; } else if (blkFld != null) { if (oldNode != treeStep7Project.SelectedNode) { lstListBox.Items.Clear(); //ProjectBlockInfo[] arr = //NumericComparer nc = new NumericComparer(); //Array.Sort(arr, nc); lstListBox.Items.AddRange(blkFld.readPlcBlocksList().ToArray()); } viewBlockList.Visible = true; if (tmp.myObject.GetType() == typeof(BlocksOfflineFolder)) { lblToolStripFileSystemFolder.Text = ((BlocksOfflineFolder)blkFld).Folder; } } else if (tmp.myObject.GetType() == typeof(SourceFolder)) { src = (SourceFolder)tmp.myObject; if (oldNode != treeStep7Project.SelectedNode) { lstListBox.Items.Clear(); lstListBox.Items.AddRange(src.readPlcBlocksList().ToArray()); } viewBlockList.Visible = true; lblToolStripFileSystemFolder.Text = src.Folder; } else if (tmp.myObject is CPUFolder) { var cpu = tmp.myObject as CPUFolder; if (oldNode != treeStep7Project.SelectedNode) { lstListBox.Items.Clear(); lstListBox.Items.Add("Password: "******"CpuType: " + cpu.CpuType); } viewBlockList.Visible = true; } } oldNode = treeStep7Project.SelectedNode; }