Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 97805 Details for
Bug 229119
Print preview Fit to Page might be confusing
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Small change to the print preview UI to address possible confusion.
Printing_PrintPreviewUIUpdate.patch (text/plain), 6.48 KB, created by
James Bruck
on 2008-04-28 12:59:35 EDT
(
hide
)
Description:
Small change to the print preview UI to address possible confusion.
Filename:
MIME Type:
Creator:
James Bruck
Created:
2008-04-28 12:59:35 EDT
Size:
6.48 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.gmf.runtime.diagram.ui.printing >Index: src/org/eclipse/gmf/runtime/diagram/ui/printing/internal/printpreview/PrintPreviewHelper.java >=================================================================== >RCS file: /cvsroot/modeling/org.eclipse.gmf/plugins/org.eclipse.gmf.runtime.diagram.ui.printing/src/org/eclipse/gmf/runtime/diagram/ui/printing/internal/printpreview/PrintPreviewHelper.java,v >retrieving revision 1.16 >diff -u -r1.16 PrintPreviewHelper.java >--- src/org/eclipse/gmf/runtime/diagram/ui/printing/internal/printpreview/PrintPreviewHelper.java 24 Apr 2008 14:45:40 -0000 1.16 >+++ src/org/eclipse/gmf/runtime/diagram/ui/printing/internal/printpreview/PrintPreviewHelper.java 28 Apr 2008 16:55:06 -0000 >@@ -69,7 +69,7 @@ > import org.eclipse.swt.graphics.Point; > import org.eclipse.swt.layout.GridData; > import org.eclipse.swt.layout.GridLayout; >-import org.eclipse.swt.widgets.Button; >+import org.eclipse.swt.widgets.Combo; > import org.eclipse.swt.widgets.Composite; > import org.eclipse.swt.widgets.Control; > import org.eclipse.swt.widgets.Display; >@@ -298,7 +298,17 @@ > * Determine if we should consider fit to page options or not. > */ > private boolean fitToPage = false; >- >+ >+ /** >+ * Initial zoom levels. >+ */ >+ private int[] zoomLevels = { 25, 50, 75, 100, 150, 200, 250, 300, 400 }; >+ >+ /** >+ * A constant used in the combo box for scaling. >+ */ >+ private static final String FIT_TO_PAGES = DiagramUIPrintingMessages.PrintPreview_FitToPage_ButtonText; >+ > /** > * Initialize all toolbar images > */ >@@ -354,7 +364,9 @@ > public void doPrintPreview(IPrintActionHelper prActionHelper) { > this.printActionHelper = prActionHelper; > >- setUserScale(PrintHelperUtil.getScale()); >+ if (!fitToPage) { >+ setUserScale(PrintHelperUtil.getScale()); >+ } > > if (getDiagramEditorPart() == null) { > MessageDialog >@@ -667,24 +679,29 @@ > new ToolItem(bar, SWT.SEPARATOR); > > ToolItem separator = new ToolItem(bar, SWT.SEPARATOR); >- final Text textField = new Text(bar, SWT.SINGLE | SWT.BORDER); >- textField.setText("XXXXX");//$NON-NLS-1$ >- textField.setEnabled(true); >- textField.pack(); >- textField.setText(getDisplayScale(PrintHelperUtil.getScale())); >- >- separator.setWidth(textField.getBounds().width); >- separator.setControl(textField); >+ final Combo zoomCombo = new Combo(bar, SWT.DROP_DOWN); >+ >+ zoomCombo.add(FIT_TO_PAGES); >+ for (int i = 0; i < zoomLevels.length; i++) { >+ zoomCombo.add(getDisplayScale(zoomLevels[i])); >+ } > >- textField.addSelectionListener(new SelectionListener() { >- >- public void widgetSelected(SelectionEvent e) { >- // do nothing. >- } >- >- public void widgetDefaultSelected(SelectionEvent e) { >- String scaleFactor = ((Text) e.getSource()).getText(); >+ if (this.fitToPage) { >+ zoomCombo.setText(FIT_TO_PAGES); >+ zoomCombo.select(0); >+ } else { >+ zoomCombo.setText(getDisplayScale(PrintHelperUtil.getScale())); >+ } >+ >+ zoomCombo.addSelectionListener(new SelectionAdapter() { > >+ /** >+ * Apply the zoom scale as indicated by the text in the combo-box selection. >+ * >+ * @param combo Obtain zoom information from the combo-box. >+ */ >+ private void doZoom(Combo combo) { >+ String scaleFactor = combo.getText(); > int percentageIndex = scaleFactor.indexOf("%"); //$NON-NLS-1$ > if (percentageIndex > 0) { > scaleFactor = scaleFactor.substring(0, percentageIndex); >@@ -692,46 +709,47 @@ > int scalePercentage = Integer.parseInt(scaleFactor); > setPercentScaling(scalePercentage); > refreshComposite(); >- ((Text) e.getSource()).setText(getDisplayScale(scalePercentage)); >+ combo.setText(getDisplayScale(scalePercentage)); > } >- }); >- >- new ToolItem(bar, SWT.SEPARATOR); >- >- ToolItem fitToPageSeparator = new ToolItem(bar, SWT.SEPARATOR); >- Button buttonFitToPage = new Button(bar, SWT.PUSH); >- buttonFitToPage.setText(DiagramUIPrintingMessages.PrintPreview_FitToPage_ButtonText); >- buttonFitToPage.setEnabled(true); >- buttonFitToPage.pack(); >- >- fitToPageSeparator.setWidth(buttonFitToPage.getBounds().width); >- fitToPageSeparator.setControl(buttonFitToPage); >- >- buttonFitToPage.addSelectionListener(new SelectionListener() { >- >- public void widgetSelected(SelectionEvent e) { > >- FitToPagesDialog fitToPages = new FitToPagesDialog(shell); >- if (fitToPages.open() == Dialog.OK) { >- int pagesWide = fitToPages.getPagesWide(); >- int pagesTall = fitToPages.getPagesTall(); >- PrintHelperUtil.setScaleToWidth(pagesWide); >- PrintHelperUtil.setScaleToHeight(pagesTall); >+ /* >+ * (non-Javadoc) >+ * >+ * @see org.eclipse.swt.events.SelectionAdapter#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent) >+ */ >+ public void widgetDefaultSelected(SelectionEvent e) { >+ doZoom((Combo) e.getSource()); >+ } > >- setFitToPage(pagesWide, pagesTall); >- refreshComposite(); >- textField.setText(getDisplayScale(PrintHelperUtil >- .getScale())); >+ /* >+ * (non-Javadoc) >+ * >+ * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent) >+ */ >+ public void widgetSelected(SelectionEvent e) { >+ String selectedString = ((Combo) e.getSource()).getText(); >+ if (FIT_TO_PAGES.compareToIgnoreCase(selectedString) == 0) { >+ FitToPagesDialog fitToPages = new FitToPagesDialog(shell); >+ if (fitToPages.open() == Dialog.OK) { >+ int pagesWide = fitToPages.getPagesWide(); >+ int pagesTall = fitToPages.getPagesTall(); >+ PrintHelperUtil.setScaleToWidth(pagesWide); >+ PrintHelperUtil.setScaleToHeight(pagesTall); >+ >+ setFitToPage(pagesWide, pagesTall); >+ refreshComposite(); >+ } >+ } else { >+ doZoom((Combo) e.getSource()); > } >- } > >- public void widgetDefaultSelected(SelectionEvent e) { >- // do nothing > } > }); >- >- >- >+ >+ zoomCombo.pack(); >+ separator.setWidth(zoomCombo.getSize().x); >+ separator.setControl(zoomCombo); >+ > new ToolItem(bar, SWT.SEPARATOR); > closeTool = new ToolItem(bar, SWT.NULL); > closeTool.setToolTipText(DiagramUIPrintingMessages.PrintPreview_CloseToolItem); >@@ -1485,7 +1503,7 @@ > int vScale = (int) ((totalHeight * 100) / actualHeight); > int hScale = (int) ((totalWidth * 100) / actualWidth); > >- setUserScale(Math.min(hScale, vScale)); >+ userScale = Math.min(hScale, vScale)/100f; > } > >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
ahunter.eclipse
:
iplog+
Actions:
View
|
Diff
Attachments on
bug 229119
: 97805