]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.document.linking.ui/src/org/simantics/document/linking/wizard/ReportSelectionPage.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.document.linking.ui / src / org / simantics / document / linking / wizard / ReportSelectionPage.java
index 2fc3cde6268633a9ad11a4193e70faecba1720a1..da8ff028a00ba9d677cb829ff1fa40c76e5f6606 100644 (file)
-package org.simantics.document.linking.wizard;\r
-\r
-import java.util.ArrayList;\r
-import java.util.List;\r
-\r
-import org.eclipse.jface.layout.GridDataFactory;\r
-import org.eclipse.jface.wizard.WizardPage;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.custom.CCombo;\r
-import org.eclipse.swt.events.SelectionAdapter;\r
-import org.eclipse.swt.events.SelectionEvent;\r
-import org.eclipse.swt.events.SelectionListener;\r
-import org.eclipse.swt.layout.FillLayout;\r
-import org.eclipse.swt.layout.GridLayout;\r
-import org.eclipse.swt.widgets.Button;\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.eclipse.swt.widgets.Display;\r
-import org.eclipse.swt.widgets.FileDialog;\r
-import org.eclipse.swt.widgets.Group;\r
-import org.eclipse.swt.widgets.Label;\r
-import org.eclipse.swt.widgets.Text;\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.common.request.ReadRequest;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.document.linking.report.templates.CompleteStructureWriter;\r
-import org.simantics.document.linking.report.templates.DiagramStructureWithDependenciesWriter;\r
-import org.simantics.document.linking.report.templates.DiagramStructureWriter;\r
-import org.simantics.document.linking.report.templates.DocumentStructureWriter;\r
-import org.simantics.document.linking.report.templates.ModelDocumentWriter;\r
-import org.simantics.document.linking.report.templates.ReferredDocumentWriter;\r
-import org.simantics.document.linking.report.templates.ReportWriter;\r
-import org.simantics.document.linking.views.ModelRead;\r
-import org.simantics.document.linking.views.ModelToComboListener;\r
-import org.simantics.ui.SimanticsUI;\r
-\r
-\r
-/**\r
- * Wizard page for selecting report type and file.\r
- * \r
- * @author Marko Luukkainen <marko.luukkainen@vtt.fi>\r
- *\r
- */\r
-public class ReportSelectionPage extends WizardPage{\r
-       \r
-       protected ReportSelectionPage(String pageName) {\r
-               super(pageName,pageName,null);\r
-               setPageComplete(false);\r
-       }\r
-\r
-       CCombo modelCombo;\r
-       Text filenameText;\r
-       Button browseButton;\r
-       \r
-       ModelToComboListener modelToComboListener;\r
-       \r
-       List<Button> reportSelectionButtons = new ArrayList<Button>();\r
-       List<ReportWriter<?>> reportWriters = new ArrayList<ReportWriter<?>>();\r
-       \r
-       ReportWriter<?> selectedWriter;\r
-       Resource selectedModel;\r
-       Resource input;\r
-       \r
-       @Override\r
-       public void createControl(Composite parent) {\r
-               \r
-               \r
-               Composite composite = new Composite(parent, SWT.NONE);\r
-               composite.setLayout(new GridLayout(3,false));\r
-               Label label = new Label(composite, SWT.NONE);\r
-               label.setText("Model:");\r
-               modelCombo = new CCombo(composite, SWT.BORDER|SWT.READ_ONLY);\r
-               \r
-               label = new Label(composite, SWT.NONE);\r
-               label.setText("File:");\r
-               filenameText = new Text(composite, SWT.BORDER|SWT.SINGLE);\r
-               browseButton = new Button(composite, SWT.PUSH);\r
-               browseButton.setText("Browse");\r
-               \r
-               reportWriters.add(new ModelDocumentWriter());\r
-               reportWriters.add(new ReferredDocumentWriter());\r
-               reportWriters.add(new DocumentStructureWriter());\r
-               reportWriters.add(new DiagramStructureWriter());\r
-               reportWriters.add(new DiagramStructureWithDependenciesWriter());\r
-               reportWriters.add(new CompleteStructureWriter());\r
-               \r
-               Group group = new Group(composite, SWT.NONE);\r
-               group.setText("Report templates");\r
-               group.setLayout(new FillLayout(SWT.VERTICAL));\r
-               \r
-               GridDataFactory.fillDefaults().grab(true, false).align(SWT.FILL, SWT.CENTER).applyTo(filenameText);\r
-               GridDataFactory.fillDefaults().span(2, 1).applyTo(modelCombo);\r
-               GridDataFactory.fillDefaults().span(3, 1).applyTo(group);\r
-               \r
-               browseButton.addSelectionListener(new SelectionAdapter() {\r
-                       \r
-                       @Override\r
-                       public void widgetSelected(SelectionEvent e) {\r
-                               FileDialog dialog = new FileDialog(Display.getCurrent().getActiveShell(),SWT.SAVE);\r
-                               dialog.setFilterExtensions(new String[]{"*.pdf","*.html"});\r
-                               dialog.setFilterNames(new String[]{"PDF Document","HTML Document"});\r
-                               String filename = dialog.open();\r
-                               if (filename == null)\r
-                                       filenameText.setText("");\r
-                               else\r
-                                       filenameText.setText(filename);\r
-                               validate();\r
-                       }\r
-               });\r
-               \r
-               \r
-               SelectionListener listener = new SelectionAdapter() {\r
-                       @Override\r
-                       public void widgetSelected(SelectionEvent e) {\r
-                               Button selected = (Button)e.widget;\r
-                               select(selected);\r
-                       }\r
-               };\r
-               \r
-               for (ReportWriter<?> rw : reportWriters) {\r
-                       Button b = new Button(group, SWT.RADIO);\r
-                       b.setText(rw.getName());\r
-                       b.setData(rw);\r
-                       b.addSelectionListener(listener);\r
-                       reportSelectionButtons.add(b);\r
-               }\r
-               \r
-               SimanticsUI.getSession().asyncRequest(new ReadRequest() {\r
-                       \r
-                       @Override\r
-                       public void run(ReadGraph graph) throws DatabaseException {\r
-                               Resource project = SimanticsUI.getProject().get();\r
-                               modelToComboListener = new ModelToComboListener(modelCombo) {\r
-                                       @Override\r
-                                       public Resource getCurrentModel() {\r
-                                               return selectedModel;\r
-                                       } \r
-                                       \r
-                                       @Override\r
-                                       public void loaded() {\r
-                                               preselectModel();\r
-                                       }\r
-                               };\r
-                               graph.syncRequest(new ModelRead(project),modelToComboListener);\r
-                               \r
-                       }\r
-               });\r
-               \r
-               modelCombo.addSelectionListener(new SelectionAdapter() {\r
-                       @Override\r
-                       public void widgetSelected(SelectionEvent e) {\r
-                               int index = modelCombo.getSelectionIndex();\r
-                               if (index == -1)\r
-                                       return;\r
-                               Resource model = (Resource)modelCombo.getData(Integer.toString(index));\r
-                               if (model != null)\r
-                                       selectedModel = model;\r
-                               validate();\r
-                       }\r
-               });\r
-               \r
-               select(reportSelectionButtons.get(0));\r
-               setControl(composite);\r
-       }\r
-       \r
-       public List<Button> getReportSelectionButtons() {\r
-               return reportSelectionButtons;\r
-       }\r
-       \r
-       private void select(Button selected) {\r
-               selected.setSelection(true);\r
-               for (Button b : reportSelectionButtons) {\r
-                       if (b != selected)\r
-                               b.setSelection(false);\r
-               }\r
-               selectedWriter = (ReportWriter<?>)selected.getData();\r
-               validate();\r
-       }\r
-       \r
-       private void validate() {\r
-               setPageComplete(selectedWriter!= null && selectedModel != null && filenameText.getText().length() > 0);\r
-       }\r
-       \r
-       public ReportWriter<?> getSelectedWriter() {\r
-               return selectedWriter;\r
-       }\r
-       \r
-       public String getFilename() {\r
-               return filenameText.getText();\r
-       }\r
-       \r
-       public Resource getSelectedModel() {\r
-               return selectedModel;\r
-       }\r
-       \r
-       public void setInput(Resource input) {\r
-               this.input = input;\r
-       }\r
-       \r
-       private void preselectModel() {\r
-               if (input != null) {\r
-                       for (int i = 0; i < modelCombo.getItemCount(); i++) {\r
-                               if (input.equals(modelCombo.getData(Integer.toString(i)))) {\r
-                                       modelCombo.select(i);\r
-                                       selectedModel = input;\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void setVisible(boolean visible) {\r
-               if (visible) {\r
-                       preselectModel();\r
-               }\r
-               super.setVisible(visible);\r
-       }\r
-\r
-}\r
+package org.simantics.document.linking.wizard;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.jface.layout.GridDataFactory;
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.CCombo;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.FileDialog;
+import org.eclipse.swt.widgets.Group;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.Resource;
+import org.simantics.db.common.request.ReadRequest;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.document.linking.report.templates.CompleteStructureWriter;
+import org.simantics.document.linking.report.templates.DiagramStructureWithDependenciesWriter;
+import org.simantics.document.linking.report.templates.DiagramStructureWriter;
+import org.simantics.document.linking.report.templates.DocumentStructureWriter;
+import org.simantics.document.linking.report.templates.ModelDocumentWriter;
+import org.simantics.document.linking.report.templates.ReferredDocumentWriter;
+import org.simantics.document.linking.report.templates.ReportWriter;
+import org.simantics.document.linking.views.ModelRead;
+import org.simantics.document.linking.views.ModelToComboListener;
+import org.simantics.ui.SimanticsUI;
+
+
+/**
+ * Wizard page for selecting report type and file.
+ * 
+ * @author Marko Luukkainen <marko.luukkainen@vtt.fi>
+ *
+ */
+public class ReportSelectionPage extends WizardPage{
+       
+       protected ReportSelectionPage(String pageName) {
+               super(pageName,pageName,null);
+               setPageComplete(false);
+       }
+
+       CCombo modelCombo;
+       Text filenameText;
+       Button browseButton;
+       
+       ModelToComboListener modelToComboListener;
+       
+       List<Button> reportSelectionButtons = new ArrayList<Button>();
+       List<ReportWriter<?>> reportWriters = new ArrayList<ReportWriter<?>>();
+       
+       ReportWriter<?> selectedWriter;
+       Resource selectedModel;
+       Resource input;
+       
+       @Override
+       public void createControl(Composite parent) {
+               
+               
+               Composite composite = new Composite(parent, SWT.NONE);
+               composite.setLayout(new GridLayout(3,false));
+               Label label = new Label(composite, SWT.NONE);
+               label.setText("Model:");
+               modelCombo = new CCombo(composite, SWT.BORDER|SWT.READ_ONLY);
+               
+               label = new Label(composite, SWT.NONE);
+               label.setText("File:");
+               filenameText = new Text(composite, SWT.BORDER|SWT.SINGLE);
+               browseButton = new Button(composite, SWT.PUSH);
+               browseButton.setText("Browse");
+               
+               reportWriters.add(new ModelDocumentWriter());
+               reportWriters.add(new ReferredDocumentWriter());
+               reportWriters.add(new DocumentStructureWriter());
+               reportWriters.add(new DiagramStructureWriter());
+               reportWriters.add(new DiagramStructureWithDependenciesWriter());
+               reportWriters.add(new CompleteStructureWriter());
+               
+               Group group = new Group(composite, SWT.NONE);
+               group.setText("Report templates");
+               group.setLayout(new FillLayout(SWT.VERTICAL));
+               
+               GridDataFactory.fillDefaults().grab(true, false).align(SWT.FILL, SWT.CENTER).applyTo(filenameText);
+               GridDataFactory.fillDefaults().span(2, 1).applyTo(modelCombo);
+               GridDataFactory.fillDefaults().span(3, 1).applyTo(group);
+               
+               browseButton.addSelectionListener(new SelectionAdapter() {
+                       
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               FileDialog dialog = new FileDialog(Display.getCurrent().getActiveShell(),SWT.SAVE);
+                               dialog.setFilterExtensions(new String[]{"*.pdf","*.html"});
+                               dialog.setFilterNames(new String[]{"PDF Document","HTML Document"});
+                               String filename = dialog.open();
+                               if (filename == null)
+                                       filenameText.setText("");
+                               else
+                                       filenameText.setText(filename);
+                               validate();
+                       }
+               });
+               
+               
+               SelectionListener listener = new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               Button selected = (Button)e.widget;
+                               select(selected);
+                       }
+               };
+               
+               for (ReportWriter<?> rw : reportWriters) {
+                       Button b = new Button(group, SWT.RADIO);
+                       b.setText(rw.getName());
+                       b.setData(rw);
+                       b.addSelectionListener(listener);
+                       reportSelectionButtons.add(b);
+               }
+               
+               SimanticsUI.getSession().asyncRequest(new ReadRequest() {
+                       
+                       @Override
+                       public void run(ReadGraph graph) throws DatabaseException {
+                               Resource project = SimanticsUI.getProject().get();
+                               modelToComboListener = new ModelToComboListener(modelCombo) {
+                                       @Override
+                                       public Resource getCurrentModel() {
+                                               return selectedModel;
+                                       } 
+                                       
+                                       @Override
+                                       public void loaded() {
+                                               preselectModel();
+                                       }
+                               };
+                               graph.syncRequest(new ModelRead(project),modelToComboListener);
+                               
+                       }
+               });
+               
+               modelCombo.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               int index = modelCombo.getSelectionIndex();
+                               if (index == -1)
+                                       return;
+                               Resource model = (Resource)modelCombo.getData(Integer.toString(index));
+                               if (model != null)
+                                       selectedModel = model;
+                               validate();
+                       }
+               });
+               
+               select(reportSelectionButtons.get(0));
+               setControl(composite);
+       }
+       
+       public List<Button> getReportSelectionButtons() {
+               return reportSelectionButtons;
+       }
+       
+       private void select(Button selected) {
+               selected.setSelection(true);
+               for (Button b : reportSelectionButtons) {
+                       if (b != selected)
+                               b.setSelection(false);
+               }
+               selectedWriter = (ReportWriter<?>)selected.getData();
+               validate();
+       }
+       
+       private void validate() {
+               setPageComplete(selectedWriter!= null && selectedModel != null && filenameText.getText().length() > 0);
+       }
+       
+       public ReportWriter<?> getSelectedWriter() {
+               return selectedWriter;
+       }
+       
+       public String getFilename() {
+               return filenameText.getText();
+       }
+       
+       public Resource getSelectedModel() {
+               return selectedModel;
+       }
+       
+       public void setInput(Resource input) {
+               this.input = input;
+       }
+       
+       private void preselectModel() {
+               if (input != null) {
+                       for (int i = 0; i < modelCombo.getItemCount(); i++) {
+                               if (input.equals(modelCombo.getData(Integer.toString(i)))) {
+                                       modelCombo.select(i);
+                                       selectedModel = input;
+                               }
+                       }
+               }
+       }
+       
+       @Override
+       public void setVisible(boolean visible) {
+               if (visible) {
+                       preselectModel();
+               }
+               super.setVisible(visible);
+       }
+
+}