private void LoadStations() { TemporaryValues.stations = dbHelper.GetAllStationsInfoWithDeviceInfo(); if (TemporaryValues.stations != null) { if (TemporaryValues.stations.Count > 0) { ProjectTreeView.BeginUpdate(); // İlk Node seçilir TreeNode node = ProjectTreeView.Nodes[0]; // 2 nolu node'un 'istasyonlar' node u oldugu kabul edilerek devam edilir. if (node.Nodes[1].Nodes != null) { node.Nodes[1].Nodes.Clear(); node.Nodes[1].ContextMenuStrip = contextMenuStrip_Stations; } foreach (Station station in TemporaryValues.stations) { TreeNode node_station = new TreeNode(station.Name); node_station.ContextMenuStrip = contextMenuStrip_Devices; ProjectTreeView.Nodes[0].Nodes[1].Nodes.Add(node_station); AddStationDevicesToTreeView(station.Devices, node_station); } ProjectTreeView.EndUpdate(); } } }
private void ProjectTreeView_DragDrop(object sender, DragEventArgs e) { TreeNode MyNode = (TreeNode)e.Data.GetData(typeof(TreeNode)); TreeView MyTreeView = (TreeView)sender; //得到当前鼠标进入的节点 TreeNode MyTargetNode = MyTreeView.GetNodeAt(ProjectTreeView.PointToClient(new Point(e.X, e.Y))); if (MyTargetNode != null) { TreeNode MyTargetParent = MyTargetNode.Parent; //删除拖放的节点 if (MyNode == MyTargetNode) { return; } MyNode.Remove(); //添加到目标节点 MyTargetNode.Nodes.Add(MyNode); //MyTargetNode.BackColor = Color.White; MyTreeView.SelectedNode = MyTargetNode; } }
private ProjectTreeNode GetFirstVisibleParentNode(ProjectTreeNode projectNode) { if (!IsNodeVisible(projectNode)) { return(projectNode); } var treeViewItem = ProjectTreeView.ModelToItem(projectNode); if (treeViewItem != null) { return(projectNode); } while (projectNode?.Parent != null) { treeViewItem = ProjectTreeView.ModelToItem(projectNode.Parent); if (treeViewItem != null) { return(projectNode.Parent); } projectNode = projectNode.Parent; } return(projectNode); }
private void ProjectTreeView_DragEnter(object sender, DragEventArgs e) { try { object MyData = e.Data.GetData(typeof(TreeNode)); //如果节点有数据,拖放目标允许移动 if (MyData != null) { e.Effect = DragDropEffects.Move; } else { e.Effect = DragDropEffects.None; } TreeView MyTreeView = (TreeView)sender; TreeNode MyNode = MyTreeView.GetNodeAt(ProjectTreeView.PointToClient(new Point(e.X, e.Y))); //if (MyNode != null) //{ //改变进入节点的背景色 // MyNode.BackColor = Color.Blue; // //保存此节点,进入下一个时还原背景色 // MyOldNode = MyNode; //} } catch (SystemException ex) { return; } }
private void ContextMenu_Rename_Click(object sender, EventArgs e) { if (ProjectTreeView.SelectedObject != null) { //ProjectTreeView.EditSubItem(ProjectTreeView.SelectedItem, 0); ProjectTreeView.StartCellEdit(ProjectTreeView.SelectedItem, 0); } }
public void SetSelectedNodes(IEnumerable <ProjectTreeNode> nodes) { using (FlagManager.UseFlag("ManualSelect")) { FlagManager.Set("WaitForManualSelect", true); ProjectTreeView.SelectObjects(nodes.ToList()); } }
private void RebuildNavigation(bool recreate) { using (FlagManager.UseFlag("BuildingNavTree")) { if (ProjectManager.IsProjectOpen) { var selectedNodeIDs = ProjectTreeView.SelectedObjects .OfType <ProjectTreeNode>().Select(x => x.NodeID).ToList(); selectedNodeIDs.RemoveAll(x => string.IsNullOrEmpty(x)); var expandedNodeIDs = ProjectTreeView.ExpandedObjects .OfType <ProjectTreeNode>().Select(x => x.NodeID).ToList(); expandedNodeIDs.RemoveAll(x => string.IsNullOrEmpty(x)); ProjectTreeView.ExpandedObjects = Enumerable.Empty <ProjectTreeNode>(); if (recreate) { ProjectTreeView.ClearObjects(); ProjectManager.RebuildNavigationTree(); ProjectTreeView.AddObjects(ProjectManager.NavigationTreeNodes.ToList()); foreach (ProjectCollectionNode node in ProjectTreeView.Roots) { node.Manager = ProjectManager; ProjectTreeView.Expand(node); } } else { foreach (ProjectTreeNode node in ProjectTreeView.Roots) { ProjectTreeView.RemoveObjects(node.GetChildHierarchy().ToList()); node.InvalidateChildrens(); ProjectTreeView.UpdateObject(node); } } //ProjectTreeView.TreeModel. ExpandNodes(ProjectTreeView.Roots, expandedNodeIDs); if (selectedNodeIDs.Any()) { SetSelectedNodeIDs(selectedNodeIDs); } } else { ProjectTreeView.ClearObjects(); } FilterNavigation(); } }
public ProjectTreeViewItem(ProjectTreeView _ptview) { InitializeComponent(); DataContext = this; ptview = _ptview; RelativeObject = String.Empty; Flags = ProjectTreeViewItem.TYPE_CONST; //PreviewMouseDown += ProjectTreeViewItem_PreviewMouseDown; }
public Interface() { InitializeComponent(); #region ProjectTreeView ProjectTreeView.ExpandAll(); ProjectTreeView.ContextMenu = ProjectTreeViewContext; VistaControls.VistaConstants.SetWindowTheme(ProjectTreeView.Handle, "explorer", null); #endregion }
void DirectoryNode_OnDirectoryNodeRefresh(DirectoryNode node) { if (node is ProjectNode) { currentTree = node.TreeView as ProjectTreeView; } UpdateNodeStatus(node); }
private void ProjectTreeView_SelectedIndexChanged(object sender, EventArgs e) { if (FlagManager.IsSet("PreventSelection") && !FlagManager.IsSet("ItemSelectionChanged")) { using (FlagManager.UseFlag("ItemSelectionChanged")) ProjectTreeView.SelectObjects(SelectedItemCache); } }
public PluginUI(PluginMain plugin, FDMenus menus, FileActions fileActions, ProjectActions projectActions) { this.plugin = plugin; this.menus = menus; this.Tag = "Project"; this.Text = "Project Explorer"; #region Build TreeView menu = new ProjectContextMenu(menus); menu.Rename.Click += new EventHandler(RenameNode); treeBar = new TreeBar(menus, menu); treeBar.Dock = DockStyle.Top; treeBar.Visible = false; tree = new ProjectTreeView(); tree.Visible = false; tree.Dock = DockStyle.Fill; tree.ImageIndex = 0; tree.ImageList = Icons.ImageList; tree.LabelEdit = true; tree.SelectedImageIndex = 0; tree.ShowRootLines = false; tree.HideSelection = false; tree.ContextMenu = menu; tree.DoubleClick += new EventHandler(tree_DoubleClick); tree.AfterLabelEdit += new NodeLabelEditEventHandler(tree_AfterLabelEdit); tree.BeforeLabelEdit += new NodeLabelEditEventHandler(tree_BeforeLabelEdit); tree.AfterSelect += new TreeViewEventHandler(tree_AfterSelect); this.Controls.Add(tree); this.Controls.Add(treeBar); #endregion #region Instructions LinkLabel link = new LinkLabel(); link.Text = "Create a new project\nor\nOpen an existing project"; link.Links.Add(0, 20, "create"); link.Links.Add(24, 24, "open"); link.LinkClicked += new LinkLabelLinkClickedEventHandler(link_LinkClicked); link.TextAlign = ContentAlignment.MiddleCenter; link.Dock = DockStyle.Fill; link.ContextMenu = new ContextMenu(); this.Controls.Add(link); #endregion // we care about some of these events fileActions.FileCreated += new FileNameHandler(NewFileCreated); fileActions.ProjectModified += new ProjectModifiedHandler(ProjectModified); projectActions.ProjectModified += new ProjectModifiedHandler(ProjectModified); }
/// <summary> /// 写入工程树 /// </summary> /// <param name="ptview">工程资源管理器</param> /// <param name="option">选项</param> static private void Write(ProjectTreeView ptview, int option) { XElement xele = new XElement("ProjectTreeView"); ptview.Save(xele); string xtext = xele.ToString(); edata.Add(0xfa); Write32(xtext); }
private void ProjectTreeView_MouseDoubleClick(object sender, MouseEventArgs e) { TreeNode SelectedNode = ProjectTreeView.GetNodeAt(e.Location); imsBaseNode tempNode = ((imsBaseNode)(SelectedNode.Tag)); if (tempNode != null) { NodePropertyGrid.SelectedObject = ((imsBaseNode)(SelectedNode.Tag)); } }
public void ProcessStartNewSession() { var serviceLocator = ServiceLocator.GetActive(); var view = new ProjectTreeView(); serviceLocator.SessionState.ProjectTreeView = view; serviceLocator.SessionState.TreePanel.Children.Add(view); serviceLocator.ProjectController.ProcessOpenProject(); }
private void RefreshElementName(PartElement element) { var elemNode = FindElementNode(element); if (elemNode != null) { elemNode.Text = element.Name; ProjectTreeView.RefreshObject(elemNode); } }
public void RefreshAllNavigation() { IsRefreshingAll = true; ExecuteOnThread(() => { //if (ProjectTreeView.) ProjectTreeView.Refresh(); IsRefreshingAll = false; }); }
private void ProjectTreeView_CellClick(object sender, CellClickEventArgs e) { if (e.Column == olvColumnVisible) { e.Handled = true; if (e.Model is ProjectElementNode elementNode) { var modelExt = elementNode.Element.GetExtension <ModelElementExtension>(); if (modelExt != null) { //Debug.WriteLine($"ProjectTreeView_CellClick {elementNode.Element.Name} IsHidden {modelExt.IsHidden} -> {!modelExt.IsHidden}"); modelExt.IsHidden = !modelExt.IsHidden; ProjectTreeView.RefreshObject(elementNode); if (elementNode.Parent is ElementGroupNode) { ProjectTreeView.RefreshObject(elementNode.Parent); } } } else if (e.Model is ElementCollectionNode elementColNode) { var femaleStudExt = elementColNode.Element.GetExtension <FemaleStudModelExtension>(); if (femaleStudExt != null) { femaleStudExt.ShowAlternateModels = !femaleStudExt.ShowAlternateModels; ProjectTreeView.RefreshObject(elementColNode.Parent); } } else if (e.Model is ProjectCollectionNode collectionNode) { if (collectionNode.Collection == CurrentProject.Surfaces) { ProjectManager.ShowPartModels = !ProjectManager.ShowPartModels; } else if (collectionNode.Collection == CurrentProject.Collisions) { ProjectManager.ShowCollisions = !ProjectManager.ShowCollisions; } else if (collectionNode.Collection == CurrentProject.Connections) { ProjectManager.ShowConnections = !ProjectManager.ShowConnections; } ProjectTreeView.RefreshObject(collectionNode); } else if (e.Model is ElementGroupNode groupNode && groupNode.SupportsVisibility()) { //groupNode.ToggleVisibility(); //ProjectTreeView.RefreshObject(groupNode); } } }
public MainEditorWindow() { InitializeComponent(); this.MouseClick += Window_MouseClick; _project = new Project(); _projectTreeView = new ProjectTreeView(ref this.treeView1); _osreWrapper = new OSREWrapper(this.logWindow); _osreWrapper.InitCSharpModules(); }
private void ExpandNodes(IEnumerable nodes, List <string> nodeIDs) { foreach (ProjectTreeNode node in nodes) { if (nodeIDs.Contains(node.NodeID)) { ProjectTreeView.Expand(node); ExpandNodes(node.Nodes, nodeIDs); } } }
private void SelectElementNodeDelayed(PartElement element) { BeginInvoke((Action)(() => { var elementNode = FindElementNode(element); if (elementNode.Parent != null) { ProjectTreeView.Expand(elementNode.Parent); } using (FlagManager.UseFlag("ManualSelect")) ProjectTreeView.SelectObject(elementNode); })); }
/// <summary> /// Handles the incoming events /// </summary> public void HandleEvent(Object sender, NotifyEvent e, HandlingPriority prority) { switch (e.Type) { case EventType.Command: string cmd = (e as DataEvent).Action; if (cmd == "ProjectManager.TreeSelectionChanged") { __ptv = (ProjectTreeView)sender; BuildContextMenu(sender); } break; } }
private void ProjectTreeView_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { var hit = ProjectTreeView.OlvHitTest(e.X, e.Y); if (hit.Column == olvColumnVisible) { FlagManager.Set("PreventSelection"); SelectedItemCache = new List <ProjectTreeNode>(); SelectedItemCache.AddRange(ProjectTreeView.SelectedObjects.OfType <ProjectTreeNode>()); } } }
/// <summary> /// The class constructor. /// </summary> public MainEditorWindow() { InitializeComponent(); this.panel3d.MouseClick += Window_MouseClick; this.panel3d.MouseMove += Window_MouseMove; this.MouseWheel += Window_MouseWheel; this.Resize += OnResize; _project = new Project(); _projectTreeView = new ProjectTreeView(ref this.treeView1); _osreWrapper = new OSREWrapper(this.logWindow); _osreWrapper.InitCSharpModules(); }
public void RefreshNavigationNode(ProjectTreeNode node) { if (IsRefreshingAll) { return; } ExecuteOnThread(() => { if (IsRefreshingAll) { return; } ProjectTreeView.RefreshObject(node); }); }
private void ProjectTreeView_CellClick(object sender, CellClickEventArgs e) { if (e.Column == olvColumnVisible) { e.Handled = true; if (e.Model is ProjectTreeNode treeNode) { if (treeNode.CanToggleVisibility()) { treeNode.ToggleVisibility(); ProjectTreeView.RefreshObject(treeNode); } } } }
protected override void OnProjectChanged() { base.OnProjectChanged(); InitializeViewComboBox(); RebuildNavigation(true); if (CurrentProject != null) { if (CurrentProject.Surfaces.Count == 1) { var surfaceNode = FindElementNode(CurrentProject.Surfaces[0]); if (surfaceNode != null) { ProjectTreeView.Expand(surfaceNode); } } } }
public void Constructor_Test() { ProjectTreeView projectTreeView = new ProjectTreeView(); Assert.Count(2, projectTreeView.NodeControls); NodeIcon nodeIcon = (NodeIcon)projectTreeView.NodeControls[0]; Assert.AreEqual("Image", nodeIcon.DataPropertyName); Assert.AreEqual(1, nodeIcon.LeftMargin); Assert.IsNull(nodeIcon.ParentColumn); NodeTextBox nodeTextBox = (NodeTextBox)projectTreeView.NodeControls[1]; Assert.AreEqual("Text", nodeTextBox.DataPropertyName); Assert.IsTrue(nodeTextBox.IncrementalSearchEnabled); Assert.IsFalse(nodeTextBox.EditEnabled); Assert.AreEqual(3, nodeTextBox.LeftMargin); Assert.IsNull(nodeTextBox.ParentColumn); }
private static void AddSCMainItem(ProjectTreeView tree) { if (scItem == null) { scItem = new ToolStripMenuItem(); scItem.Text = TextHelper.GetString("Label.SourceControl"); scItem.Image = PluginBase.MainForm.FindImage("480"); } // add in same group as Open/Execute/Shell menu... Boolean isProjectNode = tree.SelectedNodes.Count > 0 && tree.SelectedNodes[0].GetType().ToString().EndsWithOrdinal("ProjectNode"); Int32 index = GetNthSeparatorIndex(tree.ContextMenuStrip, isProjectNode ? 2 : 1); if (index >= 0) { tree.ContextMenuStrip.Items.Insert(index, scItem); } else { tree.ContextMenuStrip.Items.Add(scItem); } }
private void ProjectTreeView_MouseDown(object sender, MouseEventArgs e) { if (e.Clicks == 2) { ProjectTreeViewDoubleClicked = true; } else { ProjectTreeViewDoubleClicked = false; } // 右クリックでもノードを選択させる if (e.Button == MouseButtons.Right) { var node = ProjectTreeView.GetNodeAt(e.X, e.Y); ProjectTreeView.SelectedNode = node; var mynode = node as MyTreeNode; if (mynode != null) { mynode.CheckPastable(); } } }