--- /dev/null
+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