コード例 #1
0
 public void DeleteView()
 {
     if ((this.treeView.SelectedNode is SCADAViewNode) && (MessageBox.Show("是否要删除" + this.treeView.SelectedNode.Text + "视图?", "删除提示", MessageBoxButtons.YesNo) == DialogResult.Yes))
     {
         try
         {
             SCADAViewNode   selectedNode = (SCADAViewNode)this.treeView.SelectedNode;
             FlowProjectNode parent       = (FlowProjectNode)this.treeView.SelectedNode.Parent;
             parent.Project.GraphList.Remove(selectedNode.GraphSite);
             parent.Nodes.Remove(selectedNode);
             for (int i = 0; i < this.mediator.DockPanel.Documents.Count <DockContent>(); i++)
             {
                 if ((this.mediator.DockPanel.Documents[i] is WorkForm) && ((this.mediator.DockPanel.Documents[i] as WorkForm) == selectedNode.View))
                 {
                     this.mediator.DockPanel.Documents[i].Hide();
                     this.mediator.DockPanel.Documents[i].Dispose();
                     this.mediator.DockPanel.Documents[i] = null;
                 }
             }
             FlowManager.AddLogToMainLog("删除视图成功!" + parent.Text + "//" + selectedNode.Text);
         }
         catch (Exception exception)
         {
             FlowManager.AddLogToMainLog("删除视图失败!" + exception.InnerException);
         }
     }
 }
コード例 #2
0
 public void CreateView()
 {
     if ((this.treeView.SelectedNode != null) && (this.treeView.SelectedNode.GetType() == typeof(FlowProjectNode)))
     {
         FlowProjectNode  selectedNode = this.treeView.SelectedNode as FlowProjectNode;
         CreateViewDialog dialog       = new CreateViewDialog();
         if (dialog.ShowDialog(this) == DialogResult.OK)
         {
             SCADAViewNode node = new SCADAViewNode
             {
                 Text             = dialog.ViewName,
                 ContextMenuStrip = this.contextMenuView,
                 View             = (WorkForm)this.mediator.CreateWorkForm(dialog.ViewName, (float)dialog.PageWidth, (float)dialog.PageHeight)
             };
             node.View.GraphControl.SaveViewResult = delegate(bool res, string msg) {
                 if (res)
                 {
                     this.LoadTreeViewTemplate();
                 }
                 else
                 {
                     MessageBox.Show(this, msg);
                 }
             };
             selectedNode.Nodes.Add(node);
             selectedNode.Project.GraphList.Add(node.View.GraphControl.Abstract);
         }
     }
 }
コード例 #3
0
 private void 应用背景到其它视图ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         if ((this.treeView.SelectedNode is SCADAViewNode) && (FrmDialog.ShowDialog(this, "是否应用到其它视图?", "提示", true, false, false, true, null) == DialogResult.OK))
         {
             SCADAViewNode   selectedNode = this.treeView.SelectedNode as SCADAViewNode;
             FlowProjectNode parent       = this.treeView.SelectedNode.Parent as FlowProjectNode;
             for (int i = 0; i < parent.Project.GraphList.Count; i++)
             {
                 if (selectedNode.GraphSite.backImage != null)
                 {
                     parent.Project.GraphList[i].backImage = (Image)selectedNode.GraphSite.backImage.Clone();
                 }
                 parent.Project.GraphList[i].mBackgroundColor     = selectedNode.GraphSite.mBackgroundColor;
                 parent.Project.GraphList[i].mBackgroundImagePath = selectedNode.GraphSite.mBackgroundImagePath;
                 parent.Project.GraphList[i].mBackgroundType      = selectedNode.GraphSite.mBackgroundType;
                 parent.Project.GraphList[i].mGradientBottom      = selectedNode.GraphSite.mGradientBottom;
                 parent.Project.GraphList[i].mGradientMode        = selectedNode.GraphSite.mGradientMode;
                 parent.Project.GraphList[i].mGradientTop         = selectedNode.GraphSite.mGradientTop;
                 parent.Project.GraphList[i].MapHeight            = selectedNode.GraphSite.MapHeight;
                 parent.Project.GraphList[i].MapWidth             = selectedNode.GraphSite.MapWidth;
             }
         }
     }
     catch (Exception exception1)
     {
         MessageBox.Show(exception1.Message);
     }
 }
コード例 #4
0
        public void LoadTempViewToProject(string tempFile)
        {
            FlowProjectNode selectedNode = null;

            if (this.treeView.SelectedNode != null)
            {
                if (this.treeView.SelectedNode is FlowProjectNode)
                {
                    selectedNode = this.treeView.SelectedNode as FlowProjectNode;
                }
                else if (this.treeView.SelectedNode is SCADAViewNode)
                {
                    selectedNode = this.treeView.SelectedNode.Parent as FlowProjectNode;
                }
                CreateViewDialog dialog = new CreateViewDialog();
                if (dialog.ShowDialog(this) == DialogResult.OK)
                {
                    SCADAViewNode node2 = new SCADAViewNode
                    {
                        Text             = dialog.ViewName,
                        ContextMenuStrip = this.contextMenuView,
                        View             = (WorkForm)this.mediator.CreateWorkForm(dialog.ViewName, (float)dialog.PageWidth, (float)dialog.PageHeight)
                    };
                    GraphAbstract @abstract = node2.View.GraphControl.LoadView(tempFile);
                    node2.View.GraphControl.Abstract.MapHeight = @abstract.MapHeight;
                    node2.View.GraphControl.Abstract.MapWidth  = @abstract.MapWidth;
                    node2.View.GraphControl.Abstract.ViewTitle = dialog.ViewName;
                    node2.View.GraphControl.Layers.Clear();
                    node2.View.GraphControl.AddLayer(@abstract.Layers[0]);
                    node2.View.GraphControl.BasicLayer = @abstract.Layers[0];
                    for (int i = 0; i < @abstract.Shapes.Count; i++)
                    {
                        node2.View.GraphControl.AddShape(@abstract.Shapes[i], AddShapeType.Create, null, -1);
                    }
                    node2.View.GraphControl.SaveViewResult = delegate(bool res, string msg) {
                        if (res)
                        {
                            this.LoadTreeViewTemplate();
                        }
                        else
                        {
                            MessageBox.Show(this, msg);
                        }
                    };
                    node2.View.GraphControl.LoadViewResult = (res, msg) => MessageBox.Show(this, msg);
                    selectedNode.Nodes.Add(node2);
                    selectedNode.Project.GraphList.Add(node2.View.GraphControl.Abstract);
                }
            }
        }
コード例 #5
0
        public void InitTreeView(FlowProject project)
        {
            TreeNodeEx ex = new TreeNodeEx(TreeNodeType.View);

            if (this.treeView.Nodes.Count <= 0)
            {
                ex.Text = "SCADA流程图";
                this.treeView.Nodes.Add(ex);
            }
            else
            {
                ex = (TreeNodeEx)this.treeView.Nodes[0];
            }
            FlowProjectNode node = new FlowProjectNode(project)
            {
                ToolTipText      = project.FileFullName,
                ContextMenuStrip = this.contextMenuProject
            };

            for (int i = 0; i < project.GraphList.Count; i++)
            {
                SCADAViewNode node2 = new SCADAViewNode
                {
                    ContextMenuStrip = this.contextMenuView,
                    View             = (WorkForm)this.mediator.CreateWorkForm(project.GraphList[i].ViewTitle, project.GraphList[i].MapWidth, project.GraphList[i].MapHeight, project.GraphList[i])
                };
                node2.View.GraphControl.Abstract      = project.GraphList[i];
                node2.View.GraphControl.Abstract.Site = node2.View.GraphControl;
                node2.View.GraphControl.BasicLayer    = project.GraphList[i].Layers[0];
                for (int j = 0; j < project.GraphList[i].Shapes.Count; j++)
                {
                    project.GraphList[i].Shapes[j].Layer = node2.View.GraphControl.BasicLayer;
                }
                node2.Text = node2.GraphSite.ViewTitle;
                node2.View.GraphControl.LoadPropertiesEvent();
                node2.View.GraphControl.SaveViewResult = delegate(bool res, string msg) {
                    if (res)
                    {
                        this.LoadTreeViewTemplate();
                    }
                    else
                    {
                        MessageBox.Show(this, msg);
                    }
                };
                node.Nodes.Add(node2);
            }
            node.ExpandAll();
            ex.Nodes.Add(node);
        }
コード例 #6
0
 private void 粘贴视图ToolStripMenuItem1_Click(object sender, EventArgs e)
 {
     try
     {
         if (this.treeView.SelectedNode is FlowProjectNode)
         {
             GraphAbstract data       = null;
             IDataObject   dataObject = Clipboard.GetDataObject();
             if (dataObject.GetDataPresent("Scada.FlowGraphEngine.GraphicsMap.GraphSite.Copy"))
             {
                 data = dataObject.GetData("Scada.FlowGraphEngine.GraphicsMap.GraphSite.Copy") as GraphAbstract;
             }
             if (data != null)
             {
                 FlowProjectNode  selectedNode = this.treeView.SelectedNode as FlowProjectNode;
                 CreateViewDialog dialog       = new CreateViewDialog();
                 if (dialog.ShowDialog(this) == DialogResult.OK)
                 {
                     data.GID = "V_" + GUIDTo16.GuidToLongID();
                     SCADAViewNode node = new SCADAViewNode
                     {
                         Text             = dialog.ViewName,
                         ContextMenuStrip = this.contextMenuView,
                         View             = (WorkForm)this.mediator.CreateWorkForm(dialog.ViewName, (float)dialog.PageWidth, (float)dialog.PageHeight)
                     };
                     node.View.GraphControl.Abstract       = data;
                     node.View.GraphControl.Abstract.Site  = node.View.GraphControl;
                     node.View.GraphControl.BasicLayer     = data.Layers[0];
                     node.View.GraphControl.SaveViewResult = delegate(bool res, string msg) {
                         if (res)
                         {
                             this.LoadTreeViewTemplate();
                         }
                         else
                         {
                             MessageBox.Show(this, msg);
                         }
                     };
                     selectedNode.Nodes.Add(node);
                     selectedNode.Project.GraphList.Add(node.View.GraphControl.Abstract);
                 }
                 Clipboard.Clear();
             }
         }
     }
     catch (Exception exception1)
     {
         MessageBox.Show(exception1.Message);
     }
 }
コード例 #7
0
 private void  除数据源ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         if ((this.treeViewConnections.SelectedNode is ScadaConnectionNode) && (MessageBox.Show(this, "是否要删除选中的数据源?", "删除提示", MessageBoxButtons.OKCancel) == DialogResult.Yes))
         {
             ScadaConnectionNode selectedNode = this.treeViewConnections.SelectedNode as ScadaConnectionNode;
             FlowProjectNode     parent       = this.treeViewConnections.SelectedNode.Parent as FlowProjectNode;
             parent.Nodes.Remove(selectedNode);
             parent.Project.ScadaConnections.Remove(selectedNode.ScadaConnection);
         }
     }
     catch (Exception exception1)
     {
         MessageBox.Show(exception1.Message);
     }
 }
コード例 #8
0
 private void 修改密码ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         if (this.treeView.SelectedNode is FlowProjectNode)
         {
             FlowProjectNode             selectedNode = this.treeView.SelectedNode as FlowProjectNode;
             ProjectUpdatePasswordDialog dialog       = new ProjectUpdatePasswordDialog(selectedNode.Project);
             if (dialog.ShowDialog(this) == DialogResult.OK)
             {
                 selectedNode.Project.Password = dialog.Password;
                 selectedNode.Project.Title    = dialog.ProjectTitle;
                 selectedNode.Text             = dialog.ProjectTitle;
             }
         }
     }
     catch (Exception exception1)
     {
         MessageBox.Show(exception1.Message);
     }
 }
コード例 #9
0
 private void 设为主视图ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         if (this.treeView.SelectedNode is SCADAViewNode)
         {
             FlowProjectNode parent = this.treeView.SelectedNode.Parent as FlowProjectNode;
             for (int i = 0; i < parent.Project.GraphList.Count; i++)
             {
                 parent.Project.GraphList[i].Index = false;
             }
             SCADAViewNode selectedNode = this.treeView.SelectedNode as SCADAViewNode;
             selectedNode.GraphSite.Index = true;
             selectedNode.ForeColor       = Color.Red;
         }
     }
     catch (Exception exception1)
     {
         MessageBox.Show(exception1.Message);
     }
 }
コード例 #10
0
        public void InitTreeConnections(FlowProject project)
        {
            FlowProjectNode node = new FlowProjectNode(project)
            {
                Text             = project.Title,
                Tag              = project,
                ImageIndex       = 0,
                StateImageIndex  = 0,
                ContextMenuStrip = this.contextMenuConnection
            };

            for (int i = 0; i < project.ScadaConnections.Count; i++)
            {
                ScadaConnectionNode node2 = new ScadaConnectionNode(project.ScadaConnections[i])
                {
                    ContextMenuStrip = this.contextMenuConnectionDelete
                };
                node.Nodes.Add(node2);
            }
            this.treeViewConnections.Nodes.Add(node);
        }
コード例 #11
0
 public void DeleteProject()
 {
     if (this.treeView.SelectedNode is FlowProjectNode)
     {
         FlowProjectNode selectedNode = this.treeView.SelectedNode as FlowProjectNode;
         FlowManager.AddLogToMainLog("正在保存工程" + selectedNode.Project.Title + " 到" + selectedNode.Project.FileFullName);
         FlowManager.Save(selectedNode.Project);
         FlowManager.AddLogToMainLog("正在保存工程成功");
         this.treeView.Nodes.Remove(this.treeView.SelectedNode);
         foreach (GraphAbstract @abstract in selectedNode.Project.GraphList)
         {
             for (int k = 0; k < this.mediator.DockPanel.Documents.Count <DockContent>(); k++)
             {
                 if ((this.mediator.DockPanel.Documents[k] is WorkForm) && ((this.mediator.DockPanel.Documents[k] as WorkForm).GraphControl.Abstract == @abstract))
                 {
                     this.mediator.DockPanel.Documents[k].Hide();
                     this.mediator.DockPanel.Documents[k].Dispose();
                 }
             }
         }
         for (int i = 0; i < this.treeViewUser.Nodes.Count; i++)
         {
             if ((this.treeViewUser.Nodes[i].Tag != null) && (((FlowProject)this.treeViewUser.Nodes[i].Tag) == selectedNode.Project))
             {
                 this.treeViewUser.Nodes.Remove(this.treeViewUser.Nodes[i]);
             }
         }
         for (int j = 0; j < this.treeViewConnections.Nodes.Count; j++)
         {
             if ((this.treeViewConnections.Nodes[j].Tag != null) && (((FlowProject)this.treeViewConnections.Nodes[j].Tag) == selectedNode.Project))
             {
                 this.treeViewConnections.Nodes.Remove(this.treeViewConnections.Nodes[j]);
             }
         }
         FlowManager.Projects.Remove(selectedNode.Project);
     }
 }
コード例 #12
0
 private void 添加SyBase数据源ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         if (this.treeViewConnections.SelectedNode is FlowProjectNode)
         {
             FlowProjectNode     selectedNode = this.treeViewConnections.SelectedNode as FlowProjectNode;
             SyBaseConnectionFrm frm          = new SyBaseConnectionFrm();
             if (frm.ShowDialog(this) == DialogResult.OK)
             {
                 ScadaConnectionNode node = new ScadaConnectionNode(frm.Connection)
                 {
                     ContextMenuStrip = this.contextMenuConnectionDelete
                 };
                 selectedNode.Nodes.Add(node);
                 selectedNode.Project.ScadaConnections.Add(frm.Connection);
             }
         }
     }
     catch (Exception exception1)
     {
         MessageBox.Show(exception1.Message);
     }
 }
コード例 #13
0
 private void 编辑数据源ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         if (this.treeViewConnections.SelectedNode is ScadaConnectionNode)
         {
             FlowProjectNode     parent       = this.treeViewConnections.SelectedNode.Parent as FlowProjectNode;
             ScadaConnectionNode selectedNode = this.treeViewConnections.SelectedNode as ScadaConnectionNode;
             if (selectedNode.ScadaConnection.DataBaseType == DataBaseType.SQLServer)
             {
                 SqlServerConnectionFrm frm = new SqlServerConnectionFrm
                 {
                     Connection = (SqlServer_Connection)selectedNode.ScadaConnection
                 };
                 if (frm.ShowDialog(this) == DialogResult.OK)
                 {
                     selectedNode.ScadaConnection = frm.Connection;
                     selectedNode.Text            = frm.Connection.ToString();
                 }
             }
             else if (selectedNode.ScadaConnection.DataBaseType == DataBaseType.Oracle)
             {
                 OracleConnectionFrm frm2 = new OracleConnectionFrm
                 {
                     Connection = (Oracle_Connection)selectedNode.ScadaConnection
                 };
                 if (frm2.ShowDialog(this) == DialogResult.OK)
                 {
                     selectedNode.ScadaConnection = frm2.Connection;
                     selectedNode.Text            = frm2.Connection.ToString();
                 }
             }
             else if (selectedNode.ScadaConnection.DataBaseType == DataBaseType.MySQL)
             {
                 MySqlConnectionFrm frm3 = new MySqlConnectionFrm
                 {
                     Connection = (MySQL_Connection)selectedNode.ScadaConnection
                 };
                 if (frm3.ShowDialog(this) == DialogResult.OK)
                 {
                     selectedNode.ScadaConnection = frm3.Connection;
                     selectedNode.Text            = frm3.Connection.ToString();
                 }
             }
             else if (selectedNode.ScadaConnection.DataBaseType == DataBaseType.SQLite)
             {
                 SQLiteConnectionFrm frm4 = new SQLiteConnectionFrm
                 {
                     Connection = (SQLite_Connection)selectedNode.ScadaConnection
                 };
                 if (frm4.ShowDialog(this) == DialogResult.OK)
                 {
                     selectedNode.ScadaConnection = frm4.Connection;
                     selectedNode.Text            = frm4.Connection.ToString();
                 }
             }
             else if (selectedNode.ScadaConnection.DataBaseType == DataBaseType.SyBase)
             {
                 SyBaseConnectionFrm frm5 = new SyBaseConnectionFrm
                 {
                     Connection = (SyBase_Connection)selectedNode.ScadaConnection
                 };
                 if (frm5.ShowDialog(this) == DialogResult.OK)
                 {
                     selectedNode.ScadaConnection = frm5.Connection;
                     selectedNode.Text            = frm5.Connection.ToString();
                 }
             }
         }
     }
     catch (Exception exception1)
     {
         MessageBox.Show(exception1.Message);
     }
 }