/// <summary> /// 专案节点选择完成后触发 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void treeV_AfterSelect(object sender, TreeViewEventArgs e) { if (e.Node.ImageIndex == 0 || e.Node.ImageIndex == 1) { #region 文件夹节点 //panelPlot.Visible = false; //LView2.Visible = true; //LView2.Items.Clear(); //LView2.Groups.Clear(); LoadPlotItem(e.Node, null); #endregion } else { #region 专案 //panelPlot.Visible = true; //LView2.Visible = false; listView1.Items.Clear(); OpenPlot sPlot = (OpenPlot)e.Node.Tag; #region 加载专案的展示信息 if (sPlot.Lines != null && sPlot.Lines.Count > 0) { for (int i = 0; i < sPlot.Lines.Count; i++) { LoadPlotWaterLineItem(sPlot.Lines[i]); } } #endregion #endregion } }
/// <summary> /// 新建专案 /// 专案就是可以创建生产线的地方 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void MenuGroupPlotNew_Click(object sender, EventArgs e) { if (treeV.SelectedNode != null) { OpenPlot sPlot = OpenPlot.CreatePlot(); sPlot.Path = treeV.SelectedNode.Tag.ToString(); FrmPlotInfo sFrmPlotInfo = new FrmPlotInfo(sPlot, true); if (sFrmPlotInfo.ShowDialog() == DialogResult.OK) { string sFileName = treeV.SelectedNode.Tag.ToString() + "\\" + sPlot.Name + ".opp"; //保存专案到本地文件 if (CrawlServer.SaveAs(sFileName, sPlot)) { TreeNode sNode = new TreeNode(sPlot.Name, 2, 2); sNode.Tag = sPlot; //在给专案树Tag赋值完,将专案添加到缓冲池 CrawlServer.AddPlot2Pool(sPlot); treeV.SelectedNode.Nodes.Add(sNode); //专案树字典 mTreeNodeDic[sFileName] = sNode; treeV.SelectedNode = sNode; } } } }
/// <summary> /// 添加网页生产线 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void MenuPlotLine添加网页生产线_Click(object sender, EventArgs e) { if (treeV.SelectedNode != null && treeV.SelectedNode.ImageIndex == 2) { OpenPlot sPlot = (OpenPlot)treeV.SelectedNode.Tag; PlotWaterLine sPlotLine = sPlot.CreateWaterLine(false, "网页生产线"); FrmPlotWaterLineGuide sFrmPlotWaterLineGuide = new FrmPlotWaterLineGuide(sPlotLine); if (sFrmPlotWaterLineGuide.ShowDialog() == DialogResult.OK) { sPlotLine.Plot = sPlot; LoadPlotWaterLineItem(sPlotLine); CrawlServer.Save(sPlot); } else { //sPlot.Remove(sPlotLine); } } }
/// <summary> /// 加载专案文件 /// </summary> /// <param name="pPath"></param> /// <param name="pNode"></param> /// <param name="pNodeDic"></param> public void LoadFile(string pPath, TreeNode pNode, Dictionary <string, TreeNode> pNodeDic) { string[] sFiles = DirFileHelper.GetFileNames(pPath); int k = pPath.Length + 1; if (sFiles != null) { for (int i = 0; i < sFiles.Length; i++) { OpenPlot sPlot = CrawlServer.Open(sFiles[i]); if (sPlot == null) { continue; } TreeNode sNode = new TreeNode(sPlot.Name, 2, 2); sNode.Tag = sPlot; CrawlServer.AddPlot2Pool(sPlot); pNodeDic[sFiles[i]] = sNode; pNode.Nodes.Add(sNode); } } }
/// <summary> /// 在组上,右键,获取列表添加专案 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void treeV_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { TreeNode sNode = treeV.GetNodeAt(e.X, e.Y); if (sNode != null) { treeV.SelectedNode = sNode; if (sNode.ImageIndex == 2) { OpenPlot sOpenPlot = (OpenPlot)sNode.Tag; //MenuPlotDelete.Enabled = !CustomBaseServer.CustomPlotDic.ContainsKey(sOpenPlot.Name); //MenuPlot.Show(treeV, e.X, e.Y); } else { MenuGroupFloderDelete.Enabled = (sNode.ImageIndex == 1 && sNode.Text == "关键专案"); MenuPlotGroup.Show(treeV, e.X, e.Y); } } } }
/// <summary> /// 加载专案列表 /// </summary> /// <param name="pNode"></param> private void LoadPlotItem(TreeNode pNode, ListViewGroup pGroup) { if (pNode.ImageIndex == 2) { OpenPlot sPlot = (OpenPlot)pNode.Tag; ListViewItem sItem = new ListViewItem(sPlot.Name, 2); sItem.SubItems.Add(sPlot.HomePage); sItem.SubItems.Add(sPlot.CreateTime.ToString("yyyy-MM-dd HH:mm:ss")); sItem.SubItems.Add(sPlot.Creator); sItem.SubItems.Add(sPlot.Info); sItem.Tag = sPlot; //LView2.Items.Add(sItem); sItem.Group = pGroup; } else { ListViewGroup sListViewGroup = new ListViewGroup(pNode.FullPath); //LView2.Groups.Add(sListViewGroup); for (int i = 0; i < pNode.Nodes.Count; i++) { LoadPlotItem(pNode.Nodes[i], sListViewGroup); } } }
public FrmPlotInfo(OpenPlot pPlot, bool pNew) { InitializeComponent(); mPlot = pPlot; mIsNew = pNew; }