Ejemplo n.º 1
0
        //public static List<IVirtualFolder> GetFolderSet(this ITreeNode node, string dbsubfolder)
        //{
        //    ITreeNode seldb = node.GetDatabaseNode();
        //    if (seldb == null) return null;

        //    string dbname = node.GetDatabaseName();
        //    IPhysicalConnection conn = MainWindowExtension.SelectedConnection;
        //    if (conn != null && conn.SystemConnection != null)
        //    {
        //        DXDriver driver = PhysicalConnectionExtension.GetDXDriver(conn);
        //        IVirtualFolder local = new FileSystemFolder(seldb.GetPrivateSubFolder(dbsubfolder));
        //        List<IVirtualFolder> res = new List<IVirtualFolder>();
        //        res.Add(local);
        //        if (driver != null)
        //        {
        //            IVirtualFolder onserver = driver.GetFolder(dbsubfolder, dbname);
        //            res.Add(onserver);
        //        }
        //        return res;
        //    }
        //    return null;
        //}

        public static ITreeNode[] GetChildrenNow(this ITreeNode node)
        {
            if (!node.PreparedChildren)
            {
                IAsyncResult async = node.BeginLoadChildren(null);
                Async.WaitFor(async);
                node.EndLoadChildren(async);
            }
            return(node.GetChildren());
        }
Ejemplo n.º 2
0
        //void m_menu_Opening(object sender, System.ComponentModel.CancelEventArgs e)
        //{
        //    m_menu.Items.Clear();
        //    m_node.GetPopupMenu(new MenuBuilder(m_menu.Items));
        //}

        //void m_menu_Popup(object sender, EventArgs e)
        //{
        //    //m_menu.MenuItems.Clear();
        //    m_menu.Items.Clear();
        //    m_node.GetPopupMenu(new PopupMenuBuilder(m_menu, m_tree));
        //}

        public bool AllowExpand()
        {
            if (!m_node.AllowExpand())
            {
                return(false);
            }
            MacroManager.ExpandNode(m_node);
            if (m_filledChildren)
            {
                m_node.NotifyExpanded();
                return(true);
            }
            if (!m_node.PreparedChildren)
            {
                ProcessRegister.AddBackgroundTask("s_expand");
                m_node.BeginLoadChildren(Async.CreateInvokeCallback(Invoker, OnPreparedExpand));
                m_expanding = true;
                RefreshSelf();
                return(false);
            }
            FillChildren();
            m_node.NotifyExpanded();
            return(true);
        }