001: package net.suberic.pooka.gui;
002:
003: import net.suberic.util.swing.ProgressDialog;
004: import net.suberic.util.gui.IconManager;
005:
006: public interface PookaUIFactory extends ErrorHandler {
007:
008: /**
009: * Returns the PookaThemeManager for fonts and colors.
010: */
011: public net.suberic.util.swing.ThemeManager getPookaThemeManager();
012:
013: /**
014: * Creates an appropriate MessageUI object for the given MessageProxy.
015: */
016: public MessageUI createMessageUI(MessageProxy mp)
017: throws javax.mail.MessagingException;
018:
019: /**
020: * Creates an appropriate MessageUI object for the given MessageProxy,
021: * using the provided MessageUI as a guideline.
022: */
023: public MessageUI createMessageUI(MessageProxy mp, MessageUI mui)
024: throws javax.mail.MessagingException;
025:
026: /**
027: * Opens the given MessageProxy in the default manner for this UI.
028: * Usually this will just be callen createMessageUI() and openMessageUI()
029: * on it. However, in some cases (Preview Panel without auto display)
030: * it may be necessary to act differently.
031: */
032: public void doDefaultOpen(MessageProxy mp);
033:
034: /**
035: * Creates an appropriate FolderDisplayUI object for the given
036: * FolderInfo.
037: */
038: public FolderDisplayUI createFolderDisplayUI(
039: net.suberic.pooka.FolderInfo fi);
040:
041: /**
042: * Creates a ContentPanel which will be used to show messages and folders.
043: */
044: public ContentPanel createContentPanel();
045:
046: /**
047: * Shows an Editor Window with the given title, which allows the user
048: * to edit the values in the properties Vector.
049: */
050: public void showEditorWindow(String title,
051: java.util.Vector properties);
052:
053: /**
054: * Shows an Editor Window with the given title, which allows the user
055: * to edit the values in the properties Vector. The given properties
056: * will be shown according to the values in the templates Vector.
057: * Note that there should be an entry in the templates Vector for
058: * each entry in the properties Vector.
059: */
060: public void showEditorWindow(String title,
061: java.util.Vector properties, java.util.Vector templates);
062:
063: /**
064: * Shows an Editor Window with the given title, which allows the user
065: * to edit the given property.
066: */
067: public void showEditorWindow(String title, String property);
068:
069: /**
070: * Shows an Editor Window with the given title, which allows the user
071: * to edit the given property, which is in turn defined by the
072: * given template.
073: */
074: public void showEditorWindow(String title, String property,
075: String template);
076:
077: /**
078: * Returns the PropertyEditorFactory used by this component.
079: */
080: public net.suberic.util.gui.propedit.PropertyEditorFactory getEditorFactory();
081:
082: /**
083: * Shows a Confirm dialog.
084: */
085: public int showConfirmDialog(String message, String title, int type);
086:
087: /**
088: * Shows a Confirm dialog with the given Object[] as the Message.
089: */
090: public int showConfirmDialog(Object[] messageComponents,
091: String title, int type);
092:
093: /**
094: * This shows an Input window.
095: */
096: public String showInputDialog(String inputMessage, String title);
097:
098: /**
099: * Shows an Input window.
100: */
101: public String showInputDialog(Object[] inputPanels, String title);
102:
103: /**
104: * Shows a status message.
105: */
106: public void showStatusMessage(String newMessage);
107:
108: /**
109: * Shows a message.
110: */
111: public void showMessage(String newMessage, String title);
112:
113: /**
114: * Creates a ProgressDialog using the given values.
115: */
116: public ProgressDialog createProgressDialog(int min, int max,
117: int initialValue, String title, String content);
118:
119: /**
120: * Clears the main status message panel.
121: */
122: public void clearStatus();
123:
124: /**
125: * Shows a SearchForm with the given FolderInfos selected from the list
126: * of the given allowedValues.
127: */
128: public void showSearchForm(
129: net.suberic.pooka.FolderInfo[] selectedFolders,
130: java.util.Vector allowedValues);
131:
132: /**
133: * Shows a SearchForm with the given FolderInfos selected. The allowed
134: * values will be the list of all available Folders.
135: */
136: public void showSearchForm(
137: net.suberic.pooka.FolderInfo[] selectedFolders);
138:
139: /**
140: * This tells the factory whether or not its ui components are showing
141: * yet or not.
142: */
143: public void setShowing(boolean newValue);
144:
145: /**
146: * Gets the current MessageNotificationManager.
147: */
148: public MessageNotificationManager getMessageNotificationManager();
149:
150: /**
151: * Gets the IconManager for this UI.
152: */
153: public net.suberic.util.gui.IconManager getIconManager();
154:
155: }
|