001: // The contents of this file are subject to the Mozilla Public License Version
002: // 1.1
003: //(the "License"); you may not use this file except in compliance with the
004: //License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
005: //
006: //Software distributed under the License is distributed on an "AS IS" basis,
007: //WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
008: //for the specific language governing rights and
009: //limitations under the License.
010: //
011: //The Original Code is "The Columba Project"
012: //
013: //The Initial Developers of the Original Code are Frederik Dietz and Timo
014: // Stich.
015: //Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
016: //
017: //All Rights Reserved.
018: package org.columba.api.plugin;
019:
020: public interface IExtensionHandlerKeys {
021:
022: /**
023: * Every action in Columba is handled by this class.
024: * <p>
025: * These actions are used to generate the menu and the toolbar dynamically.
026: * <p>
027: * @see org.columba.core.gui.action.AbstractColumbaAction
028: */
029: public static final String ORG_COLUMBA_CORE_ACTION = "org.columba.core.action";
030:
031: /**
032: * Provides access to main entrypoint of components like addressbook
033: * and mail.
034: * <p>
035: * @see org.columba.core.component.api.IComponentPlugin
036: * @see org.columba.addressbook.main.AddressbookMain
037: * @see org.columba.mail.main.MailMain
038: */
039: public static final String ORG_COLUMBA_CORE_COMPONENT = "org.columba.core.component";
040:
041: /**
042: * ConfigExtensionHandler provides an easy way for plugins to have their own
043: * configuration dialog.
044: * <p>
045: * Note that every plugin can have its own configuration file "config.xml"
046: * in its folder anyway.
047: * <p>
048: * @see org.columba.core.gui.plugin.AbstractConfigPlugin
049: */
050: public static final String ORG_COLUMBA_CORE_CONFIG = "org.columba.core.config";
051:
052: /**
053: * Provides an easy way to integrate external apps in Columba.
054: * <p>
055: * This includes a first-time assistant for the user. And a configuration
056: * file "external_tools.xml" to store the options of the external tools.
057: * <p>
058: * When using external commandline (already used examples are aspell and
059: * GnuPG) tools, you should just use this handler to get the location of the
060: * executable.
061: * <p>
062: * If the executable wasn't configured, yet a wizard will assist the user in
063: * configuring the external tool. If everything is correctly configured, it
064: * will just return the path of the commandline tool as <code>File</code>.
065: * <p>
066: * <verbatim> File file = getLocationOfExternalTool("gpg"); </verbatim>
067: * <p>
068: * @see org.columba.core.gui.externaltools.AbstractExternalToolsPlugin
069: */
070: public static final String ORG_COLUMBA_CORE_EXTERNALTOOLS = "org.columba.core.externaltools";
071:
072: /**
073: * Frame component which is shown in the JFrame container's content pane.
074: * <p>
075: * @see org.columba.api.gui.frame.IFrameMediator
076: * @see org.columba.core.gui.frame
077: * @see org.columba.mail.gui.frame.ThreePaneMailFrameController
078: */
079: public static final String ORG_COLUMBA_CORE_FRAME = "org.columba.core.frame";
080:
081: /**
082: * Html Viewer component.
083: * <p>
084: * @see org.columba.core.gui.htmlviewer.api.IHTMLViewerPlugin
085: * @see org.columba.core.gui.htmlviewer
086: */
087: public static final String ORG_COLUMBA_CORE_HTMLVIEWER = "org.columba.core.htmlviewer";
088:
089: /**
090: * Tray Icon plugged into the statusbar
091: * <p>
092: * @see org.columba.api.statusbar.IStatusBarExtension
093: */
094: public static final String ORG_COLUMBA_CORE_STATUSBAR = "org.columba.core.statusbar";
095:
096: /**
097: * Look and Feel plugin handler.
098: * <p>
099: * @see org.columba.core.gui.themes.plugin.AbstractThemePlugin
100: */
101: public static final String ORG_COLUMBA_CORE_THEME = "org.columba.core.theme";
102:
103: /**
104: * Background services
105: * <p>
106: * @see org.columba.core.scripting.service.api.IColumbaService
107: */
108: public static final String ORG_COLUMBA_CORE_SERVICE = "org.columba.core.service";
109:
110: /**
111: * Actions can be registered. These actions should be representing "new item".
112: * For example "New Mail", "New Contact", "New Appointment".
113: * <p>
114: * They will be promptly presented in the "File->New" menu and the toolbar.
115: * <p>
116: * @see org.columba.core.gui.action.AbstractColumbaAction
117: */
118: public static final String ORG_COLUMBA_CORE_NEWITEM = "org.columba.core.newitem";
119:
120: /**
121: * Search Providers should implement <code>org.columba.core.search.api.ISearchProvider</code>
122: * <p>
123: * @see org.columba.core.search.api.ISearchProvider
124: */
125: public static final String ORG_COLUMBA_CORE_SEARCH = "org.columba.core.search";
126:
127: /**
128: * Context Providers should implemented <code>org.columba.core.gui.context.api.IContextProvider</code>
129: */
130: public static final String ORG_COLUMBA_CORE_CONTEXT_PROVIDER = "org.columba.core.context.provider";
131:
132: /**
133: * Components should implemented <code>org.columba.core.gui.frame.api.IComponentBox</code>
134: */
135: public static final String ORG_COLUMBA_CORE_COMPONENT_BOX = "org.columba.core.component.box";
136: }
|