예제 #1
0
        private void fpcrumb_SelectedItemChanging(object sender, CrumbBarSelectionEventArgs e)
        {
            //MessageBox.Show(Gib.nowcrst.ToString());
            //ToastNotification.Show(this, Gib.nowcrst.ToString());
            if (Gib.nowcrst == 0)
            {
                //ToastNotification.Show(this, "fpcrumb_SelectedItemChanging" + e.ToString(), 5000);
                //MessageBox.Show("Test1");
                // Load folders are selection changes...
                CrumbBarItem parent = e.NewSelectedItem;
                //if (parent == null || parent.SubItems.Count > 0){
                //    MessageBox.Show("out"); return;}
                for(i=0;i<26;++i)
                    if (parent.Text == ((char)( i + 'A')).ToString()+":\\")
                    {
                        Gib.nowcrst = 1;
                        parent.SubItems.Clear();
                        break;
                    }

                DirectoryInfo dirInfo = null;
                if (parent.Tag is DriveInfo)
                {
                    DriveInfo driveInfo = (DriveInfo) parent.Tag;
                    dirInfo = driveInfo.RootDirectory;
                }
                else if (parent.Tag is DirectoryInfo)
                {
                    dirInfo = (DirectoryInfo) parent.Tag;
                }
                else
                {
                    return;
                }
                DirectoryInfo[] subDirectories = dirInfo.GetDirectories();
                foreach (DirectoryInfo directoryInfo in subDirectories)
                {
                    CrumbBarItem node = new CrumbBarItem();
                    node.Tag = directoryInfo;
                    node.Text = directoryInfo.Name;
                    node.Image = Properties.Resources.folderp;
                    parent.SubItems.Add(node);
                }
                Gib.fpos[Gib.nowtab, ++Gib.nowp[Gib.nowtab]] = dirInfo.FullName;
                Gib.maxn[Gib.nowtab] = Gib.maxn[Gib.nowtab] > Gib.nowp[Gib.nowtab]
                    ? Gib.maxn[Gib.nowtab]
                    : Gib.nowp[Gib.nowtab];
                filepath.Text = Gib.fpos[Gib.nowtab, Gib.nowp[Gib.nowtab]];
                reffile(Gib.fpos[Gib.nowtab, Gib.nowp[Gib.nowtab]], Gib.smode);
            }
            else
                Gib.nowcrst = 0;
        }
예제 #2
0
 /*
 //ToastNotification.Show(this, "fpcrumb_SelectedItemChanging" + e.ToString(), 5000);
 //MessageBox.Show("Test1");
 // Load folders are selection changes...
 CrumbBarItem parent = e.NewSelectedItem;
 //if (parent == null || parent.SubItems.Count > 0){
 //    MessageBox.Show("out"); return;}
 /*
 for(int i=0;i<26;++i)
     if (parent.Text == ((char) ('A' + i)).ToString() + ":\\")
     {
         parent.SubItems.Clear();
         break;
     }
 //if (parent.Text =="C:\\")
 //    parent.SubItems.Clear();
 DirectoryInfo dirInfo = null;
 if (parent.Tag is DriveInfo)
 {
     DriveInfo driveInfo = (DriveInfo) parent.Tag;
     dirInfo = driveInfo.RootDirectory;
 }
 else if (parent.Tag is DirectoryInfo)
 {
     dirInfo = (DirectoryInfo) parent.Tag;
 }
 else
 {
     return;
 }
 bool bj = true;
 for (int i = 0; i < 26; ++i)
     if (parent.Text == ((char) ('A' + i)).ToString() + ":\\")
     {
         bj = false;
         break;
     }
 if (bj == true)
 {
     DirectoryInfo[] subDirectories = dirInfo.GetDirectories();
     foreach (DirectoryInfo directoryInfo in subDirectories)
     {
         CrumbBarItem node = new CrumbBarItem();
         node.Tag = directoryInfo;
         node.Text = directoryInfo.Name;
         node.Image = Properties.Resources.folderp;
         parent.SubItems.Add(node);
     }
     Gib.fpos[Gib.nowtab, ++Gib.nowp[Gib.nowtab]] = dirInfo.FullName;
     Gib.maxn[Gib.nowtab] = Gib.maxn[Gib.nowtab] > Gib.nowp[Gib.nowtab]
         ? Gib.maxn[Gib.nowtab]
         : Gib.nowp[Gib.nowtab];
     filepath.Text = Gib.fpos[Gib.nowtab, Gib.nowp[Gib.nowtab]];
 }
 else
     */
 private void fpcrumb_SelectedItemChanged(object sender, CrumbBarSelectionEventArgs e)
 {
 }
예제 #3
0
        /// <summary>
        /// Sets the currently selected item in the control.
        /// </summary>
        /// <param name="selection">Reference to selected item.</param>
        /// <param name="source">Source of the event.</param>
        public void SetSelectedItem(CrumbBarItem selection, eEventSource source)
        {
            bool raiseChangedEvents = selection != _SelectedItem;

            if (raiseChangedEvents)
            {
                CrumbBarSelectionEventArgs eventArgs = new CrumbBarSelectionEventArgs(selection);
                OnSelectedItemChanging(eventArgs);
                if (eventArgs.Cancel) return;
                selection = eventArgs.NewSelectedItem;
            }

            if (_SelectedItem != null)
                _SelectedItem.IsSelected = false;

            ArrayList newItems = new ArrayList();
            if (selection == null)
                selection = GetFirstVisibleItem();
            _ViewContainer.Expanded = false; // closes any open popups
            _ViewContainer.RestoreOverflowItems();

            if (selection != null)
            {
                CrumbBarItem current = selection;
                while (current != null)
                {
                    newItems.Insert(0, GetItemView(current, true));
                    current = current.Parent as CrumbBarItem;
                }

                UpdateSelectedItemImage(selection);
            }
            else
                UpdateSelectedItemImage(null);

            // Remove current view items
            _ViewContainer.ClearViewItems();
            if (selection != null)
            {
                _ViewContainer.SubItems.AddRange((BaseItem[])newItems.ToArray(typeof(BaseItem)));
            }
            _ViewContainer.NeedRecalcSize = true;

            _SelectedItem = selection;
            if (_SelectedItem != null)
                _SelectedItem.IsSelected = true;

            this.RecalcLayout();

            if (raiseChangedEvents)
            {
                CrumbBarSelectionEventArgs eventArgs = new CrumbBarSelectionEventArgs(selection);
                OnSelectedItemChanged(eventArgs);
            }
        }
예제 #4
0
 /// <summary>
 /// Raises the SelectedItemChanged event. 
 /// </summary>
 /// <param name="e">Provides event arguments.</param>
 protected virtual void OnSelectedItemChanged(CrumbBarSelectionEventArgs e)
 {
     CrumBarSelectionEventHandler eh = SelectedItemChanged;
     if (eh != null) eh(this, e);
 }
예제 #5
0
 private void fpcrumb_SelectedItemChanging(object sender, CrumbBarSelectionEventArgs e)
 {
     if (Gib.nowcrst == 0)
     {
         CrumbBarItem parent = e.NewSelectedItem;
         Gib.nowcrst = 1;
         parent.SubItems.Clear();
         DirectoryInfo dirInfo = null;
         if (parent.Tag is DriveInfo)
         {
             DriveInfo driveInfo = (DriveInfo) parent.Tag;
             dirInfo = driveInfo.RootDirectory;
         }
         else if (parent.Tag is DirectoryInfo)
         {
             dirInfo = (DirectoryInfo) parent.Tag;
         }
         else
         {
             return;
         }
         Gib.fpos[Gib.nowtab, Gib.nowp[Gib.nowtab]] = dirInfo.FullName;
         Gib.maxn[Gib.nowtab] = Gib.maxn[Gib.nowtab] > Gib.nowp[Gib.nowtab]
             ? Gib.maxn[Gib.nowtab]
             : Gib.nowp[Gib.nowtab];
         filepath.Text = Gib.fpos[Gib.nowtab, Gib.nowp[Gib.nowtab]];
         //loadin(parent);
         reffile(Gib.fpos[Gib.nowtab, Gib.nowp[Gib.nowtab]]);
         //Gib.nowcrst = 1;
     }
     else
         Gib.nowcrst = 0;
 }