///
/// Copyright © 2003-2008 JetBrains s.r.o.
/// You may distribute under the terms of the GNU General Public License, as published by the Free Software Foundation, version 2 (see License.txt in the repository root folder).
///
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using System35;
using JetBrains.Annotations;
namespace JetBrains.Omea.OpenAPI
{
///
/// Flags that define the input string options.
///
[Flags]
public enum InputStringFlags
{
///
/// No special options.
///
None = 0,
///
/// An empty string is a valid input.
///
AllowEmpty = 1
}
///
/// Allows to implement custom handling of .
///
/// 2.0
public interface IDisplayInContextHandler
{
///
/// Displays the resource in its appropriate context in Omea.
///
/// The resource to display in context.
void DisplayResourceInContext( IResource res );
}
///
/// The User Interface manager that provides access to UI elements and their settings.
///
/// This interface can be accessed through .
public interface IUIManager
{
///
/// Gets an application icon.
///
/// 2.1
Icon ApplicationIcon { get; }
///
/// Registers a group of options panes with accompanying text.
///
/// Name of the options group as it will appear in the options tree and as it should be referenced in .
/// Description for this options group.
///
/// You should always register an option group before adding panes that reference it. There are no predefined option groups, and any "standard" option group is not guaranteed to exist at the moment when your plugin is registering.
/// This function won't fail if a group with such a name already exists.
/// To avoid rewriting the prompt of an existing group when re-registering it, use to check if such a group has already been registered.
///
void RegisterOptionsGroup( string group, string prompt );
///
/// Tells whether an option group with specific name is registered or not.
///
///
/// True
if there is such a group or False
if it has not been registered.
bool IsOptionsGroupRegistered( string group );
///
/// Registers an options pane that will be shown in the options dialog.
///
/// Category (options tree node) to which the options page will be added..
/// Options pane title to be shown in the options tree and atop the options page.
/// Facility that creates a new page instance as a user control derived from that renders the pane.
/// Description for this options page.
///
/// Typically, you would add options panes on plugin startup in the method. Once registered, option panes cannot be removed.
/// You should always register an option group before adding panes that reference it. There are no predefined option groups, and any "standard" option group is not guaranteed to exist at the moment when your plugin is registering.
/// This function won't fail if a group with such a name already exists.
/// If the pane contains options, which are essential for the plugin and must be set before its first run, the pane should also be submitted to the funciton to ensure that it comes up when the plugin is run for the first time.
///
void RegisterOptionsPane( string group, string header, OptionsPaneCreator creator, string prompt );
///
/// Registers a callback which is called when any changes are made in the Options dialog pane
/// with the specified header.
///
/// Options group to which the desired Options dialog pane belongs.
/// Options pane header registered by .
/// Handler which is called after the changes.
/// The handler should be removed with when it
/// is no longer needed.
void AddOptionsChangesListener( string group, string header, EventHandler handler );
///
/// Unregisters a callback which is called when any changes are made in the Options dialog pane
/// with the specified header.
///
/// Options group to which the desired Options dialog pane belongs.
/// Options pane header registered by .
/// Handler registered by .
void RemoveOptionsChangesListener( string group, string header, EventHandler handler );
///
/// Registers a plugin options pane as a Startup Wizard page.
///
/// Header of the wizard page that will appear in the page title.
/// Facility that creates a new page instance as a user control derived from that renders the pane.
/// Controls the order in which the pages appear in the startup wizard. Pages are sorted in the ascending order by this parameter. Pages that have equal value appear in order of submission.
///
/// This function accepts the same option panes as , which adds panes to the Options dialog hierarchy. Some of these panes contain options that are essential for the plugin and which must be set before it is run for the first time. Such panes should be added to the Startup Wizard by submitting them to .
/// 552To register subpage of a parent wizard page, construct its header as concatetation of header of parent wizard page, backslash and name of the subpage. In that case, the order parameter affects subpages of parent page.
/// ensures that the particular options pane will be displayed to the user at Omea start and user will be forced to supply valid values for it to continue using Omea.
/// Omea controls automatically that each page is shown no more than one time. When you supply the same page to on the next plugin initialization, it is just skipped if it has already been shown on the previous run.
///
void RegisterWizardPane( string header, OptionsPaneCreator creator, int order );
///
/// DeRegisters a Startup Wizard page.
///
/// Header of the wizard page.
void DeRegisterWizardPane( string header );
///
/// Displays the options dialog.
///
/// Use and to add new option groups and panes.
void ShowOptionsDialog();
///
/// Displays the options dialog opened at a specific options pane.
///
/// Options group to which the desired pane belongs.
/// Header (name) of the options pane to be opened.
/// Option groups and panes can be added with and , respectively.
void ShowOptionsDialog( string group, string paneHeader );
void ShowSimpleMessageBox( string header, string message );
///
/// Adds a status bar indicator light.
///
/// The name which is used to identify this indicator light.
/// The asynchronous processor doing the job that is being indicated.
/// A timeout, in seconds, after which the job is considered stuck.
///
/// Use to remove an indicator light.
///
void RegisterIndicatorLight( string name, IAsyncProcessor processor, int stuckTimeout );
///
/// Adds a status bar indicator light.
///
/// The name which is used to identify this indicator light.
/// The asynchronous processor doing the job that is being indicated.
/// A timeout, in seconds, after which the job is considered stuck.
/// Array of icons displayed in the following states of asynchronous processor: idle, busy and stuck.
///
/// Use to remove an indicator light.
///
/// 2.0
void RegisterIndicatorLight( string name, IAsyncProcessor processor, int stuckTimeout, params Icon[] icons );
///
/// Removes a status bar indicator light.
///
/// The name which is used to identify this indicator light and which was passed to .
///
/// Use to add an indicator light.
///
void DeRegisterIndicatorLight( string name );
///
/// Shows the dialog to select a single resource of the specified type.
///
/// The type of resource to select.
/// The caption of the dialog.
/// The selected resource, or null if the dialog was cancelled.
IResource SelectResource( string type, string dialogCaption );
///
/// Shows the dialog to select a single resource of the specified type, with specified
/// initial selection.
///
/// The type of resource to select.
/// The caption of the dialog.
/// The resource which is initially selected in the dialog.
/// The selected resource, or null if the dialog was cancelled.
IResource SelectResource( string type, string dialogCaption, IResource initialSelection );
///
/// Shows the dialog to select a single resource of the specified type, with specified dialog
/// owner window.
///
/// The owner window of the dialog.
/// The type of resource to select.
/// The caption of the dialog.
/// The selected resource, or null if the dialog was cancelled.
IResource SelectResource( IWin32Window ownerWindow, string type, string dialogCaption );
///
/// Shows the dialog to select a single resource of the specified type, with specified dialog
/// owner window and initial selection.
///
/// The owner window of the dialog.
/// The type of resource to select.
/// The caption of the dialog.
/// The resource which is initially selected in the dialog.
/// The selected resource, or null if the dialog was cancelled.
IResource SelectResource( IWin32Window ownerWindow, string type, string dialogCaption,
IResource initialSelection );
///
/// Shows the dialog to select a single resource of the specified type, with specified dialog
/// owner window, initial selection and a "Help" button.
///
/// The owner window of the dialog.
/// The type of resource to select.
/// The caption of the dialog.
/// The resource which is initially selected in the dialog.
/// The help topic which is displayed when the "Help" button is pressed.
/// The selected resource, or null if the dialog was cancelled.
IResource SelectResource( IWin32Window ownerWindow, string type, string dialogCaption,
IResource initialSelection, string helpTopic );
///
/// Shows the dialog to select multiple resources of the specified type.
///
/// The type of resources to select.
/// The caption of the dialog.
/// The selected resources, or null if the dialog was cancelled.
IResourceList SelectResources( string type, string dialogCaption );
///
/// Shows the dialog to select multiple resources of the specified type, with specified
/// initial selection.
///
/// The type of resources to select.
/// The caption of the dialog.
/// The resources which are initially selected in the dialog.
/// The selected resources, or null if the dialog was cancelled.
IResourceList SelectResources( string type, string dialogCaption, IResourceList initialSelection );
///
/// Shows the dialog to select multiple resources of any of the specified types, with specified
/// initial selection.
///
/// The types of resources to select.
/// The caption of the dialog.
/// The resources which are initially selected in the dialog.
/// The selected resources, or null if the dialog was cancelled.
IResourceList SelectResources( string[] types, string dialogCaption, IResourceList initialSelection );
///
/// Shows the dialog to select multiple resources from the specified list.
///
/// The list from which resources are selected.
/// The caption of the dialog.
/// The selected resources, or null if the dialog was cancelled.
IResourceList SelectResourcesFromList( IResourceList resList, string dialogCaption );
///
/// Shows the dialog to select multiple resources of the specified type, with specified
/// dialog owner window.
///
/// The owner window of the dialog.
/// The type of resources to select.
/// The caption of the dialog.
/// The selected resources, or null if the dialog was cancelled.
IResourceList SelectResources( IWin32Window ownerWindow, string type, string dialogCaption );
///
/// Shows the dialog to select multiple resources of the specified type, with specified
/// dialog owner window and initial selection.
///
/// The owner window of the dialog.
/// The type of resources to select.
/// The caption of the dialog.
/// The resources which are initially selected in the dialog.
/// The selected resources, or null if the dialog was cancelled.
IResourceList SelectResources( IWin32Window ownerWindow, string type, string dialogCaption,
IResourceList initialSelection );
///
/// Shows the dialog to select multiple resources of any of the specified types, with specified
/// dialog owner window and initial selection.
///
/// The owner window of the dialog.
/// The types of resources to select.
/// The caption of the dialog.
/// The resources which are initially selected in the dialog.
/// The selected resources, or null if the dialog was cancelled.
IResourceList SelectResources( IWin32Window ownerWindow, string[] types, string dialogCaption,
IResourceList initialSelection );
///
/// Shows the dialog to select multiple resources from the specified list, with specified
/// dialog owner window.
///
/// The owner window of the dialog.
/// The list from which resources are selected.
/// The caption of the dialog.
/// The selected resources, or null if the dialog was cancelled.
IResourceList SelectResourcesFromList( IWin32Window ownerWindow, IResourceList resList, string dialogCaption );
///
/// Shows the dialog to select multiple resources from the specified list, with specified
/// dialog owner window.
///
/// The owner window of the dialog.
/// The list from which resources are selected.
/// The caption of the dialog.
/// The resources which are initially selected in the dialog.
/// The selected resources, or null if the dialog was cancelled.
/// 2.0
IResourceList SelectResourcesFromList( IWin32Window ownerWindow, IResourceList resList,
string dialogCaption, IResourceList initialSelection );
///
/// Shows the dialog to select multiple resources of the specified type, with specified
/// dialog owner window, initial selection and a "Help" button.
///
/// The owner window of the dialog.
/// The type of resources to select.
/// The caption of the dialog.
/// The resources which are initially selected in the dialog.
/// The help topic which is displayed when the "Help" button is pressed.
/// The selected resources, or null if the dialog was cancelled.
IResourceList SelectResources( IWin32Window ownerWindow, string type, string dialogCaption,
IResourceList initialSelection, string helpTopic );
///
/// Shows the dialog to select multiple resources of any of the specified types, with specified
/// dialog owner window, initial selection and a "Help" button.
///
/// The owner window of the dialog.
/// The types of resources to select.
/// The caption of the dialog.
/// The resources which are initially selected in the dialog.
/// The help topic which is displayed when the "Help" button is pressed.
/// The selected resources, or null if the dialog was cancelled.
IResourceList SelectResources( IWin32Window ownerWindow, string[] types, string dialogCaption,
IResourceList initialSelection, string helpTopic );
///
/// Shows the dialog to select multiple resources from the specified list, with specified
/// dialog owner window, initial selection and a "Help" button.
///
/// The owner window of the dialog.
/// The list from which resources are selected.
/// The caption of the dialog.
/// The help topic which is displayed when the "Help" button is pressed.
/// The selected resources, or null if the dialog was cancelled.
IResourceList SelectResourcesFromList( IWin32Window ownerWindow, IResourceList resList,
string dialogCaption, string helpTopic );
///
/// Displays a dialog for establishing a link between two resources.
///
/// The first resource to link.
/// The second resource to link.
void ShowAddLinkDialog( IResource res1, IResource res2 );
///
/// Displays a dialog for establishing a link between two or more resources (many-to-one).
///
/// One or more objects at the left side.
/// One object at the right side.
void ShowAddLinkDialog( IResourceList sourceList, IResource target );
///
/// Displays a dialog for establishing a link between two resources.
///
/// The window owning the dialog.
/// The first resource to link.
/// The second resource to link.
/// 2.0
void ShowAddLinkDialog( IWin32Window ownerWindow, IResource res1, IResource res2 );
///
/// Displays a dialog for establishing a link between two or more resources (many-to-one).
///
/// The window owning the dialog.
/// One or more objects at the left side.
/// One object at the right side.
/// 2.0
void ShowAddLinkDialog( IWin32Window ownerWindow, IResourceList sourceList, IResource target );
///
/// Shows the dialog for creating a new category.
///
/// The default name for the new category
/// The default parent category for the new category
/// The default content type for the new category
/// The created category, or null if the user cancelled the dialog.
IResource ShowNewCategoryDialog( string defaultName, IResource defaultParent, string defaultContentType );
///
/// Shows the dialog for creating a new category with the specified owner window.
///
/// The owner window for the dialog.
/// The default name for the new category
/// The default parent category for the new category
/// The default content type for the new category
/// The created category, or null if the user cancelled the dialog.
/// 2.0
IResource ShowNewCategoryDialog( IWin32Window ownerWindow, string defaultName, IResource defaultParent,
string defaultContentType );
///
/// Shows the "Assign Categories" dialog for the specified list of resources.
///
/// Inportant! This dialog has the side-effect - it assigns the selected categories
/// on successful closing. If the edited resource(s) is not completed this may violate
/// the internal logic of some plugins (e.g. Outlook plugin which starts synchronization
/// process with Outlook).
/// The owner window for the dialog.
/// The resources for which the categories are assigned.
/// The result of the dialog (OK or Cancel).
/// 2.0
DialogResult ShowAssignCategoriesDialog( IWin32Window ownerWindow, IResourceList resources );
///
/// Shows the "Assign Categories" dialog for the specified list of categories.
///
/// Inportant! This dialog has the side-effect - it assigns the selected categories
/// on successful closing. If the edited resource(s) is not completed this may violate
/// the internal logic of some plugins (e.g. Outlook plugin which starts synchronization
/// process with Outlook).
/// The owner window for the dialog.
/// The resources for which the categories are assigned. Used only for
/// filling the textual information and creation of content type filters.
/// The list of category resources which are preselected in the dialog.
/// The list of category resources which are checked upon successful dialog exit.
/// The result of the dialog (OK or Cancel).
/// 2.1.5
DialogResult ShowAssignCategoriesDialog( IWin32Window ownerWindow, IResourceList resources,
IResourceList currCategories, out IResourceList resultCategories );
///
/// Displays the resource in its appropriate context in Omea.
///
/// The resource to display.
/// To display the resource in context, the system tries to select its location
/// resource in a sidebar pane and then select the resource in the list of resources which
/// is displayed when the location resource is selected. For example, to display a news
/// article in context, the system switches to the News tab, activates the Newsgroups
/// sidebar pane (which is registered as the resource structure pane for that tab), tries
/// to select the newsgroup linked to the article in the Newsgroups pane, and then tries
/// to select the article in the list of newsgroup articles.
/// By default, if the resource is present in the list of resources currently displayed
/// in the resource browser, the system selects it there and does not perform any tab or
/// sidebar pane switches. To override this behavior, use .
///
void DisplayResourceInContext( IResource res );
///
/// Displays the resource in its appropriate context in Omea, optionally performing a navigation even
/// if the resource is visible in the currently displayed list.
///
/// The resource to display.
/// If true, the system performs a navigation even if the
/// resource is visible in the currently displayed list.
/// To display the resource in context, the system tries to select its location
/// resource in a sidebar pane and then select the resource in the list of resources which
/// is displayed when the location resource is selected. For example, to display a news
/// article in context, the system switches to the News tab, activates the Newsgroups
/// sidebar pane (which is registered as the resource structure pane for that tab), tries
/// to select the newsgroup linked to the article in the Newsgroups pane, and then tries
/// to select the article in the list of newsgroup articles.
void DisplayResourceInContext( IResource res, bool skipCurrentList );
///
/// Registers the specified custom handler for .
///
/// The resource type for which the handler is registered.
/// The handler implementation.
/// 2.0
void RegisterDisplayInContextHandler( string resType, IDisplayInContextHandler handler );
///
/// Registers the link type between a resource and its location resource, used to display
/// the resource in context.
///
///
///
/// The resource type for which the location link is registered.
/// The ID of a link property type which links the resource to its location.
/// The type of the location resource.
void RegisterResourceLocationLink( string resType, int propId, string locationResType );
///
/// Registers the default location resource for the specified resource type.
///
///
/// The resource type for which the default location is registered.
/// The location resource.
/// The default location is used when there is no inherent container or location for
/// resources of a specified type. For example, tasks are not organized in any structure by
/// default. Thus, the "All Tasks" view is registered as the default location for the Task
/// resources. When the system is requested to display a task in context, it switches to
/// the Tasks tab, selects the All Tasks view in the sidebar and selects the task in the list.
void RegisterResourceDefaultLocation( string resType, IResource location );
///
/// Returns the list of resources in the specified resource location,
///
/// The location resource.
/// The resources in the specified location, or an empty list if it was not
/// possible to determine the list of resources in the location.
/// 2.0
IResourceList GetResourcesInLocation( IResource location );
///
/// Calls the to determine if the specified resources
/// can be dropped on the specified target resource.
///
/// The drop target resource.
/// The dragged resources.
/// true if the drop is allowed, false otherwise.
bool CanDropResource( IResource targetRes, IResourceList dropList );
///
/// Processes the drop of the specified resources on the specified target resource.
///
/// The drop target resource.
/// The dragged resources.
/// If there is no registered
/// for the drop target resource, the drop is processed as adding a custom
/// link between the dragged resources and the drop target resource.
void ProcessResourceDrop( IResource targetRes, IResourceList dropList );
///
/// Processes the drag of the specified data object over the specified target resource.
///
/// The resource over which the drag happens.
/// The dragged data object.
/// The drag/drop effects allowed by the drag source.
/// The keyboard state.
/// If true, the drag was started from the same view over which the
/// resource is currently being dragged. If false, the drag was started from a different view.
/// The drag/drop effects to display.
/// 2.0
DragDropEffects ProcessDragOver( IResource targetRes, IDataObject data, DragDropEffects allowedEffect,
int keyState, bool sameView );
///
/// Processes the drop of the specified data object over the specified target resource.
///
/// The resource over which the drag happens.
/// The dragged data object.
/// The drag/drop effects allowed by the drag source.
/// The keyboard state.
/// 2.0
void ProcessDragDrop( IResource targetRes, IDataObject data, DragDropEffects allowedEffect, int keyState );
///
/// Opens a window with the specified edit pane for editing the specified resource.
///
/// The resource edit pane which is displayed in the window.
/// The resource to edit.
/// If true, the resource is deleted when the editing is cancelled.
void OpenResourceEditWindow( AbstractEditPane editPane, IResource res, bool newResource );
///
/// Opens a window with the specified edit pane for editing the specified resource
/// and fires a callback when the resource is saved.
///
/// The resource edit pane which is displayed in the window.
/// The resource to edit.
/// If true, the resource is deleted when the editing is cancelled.
/// The callback which is fired when the resource is saved.
/// The additional data passed to the callback.
void OpenResourceEditWindow( AbstractEditPane editPane, IResource res, bool newResource,
EditedResourceSavedDelegate savedDelegate, object savedDelegateTag );
///
/// Registers the class which is used as the select pane class for selecting resources
/// of the specified type.
///
/// The resource type for which the select pane class is registered.
/// The type of the select pane class.
/// The select pane class must implement the interface.
void RegisterResourceSelectPane( string resType, Type resourceSelectPaneType );
///
/// Returns the class of the select pane which has been registered for the specified type.
///
/// The resource type.
/// The select pane class, or null if no select pane type has been registered
/// for the class.
/// 2.0
Type GetResourceSelectPaneType( string resType );
///
/// Creates an instance of the resource select pane for the specified resource type.
///
/// The resource type for which the select pane is created.
/// The select pane instance.
/// If no select pane class was registered through ,
/// the default list-based select pane implementation is used.
IResourceSelectPane CreateResourceSelectPane( string resType );
///
/// Begins a batch navigation operation.
///
///
///
/// During batch navigation operations, tab and sidebar pane switches do not cause
/// redisplaying of resource lists in the resource browser.
void BeginUpdateSidebar();
///
/// Ends a batch navigation operation. During batch navigation operations, tab and sidebar
/// pane switches do not cause redisplaying of resource lists in the resource browser.
///
///
///
/// During batch navigation operations, tab and sidebar pane switches do not cause
/// redisplaying of resource lists in the resource browser.
/// Note that ending a batch navigation operation does not cause an immediate
/// update of the resource browser. The resource browser must be updated explicitly,
/// for example, by selecting a resource in a sidebar pane.
void EndUpdateSidebar();
///
/// Checks if a batch navigation operation is currently in progress.
///
///
///
/// true if a batch navigation operation is in progress, false otherwise.
/// During batch navigation operations, tab and sidebar pane switches do not cause
/// redisplaying of resource lists in the resource browser.
bool IsSidebarUpdating();
///
/// Creates or returns a status writer instance for displaying text in the status bar.
///
/// The object which owns the status writer.
/// The status bar pane in which the status writer displays the data.
/// The status writer instance.
/// If the status writer for the same owner is requested multiple times,
/// the same instance is returned.
/// When the status writer is no longer needed, the
/// method must be called.
///
IStatusWriter GetStatusWriter( object owner, StatusPane pane );
///
/// Queues a job that is to be executed asynchronously in the UI thread.
///
/// A delegate to the method that will be called on the UI thread to perform the action.
/// Arguments that will be passed to the method represented by
/// You may use if you need to execure an UI action from the resource thread.
void QueueUIJob( Delegate method, params object[] args );
///
/// Queues a job that is to be executed asynchronously in the UI thread.
///
/// The callback which will be called on the UI thread to perform the action.
/// You may use if you need to execure an UI action from the resource thread.
void QueueUIJob([NotNull] Action action);
///
/// Shows the progress window and runs the specified delegate while the progress window
/// is visible.
///
/// Title of the progress window.
/// The method which is executed.
void RunWithProgressWindow([NotNull] string progressTitle, [NotNull] Action action );
///
/// Shows the dialog prompting a user to enter a string.
///
/// The title of the dialog.
/// The prompt displayed above the edit box in the dialog.
/// The value initially displayed in the edit box, or null
/// if the edit box is initially empty.
/// The callback to validate the value entered by the
/// user, or null if validation is not required.
/// The window owning the dialog, or null if the dialog is
/// owned by the main Omea window.
/// The string entered by the user, or null if the dialog was cancelled.
string InputString( string title, string prompt, string initialValue,
ValidateStringDelegate validateDelegate, IWin32Window ownerWindow );
///
/// Shows the dialog prompting a user to enter a string, with possibility to specify extra options.
///
/// The title of the dialog.
/// The prompt displayed above the edit box in the dialog.
/// The value initially displayed in the edit box, or null
/// if the edit box is initially empty.
/// The callback to validate the value entered by the
/// user, or null if validation is not required.
/// The window owning the dialog, or null if the dialog is
/// owned by the main Omea window.
/// Additional options for the dialog.
/// The string entered by the user, or null if the dialog was cancelled.
string InputString( string title, string prompt, string initialValue,
ValidateStringDelegate validateDelegate, IWin32Window ownerWindow, InputStringFlags flags );
///
/// Shows the dialog prompting a user to enter a string, with possibility to specify
/// extra options and a Help button.
///
/// The title of the dialog.
/// The prompt displayed above the edit box in the dialog.
/// The value initially displayed in the edit box, or null
/// if the edit box is initially empty.
/// The callback to validate the value entered by the
/// user, or null if validation is not required.
/// The window owning the dialog, or null if the dialog is
/// owned by the main Omea window.
/// Additional options for the dialog.
/// The name of the help topic which is displayed when the
/// user presses the "Help" button.
/// The string entered by the user, or null if the dialog was cancelled.
string InputString( string title, string prompt, string initialValue,
ValidateStringDelegate validateDelegate, IWin32Window ownerWindow, InputStringFlags flags,
string helpTopic );
///
/// Shows a desktop alert displaying the specified resource.
///
/// The resource to show in the desktop alert.
/// 2.0
void ShowDesktopAlert( IResource res );
///
/// Shows a desktop alert displaying the specified data.
///
/// The image list from which the desktop alert icon is taken.
/// The index of the desktop alert icon in the image list.
/// The from name displayed in the desktop alert.
/// The subject displayed in the desktop alert.
/// The body displayed in the desktop alert.
/// The handler which is called when the link in the desktop
/// alert is clicked.
/// 2.0
void ShowDesktopAlert( ImageList imageList, int imageIndex, string from, string subject, string body,
EventHandler clickHandler );
///
/// Whether the sidebar at the left side of the screen is collapsed.
///
bool LeftSidebarExpanded { get; set; }
///
/// Whether the sidebar at the right side of the screen is collapsed.
///
bool RightSidebarExpanded { get; set; }
///
/// Whether the shortcut bar is visible or hidden.
///
bool ShortcutBarVisible { get; set; }
///
/// Whether the workspace bar is visible or hidden.
///
bool WorkspaceBarVisible { get; set; }
///
/// If the Omea window is minimized or hidden to the system tray, makes it visible
/// and active.
///
void RestoreMainWindow();
///
/// Closes the main Omea window.
///
/// 2.0
void CloseMainWindow();
///
/// Adds a shortcut to the specified resource to the Shortcut Bar.
///
/// The resource to which the shortcut is created.
void CreateShortcutToResource( IResource res );
///
/// Fired when the application becomes idle after a resource operation or
/// an input event from the user. Unlike Application.Idle, this event is not
/// fired in a loop all the time the application is idle.
///
event EventHandler EnterIdle;
///
/// Fired when the main window receives the WM_EXITMENULOOP message.
///
event EventHandler ExitMenuLoop;
///
/// Fired before the Omea main window is closed. Setting Cancel to true allows
/// you to prevent closing Omea.
///
/// 1.0.2
event CancelEventHandler MainWindowClosing;
///
/// Gets the name and path of the Omea .CHM help file.
///
string HelpFileName { get; }
///
/// Gets or sets the default font for all formatted output in the
/// classes implementing IDisplayPane.
///
/// 2.1
Font DefaultFormattingFont { get; set; }
///
/// Gets the face name of the default font.
///
/// 2.1
string DefaultFontFace { get; }
///
/// Gets the size of the default font.
///
/// 2.1
float DefaultFontSize { get; }
///
/// Opens the given URI in a new window of an external browser.
///
/// URI of the document to open in the new window. This may be a Web page address, a file pathname, etc.
/// 2.0
///
/// This function always opens the resource in a new window of the external browser.
/// Omea options regarding opening of the links in the internal browser are ignored.
/// The browser is encouraged to open a new window for the link,
/// regardless of the browser's settings for reusing the existing window for opening the new links.
/// It depends on Omea settings whether the new Web page is opened thru DDE or Shell Run. The default is to use the DDE.
///
///
/// Core.UIManager.OpenInNewBrowserWindow("http://www.jetbrains.com/omea");
///
void OpenInNewBrowserWindow( string uri);
///
/// Opens the given URI in a new window of an external browser.
///
/// URI of the document to open in the new window. This may be a Web page address, a file pathname, etc.
/// Specifies whether the function is allowed to use the advanced techiques when opening the resource in a new browser window. For the short version, this parameter is assumed to be True.
/// 2.0
///
/// This function always opens the resource in a new window of the external browser.
/// Omea options regarding opening of the links in the internal browser are ignored.
/// If the parameter is set to True, then the browser is encouraged to open a new window for the link, regardless of the browser's settings for reusing the existing window for opening the new links.
/// If the is False, then the Shell Run is used for opening the link, and it depends on the browser settings whether a new window will be opened for the link, or not.
///
///
///
/// Core.UIManager.OpenInNewBrowserWindow("http://www.jetbrains.com/omea", true); // Recommended usage
/// Core.UIManager.OpenInNewBrowserWindow("http://www.jetbrains.com/omea", false);
///
///
void OpenInNewBrowserWindow( string uri, bool advanced) ;
}
}