Example #1
0
 private void RestoreExpansion()
 {
     foreach (object item in m_expandedItems)
     {
         TreeControlAdapter.Expand(item);
     }
 }
        private void TreeControl_NodeExpandedChanged(object sender, TreeControl.NodeEventArgs e)
        {
            var treeView = TreeView.As <FilteredTreeView>();

            // early exit
            if (m_updating || !m_searching || e.Node.Tag == null ||
                treeView == null)
            {
                return;
            }

            if (m_toExpand != null)
            {
                var node = m_toExpand;
                m_toExpand = null;
                try
                {
                    m_updating = true;
                    TreeControlAdapter.Expand(node.Tag);
                    treeView.RestoreExpansion(e.Node, TreeControlAdapter);
                }
                finally
                {
                    m_updating = false;
                }
            }
            else if (e.Node.Expanded && RestoreSubExpansion)
            {
                treeView.RestoreExpansion(e.Node, TreeControlAdapter);
            }
        }
Example #3
0
 /// <summary>
 /// Configures the editor</summary>
 /// <param name="treeControl">Control to display data</param>
 /// <param name="treeControlAdapter">Adapter to drive control. Its ITreeView should
 /// implement IInstancingContext and/or IHierarchicalInsertionContext.</param>
 /// <remarks>Default is to create a TreeControl and TreeControlAdapter,
 /// using the global image lists.</remarks>
 protected virtual void Configure(
     out TreeControl treeControl,
     out TreeControlAdapter treeControlAdapter)
 {
     treeControl        = CreateControl();
     treeControlAdapter = CreateAdapter(treeControl);
 }
        /// <summary>
        /// Create and configure TreeControl</summary>
        /// <param name="treeControl">New TreeControl</param>
        /// <param name="treeControlAdapter">Adapter for TreeControl</param>
        protected override void Configure(out TreeControl treeControl, out TreeControlAdapter treeControlAdapter)
        {
            base.Configure(out treeControl, out treeControlAdapter);

            m_control      = new UserControl();
            m_control.Dock = DockStyle.Fill;
            m_control.SuspendLayout();
            m_control.Name = "Tree View".Localize();
            m_control.Text = "Tree View".Localize();


            // create tag panel
            m_TagPanel                   = new TagLabelListControl();
            m_TagPanel.Dock              = DockStyle.Top;
            m_TagPanel.OnTagListUpdated += UpdateFiltering;
            m_control.Controls.Add(m_TagPanel);

            m_TagInput = new StringTagSearchInputUI(m_TagPanel);
            m_control.Controls.Add(m_TagInput);

            m_control.Controls.Add(TreeControl);
            m_control.Layout += controls_Layout;
            m_control.ResumeLayout();

            TreeControl.PreviewKeyDown       += TreeControl_PreviewKeyDown;
            TreeControl.NodeExpandedChanging += TreeControl_NodeExpandedChanging;
            TreeControl.NodeExpandedChanged  += TreeControl_NodeExpandedChanged;
            TreeControl.ItemRendererChanged  += (sender, e) => UpdateTreeItemRenderer();
        }
Example #5
0
        /// <summary>
        /// Configures the editor</summary>
        /// <param name="treeControl">Control to display data</param>
        /// <param name="treeControlAdapter">Adapter to drive control. Its ITreeView should
        /// implement IInstancingContext and/or IHierarchicalInsertionContext.</param>
        /// <remarks>Default is to create a TreeControl and TreeControlAdapter,
        /// using the global image lists.</remarks>
        protected override void Configure(
            out TreeControl treeControl,
            out TreeControlAdapter treeControlAdapter)
        {
            treeControl                = new TreeControl();
            treeControl.ImageList      = ResourceUtil.GetImageList16();
            treeControl.StateImageList = ResourceUtil.GetImageList16();

            treeControlAdapter = new TreeControlAdapter(treeControl);

            treeControl.PreviewKeyDown       += treeControl_PreviewKeyDown;
            treeControl.NodeExpandedChanging += treeControl_NodeExpandedChanging;
            treeControl.NodeExpandedChanged  += treeControl_NodeExpandedChanged;


            m_searchInput          = new StringSearchInputUI();
            m_searchInput.Updated += UpdateFiltering;

            m_control      = new UserControl();
            m_control.Dock = DockStyle.Fill;
            m_control.SuspendLayout();
            m_control.Name = "Tree View".Localize();
            m_control.Text = "Tree View".Localize();
            m_control.Controls.Add(m_searchInput);
            m_control.Controls.Add(TreeControl);
            m_control.Layout += controls_Layout;
            m_control.ResumeLayout();
        }
Example #6
0
 private void RestoreExpansion()
 {
     foreach (string category in m_expandedCollections)
     {
         TreeControlAdapter.Expand(category);
     }
 }
Example #7
0
        /// <summary>
        /// Configures the editor</summary>
        /// <param name="treeControl">Control to display data</param>
        /// <param name="treeControlAdapter">Adapter to drive control. Its ITreeView should
        /// implement IInstancingContext and/or IHierarchicalInsertionContext.</param>
        /// <remarks>Default is to create a TreeControl and TreeControlAdapter,
        /// using the global image lists.</remarks>
        protected override void Configure(
            out TreeControl treeControl,
            out TreeControlAdapter treeControlAdapter)
        {
            treeControl = new TreeControl();
            treeControl.ImageList = ResourceUtil.GetImageList16();
            treeControl.StateImageList = ResourceUtil.GetImageList16();

            treeControlAdapter = new TreeControlAdapter(treeControl);

            treeControl.PreviewKeyDown += treeControl_PreviewKeyDown;
            treeControl.NodeExpandedChanging += treeControl_NodeExpandedChanging;
            treeControl.NodeExpandedChanged += treeControl_NodeExpandedChanged;

 
            m_searchInput = new StringSearchInputUI();
            m_searchInput.Updated += UpdateFiltering;

            m_control = new UserControl();
            m_control.Dock = DockStyle.Fill;
            m_control.SuspendLayout();
            m_control.Name = "Tree View".Localize();
            m_control.Text = "Tree View".Localize();
            m_control.Controls.Add(m_searchInput);
            m_control.Controls.Add(TreeControl);
            m_control.Layout += controls_Layout;
            m_control.ResumeLayout();
        }
Example #8
0
        // Load hierarchical data from XML and display it in a TreeListControl
        void LoadHierarchicalXmlData()
        {
 
            var treeListControl = new TreeListControl();
      
            treeListControl.Dock = DockStyle.Fill;
            treeListControl.ShowRoot = false;
            treeListControl.LabelEditMode = TreeControl.LabelEditModes.EditOnF2 | TreeControl.LabelEditModes.EditOnClick;
            treeListControl.NodeDataEdited += treeListControl_NodeDataEdited;
            Controls.Add(treeListControl);

            Assembly assembly = Assembly.GetExecutingAssembly();
            string startupPath = Path.GetDirectoryName(new Uri(assembly.GetName().CodeBase).LocalPath);
            var xmlPath = Path.Combine(startupPath, "CoolSUVs.xml");

            var treeView = new TreeView(xmlPath, new DataEditorTheme(treeListControl.Font));
            var treeControlAdapter = new TreeControlAdapter(treeListControl);
            treeControlAdapter.TreeView = treeView;

            treeListControl.ItemRenderer = new TreeListItemRenderer(treeView);

            treeListControl.Columns.Add(new TreeListView.Column("MPG",  80));
            treeListControl.Columns.Add(new TreeListView.Column("Weight", 80));
            treeListControl.Columns.Add(new TreeListView.Column("AWD", 50));
            treeListControl.Columns.Add(new TreeListView.Column("Color", 80));
            treeListControl.Columns.Add(new TreeListView.Column("MSRP", 80));
            treeListControl.ExpandAll();
        }
Example #9
0
 /// <summary>
 /// Restores subtree's node expansion states, if remembered</summary>
 /// <param name="treeControlAdapter">TreeControlAdapter that performs node expansion</param>
 /// <param name="parent">Node whose subtree's expansion state was remembered</param>
 public void RestoreExpansion(TreeControlAdapter treeControlAdapter, TreeControl.Node parent)
 {
     if (parent.Tag != null && m_expandedItems.ContainsKey(parent.Tag))
     {
         foreach (object item in m_expandedItems[parent.Tag])
         {
             treeControlAdapter.Expand(item);
         }
     }
 }
Example #10
0
 private void RememberExpansion()
 {
     m_expandedItems.Clear();
     foreach (object item in GetSubtree(TreeView.Root))
     {
         if (TreeControlAdapter.IsExpanded(item))
         {
             m_expandedItems.Add(item);
         }
     }
 }
Example #11
0
        /// <summary>
        /// Configures the editor</summary>
        /// <param name="treeControl">Tree control to display data</param>
        /// <param name="treeControlAdapter">Tree control adapter to drive control</param>
        protected override void Configure(
            out TreeControl treeControl,
            out TreeControlAdapter treeControlAdapter)
        {
            treeControl = new TreeControl(TreeControl.Style.CategorizedPalette);
            treeControl.ImageList = ResourceUtil.GetImageList16();
            treeControl.AllowDrop = true;
            treeControl.SelectionMode = SelectionMode.MultiExtended;

            treeControlAdapter = new TreeControlAdapter(treeControl);
        }
Example #12
0
 private void RememberExpansion()
 {
     m_expandedCollections.Clear();
     foreach (string category in m_paletteTreeAdapter.GetChildren(m_paletteTreeAdapter))
     {
         if (TreeControlAdapter.IsExpanded(category))
         {
             m_expandedCollections.Add(category);
         }
     }
 }
Example #13
0
        /// <summary>
        /// Configures the editor</summary>
        /// <param name="treeControl">Tree control to display data</param>
        /// <param name="treeControlAdapter">Tree control adapter to drive control</param>
        protected override void Configure(
            out TreeControl treeControl,
            out TreeControlAdapter treeControlAdapter)
        {
            treeControl               = new TreeControl(TreeControl.Style.CategorizedPalette);
            treeControl.ImageList     = ResourceUtil.GetImageList16();
            treeControl.AllowDrop     = true;
            treeControl.SelectionMode = SelectionMode.MultiExtended;

            treeControlAdapter = new TreeControlAdapter(treeControl);
        }
Example #14
0
        /// <summary>
        /// Create and configure TreeControl</summary>
        /// <param name="treeControl">New TreeControl</param>
        /// <param name="treeControlAdapter">Adapter for TreeControl</param>
        protected override void Configure(out TreeControl treeControl, out TreeControlAdapter treeControlAdapter)
        {
            base.Configure(out treeControl, out treeControlAdapter);

            treeControl.ShowRoot = false; // UI node can't really be edited, so hide it
            treeControl.Text = ("Add packages to the UI." + Environment.NewLine +
                                "Add forms, shaders, textures, and fonts to packages." + Environment.NewLine +
                                "Add sprites or text items to forms or sprites." + Environment.NewLine +
                                "Drag shaders, textures, and fonts onto the reference slots of sprites and text items.").Localize();            
            treeControl.AllowDrop = true;
            treeControl.SelectionMode = SelectionMode.MultiExtended;
        }
 private void Collapse()
 {
     if (TreeControl.ShowRoot)
     {
         TreeControl.Root.Expanded = false;
         TreeControlAdapter.Refresh(TreeControl.Root.Tag);
     }
     else
     {
         TreeControl.Root.Children.ForEach(child => child.Expanded = false);
         TreeView.GetChildren(TreeControl.Root.Tag).ForEach(child => TreeControlAdapter.Refresh(child));
     }
 }
Example #16
0
        /// <summary>
        /// Configures the editor</summary>
        /// <param name="treeControl">Control to display data</param>
        /// <param name="treeControlAdapter">Adapter to drive control. Its ITreeView should
        /// implement IInstancingContext and/or IHierarchicalInsertionContext.</param>
        /// <remarks>Default is to create a TreeControl and TreeControlAdapter,
        /// using the global image lists.</remarks>
        protected virtual void Configure(
            out TreeControl treeControl,
            out TreeControlAdapter treeControlAdapter)
        {
            treeControl =
                new TreeControl
                    {
                        ImageList = ResourceUtil.GetImageList16(),
                        StateImageList = ResourceUtil.GetImageList16()
                    };

            treeControlAdapter = new TreeControlAdapter(treeControl);
        }
Example #17
0
        /// <summary>
        /// Configures the editor</summary>
        /// <param name="treeControl">Control to display data</param>
        /// <param name="treeControlAdapter">Adapter to drive control. Its ITreeView should
        /// implement IInstancingContext and/or IHierarchicalInsertionContext.</param>
        /// <remarks>Default is to create a TreeControl and TreeControlAdapter,
        /// using the global image lists.</remarks>
        protected virtual void Configure(
            out TreeControl treeControl,
            out TreeControlAdapter treeControlAdapter)
        {
            treeControl =
                new TreeControl
            {
                ImageList      = ResourceUtil.GetImageList16(),
                StateImageList = ResourceUtil.GetImageList16()
            };

            treeControlAdapter = new TreeControlAdapter(treeControl);
        }
Example #18
0
        private void ExpandAllMatches()
        {
            Tree <object> tree = new Tree <object>(TreeView.Root);

            BuildTree(tree);

            foreach (Tree <object> node in tree.PreOrder)
            {
                if (!node.IsLeaf)
                {
                    TreeControlAdapter.Expand(node.Value);
                }
            }
        }
Example #19
0
 private void RestoreSelection()
 {
     if (m_selectedItems != null)
     {
         foreach (object item in m_selectedItems)
         {
             var path = item.As <Path <object> >();
             if (path != null)
             {
                 TreeControlAdapter.Show(path, true);
             }
         }
     }
 }
Example #20
0
        internal void RestoreExpansion(TreeControl.Node parent, TreeControlAdapter treeAdapter)
        {
            if (parent.Tag == null)
            {
                return;
            }
            List <object> expandedItems;

            if (m_expandedNodeMap.TryGetValue(parent.Tag, out expandedItems))
            {
                m_expandedNodeMap.Remove(parent.Tag);
                expandedItems.ForEach(item => treeAdapter.Expand(item));
            }
        }
        /// <summary>
        /// Constructor</summary>
        /// <param name="settingsService">Settings service</param>
        /// <param name="dialogOwner">Dialog owner window HWND</param>
        /// <param name="pathName">Path of settings to display initially, or null</param>
        public SettingsDialog(SettingsService settingsService, IWin32Window dialogOwner, string pathName)
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();
            SplitterRatio = 0.33f;

            m_settingsService = settingsService;
            m_dialogOwner     = dialogOwner;

            m_originalState = m_settingsService.UserState; // for cancel

            m_treeControl               = new TreeControl(TreeControl.Style.SimpleTree);
            m_treeControl.Dock          = DockStyle.Fill;
            m_treeControl.SelectionMode = SelectionMode.One;
            m_treeControl.ShowRoot      = false;
            m_treeControl.ImageList     = ResourceUtil.GetImageList16();
            m_treeControl.ExpandAll();

            m_treeControl.NodeSelectedChanged += treeControl_NodeSelectedChanged;

            m_treeControlAdapter          = new TreeControlAdapter(m_treeControl);
            m_treeControlAdapter.TreeView = settingsService.UserSettings;

            treePanel.Controls.Add(m_treeControl);

            m_propertyGrid      = new Sce.Atf.Controls.PropertyEditing.PropertyGrid();
            m_propertyGrid.Dock = DockStyle.Fill;
            propertiesPanel.Controls.Add(m_propertyGrid);

            // select an initial node so something is displayed in the PropertyGrid
            TreeControl.Node firstNode = null;
            if (pathName != null)
            {
                firstNode = m_treeControlAdapter.ExpandPath(m_settingsService.GetSettingsPath(pathName));
            }
            if (firstNode == null) // in case pathName is not null, but ExpandPath returns null
            {
                firstNode = m_treeControl.ExpandToFirstLeaf();
            }



            firstNode.Selected = true;
            ShowProperties(m_settingsService.GetProperties((Tree <object>)firstNode.Tag)); //does auto-setting of column widths

            defaultsButton.Click += DefaultsButton_Click;
        }
Example #22
0
        private void searchInput_Updated(object sender, EventArgs e)
        {
            if (TreeControl.Root == null)
            {
                return;
            }

            if (m_searchInput.IsNullOrEmpty())
            {
                if (m_searching)
                {
                    // get the tree control to force-reload the tree data
                    m_paletteTreeAdapter.RefreshControl();
                    RestoreExpansion();
                }
                m_searching = false;
                return;
            }
            else
            {
                if (!m_searching)
                {
                    RememberExpansion();
                }
                m_searching = true;
            }

            m_paletteTreeAdapter.RefreshControl();

            // expand categories that have matched children
            foreach (object category in m_paletteTreeAdapter.GetChildren(m_paletteTreeAdapter))
            {
                foreach (object typeName in m_paletteTreeAdapter.GetChildren(category))
                {
                    ItemInfo info = new WinFormsItemInfo();
                    m_paletteTreeAdapter.GetInfo(typeName, info);
                    if (m_searchInput.Matches(info.Label))
                    {
                        TreeControlAdapter.Expand(category);
                        break;
                    }
                }
            }

            RestoreExpansion();
        }
Example #23
0
        /// <summary>
        /// Constructor</summary>
        /// <param name="settingsService">Settings service</param>
        /// <param name="dialogOwner">Dialog owner window HWND</param>
        /// <param name="pathName">Path of settings to display initially, or null</param>
        public SettingsDialog(SettingsService settingsService, IWin32Window dialogOwner, string pathName)
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();
            SplitterRatio = 0.33f;

            m_settingsService = settingsService;
            m_dialogOwner = dialogOwner;

            m_originalState = m_settingsService.UserState; // for cancel

            m_treeControl = new TreeControl(TreeControl.Style.SimpleTree);
            m_treeControl.Dock = DockStyle.Fill;
            m_treeControl.SelectionMode = SelectionMode.One;
            m_treeControl.ShowRoot = false;
            m_treeControl.ImageList = ResourceUtil.GetImageList16();
            m_treeControl.ExpandAll();

            m_treeControl.NodeSelectedChanged += treeControl_NodeSelectedChanged;

            m_treeControlAdapter = new TreeControlAdapter(m_treeControl);
            m_treeControlAdapter.TreeView = settingsService.UserSettings;

            treePanel.Controls.Add(m_treeControl);

            m_propertyGrid = new Sce.Atf.Controls.PropertyEditing.PropertyGrid();
            m_propertyGrid.Dock = DockStyle.Fill;
            propertiesPanel.Controls.Add(m_propertyGrid);

            // select an initial node so something is displayed in the PropertyGrid
            TreeControl.Node firstNode = null;
            if (pathName != null)
                firstNode = m_treeControlAdapter.ExpandPath(m_settingsService.GetSettingsPath(pathName));
            if (firstNode == null) // in case pathName is not null, but ExpandPath returns null  
                firstNode = m_treeControl.ExpandToFirstLeaf();
            


            firstNode.Selected = true;
            ShowProperties(m_settingsService.GetProperties((Tree<object>)firstNode.Tag)); //does auto-setting of column widths

            defaultsButton.Click += DefaultsButton_Click;
        }
Example #24
0
        /// <summary>
        /// Create and configure TreeControl</summary>
        /// <param name="treeControl">New TreeControl</param>
        /// <param name="treeControlAdapter">Adapter for TreeControl</param>
        protected override void Configure(out TreeControl treeControl, out TreeControlAdapter treeControlAdapter)
        {
            base.Configure(out treeControl, out treeControlAdapter);

            m_searchInput = new StringSearchInputUI();
            m_searchInput.Updated += UpdateFiltering;
            m_control = new UserControl();
            m_control.Dock = DockStyle.Fill;
            m_control.SuspendLayout();
            m_control.Name = "Tree View".Localize();
            m_control.Text = "Tree View".Localize();
            m_control.Controls.Add(m_searchInput);
            m_control.Controls.Add(TreeControl);
            m_control.Layout += controls_Layout;
            m_control.ResumeLayout();

            TreeControl.PreviewKeyDown += TreeControl_PreviewKeyDown;
            TreeControl.NodeExpandedChanging += TreeControl_NodeExpandedChanging;
            TreeControl.NodeExpandedChanged += TreeControl_NodeExpandedChanged;
            TreeControl.ItemRendererChanged += (sender, e) => UpdateTreeItemRenderer();
        }
Example #25
0
        /// <summary>
        /// Performs custom actions after changing a node's Expanded property</summary>
        /// <param name="sender">Sender</param>
        /// <param name="e">Event args</param>
        void treeControl_NodeExpandedChanged(object sender, TreeControl.NodeEventArgs e)
        {
            if (!m_searching)
            {
                return;
            }
            var filteredTreeView = TreeView as FilteredTreeView;

            if (m_nodeToExpand != null)
            {
                TreeControl.Node nodeToExpand = m_nodeToExpand;
                m_autoExpanding = true;
                TreeControlAdapter.Expand(m_nodeToExpand.Tag);
                filteredTreeView.RestoreExpansion(TreeControlAdapter, nodeToExpand);
                m_nodeToExpand  = null;
                m_autoExpanding = false;
            }
            else if (e.Node.Expanded && RestoreSubExpansion)
            {
                filteredTreeView.RestoreExpansion(TreeControlAdapter, e.Node);
            }
        }
Example #26
0
        public DomExplorer(IControlHostService controlHostService)
        {
            m_controlHostService = controlHostService;

            m_treeControl = new TreeControl();
            m_treeControl.Dock = DockStyle.Fill;
            m_treeControl.AllowDrop = true;
            m_treeControl.SelectionMode = SelectionMode.MultiExtended;
            m_treeControl.ImageList = ResourceUtil.GetImageList16();
            m_treeControl.NodeSelectedChanged += treeControl_NodeSelectedChanged;

            m_treeControlAdapter = new TreeControlAdapter(m_treeControl);
            m_treeView = new TreeView();

            m_propertyGrid = new Sce.Atf.Controls.PropertyEditing.PropertyGrid();
            m_propertyGrid.Dock = DockStyle.Fill;

            m_splitContainer = new SplitContainer();
            m_splitContainer.Text = "Dom Explorer";
            m_splitContainer.Panel1.Controls.Add(m_treeControl);
            m_splitContainer.Panel2.Controls.Add(m_propertyGrid);
        }
Example #27
0
 /// <summary>
 /// Configure the ProjectLister</summary>
 /// <param name="treeControl">TreeControl used by ProjectLister</param>
 /// <param name="treeControlAdapter">TreeControlAdapter used by ProjectLister</param>
 protected override void Configure(out Sce.Atf.Controls.TreeControl treeControl, out TreeControlAdapter treeControlAdapter)
 {
     base.Configure(out treeControl, out treeControlAdapter);
     treeControl.AllowDrop = true;
 }
Example #28
0
        /// <summary>
        /// Initializes the MEF component</summary>
        public void Initialize()
        {
            m_treeControl                = new TreeControl();
            m_treeControl.Dock           = DockStyle.Fill;
            m_treeControl.AllowDrop      = true;
            m_treeControl.SelectionMode  = SelectionMode.MultiExtended;
            m_treeControl.ImageList      = ResourceUtil.GetImageList16();
            m_treeControl.StateImageList = ResourceUtil.GetImageList16();

            m_treeControl.DragOver += treeControl_DragOver;
            m_treeControl.DragDrop += treeControl_DragDrop;
            m_treeControl.MouseUp  += treeControl_MouseUp;

            m_treeControlAdapter = new TreeControlAdapter(m_treeControl);

            m_listView           = new ListView();
            m_listView.View      = View.Details;
            m_listView.Dock      = DockStyle.Fill;
            m_listView.AllowDrop = true;
            m_listView.LabelEdit = false;

            m_listView.MouseUp    += thumbnailControl_MouseUp;
            m_listView.MouseMove  += thumbnailControl_MouseMove;
            m_listView.MouseLeave += thumbnailControl_MouseLeave;
            m_listView.DragOver   += thumbnailControl_DragOver;

            m_listViewAdapter = new ListViewAdapter(m_listView);

            m_thumbnailControl           = new ThumbnailControl();
            m_thumbnailControl.Dock      = DockStyle.Fill;
            m_thumbnailControl.AllowDrop = true;
            m_thumbnailControl.BackColor = SystemColors.Window;

            m_thumbnailControl.SelectionChanged += thumbnailControl_SelectionChanged;
            m_thumbnailControl.MouseMove        += thumbnailControl_MouseMove;
            m_thumbnailControl.MouseUp          += thumbnailControl_MouseUp;
            m_thumbnailControl.MouseLeave       += thumbnailControl_MouseLeave;
            m_thumbnailControl.DragOver         += thumbnailControl_DragOver;

            m_splitContainer             = new SplitContainer();
            m_splitContainer.Name        = "Resources".Localize();
            m_splitContainer.Orientation = Orientation.Vertical;
            m_splitContainer.Panel1.Controls.Add(m_treeControl);
            m_splitContainer.Panel2.Controls.Add(m_thumbnailControl);
            m_splitContainer.Panel2.Controls.Add(m_listView);
            m_splitContainer.SplitterDistance = 10;

            m_listView.Hide();

            Image resourceImage = ResourceUtil.GetImage16(Resources.ResourceImage);

            // on initialization, register our tree control with the hosting service
            m_controlHostService.RegisterControl(
                m_splitContainer,
                new ControlInfo(
                    "Resources".Localize(),
                    "Lists available resources".Localize(),
                    StandardControlGroup.Left,
                    resourceImage),
                this);

            RegisterCommands(m_commandService);
            RegisterSettings();
        }
Example #29
0
 /// <summary>
 /// Configure the ProjectLister</summary>
 /// <param name="treeControl">TreeControl used by ProjectLister</param>
 /// <param name="treeControlAdapter">TreeControlAdapter used by ProjectLister</param>
 protected override void Configure(out Sce.Atf.Controls.TreeControl treeControl, out TreeControlAdapter treeControlAdapter)
 {
     base.Configure(out treeControl, out treeControlAdapter);
     treeControl.AllowDrop = true;
 }
Example #30
0
        private void Init()
        {
            if (s_schemaLoader == null)
                s_schemaLoader = new SchemaLoader();
            m_PropertyGrid = new PropertyGrid(PropertyGridMode.PropertySorting | PropertyGridMode.DisplayDescriptions | PropertyGridMode.HideResetAllButton);
            m_treeControl = new TreeControl();
            m_menu = new MenuStrip();
            var fileMenu = new ToolStripMenuItem();
            var newMenu = new ToolStripMenuItem();
            var openMenu = new ToolStripMenuItem();

            var exitMenu = new ToolStripMenuItem();
            var splitter = new SplitContainer();

            m_menu.SuspendLayout();
            splitter.BeginInit();
            splitter.Panel1.SuspendLayout();
            splitter.Panel2.SuspendLayout();
            splitter.SuspendLayout();

            SuspendLayout();

            // m_menu
            m_menu.Location = new System.Drawing.Point(0, 0);
            m_menu.Name = "m_menu";
            m_menu.TabIndex = 0;
            m_menu.Text = "m_menu";
            m_menu.Items.Add(fileMenu);


            // file            
            fileMenu.Name = "fileToolStripMenuItem";
            fileMenu.Size = new System.Drawing.Size(37, 20);
            fileMenu.Text = "File".Localize();
            fileMenu.DropDownOpening += new EventHandler(fileMenu_DropDownOpening);
            fileMenu.DropDownItems.AddRange(new ToolStripItem[]
            {
                newMenu,             
                openMenu,
                m_openFolderMenu,
                m_saveMenu,
                m_saveAsMenu,
                exitMenu
            });

            // new
            newMenu.Name = "newToolStripMenuItem";
            newMenu.ShortcutKeys = Keys.Control | Keys.N;
            newMenu.Text = "New".Localize();
            newMenu.Click += NewToolStripMenuItem_Click;

            //open
            openMenu.Name = "openToolStripMenuItem";
            openMenu.ShortcutKeys = Keys.Control | Keys.O;
            openMenu.Text = "Open...".Localize();
            openMenu.Click += OpenToolStripMenuItem_Click;


            // open containing folder
            m_openFolderMenu.Name = "OpenFolderMenu";
            m_openFolderMenu.Text = "Open Containing Folder".Localize();
            m_openFolderMenu.Click += new EventHandler(OpenFolderMenu_Click);

            //save
            m_saveMenu.Name = "saveToolStripMenuItem";
            m_saveMenu.ShortcutKeys = Keys.Control | Keys.S;
            m_saveMenu.Text = "Save".Localize();
            m_saveMenu.Click += SaveToolStripMenuItem_Click;

            // save as
            m_saveAsMenu.Name = "saveAsToolStripMenuItem";
            m_saveAsMenu.Text = "Save As...".Localize();
            m_saveAsMenu.Click += SaveAsToolStripMenuItem_Click;

            // exit
            exitMenu.Name = "exitToolStripMenuItem";
            exitMenu.Text = "Exit".Localize();
            exitMenu.Click += ExitToolStripMenuItem_Click;

            // tree control
            m_treeControl.Dock = DockStyle.Fill;
            m_treeControl.Name = "m_treeControl";
            m_treeControl.TabIndex = 1;
            m_treeControl.Width = 150;
            m_treeControl.ShowRoot = false;
            m_treeControl.AllowDrop = false;
            m_treeControl.SelectionMode = SelectionMode.One;
            m_treeControlAdapter = new TreeControlAdapter(m_treeControl);

            // propertyGrid1            
            m_PropertyGrid.Dock = DockStyle.Fill;
            m_PropertyGrid.Name = "propertyGrid1";
            m_PropertyGrid.TabIndex = 3;
            m_PropertyGrid.PropertySorting = PropertySorting.None;

            // splitter           
            splitter.Dock = DockStyle.Fill;
            splitter.Name = "splitContainer1";
            splitter.Panel1.Controls.Add(m_treeControl);
            splitter.Panel2.Controls.Add(m_PropertyGrid);
            splitter.SplitterDistance = 100;
            splitter.TabIndex = 1;

            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new System.Drawing.Size(600, 400);
            Controls.Add(splitter);
            Controls.Add(m_menu);
            MainMenuStrip = m_menu;
            Name = "SkinEditor";
            Icon = GdiUtil.CreateIcon(ResourceUtil.GetImage(Sce.Atf.Resources.AtfIconImage));
            UpdateTitleText();
            m_menu.ResumeLayout(false);
            m_menu.PerformLayout();
            splitter.Panel1.ResumeLayout(false);
            splitter.Panel2.ResumeLayout(false);
            splitter.EndInit();
            splitter.ResumeLayout(false);

            ResumeLayout(false);
            PerformLayout();
            splitter.SplitterDistance = 170;
        }
Example #31
0
 /// <summary>
 /// Restores subtree's node expansion states, if remembered</summary>
 /// <param name="treeControlAdapter">TreeControlAdapter that performs node expansion</param>
 /// <param name="parent">Node whose subtree's expansion state was remembered</param>
 public void RestoreExpansion(TreeControlAdapter treeControlAdapter, TreeControl.Node parent)
 {
     if (parent.Tag != null && m_expandedItems.ContainsKey(parent.Tag))
     {
         foreach (object item in m_expandedItems[parent.Tag])
             treeControlAdapter.Expand(item);
     }
 }
Example #32
0
        protected override void Configure(out TreeControl treeControl, out TreeControlAdapter treeControlAdapter)
        {
            base.Configure(out treeControl, out treeControlAdapter);

            treeControl.ShowRoot = false; // hide root node, because it's the project
            treeControl.Text = Localizer.Localize("No Project Loaded");
            treeControl.Dock = DockStyle.Fill;
            treeControl.AllowDrop = true;
            treeControl.SelectionMode = SelectionMode.One;
        }
        protected override void Configure(out TreeControl treeControl, out TreeControlAdapter treeControlAdapter)
        {
            base.Configure(out treeControl, out treeControlAdapter);

            EditorTheme = new DataEditorTheme(treeControl.Font);
        }
Example #34
0
        private void Init()
        {
            if (s_schemaLoader == null)
            {
                s_schemaLoader = new SchemaLoader();
            }
            m_PropertyGrid = new PropertyGrid(PropertyGridMode.PropertySorting | PropertyGridMode.DisplayDescriptions | PropertyGridMode.HideResetAllButton);
            m_treeControl  = new TreeControl();
            m_menu         = new MenuStrip();
            var fileMenu = new ToolStripMenuItem();
            var newMenu  = new ToolStripMenuItem();
            var openMenu = new ToolStripMenuItem();

            var exitMenu = new ToolStripMenuItem();
            var splitter = new SplitContainer();

            m_menu.SuspendLayout();
            splitter.BeginInit();
            splitter.Panel1.SuspendLayout();
            splitter.Panel2.SuspendLayout();
            splitter.SuspendLayout();

            SuspendLayout();

            // m_menu
            m_menu.Location = new System.Drawing.Point(0, 0);
            m_menu.Name     = "m_menu";
            m_menu.TabIndex = 0;
            m_menu.Text     = "m_menu";
            m_menu.Items.Add(fileMenu);


            // file
            fileMenu.Name             = "fileToolStripMenuItem";
            fileMenu.Size             = new System.Drawing.Size(37, 20);
            fileMenu.Text             = "File".Localize();
            fileMenu.DropDownOpening += new EventHandler(fileMenu_DropDownOpening);
            fileMenu.DropDownItems.AddRange(new ToolStripItem[]
            {
                newMenu,
                openMenu,
                m_openFolderMenu,
                m_saveMenu,
                m_saveAsMenu,
                exitMenu
            });

            // new
            newMenu.Name         = "newToolStripMenuItem";
            newMenu.ShortcutKeys = Keys.Control | Keys.N;
            newMenu.Text         = "New".Localize();
            newMenu.Click       += NewToolStripMenuItem_Click;

            //open
            openMenu.Name         = "openToolStripMenuItem";
            openMenu.ShortcutKeys = Keys.Control | Keys.O;
            openMenu.Text         = "Open...".Localize();
            openMenu.Click       += OpenToolStripMenuItem_Click;


            // open containing folder
            m_openFolderMenu.Name   = "OpenFolderMenu";
            m_openFolderMenu.Text   = "Open Containing Folder".Localize();
            m_openFolderMenu.Click += new EventHandler(OpenFolderMenu_Click);

            //save
            m_saveMenu.Name         = "saveToolStripMenuItem";
            m_saveMenu.ShortcutKeys = Keys.Control | Keys.S;
            m_saveMenu.Text         = "Save".Localize();
            m_saveMenu.Click       += SaveToolStripMenuItem_Click;

            // save as
            m_saveAsMenu.Name   = "saveAsToolStripMenuItem";
            m_saveAsMenu.Text   = "Save As...".Localize();
            m_saveAsMenu.Click += SaveAsToolStripMenuItem_Click;

            // exit
            exitMenu.Name   = "exitToolStripMenuItem";
            exitMenu.Text   = "Exit".Localize();
            exitMenu.Click += ExitToolStripMenuItem_Click;

            // tree control
            m_treeControl.Dock          = DockStyle.Fill;
            m_treeControl.Name          = "m_treeControl";
            m_treeControl.TabIndex      = 1;
            m_treeControl.Width         = 150;
            m_treeControl.ShowRoot      = false;
            m_treeControl.AllowDrop     = false;
            m_treeControl.SelectionMode = SelectionMode.One;
            m_treeControlAdapter        = new TreeControlAdapter(m_treeControl);

            // propertyGrid1
            m_PropertyGrid.Dock            = DockStyle.Fill;
            m_PropertyGrid.Name            = "propertyGrid1";
            m_PropertyGrid.TabIndex        = 3;
            m_PropertyGrid.PropertySorting = PropertySorting.None;

            // splitter
            splitter.Dock = DockStyle.Fill;
            splitter.Name = "splitContainer1";
            splitter.Panel1.Controls.Add(m_treeControl);
            splitter.Panel2.Controls.Add(m_PropertyGrid);
            splitter.SplitterDistance = 100;
            splitter.TabIndex         = 1;

            AutoScaleMode = AutoScaleMode.Font;
            ClientSize    = new System.Drawing.Size(600, 400);
            Controls.Add(splitter);
            Controls.Add(m_menu);
            MainMenuStrip = m_menu;
            Name          = "SkinEditor";
            Icon          = GdiUtil.CreateIcon(ResourceUtil.GetImage(Sce.Atf.Resources.AtfIconImage));
            UpdateTitleText();
            m_menu.ResumeLayout(false);
            m_menu.PerformLayout();
            splitter.Panel1.ResumeLayout(false);
            splitter.Panel2.ResumeLayout(false);
            splitter.EndInit();
            splitter.ResumeLayout(false);

            ResumeLayout(false);
            PerformLayout();
            splitter.SplitterDistance = 170;
        }
Example #35
0
 internal void RestoreExpansion(TreeControl.Node parent, TreeControlAdapter treeAdapter)
 {
     if (parent.Tag == null)
         return;
     List<object> expandedItems;
     if (m_expandedNodeMap.TryGetValue(parent.Tag, out expandedItems))
     {
         m_expandedNodeMap.Remove(parent.Tag);
         expandedItems.ForEach(item => treeAdapter.Expand(item));                
     }
 }
Example #36
0
        public AssetLister(
            IControlHostService controlHostService,
            IContextService contextService,
            ICommandService commandService,
            IFileDialogService fileDialogService)
        {
            m_controlHostService = controlHostService;
            m_contextService     = contextService;
            m_commandService     = commandService;
            m_fileDialogService  = fileDialogService;

            m_treeControl                = new TreeControl();
            m_treeControl.Dock           = DockStyle.Fill;
            m_treeControl.AllowDrop      = true;
            m_treeControl.SelectionMode  = SelectionMode.MultiExtended;
            m_treeControl.ImageList      = ResourceUtil.GetImageList16();
            m_treeControl.StateImageList = ResourceUtil.GetImageList16();

            m_treeControl.DragOver        += new DragEventHandler(treeControl_DragOver);
            m_treeControl.DragDrop        += new DragEventHandler(treeControl_DragDrop);
            m_treeControl.MouseDown       += new MouseEventHandler(treeControl_MouseDown);
            m_treeControl.MouseUp         += new MouseEventHandler(treeControl_MouseUp);
            m_treeControl.NodeLabelEdited += new EventHandler <TreeControl.NodeEventArgs>(treeControl_NodeLabelEdited);

            m_listView           = new ListView();
            m_listView.View      = View.Details;
            m_listView.Dock      = DockStyle.Fill;
            m_listView.AllowDrop = true;
            m_listView.LabelEdit = false;

            m_listView.MouseDown   += new MouseEventHandler(thumbnailControl_MouseDown);
            m_listView.MouseUp     += new MouseEventHandler(thumbnailControl_MouseUp);
            m_listView.MouseMove   += new MouseEventHandler(thumbnailControl_MouseMove);
            m_listView.MouseLeave  += new EventHandler(thumbnailControl_MouseLeave);
            m_listView.DoubleClick += new EventHandler(thumbnailControl_DoubleClick);
            m_listView.DragOver    += new DragEventHandler(thumbnailControl_DragOver);
            m_listView.DragDrop    += new DragEventHandler(thumbnailControl_DragDrop);

            m_thumbnailControl = new ThumbnailControl();
            m_thumbnailControl.IndicatorImageList = ResourceUtil.GetImageList16();
            m_thumbnailControl.Dock              = DockStyle.Fill;
            m_thumbnailControl.AllowDrop         = true;
            m_thumbnailControl.BackColor         = SystemColors.Window;
            m_thumbnailControl.SelectionChanged += new EventHandler(thumbnailControl_SelectionChanged);
            m_thumbnailControl.MouseDown        += new MouseEventHandler(thumbnailControl_MouseDown);
            m_thumbnailControl.MouseMove        += new MouseEventHandler(thumbnailControl_MouseMove);
            m_thumbnailControl.MouseUp          += new MouseEventHandler(thumbnailControl_MouseUp);
            m_thumbnailControl.MouseLeave       += new EventHandler(thumbnailControl_MouseLeave);
            m_thumbnailControl.DoubleClick      += new EventHandler(thumbnailControl_DoubleClick);
            m_thumbnailControl.DragOver         += new DragEventHandler(thumbnailControl_DragOver);
            m_thumbnailControl.DragDrop         += new DragEventHandler(thumbnailControl_DragDrop);

            m_splitContainer             = new SplitContainer();
            m_splitContainer.Name        = "Asset";
            m_splitContainer.Orientation = Orientation.Vertical;
            m_splitContainer.Panel1.Controls.Add(m_treeControl);
            m_splitContainer.Panel2.Controls.Add(m_thumbnailControl);
            m_splitContainer.Panel2.Controls.Add(m_listView);

            m_listView.Hide();

            m_selection.Changed += new EventHandler(selection_Changed);

            m_treeControlAdapter          = new TreeControlAdapter(m_treeControl);
            m_assetFolderTreeView         = new AssetFolderTreeView(this);
            m_treeControlAdapter.TreeView = m_assetFolderTreeView;

            m_listViewAdaptor   = new ListViewAdaptor(m_listView);
            m_assetItemListView = new AssetItemListView(this);
        }