Example usage for org.eclipse.jface.action StatusLineManager MIDDLE_GROUP

List of usage examples for org.eclipse.jface.action StatusLineManager MIDDLE_GROUP

Introduction

In this page you can find the example usage for org.eclipse.jface.action StatusLineManager MIDDLE_GROUP.

Prototype

String MIDDLE_GROUP

To view the source code for org.eclipse.jface.action StatusLineManager MIDDLE_GROUP.

Click Source Link

Document

Identifier of group marker used to position contributions in the middle of the status line.

Usage

From source file:net.refractions.udig.project.ui.internal.MapEditor.java

License:Open Source License

/**
 * Updates the crs label in the statusbar.
 *///ww w.j av a  2  s.  co  m
protected void updateCRS() {
    Map map = getMap();
    if (map == null) {
        getSite().getPage().closeEditor(this, false);
        return;
    }
    CoordinateReferenceSystem crs = map.getViewportModel().getCRS();
    if (crs == null || crs.getName() == null) {
        return;
    }

    final String full = crs.getName().getCode();
    if (full == null || isSame(full))
        return;

    Display display = PlatformUI.getWorkbench().getDisplay();
    if (display == null)
        display = Display.getDefault();

    display.asyncExec(new Runnable() {
        public void run() {

            IContributionManager bar = mapEditorSite.getActionBars().getStatusLineManager();
            if (bar == null)
                return;
            StatusBarButton label = (StatusBarButton) bar.find(StatusBarButton.CRS_ITEM_ID);
            if (label == null) {
                label = new StatusBarButton(StatusBarButton.CRS_ITEM_ID, full);
                bar.appendToGroup(StatusLineManager.MIDDLE_GROUP, label);
                label.setVisible(true);
                bar.update(true);
                return;
            }
            label.setText(full);
        }
    });

}

From source file:net.refractions.udig.project.ui.internal.MapEditor.java

License:Open Source License

void doUpdateScaleLabel() {
    IContributionManager bar = mapEditorSite.getActionBars().getStatusLineManager();
    if (bar == null)
        return;//from   w  ww.  ja  v a  2s. com
    ScaleRatioLabel label = (ScaleRatioLabel) bar.find(ScaleRatioLabel.SCALE_ITEM_ID);
    if (label == null) {
        label = new ScaleRatioLabel(this);
        bar.appendToGroup(StatusLineManager.MIDDLE_GROUP, label);
        label.setVisible(true);
        bar.update(true);
    }
    label.setViewportModel(getMap().getViewportModel());
}

From source file:net.refractions.udig.project.ui.internal.MapEditor.java

License:Open Source License

/**
 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
 *//*w  w  w  . jav  a  2  s. co  m*/
public void createPartControl(final Composite parent) {

    ShutdownTaskList.instance().addPreShutdownTask(shutdownTask);

    composite = new Composite(parent, SWT.NO_BACKGROUND);

    composite.setLayout(new FormLayout());
    composite.setFont(parent.getFont());
    setPartName(getMap().getName());

    setTitleToolTip(Messages.MapEditor_titleToolTip);
    setTitleImage(ProjectUIPlugin.getDefault().getImage(ISharedImages.MAP_OBJ));

    final IPreferenceStore preferenceStore = ProjectPlugin.getPlugin().getPreferenceStore();
    boolean istiled = preferenceStore
            .getBoolean(net.refractions.udig.project.preferences.PreferenceConstants.P_TILED_RENDERING);

    if (!istiled) {
        viewer = new MapViewer(composite, SWT.DOUBLE_BUFFERED);
    } else {
        viewer = new MapViewer(composite, SWT.MULTI | SWT.NO_BACKGROUND);
    }
    // allow the viewer to open our context menu; work with our selection proivder etc
    viewer.init(this);
    // if a map was provided as input we can ask the viewer to use it
    Map input = (Map) ((UDIGEditorInput) getEditorInput()).getProjectElement();
    if (input != null) {
        viewer.setMap(input);
    }

    FormData formdata = new FormData();
    formdata.top = new FormAttachment(0);
    formdata.bottom = new FormAttachment(100, -ScaleRatioLabel.STATUS_LINE_HEIGHT);
    formdata.left = new FormAttachment(0);
    formdata.right = new FormAttachment(100);
    viewer.getViewport().getControl().setLayoutData(formdata);

    statusLineManager.add(new GroupMarker(StatusLineManager.BEGIN_GROUP));
    statusLineManager.add(new GroupMarker(StatusLineManager.MIDDLE_GROUP));
    statusLineManager.add(new GroupMarker(StatusLineManager.END_GROUP));
    statusLineManager.createControl(composite, SWT.BORDER);
    formdata = new FormData();
    formdata.left = new FormAttachment(0);
    formdata.right = new FormAttachment(100);
    formdata.top = new FormAttachment(viewer.getViewport().getControl(), 0, SWT.BOTTOM);
    formdata.bottom = new FormAttachment(100);
    statusLineManager.getControl().setLayoutData(formdata);

    getSite().getPage().addPartListener(partlistener);
    registerFeatureFlasher();
    /*
    if (getMap().getRenderManager() == null){
    if (!istiled) {
        getMap().setRenderManagerInternal(new RenderManagerDynamic());
    } else {
        getMap().setRenderManagerInternal(new TiledRenderManagerDynamic());
    }
    }
            
    setRenderManager(getMap().getRenderManagerInternal());
    viewer.getViewport().setRenderManager(getRenderManager());
    getRenderManager().setMapDisplay(viewer.getViewport());
    */
    viewer.getViewport().addPaneListener(getMap().getViewportModelInternal());

    layerSelectionListener = new LayerSelectionListener(new LayerSelectionListener.Callback() {

        public void callback(List<Layer> layers) {
            if (composite.isDisposed()) {
                getSite().getPage().removePostSelectionListener(layerSelectionListener);
                return; // component.isVisible cannot be called on a disposed component
            } else if (!composite.isVisible())
                return;
            Layer layer = layers.get(0);
            // Second condition excludes unnecessary UI call
            if (layer.getMap() == getMap() && getMap().getEditManager().getSelectedLayer() != layer) {
                SelectLayerCommand selectLayerCommand = new SelectLayerCommand(layer);
                selectLayerCommand.setMap(getMap());
                try {
                    selectLayerCommand.run(ProgressManager.instance().get());
                } catch (Exception e) {
                    throw (RuntimeException) new RuntimeException().initCause(e);
                }
                getMap().sendCommandSync(new UndoRedoCommand(selectLayerCommand));
            }
        }

    });
    getSite().getPage().addPostSelectionListener(layerSelectionListener);

    for (Layer layer : getMap().getLayersInternal()) {
        layer.addListener(layerListener);
    }

    dropTarget = UDIGDragDropUtilities.addDropSupport(viewer.getViewport().getControl(), this);
    this.replaceableSelectionProvider = new ReplaceableSelectionProvider();
    getSite().setSelectionProvider(replaceableSelectionProvider);
    runMapOpeningInterceptor(getMap());
    mapEditorSite = new MapEditorSite(super.getSite(), this);
    updateCRS();
    updateScaleLabel();

    getMap().getViewportModel().addViewportModelListener(new IViewportModelListener() {

        public void changed(ViewportModelEvent event) {
            if (getMap() == null) {
                event.getSource().removeViewportModelListener(this);
                return;
            }
            if (event.getType() == EventType.CRS) {
                updateCRS();
            }
        }

    });

    setDirty(isMapDirty());
}

From source file:net.refractions.udig.project.ui.internal.MapEditorWithPalette.java

License:Open Source License

/**
 * Updates the crs label in the statusbar.
 *///from   w  w w. j  a v  a2  s .  c o m
protected void updateCRS() {
    Map map = getMap();
    if (map == null) {
        getSite().getPage().closeEditor(this, false);
        return;
    }
    CoordinateReferenceSystem crs = map.getViewportModel().getCRS();
    if (crs == null || crs.getName() == null) {
        return;
    }

    final String full = crs.getName().getCode();
    if (full == null || isSame(full))
        return;

    Display display = PlatformUI.getWorkbench().getDisplay();
    if (display == null)
        display = Display.getDefault();

    display.asyncExec(new Runnable() {
        public void run() {

            IContributionManager bar = mapEditorSite.getActionBars().getStatusLineManager();
            if (bar == null)
                return;
            StatusBarButton label = (StatusBarButton) bar.find(StatusBarButton.CRS_ITEM_ID);
            if (label == null) {
                label = new StatusBarButton(StatusBarButton.CRS_ITEM_ID, full);
                bar.appendToGroup(StatusLineManager.MIDDLE_GROUP, label);
                label.setVisible(true);

                //                    StatusBarToolOptionsPage label2 = new StatusBarToolOptionsPage("An Id",editor);
                //                    bar.appendToGroup(StatusLineManager.BEGIN_GROUP, label2);
                //                    label2.setVisible(true);

                bar.update(true);
                return;
            }
            label.setText(full);
        }
    });

}

From source file:net.refractions.udig.project.ui.internal.MapEditorWithPalette.java

License:Open Source License

/**
 * Hijacked; supposed to create a GraphicalViewer on the specified <code>Composite</code>.
 * <p>//from  w  w  w  .  j av a  2s .co  m
 * Instead we steal the composite for our MapViewer.
 * 
 * @param parent
 *            the parent composite
 */
protected void createGraphicalViewer(Composite parent) {

    // GraphicalViewer viewer = new GraphicalViewerImpl();
    // viewer.createControl(parent);
    // setGraphicalViewer(viewer);
    // configureGraphicalViewer();
    // hookGraphicalViewer();
    // initializeGraphicalViewer();

    composite = new Composite(parent, SWT.NO_BACKGROUND);

    composite.setLayout(new FormLayout());
    composite.setFont(parent.getFont());
    setPartName(getMap().getName());

    setTitleToolTip(Messages.MapEditor_titleToolTip);
    setTitleImage(ProjectUIPlugin.getDefault().getImage(ISharedImages.MAP_OBJ));

    final IPreferenceStore preferenceStore = ProjectPlugin.getPlugin().getPreferenceStore();
    boolean istiled = preferenceStore
            .getBoolean(net.refractions.udig.project.preferences.PreferenceConstants.P_TILED_RENDERING);

    if (!istiled) {
        viewer = new MapViewer(composite, SWT.DOUBLE_BUFFERED);
    } else {
        viewer = new MapViewer(composite, SWT.MULTI | SWT.NO_BACKGROUND);
    }
    // we need an edit domain for GEF
    // This represents the "Current Tool" for the Palette
    // We should not duplicate the idea of current tools so we may
    // need to delegate to getEditDomain; and just use the MapEditTool *id*
    // editDomain = new MapEditDomain(this);
    // setEditDomain( editDomain );

    // allow the viewer to open our context menu; work with our selection proivder etc
    viewer.init(this);

    // if a map was provided as input we can ask the viewer to use it
    Map input = (Map) ((UDIGEditorInput) getEditorInput()).getProjectElement();
    if (input != null) {
        viewer.setMap(input);
    }

    FormData formdata = new FormData();
    formdata.top = new FormAttachment(0);
    formdata.bottom = new FormAttachment(100, -ScaleRatioLabel.STATUS_LINE_HEIGHT);
    formdata.left = new FormAttachment(0);
    formdata.right = new FormAttachment(100);
    viewer.getViewport().getControl().setLayoutData(formdata);

    statusLineManager.add(new GroupMarker(StatusLineManager.BEGIN_GROUP));
    statusLineManager.add(new GroupMarker(StatusLineManager.MIDDLE_GROUP));
    statusLineManager.add(new GroupMarker(StatusLineManager.END_GROUP));
    statusLineManager.createControl(composite, SWT.BORDER);
    formdata = new FormData();
    formdata.left = new FormAttachment(0);
    formdata.right = new FormAttachment(100);
    formdata.top = new FormAttachment(viewer.getViewport().getControl(), 0, SWT.BOTTOM);
    formdata.bottom = new FormAttachment(100);
    statusLineManager.getControl().setLayoutData(formdata);

    getSite().getPage().addPartListener(partlistener);
    registerFeatureFlasher();
    viewer.getViewport().addPaneListener(getMap().getViewportModelInternal());

    layerSelectionListener = new LayerSelectionListener(new LayerSelectionListener.Callback() {

        public void callback(List<Layer> layers) {
            if (composite.isDisposed()) {
                getSite().getPage().removePostSelectionListener(layerSelectionListener);
                return; // component.isVisible cannot be called on a disposed component
            } else if (!composite.isVisible())
                return;
            Layer layer = layers.get(0);
            // Second condition excludes unnecessary UI call
            if (layer.getMap() == getMap() && getMap().getEditManager().getSelectedLayer() != layer) {
                SelectLayerCommand selectLayerCommand = new SelectLayerCommand(layer);
                selectLayerCommand.setMap(getMap());
                try {
                    selectLayerCommand.run(ProgressManager.instance().get());
                } catch (Exception e) {
                    throw (RuntimeException) new RuntimeException().initCause(e);
                }
                getMap().sendCommandSync(new UndoRedoCommand(selectLayerCommand));
            }
        }

    });
    getSite().getPage().addPostSelectionListener(layerSelectionListener);

    for (Layer layer : getMap().getLayersInternal()) {
        layer.addListener(layerListener);
    }

    dropTarget = UDIGDragDropUtilities.addDropSupport(viewer.getViewport().getControl(), this);
    this.replaceableSelectionProvider = new ReplaceableSelectionProvider();
    getSite().setSelectionProvider(replaceableSelectionProvider);
    runMapOpeningInterceptor(getMap());
    mapEditorSite = new MapEditorSite(super.getSite(), this);
    updateCRS();
    updateScaleLabel();

    getMap().getViewportModel().addViewportModelListener(new IViewportModelListener() {

        public void changed(ViewportModelEvent event) {
            if (getMap() == null) {
                event.getSource().removeViewportModelListener(this);
                return;
            }
            if (event.getType() == EventType.CRS) {
                updateCRS();
            }
        }

    });

    setDirty(isMapDirty());
}

From source file:org.locationtech.udig.project.ui.internal.MapEditor.java

License:Open Source License

/**
 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
 *//*from   w  ww.j av  a2s. com*/
public void createPartControl(final Composite parent) {

    ShutdownTaskList.instance().addPreShutdownTask(shutdownTask);

    composite = new Composite(parent, SWT.NO_BACKGROUND);

    composite.setLayout(new FormLayout());
    composite.setFont(parent.getFont());
    setPartName(getMap().getName());

    setTitleToolTip(Messages.MapEditor_titleToolTip);
    setTitleImage(ProjectUIPlugin.getDefault().getImage(ISharedImages.MAP_OBJ));

    final IPreferenceStore preferenceStore = ProjectPlugin.getPlugin().getPreferenceStore();
    boolean istiled = preferenceStore
            .getBoolean(org.locationtech.udig.project.preferences.PreferenceConstants.P_TILED_RENDERING);

    if (!istiled) {
        viewer = new MapViewer(composite, SWT.DOUBLE_BUFFERED);
    } else {
        viewer = new MapViewer(composite, SWT.MULTI | SWT.NO_BACKGROUND);
    }
    // allow the viewer to open our context menu; work with our selection proivder etc
    viewer.init(this);
    // if a map was provided as input we can ask the viewer to use it
    Map input = (Map) ((UDIGEditorInput) getEditorInput()).getProjectElement();
    if (input != null) {
        viewer.setMap(input);
    }

    FormData formdata = new FormData();
    formdata.top = new FormAttachment(0);
    formdata.bottom = new FormAttachment(100, -ScaleRatioLabel.STATUS_LINE_HEIGHT);
    formdata.left = new FormAttachment(0);
    formdata.right = new FormAttachment(100);
    viewer.getViewport().getControl().setLayoutData(formdata);

    statusLineManager.add(new GroupMarker(StatusLineManager.BEGIN_GROUP));
    statusLineManager.add(new GroupMarker(StatusLineManager.MIDDLE_GROUP));
    statusLineManager.add(new GroupMarker(StatusLineManager.END_GROUP));
    statusLineManager.createControl(composite, SWT.BORDER);
    formdata = new FormData();
    formdata.left = new FormAttachment(0);
    formdata.right = new FormAttachment(100);
    formdata.top = new FormAttachment(viewer.getViewport().getControl(), 0, SWT.BOTTOM);
    formdata.bottom = new FormAttachment(100);
    statusLineManager.getControl().setLayoutData(formdata);

    getSite().getPage().addPartListener(partlistener);
    registerFeatureFlasher();
    /*
    if (getMap().getRenderManager() == null){
    if (!istiled) {
        getMap().setRenderManagerInternal(new RenderManagerDynamic());
    } else {
        getMap().setRenderManagerInternal(new TiledRenderManagerDynamic());
    }
    }
            
    setRenderManager(getMap().getRenderManagerInternal());
    viewer.getViewport().setRenderManager(getRenderManager());
    getRenderManager().setMapDisplay(viewer.getViewport());
    */
    viewer.getViewport().addPaneListener(getMap().getViewportModelInternal());

    layerSelectionListener = new LayerSelectionListener(new LayerSelectionListener.Callback() {

        public void callback(List<Layer> layers) {
            if (composite.isDisposed()) {
                getSite().getPage().removePostSelectionListener(layerSelectionListener);
                return; // component.isVisible cannot be called on a disposed component
            } else if (!composite.isVisible())
                return;
            Layer layer = layers.get(0);
            // Second condition excludes unnecessary UI call
            if (layer.getMap() == getMap() && getMap().getEditManager().getSelectedLayer() != layer) {
                SelectLayerCommand selectLayerCommand = new SelectLayerCommand(layer);
                selectLayerCommand.setMap(getMap());
                try {
                    selectLayerCommand.run(ProgressManager.instance().get());
                } catch (Exception e) {
                    throw (RuntimeException) new RuntimeException().initCause(e);
                }
                getMap().sendCommandSync(new UndoRedoCommand(selectLayerCommand));
            }
        }

    });
    getSite().getPage().addPostSelectionListener(layerSelectionListener);

    for (Layer layer : getMap().getLayersInternal()) {
        layer.addListener(layerListener);
    }

    dropTarget = UDIGDragDropUtilities.addDropSupport(viewer.getViewport().getControl(), this);
    this.replaceableSelectionProvider = new ReplaceableSelectionProvider();
    getSite().setSelectionProvider(replaceableSelectionProvider);
    runMapOpeningInterceptor(getMap());
    mapEditorSite = new MapEditorSite(super.getSite(), this);
    updateCRS();
    updateScaleLabel();

    getMap().getViewportModel().addViewportModelListener(new IViewportModelListener() {

        public void changed(ViewportModelEvent event) {
            if (getMap() == null) {
                event.getSource().removeViewportModelListener(this);
                return;
            }
            if (event.getType() == EventType.CRS) {
                updateCRS();
            }
        }

    });

    setDirty(isMapDirty());
}

From source file:org.locationtech.udig.project.ui.internal.MapEditorWithPalette.java

License:Open Source License

/**
 * Hijacked; supposed to create a GraphicalViewer on the specified <code>Composite</code>.
 * <p>// www . ja va 2  s .  co m
 * Instead we make use of the composite for our MapViewer.
 * 
 * @param parent
 *            the parent composite
 */
protected void createGraphicalViewer(Composite parent) {

    // GraphicalViewer viewer = new GraphicalViewerImpl();
    // viewer.createControl(parent);
    // setGraphicalViewer(viewer);
    // configureGraphicalViewer();
    // hookGraphicalViewer();
    // initializeGraphicalViewer();

    composite = new Composite(parent, SWT.NO_BACKGROUND);

    composite.setLayout(new FormLayout());
    composite.setFont(parent.getFont());
    setPartName(getMap().getName());

    setTitleToolTip(Messages.MapEditor_titleToolTip);
    setTitleImage(ProjectUIPlugin.getDefault().getImage(ISharedImages.MAP_OBJ));

    final IPreferenceStore preferenceStore = ProjectPlugin.getPlugin().getPreferenceStore();
    boolean istiled = preferenceStore
            .getBoolean(org.locationtech.udig.project.preferences.PreferenceConstants.P_TILED_RENDERING);

    if (!istiled) {
        viewer = new MapViewer(composite, SWT.DOUBLE_BUFFERED);
    } else {
        viewer = new MapViewer(composite, SWT.MULTI | SWT.NO_BACKGROUND);
    }
    // we need an edit domain for GEF
    // This represents the "Current Tool" for the Palette
    // We should not duplicate the idea of current tools so we may
    // need to delegate to getEditDomain; and just use the MapEditTool *id*
    // editDomain = new MapEditDomain(this);
    // setEditDomain( editDomain );

    // allow the viewer to open our context menu; work with our selection proivder etc
    viewer.init(this);

    // if a map was provided as input we can ask the viewer to use it
    Map input = (Map) ((UDIGEditorInput) getEditorInput()).getProjectElement();
    if (input != null) {
        viewer.setMap(input);
    }

    FormData formdata = new FormData();
    formdata.top = new FormAttachment(0);
    formdata.bottom = new FormAttachment(100, -ScaleRatioLabel.STATUS_LINE_HEIGHT);
    formdata.left = new FormAttachment(0);
    formdata.right = new FormAttachment(100);
    viewer.getViewport().getControl().setLayoutData(formdata);

    statusLineManager.add(new GroupMarker(StatusLineManager.BEGIN_GROUP));
    statusLineManager.add(new GroupMarker(StatusLineManager.MIDDLE_GROUP));
    statusLineManager.add(new GroupMarker(StatusLineManager.END_GROUP));
    statusLineManager.createControl(composite, SWT.BORDER);
    formdata = new FormData();
    formdata.left = new FormAttachment(0);
    formdata.right = new FormAttachment(100);
    formdata.top = new FormAttachment(viewer.getViewport().getControl(), 0, SWT.BOTTOM);
    formdata.bottom = new FormAttachment(100);
    statusLineManager.getControl().setLayoutData(formdata);

    getSite().getPage().addPartListener(partlistener);
    registerFeatureFlasher();
    viewer.getViewport().addPaneListener(getMap().getViewportModelInternal());

    layerSelectionListener = new LayerSelectionListener(new LayerSelectionListener.Callback() {

        public void callback(List<Layer> layers) {
            if (composite.isDisposed()) {
                getSite().getPage().removePostSelectionListener(layerSelectionListener);
                return; // component.isVisible cannot be called on a disposed component
            } else if (!composite.isVisible())
                return;
            Layer layer = layers.get(0);
            // Second condition excludes unnecessary UI call
            if (layer.getMap() == getMap() && getMap().getEditManager().getSelectedLayer() != layer) {
                SelectLayerCommand selectLayerCommand = new SelectLayerCommand(layer);
                selectLayerCommand.setMap(getMap());
                try {
                    selectLayerCommand.run(ProgressManager.instance().get());
                } catch (Exception e) {
                    throw (RuntimeException) new RuntimeException().initCause(e);
                }
                getMap().sendCommandSync(new UndoRedoCommand(selectLayerCommand));
            }
        }

    });
    getSite().getPage().addPostSelectionListener(layerSelectionListener);

    for (Layer layer : getMap().getLayersInternal()) {
        layer.addListener(layerListener);
    }

    dropTarget = UDIGDragDropUtilities.addDropSupport(viewer.getViewport().getControl(), this);
    this.replaceableSelectionProvider = new ReplaceableSelectionProvider();
    getSite().setSelectionProvider(replaceableSelectionProvider);
    runMapOpeningInterceptor(getMap());
    mapEditorSite = new MapEditorSite(super.getSite(), this);
    updateCRS();
    updateScaleLabel();

    getMap().getViewportModel().addViewportModelListener(new IViewportModelListener() {

        public void changed(ViewportModelEvent event) {
            if (getMap() == null) {
                event.getSource().removeViewportModelListener(this);
                return;
            }
            if (event.getType() == EventType.CRS) {
                updateCRS();
            }
        }

    });

    setDirty(isMapDirty());
}