Checkin before attempting to put left pane in a scroll form to automate spacing issues.
authorp.ciardelli <p.ciardelli@localhost>
Wed, 12 Mar 2008 09:32:27 +0000 (09:32 +0000)
committerp.ciardelli <p.ciardelli@localhost>
Wed, 12 Mar 2008 09:32:27 +0000 (09:32 +0000)
.gitattributes
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/LeftPane.java [new file with mode: 0644]

index 9f96f6bcd8f13b16395d0cb17def253c9c6f6bc2..dca02b8a3053daaf841cb024724f3280fbf99a40 100644 (file)
@@ -388,6 +388,7 @@ eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/NameEdit
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/NameTreeContentProvider.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/PropertySheetNode.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/EmptyEditorView.java -text
+eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/LeftPane.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/MasterDetailsPage.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/MoveDialogView.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/MultiPageTaxonView.java -text
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/LeftPane.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/view/LeftPane.java
new file mode 100644 (file)
index 0000000..89a1f12
--- /dev/null
@@ -0,0 +1,210 @@
+package eu.etaxonomy.taxeditor.view;\r
+\r
+import org.eclipse.jface.action.IMenuManager;\r
+import org.eclipse.jface.action.IToolBarManager;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.events.FocusEvent;\r
+import org.eclipse.swt.events.FocusListener;\r
+import org.eclipse.swt.layout.GridData;\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.Control;\r
+import org.eclipse.swt.widgets.Display;\r
+import org.eclipse.swt.widgets.Label;\r
+import org.eclipse.swt.widgets.Menu;\r
+import org.eclipse.swt.widgets.MenuItem;\r
+import org.eclipse.swt.widgets.Text;\r
+import org.eclipse.ui.forms.events.ExpansionAdapter;\r
+import org.eclipse.ui.forms.events.ExpansionEvent;\r
+import org.eclipse.ui.forms.widgets.FormToolkit;\r
+import org.eclipse.ui.forms.widgets.ScrolledForm;\r
+import org.eclipse.ui.forms.widgets.Section;\r
+import org.eclipse.ui.part.ViewPart;\r
+\r
+import com.swtdesigner.ResourceManager;\r
+import com.swtdesigner.SWTResourceManager;\r
+\r
+import eu.etaxonomy.taxeditor.Activator;\r
+\r
+public class LeftPane extends ViewPart {\r
+\r
+       public static final String ID = "eu.etaxonomy.taxeditor.view.LeftPane"; //$NON-NLS-1$\r
+       private Composite body;\r
+       private FormToolkit toolkit;\r
+       private ScrolledForm scrolledForm;\r
+       private TaxonomicTreeViewer treeViewer;\r
+       private RecentNamesTableViewer recentNamesViewer;\r
+\r
+       /**\r
+        * Create contents of the view part\r
+        * @param parent\r
+        */\r
+       @Override\r
+       public void createPartControl(Composite parent) {\r
+               toolkit = new FormToolkit(Display.getCurrent());\r
+               Composite container = toolkit.createComposite(parent, SWT.NONE);\r
+               container.setLayout(new GridLayout());\r
+               toolkit.paintBordersFor(container);\r
+\r
+               scrolledForm = toolkit.createScrolledForm(container);\r
+               scrolledForm.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, true));\r
+               body = scrolledForm.getBody();\r
+               final GridLayout gridLayout = new GridLayout();\r
+               gridLayout.numColumns = 2;\r
+               body.setLayout(gridLayout);\r
+               toolkit.paintBordersFor(body);\r
+               \r
+               createDatasourceInfo();\r
+               createTaxonomicTree();\r
+               createRecentNames();\r
+               createSearch();\r
+               \r
+               //\r
+               createActions();\r
+               initializeToolBar();\r
+               initializeMenu();\r
+       }\r
+\r
+       private void createDatasourceInfo() {\r
+               Label lblDataSource = new Label(body, SWT.NONE);\r
+               toolkit.adapt(lblDataSource, true, true);\r
+               lblDataSource.setFont(SWTResourceManager.getFont("Arial", 14, SWT.BOLD));\r
+               lblDataSource.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
+               lblDataSource.setAlignment(SWT.CENTER);\r
+               lblDataSource.setText(" Euro+Med");             \r
+               \r
+\r
+               Label lblDbImg = new Label(body, SWT.NONE);\r
+               lblDbImg.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));\r
+               toolkit.adapt(lblDbImg, true, true);\r
+               lblDbImg.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
+               lblDbImg.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/db.gif"));\r
+\r
+               Menu menu = new Menu(lblDbImg);\r
+               lblDbImg.setMenu(menu);\r
+\r
+               MenuItem checkboxMenuItem = new MenuItem(menu, SWT.CHECK);\r
+               checkboxMenuItem.setSelection(true);\r
+               checkboxMenuItem.setText("Euro+Med (mssql://128.14.101.12:80/europlusmed)");\r
+\r
+               MenuItem checkboxMenuItem_1 = new MenuItem(menu, SWT.CHECK);\r
+               checkboxMenuItem_1.setText("WP6 (mssql://128.14.101.13:80/wp6)");\r
+\r
+               MenuItem palmWebora1922299480pwMenuItem = new MenuItem(menu, SWT.NONE);\r
+               palmWebora1922299480pwMenuItem.setText("Palm Web (ora://192.22.99.4:80/pw)");\r
+\r
+               new MenuItem(menu, SWT.SEPARATOR);\r
+\r
+               MenuItem newDataSourceMenuItem = new MenuItem(menu, SWT.NONE);\r
+               newDataSourceMenuItem.setText("New data source ...");\r
+               \r
+               Label lblDataSource2 = new Label(body, SWT.NONE);\r
+               lblDataSource2.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false, 2, 1));\r
+               lblDataSource2.setFont(SWTResourceManager.getFont("Arial", 8, SWT.NONE));\r
+               lblDataSource2.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
+               lblDataSource2.setAlignment(SWT.CENTER);\r
+               lblDataSource2.setText("  mssql://128.14.101.12:80/europlusmed");               \r
+               \r
+       }       \r
+       \r
+       private void createTaxonomicTree() {\r
+\r
+               treeViewer = new TaxonomicTreeViewer(createExpandableSection("Taxonomic tree"));\r
+               treeViewer.getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));\r
+               toolkit.adapt(treeViewer.getTree(), true, true);\r
+       }\r
+\r
+       private void createRecentNames() {\r
+\r
+               recentNamesViewer = new RecentNamesTableViewer(createExpandableSection("Recently viewed names"));\r
+               recentNamesViewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));\r
+               toolkit.adapt(recentNamesViewer.getTable(), true, true);                \r
+       }       \r
+\r
+\r
+       private void createSearch() {\r
+               Composite searchComposite = createExpandableSection("Search");\r
+               final GridLayout gridLayout = new GridLayout();\r
+               gridLayout.numColumns = 2;\r
+               searchComposite.setLayout(gridLayout);\r
+\r
+//             searchExpandItem.setControl(searchComposite);\r
+\r
+               final Text searchText = new Text(searchComposite, SWT.BORDER);\r
+               searchText.setForeground(SWTResourceManager.getColor(192, 192, 192));\r
+               searchText.setText("Use \"*\" for wildcard searching");\r
+               final GridData gd_useForText = new GridData(SWT.FILL, SWT.CENTER, true, false);\r
+               searchText.setLayoutData(gd_useForText);\r
+               searchText.addFocusListener(new FocusListener() {\r
+\r
+                       public void focusGained(FocusEvent e) {\r
+                               searchText.setForeground(SWTResourceManager.getColor(0,0,0));\r
+                               searchText.setText("");\r
+                       }\r
+\r
+                       public void focusLost(FocusEvent e) {\r
+                               if (searchText.getText() == "") {\r
+                                       searchText.setForeground(SWTResourceManager.getColor(192, 192, 192));\r
+                                       searchText.setText("Use \"*\" for wildcard searching");                                 \r
+                               }\r
+                               \r
+                       }\r
+                       \r
+               });\r
+\r
+               final Button searchButton = new Button(searchComposite, SWT.NONE);\r
+               searchButton.setText("Search");\r
+       }       \r
+       \r
+       private Composite createExpandableSection(String header) {\r
+               Section section = toolkit.createSection(body, Section.TITLE_BAR | Section.TWISTIE | \r
+                               Section.EXPANDED);\r
+               section.addExpansionListener(new ExpansionAdapter() {\r
+                       public void expansionStateChanged(ExpansionEvent e) {\r
+                               scrolledForm.reflow(true);\r
+                       }\r
+               });\r
+       \r
+               section.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));\r
+               section.setText(header);\r
+\r
+               final Composite composite = toolkit.createComposite(section, SWT.NONE);\r
+               composite.setLayout(new GridLayout());\r
+               toolkit.adapt(composite);\r
+               section.setClient(composite);\r
+\r
+               return composite;\r
+       }\r
+       \r
+       /**\r
+        * Create the actions\r
+        */\r
+       private void createActions() {\r
+               // Create the actions\r
+       }\r
+\r
+       /**\r
+        * Initialize the toolbar\r
+        */\r
+       private void initializeToolBar() {\r
+               IToolBarManager tbm = getViewSite().getActionBars().getToolBarManager();\r
+       }\r
+\r
+       /**\r
+        * Initialize the menu\r
+        */\r
+       private void initializeMenu() {\r
+               IMenuManager manager = getViewSite().getActionBars().getMenuManager();\r
+       }\r
+\r
+       @Override\r
+       public void setFocus() {\r
+               // Set the focus\r
+       }\r
+\r
+       public TaxonomicTreeViewer getTreeViewer() {\r
+               return treeViewer;\r
+       }\r
+\r
+}\r