/// <summary>
        /// Collapses the item to hide any child items.
        /// </summary>
        public void Collapse()
        {
            if (!_expanded)
            {
                return;
            }

            if (_listView != null)
            {
                TreeListViewCancelEventArgs e = new TreeListViewCancelEventArgs(null, this);

                _listView.OnItemCollapsing(e);

                if (e.Cancel)
                {
                    return;
                }
            }

            _expanded = false;

            if (_items != null && _items.Count > 0)
            {
                _listView.RecalculateItemPositions(this);
            }
            else
            {
                _listView.Invalidate();
            }

            if (_listView != null)
            {
                _listView.OnItemCollapsed(new TreeListViewEventArgs(null, this));
            }
        }
        /// <summary>
        /// Expands the item to display any child items.
        /// </summary>
        public virtual void Expand()            // Aulofee customization - start. Made method virtual. Custo end
        {
            if (_expanded)
            {
                return;
            }

            if (_listView != null)
            {
                TreeListViewCancelEventArgs e = new TreeListViewCancelEventArgs(null, this);

                _listView.OnItemExpanding(e);

                if (e.Cancel)
                {
                    return;
                }
            }

            _expanded = true;

            if (_items != null && _items.Count > 0)
            {
                _listView.RecalculateItemPositions(this);
            }
            else
            {
                _listView.Invalidate();
            }

            if (_listView != null)
            {
                _listView.OnItemExpanded(new TreeListViewEventArgs(null, this));
            }
        }
Пример #3
0
 private void tlvwLocals_ItemExpanding(object sender, TreeListViewCancelEventArgs e)
 {
     if (e.Item.Items.Count == 1 && e.Item.Items[0].Text == EmptyTableElementName)
     {
         LuaVariable var = e.Item.Tag as LuaVariable;
         ClientDebugManager.Instance.AddCommand(new UpdateTableDetailsCommand(var.FullNameIn, var.FullNameOut, true, null));
     }
 }
Пример #4
0
 void FSExplorer_BeforeCollapse(object sender, TreeListViewCancelEventArgs e)
 {
     if (e.Item.Level > 0)
     {
         if (e.Item.ImageKey == "文件夹展开")
         {
             e.Item.ImageKey = "文件夹收起";
         }
     }
 }
Пример #5
0
 private void trlvWorkSheet_BeforeExpand(object sender, TreeListViewCancelEventArgs e)
 {
     if (e.Item.ImageIndex == 0)
     {
         e.Item.ImageIndex = 1;
     }
     if (e.Item.ImageIndex == 2)
     {
         e.Item.ImageIndex = 3;
     }
 }
Пример #6
0
 private void trlvWorkSheet_BeforeCollapse(object sender, TreeListViewCancelEventArgs e)
 {
     if (e.Item.ImageIndex == 1)
     {
         e.Item.ImageIndex = 0;
     }
     if (e.Item.ImageIndex == 3)
     {
         e.Item.ImageIndex = 2;
     }
 }
Пример #7
0
 void FSExplorer_BeforeExpand(object sender, TreeListViewCancelEventArgs e)
 {
     if (e.Item.Level > 0)
     {
         if (e.Item.ImageKey == "文件夹收起")
         {
             Shell32.SHFILEINFO shFolderInfo = new Shell32.SHFILEINFO();
             Apq.Windows.Forms.IconChache.GetFileSystemIcon(e.Item.FullPath, ref shFolderInfo, true);
             e.Item.ImageKey = "文件夹展开";
         }
     }
 }
Пример #8
0
 internal void RaiseBeforeExpand(TreeListViewCancelEventArgs e)
 {
     if(BeforeExpand != null)
     BeforeExpand(this, e);
 }
Пример #9
0
 internal void RaiseBeforeCollapse(TreeListViewCancelEventArgs e)
 {
     if(BeforeCollapse != null)
     BeforeCollapse(this, e);
 }
Пример #10
0
 /// <summary>
 /// Raises the BeforeExpand event.
 /// </summary>
 /// <param name="e"></param>
 protected virtual void OnBeforeExpand(TreeListViewCancelEventArgs e)
 {
     if(BeforeExpand != null) BeforeExpand(this, e);
 }
Пример #11
0
 /// <summary>
 /// Raises the BeforeCollapse event.
 /// </summary>
 /// <param name="e"></param>
 protected virtual void OnBeforeCollapse(TreeListViewCancelEventArgs e)
 {
     if(BeforeCollapse != null) BeforeCollapse(this, e);
 }
Пример #12
0
 internal void RaiseBeforeExpand(TreeListViewCancelEventArgs e)
 {
     OnBeforeExpand(e);
 }
Пример #13
0
 internal void RaiseBeforeCollapse(TreeListViewCancelEventArgs e)
 {
     OnBeforeCollapse(e);
 }
 /// <summary>
 /// Expand
 /// </summary>
 public void Expand()
 {
     // The item wasn't expanded -> raise an event
       if(Visible && !_isexpanded && ListView != null)
       {
     TreeListViewCancelEventArgs e = new TreeListViewCancelEventArgs(
       this, TreeListViewAction.Expand);
     ListView.RaiseBeforeExpand(e);
     if(e.Cancel) return;
       }
       if(this.Visible)
       {
     Items.ReadWriteLock.AcquireReaderLock(-1);
     for(int i = Items.Count - 1 ; i >= 0 ;i--)
     {
       TreeListViewItem item = this.Items[i];
       if(!item.Visible)
       {
     ListView LView = this.ListView;
     LView.Items.Insert(
       this.Index + 1,
       item);
     item.SetIndentation();
       }
       if(item.IsExpanded)
     item.Expand();
     }
     Items.ReadWriteLock.ReleaseReaderLock();
       }
       // The item wasn't expanded -> raise an event
       if(Visible && !_isexpanded && ListView != null)
       {
     this._isexpanded = true;
     TreeListViewEventArgs e = new TreeListViewEventArgs(
       this, TreeListViewAction.Expand);
     ListView.RaiseAfterExpand(e);
     if(AfterExpand != null) AfterExpand(this);
       }
       this._isexpanded = true;
 }
Пример #15
0
        internal void ExpandInternal()
        {
            if (IsInATreeListView)
            {
                if (ListView.InvokeRequired)
                {
                    throw (new Exception("Invoke Required"));
                }
            }

            TreeListViewItem selItem = null;

            if (TreeListView != null)
            {
                selItem = TreeListView.FocusedItem;
            }

            // Must set ListView.checkDirection to CheckDirection.None.
            // Forbid recursively checking.
            CheckDirection oldDirection = CheckDirection.All;

            if (ListView != null)
            {
                oldDirection             = ListView._checkDirection;
                ListView._checkDirection = CheckDirection.None;
            }

            // The item wasn't expanded -> raise an event
            if (Visible && !_isexpanded && ListView != null)
            {
                TreeListViewCancelEventArgs e = new TreeListViewCancelEventArgs(
                    this, TreeListViewAction.Expand);
                ListView.RaiseBeforeExpand(e);
                if (e.Cancel)
                {
                    return;
                }
            }

            if (Visible)
            {
                for (int i = Items.Count - 1; i >= 0; i--)
                {
                    TreeListViewItem item = this.Items[i];
                    if (!item.Visible)
                    {
                        ListView LView = this.ListView;
                        LView.Items.Insert(
                            this.Index + 1, item);
                        item.SetIndentation();
                    }
                    if (item.IsExpanded)
                    {
                        item.Expand();
                    }
                }
            }
            // The item wasn't expanded -> raise an event
            if (Visible && !_isexpanded && IsInATreeListView)
            {
                this._isexpanded = true;
                TreeListViewEventArgs e = new TreeListViewEventArgs(
                    this, TreeListViewAction.Expand);
                ListView.RaiseAfterExpand(e);
                if (AfterExpand != null)
                {
                    AfterExpand(this);
                }
            }
            this._isexpanded = true;

            // Reset ListView.checkDirection
            if (IsInATreeListView)
            {
                ListView._checkDirection = oldDirection;
            }
            if (TreeListView != null && selItem != null)
            {
                if (selItem.Visible)
                {
                    selItem.Focused = true;
                }
            }
        }
Пример #16
0
        internal void CollapseInternal()
        {
            if(IsInATreeListView)
                if(ListView.InvokeRequired)
                    throw(new Exception("Invoke Required"));
            TreeListViewItem selItem = null;
            if(TreeListView != null) selItem = TreeListView.FocusedItem;
            // The item was expanded -> raise an event
            if(Visible && _isexpanded && ListView != null)
            {
                TreeListViewCancelEventArgs e = new TreeListViewCancelEventArgs(
                    this, TreeListViewAction.Collapse);
                ListView.RaiseBeforeCollapse(e);
                if(e.Cancel) return;
            }

            // Collapse
            if(this.Visible)
                foreach(TreeListViewItem item in Items)
                        item.Hide();

            // The item was expanded -> raise an event
            if(Visible && _isexpanded && IsInATreeListView)
            {
                this._isexpanded = false;
                TreeListViewEventArgs e = new TreeListViewEventArgs(
                    this, TreeListViewAction.Collapse);
                ListView.RaiseAfterCollapse(e);
                if(AfterCollapse != null) AfterCollapse(this);
            }
            this._isexpanded = false;
            if(IsInATreeListView && selItem != null)
            {
                if(selItem.Visible)
                    selItem.Focused = true;
                else
                {
                    ListView listview = (ListView) TreeListView;
                    listview.SelectedItems.Clear();
                    TreeListViewItem[] items = selItem.ParentsInHierarch;
                    for(int i = items.Length - 1; i >= 0; i--)
                        if(items[i].Visible)
                        {
                            items[i].Focused = true;
                            break;
                        }
                }
            }
        }
Пример #17
0
        internal void ExpandInternal()
        {
            if(IsInATreeListView)
                if (ListView.InvokeRequired)
                    throw(new Exception("Invoke Required"));

            TreeListViewItem selItem = null;
            if(TreeListView != null) selItem = TreeListView.FocusedItem;

            // Must set ListView.checkDirection to CheckDirection.None.
            // Forbid recursively checking.
            CheckDirection oldDirection = CheckDirection.All;
            if(ListView != null)
            {
                oldDirection = ListView._checkDirection;
                ListView._checkDirection = CheckDirection.None;
            }

            // The item wasn't expanded -> raise an event
            if(Visible && !_isexpanded && ListView != null)
            {
                TreeListViewCancelEventArgs e = new TreeListViewCancelEventArgs(
                    this, TreeListViewAction.Expand);
                ListView.RaiseBeforeExpand(e);
                if(e.Cancel) return;
            }

            if(Visible)
                for(int i = Items.Count - 1 ; i >= 0 ;i--)
                {
                    TreeListViewItem item = this.Items[i];
                    if(!item.Visible)
                    {
                        ListView LView = this.ListView;
                        LView.Items.Insert(
                            this.Index + 1, item);
                        item.SetIndentation();
                    }
                    if(item.IsExpanded) item.Expand();
                }
            // The item wasn't expanded -> raise an event
            if(Visible && !_isexpanded && IsInATreeListView)
            {
                this._isexpanded = true;
                TreeListViewEventArgs e = new TreeListViewEventArgs(
                    this, TreeListViewAction.Expand);
                ListView.RaiseAfterExpand(e);
                if (AfterExpand != null) AfterExpand(this);
            }
            this._isexpanded = true;

            // Reset ListView.checkDirection
            if(IsInATreeListView)
                ListView._checkDirection = oldDirection;
            if(TreeListView != null && selItem != null)
                if(selItem.Visible)
                    selItem.Focused = true;
        }
Пример #18
0
        internal void CollapseInternal()
        {
            if (IsInATreeListView)
            {
                if (ListView.InvokeRequired)
                {
                    throw (new Exception("Invoke Required"));
                }
            }
            TreeListViewItem selItem = null;

            if (TreeListView != null)
            {
                selItem = TreeListView.FocusedItem;
            }
            // The item was expanded -> raise an event
            if (Visible && _isexpanded && ListView != null)
            {
                TreeListViewCancelEventArgs e = new TreeListViewCancelEventArgs(
                    this, TreeListViewAction.Collapse);
                ListView.RaiseBeforeCollapse(e);
                if (e.Cancel)
                {
                    return;
                }
            }

            // Collapse
            if (this.Visible)
            {
                foreach (TreeListViewItem item in Items)
                {
                    item.Hide();
                }
            }

            // The item was expanded -> raise an event
            if (Visible && _isexpanded && IsInATreeListView)
            {
                this._isexpanded = false;
                TreeListViewEventArgs e = new TreeListViewEventArgs(
                    this, TreeListViewAction.Collapse);
                ListView.RaiseAfterCollapse(e);
                if (AfterCollapse != null)
                {
                    AfterCollapse(this);
                }
            }
            this._isexpanded = false;
            if (IsInATreeListView && selItem != null)
            {
                if (selItem.Visible)
                {
                    selItem.Focused = true;
                }
                else
                {
                    ListView listview = (ListView)TreeListView;
                    listview.SelectedItems.Clear();
                    TreeListViewItem[] items = selItem.ParentsInHierarch;
                    for (int i = items.Length - 1; i >= 0; i--)
                    {
                        if (items[i].Visible)
                        {
                            items[i].Focused = true;
                            break;
                        }
                    }
                }
            }
        }
        /// <summary>
        /// Collapse
        /// </summary>
        public void Collapse()
        {
            // The item was expanded -> raise an event
              if(Visible && _isexpanded && ListView != null)
              {
            TreeListViewCancelEventArgs e = new TreeListViewCancelEventArgs(
              this, TreeListViewAction.Collapse);
            ListView.RaiseBeforeCollapse(e);
            if(e.Cancel) return;
              }

              // Collapse
              Items.ReadWriteLock.AcquireReaderLock(-1);
              if(this.Visible)
            foreach(TreeListViewItem item in Items)
              item.Hide();
              Items.ReadWriteLock.ReleaseReaderLock();

              // The item was expanded -> raise an event
              if(Visible && _isexpanded && ListView != null)
              {
            this._isexpanded = false;
            TreeListViewEventArgs e = new TreeListViewEventArgs(
              this, TreeListViewAction.Collapse);
            ListView.RaiseAfterCollapse(e);
            if(AfterCollapse != null) AfterCollapse(this);
              }
              this._isexpanded = false;
        }