private void tsmiGroupCloud_Click(object sender, EventArgs e) { TreeNode selectedNode = this.tvwPanel.SelectedNode; if (selectedNode == null) { return; } ToolStripMenuItem toolStripMenuItem = (ToolStripMenuItem)sender; if (toolStripMenuItem.Checked) { return; } if (selectedNode.Tag.GetType() != typeof(LedGroupCloud)) { return; } LedGroupCloud ledGroupCloud = (LedGroupCloud)selectedNode.Tag; string text = string.Empty; if (toolStripMenuItem.Tag != null) { string text2 = toolStripMenuItem.Tag.ToString(); if (text2 != "0") { text = text2; } } bool flag = true; selectedNode.Nodes.Clear(); LedPanel selectedPanel = formMain.ledsys.SelectedPanel; foreach (LedPanel current in formMain.ledsys.Panels) { if (!(current.GetType() != typeof(LedPanelCloud)) && selectedPanel != null && selectedPanel.Width == current.Width && selectedPanel.Height == current.Height && selectedPanel.ColorMode == current.ColorMode && (this.mode <= ExecuteMode.CopyItem || !(selectedPanel.ID == current.ID))) { LedPanelCloud ledPanelCloud = (LedPanelCloud)current; if (string.IsNullOrEmpty(text) || ledPanelCloud.Group.Contains(text)) { TreeNode treeNode = new TreeNode(ledPanelCloud.TextName); if (ledPanelCloud.State == LedPanelState.Online) { treeNode.ImageIndex = 1; treeNode.SelectedImageIndex = 1; if ((current.PortType == LedPortType.Ethernet && current.EthernetCommunicaitonMode == LedEthernetCommunicationMode.CloudServer) || (current.PortType == LedPortType.GPRS && current.GPRSCommunicaitonMode == LedGPRSCommunicationMode.CloudServer)) { treeNode.Text = formMain.ML.GetStr("formMain_TreeView_Node_Prefix_Online") + ledPanelCloud.TextName; } } else { treeNode.ImageIndex = 2; treeNode.SelectedImageIndex = 2; if ((current.PortType == LedPortType.Ethernet && current.EthernetCommunicaitonMode == LedEthernetCommunicationMode.CloudServer) || (current.PortType == LedPortType.GPRS && current.GPRSCommunicaitonMode == LedGPRSCommunicationMode.CloudServer)) { treeNode.Text = formMain.ML.GetStr("formMain_TreeView_Node_Prefix_Offline") + ledPanelCloud.TextName; } } treeNode.Checked = true; treeNode.Tag = ledPanelCloud; selectedNode.Nodes.Add(treeNode); } } } ContextMenuStrip contextMenuStrip = selectedNode.ContextMenuStrip; if (contextMenuStrip != null) { foreach (ToolStripItem toolStripItem in contextMenuStrip.Items) { if (toolStripItem.GetType() == typeof(ToolStripMenuItem)) { ((ToolStripMenuItem)toolStripItem).Checked = false; } } } toolStripMenuItem.Checked = true; if (selectedNode.Nodes.Count == 0) { flag = false; } selectedNode.Checked = flag; selectedNode.Text = string.Format("{0}({1})", ledGroupCloud.Name, toolStripMenuItem.Text); selectedNode.Expand(); if (flag && this.tvwPanel.Nodes != null && this.tvwPanel.Nodes.Count > 0) { foreach (TreeNode treeNode2 in this.tvwPanel.Nodes) { if (treeNode2 != selectedNode && treeNode2.Nodes != null) { foreach (TreeNode treeNode3 in treeNode2.Nodes) { if (!treeNode3.Checked) { flag = false; break; } } if (!flag) { break; } } } } this.chkSelectAll.Checked = flag; }
private void LoadTreeView() { this.tvwPanel.Nodes.Clear(); LedPanel selectedPanel = formMain.ledsys.SelectedPanel; LedProject ledsys = formMain.ledsys; IList <LedGroup> groups = formMain.ledsys.Groups; IList <LedPanel> panels = formMain.ledsys.Panels; bool @checked = true; int i = 0; while (i < groups.Count) { LedGroup ledGroup = groups[i]; if (this.CloudLogin || ledsys.Cloud.LoginState != LedCloudLoginState.Login || string.IsNullOrEmpty(ledsys.Cloud.Account.UserName) || !(ledsys.Cloud.Account.UserName == ledGroup.Name) || ledGroup.CreationMethod != LedCreationMethod.Cloud) { goto IL_115; } bool flag = false; foreach (LedPanel current in ledsys.Panels) { if (current.GetType() == typeof(LedPanel) && current.Group == ledGroup.ID) { flag = true; break; } } if (flag) { goto IL_115; } IL_5DC: i++; continue; IL_115: string text = string.Empty; bool flag2 = ledGroup.GetType() == typeof(LedGroupCloud); TreeNode treeNode = new TreeNode(); if (flag2) { string arg = string.Empty; LedGroupCloud ledGroupCloud = (LedGroupCloud)ledGroup; ContextMenuStrip contextMenuStrip = new ContextMenuStrip(); int selectedIndex = ledGroupCloud.SelectedIndex; ToolStripMenuItem toolStripMenuItem = new ToolStripMenuItem(formMain.ML.GetStr("formMain_TreeView_Node_ContextMenuStrip_Item_Cloud_Group_All")); if (selectedIndex == -2) { toolStripMenuItem.Checked = true; arg = toolStripMenuItem.Text; } toolStripMenuItem.Tag = 0; toolStripMenuItem.Click += new EventHandler(this.tsmiGroupCloud_Click); contextMenuStrip.Items.Add(toolStripMenuItem); ToolStripSeparator value = new ToolStripSeparator(); contextMenuStrip.Items.Add(value); ToolStripMenuItem toolStripMenuItem2 = new ToolStripMenuItem(formMain.ML.GetStr("formMain_TreeView_Node_ContextMenuStrip_Item_Cloud_Group_Ungroup")); if (selectedIndex == -1) { toolStripMenuItem2.Checked = true; arg = toolStripMenuItem2.Text; text = ledGroupCloud.ID; } toolStripMenuItem2.Tag = ledGroupCloud.ID; toolStripMenuItem2.Click += new EventHandler(this.tsmiGroupCloud_Click); contextMenuStrip.Items.Add(toolStripMenuItem2); ToolStripSeparator value2 = new ToolStripSeparator(); contextMenuStrip.Items.Add(value2); if (ledGroupCloud.Subgroups != null) { int num = 0; foreach (LedGroup current2 in ledGroupCloud.Subgroups) { ToolStripMenuItem toolStripMenuItem3 = new ToolStripMenuItem(current2.Name); if (selectedIndex == num) { toolStripMenuItem3.Checked = true; arg = toolStripMenuItem3.Text; text = current2.ID; } toolStripMenuItem3.Tag = current2.ID; toolStripMenuItem3.Click += new EventHandler(this.tsmiGroupCloud_Click); contextMenuStrip.Items.Add(toolStripMenuItem3); num++; } } treeNode.Text = string.Format("{0}({1})", ledGroup.Name, arg); treeNode.ContextMenuStrip = contextMenuStrip; } else { treeNode.Text = ledGroup.Name; text = ledGroup.ID; } treeNode.ImageIndex = 0; treeNode.SelectedImageIndex = 0; treeNode.Tag = ledGroup; treeNode.Checked = true; bool flag3 = false; foreach (LedPanel current3 in panels) { if ((this.CloudLogin || !(current3.GetType() == typeof(LedPanelCloud))) && selectedPanel != null && selectedPanel.Width == current3.Width && selectedPanel.Height == current3.Height && selectedPanel.ColorMode == current3.ColorMode && (this.mode <= ExecuteMode.CopyItem || !(selectedPanel.ID == current3.ID))) { bool flag4 = false; if (flag2) { if (current3.GetType() != typeof(LedPanelCloud)) { continue; } LedPanelCloud ledPanelCloud = (LedPanelCloud)current3; flag3 = true; if (string.IsNullOrEmpty(text) || ledPanelCloud.Group.Contains(text)) { flag4 = true; } } else { if (current3.GetType() != typeof(LedPanel)) { continue; } if (text.Equals(current3.Group)) { flag4 = true; } } if (flag4) { TreeNode treeNode2 = new TreeNode(current3.TextName); if (current3.State == LedPanelState.Online) { treeNode2.ImageIndex = 1; treeNode2.SelectedImageIndex = 1; if ((current3.PortType == LedPortType.Ethernet && (current3.EthernetCommunicaitonMode == LedEthernetCommunicationMode.LocalServer || current3.EthernetCommunicaitonMode == LedEthernetCommunicationMode.CloudServer)) || (current3.PortType == LedPortType.GPRS && current3.GPRSCommunicaitonMode == LedGPRSCommunicationMode.CloudServer)) { treeNode2.Text = formMain.ML.GetStr("formMain_TreeView_Node_Prefix_Online") + current3.TextName; } } else { treeNode2.ImageIndex = 2; treeNode2.SelectedImageIndex = 2; if ((current3.PortType == LedPortType.Ethernet && (current3.EthernetCommunicaitonMode == LedEthernetCommunicationMode.LocalServer || current3.EthernetCommunicaitonMode == LedEthernetCommunicationMode.CloudServer)) || (current3.PortType == LedPortType.GPRS && current3.GPRSCommunicaitonMode == LedGPRSCommunicationMode.CloudServer)) { treeNode2.Text = formMain.ML.GetStr("formMain_TreeView_Node_Prefix_Offline") + current3.TextName; } } treeNode2.Checked = true; treeNode2.Tag = current3; treeNode.Nodes.Add(treeNode2); } } } if (treeNode.Nodes.Count == 0) { treeNode.Checked = false; @checked = false; } if ((treeNode.Nodes != null && treeNode.Nodes.Count > 0) || flag3) { this.tvwPanel.Nodes.Add(treeNode); goto IL_5DC; } goto IL_5DC; } if (this.tvwPanel.Nodes.Count == 0) { @checked = false; } this.chkSelectAll.Checked = @checked; this.tvwPanel.ExpandAll(); }
private void LoadTreeView() { this.tvwPanel.Nodes.Clear(); IList <LedGroup> groups = formMain.ledsys.Groups; IList <LedPanel> panels = formMain.ledsys.Panels; bool @checked = this.rdoLocal.Checked; bool checked2 = true; int i = 0; while (i < groups.Count) { LedGroup ledGroup = groups[i]; string text = string.Empty; bool flag = ledGroup.GetType() == typeof(LedGroupCloud); if (@checked) { if (!flag) { goto IL_82; } } else if (flag) { goto IL_82; } IL_558: i++; continue; IL_82: TreeNode treeNode = new TreeNode(); if (flag) { string arg = string.Empty; LedGroupCloud ledGroupCloud = (LedGroupCloud)ledGroup; ContextMenuStrip contextMenuStrip = new ContextMenuStrip(); int selectedIndex = ledGroupCloud.SelectedIndex; ToolStripMenuItem toolStripMenuItem = new ToolStripMenuItem(formMain.ML.GetStr("formMain_TreeView_Node_ContextMenuStrip_Item_Cloud_Group_All")); if (selectedIndex == -2) { toolStripMenuItem.Checked = true; arg = toolStripMenuItem.Text; } toolStripMenuItem.Tag = 0; toolStripMenuItem.Click += new EventHandler(this.tsmiGroupCloud_Click); contextMenuStrip.Items.Add(toolStripMenuItem); ToolStripSeparator value = new ToolStripSeparator(); contextMenuStrip.Items.Add(value); ToolStripMenuItem toolStripMenuItem2 = new ToolStripMenuItem(formMain.ML.GetStr("formMain_TreeView_Node_ContextMenuStrip_Item_Cloud_Group_Ungroup")); if (selectedIndex == -1) { toolStripMenuItem2.Checked = true; arg = toolStripMenuItem2.Text; text = ledGroupCloud.ID; } toolStripMenuItem2.Tag = ledGroupCloud.ID; toolStripMenuItem2.Click += new EventHandler(this.tsmiGroupCloud_Click); contextMenuStrip.Items.Add(toolStripMenuItem2); ToolStripSeparator value2 = new ToolStripSeparator(); contextMenuStrip.Items.Add(value2); if (ledGroupCloud.Subgroups != null) { int num = 0; foreach (LedGroup current in ledGroupCloud.Subgroups) { ToolStripMenuItem toolStripMenuItem3 = new ToolStripMenuItem(current.Name); if (selectedIndex == num) { toolStripMenuItem3.Checked = true; arg = toolStripMenuItem3.Text; text = current.ID; } toolStripMenuItem3.Tag = current.ID; toolStripMenuItem3.Click += new EventHandler(this.tsmiGroupCloud_Click); contextMenuStrip.Items.Add(toolStripMenuItem3); num++; } } treeNode.Text = string.Format("{0}({1})", ledGroup.Name, arg); treeNode.ContextMenuStrip = contextMenuStrip; } else { treeNode.Text = ledGroup.Name; text = ledGroup.ID; } treeNode.ImageIndex = 0; treeNode.SelectedImageIndex = 0; treeNode.Tag = ledGroup; treeNode.Checked = true; foreach (LedPanel current2 in panels) { if (current2.PortType != LedPortType.USB && (current2.PortType != LedPortType.GPRS || (current2.GPRSCommunicaitonMode != LedGPRSCommunicationMode.GprsServer && !@checked && !(current2.GetType() == typeof(LedPanel)) && this.IsCloudLogin))) { if (current2.PortType == LedPortType.Ethernet) { if (current2.EthernetCommunicaitonMode == LedEthernetCommunicationMode.CloudServer) { if (current2.GetType() == typeof(LedPanel) || @checked) { continue; } if (!this.IsCloudLogin) { continue; } } else if (!@checked) { continue; } } bool flag2 = false; if (flag) { if (current2.GetType() != typeof(LedPanelCloud)) { continue; } LedPanelCloud ledPanelCloud = (LedPanelCloud)current2; if (string.IsNullOrEmpty(text) || ledPanelCloud.Group.Contains(text)) { flag2 = true; } } else { if (current2.GetType() != typeof(LedPanel)) { continue; } if (text.Equals(current2.Group)) { flag2 = true; } } if (flag2) { TreeNode treeNode2 = new TreeNode(current2.TextName); if (current2.State == LedPanelState.Online) { treeNode2.ImageIndex = 1; treeNode2.SelectedImageIndex = 1; treeNode2.Checked = true; if ((current2.PortType == LedPortType.Ethernet && current2.EthernetCommunicaitonMode == LedEthernetCommunicationMode.LocalServer) || (current2.GetType() == typeof(LedPanelCloud) && (current2.EthernetCommunicaitonMode == LedEthernetCommunicationMode.CloudServer || (current2.PortType == LedPortType.GPRS && current2.GPRSCommunicaitonMode == LedGPRSCommunicationMode.CloudServer)))) { treeNode2.Text = formMain.ML.GetStr("formMain_TreeView_Node_Prefix_Online") + current2.TextName; } } else { treeNode2.ImageIndex = 2; treeNode2.SelectedImageIndex = 2; treeNode2.Checked = false; checked2 = false; if ((current2.PortType == LedPortType.Ethernet && current2.EthernetCommunicaitonMode == LedEthernetCommunicationMode.LocalServer) || (current2.GetType() == typeof(LedPanelCloud) && (current2.EthernetCommunicaitonMode == LedEthernetCommunicationMode.CloudServer || (current2.PortType == LedPortType.GPRS && current2.GPRSCommunicaitonMode == LedGPRSCommunicationMode.CloudServer)))) { treeNode2.Text = formMain.ML.GetStr("formMain_TreeView_Node_Prefix_Offline") + current2.TextName; } } treeNode2.Tag = current2; treeNode.Nodes.Add(treeNode2); } } } if (treeNode.Nodes != null && treeNode.Nodes.Count > 0) { this.tvwPanel.Nodes.Add(treeNode); goto IL_558; } goto IL_558; } if (this.tvwPanel.Nodes.Count == 0) { checked2 = false; } this.checkBox_selectedall.Checked = checked2; this.tvwPanel.ExpandAll(); }