ICSharpCode.Core
Gets the message of a custom load error. Used only when AddInAction is set to CustomError.
Settings this property to a non-null value causes Enabled to be set to false and
Action to be set to AddInAction.CustomError.
Action to execute when the application is restarted.
Gets whether the AddIn is a preinstalled component of the host application.
Exception used when loading an AddIn fails.
Argument class used for .
The caller passed to .
The codon to build.
The addin containing the codon.
The conditions applied to this item.
The addin tree node containing the sub-items.
Returns null if no sub-items exist.
Builds the sub-items.
Conditions on this node are also applied to the sub-nodes.
Represents a node in the add in tree that can produce an item.
Negates a condition
Gives back the and result of two conditions.
Gives back the or result of two conditions.
Returns the action which occurs, when this condition fails.
Represents all contributions to a Path in a single .addin file.
Gets the codons separated by the groups they were created in.
i.e. if two addins add the codons to the same path they will be in diffrent group.
if the same addin adds the codon in diffrent path elements they will be in diffrent groups.
Interface for classes that can evaluate conditions defined in the addin tree.
Default actions, when a condition is failed.
Interface for single condition or complex condition.
Returns the action which occurs, when this condition fails.
Returns true, when the condition is valid otherwise false.
Interface for classes that can build objects out of codons.
http://en.wikipedia.org/wiki/Fraggle_Rock#Doozers
Gets if the doozer handles codon conditions on its own.
If this property return false, the item is excluded when the condition is not met.
Construct the item.
The constructed item.
May return an object implementing for returning
multiple arguments.
Force loading the runtime assembly now.
Compares two strings.
The strings are passed through the StringParser, so it is possible to compare
SharpDevelop properties.
Useful if you want to run a command only when a setting is active to prevent
loading your addin if that setting isn't set.
The first string.
The second string.
The mode of the comparison: a field of the System.StringComparison enumeration. The default is
'OrdinalIgnoreCase'.
<Condition name = "Compare" string = "${property:SharpDevelop.FiletypesRegisterStartup}" equals = "True">
Condition evaluator that lazy-loads another condition evaluator and executes it.
Condition evaluator that compares the state of the caller/owner with a specified value.
The caller/owner has to implement .
Creates object instances by invocating a type's parameterless constructor
via System.Reflection.
The fully qualified type name of the class to create an instace of.
Everywhere where objects are expected.
Any kind of object.
Gets if the doozer handles codon conditions on its own.
If this property return false, the item is excluded when the condition is not met.
Creates file filter entries for OpenFileDialogs or SaveFileDialogs.
The name of the file filter entry.
The extensions associated with this file filter entry.
Only in /SharpDevelop/Workbench/FileFilter
in the format "name|extensions".
Gets if the doozer handles codon conditions on its own.
If this property return false, the item is excluded when the condition is not met.
Gets whether this descriptor matches the specified file extension.
File extension starting with '.'
Creates associations between file types or node types in the project browser and
icons in the resource service.
The name of a bitmap resource in the resource service.
This attribute is specified when a project icon association should be created.
It specifies the language of the project types that use the icon.
This attribute is specified when a file icon association should be created.
It specifies the semicolon-separated list of file types that use the icon.
Only in /Workspace/Icons
An IconDescriptor object that exposes the attributes.
Gets if the doozer handles codon conditions on its own.
If this property return false, the item is excluded when the condition is not met.
This doozer lazy-loads another doozer when it has to build an item.
It is used internally to wrap doozers specified in addins.
Gets if the doozer handles codon conditions on its own.
If this property return false, the item is excluded when the condition is not met.
Creates menu items from a location in the addin tree.
Label of the menu item.
This attribute must be one of these values:
Separator, CheckBox, Item=Command, Menu (=with subitems),
Builder (=class implementing ISubmenuBuilder).
Default: Command.
Only for the type "Item"/"Command".
When set to false, the command class is loaded
immediately instead of the usual lazy-loading.
Icon of the menu item.
Command class that is run when item is clicked.
A WPF routed command that is executed when item is clicked.
Currently, this property is supported only for WPF Menus.
Only one of the "class" and "command" attributes can be used on a menu entry.
Only for the type "Item"/"Command". Opens a webpage instead of running a command when
clicking the item.
Shortcut that activates the command (e.g. "Control|S").
If "type" is "Menu", the item can have sub-menuitems.
Any menu strip paths or context menu paths, e.g. /SharpDevelop/Workbench/MainMenu
A MenuItemDescriptor object.
Conditions are handled by the item, "Exclude" maps to "Visible = false", "Disable" to "Enabled = false"
Gets if the doozer handles codon conditions on its own.
If this property return false, the item is excluded when the condition is not met.
Represents a menu item. These objects are created by the MenuItemDoozer and
then converted into GUI-toolkit-specific objects by the MenuService.
Creates tool bar items from a location in the addin tree.
Label of the tool bar item.
Icon of the tool bar item.
This attribute must be one of these values:
Separator, CheckBox, Item, ComboBox, DropDownButton
Only for the type "Item". When set to false, the command class is loaded
immediately instead of the usual lazy-loading.
Tooltip of the tool bar item.
Command class that is run when item is clicked; or class that manages
the ComboBox/DropDownButton. Required for everything except "Separator".
Shortcut that activates the command (e.g. "Control|S").
Any toolbar strip paths, e.g. /SharpDevelop/Workbench/ToolBar
A drop down button has menu items as sub elements.
A ToolStrip* object, depending on the type attribute.
Conditions are handled by the item, "Exclude" maps to "Visible = false", "Disable" to "Enabled = false"
Gets if the doozer handles codon conditions on its own.
If this property return false, the item is excluded when the condition is not met.
Represents a toolbar item. These objects are created by the ToolbarItemDoozer and
then converted into GUI-toolkit-specific objects by the ToolbarService.
Static class containing the AddInTree. Contains methods for accessing tree nodes and building items.
Gets the list of loaded AddIns.
Gets a dictionary of registered doozers.
Gets a dictionary of registered condition evaluators.
Checks whether the specified path exists in the AddIn tree.
Gets the representing the specified path.
This method throws a when the
path does not exist.
Gets the representing the specified path.
The path of the AddIn tree node
If set to true, this method throws a
when the path does not exist.
If set to false, null is returned for non-existing paths.
Builds a single item in the addin tree.
A path to the item in the addin tree.
The owner used to create the objects.
The path does not
exist or does not point to an item.
Builds the items in the path. Ensures that all items have the type T.
Throws a if the path is not found.
A path in the addin tree.
The owner used to create the objects.
Builds the items in the path. Ensures that all items have the type T.
A path in the addin tree.
The owner used to create the objects.
If true, throws a
if the path is not found. If false, an empty ArrayList is returned when the
path is not found.
The specified AddIn is added to the collection.
If the AddIn is enabled, its doozers, condition evaluators and extension
paths are added to the AddInTree and its resources are added to the
.
The specified AddIn is removed to the collection.
This is only possible for disabled AddIns, enabled AddIns require
a restart of the application to be removed.
Occurs when trying to remove an enabled AddIn.
Loads a list of .addin files, ensuring that dependencies are satisfied.
This method is normally called by .
The list of .addin file names to load.
The list of disabled AddIn identity names.
Represents an extension path in the .
A dictionary containing the child paths.
A list of child s.
Builds the child items in this path. Ensures that all items have the type T.
The owner used to create the objects.
Additional conditions applied to the node.
Builds the child items in this path.
The owner used to create the objects.
Builds a specific child items in this path.
The ID of the child item to build.
The owner used to create the objects.
Additional conditions applied to the created object
Occurs when does not exist in this path.
Supports sorting codons using InsertBefore/InsertAfter
Is thrown when the AddInTree could not find the requested path.
Constructs a new
Constructs a new
Constructs a new
Deserializes a
Base class for exceptions thrown by the SharpDevelop core.
Converts a recursive data structure into a flat list.
The root elements of the recursive data structure.
The function that gets the children of an element.
Iterator that enumerates the tree structure in preorder.
Allows marking the end-time of feature uses.
Implementations of this interface must be thread-safe.
Allows tracking feature use.
All methods on this class are thread-safe.
Tracks an exception that has occurred.
Tracks a feature use.
Name of the feature
Object that can be used to 'end' the feature use, if measuring time spans is desired.
Tracks a feature use.
Name of the feature
Method used to 'activate' the feature (e.g. Menu, Toolbar, Shortcut, etc.)
Object that can be used to 'end' the feature use, if measuring time spans is desired.
Tracks a feature use.
Class containing the feature
Name of the feature
Method used to 'activate' the feature (e.g. Menu, Toolbar, Shortcut, etc.)
Object that can be used to 'end' the feature use, if measuring time spans is desired.
Interface for AnalyticsMonitorService.
Implementations of this interface must be thread-safe.
LoggingService implementation that logs into a TextWriter.
IMessageService implementation that writes messages to a text writer.
User input is not implemented by this service.
Interface for the MessageService.
Shows an error.
Shows an exception.
Shows a warning message.
Asks the user a Yes/No question, using "Yes" as the default button.
Returns true if yes was clicked, false if no was clicked.
Shows a custom dialog.
The title of the dialog.
The description shown in the dialog.
The number of the button that is the default accept button.
Use -1 if you don't want to have an accept button.
The number of the button that is the cancel button.
Use -1 if you don't want to have a cancel button.
The captions of the buttons.
The number of the button that was clicked, or -1 if the dialog was closed without clicking a button.
Show a message informing the user about a save error.
Show a message informing the user about a save error,
and allow him to retry/save under alternative name.
Maintains a list of services that can be shutdown in the reverse order of their initialization.
Maintains references to the core service implementations.
Gets the static ServiceManager instance.
Gets a service. Returns null if service is not found.
Gets a service. Returns null if service is not found.
Gets a service. Throws an exception if service is not found.
Gets a service. Throws an exception if service is not found.
Gets the logging service.
Gets the message service.
This service is used to summarize important information
about the state of the application when an exception occurs.
Registers a new method to be invoked to get information about the current state of the application.
The title of the new state entry.
The method to be invoked to get the state value.
The is null.
A state getter with the specified is already registered.
Determines whether a state getter with the specified title is already registered.
The title to look for.
true, if a state getter with the specified title is already registered, otherwise false.
Unregisters a state getter.
The title of the state entry to remove.
true if the specified title was found and removed, otherwise false.
The is null.
Gets a snapshot of the current application state information from all registered state getters.
A dictionary with the titles and results of all registered state getters.
Appends the current application state information from all registered state getters
to the specified .
The to append the state information to.
A delegate used to get information about the current state of the application.
Represents a directory path or filename.
The equality operator is overloaded to compare for path equality (case insensitive, normalizing paths with '..\')
Creates a FileName instance from the string.
It is valid to pass null or an empty string to this method (in that case, a null reference will be returned).
EventArgs with a file name.
A utility class related to file utilities.
A minimal version of FileUtility. Is used by ICSharpCode.SharpDevelop.Dom (which doesn't reference
ICSharpCode.Core)
Gets the installation root of the .NET Framework (@"C:\Windows\Microsoft.NET\Framework\")
Location of the .NET 2.0 SDK install root.
Location of the .NET 3.0 SDK (Windows SDK 6.0) install root.
Location of the Windows SDK Components in Visual Studio 2008 (.NET 3.5; Windows SDK 6.0a).
Location of the .NET 3.5 SDK (Windows SDK 6.1) install root.
Location of the .NET 3.5 SP1 SDK (Windows SDK 7.0) install root.
Location of the .NET 4.0 SDK (Windows SDK 7.1) install root.
Searches all the .net sdk bin folders and return the path of the
exe from the latest sdk.
The EXE to search for.
The path of the executable, or null if the exe is not found.
Converts a given absolute path and a given base path to a path that leads
from the base path to the absoulte path. (as a relative path)
Combines baseDirectoryPath with relPath and normalizes the resulting path.
Finds all files which are valid to the mask in the path
and all subdirectories
(if is true).
If is true, hidden files and folders are ignored.
This method checks if a path (full or relative) is valid.
Checks that a single directory name (not the full path) is valid.
Checks that a single directory name (not the full path) is valid.
Gets the normalized version of fileName.
Slashes are replaced with backslashes, backreferences "." and ".." are 'evaluated'.
Class with static methods to show message boxes.
All text displayed using the MessageService is passed to the
to replace ${res} markers.
Shows an exception error.
Shows an error using a message box.
Shows an error using a message box.
is first passed through the
,
then through , using the formatitems as arguments.
Shows an exception.
Shows an exception.
Shows an exception.
Shows a warning message.
Shows a warning message.
is first passed through the
,
then through , using the formatitems as arguments.
Asks the user a Yes/No question, using "Yes" as the default button.
Returns true if yes was clicked, false if no was clicked.
Asks the user a Yes/No question, using "Yes" as the default button.
Returns true if yes was clicked, false if no was clicked.
Shows a custom dialog.
The title of the dialog.
The description shown in the dialog.
The number of the button that is the default accept button.
Use -1 if you don't want to have an accept button.
The number of the button that is the cancel button.
Use -1 if you don't want to have a cancel button.
The captions of the buttons.
The number of the button that was clicked, or -1 if the dialog was closed without clicking a button.
Shows a custom dialog.
The title of the dialog.
The description shown in the dialog.
The captions of the buttons.
The number of the button that was clicked.
Gets/Sets the name of the product using ICSharpCode.Core.
Is used by the string parser as replacement for ${ProductName}.
Gets/Sets the default title for message boxes displayed
by the message service.
This interface flags an object beeing "mementocapable". This means that the
state of the object could be saved to an object
and set from a object from the same class.
This is used to save and restore the state of GUI objects.
Creates a new memento from the state.
Sets the state to the given memento.
Description of PropertyGroup.
Needed for support of late deserialization
returns the changed property object
The key of the changed property
The new value of the property
The new value of the property
Acquires an exclusive lock on the properties file so that it can be opened safely.
RegistryService.
Gets the registry value.
Registry hive.
Registry key.
Registry value.
Registry kind.
Data.
True, if the data was found, False otherwise.
Is thrown when the GlobalResource manager can't find a requested
resource.
This Class contains two ResourceManagers, which handle string and image resources
for the application. It do handle localization strings on this level.
English strings (list of resource managers)
Neutral/English images (list of resource managers)
Hashtable containing the local strings from the main application.
Strings resource managers for the current language
Image resource managers for the current language
List of ResourceAssembly
Registers string resources in the resource service.
The base name of the resource file embedded in the assembly.
The assembly which contains the resource file.
ResourceService.RegisterStrings("TestAddin.Resources.StringResources", GetType().Assembly);
Registers image resources in the resource service.
The base name of the resource file embedded in the assembly.
The assembly which contains the resource file.
ResourceService.RegisterImages("TestAddin.Resources.BitmapResources", GetType().Assembly);
Returns a string from the resource database, it handles localization
transparent for the user.
The string in the (localized) resource database.
The name of the requested resource.
Is thrown when the GlobalResource manager can't find a requested resource.
Is thrown when the ServiceManager cannot find a required service.
Provides properties by using Reflection on an object.
This class parses internal ${xyz} tags of #Develop.
All environment variables are avaible under the name env.[NAME]
where [NAME] represents the string under which it is avaiable in
the environment.
Expands ${xyz} style property values.
Parses an array and replaces the elements in the existing array.
Expands ${xyz} style property values.
For new code, please use the overload taking StringTagPair[]!
Evaluates a property using the StringParser. Equivalent to StringParser.Parse("${" + propertyName + "}");
Allow special syntax to retrieve property values:
${property:PropertyName}
${property:PropertyName??DefaultValue}
${property:ContainerName/PropertyName}
${property:ContainerName/PropertyName??DefaultValue}
A container is a Properties instance stored in the PropertyService. This is
used by many AddIns to group all their properties into one container.
Abstract implementation of the interface.
Returns the owner of the command.
Invokes the command.
Invokes a callback when this class is disposed.
TextWriter that writes into System.Diagnostics.Debug
A basic command interface. A command has simply an owner which "runs" the command
and a Run method which invokes the command.
Returns the owner of the command.
Invokes the command.
Is called when the Owner property is changed.
When a doozer returns an object implementing
this interface, the method is called on the list of items
that has been built.
This interface can be used to support special doozers
that do not simply build one item but want to modify the list of items built so far.
Example use is the which uses this interface to return
multiple items instead of one.
Includes one or multiple items from another location in the addin tree.
You can use the attribute "item" (to include a single item) OR the
attribute "path" (to include all items from the target path).
When this attribute is used, the include doozer builds the item that is at the
addin tree location specified by this attribute.
When this attribute is used, the include doozer builds all items inside the
path addin tree location specified by this attribute and returns an
which includes all items in the output list.
Everywhere
Any object, depending on the included codon(s).
Gets if the doozer handles codon conditions on its own.
If this property return false, the item is excluded when the condition is not met.
Class for easy logging.
Stores information about the manifest of an AddIn.
Represents a versioned reference to an AddIn. Used by .
Returns true when the reference is valid.
Compares two versions and ignores unspecified fields (unlike Version.CompareTo)
-1 if a < b, 0 if a == b, 1 if a > b
Class that helps starting up ICSharpCode.Core.
Initializing ICSharpCode.Core requires initializing several static classes
and the . does this work
for you, provided you use it like this:
1. Create a new CoreStartup instance
2. (Optional) Set the values of the properties.
3. Call .
4. Add "preinstalled" AddIns using
and .
5. (Optional) Call to support
disabling AddIns and installing external AddIns
6. (Optional) Call to support installing
user AddIns.
7. Call .
Sets the name used for the properties (only name, without path or extension).
Must be set before StartCoreServices() is called.
Sets the directory name used for the property service.
Must be set before StartCoreServices() is called.
Use null to use the default path "%ApplicationData%\%ApplicationName%",
where %ApplicationData% is the system setting for
"c:\documents and settings\username\application data"
and %ApplicationName% is the application name you used in the
CoreStartup constructor call.
Sets the data directory used to load resources.
Must be set before StartCoreServices() is called.
Use null to use the default path "ApplicationRootPath\data".
Creates a new CoreStartup instance.
The name of your application.
This is used as default title for message boxes,
default name for the configuration directory etc.
Find AddIns by searching all .addin files recursively in .
The AddIns that were found are added to the list of AddIn files to load.
Add the specified .addin file to the list of AddIn files to load.
Use the specified configuration file to store information about
disabled AddIns and external AddIns.
You have to call this method to support the .
The name of the file used to store the list of disabled AddIns
and the list of installed external AddIns.
A good value for this parameter would be
Path.Combine(, "AddIns.xml").
Configures user AddIn support.
The AddIn installation temporary directory.
ConfigureUserAddIns will install the AddIns from this directory and
store the parameter value in .
The path where user AddIns are installed to.
AddIns from this directory will be loaded.
Initializes the AddIn system.
This loads the AddIns that were added to the list,
then it executes the commands
in /Workspace/Autostart.
Starts the core services.
This initializes the PropertyService and ResourceService.
Specifies the action to be taken for a specific .
Enable the .
Disable the .
Install the .
Uninstall the .
Update the .
The is disabled because it has been installed
twice (duplicate identity).
Tells that the cannot be loaded because not all dependencies are satisfied.
A custom error has occurred (e.g. the AddIn disabled itself using a condition).
Manages all actions performed on s.
An AddInManager GUI can use the methods here to install/update/uninstall
s.
There are three types of AddIns:
- Preinstalled AddIns (added by host application) -> can only be disabled
- External AddIns -> can be added, disabled and removed
Removing external AddIns only removes the reference to the .addin file
but does not delete the AddIn.
- User AddIns -> are installed to UserAddInPath, can be installed, disabled
and uninstalled
Gets or sets the user addin path.
This is the path where user AddIns are installed to.
This property is normally initialized by .
Gets or sets the addin install temporary directory.
This is a directory used to store AddIns that should be installed on
the next start of the application.
This property is normally initialized by .
Gets or sets the full name of the configuration file.
In this file, the AddInManager stores the list of disabled AddIns
and the list of installed external AddIns.
This property is normally initialized by .
Installs the AddIns from AddInInstallTemp to the UserAddInPath.
In case of installation errors, a error message is displayed to the user
and the affected AddIn is added to the disabled list.
This method is normally called by
Uninstalls the user addin on next start.
schedules the AddIn for
deinstallation, you can unschedule it using
The identity of the addin to remove.
Prevents a user AddIn from being uninstalled.
schedules the AddIn for
deinstallation, you can unschedule it using
The identity of which to abort the removal.
Adds the specified external AddIns to the list of registered external
AddIns.
The list of AddIns to add. (use instances
created by ).
Removes the specified external AddIns from the list of registered external
AddIns.
The list of AddIns to remove.
(use external AddIns from the collection).
Marks the specified AddIns as enabled (will take effect after
next application restart).
Marks the specified AddIns as disabled (will take effect after
next application restart).
Loads a configuration file.
The 'file' from XML elements in the form "<AddIn file='full path to .addin file'>" will
be added to , the 'addin' element from
"<Disable addin='addin identity'>" will be added to ,
all other XML elements are ignored.
File names of external AddIns are added to this collection.
Identities of disabled addins are added to this collection.
Saves the AddIn configuration in the format expected by
.
List of file names of external AddIns.
List of Identities of disabled addins.
Creates a string.
The string to return.
The string specified by 'text', passed through the StringParser.
Gets if the doozer handles codon conditions on its own.
If this property return false, the item is excluded when the condition is not met.