///
/// 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).
///
namespace JetBrains.Omea.OpenAPI
{
///
/// Provide the uniform access to all View-related Editing forms. Most predicted use of this API is
/// from Plugins or other external components which have no complete access to internals of
/// EditView or EditRule form modules.
///
/// 341
public interface IFilteringFormsManager
{
///
/// Show editing form for a view/rule-based resource given its type and flags.
///
/// A resource to be viewed/edited.
/// A resource which was returned as a result from the form.
IResource ShowEditResourceForm( IResource res );
///
/// Show empty EditView form.
///
/// A resource which was returned as a result from the form.
IResource ShowEditViewForm(); // alias
///
/// Edit a view with the predefined list of parameters.
///
/// Name of a view.
/// A list of resource type names for which a view is active.
/// List of condition groups.
/// List of exception resources.
/// A resource which was returned as a result from the form.
IResource ShowEditViewForm( string name, string[] resTypes,
IResource[][] conditions, IResource[] exceptions );
///
/// Show empty EditRule form.
///
/// A resource which was returned as a result from the form.
IResource ShowEditActionRuleForm();
///
/// Edit a rule with the predefined list of parameters.
///
/// Name of a rule.
/// A list of resource type names for which a rule is active.
/// List of condition groups.
/// List of exception resources.
/// List of action resources.
/// A resource which was returned as a result from the form.
IResource ShowEditActionRuleForm( string name, string[] resTypes,
IResource[][] conditions, IResource[] exceptions, IResource[] actions );
///
/// Show empty EditFormattingRule form.
///
/// A resource which was returned as a result from the form.
IResource ShowEditFormattingRuleForm();
///
/// Edit a rule with the predefined list of parameters.
///
/// Name of a rule.
/// A list of resource type names for which a rule is active.
/// List of condition groups.
/// List of exception resources.
/// Whether to apply "bold" attribute to a result formatting.
/// Whether to apply "italic" attribute to a result formatting.
/// Whether to apply "underline" attribute to a result formatting.
/// Whether to apply "strikeout" attribute to a result formatting.
/// Color of the foreground.
/// Color of the backgroung.
/// A resource which was returned as a result from the form.
IResource ShowEditFormattingRuleForm( string name, string[] resTypes,
IResource[][] conditions, IResource[] exceptions,
bool isBold, bool isItalic, bool isUnderline, bool isStrikeout,
string foreColor, string backColor );
///
/// Show empty EditTrayIconRule form.
///
/// A resource which was returned as a result from the form.
IResource ShowEditTrayIconRuleForm();
///
/// Edit a rule with the predefined list of parameters.
///
/// Name of a rule.
/// A list of resource type names for which a rule is active.
/// List of condition groups.
/// List of exception resources.
/// Name of a file containing an icon resource.
/// A resource which was returned as a result from the form.
IResource ShowEditTrayIconRuleForm( string name, string[] resTypes,
IResource[][] conditions, IResource[] exceptions,
string iconFileName );
///
/// Show AdvancedSearch dialog with no parameters set.
///
void ShowAdvancedSearchForm();
///
/// Show AdvancedSearch dialog with predefined parameters.
///
/// Search query.
/// A list of resource type names for which search is active.
/// List of condition groups.
/// List of exception resources.
void ShowAdvancedSearchForm( string query, string[] resTypes,
IResource[][] conditions, IResource[] exceptions );
void ShowAdvancedSearchForm( string query, string[] resTypes,
IResource[] conditions, IResource[] exceptions );
///
/// Show empty EditExpirationRule form.
///
/// A list of folder resources for which a rule is monitored.
/// A resource for an existing rule.
/// A resource which was returned as a result from the form.
IResource ShowExpirationRuleForm( IResourceList folders, IResource defRule );
///
/// Edit a rule with the predefined list of parameters.
///
/// A resource type for which a default rule is monitored.
/// A resource for an existing rule.
/// Whether the rule is applied to existing or deleted resources.
/// A resource which was returned as a result from the form.
IResource ShowExpirationRuleForm( IResource resType, IResource defRule, bool forDeletedItems );
}
}