Search in sources :

Example 1 with IPropertySourceProvider

use of org.eclipse.ui.views.properties.IPropertySourceProvider in project dbeaver by serge-rider.

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(new IPropertySourceProvider() {

            @Nullable
            @Override
            public IPropertySource getPropertySource(Object 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) IPropertySourceProvider(org.eclipse.ui.views.properties.IPropertySourceProvider) PropertySourceDelegate(org.jkiss.dbeaver.ui.properties.PropertySourceDelegate) PropertyCollector(org.jkiss.dbeaver.runtime.properties.PropertyCollector) IPropertySource(org.eclipse.ui.views.properties.IPropertySource) GridCell(org.jkiss.dbeaver.ui.controls.lightgrid.GridCell) IFindReplaceTarget(org.eclipse.jface.text.IFindReplaceTarget) Nullable(org.jkiss.code.Nullable)

Aggregations

IFindReplaceTarget (org.eclipse.jface.text.IFindReplaceTarget)1 IPropertySource (org.eclipse.ui.views.properties.IPropertySource)1 IPropertySourceProvider (org.eclipse.ui.views.properties.IPropertySourceProvider)1 Nullable (org.jkiss.code.Nullable)1 PropertyCollector (org.jkiss.dbeaver.runtime.properties.PropertyCollector)1 PropertyPageStandard (org.jkiss.dbeaver.ui.controls.PropertyPageStandard)1 GridCell (org.jkiss.dbeaver.ui.controls.lightgrid.GridCell)1 PropertySourceDelegate (org.jkiss.dbeaver.ui.properties.PropertySourceDelegate)1