예제 #1
0
 public TreeNodeMouseClickEventParams()
 {
     mTreeView = null;
     mContain = null;
     mX = -1;
     mY = -1;
 }
예제 #2
0
 /// <summary>
 /// Constructor</summary>
 /// <param name="treeView">Data context of ITreeView to apply a filter</param>
 /// <param name="filterFunc">Callback to determine if an item in the tree is filtered in (return true) or out</param>
 public FilteredTreeView(ITreeView treeView, Predicate<object> filterFunc)
 {
     m_treeView = treeView;
     m_itemView = treeView.As<IItemView>();
     if (filterFunc == null)
         throw new ArgumentNullException("filterFunc cannot be null");
     m_filterFunc = filterFunc;
 }
예제 #3
0
 public FileTreeViewWindowContent(ITreeView treeView)
 {
     this.treeView = treeView;
     var control = treeView.UIObject as Control;
     Debug.Assert(control != null);
     if (control != null)
         control.Padding = new Thickness(0, 2, 0, 0);
 }
예제 #4
0
        /// <summary>
        /// Constructs a SceneGraphBuilder that builds only the specified type of
        /// IRenderObjects and uses the given ITreeView to find children</summary>
        /// <param name="type">The render object type to use</param>
        /// <param name="treeView">Scene's tree view</param>
        public SceneGraphBuilder(Type type, ITreeView treeView)
        {
            if (!typeof(IRenderObject).IsAssignableFrom(type))
                throw new InvalidOperationException("Must be an IRenderObject");

            m_treeView = treeView;
            m_type = type;
        }
		/// <summary>
		/// Constructor
		/// </summary>
		/// <param name="text">Text to classify</param>
		/// <param name="treeView">Treeview</param>
		/// <param name="node">Node to classify</param>
		/// <param name="isToolTip">true if the content will be shown in a tooltip</param>
		/// <param name="colorize">true if it should be colorized</param>
		/// <param name="colors">Default colors or null. It doesn't have to be sorted and elements can overlap. The colors
		/// must be <see cref="IClassificationType"/>s or <see cref="TextColor"/>s</param>
		public TreeViewNodeClassifierContext(string text, ITreeView treeView, TreeNodeData node, bool isToolTip, bool colorize, IReadOnlyCollection<SpanData<object>> colors = null)
			: base(text, string.Empty, colorize, colors) {
			if (treeView == null)
				throw new ArgumentNullException(nameof(treeView));
			if (node == null)
				throw new ArgumentNullException(nameof(node));
			TreeView = treeView;
			Node = node;
			IsToolTip = isToolTip;
		}
예제 #6
0
 /// <summary>
 /// Indicates whether two ITreeView instances are equal</summary>
 /// <param name="first">First ITreeView to compare</param>
 /// <param name="second">Second ITreeView to compare</param>
 /// <returns>True iff ITreeView instances are equal</returns>
 public static bool Equals(ITreeView first, ITreeView second)
 {
     FilteredTreeView f1 = first.As<FilteredTreeView>();
     if (f1 != null)
         first = f1.m_treeView;
     FilteredTreeView f2 = second.As<FilteredTreeView>();
     if (f2 != null)
         second = f2.m_treeView;
     return first == second;
 }
예제 #7
0
 public ProjectBrowserService(IServiceProvider services, ITreeView treeView)
 {
     this.Services = services;
     this.tree = treeView;
     this.mpitemToDesigner = new Dictionary<object, TreeNodeDesigner>();
     this.tree.AfterSelect += tree_AfterSelect;
     this.tree.DragEnter += tree_DragEnter;
     this.tree.DragOver += tree_DragOver;
     this.tree.DragDrop += tree_DragDrop;
     this.tree.DragLeave += tree_DragLeave;
     this.tree.MouseWheel += tree_MouseWheel;
 }
예제 #8
0
        private void TraverseVisible(ITreeView iTreeView, Action<MyTreeViewItem> action)
        {
            for (int i = 0; i < iTreeView.GetItemCount(); i++)
            {
                var item = iTreeView.GetItem(i);

                if (item.Visible)
                {
                    action(item);
                    if (item.IsExpanded)
                    {
                        TraverseVisible(item, action);
                    }
                }
            }
        }
        ///<summary>
        /// Constrcutor for the <see cref="StaticDataEditorManager"/>
        ///</summary>
        ///<param name="staticDataEditor"></param>
        ///<param name="controlFactory"></param>
        public StaticDataEditorManager(IStaticDataEditor staticDataEditor, IControlFactory controlFactory)
        {
            _staticDataEditor = staticDataEditor;
            this._controlFactory = controlFactory;
            _items = new Dictionary<string, IClassDef>();
            _treeView = _controlFactory.CreateTreeView("TreeView");
            _treeView.Width = 200;
            _gridControl = _controlFactory.CreateEditableGridControl();
            BorderLayoutManager layoutManager = _controlFactory.CreateBorderLayoutManager(_staticDataEditor);
            layoutManager.AddControl(_gridControl, BorderLayoutManager.Position.Centre);
            layoutManager.AddControl(_treeView, BorderLayoutManager.Position.West);
            _treeView.AfterSelect += ((sender, e) => SelectItem(e.Node.Text));
            _treeView.BeforeSelect += _treeView_OnBeforeSelect;
            _gridControl.Enabled = false;
            _gridControl.FilterControl.Visible = false;

        }
예제 #10
0
 private MyTreeViewItem NextVisible(ITreeView iTreeView, MyTreeViewItem focused)
 {
     bool found = false;
     TraverseVisible(m_body, a =>
     {
         if (a == focused)
         {
             found = true;
         }
         else if (found)
         {
             focused = a;
             found = false;
         }
     }
     );
     return focused;
 }
        private void SetMocks()
        {
            Moq.Mock<ICategoryPropertyPresenter> mockCategoryProperty = new Moq.Mock<ICategoryPropertyPresenter>();
            Moq.Mock<IMultiView> mockMultiView = new Moq.Mock<IMultiView>();
            Moq.Mock<ITreeView> mockTreeView = new Moq.Mock<ITreeView>();

            mockCategoryProperty.SetupAllProperties();
            mockMultiView.SetupAllProperties();
            mockTreeView.SetupAllProperties();

            MockCategoryProperty = mockCategoryProperty.Object;
            MockMultiView = mockMultiView.Object;
            MockTreeView = mockTreeView.Object;

            MockCategoryProperty.ErrorLabel = new Label();
            MockCategoryProperty.NameTextBox = new TextBox();
            MockCategoryProperty.DescriptionTextBox = new TextBox();
            MockCategoryProperty.NewSerie = new Button();
            MockCategoryProperty.NewCategory = new Button();
            MockCategoryProperty.Cancel = new Button();
            MockCategoryProperty.Delete = new Button();
            MockCategoryProperty.Update = new Button();

            MockMultiView.MultiViewCategory = new MultiView();
            MockMultiView.MultiViewFigur = new MultiView();
            MockMultiView.MultiViewSerie = new MultiView();
            MockMultiView.ViewCategoryProperty = new View();
            MockMultiView.ViewFigurProperty = new View();
            MockMultiView.ViewFigurStore = new View();
            MockMultiView.ViewSerieProperty = new View();
            MockMultiView.ViewSerieStore = new View();
            MockMultiView.MultiViewCategory.Views.Add(MockMultiView.ViewCategoryProperty);
            MockMultiView.MultiViewSerie.Views.Add(MockMultiView.ViewSerieProperty);
            MockMultiView.MultiViewSerie.Views.Add(MockMultiView.ViewSerieStore);
            MockMultiView.MultiViewFigur.Views.Add(MockMultiView.ViewFigurProperty);
            MockMultiView.MultiViewFigur.Views.Add(MockMultiView.ViewFigurStore);

            MockTreeView.Menu = new Menu();
            MockTreeView.OverviewTreeView = new TreeView();
            MockTreeView.Menu.Items.Add(new MenuItem("Eigenschaft", "1"));
            MockTreeView.Menu.Items.Add(new MenuItem("Lager", "2"));
        }
예제 #12
0
		static IEnumerable<Tuple<int, TreeNodeData>> GetNodes(ITreeView treeView, IEnumerable<TreeNodeData> nodes) {
			var hash = new HashSet<TreeNodeData>(nodes);
			var stack = new Stack<State>();
			stack.Push(new State(treeView.Root, 0));
			while (stack.Count > 0) {
				var state = stack.Pop();
				if (state.Index >= state.Nodes.Count)
					continue;
				var child = state.Nodes[state.Index++];
				if (hash.Contains(child.Data))
					yield return Tuple.Create(state.Level, child.Data);
				stack.Push(state);
				stack.Push(new State(child, state.Level + 1));
			}
		}
		public AppSettingsTreeViewNodeClassifierContext(SearchMatcher searchMatcher, string text, ITreeView treeView, TreeNodeData node, bool isToolTip, bool colorize, IReadOnlyCollection<SpanData<object>> colors = null)
			: base(text, treeView, node, isToolTip, colorize, colors) {
			if (searchMatcher == null)
				throw new ArgumentNullException(nameof(searchMatcher));
			SearchMatcher = searchMatcher;
		}
예제 #14
0
			public GuidObjectsProvider(ITreeView treeView) {
				this.treeView = treeView;
			}
예제 #15
0
		AnalyzerService(IWpfCommandService wpfCommandService, IDocumentTabService documentTabService, ITreeViewService treeViewService, IMenuService menuService, IAnalyzerSettings analyzerSettings, IDotNetImageService dotNetImageService, IDecompilerService decompilerService, ITreeViewNodeTextElementProvider treeViewNodeTextElementProvider) {
			this.documentTabService = documentTabService;

			context = new AnalyzerTreeNodeDataContext {
				DotNetImageService = dotNetImageService,
				Decompiler = decompilerService.Decompiler,
				TreeViewNodeTextElementProvider = treeViewNodeTextElementProvider,
				DocumentService = documentTabService.DocumentTreeView.DocumentService,
				ShowToken = analyzerSettings.ShowToken,
				SingleClickExpandsChildren = analyzerSettings.SingleClickExpandsChildren,
				SyntaxHighlight = analyzerSettings.SyntaxHighlight,
				UseNewRenderer = analyzerSettings.UseNewRenderer,
				AnalyzerService = this,
			};

			var options = new TreeViewOptions {
				CanDragAndDrop = false,
				TreeViewListener = this,
			};
			TreeView = treeViewService.Create(ANALYZER_TREEVIEW_GUID, options);
			context.TreeView = TreeView;

			documentTabService.DocumentTreeView.DocumentService.CollectionChanged += DocumentService_CollectionChanged;
			documentTabService.DocumentModified += DocumentTabService_FileModified;
			decompilerService.DecompilerChanged += DecompilerService_DecompilerChanged;
			analyzerSettings.PropertyChanged += AnalyzerSettings_PropertyChanged;

			menuService.InitializeContextMenu(TreeView.UIObject, new Guid(MenuConstants.GUIDOBJ_ANALYZER_TREEVIEW_GUID), new GuidObjectsProvider(TreeView));
			wpfCommandService.Add(ControlConstants.GUID_ANALYZER_TREEVIEW, TreeView.UIObject);
			var cmds = wpfCommandService.GetCommands(ControlConstants.GUID_ANALYZER_TREEVIEW);
			var command = new RelayCommand(a => ActivateNode());
			cmds.Add(command, ModifierKeys.Control, Key.Enter);
			cmds.Add(command, ModifierKeys.Shift, Key.Enter);
		}
예제 #16
0
 public ProjectBrowserService(IServiceProvider services, ITabPage tabPage, ITreeView treeView)
     : base(treeView, services)
 {
     this.tabPage = tabPage;
     this.tree    = treeView;
 }
 /// <summary>
 /// Constructs the TreeViewController. 
 /// </summary>
 /// <param name="treeView">The <see cref="ITreeView"/> to control/map to</param>
 public TreeViewController(ITreeView treeView)
 {
     _preventSelectionChanged = false;
     ObjectNodes = new Dictionary<IBusinessObject, NodeState>(20);
     RelationshipNodes = new Dictionary<IRelationship, NodeState>(5);
     ChildCollectionNodes = new Dictionary<IBusinessObjectCollection, NodeState>(5);
     TreeView = treeView;
     TreeView.HideSelection = false;
     TreeView.AfterSelect += TreeView_AfterSelect;
     TreeView.BeforeExpand += TreeView_BeforeExpand;
     _levelsToDisplay = -1;
 }
 void ITreeViewItem.SetTools(ITreeView TV)
 {
     // there is not tools needed at this stage
 }
예제 #19
0
 /// <summary>
 /// Constructor</summary>
 /// <param name="treeView">Data context of ITreeView to apply a filter</param>
 /// <param name="filterFunc">Callback to determine if an item in the tree is filtered in (return true) or out</param>
 public FilteredTreeView(ITreeView treeView, Predicate <object> filterFunc)
 {
     m_treeView   = treeView;
     m_filterFunc = filterFunc;
 }
예제 #20
0
        public FileTreeView(bool isGlobal, IFileTreeNodeFilter filter, IThemeManager themeManager, ITreeViewManager treeViewManager, ILanguageManager languageManager, IFileManager fileManager, IFileTreeViewSettings fileTreeViewSettings, IMenuManager menuManager, IDotNetImageManager dotNetImageManager, IWpfCommandManager wpfCommandManager, IResourceNodeFactory resourceNodeFactory, IAppSettings appSettings, [ImportMany] IEnumerable <Lazy <IDnSpyFileNodeCreator, IDnSpyFileNodeCreatorMetadata> > dnSpyFileNodeCreators, [ImportMany] IEnumerable <Lazy <IFileTreeNodeDataFinder, IFileTreeNodeDataFinderMetadata> > mefFinders)
        {
            this.languageManager      = languageManager;
            this.themeManager         = themeManager;
            this.fileTreeViewSettings = fileTreeViewSettings;
            this.appSettings          = appSettings;

            this.context = new FileTreeNodeDataContext(this, resourceNodeFactory, filter ?? FilterNothingFileTreeNodeFilter.Instance)
            {
                SyntaxHighlight            = fileTreeViewSettings.SyntaxHighlight,
                SingleClickExpandsChildren = fileTreeViewSettings.SingleClickExpandsTreeViewChildren,
                ShowAssemblyVersion        = fileTreeViewSettings.ShowAssemblyVersion,
                ShowAssemblyPublicKeyToken = fileTreeViewSettings.ShowAssemblyPublicKeyToken,
                ShowToken            = fileTreeViewSettings.ShowToken,
                Language             = languageManager.SelectedLanguage,
                UseNewRenderer       = appSettings.UseNewRenderer_FileTreeView,
                DeserializeResources = fileTreeViewSettings.DeserializeResources,
                CanDragAndDrop       = isGlobal,
            };

            var options = new TreeViewOptions {
                AllowDrop          = true,
                IsVirtualizing     = true,
                VirtualizationMode = VirtualizationMode.Recycling,
                TreeViewListener   = this,
                RootNode           = new RootNode {
                    DropNodes = OnDropNodes,
                    DropFiles = OnDropFiles,
                },
            };

            this.fileTreeNodeGroups    = new FileTreeNodeGroups();
            this.dnSpyFileNodeCreators = dnSpyFileNodeCreators.OrderBy(a => a.Metadata.Order).ToArray();
            this.treeView           = treeViewManager.Create(new Guid(TVConstants.FILE_TREEVIEW_GUID), options);
            this.fileManager        = fileManager;
            this.dotNetImageManager = dotNetImageManager;
            var dispatcher = Dispatcher.CurrentDispatcher;

            this.fileManager.SetDispatcher(a => {
                if (!dispatcher.HasShutdownFinished && !dispatcher.HasShutdownStarted)
                {
                    bool callInvoke;
                    lock (actionsToCall) {
                        actionsToCall.Add(a);
                        callInvoke = actionsToCall.Count == 1;
                    }
                    if (callInvoke)
                    {
                        // Always notify with a delay because adding stuff to the tree view could
                        // cause some problems with the tree view or the list box it derives from.
                        dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(CallActions));
                    }
                }
            });
            fileManager.CollectionChanged        += FileManager_CollectionChanged;
            languageManager.LanguageChanged      += LanguageManager_LanguageChanged;
            themeManager.ThemeChanged            += ThemeManager_ThemeChanged;
            fileTreeViewSettings.PropertyChanged += FileTreeViewSettings_PropertyChanged;
            appSettings.PropertyChanged          += AppSettings_PropertyChanged;

            this.wpfCommands = wpfCommandManager.GetCommands(CommandConstants.GUID_FILE_TREEVIEW);

            if (isGlobal)
            {
                menuManager.InitializeContextMenu((FrameworkElement)this.treeView.UIObject, new Guid(MenuConstants.GUIDOBJ_FILES_TREEVIEW_GUID), new GuidObjectsCreator(this.treeView));
                wpfCommandManager.Add(CommandConstants.GUID_FILE_TREEVIEW, (UIElement)treeView.UIObject);
            }

            this.nodeFinders = mefFinders.OrderBy(a => a.Metadata.Order).ToArray();
            InitializeFileTreeNodeGroups();
        }
예제 #21
0
 public GuidObjectsCreator(ITreeView treeView)
 {
     this.treeView = treeView;
 }
예제 #22
0
 void ITreeViewItem.SetTools(ITreeView TV)
 {
     mTreeView    = TV;
     mContextMenu = new ContextMenu();
     AddItemNodeBasicManipulationsOptions(mContextMenu, allowSave: false, allowCopy: false, allowCut: false, allowDuplicate: false, allowDelete: true);
 }
예제 #23
0
 public CommandHistory(ITreeView tree) => this.tree = tree;
 public TreeViewPresenter(ITreeView treeView)
 {
     m_TreeView = treeView;
 }
 public static MvcHtmlString TreeView(this HtmlHelper helper, ITreeView treeView, string controller)
 {
     return(DrawTree(treeView, controller));
 }
예제 #26
0
 public IProjectBrowserService CreateProjectBrowserService(ITreeView treeView)
 {
     return(new ProjectBrowserService(services, treeView));
 }
예제 #27
0
 public DocumentTreeViewWindowContent(ITreeView treeView)
 {
     this.treeView             = treeView;
     treeView.UIObject.Padding = new Thickness(0, 2, 0, 0);
 }
예제 #28
0
 void ITreeViewItem.SetTools(ITreeView TV)
 {
     mTreeView    = TV;
     mContextMenu = new ContextMenu();
     AddSourceControlOptions(mContextMenu, false, false);
 }
예제 #29
0
 public void add(ITreeView objTreeView)
 {
     view = objTreeView;
     dataManager.InitializeDataSet(Application.UserAppDataPath);
     //dataManager.GetNodeParent("{C9CE6368-C9FD-4878-A9B1-AC197404C1BC}{1}{B0}");
 }
 public AppSettingsTreeViewNodeClassifierContext(SearchMatcher searchMatcher, string text, ITreeView treeView, TreeNodeData node, bool isToolTip, bool colorize, IReadOnlyCollection <SpanData <object> > colors = null)
     : base(text, treeView, node, isToolTip, colorize, colors) => SearchMatcher = searchMatcher ?? throw new ArgumentNullException(nameof(searchMatcher));
예제 #31
0
 public void _setTreeView(ITreeView nTreeView)
 {
     mTreeView = nTreeView;
 }
예제 #32
0
 /// <summary>
 /// Constructor</summary>
 /// <param name="treeView">Data context of ITreeView to apply a filter</param>
 /// <param name="filterFunc">Callback to determine if an item in the tree is filtered in (return true) or out</param>
 public FilteredTreeView(ITreeView treeView, Predicate<object> filterFunc)
 {
     m_treeView = treeView;
     m_filterFunc = filterFunc;
 }
예제 #33
0
 void ITreeViewItem.SetTools(ITreeView TV)
 {
     TV.AddToolbarTool("@Save_16x16.png", "Save", Save);
 }
예제 #34
0
        public static bool FilterTree(ITreeView treeView, Predicate<MyTreeViewItem> itemFilter)
        {
            int visibleCount = 0;
            for (int i = 0; i < treeView.GetItemCount(); i++)
            {
                var item = treeView.GetItem(i);

                if (FilterTree(item, itemFilter) || (item.GetItemCount() == 0 && itemFilter(item)))
                {
                    item.Visible = true;
                    ++visibleCount;
                }
                else
                {
                    item.Visible = false;
                }
            }
            return visibleCount > 0;
        }
예제 #35
0
		void ITreeViewListener.OnEvent(ITreeView treeView, TreeViewListenerEventArgs e) {
			if (e.Event == TreeViewListenerEvent.NodeCreated) {
				Debug.Assert(context != null);
				var node = (ITreeNode)e.Argument;
				var d = node.Data as AnalyzerTreeNodeData;
				if (d != null)
					d.Context = context;
				return;
			}
		}
        /// <summary>
        /// 树形控件数据绑定。
        /// </summary>
        /// <param name="treeView">treeView。</param>
        /// <param name="listControlsDataSource">数据源接口。</param>
        public void ListControlsDataSourceBind(ITreeView treeView, IListControlsData listControlsDataSource)
        {
            if (treeView != null && listControlsDataSource != null)
            {
                treeView.DataSource = listControlsDataSource.DataSource;
                treeView.IDField = listControlsDataSource.DataValueField;
                treeView.TitleField = listControlsDataSource.DataTextField;

                string orderNoField = listControlsDataSource.OrderNoField;
                if (!string.IsNullOrEmpty(orderNoField))
                    treeView.OrderNoField = orderNoField;
                treeView.BuildTree();

            }
        }
예제 #37
0
 public PlaylistFileManager(ITreeView TreeViewInterface)
 {
     _view = TreeViewInterface;
     editDirectoriesGUIdelegate = new ListGUICallBack(EditDirectoriesCallback);
 }
 public WindowsProjectBrowserService(IServiceProvider services, ITabPage tabPage, ITreeView treeView) : base(services, tabPage, treeView)
 {
     this.tree.DragEnter  += tree_DragEnter;
     this.tree.DragOver   += tree_DragOver;
     this.tree.DragDrop   += tree_DragDrop;
     this.tree.DragLeave  += tree_DragLeave;
     this.tree.MouseWheel += tree_MouseWheel;
 }
예제 #39
0
 /// <summary>Perform the command</summary>
 /// <param name="tree">A tree view to which the changes will be applied.</param>
 /// <param name="modelChanged">Action to be performed if/when a model is changed.</param>
 public void Do(ITreeView tree, Action <object> modelChanged)
 {
     tree.Delete(this.modelToDelete.FullPath);
     Pos             = this.parent.Children.IndexOf(this.modelToDelete as Model);
     modelWasRemoved = Structure.Delete(this.modelToDelete as Model);
 }
예제 #40
0
 void ITreeViewItem.SetTools(ITreeView TV)
 {
     //Set Context Menu
     mContextMenu = new ContextMenu();
 }
예제 #41
0
 public void SetTools(ITreeView TV)
 {
     return;
 }
예제 #42
0
 public void add(ITreeView objTreeView)
 {
     view = objTreeView;
     dataManager.InitializeDataSet(Application.UserAppDataPath);
     //dataManager.GetNodeParent("{C9CE6368-C9FD-4878-A9B1-AC197404C1BC}{1}{B0}");
 }
예제 #43
0
 void ITreeViewItem.SetTools(ITreeView TV)
 {
     AddItemNodeBasicManipulationsOptions(mContextMenu);
     AddSourceControlOptions(mContextMenu);
 }
		public DocumentTreeViewWindowContent(ITreeView treeView) {
			this.treeView = treeView;
			treeView.UIObject.Padding = new Thickness(0, 2, 0, 0);
		}
예제 #45
0
 public void SetTools(ITreeView TV)
 {
 }
예제 #46
0
 public IProjectBrowserService CreateProjectBrowserService(ITreeView treeView)
 {
     return new ProjectBrowserService(services, treeView);
 }
 private void CleanMocks()
 {
     MockCategoryProperty = null;
     MockMultiView = null;
     MockTreeView = null;
 }
 ///// <summary>
 ///// 列表类型控件数据绑定。
 ///// </summary>
 ///// <param name="dropDownListEx">DropDownListEx。</param>
 ///// <param name="listControlsDataSource">数据源接口。</param>
 //public void ListControlsDataSourceBind(IDataDropDownList dropDownListEx, IListControlsData listControlsDataSource)
 //{
 //    if (dropDownListEx != null && listControlsDataSource != null)
 //    {
 //        dropDownListEx.DataTextField = listControlsDataSource.DataTextField;
 //        if (!string.IsNullOrEmpty(listControlsDataSource.DataTextFormatString))
 //            dropDownListEx.DataTextFormatString = listControlsDataSource.DataTextFormatString;
 //        dropDownListEx.DataValueField = listControlsDataSource.DataValueField;
 //        dropDownListEx.DataSource = listControlsDataSource.DataSource;
 //        dropDownListEx.DataBind();
 //    }
 //}
 /// <summary>
 /// 树形控件数据绑定。
 /// </summary>
 /// <param name="treeView">treeView。</param>
 /// <param name="listControlsTreeViewDataSource">数据源接口。</param>
 public void ListControlsDataSourceBind(ITreeView treeView, IListControlsTreeViewData listControlsTreeViewDataSource)
 {
     if (treeView != null && listControlsTreeViewDataSource != null)
     {
         treeView.DataSource = listControlsTreeViewDataSource.DataSource;
         treeView.IDField = listControlsTreeViewDataSource.DataValueField;
         treeView.PIDField = listControlsTreeViewDataSource.ParentDataValueField;
         treeView.TitleField = listControlsTreeViewDataSource.DataTextField;
         treeView.OrderNoField = listControlsTreeViewDataSource.OrderNoField;
         treeView.BuildTree();
     }
 }
예제 #49
0
 public GuidObjectsProvider(ITreeView treeView)
 {
     this.treeView = treeView;
 }
예제 #50
0
 private MyTreeViewItem PrevVisible(ITreeView iTreeView, MyTreeViewItem focused)
 {
     MyTreeViewItem pred = focused;
     TraverseVisible(m_body, a =>
     {
         if (a == focused)
         {
             focused = pred;
         }
         else
         {
             pred = a;
         }
     }
     );
     return focused;
 }
예제 #51
0
 void ITreeViewItem.SetTools(ITreeView TV)
 {
     TV.AddToolbarTool(eImageType.Refresh, "Refresh", TV.Tree.RefreshSelectedTreeNodeChildrens);
 }
예제 #52
0
		AnalyzerManager(IWpfCommandManager wpfCommandManager, IFileTabManager fileTabManager, ITreeViewManager treeViewManager, IMenuManager menuManager, IThemeManager themeManager, IAnalyzerSettings analyzerSettings, IDotNetImageManager dotNetImageManager, ILanguageManager languageManager, IFileManager fileManager) {
			this.fileTabManager = fileTabManager;

			this.context = new AnalyzerTreeNodeDataContext {
				DotNetImageManager = dotNetImageManager,
				Language = languageManager.SelectedLanguage,
				FileManager = fileManager,
				ShowToken = analyzerSettings.ShowToken,
				SingleClickExpandsChildren = analyzerSettings.SingleClickExpandsChildren,
				SyntaxHighlight = analyzerSettings.SyntaxHighlight,
				UseNewRenderer = analyzerSettings.UseNewRenderer,
				AnalyzerManager = this,
			};

			var options = new TreeViewOptions {
				CanDragAndDrop = false,
				TreeViewListener = this,
			};
			this.treeView = treeViewManager.Create(ANALYZER_TREEVIEW_GUID, options);

			fileManager.CollectionChanged += FileManager_CollectionChanged;
			fileTabManager.FileModified += FileTabManager_FileModified;
			languageManager.LanguageChanged += LanguageManager_LanguageChanged;
			themeManager.ThemeChanged += ThemeManager_ThemeChanged;
			analyzerSettings.PropertyChanged += AnalyzerSettings_PropertyChanged;

			menuManager.InitializeContextMenu((FrameworkElement)this.treeView.UIObject, new Guid(MenuConstants.GUIDOBJ_ANALYZER_TREEVIEW_GUID), new GuidObjectsCreator(this.treeView));
			wpfCommandManager.Add(CommandConstants.GUID_ANALYZER_TREEVIEW, (UIElement)this.treeView.UIObject);
			var cmds = wpfCommandManager.GetCommands(CommandConstants.GUID_ANALYZER_TREEVIEW);
			var command = new RelayCommand(a => ActivateNode());
			cmds.Add(command, ModifierKeys.Control, Key.Enter);
			cmds.Add(command, ModifierKeys.Shift, Key.Enter);
		}
예제 #53
0
 void ITreeViewItem.SetTools(ITreeView TV)
 {
 }
예제 #54
0
			public GuidObjectsCreator(ITreeView treeView) {
				this.treeView = treeView;
			}
예제 #55
0
 /// <summary>Undo the command</summary>
 /// <param name="tree">A tree view to which the changes will be applied.</param>
 /// <param name="modelChanged">Action to be performed if/when a model is changed.</param>
 public void Undo(ITreeView tree, Action <object> modelChanged)
 {
     this.parent.CurIndex = prevSuppIdx;
     modelChanged(this.parent);
 }
예제 #56
0
 protected TreeView(Generator generator, Type type, bool initialize = true)
     : base(generator, type, initialize)
 {
     handler = (ITreeView)Handler;
 }