Search in sources :

Example 1 with CubridDeferredTreeContentManager

use of com.cubrid.common.ui.common.navigator.CubridDeferredTreeContentManager in project cubrid-manager by CUBRID.

the class CommonUITool method refreshNavigatorTree.

/**
	 *
	 * Reload the children of this node and restore the expanded status
	 *
	 * @param viewer the TableViewer object
	 * @param node the ICubridNode object
	 */
public static void refreshNavigatorTree(AbstractTreeViewer viewer, ICubridNode node) {
    if (node != null && node.getLoader() != null) {
        node.getLoader().setLoaded(false);
    }
    if (node != null && !viewer.getExpandedState(node)) {
        node.removeAllChild();
    }
    Object[] expandedElements = viewer.getExpandedElements();
    IContentProvider contentProvider = viewer.getContentProvider();
    if (contentProvider instanceof DeferredContentProvider) {
        CubridDeferredTreeContentManager manager = ((DeferredContentProvider) contentProvider).getDeferredTreeContentManager();
        if (manager != null) {
            manager.setExpandedElements(expandedElements);
        }
    }
    if (node == null) {
        viewer.refresh(true);
    } else {
        viewer.refresh(node, true);
    }
}
Also used : IContentProvider(org.eclipse.jface.viewers.IContentProvider) DeferredContentProvider(com.cubrid.common.ui.common.navigator.DeferredContentProvider) CubridDeferredTreeContentManager(com.cubrid.common.ui.common.navigator.CubridDeferredTreeContentManager)

Aggregations

CubridDeferredTreeContentManager (com.cubrid.common.ui.common.navigator.CubridDeferredTreeContentManager)1 DeferredContentProvider (com.cubrid.common.ui.common.navigator.DeferredContentProvider)1 IContentProvider (org.eclipse.jface.viewers.IContentProvider)1