creatorextension/com.nokia.s60tools.creator/src/com/nokia/s60tools/creator/dialogs/DialogLauncher.java
changeset 0 61163b28edca
equal deleted inserted replaced
-1:000000000000 0:61163b28edca
       
     1 /*
       
     2 * Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:
       
    15 *
       
    16 */
       
    17  
       
    18 package com.nokia.s60tools.creator.dialogs;
       
    19 
       
    20 import org.eclipse.swt.widgets.Shell;
       
    21 
       
    22 import com.nokia.s60tools.creator.components.calendar.CalendarVariables;
       
    23 import com.nokia.s60tools.creator.components.messaging.MessageVariables;
       
    24 import com.nokia.s60tools.creator.core.CreatorEditorSettings;
       
    25 import com.nokia.s60tools.creator.editors.IComponentProvider;
       
    26 import com.nokia.s60tools.creator.util.CreatorEditorConsole;
       
    27 
       
    28 /**
       
    29  * Helper class to found correct real implementing Dialog class
       
    30  * for {@link AbstractDialog} by selected component type
       
    31  */
       
    32 public class DialogLauncher {
       
    33 	
       
    34 	/**
       
    35 	 * Get dialog by component type. Used when Add dialog is launched.
       
    36 	 * @param componentType
       
    37 	 * @param sh
       
    38 	 * @return aDialog
       
    39 	 */
       
    40 	public static AbstractDialog getDialog(String componentType, Shell sh, final IComponentProvider provider) 
       
    41 	{
       
    42 		
       
    43 		if(componentType.equals(CreatorEditorSettings.TYPE_CONTACT)){
       
    44 			return new ContactDialog(sh, provider);
       
    45 		}
       
    46 		else if(componentType.equals(CreatorEditorSettings.TYPE_CONTACT_SET)){
       
    47 			return new ContactSetDialog(sh, provider);
       
    48 		}		
       
    49 		else if(componentType.equals(CreatorEditorSettings.TYPE_CONTACT_GROUP)){
       
    50 			return new ContactGroupDialog(sh, provider);
       
    51 		}		
       
    52 		else if(componentType.equals(CreatorEditorSettings.TYPE_NOTE)){
       
    53 			return new NoteDialog(sh, provider);
       
    54 		}
       
    55 		else if(componentType.equals(CreatorEditorSettings.TYPE_BOOKMARK)){
       
    56 			return new BookmarkDialog(sh, provider);
       
    57 		}			
       
    58 		else if(componentType.equals(CreatorEditorSettings.TYPE_BOOKMARK_FOLDER)){
       
    59 			return new BookmarkFolderDialog(sh, provider);
       
    60 		}	
       
    61 		else if(componentType.equals(CreatorEditorSettings.TYPE_SAVED_PAGE)){
       
    62 			return new SavedPageDialog(sh, provider);
       
    63 		}			
       
    64 		else if(componentType.equals(CreatorEditorSettings.TYPE_SAVED_PAGE_FOLDER)){
       
    65 			return new SavedPageFolderDialog(sh, provider);
       
    66 		}
       
    67 		else if(componentType.equals(CreatorEditorSettings.TYPE_LOG)){
       
    68 			return new LogDialog(sh, provider);
       
    69 		}		
       
    70 		else if(componentType.equals(CreatorEditorSettings.TYPE_IMPS_SERVER)){
       
    71 			return new IMPSServerDialog(sh, provider);
       
    72 		}
       
    73 		else if(componentType.equals(CreatorEditorSettings.TYPE_CONNECTION_METHOD)){
       
    74 			return new ConnectionMethodDialog(sh, provider);
       
    75 		}
       
    76 		else if(
       
    77 				componentType.equals(CreatorEditorSettings.TYPE_TODO)
       
    78 				|| componentType.equals(CreatorEditorSettings.TYPE_APPOINTMENT)
       
    79 				|| componentType.equals(CreatorEditorSettings.TYPE_EVENT)
       
    80 				|| componentType.equals(CreatorEditorSettings.TYPE_REMINDER)
       
    81 				|| componentType.equals(CreatorEditorSettings.TYPE_ANNIVERSARY)				
       
    82 		){
       
    83 			return new CalendarDialog(sh, 
       
    84 					CalendarVariables.getInstance().getIdByValue(componentType), provider);
       
    85 		}
       
    86 		else if(
       
    87 				componentType.equals(CreatorEditorSettings.TYPE_MESSAGE_SMS)
       
    88 				|| componentType.equals(CreatorEditorSettings.TYPE_MESSAGE_MMS)
       
    89 				|| componentType.equals(CreatorEditorSettings.TYPE_MESSAGE_AMS)
       
    90 				|| componentType.equals(CreatorEditorSettings.TYPE_MESSAGE_EMAIL)
       
    91 				|| componentType.equals(CreatorEditorSettings.TYPE_MESSAGE_SMART)
       
    92 				|| componentType.equals(CreatorEditorSettings.TYPE_MESSAGE_IR)				
       
    93 				|| componentType.equals(CreatorEditorSettings.TYPE_MESSAGE_BT)
       
    94 		){
       
    95 			return new MessageDialog(sh, 
       
    96 					MessageVariables.getInstance().getIdByValue(componentType), provider);
       
    97 		}		
       
    98 		else if(componentType.equals(CreatorEditorSettings.TYPE_MAIL_BOX)){
       
    99 			return new MailBoxDialog(sh, provider);
       
   100 		}
       
   101 		else if(componentType.equals(CreatorEditorSettings.TYPE_LANDMARK)){
       
   102 			return new LandmarkDialog(sh, provider);
       
   103 		}
       
   104 		else if(componentType.equals(CreatorEditorSettings.TYPE_FILE)){
       
   105 			return new FileTypeDialog(sh, provider);
       
   106 		}			
       
   107 		else{
       
   108 			CreatorEditorConsole.getInstance().println("Unknown dialog type: " + componentType, CreatorEditorConsole.MSG_ERROR);
       
   109 			
       
   110 			return null;
       
   111 		}
       
   112 		
       
   113 	}
       
   114 	/**
       
   115 	 * Get dialog by component. Used when Edit dialog is launched.
       
   116 	 * @param component
       
   117 	 * @param sh
       
   118 	 * @return aDialog
       
   119 	 */
       
   120 	public static AbstractDialog getDialog(final IComponentProvider provider, Shell sh) 
       
   121 	{		
       
   122 		
       
   123 		if(provider.getEditable().getType().equals(CreatorEditorSettings.TYPE_CONTACT)){
       
   124 			return new ContactDialog(sh, provider);
       
   125 		}
       
   126 		else if(provider.getEditable().getType().equals(CreatorEditorSettings.TYPE_CONTACT_SET)){
       
   127 			return new ContactSetDialog(sh, provider);
       
   128 		}
       
   129 		else if(provider.getEditable().getType().equals(CreatorEditorSettings.TYPE_CONTACT_GROUP)){
       
   130 			return new ContactGroupDialog(sh, provider);
       
   131 		}				
       
   132 		else if(provider.getEditable().getType().equals(CreatorEditorSettings.TYPE_NOTE)){
       
   133 			return new NoteDialog(sh, provider);
       
   134 		}
       
   135 		else if(provider.getEditable().getType().equals(CreatorEditorSettings.TYPE_BOOKMARK)){
       
   136 			return new BookmarkDialog(sh, provider);
       
   137 		}			
       
   138 		else if(provider.getEditable().getType().equals(CreatorEditorSettings.TYPE_BOOKMARK_FOLDER)){
       
   139 			return new BookmarkFolderDialog(sh, provider);
       
   140 		}
       
   141 		else if(provider.getEditable().getType().equals(CreatorEditorSettings.TYPE_SAVED_PAGE)){
       
   142 			return new SavedPageDialog(sh, provider);
       
   143 		}			
       
   144 		else if(provider.getEditable().getType().equals(CreatorEditorSettings.TYPE_SAVED_PAGE_FOLDER)){
       
   145 			return new SavedPageFolderDialog(sh, provider);
       
   146 		}			
       
   147 		else if(provider.getEditable().getType().equals(CreatorEditorSettings.TYPE_LOG)){
       
   148 			return new LogDialog(sh, provider);
       
   149 		}			
       
   150 		else if(provider.getEditable().getType().equals(CreatorEditorSettings.TYPE_IMPS_SERVER)){
       
   151 			return new IMPSServerDialog(sh, provider);
       
   152 		}	
       
   153 		else if(provider.getEditable().getType().equals(CreatorEditorSettings.TYPE_CONNECTION_METHOD)){
       
   154 			return new ConnectionMethodDialog(sh, provider);
       
   155 		}
       
   156 		else if(provider.getEditable().getType().equals(CreatorEditorSettings.TYPE_CALENDAR)){
       
   157 			return new CalendarDialog(sh, provider); 
       
   158 		}
       
   159 		else if(provider.getEditable().getType().equals(CreatorEditorSettings.TYPE_MESSAGE)){
       
   160 			return new MessageDialog(sh, provider); 
       
   161 		}
       
   162 		else if(provider.getEditable().getType().equals(CreatorEditorSettings.TYPE_MAIL_BOX)){
       
   163 			return new MailBoxDialog(sh, provider);
       
   164 		}	
       
   165 		else if(provider.getEditable().getType().equals(CreatorEditorSettings.TYPE_LANDMARK)){
       
   166 			return new LandmarkDialog(sh, provider);
       
   167 		}
       
   168 		else if(provider.getEditable().getType().equals(CreatorEditorSettings.TYPE_FILE)){
       
   169 			return new FileTypeDialog(sh, provider);
       
   170 		}			
       
   171 		else{
       
   172 			CreatorEditorConsole.getInstance().println("Unknown dialog type: " + provider.getEditable().getType(), CreatorEditorConsole.MSG_ERROR);
       
   173 			return null;
       
   174 		}
       
   175 	}
       
   176 	
       
   177 
       
   178 }