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.