Project

General

Profile

Download (3.66 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.taxeditor;
2

    
3
import org.apache.log4j.Logger;
4
import org.eclipse.jface.dialogs.Dialog;
5
import org.eclipse.jface.dialogs.MessageDialog;
6
import org.eclipse.swt.graphics.Point;
7
import org.eclipse.swt.widgets.Shell;
8
import org.eclipse.ui.IPartListener;
9
import org.eclipse.ui.IPartListener2;
10
import org.eclipse.ui.IWorkbenchPartReference;
11
import org.eclipse.ui.application.ActionBarAdvisor;
12
import org.eclipse.ui.application.IActionBarConfigurer;
13
import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
14
import org.eclipse.ui.application.WorkbenchWindowAdvisor;
15

    
16
import eu.etaxonomy.taxeditor.editor.EditorUtil;
17
import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;
18
import eu.etaxonomy.taxeditor.store.preference.InitNomenclaturalCodePrefDialog;
19
import eu.etaxonomy.taxeditor.store.preference.PreferencesUtil;
20

    
21
public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
22
	private static final Logger logger = Logger.getLogger(ApplicationWorkbenchWindowAdvisor.class);
23

    
24
	private IPartListener2 propertySheetListener;
25

    
26
	public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
27
		super(configurer);
28
	}
29

    
30
	public ActionBarAdvisor createActionBarAdvisor(
31
			IActionBarConfigurer configurer) {
32
		return new ApplicationActionBarAdvisor(configurer);
33
	}
34

    
35
	public void preWindowOpen() {
36
		IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
37
		configurer.setInitialSize(new Point(963, 637));
38
		configurer.setShowCoolBar(true);
39
		configurer.setShowStatusLine(true);
40
		configurer.setShowPerspectiveBar(true);
41
		configurer.setTitle("EDIT Taxonomic Editor");
42
	}
43
	
44
	public void postWindowOpen() {
45
		checkNomenclaturalCode();
46
		
47
//		setPropertySheetListener();
48
	}
49
	
50
//	/**
51
//	 * 
52
//	 */
53
//	private void setPropertySheetListener() {
54
//		propertySheetListener = new IPartListener2() {
55
//
56
//			public void partActivated(IWorkbenchPartReference partRef) {
57
//				if (partRef.getId().equals(MultiPageTaxonEditor.ID)) {
58
//					EditorUtil.showPropertySheet();
59
//				}
60
//			}
61
//
62
//			public void partOpened(IWorkbenchPartReference partRef) {
63
////				if (partRef.getId().equals(MultiPageTaxonEditor.ID)) {
64
////					EditorUtil.showPropertySheet();
65
////				}
66
//			}
67
//
68
//			public void partClosed(IWorkbenchPartReference partRef) {
69
////				if (partRef.getId().equals(MultiPageTaxonEditor.ID)) {
70
////					EditorUtil.checkHidePropertySheet();
71
////				}
72
//			}
73
//			
74
//			public void partBroughtToTop(IWorkbenchPartReference partRef) {}
75
//
76
//			public void partDeactivated(IWorkbenchPartReference partRef) {
77
//				EditorUtil.checkHidePropertySheet();
78
//			}
79
//
80
//			public void partHidden(IWorkbenchPartReference partRef) {}
81
//
82
//			public void partInputChanged(IWorkbenchPartReference partRef) {}
83
//
84
//			public void partVisible(IWorkbenchPartReference partRef) {}
85
//			
86
//		};
87
////		getWindowConfigurer().getWindow().getActivePage().addPartListener(propertySheetListener);
88
//	}
89

    
90
	private void checkNomenclaturalCode() {
91
		
92
		// First time Editor is opened, no nomenclatural code has been set
93
		if (PreferencesUtil.getPreferredNomenclaturalCode() == null) {
94

    
95
			Shell shell = TaxonomicEditorPlugin.getDefault().getWorkbench()
96
					.getActiveWorkbenchWindow().getShell();
97
			
98
			// Query user re: preferred nom. code
99
			Dialog dialog = new InitNomenclaturalCodePrefDialog(shell);
100
			int returnCode = dialog.open();
101
			
102
			// Short message confirming user's choice
103
			String code = PreferencesUtil.getPreferredNomenclaturalCodeAsString();
104
			MessageDialog.openInformation(shell, "Nomenclatural code set", 
105
					"The following has been set as your preferred nomenclatural code:\n\n\t" + 
106
					code + "\n\nYou can change the nomenclatural code at any time in the \"Preferences\" menu.");
107
		}		
108
	}
109
}
110
 
(4-4/6)