| //------------------------------------------------------------------------------ |
| // Copyright (c) 2005, 2006 IBM Corporation and others. |
| // All rights reserved. This program and the accompanying materials |
| // are made available under the terms of the Eclipse Public License v1.0 |
| // which accompanies this distribution, and is available at |
| // http://www.eclipse.org/legal/epl-v10.html |
| // |
| // Contributors: |
| // IBM Corporation - initial implementation |
| //------------------------------------------------------------------------------ |
| package org.eclipse.epf.authoring.ui.editors; |
| |
| import org.eclipse.epf.authoring.ui.AuthoringUIImages; |
| import org.eclipse.epf.authoring.ui.AuthoringUIResources; |
| import org.eclipse.epf.authoring.ui.views.ElementHTMLViewer; |
| import org.eclipse.swt.SWT; |
| import org.eclipse.swt.browser.Browser; |
| import org.eclipse.swt.custom.ViewForm; |
| import org.eclipse.swt.events.SelectionAdapter; |
| import org.eclipse.swt.events.SelectionEvent; |
| import org.eclipse.swt.layout.GridData; |
| import org.eclipse.swt.layout.GridLayout; |
| import org.eclipse.swt.widgets.Composite; |
| import org.eclipse.swt.widgets.Control; |
| import org.eclipse.swt.widgets.ToolBar; |
| import org.eclipse.swt.widgets.ToolItem; |
| |
| /** |
| * The Preview page in the Method Editor. |
| * |
| * @author Shilpa Toraskar |
| * @author Kelvin Low |
| * @since 1.0 |
| */ |
| public class PreviewPage { |
| |
| private ElementHTMLViewer previewer = null; |
| |
| /** |
| * Create an instance |
| * |
| * @param composite |
| */ |
| public PreviewPage(Composite composite) { |
| // Use the ViewForm control to give it the Eclipse Workbench window |
| // look & feel. |
| ViewForm viewForm = new ViewForm(composite, SWT.DEFAULT); |
| viewForm.marginHeight = 0; |
| viewForm.marginWidth = 0; |
| viewForm.setLayout(new GridLayout()); |
| viewForm.setLayoutData(new GridData(GridData.FILL_BOTH)); |
| |
| // Set toolbar |
| Control toolbar = createToolbar(viewForm); |
| viewForm.setTopRight(toolbar); |
| |
| // Set content |
| Control content = createContent(viewForm); |
| viewForm.setContent(content); |
| } |
| |
| /** |
| * Create preview content |
| * |
| * @param parent |
| * @return |
| */ |
| private Control createContent(ViewForm parent) { |
| Composite content = new Composite(parent, SWT.NONE); |
| GridLayout layout = new GridLayout(); |
| layout.marginWidth = 0; |
| layout.marginHeight = 0; |
| layout.horizontalSpacing = 0; |
| layout.verticalSpacing = 0; |
| content.setLayout(layout); |
| GridData gridData = new GridData(GridData.FILL_BOTH); |
| content.setLayoutData(gridData); |
| |
| previewer = new ElementHTMLViewer(content); |
| return (Control) content; |
| } |
| |
| /** |
| * Return ElementViewer |
| * |
| * @return |
| * Viewer |
| */ |
| public ElementHTMLViewer getPreviewViewer() { |
| return previewer; |
| } |
| |
| /** |
| * Create Toolbar It has Go back, Go forward, Stop and refresh buttons |
| * |
| * @param ViewForm |
| * parent |
| * @return Toolbar |
| */ |
| private ToolBar createToolbar(ViewForm parent) { |
| // Create the browser navigation toolbar. |
| ToolBar toolbar = new ToolBar(parent, SWT.FLAT); |
| |
| // Add the Back button. |
| ToolItem backButton = new ToolItem(toolbar, SWT.NONE); |
| backButton.setImage(AuthoringUIImages.IMG_BACK); |
| backButton.setToolTipText(AuthoringUIResources.backButton_text); |
| backButton.addSelectionListener(new SelectionAdapter() { |
| public void widgetSelected(SelectionEvent event) { |
| Browser browser = previewer.getBrowser(); |
| if (browser != null) { |
| browser.back(); |
| } |
| }; |
| }); |
| |
| // Add the Foward button. |
| ToolItem forwardButton = new ToolItem(toolbar, SWT.NONE); |
| forwardButton.setImage(AuthoringUIImages.IMG_FORWARD); |
| forwardButton.setToolTipText(AuthoringUIResources.forwardButton_text); |
| forwardButton.addSelectionListener(new SelectionAdapter() { |
| public void widgetSelected(SelectionEvent event) { |
| Browser browser = previewer.getBrowser(); |
| if (browser != null) { |
| browser.forward(); |
| } |
| }; |
| }); |
| |
| // Add the Stop button. |
| ToolItem stopButton = new ToolItem(toolbar, SWT.NONE); |
| stopButton.setImage(AuthoringUIImages.IMG_STOP); |
| stopButton.setToolTipText(AuthoringUIResources.stopButton_text); |
| stopButton.addSelectionListener(new SelectionAdapter() { |
| public void widgetSelected(SelectionEvent event) { |
| Browser browser = previewer.getBrowser(); |
| if (browser != null) { |
| browser.stop(); |
| } |
| }; |
| }); |
| |
| // Add the Refresh button. |
| ToolItem refreshButton = new ToolItem(toolbar, SWT.NONE); |
| refreshButton.setImage(AuthoringUIImages.IMG_REFRESH); |
| refreshButton.setToolTipText(AuthoringUIResources.refreshButton_text); |
| refreshButton.addSelectionListener(new SelectionAdapter() { |
| public void widgetSelected(SelectionEvent event) { |
| // Browser browser = previewer.getBrowser(); |
| // if (browser != null) { |
| // browser.refresh(); |
| // } |
| |
| previewer.refresh(); |
| }; |
| }); |
| |
| // Add the Print button. |
| ToolItem printButton = new ToolItem(toolbar, SWT.NONE); |
| printButton.setImage(AuthoringUIImages.IMG_PRINT); |
| printButton.setToolTipText(AuthoringUIResources.printButton_text); |
| printButton.addSelectionListener(new SelectionAdapter() { |
| public void widgetSelected(SelectionEvent event) { |
| previewer.print(); |
| }; |
| }); |
| |
| return toolbar; |
| } |
| |
| } |