Search in sources :

Example 6 with NavigatorViewBase

use of org.jkiss.dbeaver.ui.navigator.database.NavigatorViewBase in project dbeaver by serge-rider.

the class NavigatorHandlerLocalFolderCreate method createFolder.

public static boolean createFolder(IWorkbenchWindow workbenchWindow, IWorkbenchPart activePart, DBNProjectDatabases databases, final DBNLocalFolder parentFolder, final Collection<DBNDataSource> nodes, String newName) {
    if (newName == null) {
        newName = EnterNameDialog.chooseName(workbenchWindow.getShell(), "Folder name");
    }
    if (CommonUtils.isEmpty(newName)) {
        return false;
    }
    // Create folder and refresh databases root
    // DS container will reload folders on refresh
    final DBPDataSourceRegistry dsRegistry = databases.getDataSourceRegistry();
    DBPDataSourceFolder folder = dsRegistry.addFolder(parentFolder == null ? null : parentFolder.getFolder(), newName);
    for (DBNDataSource node : nodes) {
        node.setFolder(folder);
    }
    if (parentFolder != null && activePart instanceof NavigatorViewBase) {
        final TreeViewer viewer = ((NavigatorViewBase) activePart).getNavigatorViewer();
        if (viewer != null) {
            UIUtils.asyncExec(() -> viewer.expandToLevel(parentFolder, 1));
        }
    }
    DBNModel.updateConfigAndRefreshDatabases(databases);
    return true;
}
Also used : DBNDataSource(org.jkiss.dbeaver.model.navigator.DBNDataSource) TreeViewer(org.eclipse.jface.viewers.TreeViewer) DBPDataSourceFolder(org.jkiss.dbeaver.model.DBPDataSourceFolder) NavigatorViewBase(org.jkiss.dbeaver.ui.navigator.database.NavigatorViewBase) DBPDataSourceRegistry(org.jkiss.dbeaver.model.app.DBPDataSourceRegistry)

Example 7 with NavigatorViewBase

use of org.jkiss.dbeaver.ui.navigator.database.NavigatorViewBase in project dbeaver by serge-rider.

the class NavigatorHandlerExpandAll method execute.

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    IWorkbenchPart activePart = HandlerUtil.getActivePart(event);
    if (activePart instanceof NavigatorViewBase) {
        TreeViewer navigatorViewer = ((NavigatorViewBase) activePart).getNavigatorViewer();
        ISelection selection = navigatorViewer.getSelection();
        if (selection.isEmpty()) {
            navigatorViewer.expandAll();
        } else if (selection instanceof IStructuredSelection) {
            for (Iterator iter = ((IStructuredSelection) selection).iterator(); iter.hasNext(); ) {
                navigatorViewer.expandToLevel(iter.next(), TreeViewer.ALL_LEVELS);
            }
        }
    }
    return null;
}
Also used : IWorkbenchPart(org.eclipse.ui.IWorkbenchPart) TreeViewer(org.eclipse.jface.viewers.TreeViewer) ISelection(org.eclipse.jface.viewers.ISelection) Iterator(java.util.Iterator) NavigatorViewBase(org.jkiss.dbeaver.ui.navigator.database.NavigatorViewBase) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection)

Example 8 with NavigatorViewBase

use of org.jkiss.dbeaver.ui.navigator.database.NavigatorViewBase in project dbeaver by serge-rider.

the class SyncConnectionHandler method execute.

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    final NavigatorViewBase navigatorView = NavigatorUtils.getActiveNavigatorView(event);
    if (navigatorView == null) {
        return null;
    }
    IEditorPart activeEditor = HandlerUtil.getActiveEditor(event);
    if (NavigatorUtils.syncEditorWithNavigator(navigatorView, activeEditor)) {
        HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().activate(activeEditor);
    }
    return null;
}
Also used : NavigatorViewBase(org.jkiss.dbeaver.ui.navigator.database.NavigatorViewBase) IEditorPart(org.eclipse.ui.IEditorPart)

Example 9 with NavigatorViewBase

use of org.jkiss.dbeaver.ui.navigator.database.NavigatorViewBase in project dbeaver by dbeaver.

the class NavigatorHandlerLocalFolderCreate method createFolder.

public static boolean createFolder(IWorkbenchWindow workbenchWindow, IWorkbenchPart activePart, DBNProjectDatabases databases, final DBNLocalFolder parentFolder, final Collection<DBNDataSource> nodes, String newName) {
    if (newName == null) {
        newName = EnterNameDialog.chooseName(workbenchWindow.getShell(), "Folder name");
    }
    if (CommonUtils.isEmpty(newName)) {
        return false;
    }
    // Create folder and refresh databases root
    // DS container will reload folders on refresh
    final DBPDataSourceRegistry dsRegistry = databases.getDataSourceRegistry();
    DBPDataSourceFolder folder = dsRegistry.addFolder(parentFolder == null ? null : parentFolder.getFolder(), newName);
    for (DBNDataSource node : nodes) {
        node.setFolder(folder);
    }
    if (parentFolder != null && activePart instanceof NavigatorViewBase) {
        final TreeViewer viewer = ((NavigatorViewBase) activePart).getNavigatorViewer();
        if (viewer != null) {
            DBeaverUI.asyncExec(new Runnable() {

                @Override
                public void run() {
                    viewer.expandToLevel(parentFolder, 1);
                }
            });
        }
    }
    DBNModel.updateConfigAndRefreshDatabases(databases);
    return true;
}
Also used : DBNDataSource(org.jkiss.dbeaver.model.navigator.DBNDataSource) TreeViewer(org.eclipse.jface.viewers.TreeViewer) DBPDataSourceFolder(org.jkiss.dbeaver.model.DBPDataSourceFolder) NavigatorViewBase(org.jkiss.dbeaver.ui.navigator.database.NavigatorViewBase) DBPDataSourceRegistry(org.jkiss.dbeaver.model.app.DBPDataSourceRegistry)

Example 10 with NavigatorViewBase

use of org.jkiss.dbeaver.ui.navigator.database.NavigatorViewBase in project dbeaver by dbeaver.

the class SyncConnectionHandler method execute.

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    final NavigatorViewBase navigatorView = NavigatorUtils.getActiveNavigatorView(event);
    if (navigatorView == null) {
        return null;
    }
    IEditorPart activeEditor = HandlerUtil.getActiveEditor(event);
    if (NavigatorUtils.syncEditorWithNavigator(navigatorView, activeEditor)) {
        HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().activate(activeEditor);
    }
    return null;
}
Also used : NavigatorViewBase(org.jkiss.dbeaver.ui.navigator.database.NavigatorViewBase) IEditorPart(org.eclipse.ui.IEditorPart)

Aggregations

NavigatorViewBase (org.jkiss.dbeaver.ui.navigator.database.NavigatorViewBase)13 IEditorPart (org.eclipse.ui.IEditorPart)6 TreeViewer (org.eclipse.jface.viewers.TreeViewer)5 IWorkbenchPage (org.eclipse.ui.IWorkbenchPage)4 DBNDataSource (org.jkiss.dbeaver.model.navigator.DBNDataSource)4 DBNNode (org.jkiss.dbeaver.model.navigator.DBNNode)4 ProjectExplorerView (org.jkiss.dbeaver.ui.navigator.project.ProjectExplorerView)4 IFile (org.eclipse.core.resources.IFile)3 ISelection (org.eclipse.jface.viewers.ISelection)3 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)3 NotNull (org.jkiss.code.NotNull)3 DBPDataSourceContainer (org.jkiss.dbeaver.model.DBPDataSourceContainer)3 DBPDataSourceFolder (org.jkiss.dbeaver.model.DBPDataSourceFolder)3 DBPDataSourceRegistry (org.jkiss.dbeaver.model.app.DBPDataSourceRegistry)3 DBNDatabaseNode (org.jkiss.dbeaver.model.navigator.DBNDatabaseNode)3 DBSObject (org.jkiss.dbeaver.model.struct.DBSObject)3 IDatabaseEditorInput (org.jkiss.dbeaver.ui.editors.IDatabaseEditorInput)3 InvocationTargetException (java.lang.reflect.InvocationTargetException)2 Iterator (java.util.Iterator)2 IWorkbenchPart (org.eclipse.ui.IWorkbenchPart)2