Search in sources :

Example 21 with PropertyCollector

use of org.jkiss.dbeaver.runtime.properties.PropertyCollector in project dbeaver by dbeaver.

the class SpreadsheetPresentation method getAdapter.

@Override
public <T> T getAdapter(Class<T> adapter) {
    if (adapter == IPropertySheetPage.class) {
        // Show cell properties
        PropertyPageStandard page = new PropertyPageStandard();
        page.setPropertySourceProvider(object -> {
            if (object instanceof GridCell) {
                GridCell cell = (GridCell) object;
                boolean recordMode = controller.isRecordMode();
                final DBDAttributeBinding attr = (DBDAttributeBinding) (recordMode ? cell.row : cell.col);
                final ResultSetRow row = (ResultSetRow) (recordMode ? cell.col : cell.row);
                final SpreadsheetValueController valueController = new SpreadsheetValueController(controller, attr, row, IValueController.EditType.NONE, null);
                PropertyCollector props = new PropertyCollector(valueController.getBinding().getAttribute(), false);
                props.collectProperties();
                valueController.getValueManager().contributeProperties(props, valueController);
                return new PropertySourceDelegate(props);
            }
            return null;
        });
        return adapter.cast(page);
    } else if (adapter == IFindReplaceTarget.class) {
        return adapter.cast(findReplaceTarget);
    }
    return null;
}
Also used : PropertyPageStandard(org.jkiss.dbeaver.ui.controls.PropertyPageStandard) PropertySourceDelegate(org.jkiss.dbeaver.ui.properties.PropertySourceDelegate) PropertyCollector(org.jkiss.dbeaver.runtime.properties.PropertyCollector) IFindReplaceTarget(org.eclipse.jface.text.IFindReplaceTarget)

Example 22 with PropertyCollector

use of org.jkiss.dbeaver.runtime.properties.PropertyCollector in project dbeaver by dbeaver.

the class SessionManagerViewer method updatePreview.

private void updatePreview() {
    if (previewFolder.getSelectionIndex() == 0) {
        // Show SQL
        detailsItem.setText(SessionEditorMessages.viewer_details_item_session_details);
        updateSQL();
        if (curSession == null) {
            sessionProps.clearProperties();
        } else {
            PropertyCollector propCollector = new PropertyCollector(curSession, true);
            propCollector.collectProperties();
            sessionProps.loadProperties(propCollector);
        }
    } else if (planViewer != null) {
        // Show execution plan
        String sqlText = curSession == null ? "" : CommonUtils.notEmpty(curSession.getActiveQuery());
        if (!CommonUtils.isEmpty(sqlText)) {
            planViewer.explainQueryPlan(new SQLQuery(sessionManager.getDataSource(), sqlText), curSession.getActiveQueryId());
        }
    }
    if (detailsFolder.getSelectionIndex() > 0) {
        CTabItem detailsItem = detailsFolder.getItem(detailsFolder.getSelectionIndex());
        Object data = detailsItem.getData();
        if (data instanceof DBAServerSessionDetails) {
            if (detailsItem.getControl() instanceof StyledText) {
                StyledText styledText = (StyledText) detailsItem.getControl();
                loadPlainTextDetails((DBAServerSessionDetails) data, styledText);
            } else {
                DetailsListControl detailsListControl = (DetailsListControl) detailsItem.getControl();
                detailsListControl.loadData();
            }
        }
    }
}
Also used : StyledText(org.eclipse.swt.custom.StyledText) DBAServerSessionDetails(org.jkiss.dbeaver.model.admin.sessions.DBAServerSessionDetails) PropertyCollector(org.jkiss.dbeaver.runtime.properties.PropertyCollector) DBPObject(org.jkiss.dbeaver.model.DBPObject) SQLQuery(org.jkiss.dbeaver.model.sql.SQLQuery) CTabItem(org.eclipse.swt.custom.CTabItem)

Aggregations

PropertyCollector (org.jkiss.dbeaver.runtime.properties.PropertyCollector)22 FillLayout (org.eclipse.swt.layout.FillLayout)4 DBPObject (org.jkiss.dbeaver.model.DBPObject)4 DBPPropertyDescriptor (org.jkiss.dbeaver.model.preferences.DBPPropertyDescriptor)4 PropertySourceDelegate (org.jkiss.dbeaver.ui.properties.PropertySourceDelegate)4 PropertyTreeViewer (org.jkiss.dbeaver.ui.properties.PropertyTreeViewer)4 DBDRowIdentifier (org.jkiss.dbeaver.model.data.DBDRowIdentifier)3 PrintWriter (java.io.PrintWriter)2 StringWriter (java.io.StringWriter)2 IAdaptable (org.eclipse.core.runtime.IAdaptable)2 IFindReplaceTarget (org.eclipse.jface.text.IFindReplaceTarget)2 ISelection (org.eclipse.jface.viewers.ISelection)2 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)2 CTabItem (org.eclipse.swt.custom.CTabItem)2 StyledText (org.eclipse.swt.custom.StyledText)2 IWorkbenchAdapter (org.eclipse.ui.model.IWorkbenchAdapter)2 WorkbenchAdapter (org.eclipse.ui.model.WorkbenchAdapter)2 IPropertySource (org.eclipse.ui.views.properties.IPropertySource)2 NotNull (org.jkiss.code.NotNull)2 Nullable (org.jkiss.code.Nullable)2