@Override protected void configureGraphicalViewer() { super.configureGraphicalViewer(); getGraphicalViewer().getControl().setBackground(ColorConstants.button); GraphicalViewer graphicalViewer = getGraphicalViewer(); MainDesignerRootEditPart rootEditPart = new MainDesignerRootEditPart(); graphicalViewer.setRootEditPart(rootEditPart); // set EditPartFactory graphicalViewer.setEditPartFactory(new JasperDesignEditPartFactory()); // set rulers providers RulerProvider provider = new ReportRulerProvider(new ReportRuler(true, RulerProvider.UNIT_PIXELS)); graphicalViewer.setProperty(RulerProvider.PROPERTY_HORIZONTAL_RULER, provider); provider = new ReportRulerProvider(new ReportRuler(false, RulerProvider.UNIT_PIXELS)); graphicalViewer.setProperty(RulerProvider.PROPERTY_VERTICAL_RULER, provider); Boolean isRulerVisible = jrContext.getPropertyBoolean(RulersGridPreferencePage.P_PAGE_RULERGRID_SHOWRULER); graphicalViewer.setProperty(RulerProvider.PROPERTY_RULER_VISIBILITY, isRulerVisible); createAdditionalActions(); graphicalViewer.setKeyHandler(new JSSGraphicalViewerKeyHandler(graphicalViewer)); }
protected void handlePreferencesChanged(org.eclipse.jface.util.PropertyChangeEvent event) { String p = event.getProperty(); if (p.equals(DesignerPreferencePage.P_PAGE_DESIGN_BORDER_STYLE)) setPrefsBorder(getFigure()); if (p.equals(RulersGridPreferencePage.P_PAGE_RULERGRID_SHOWRULER)) { Boolean val = jConfig.getPropertyBoolean(RulersGridPreferencePage.P_PAGE_RULERGRID_SHOWRULER, Boolean.TRUE); getViewer().setProperty(RulerProvider.PROPERTY_RULER_VISIBILITY, val); } else if (p.equals(RulersGridPreferencePage.P_PAGE_GRID_COLOR) || p.equals(RulersGridPreferencePage.P_PAGE_RULERGRID_SHOWGRID) || p.equals(RulersGridPreferencePage.P_PAGE_RULERGRID_GRIDSPACEY) || p.equals(RulersGridPreferencePage.P_PAGE_RULERGRID_GRIDSPACEX)) { refreshGridLayer(); } UIUtils.getDisplay().asyncExec(new Runnable() { @Override public void run() { refreshVisuals(); } }); }
protected double getDPU() { if (dpu <= 0) { if (getUnit() == RulerProvider.UNIT_PIXELS) { dpu = 1.0; } else { dpu = transposer.t(new Dimension(Display.getCurrent().getDPI())).height; if (getUnit() == RulerProvider.UNIT_CENTIMETERS) { dpu = dpu / 2.54; } } if (zoomManager != null) { dpu = dpu * zoomManager.getZoom(); } } return dpu; }
private void setRuler(RulerProvider provider, int orientation) { Object ruler = null; if (isRulerVisible && provider != null) // provider.getRuler() might return null (at least the API does not prevent that) ruler = provider.getRuler(); if (ruler == null) { // Ruler is not visible or is not present setRulerContainer(null, orientation); // Layout right-away to prevent an empty control from showing layout(true); return; } GraphicalViewer container = getRulerContainer(orientation); if (container == null) { container = createRulerContainer(orientation); setRulerContainer(container, orientation); } if (container.getContents() != ruler) { container.setContents(ruler); needToLayout = true; Display.getCurrent().asyncExec(runnable); } }
private void setRuler(RulerProvider provider, int orientation) { Object ruler = null; if (isRulerVisible && provider != null) // provider.getRuler() might return null (at least the API does not // prevent that) ruler = provider.getRuler(); if (ruler == null) { // Ruler is not visible or is not present setRulerContainer(null, orientation); // Layout right-away to prevent an empty control from showing layout(true); return; } GraphicalViewer container = getRulerContainer(orientation); if (container == null) { container = createRulerContainer(orientation); setRulerContainer(container, orientation); } if (container.getContents() != ruler) { container.setContents(ruler); needToLayout = true; Display.getCurrent().asyncExec(runnable); } }
protected double getDPU() { if (dpu <= 0) { if (getUnit() == RulerProvider.UNIT_PIXELS) { dpu = 1.0; } else { dpu = transposer .t(new Dimension(Display.getCurrent().getDPI())).height; if (getUnit() == RulerProvider.UNIT_CENTIMETERS) { dpu = dpu / 2.54; } } if (zoomManager != null) { dpu = dpu * zoomManager.getZoom(); } } return dpu; }
private void setRulerVisibility(boolean isVisible) { if (isRulerVisible != isVisible) { isRulerVisible = isVisible; if (diagramViewer != null) { if (isVisible) { dockLayoutPanel.remove(view); dockLayoutPanel.addNorth(northPanel, 19); dockLayoutPanel.addWest(westPanel, 19); dockLayoutPanel.add(view); dockLayoutPanel.forceLayout(); } setRuler( (RulerProvider) diagramViewer .getProperty(RulerProvider.PROPERTY_HORIZONTAL_RULER), PositionConstants.NORTH); setRuler( (RulerProvider) diagramViewer .getProperty(RulerProvider.PROPERTY_VERTICAL_RULER), PositionConstants.WEST); } } }
private void setRuler(InstallOptionsDialog dialog, RulerProvider provider, int orientation) { Object ruler = null; if (mIsRulerVisible && provider != null) { // provider.getRuler() might return null (at least the API does not prevent that) ruler = provider.getRuler(); } if (ruler == null) { // Ruler is not visible or is not present setRulerContainer(null, orientation); // Layout right-away to prevent an empty control from showing layout(true); return; } GraphicalViewer container = getRulerContainer(orientation); if (container == null) { container = createRulerContainer(dialog, orientation); setRulerContainer(container, orientation); } if (container.getContents() != ruler) { container.setContents(ruler); mNeedToLayout = true; Display.getCurrent().asyncExec(mRunnable); } }
private void createRulers( ) { // Ruler properties if ( topRuler == null ) { topRuler = new EditorRulerProvider( getModel( ), true ); } getGraphicalViewer( ).setProperty( RulerProvider.PROPERTY_HORIZONTAL_RULER, topRuler ); if ( leftRuler == null ) { leftRuler = new EditorRulerProvider( getModel( ), false ); } getGraphicalViewer( ).setProperty( RulerProvider.PROPERTY_VERTICAL_RULER, leftRuler ); getGraphicalViewer( ).setProperty( RulerProvider.PROPERTY_RULER_VISIBILITY, Boolean.valueOf( true ) ); }
private void disposeResources( ) { left = null; top = null; editor = null; if ( diagramViewer != null ) { diagramViewer.removePropertyChangeListener( propertyListener ); diagramViewer.setProperty( RulerProvider.PROPERTY_HORIZONTAL_RULER, null ); diagramViewer.setProperty( RulerProvider.PROPERTY_VERTICAL_RULER, null ); } getZoomManager( ).removeZoomListener( zoomListener ); if ( font != null ) font.dispose( ); if ( getReportDesignHandle( ) != null ) { getReportDesignHandle( ).removeListener( designListener ); } if ( getMasterPageHandle( ) != null ) { getMasterPageHandle( ).removeListener( designListener ); } rulerEditDomain = null; }
/** * Sets the ruler unit. * * @param unit */ public void setUnit( int unit ) { if ( unit != EditorRulerProvider.UNIT_NOSUPPOER ) { // added by gao Object obj = diagramViewer.getProperty( RulerProvider.PROPERTY_HORIZONTAL_RULER ); if ( obj instanceof EditorRulerProvider ) { ( (EditorRulerProvider) obj ).setUnit( unit ); } obj = diagramViewer.getProperty( RulerProvider.PROPERTY_VERTICAL_RULER ); if ( obj instanceof EditorRulerProvider ) { ( (EditorRulerProvider) obj ).setUnit( unit ); } } }
/** * @return */ protected double getDPU( ) { if ( dpu1 <= 0 ) { if ( getUnit( ) == RulerProvider.UNIT_PIXELS ) { dpu1 = 1.0; } else { dpu1 = transposer.t( new Dimension( Display.getCurrent( ) .getDPI( ) ) ).height; dpu1 = dpu1 / getUnitConver( getUnit( ) ); } if ( zoomManager != null ) { dpu1 = dpu1 * zoomManager.getZoom( ); } } return dpu1; }
public Object getAdapter(Class adapter) { if (adapter == SnapToHelper.class) { List snapStrategies = new ArrayList(); Boolean val = (Boolean) getViewer() .getProperty(RulerProvider.PROPERTY_RULER_VISIBILITY); if (val != null && val.booleanValue()) snapStrategies.add(new SnapToGuides(this)); val = (Boolean) getViewer().getProperty(SnapToGeometry.PROPERTY_SNAP_ENABLED); if (val != null && val.booleanValue()) snapStrategies.add(new SnapToGeometry(this)); val = (Boolean) getViewer().getProperty(SnapToGrid.PROPERTY_GRID_ENABLED); if (val != null && val.booleanValue()) snapStrategies.add(new SnapToGrid(this)); if (snapStrategies.size() == 0) return null; if (snapStrategies.size() == 1) return snapStrategies.get(0); SnapToHelper ss[] = new SnapToHelper[snapStrategies.size()]; for (int i = 0; i < snapStrategies.size(); i++) ss[i] = (SnapToHelper) snapStrategies.get(i); return new CompoundSnapToHelper(ss); } return super.getAdapter(adapter); }
public Object getAdapter(Class adapter) { if (adapter == SnapToHelper.class) { List<SnapToHelper> snapStrategies = new ArrayList<SnapToHelper>(); Boolean val = (Boolean)getViewer().getProperty(RulerProvider.PROPERTY_RULER_VISIBILITY); /*if (val != null && val.booleanValue())*/ //snapStrategies.add(new SnapToGuides((GraphicalEditPart) this.getParent())); val = (Boolean)getViewer().getProperty(SnapToGeometry.PROPERTY_SNAP_ENABLED); //if (val != null && val.booleanValue()) snapStrategies.add(new SnapToGeometry(this){ @Override protected List generateSnapPartsList(List exclusions) { List children = super.generateSnapPartsList(exclusions); children.add(container);//add snapToParent edges behaviour return children; } }); val = (Boolean)getViewer().getProperty(SnapToGrid.PROPERTY_GRID_ENABLED); if (val != null && val.booleanValue()) snapStrategies.add(new SnapToGrid(this)); if (snapStrategies.size() == 0) return null; if (snapStrategies.size() == 1) return snapStrategies.get(0); SnapToHelper ss[] = new SnapToHelper[snapStrategies.size()]; for (int i = 0; i < snapStrategies.size(); i++) ss[i] = (SnapToHelper)snapStrategies.get(i); return new CompoundSnapToHelper(ss); } return super.getAdapter(adapter); }
@Override protected void configureGraphicalViewer() { super.configureGraphicalViewer(); getGraphicalViewer().getControl().setBackground(ColorConstants.button); GraphicalViewer graphicalViewer = getGraphicalViewer(); MainDesignerRootEditPart rootEditPart = new MainDesignerRootEditPart(); graphicalViewer.setRootEditPart(rootEditPart); // set EditPartFactory graphicalViewer.setEditPartFactory(new JasperDesignEditPartFactory()); // set rulers providers RulerProvider provider = new ReportRulerProvider(new ReportRuler(true, RulerProvider.UNIT_PIXELS)); graphicalViewer.setProperty(RulerProvider.PROPERTY_HORIZONTAL_RULER, provider); provider = new ReportRulerProvider(new ReportRuler(false, RulerProvider.UNIT_PIXELS)); graphicalViewer.setProperty(RulerProvider.PROPERTY_VERTICAL_RULER, provider); Boolean isRulerVisible = jrContext .getPropertyBoolean(RulersGridPreferencePage.P_PAGE_RULERGRID_SHOWRULER); graphicalViewer.setProperty(RulerProvider.PROPERTY_RULER_VISIBILITY, isRulerVisible); createAdditionalActions(); graphicalViewer.setKeyHandler(new JSSGraphicalViewerKeyHandler( graphicalViewer)); }
/** * @see org.eclipse.jface.action.IAction#run() */ public void run() { JDRulerEditPart rulerEditPart = (JDRulerEditPart) viewer.getRootEditPart().getChildren().get(0); RulerProvider provider = rulerEditPart.getRulerProvider(); // Determine where the guide should be created int[] positions = provider.getGuidePositions(); Arrays.sort(positions); int index = 0; int newPosition = GuideEditPart.MIN_DISTANCE_BW_GUIDES + 1; int desiredDifference = (GuideEditPart.MIN_DISTANCE_BW_GUIDES * 2) + 1; boolean found = positions.length > 0 && positions[0] > desiredDifference; while (index < positions.length - 1 && !found) { if (positions[index + 1] - positions[index] > desiredDifference) { newPosition += positions[index]; found = true; } index++; } if (!found && positions.length > 0) newPosition += positions[positions.length - 1]; PositionDialog dlg = new PositionDialog(UIUtils.getShell(), newPosition); if (dlg.open() == Window.OK) newPosition = dlg.getPosition(); JDRulerFigure rf = rulerEditPart.getRulerFigure(); newPosition += rf.isHorizontal() ? rf.getHoffset() : rf.getVoffset(); // Create the guide and reveal it viewer.getEditDomain().getCommandStack().execute(provider.getCreateGuideCommand(newPosition)); viewer.reveal((EditPart) viewer.getEditPartRegistry().get(provider.getGuideAt(newPosition))); }
protected IFigure createFigure() { JDRulerFigure ruler = new JDRulerFigure(isHorizontal(), getRulerProvider().getUnit()); if (ruler.getUnit() == RulerProvider.UNIT_PIXELS) ruler.setInterval(100, 10); ruler.setHend(((ReportRuler) getRulerProvider().getRuler()).getHend()); ruler.setHoffset(((ReportRuler) getRulerProvider().getRuler()).getHoffset()); ruler.setVend(((ReportRuler) getRulerProvider().getRuler()).getVend()); ruler.setVoffset(((ReportRuler) getRulerProvider().getRuler()).getVoffset()); return ruler; }
public void handleUnitsChanged(int newUnit) { getRulerFigure().setUnit(newUnit); if (newUnit == RulerProvider.UNIT_PIXELS) getRulerFigure().setInterval(100 , 10); else getRulerFigure().setInterval(1, 10); }
private void setRulerVisibility(boolean isVisible) { if (isRulerVisible != isVisible) { isRulerVisible = isVisible; if (diagramViewer != null) { setRuler((RulerProvider) diagramViewer.getProperty(RulerProvider.PROPERTY_HORIZONTAL_RULER), PositionConstants.NORTH); setRuler((RulerProvider) diagramViewer.getProperty(RulerProvider.PROPERTY_VERTICAL_RULER), PositionConstants.WEST); } } }
/** * Returns the horizontal guides in the coordinates of the container's * contents pane. * * @return the horizontal guides */ protected int[] getHorizontalGuides() { if (horizontalGuides == null) { RulerProvider rProvider = ((RulerProvider) container.getViewer() .getProperty(RulerProvider.PROPERTY_VERTICAL_RULER)); if (rProvider != null) horizontalGuides = rProvider.getGuidePositions(); else horizontalGuides = new int[0]; } return horizontalGuides; }
/** * Returns the vertical guides in the coordinates of the container's * contents pane. * * @return the vertical guides */ protected int[] getVerticalGuides() { if (verticalGuides == null) { RulerProvider rProvider = ((RulerProvider) container.getViewer() .getProperty(RulerProvider.PROPERTY_HORIZONTAL_RULER)); if (rProvider != null) verticalGuides = rProvider.getGuidePositions(); else verticalGuides = new int[0]; } return verticalGuides; }
/** * @see org.eclipse.jface.action.IAction#isChecked() */ public boolean isChecked() { Boolean val = ((Boolean) diagramViewer .getProperty(RulerProvider.PROPERTY_RULER_VISIBILITY)); if (val != null) return val.booleanValue(); return false; }
/** * @see org.eclipse.jface.action.IAction#run() */ public void run() { RulerProvider provider = ((RulerEditPart) viewer.getRootEditPart() .getChildren().get(0)).getRulerProvider(); // Determine where the guide should be created int[] positions = provider.getGuidePositions(); Arrays.sort(positions); int index = 0; int newPosition = GuideEditPart.MIN_DISTANCE_BW_GUIDES + 1; int desiredDifference = (GuideEditPart.MIN_DISTANCE_BW_GUIDES * 2) + 1; boolean found = positions.length > 0 && positions[0] > desiredDifference; while (index < positions.length - 1 && !found) { if (positions[index + 1] - positions[index] > desiredDifference) { newPosition += positions[index]; found = true; } index++; } if (!found && positions.length > 0) newPosition += positions[positions.length - 1]; // Create the guide and reveal it viewer.getEditDomain().getCommandStack() .execute(provider.getCreateGuideCommand(newPosition)); viewer.reveal((EditPart) viewer.getEditPartRegistry().get( provider.getGuideAt(newPosition))); }
private void setRulerVisibility(boolean isVisible) { if (isRulerVisible != isVisible) { isRulerVisible = isVisible; if (diagramViewer != null) { setRuler( (RulerProvider) diagramViewer .getProperty(RulerProvider.PROPERTY_HORIZONTAL_RULER), PositionConstants.NORTH); setRuler( (RulerProvider) diagramViewer .getProperty(RulerProvider.PROPERTY_VERTICAL_RULER), PositionConstants.WEST); } } }
protected IFigure createFigure() { RulerFigure ruler = new RulerFigure(isHorizontal(), getRulerProvider() .getUnit()); if (ruler.getUnit() == RulerProvider.UNIT_PIXELS) ruler.setInterval(100, 2); return ruler; }
public void handleUnitsChanged(int newUnit) { getRulerFigure().setUnit(newUnit); if (newUnit == RulerProvider.UNIT_PIXELS) getRulerFigure().setInterval(100, 2); else getRulerFigure().setInterval(0, 0); }
protected Object getHorizontalRuler() { Object ruler = null; RulerProvider provider = (RulerProvider) diagramViewer .getProperty(RulerProvider.PROPERTY_HORIZONTAL_RULER); if (provider != null) { ruler = provider.getRuler(); } return ruler; }
protected Object getVerticalRuler() { Object ruler = null; RulerProvider provider = (RulerProvider) diagramViewer .getProperty(RulerProvider.PROPERTY_VERTICAL_RULER); if (provider != null) { ruler = provider.getRuler(); } return ruler; }
protected InstallOptionsGuide findGuideAt(int pos, boolean horizontal) { RulerProvider provider = ((RulerProvider)getHost().getViewer() .getProperty( horizontal?RulerProvider.PROPERTY_VERTICAL_RULER :RulerProvider.PROPERTY_HORIZONTAL_RULER)); return (InstallOptionsGuide)provider.getGuideAt(pos); }