p2izing the editor
[taxeditor.git] / eclipseprojects / eu.etaxonomy.taxeditor / src / eu / etaxonomy / taxeditor / TaxEditorPlugin.java
index c7f2c22ad4b8483dc59704ce1af0fe57266dd76f..d68bfde517954f782ca638c7731b1cb748481810 100644 (file)
@@ -12,11 +12,16 @@ package eu.etaxonomy.taxeditor;
 import java.net.URL;\r
 import java.util.HashMap;\r
 import java.util.Locale;\r
+import java.util.Set;\r
 \r
 import org.apache.log4j.Logger;\r
 import org.eclipse.core.runtime.FileLocator;\r
 import org.eclipse.core.runtime.IPath;\r
+import org.eclipse.core.runtime.IStatus;\r
+import org.eclipse.core.runtime.MultiStatus;\r
 import org.eclipse.core.runtime.Path;\r
+import org.eclipse.core.runtime.Status;\r
+import org.eclipse.jface.dialogs.ErrorDialog;\r
 import org.eclipse.jface.resource.FontRegistry;\r
 import org.eclipse.jface.resource.ImageDescriptor;\r
 import org.eclipse.jface.resource.ImageRegistry;\r
@@ -36,10 +41,10 @@ import eu.etaxonomy.cdm.database.DataSourceNotFoundException;
 import eu.etaxonomy.cdm.database.DbSchemaValidation;\r
 import eu.etaxonomy.cdm.database.ICdmDataSource;\r
 import eu.etaxonomy.cdm.model.common.init.TermNotFoundException;\r
+import eu.etaxonomy.taxeditor.controller.GlobalController;\r
 import eu.etaxonomy.taxeditor.datasource.CdmDataSourceRepository;\r
 import eu.etaxonomy.taxeditor.datasource.CdmTransactionController;\r
 import eu.etaxonomy.taxeditor.model.CdmSessionDataRepository;\r
-\r
 /**\r
  * The class controlling the plug-in life cycle.\r
  * </p>\r
@@ -161,6 +166,7 @@ public class TaxEditorPlugin extends AbstractUIPlugin {
                        // TODO user-friendly failure here\r
                        e.printStackTrace();\r
                } catch (TermNotFoundException e) {\r
+                       // TODO Auto-generated catch block\r
                        e.printStackTrace();\r
                }\r
                \r
@@ -169,6 +175,11 @@ public class TaxEditorPlugin extends AbstractUIPlugin {
                CdmDataSourceRepository.getDefault().setCdmApplicationController(applicationController);\r
                CdmSessionDataRepository.getDefault().setApplicationController(applicationController);\r
                \r
+//             // Terms have to be initialized explicitly as of now\r
+//             logger.warn("MAC Workaround enabled!!");\r
+//             DefaultTermInitializer vocabularyStore = new DefaultTermInitializer();\r
+//             vocabularyStore.initialize();\r
+               \r
                return applicationController;\r
        }\r
        \r
@@ -190,6 +201,41 @@ public class TaxEditorPlugin extends AbstractUIPlugin {
                return getImageRegistry().get(key);\r
        }\r
 \r
+       /**\r
+        * Gets an image for the given URL. Adds the image to the registry as needed.\r
+        * \r
+        * @param url\r
+        * @return\r
+        */\r
+       public Image getImage(URL url) {                \r
+               \r
+               String key = url.toString();\r
+               ImageRegistry registry = getImageRegistry();\r
+\r
+               Image image = registry.get(key);\r
+               \r
+               if (image == null) {\r
+                       ImageDescriptor desc = ImageDescriptor.createFromURL(url);\r
+                       \r
+//                     logger.warn(ImageDescriptor.getMissingImageDescriptor().getClass());\r
+//                     logger.warn(desc.getClass());\r
+//                     \r
+//                     if (ImageDescriptor.getMissingImageDescriptor().equals(desc)) {\r
+//                             logger.warn("img not found");\r
+//                     }\r
+                       \r
+                       registry.put(key, desc);\r
+                       try {\r
+                               image = registry.get(key);\r
+                       } catch (Exception e) {\r
+                               // TODO Auto-generated catch block\r
+                               e.printStackTrace();\r
+                       }\r
+               }\r
+               \r
+               return image;\r
+       }\r
+       \r
        protected void initializeImageRegistry(ImageRegistry registry) {\r
                registerImage(registry, ITaxEditorConstants.EDIT_ICON, "edit_16x16.ico");\r
                registerImage(registry, ITaxEditorConstants.WARNING_ICON,\r
@@ -250,6 +296,7 @@ public class TaxEditorPlugin extends AbstractUIPlugin {
                } catch (Exception e) {\r
                }\r
        }\r
+       \r
 \r
        /***************************************************************************\r
         * FONT REGISTRY\r
@@ -275,7 +322,7 @@ public class TaxEditorPlugin extends AbstractUIPlugin {
                        fontRegistry.put(ITaxEditorConstants.CHOOSE_NAME_TEXT_FONT,\r
                                        new FontData[] { new FontData("Arial", 12, SWT.BOLD) });\r
                        fontRegistry.put(ITaxEditorConstants.DEFAULT_PROMPT_FONT,\r
-                                       new FontData[] { new FontData("Georgia", 10, SWT.ITALIC) });\r
+                                       new FontData[] { new FontData("Georgia", 10, SWT.ITALIC) });                    \r
                }\r
                return fontRegistry;\r
        }\r
@@ -284,6 +331,25 @@ public class TaxEditorPlugin extends AbstractUIPlugin {
                return getFontRegistry().get(key);\r
        }\r
 \r
+       /**\r
+        * @param font\r
+        */\r
+       public Font italicizeFont(Font font) {\r
+               FontData fontData = font.getFontData()[0];\r
+               fontData.setStyle(fontData.getStyle() | SWT.ITALIC);\r
+               Font italFont = new Font(Display.getDefault(), fontData);\r
+               \r
+               int i = 0;\r
+               String fontName = "italic";\r
+               Set keySet = fontRegistry.getKeySet();\r
+               while (keySet.contains(fontName + i)) {\r
+                       i++;\r
+               }\r
+               fontRegistry.put(fontName + i, italFont.getFontData());\r
+               \r
+               return italFont;\r
+       }\r
+\r
        /***************************************************************************\r
         * COLOR MAP\r
         **************************************************************************/\r
@@ -338,4 +404,4 @@ public class TaxEditorPlugin extends AbstractUIPlugin {
        public PropertySheetPage getPropertySheetPage() {\r
                return propertySheetPage;\r
        }\r
-}
\ No newline at end of file
+}\r