use of org.jkiss.dbeaver.ui.IProgressControlProvider in project dbeaver by dbeaver.
the class TabbedFolderPageNode method createControl.
@Override
public void createControl(Composite parent) {
itemControl = new ItemListControl(parent, SWT.SHEET, mainEditor.getSite(), node, metaNode);
// itemControl.getLayout().marginHeight = 0;
// itemControl.getLayout().marginWidth = 0;
ProgressPageControl progressControl = null;
if (mainEditor instanceof IProgressControlProvider) {
progressControl = ((IProgressControlProvider) mainEditor).getProgressControl();
}
if (progressControl != null) {
itemControl.substituteProgressPanel(progressControl);
} else {
itemControl.createProgressPanel();
}
parent.layout();
// Activate items control on focus
itemControl.getItemsViewer().getControl().addFocusListener(new FocusListener() {
@Override
public void focusGained(FocusEvent e) {
// Update selection provider and selection
final ISelectionProvider selectionProvider = itemControl.getSelectionProvider();
if (mainEditor.getSite().getSelectionProvider() != selectionProvider) {
mainEditor.getSite().setSelectionProvider(selectionProvider);
selectionProvider.setSelection(selectionProvider.getSelection());
}
itemControl.activate(true);
// We need it to update search actions and other contributions provided by node editor
if (mainEditor.getSite() instanceof MultiPageEditorSite) {
MultiPageEditorPart multiPageEditor = ((MultiPageEditorSite) mainEditor.getSite()).getMultiPageEditor();
if (multiPageEditor.getSelectedPage() != mainEditor) {
multiPageEditor.setActiveEditor(mainEditor);
}
}
}
@Override
public void focusLost(FocusEvent e) {
itemControl.activate(false);
}
});
}
use of org.jkiss.dbeaver.ui.IProgressControlProvider in project dbeaver by serge-rider.
the class TabbedFolderPageNode method createControl.
@Override
public void createControl(Composite parent) {
itemControl = new ItemListControl(parent, SWT.SHEET, mainEditor.getSite(), node, metaNode);
// itemControl.getLayout().marginHeight = 0;
// itemControl.getLayout().marginWidth = 0;
ProgressPageControl progressControl = null;
if (mainEditor instanceof IProgressControlProvider) {
progressControl = ((IProgressControlProvider) mainEditor).getProgressControl();
}
if (progressControl != null) {
itemControl.substituteProgressPanel(progressControl);
} else {
itemControl.createProgressPanel();
}
parent.layout();
// Activate items control on focus
itemControl.getItemsViewer().getControl().addFocusListener(new FocusListener() {
@Override
public void focusGained(FocusEvent e) {
// Update selection provider and selection
final ISelectionProvider selectionProvider = itemControl.getSelectionProvider();
if (mainEditor.getSite().getSelectionProvider() != selectionProvider) {
mainEditor.getSite().setSelectionProvider(selectionProvider);
selectionProvider.setSelection(selectionProvider.getSelection());
}
itemControl.activate(true);
// We need it to update search actions and other contributions provided by node editor
if (mainEditor.getSite() instanceof MultiPageEditorSite) {
MultiPageEditorPart multiPageEditor = ((MultiPageEditorSite) mainEditor.getSite()).getMultiPageEditor();
if (multiPageEditor.getSelectedPage() != mainEditor) {
multiPageEditor.setActiveEditor(mainEditor);
}
}
}
@Override
public void focusLost(FocusEvent e) {
itemControl.activate(false);
}
});
}
use of org.jkiss.dbeaver.ui.IProgressControlProvider in project dbeaver by serge-rider.
the class TabbedFolderPageProperties method createControl.
@Override
public void createControl(Composite parent) {
this.boldFont = UIUtils.makeBoldFont(parent.getFont());
ProgressPageControl ownerProgressControl = null;
if (this.part instanceof IProgressControlProvider) {
ownerProgressControl = ((IProgressControlProvider) this.part).getProgressControl();
}
progressControl = new PropertiesPageControl(parent);
if (parent.getLayout() instanceof GridLayout) {
progressControl.setLayoutData(new GridData(GridData.FILL_BOTH));
}
if (ownerProgressControl != null) {
progressControl.substituteProgressPanel(ownerProgressControl);
} else {
progressControl.createProgressPanel();
}
propertyTree.getTree().addFocusListener(new FocusListener() {
@Override
public void focusGained(FocusEvent e) {
progressControl.activate(true);
}
@Override
public void focusLost(FocusEvent e) {
progressControl.activate(false);
}
});
progressControl.addDisposeListener(e -> dispose());
}
Aggregations