├── .config └── tsaoptions.json ├── .gitattributes ├── .gitignore ├── AUTHORS ├── CODE-OF-CONDUCT.md ├── COPYING ├── Mono.Addins.CecilReflector ├── Mono.Addins.CecilReflector.csproj └── Mono.Addins.CecilReflector │ └── Reflector.cs ├── Mono.Addins.Gui ├── AssemblyInfo.cs ├── Gui │ ├── Mono.Addins.Gui.AddinInfoView.cs │ ├── Mono.Addins.Gui.AddinInstallerDialog.cs │ ├── Mono.Addins.Gui.AddinManagerDialog.cs │ ├── Mono.Addins.Gui.ErrorDialog.cs │ ├── Mono.Addins.Gui.InstallDialog.cs │ ├── Mono.Addins.Gui.ManageSitesDialog.cs │ ├── Mono.Addins.Gui.NewSiteDialog.cs │ ├── Mono.Addins.Gui.ProgressDialog.cs │ └── generated.cs ├── Mono.Addins.Gui.csproj ├── Mono.Addins.Gui │ ├── AddinInfoView.cs │ ├── AddinInstaller.cs │ ├── AddinInstallerDialog.cs │ ├── AddinManagerDialog.cs │ ├── AddinManagerWindow.cs │ ├── AddinTreeWidget.cs │ ├── ErrorDialog.cs │ ├── HeaderBox.cs │ ├── HoverImageButton.cs │ ├── HslColor.cs │ ├── InstallDialog.cs │ ├── InstallMonitor.cs │ ├── ManageSitesDialog.cs │ ├── NewSiteDialog.cs │ ├── ProgressDialog.cs │ ├── SearchEntry.cs │ └── Services.cs └── icons │ ├── download-16.png │ ├── download-16@2x.png │ ├── download-16~dark.png │ ├── download-16~dark@2x.png │ ├── installed-overlay-16.png │ ├── installed-overlay-16@2x.png │ ├── installed-overlay-16~dark.png │ ├── installed-overlay-16~dark@2x.png │ ├── installed-overlay-16~dark~sel.png │ ├── installed-overlay-16~dark~sel@2x.png │ ├── installed-overlay-16~sel.png │ ├── installed-overlay-16~sel@2x.png │ ├── package-x-generic.png │ ├── package-x-generic_16.png │ ├── package-x-generic_22.png │ ├── plugin-16.png │ ├── plugin-16@2x.png │ ├── plugin-16~dark.png │ ├── plugin-16~dark@2x.png │ ├── plugin-16~dark~sel.png │ ├── plugin-16~dark~sel@2x.png │ ├── plugin-16~sel.png │ ├── plugin-16~sel@2x.png │ ├── plugin-22.png │ ├── plugin-22@2x.png │ ├── plugin-22~dark.png │ ├── plugin-22~dark@2x.png │ ├── plugin-22~dark~sel.png │ ├── plugin-22~dark~sel@2x.png │ ├── plugin-22~sel.png │ ├── plugin-22~sel@2x.png │ ├── plugin-32.png │ ├── plugin-32@2x.png │ ├── plugin-32~dark.png │ ├── plugin-32~dark@2x.png │ ├── plugin-32~dark~sel.png │ ├── plugin-32~dark~sel@2x.png │ ├── plugin-32~sel.png │ ├── plugin-32~sel@2x.png │ ├── plugin-avail-16.png │ ├── plugin-avail-16@2x.png │ ├── plugin-avail-16~dark.png │ ├── plugin-avail-16~dark@2x.png │ ├── plugin-avail-16~dark~sel.png │ ├── plugin-avail-16~dark~sel@2x.png │ ├── plugin-avail-16~sel.png │ ├── plugin-avail-16~sel@2x.png │ ├── plugin-avail-32.png │ ├── plugin-avail-32@2x.png │ ├── plugin-avail-32~dark.png │ ├── plugin-avail-32~dark@2x.png │ ├── plugin-avail-32~dark~sel.png │ ├── plugin-avail-32~dark~sel@2x.png │ ├── plugin-avail-32~sel.png │ ├── plugin-avail-32~sel@2x.png │ ├── plugin-disabled-32.png │ ├── plugin-disabled-32@2x.png │ ├── plugin-disabled-32~dark.png │ ├── plugin-disabled-32~dark@2x.png │ ├── plugin-disabled-32~dark~sel.png │ ├── plugin-disabled-32~dark~sel@2x.png │ ├── plugin-disabled-32~sel.png │ ├── plugin-disabled-32~sel@2x.png │ ├── plugin-update-16.png │ ├── plugin-update-16@2x.png │ ├── plugin-update-16~dark.png │ ├── plugin-update-16~dark@2x.png │ ├── plugin-update-16~dark~sel.png │ ├── plugin-update-16~dark~sel@2x.png │ ├── plugin-update-16~sel.png │ ├── plugin-update-16~sel@2x.png │ ├── plugin-update-22.png │ ├── plugin-update-22@2x.png │ ├── plugin-update-22~dark.png │ ├── plugin-update-22~dark@2x.png │ ├── plugin-update-22~dark~sel.png │ ├── plugin-update-22~dark~sel@2x.png │ ├── plugin-update-22~sel.png │ ├── plugin-update-22~sel@2x.png │ ├── plugin-update-32.png │ ├── plugin-update-32@2x.png │ ├── plugin-update-32~dark.png │ ├── plugin-update-32~dark@2x.png │ ├── plugin-update-32~dark~sel.png │ ├── plugin-update-32~dark~sel@2x.png │ ├── plugin-update-32~sel.png │ ├── plugin-update-32~sel@2x.png │ ├── update-16.png │ ├── update-16@2x.png │ ├── update-16~dark.png │ ├── update-16~dark@2x.png │ ├── update-available-overlay-16.png │ ├── update-available-overlay-16@2x.png │ ├── update-available-overlay-16~dark.png │ ├── update-available-overlay-16~dark@2x.png │ ├── update-available-overlay-16~dark~sel.png │ ├── update-available-overlay-16~dark~sel@2x.png │ ├── update-available-overlay-16~sel.png │ ├── update-available-overlay-16~sel@2x.png │ ├── web-search-16.png │ ├── web-search-16@2x.png │ ├── web-search-16~dark.png │ └── web-search-16~dark@2x.png ├── Mono.Addins.GuiGtk3 ├── AssemblyInfo.cs ├── Mono.Addins.Gui │ ├── AddinInfoView.cs │ ├── AddinInstaller.cs │ ├── AddinInstallerDialog.cs │ ├── AddinManagerDialog.cs │ ├── AddinManagerWindow.cs │ ├── AddinTreeWidget.cs │ ├── ErrorDialog.cs │ ├── HeaderBox.cs │ ├── HoverImageButton.cs │ ├── HslColor.cs │ ├── InstallDialog.cs │ ├── InstallMonitor.cs │ ├── ManageSitesDialog.cs │ ├── NewSiteDialog.cs │ ├── ProgressDialog.cs │ ├── SearchEntry.cs │ └── Services.cs ├── Mono.Addins.GuiGtk3.csproj ├── icons │ ├── download-16.png │ ├── download-16@2x.png │ ├── download-16~dark.png │ ├── download-16~dark@2x.png │ ├── installed-overlay-16.png │ ├── installed-overlay-16@2x.png │ ├── installed-overlay-16~dark.png │ ├── installed-overlay-16~dark@2x.png │ ├── installed-overlay-16~dark~sel.png │ ├── installed-overlay-16~dark~sel@2x.png │ ├── installed-overlay-16~sel.png │ ├── installed-overlay-16~sel@2x.png │ ├── package-x-generic.png │ ├── package-x-generic_16.png │ ├── package-x-generic_22.png │ ├── plugin-16.png │ ├── plugin-16@2x.png │ ├── plugin-16~dark.png │ ├── plugin-16~dark@2x.png │ ├── plugin-16~dark~sel.png │ ├── plugin-16~dark~sel@2x.png │ ├── plugin-16~sel.png │ ├── plugin-16~sel@2x.png │ ├── plugin-22.png │ ├── plugin-22@2x.png │ ├── plugin-22~dark.png │ ├── plugin-22~dark@2x.png │ ├── plugin-22~dark~sel.png │ ├── plugin-22~dark~sel@2x.png │ ├── plugin-22~sel.png │ ├── plugin-22~sel@2x.png │ ├── plugin-32.png │ ├── plugin-32@2x.png │ ├── plugin-32~dark.png │ ├── plugin-32~dark@2x.png │ ├── plugin-32~dark~sel.png │ ├── plugin-32~dark~sel@2x.png │ ├── plugin-32~sel.png │ ├── plugin-32~sel@2x.png │ ├── plugin-avail-16.png │ ├── plugin-avail-16@2x.png │ ├── plugin-avail-16~dark.png │ ├── plugin-avail-16~dark@2x.png │ ├── plugin-avail-16~dark~sel.png │ ├── plugin-avail-16~dark~sel@2x.png │ ├── plugin-avail-16~sel.png │ ├── plugin-avail-16~sel@2x.png │ ├── plugin-avail-32.png │ ├── plugin-avail-32@2x.png │ ├── plugin-avail-32~dark.png │ ├── plugin-avail-32~dark@2x.png │ ├── plugin-avail-32~dark~sel.png │ ├── plugin-avail-32~dark~sel@2x.png │ ├── plugin-avail-32~sel.png │ ├── plugin-avail-32~sel@2x.png │ ├── plugin-disabled-32.png │ ├── plugin-disabled-32@2x.png │ ├── plugin-disabled-32~dark.png │ ├── plugin-disabled-32~dark@2x.png │ ├── plugin-disabled-32~dark~sel.png │ ├── plugin-disabled-32~dark~sel@2x.png │ ├── plugin-disabled-32~sel.png │ ├── plugin-disabled-32~sel@2x.png │ ├── plugin-update-16.png │ ├── plugin-update-16@2x.png │ ├── plugin-update-16~dark.png │ ├── plugin-update-16~dark@2x.png │ ├── plugin-update-16~dark~sel.png │ ├── plugin-update-16~dark~sel@2x.png │ ├── plugin-update-16~sel.png │ ├── plugin-update-16~sel@2x.png │ ├── plugin-update-22.png │ ├── plugin-update-22@2x.png │ ├── plugin-update-22~dark.png │ ├── plugin-update-22~dark@2x.png │ ├── plugin-update-22~dark~sel.png │ ├── plugin-update-22~dark~sel@2x.png │ ├── plugin-update-22~sel.png │ ├── plugin-update-22~sel@2x.png │ ├── plugin-update-32.png │ ├── plugin-update-32@2x.png │ ├── plugin-update-32~dark.png │ ├── plugin-update-32~dark@2x.png │ ├── plugin-update-32~dark~sel.png │ ├── plugin-update-32~dark~sel@2x.png │ ├── plugin-update-32~sel.png │ ├── plugin-update-32~sel@2x.png │ ├── update-16.png │ ├── update-16@2x.png │ ├── update-16~dark.png │ ├── update-16~dark@2x.png │ ├── update-available-overlay-16.png │ ├── update-available-overlay-16@2x.png │ ├── update-available-overlay-16~dark.png │ ├── update-available-overlay-16~dark@2x.png │ ├── update-available-overlay-16~dark~sel.png │ ├── update-available-overlay-16~dark~sel@2x.png │ ├── update-available-overlay-16~sel.png │ ├── update-available-overlay-16~sel@2x.png │ ├── web-search-16.png │ ├── web-search-16@2x.png │ ├── web-search-16~dark.png │ └── web-search-16~dark@2x.png └── interfaces │ ├── AddinInfoView.ui.xml │ ├── AddinInstallerDialog.ui.xml │ ├── AddinManagerDialog.ui.xml │ ├── ErrorDialog.ui.xml │ ├── InstallDialog.ui.xml │ ├── ManageSitesDialog.ui.xml │ ├── NewSiteDialog.ui.xml │ └── ProgressDialog.ui.xml ├── Mono.Addins.MSBuild ├── Mono.Addins.MSBuild.csproj ├── Mono.Addins.targets ├── ResolveAddinReferences.cs └── Util.cs ├── Mono.Addins.Setup ├── Mono.Addins.Setup.ProgressMonitoring │ ├── ConsoleProgressMonitor.cs │ ├── LogTextWriter.cs │ ├── NullProgressMonitor.cs │ ├── ProgressStatusMonitor.cs │ └── ProgressTracker.cs ├── Mono.Addins.Setup.csproj └── Mono.Addins.Setup │ ├── AddinInfo.cs │ ├── AddinInfoCollection.cs │ ├── AddinPackage.cs │ ├── AddinRepositoryEntry.cs │ ├── AddinRepositoryProvider.cs │ ├── AddinStore.cs │ ├── AddinSystemConfiguration.cs │ ├── AddinSystemConfigurationReaderWriter.cs │ ├── AddinSystemConfigurationSerializer.cs │ ├── ConsoleAddinInstaller.cs │ ├── DownloadFileRequest.cs │ ├── HttpClientProvider.cs │ ├── IProgressMonitor.cs │ ├── InstallException.cs │ ├── MonoAddinsRepositoryProvider.cs │ ├── NativePackage.cs │ ├── Package.cs │ ├── PackageCollection.cs │ ├── PcFileCache.cs │ ├── ReferenceRepositoryEntry.cs │ ├── Repository.cs │ ├── RepositoryEntry.cs │ ├── RepositoryEntryCollection.cs │ ├── RepositoryReaderWriter.cs │ ├── RepositoryRecord.cs │ ├── RepositoryRegistry.cs │ ├── RepositorySerializer.cs │ ├── SetupService.cs │ ├── SetupTool.cs │ ├── TextFormatter.cs │ ├── WebRequestHelper.cs │ └── serializers.xml ├── Mono.Addins.sln ├── Mono.Addins ├── CustomConditionAttribute.cs ├── Mono.Addins.Database │ ├── AddinDatabase.cs │ ├── AddinFileSystemExtension.cs │ ├── AddinFolderVisitor.cs │ ├── AddinHostIndex.cs │ ├── AddinRegistryUpdater.cs │ ├── AddinScanData.cs │ ├── AddinScanDataFileGenerator.cs │ ├── AddinScanFolderInfo.cs │ ├── AddinScanResult.cs │ ├── AddinScanner.cs │ ├── AddinUpdateData.cs │ ├── AssemblyLocatorVisitor.cs │ ├── DatabaseConfiguration.cs │ ├── DefaultAssemblyReflector.cs │ ├── FileDatabase.cs │ ├── IAssemblyReflector.cs │ ├── ISetupHandler.cs │ ├── ProcessFailedException.cs │ ├── ProcessProgressStatus.cs │ ├── ScanOptions.cs │ ├── SetupDomain.cs │ ├── SetupLocal.cs │ └── Util.cs ├── Mono.Addins.Description │ ├── AddinDependency.cs │ ├── AddinDescription.cs │ ├── AddinFlags.cs │ ├── AddinProperty.cs │ ├── AddinPropertyCollection.cs │ ├── AssemblyDependency.cs │ ├── ConditionTypeDescription.cs │ ├── ConditionTypeDescriptionCollection.cs │ ├── Dependency.cs │ ├── DependencyCollection.cs │ ├── Extension.cs │ ├── ExtensionCollection.cs │ ├── ExtensionNodeDescription.cs │ ├── ExtensionNodeDescriptionCollection.cs │ ├── ExtensionNodeSet.cs │ ├── ExtensionNodeSetCollection.cs │ ├── ExtensionNodeType.cs │ ├── ExtensionNodeTypeCollection.cs │ ├── ExtensionPoint.cs │ ├── ExtensionPointCollection.cs │ ├── ModuleDescription.cs │ ├── ModuleDescriptionCollection.cs │ ├── NativeDependency.cs │ ├── NodeTypeAttribute.cs │ ├── NodeTypeAttributeCollection.cs │ ├── ObjectDescription.cs │ ├── ObjectDescriptionCollection.cs │ └── PackageFormat.cs ├── Mono.Addins.Localization │ ├── GettextDomain.cs │ ├── GettextLocalizer.cs │ ├── IAddinLocalizer.cs │ ├── IAddinLocalizerFactory.cs │ ├── IPluralAddinLocalizer.cs │ ├── NullLocalizer.cs │ ├── StringResourceLocalizer.cs │ └── StringTableLocalizer.cs ├── Mono.Addins.Serialization │ ├── BinaryXmlReader.cs │ ├── BinaryXmlTypeMap.cs │ ├── BinaryXmlWriter.cs │ └── IBinaryXmlElement.cs ├── Mono.Addins.csproj ├── Mono.Addins │ ├── Addin.cs │ ├── AddinAttribute.cs │ ├── AddinAuthorAttribute.cs │ ├── AddinCategoryAttribute.cs │ ├── AddinDependencyAttribute.cs │ ├── AddinDescriptionAttribute.cs │ ├── AddinEngine.cs │ ├── AddinErrorEventArgs.cs │ ├── AddinEventArgs.cs │ ├── AddinFlagsAttribute.cs │ ├── AddinInfo.cs │ ├── AddinLocalizer.cs │ ├── AddinLocalizerAttribute.cs │ ├── AddinLocalizerGettextAttribute.cs │ ├── AddinManager.cs │ ├── AddinModuleAttribute.cs │ ├── AddinNameAttribute.cs │ ├── AddinPropertyAttribute.cs │ ├── AddinRegistry.cs │ ├── AddinRootAttribute.cs │ ├── AddinUrlAttribute.cs │ ├── ConditionType.cs │ ├── ConsoleProgressStatus.cs │ ├── ContentType.cs │ ├── CustomConditionAttribute.cs │ ├── CustomExtensionAttribute.cs │ ├── ExtensionAttribute.cs │ ├── ExtensionAttributeAttribute.cs │ ├── ExtensionContext.cs │ ├── ExtensionContextTransaction.cs │ ├── ExtensionNode.cs │ ├── ExtensionNodeAttribute.cs │ ├── ExtensionNodeChildAttribute.cs │ ├── ExtensionNodeList.cs │ ├── ExtensionPointAttribute.cs │ ├── ExtensionTree.cs │ ├── GettextCatalog.cs │ ├── IAddinInstaller.cs │ ├── IProgressStatus.cs │ ├── ImportAddinAssemblyAttribute.cs │ ├── ImportAddinFileAttribute.cs │ ├── InstanceExtensionNode.cs │ ├── MissingDependencyException.cs │ ├── NodeAttributeAttribute.cs │ ├── NodeElement.cs │ ├── RuntimeAddin.cs │ ├── TreeNode.cs │ ├── TypeExtensionNode.cs │ └── TypeExtensionPointAttribute.cs └── serializers.config ├── README.md ├── Samples ├── HelloWorld │ ├── HelloWorld.sln │ ├── HelloWorld │ │ ├── HelloWorld.csproj │ │ ├── ICommand.cs │ │ └── Main.cs │ ├── HelloWorldAddin │ │ ├── HelloCommand.cs │ │ └── HelloWorldAddin.csproj │ └── Makefile ├── HelloWorldWithManifest │ ├── HelloWorld │ │ ├── HelloWorld.addin.xml │ │ ├── HelloWorld.csproj │ │ ├── ICommand.cs │ │ └── Main.cs │ ├── HelloWorldAddin │ │ ├── HelloCommand.cs │ │ ├── HelloWorldAddin.addin.xml │ │ └── HelloWorldAddin.csproj │ ├── HelloWorldWithManifest.sln │ └── Makefile ├── Makefile ├── Samples.mdw ├── TextEditor │ ├── Makefile │ ├── TextEditor.CompilerService.CSharp │ │ ├── AssemblyInfo.cs │ │ ├── CSharpCompiler.cs │ │ └── TextEditor.CompilerService.CSharp.csproj │ ├── TextEditor.CompilerService │ │ ├── AssemblyInfo.cs │ │ ├── CompilerManager.cs │ │ ├── ICompiler.cs │ │ ├── RunCommand.cs │ │ ├── TextEditor.CompilerService.addin.xml │ │ └── TextEditor.CompilerService.csproj │ ├── TextEditor.Xml │ │ ├── AssemblyInfo.cs │ │ ├── EmptyFile.xml │ │ ├── FormatXmlCommand.cs │ │ ├── TextEditor.Xml.addin.xml │ │ └── TextEditor.Xml.csproj │ ├── TextEditor.sln │ ├── TextEditor │ │ ├── Main.cs │ │ ├── TextEditor.csproj │ │ └── gtk-gui │ │ │ ├── generated.cs │ │ │ └── gui.stetic │ └── TextEditorLib │ │ ├── AssemblyInfo.cs │ │ ├── Commands │ │ ├── CopyCommand.cs │ │ ├── CutCommand.cs │ │ ├── ExitCommand.cs │ │ ├── NewCommand.cs │ │ ├── OpenCommand.cs │ │ ├── PasteCommand.cs │ │ ├── SaveCommand.cs │ │ └── SetupCommand.cs │ │ ├── ExtensionNodes │ │ ├── FileTemplateNode.cs │ │ ├── MenuItemNode.cs │ │ ├── MenuNode.cs │ │ ├── MenuSeparatorNode.cs │ │ ├── SubmenuNode.cs │ │ ├── TemplateCategoryNode.cs │ │ ├── ToolButtonNode.cs │ │ ├── ToolSeparatorNode.cs │ │ └── ToolbarNode.cs │ │ ├── ICommand.cs │ │ ├── MainWindow.cs │ │ ├── OpenFileCondition.cs │ │ ├── Templates │ │ ├── ChangeLogTemplate.txt │ │ ├── DotConfigTemplate.txt │ │ ├── TextEditor.addin.xml │ │ └── WorkReport.txt │ │ ├── TextEditorApp.cs │ │ ├── TextEditorLib.csproj │ │ └── gtk-gui │ │ ├── MainWindow.cs │ │ ├── generated.cs │ │ └── gui.stetic ├── TextEditorSWF │ ├── DateAddin │ │ ├── DateAddin.csproj │ │ ├── DateSnippet.cs │ │ ├── InsertDateCommand.cs │ │ ├── MainMenu.addin │ │ └── Properties │ │ │ └── AssemblyInfo.cs │ ├── SnippetsAddin │ │ ├── ISnippetProvider.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ ├── SnippetsAddin.cs │ │ ├── SnippetsAddin.csproj │ │ ├── StockSnippetProvider.cs │ │ └── StockSnippets.cs │ ├── TextEditorSWF.sln │ └── TextEditorSWF │ │ ├── CommandManager.cs │ │ ├── Commands │ │ ├── CopyCommand.cs │ │ ├── CutCommand.cs │ │ ├── ExitCommand.cs │ │ ├── MainMenu.addin │ │ ├── NewCommand.cs │ │ ├── OpenCommand.cs │ │ ├── PasteCommand.cs │ │ ├── SaveCommand.cs │ │ └── Toolbar.addin │ │ ├── ExtensionModel │ │ ├── CommandExtensionNode.cs │ │ ├── EditorExtension.cs │ │ ├── ExtensionPoints.cs │ │ ├── ICommand.cs │ │ ├── IUserInterfaceItem.cs │ │ ├── InterfaceItemExtensionNode.cs │ │ ├── MenuExtensionNode.cs │ │ └── SeparatorExtensionNode.cs │ │ ├── Icons │ │ ├── copy.png │ │ ├── cut.png │ │ ├── new.png │ │ ├── open.png │ │ ├── paste.png │ │ └── save.png │ │ ├── Program.cs │ │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ │ ├── TextEditor.Designer.cs │ │ ├── TextEditor.cs │ │ ├── TextEditor.resx │ │ └── TextEditorSWF.csproj └── WriterService │ ├── Makefile │ ├── WriterService.SampleExtender │ ├── AssemblyInfo.cs │ ├── MyWriter.cs │ ├── SampleExtender.addin.xml │ └── WriterService.SampleExtender.csproj │ ├── WriterService.sln │ ├── WriterService │ ├── AssemblyInfo.cs │ ├── FlagsCondition.cs │ ├── IWriter.cs │ ├── WriterManager.cs │ ├── WriterService.addin.xml │ └── WriterService.csproj │ └── WriterServiceHost │ ├── AssemblyInfo.cs │ ├── Main.cs │ └── WriterServiceHost.csproj ├── TargetFrameworks.props ├── Test ├── CommandExtension │ ├── CommandExtension.addin.xml │ ├── CommandExtension.csproj │ ├── CommandExtensionNode.cs │ └── CustomLocalizerFactory.cs ├── FileContentExtension │ ├── FileContentExtension.addin.xml │ ├── FileContentExtension.csproj │ ├── FileContentExtensionNode.cs │ ├── FileSampleExtender.cs │ └── IExtraFileContent.cs ├── FileExtender │ ├── ExtraExtender.addin.xml │ ├── FileExtender.Bis.addin.xml │ ├── FileExtender.addin.xml │ ├── FileExtender.cs │ └── FileExtender.csproj ├── GuiTester │ ├── AssemblyInfo.cs │ ├── GuiTester.csproj │ ├── Main.cs │ ├── MainWindow.cs │ └── gtk-gui │ │ ├── generated.cs │ │ └── gui.stetic ├── HelloWorldExtension │ ├── AttributeExtensions.cs │ ├── HelloSampleExtender.cs │ ├── HelloWorldExtension.addin.xml │ ├── HelloWorldExtension.csproj │ ├── HelloWorldWriter.cs │ ├── HelloWriterWithCondition.cs │ └── HelloWriterWithMetadata.cs ├── MultiAssemblyAddin │ ├── Extensions.cs │ ├── MultiAssemblyAddin.csproj │ ├── OptionalModule │ │ ├── Extensions.cs │ │ └── OptionalModule.csproj │ └── SecondAssembly │ │ ├── CustomLocalizerFactory.cs │ │ ├── Extensions.cs │ │ └── SecondAssembly.csproj ├── SystemInfoExtension │ ├── ModuleExtensionNode.cs │ ├── MyClass.cs │ ├── Resources.ca.resx │ ├── Resources.resx │ ├── SystemInfoExtension.addin.xml │ ├── SystemInfoExtension.csproj │ └── SystemInfoWriter.cs ├── UnitTests │ ├── AddinInformationTests.cs │ ├── ExtensionModel │ │ ├── AttrExtensionWithManyNodes.cs │ │ ├── ComplexNode.cs │ │ ├── GlobalInfoCondition.cs │ │ ├── GlobalInfoConditionAttribute.cs │ │ ├── ISampleExtender.cs │ │ ├── IWriter.cs │ │ ├── IWriterWithMetadata.cs │ │ ├── MultiAssemblyTestExtensionPoint.cs │ │ ├── NodeWithAttribute.cs │ │ ├── ParameterInfoCondition.cs │ │ ├── Properties.cs │ │ └── SimpleExtensionAttribute.cs │ ├── SampleAddins │ │ ├── AddRemoveTest1.addin.xml │ │ └── AddRemoveTest2.addin.xml │ ├── SimpleApp.addin.xml │ ├── SupportFile.txt │ ├── TestAddinDescription.cs │ ├── TestBase.cs │ ├── TestConditions.cs │ ├── TestEvents.cs │ ├── TestExtensions.cs │ ├── TestFileDatabase.cs │ ├── TestLoadUnload.cs │ ├── TestLoadXmlAddinDescription.cs │ ├── TestLocalization.cs │ ├── TestManifest.xml │ ├── TestManifest2-bis.xml │ ├── TestManifest2.xml │ ├── TestManifest3.xml │ ├── TestMultithreading.cs │ ├── TestScan.cs │ ├── TestScanDataFileGeneration.cs │ ├── TestSetup.cs │ ├── TestSetupService.cs │ ├── TestVerifyAddinDescription.cs │ ├── UnitTests.csproj │ ├── Util.cs │ └── test.addins └── test-files │ ├── ScanDataFilesTest │ ├── Addins │ │ ├── SimpleAddin2.addin.xml │ │ └── SimpleAddin3.addin.xml │ ├── App │ │ ├── SimpleAddin1.addin.xml │ │ ├── SimpleApp.addin.xml │ │ └── SimpleApp.addins │ └── UserAddins │ │ └── SimpleAddin4.addin.xml │ └── ScanTest │ ├── Addins │ └── SimpleAddin.addin.xml │ └── App │ ├── SimpleAddin.addin.xml │ └── SimpleApp.addin.xml ├── Version.props ├── azure-pipelines.yml ├── bot-provisioning ├── dependencies.csx └── provisionator-bootstrap.sh ├── compliance.yaml ├── docs ├── Mono.Addins.Database │ ├── DefaultAssemblyReflector.xml │ ├── IAssemblyLocator.xml │ └── IAssemblyReflector.xml ├── Mono.Addins.Description │ ├── AddinDependency.xml │ ├── AddinDescription.xml │ ├── AddinFlags.xml │ ├── AssemblyDependency.xml │ ├── ConditionTypeDescription.xml │ ├── ConditionTypeDescriptionCollection.xml │ ├── Dependency.xml │ ├── DependencyCollection.xml │ ├── Extension.xml │ ├── ExtensionCollection.xml │ ├── ExtensionNodeDescription.xml │ ├── ExtensionNodeDescriptionCollection.xml │ ├── ExtensionNodeSet.xml │ ├── ExtensionNodeSetCollection.xml │ ├── ExtensionNodeType.xml │ ├── ExtensionNodeTypeCollection.xml │ ├── ExtensionPoint.xml │ ├── ExtensionPointCollection.xml │ ├── ModuleCollection.xml │ ├── ModuleDescription.xml │ ├── NativeDependency.xml │ ├── NodeSetIdCollection.xml │ ├── NodeTypeAttribute.xml │ ├── NodeTypeAttributeCollection.xml │ ├── ObjectDescription.xml │ └── ObjectDescriptionCollection.xml ├── Mono.Addins.Gui │ ├── AddinInstaller.xml │ ├── AddinManagerWindow.xml │ └── AddinTreeWidget.xml ├── Mono.Addins.Localization │ ├── IAddinLocalizer.xml │ ├── IAddinLocalizerFactory.xml │ └── IPluralAddinLocalizer.xml ├── Mono.Addins.Setup │ ├── AddinHeader.xml │ ├── AddinRepository.xml │ ├── AddinRepositoryEntry.xml │ ├── ConsoleAddinInstaller.xml │ ├── InstallException.xml │ ├── Package.xml │ ├── PackageCollection.xml │ ├── RepositoryRegistry.xml │ ├── SetupCommandHandler.xml │ ├── SetupService.xml │ └── SetupTool.xml ├── Mono.Addins │ ├── Addin.xml │ ├── AddinAttribute.xml │ ├── AddinDependencyAttribute.xml │ ├── AddinErrorEventArgs.xml │ ├── AddinErrorEventHandler.xml │ ├── AddinEventArgs.xml │ ├── AddinEventHandler.xml │ ├── AddinLocalizer.xml │ ├── AddinManager.xml │ ├── AddinRegistry.xml │ ├── AddinRootAttribute.xml │ ├── ConditionType.xml │ ├── ConsoleProgressStatus.xml │ ├── ExtensionAttribute.xml │ ├── ExtensionChange.xml │ ├── ExtensionContext.xml │ ├── ExtensionEventArgs.xml │ ├── ExtensionEventHandler.xml │ ├── ExtensionNode.xml │ ├── ExtensionNodeAttribute.xml │ ├── ExtensionNodeChildAttribute.xml │ ├── ExtensionNodeEventArgs.xml │ ├── ExtensionNodeEventHandler.xml │ ├── ExtensionNodeList.xml │ ├── ExtensionPointAttribute.xml │ ├── IAddinInstaller.xml │ ├── IProgressStatus.xml │ ├── InstanceExtensionNode.xml │ ├── NodeAttribute.xml │ ├── NodeAttributeAttribute.xml │ ├── NodeElement.xml │ ├── NodeElementCollection.xml │ ├── RuntimeAddin.xml │ ├── TypeExtensionNode.xml │ └── TypeExtensionPointAttribute.xml ├── docs.mdproj ├── index.xml ├── mono-addins-docs.source ├── ns-Mono.Addins.Database.xml ├── ns-Mono.Addins.Description.xml ├── ns-Mono.Addins.Gui.xml ├── ns-Mono.Addins.Localization.xml ├── ns-Mono.Addins.ProgressMonitoring.xml ├── ns-Mono.Addins.Setup.xml └── ns-Mono.Addins.xml ├── global.json ├── mautil ├── Main.cs ├── mautil.1 └── mautil.csproj └── mono-addins.snk /.config/tsaoptions.json: -------------------------------------------------------------------------------- 1 | { 2 | "tsaVersion": "TsaV2", 3 | "codebase": "NewOrUpdate", 4 | "codebaseName": "mono-addins_main", 5 | "tsaStamp": "DevDiv", 6 | "tsaEnvironment": "PROD", 7 | "notificationAliases": [ 8 | "vsmac-engineering@microsoft.com" 9 | ], 10 | "codebaseAdmins": [ 11 | "REDMOND\\vsengxamarin" 12 | ], 13 | "instanceUrl": "https://devdiv.visualstudio.com", 14 | "projectName": "DevDiv", 15 | "areaPath": "DevDiv\\VS for Mac\\IDE Platform\\Extensibility", 16 | "alltools": true 17 | } 18 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # NOTE: this file is for git 1.6.6 (and possibly older) 2 | # Post-1.7.2 there is eol and text, and crlf is deprecated 3 | # but we can't depend on an unreleased version... 4 | 5 | # This file mainly controls line ending conversion behaviour, if 6 | # the user has the setting core.autocrlf true. 7 | 8 | # The meaning of the attributes is a little odd 9 | # -crlf means DO NOT convert line endings 10 | # crlf means CONVERT to lf in the repo & Linux/Mac, crlf on Windows 11 | 12 | # sln is always CRLF, even on linux, so don't convert 13 | *.sln -crlf 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | #Autosave files 2 | *~ 3 | 4 | # Build stuff 5 | obj 6 | /bin 7 | *policy*config 8 | *.pc 9 | *.dll 10 | Test/UnitTests/bin 11 | Test/UnitTests/obj 12 | Test/lib 13 | Test/tmp 14 | packages 15 | 16 | # Ide stuff 17 | *.pidb 18 | *.userprefs 19 | *.usertasks 20 | *.sln.cache 21 | /.vs 22 | 23 | # Generated stuff 24 | /mautil/mautil 25 | /mono-addins.spec 26 | 27 | # Mac stuff 28 | .DS_Store 29 | 30 | # Autotools stuff 31 | Makefile 32 | Makefile.in 33 | /aclocal.m4 34 | /autom4te.cache 35 | /config.log 36 | /config.status 37 | /configure 38 | /install-sh 39 | /missing 40 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | 2 | Lluis Sanchez Gual 3 | 4 | -------------------------------------------------------------------------------- /CODE-OF-CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Code of Conduct 2 | 3 | This project has adopted the code of conduct defined by the Contributor Covenant 4 | to clarify expected behavior in our community. 5 | 6 | For more information, see the [.NET Foundation Code of Conduct](https://dotnetfoundation.org/code-of-conduct). 7 | -------------------------------------------------------------------------------- /COPYING: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (C) 2007 Novell, Inc (http://www.novell.com) 4 | Copyright (C) 2012 Xamarin Inc 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /Mono.Addins.Gui/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | 4 | // Information about this assembly is defined by the following 5 | // attributes. 6 | // 7 | // change them to the information which is associated with the assembly 8 | // you compile. 9 | 10 | [assembly: AssemblyTitle("Mono.Addins.Gui")] 11 | [assembly: AssemblyCopyright("Copyright (C) 2007 Novell, Inc (http://www.novell.com)")] 12 | 13 | // The assembly version has following format : 14 | // 15 | // Major.Minor.Build.Revision 16 | // 17 | // You can specify all values by your own or you can build default build and revision 18 | // numbers with the '*' character (the default): 19 | 20 | [assembly: AssemblyVersion("1.0.0.0")] 21 | -------------------------------------------------------------------------------- /Mono.Addins.Gui/Mono.Addins.Gui/AddinInstaller.cs: -------------------------------------------------------------------------------- 1 | 2 | 3 | using System; 4 | using Mono.Addins.Setup; 5 | using Mono.Unix; 6 | 7 | namespace Mono.Addins.Gui 8 | { 9 | public class AddinInstaller: IAddinInstaller 10 | { 11 | public void InstallAddins (AddinRegistry reg, string message, string[] addinIds) 12 | { 13 | AddinInstallerDialog dlg = new AddinInstallerDialog (reg, message, addinIds); 14 | try { 15 | if (dlg.Run () == (int) Gtk.ResponseType.Cancel) 16 | throw new InstallException (Catalog.GetString ("Installation cancelled")); 17 | else if (dlg.ErrMessage != null) 18 | throw new InstallException (dlg.ErrMessage); 19 | } 20 | finally { 21 | dlg.Destroy (); 22 | } 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/download-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/download-16.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/download-16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/download-16@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/download-16~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/download-16~dark.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/download-16~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/download-16~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/installed-overlay-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/installed-overlay-16.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/installed-overlay-16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/installed-overlay-16@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/installed-overlay-16~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/installed-overlay-16~dark.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/installed-overlay-16~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/installed-overlay-16~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/installed-overlay-16~dark~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/installed-overlay-16~dark~sel.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/installed-overlay-16~dark~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/installed-overlay-16~dark~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/installed-overlay-16~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/installed-overlay-16~sel.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/installed-overlay-16~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/installed-overlay-16~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/package-x-generic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/package-x-generic.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/package-x-generic_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/package-x-generic_16.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/package-x-generic_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/package-x-generic_22.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-16.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-16@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-16~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-16~dark.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-16~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-16~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-16~dark~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-16~dark~sel.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-16~dark~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-16~dark~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-16~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-16~sel.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-16~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-16~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-22.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-22@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-22@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-22~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-22~dark.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-22~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-22~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-22~dark~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-22~dark~sel.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-22~dark~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-22~dark~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-22~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-22~sel.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-22~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-22~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-32.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-32@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-32~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-32~dark.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-32~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-32~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-32~dark~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-32~dark~sel.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-32~dark~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-32~dark~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-32~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-32~sel.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-32~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-32~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-avail-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-avail-16.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-avail-16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-avail-16@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-avail-16~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-avail-16~dark.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-avail-16~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-avail-16~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-avail-16~dark~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-avail-16~dark~sel.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-avail-16~dark~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-avail-16~dark~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-avail-16~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-avail-16~sel.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-avail-16~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-avail-16~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-avail-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-avail-32.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-avail-32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-avail-32@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-avail-32~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-avail-32~dark.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-avail-32~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-avail-32~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-avail-32~dark~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-avail-32~dark~sel.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-avail-32~dark~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-avail-32~dark~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-avail-32~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-avail-32~sel.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-avail-32~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-avail-32~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-disabled-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-disabled-32.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-disabled-32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-disabled-32@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-disabled-32~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-disabled-32~dark.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-disabled-32~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-disabled-32~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-disabled-32~dark~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-disabled-32~dark~sel.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-disabled-32~dark~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-disabled-32~dark~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-disabled-32~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-disabled-32~sel.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-disabled-32~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-disabled-32~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-update-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-update-16.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-update-16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-update-16@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-update-16~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-update-16~dark.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-update-16~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-update-16~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-update-16~dark~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-update-16~dark~sel.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-update-16~dark~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-update-16~dark~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-update-16~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-update-16~sel.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-update-16~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-update-16~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-update-22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-update-22.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-update-22@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-update-22@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-update-22~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-update-22~dark.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-update-22~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-update-22~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-update-22~dark~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-update-22~dark~sel.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-update-22~dark~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-update-22~dark~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-update-22~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-update-22~sel.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-update-22~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-update-22~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-update-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-update-32.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-update-32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-update-32@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-update-32~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-update-32~dark.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-update-32~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-update-32~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-update-32~dark~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-update-32~dark~sel.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-update-32~dark~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-update-32~dark~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-update-32~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-update-32~sel.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/plugin-update-32~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/plugin-update-32~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/update-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/update-16.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/update-16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/update-16@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/update-16~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/update-16~dark.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/update-16~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/update-16~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/update-available-overlay-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/update-available-overlay-16.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/update-available-overlay-16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/update-available-overlay-16@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/update-available-overlay-16~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/update-available-overlay-16~dark.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/update-available-overlay-16~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/update-available-overlay-16~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/update-available-overlay-16~dark~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/update-available-overlay-16~dark~sel.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/update-available-overlay-16~dark~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/update-available-overlay-16~dark~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/update-available-overlay-16~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/update-available-overlay-16~sel.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/update-available-overlay-16~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/update-available-overlay-16~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/web-search-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/web-search-16.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/web-search-16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/web-search-16@2x.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/web-search-16~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/web-search-16~dark.png -------------------------------------------------------------------------------- /Mono.Addins.Gui/icons/web-search-16~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.Gui/icons/web-search-16~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/download-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/download-16.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/download-16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/download-16@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/download-16~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/download-16~dark.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/download-16~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/download-16~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/installed-overlay-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/installed-overlay-16.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/installed-overlay-16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/installed-overlay-16@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/installed-overlay-16~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/installed-overlay-16~dark.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/installed-overlay-16~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/installed-overlay-16~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/installed-overlay-16~dark~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/installed-overlay-16~dark~sel.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/installed-overlay-16~dark~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/installed-overlay-16~dark~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/installed-overlay-16~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/installed-overlay-16~sel.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/installed-overlay-16~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/installed-overlay-16~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/package-x-generic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/package-x-generic.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/package-x-generic_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/package-x-generic_16.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/package-x-generic_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/package-x-generic_22.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-16.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-16@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-16~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-16~dark.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-16~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-16~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-16~dark~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-16~dark~sel.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-16~dark~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-16~dark~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-16~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-16~sel.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-16~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-16~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-22.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-22@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-22@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-22~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-22~dark.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-22~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-22~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-22~dark~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-22~dark~sel.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-22~dark~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-22~dark~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-22~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-22~sel.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-22~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-22~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-32.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-32@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-32~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-32~dark.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-32~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-32~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-32~dark~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-32~dark~sel.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-32~dark~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-32~dark~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-32~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-32~sel.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-32~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-32~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-avail-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-avail-16.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-avail-16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-avail-16@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-avail-16~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-avail-16~dark.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-avail-16~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-avail-16~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-avail-16~dark~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-avail-16~dark~sel.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-avail-16~dark~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-avail-16~dark~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-avail-16~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-avail-16~sel.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-avail-16~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-avail-16~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-avail-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-avail-32.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-avail-32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-avail-32@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-avail-32~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-avail-32~dark.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-avail-32~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-avail-32~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-avail-32~dark~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-avail-32~dark~sel.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-avail-32~dark~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-avail-32~dark~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-avail-32~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-avail-32~sel.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-avail-32~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-avail-32~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-disabled-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-disabled-32.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-disabled-32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-disabled-32@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-disabled-32~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-disabled-32~dark.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-disabled-32~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-disabled-32~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-disabled-32~dark~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-disabled-32~dark~sel.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-disabled-32~dark~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-disabled-32~dark~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-disabled-32~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-disabled-32~sel.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-disabled-32~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-disabled-32~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-update-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-update-16.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-update-16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-update-16@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-update-16~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-update-16~dark.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-update-16~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-update-16~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-update-16~dark~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-update-16~dark~sel.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-update-16~dark~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-update-16~dark~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-update-16~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-update-16~sel.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-update-16~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-update-16~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-update-22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-update-22.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-update-22@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-update-22@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-update-22~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-update-22~dark.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-update-22~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-update-22~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-update-22~dark~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-update-22~dark~sel.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-update-22~dark~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-update-22~dark~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-update-22~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-update-22~sel.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-update-22~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-update-22~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-update-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-update-32.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-update-32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-update-32@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-update-32~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-update-32~dark.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-update-32~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-update-32~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-update-32~dark~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-update-32~dark~sel.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-update-32~dark~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-update-32~dark~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-update-32~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-update-32~sel.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/plugin-update-32~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/plugin-update-32~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/update-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/update-16.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/update-16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/update-16@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/update-16~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/update-16~dark.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/update-16~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/update-16~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/update-available-overlay-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/update-available-overlay-16.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/update-available-overlay-16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/update-available-overlay-16@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/update-available-overlay-16~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/update-available-overlay-16~dark.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/update-available-overlay-16~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/update-available-overlay-16~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/update-available-overlay-16~dark~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/update-available-overlay-16~dark~sel.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/update-available-overlay-16~dark~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/update-available-overlay-16~dark~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/update-available-overlay-16~sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/update-available-overlay-16~sel.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/update-available-overlay-16~sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/update-available-overlay-16~sel@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/web-search-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/web-search-16.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/web-search-16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/web-search-16@2x.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/web-search-16~dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/web-search-16~dark.png -------------------------------------------------------------------------------- /Mono.Addins.GuiGtk3/icons/web-search-16~dark@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mono/mono-addins/f11f373a38104a5b649fd20452d45e8c23511078/Mono.Addins.GuiGtk3/icons/web-search-16~dark@2x.png -------------------------------------------------------------------------------- /Mono.Addins.MSBuild/Mono.Addins.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | ResolveAddinReferences; 7 | $(ResolveReferencesDependsOn) 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /Mono.Addins.Setup/Mono.Addins.Setup/AddinInfoCollection.cs: -------------------------------------------------------------------------------- 1 | // 2 | // AddinInfoCollection.cs 3 | // 4 | // Author: 5 | // Lluis Sanchez Gual 6 | // 7 | // Copyright (C) 2007 Novell, Inc (http://www.novell.com) 8 | // 9 | // Permission is hereby granted, free of charge, to any person obtaining 10 | // a copy of this software and associated documentation files (the 11 | // "Software"), to deal in the Software without restriction, including 12 | // without limitation the rights to use, copy, modify, merge, publish, 13 | // distribute, sublicense, and/or sell copies of the Software, and to 14 | // permit persons to whom the Software is furnished to do so, subject to 15 | // the following conditions: 16 | // 17 | // The above copyright notice and this permission notice shall be 18 | // included in all copies or substantial portions of the Software. 19 | // 20 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 21 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 22 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 23 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 24 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 25 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 26 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 27 | // 28 | 29 | using System; 30 | using System.Collections; 31 | 32 | namespace Mono.Addins.Setup 33 | { 34 | internal class AddinInfoCollection: CollectionBase 35 | { 36 | public AddinInfo this [int n] { 37 | get { return (AddinInfo) List [n]; } 38 | } 39 | 40 | public void Add (AddinInfo p) 41 | { 42 | List.Add (p); 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /Mono.Addins.Setup/Mono.Addins.Setup/AddinRepositoryProvider.cs: -------------------------------------------------------------------------------- 1 | // 2 | // AddinRepositoryProvider.cs 3 | // 4 | // Author: 5 | // David Karlaš 6 | // 7 | // Copyright (c) 2018 Microsoft Corp 8 | // 9 | // Permission is hereby granted, free of charge, to any person obtaining a copy 10 | // of this software and associated documentation files (the "Software"), to deal 11 | // in the Software without restriction, including without limitation the rights 12 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | // copies of the Software, and to permit persons to whom the Software is 14 | // furnished to do so, subject to the following conditions: 15 | // 16 | // The above copyright notice and this permission notice shall be included in 17 | // all copies or substantial portions of the Software. 18 | // 19 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 25 | // THE SOFTWARE. 26 | using System; 27 | namespace Mono.Addins.Setup 28 | { 29 | public abstract class AddinRepositoryProvider 30 | { 31 | public abstract Repository DownloadRepository (IProgressMonitor monitor, Uri absUri, AddinRepository rr); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Mono.Addins.Setup/Mono.Addins.Setup/ReferenceRepositoryEntry.cs: -------------------------------------------------------------------------------- 1 | // 2 | // ReferenceRepositoryEntry.cs 3 | // 4 | // Author: 5 | // Lluis Sanchez Gual 6 | // 7 | // Copyright (C) 2007 Novell, Inc (http://www.novell.com) 8 | // 9 | // Permission is hereby granted, free of charge, to any person obtaining 10 | // a copy of this software and associated documentation files (the 11 | // "Software"), to deal in the Software without restriction, including 12 | // without limitation the rights to use, copy, modify, merge, publish, 13 | // distribute, sublicense, and/or sell copies of the Software, and to 14 | // permit persons to whom the Software is furnished to do so, subject to 15 | // the following conditions: 16 | // 17 | // The above copyright notice and this permission notice shall be 18 | // included in all copies or substantial portions of the Software. 19 | // 20 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 21 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 22 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 23 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 24 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 25 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 26 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 27 | // 28 | 29 | using System; 30 | 31 | 32 | namespace Mono.Addins.Setup 33 | { 34 | internal class ReferenceRepositoryEntry: RepositoryEntry 35 | { 36 | DateTime lastModified; 37 | 38 | public DateTime LastModified { 39 | get { return lastModified; } 40 | set { lastModified = value; } 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /Mono.Addins.Setup/Mono.Addins.Setup/serializers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | AddinSystemConfigurationReader 4 | AddinSystemConfigurationWriter 5 | Mono.Addins.Setup 6 | AddinSystemConfigurationReaderWriter.cs 7 | true 8 | 9 | 10 | RepositoryReader 11 | RepositoryWriter 12 | Mono.Addins.Setup 13 | RepositoryReaderWriter.cs 14 | true 15 | 16 | 17 | -------------------------------------------------------------------------------- /Mono.Addins/CustomConditionAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Mono.Addins 8 | { 9 | /// 10 | /// Base class for custom condition attributes. Will be treated as a condition of the same short name, but without the "ConditionAttribute" suffix. For example, Foo.NameConditionAttribute will map to a condition with the ID "Name". 11 | /// 12 | /// 13 | /// Properties and constructor arguments must be tagged with NodeAttributes to indicate the condition attributes to which they should be mapped. 14 | /// 15 | public abstract class CustomConditionAttribute : Attribute 16 | { 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Mono.Addins/Mono.Addins.Description/PackageFormat.cs: -------------------------------------------------------------------------------- 1 | // 2 | // PackageFormat.cs 3 | // 4 | // Author: 5 | // David Karlaš 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a copy 8 | // of this software and associated documentation files (the "Software"), to deal 9 | // in the Software without restriction, including without limitation the rights 10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | // copies of the Software, and to permit persons to whom the Software is 12 | // furnished to do so, subject to the following conditions: 13 | // 14 | // The above copyright notice and this permission notice shall be included in 15 | // all copies or substantial portions of the Software. 16 | // 17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | // THE SOFTWARE. 24 | using System; 25 | namespace Mono.Addins.Description 26 | { 27 | public enum PackageFormat 28 | { 29 | Mpack, 30 | Vsix, 31 | NuGet 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Mono.Addins/Mono.Addins.Localization/NullLocalizer.cs: -------------------------------------------------------------------------------- 1 | // NullLocalizer.cs 2 | // 3 | // Author: 4 | // Lluis Sanchez Gual 5 | // 6 | // Copyright (C) 2007 Novell, Inc (http://www.novell.com) 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | // 26 | // 27 | 28 | using System; 29 | 30 | namespace Mono.Addins.Localization 31 | { 32 | class NullLocalizer: IAddinLocalizer 33 | { 34 | public static AddinLocalizer Instance = new AddinLocalizer (new NullLocalizer ()); 35 | 36 | public string GetString (string msgid) 37 | { 38 | return msgid; 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Mono.Addins/Mono.Addins.Serialization/IBinaryXmlElement.cs: -------------------------------------------------------------------------------- 1 | // 2 | // IBinaryXmlElement.cs 3 | // 4 | // Author: 5 | // Lluis Sanchez Gual 6 | // 7 | // Copyright (C) 2007 Novell, Inc (http://www.novell.com) 8 | // 9 | // Permission is hereby granted, free of charge, to any person obtaining 10 | // a copy of this software and associated documentation files (the 11 | // "Software"), to deal in the Software without restriction, including 12 | // without limitation the rights to use, copy, modify, merge, publish, 13 | // distribute, sublicense, and/or sell copies of the Software, and to 14 | // permit persons to whom the Software is furnished to do so, subject to 15 | // the following conditions: 16 | // 17 | // The above copyright notice and this permission notice shall be 18 | // included in all copies or substantial portions of the Software. 19 | // 20 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 21 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 22 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 23 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 24 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 25 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 26 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 27 | // 28 | 29 | 30 | using System; 31 | 32 | namespace Mono.Addins.Serialization 33 | { 34 | internal interface IBinaryXmlElement 35 | { 36 | void Read (BinaryXmlReader reader); 37 | void Write (BinaryXmlWriter writer); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Mono.Addins/Mono.Addins/IAddinInstaller.cs: -------------------------------------------------------------------------------- 1 | 2 | 3 | using System; 4 | 5 | namespace Mono.Addins 6 | { 7 | /// 8 | /// An add-in installation handler 9 | /// 10 | public interface IAddinInstaller 11 | { 12 | /// 13 | /// Installs a set of add-ins 14 | /// 15 | /// 16 | /// Registry where to install 17 | /// 18 | /// 19 | /// Message to show to the user when new add-ins have to be installed. 20 | /// 21 | /// 22 | /// List of IDs of the add-ins to be installed. 23 | /// 24 | void InstallAddins (AddinRegistry reg, string message, string[] addinIds); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Mono.Addins/serializers.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | AddinSystemConfigurationReader 4 | AddinSystemConfigurationWriter 5 | true 6 | Origin.Core.Addins.Setup 7 | AddinSystemConfigurationReaderWriter.cs 8 | 9 | 10 | RepositoryReader 11 | RepositoryWriter 12 | true 13 | Origin.Core.Addins.Setup 14 | RepositoryReaderWriter.cs 15 | 16 | 17 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Mono.Addins is a framework for creating extensible applications, and for creating libraries which extend those applications. 2 | 3 | Mono.Addins has been designed to be easy to use and useful for a wide range of applications: from simple applications with small extensibility needs, to complex applications which need support for large add-in structures. 4 | 5 | The main features of Mono.Addins are: 6 | 7 | * Supports descriptions of add-ins using custom attributes (for simple and common extensions) or using an xml manifest (for more complex extensibility needs). 8 | * Support for add-in hierarchies, where add-ins may depend on other add-ins. 9 | * Lazy loading of add-ins. 10 | * Provides an API for accessing to add-in descriptions, which will allow building development and documentation tools for handling add-ins. 11 | * Dynamic activation / deactivation of add-ins at run time. 12 | * Allows sharing add-in registries between applications, and defining arbitrary add-in locations. 13 | * Allows implementing extensible libraries. 14 | * Supports add-in localization. 15 | * In addition to the basic add-in engine, it provides a Setup library to be used by applications which want to offer basic add-in management features to users, such as enabling/disabling add-ins, or installing add-ins from on-line repositories. 16 | 17 | ## Building 18 | 19 | Open Mono.Addins.sln and build. 20 | 21 | ## Documentation 22 | 23 | Extensive documentation is available in this project's [wiki](https://github.com/mono/mono-addins/wiki). 24 | -------------------------------------------------------------------------------- /Samples/HelloWorld/HelloWorld.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual Studio 2008 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelloWorld", "HelloWorld\HelloWorld.csproj", "{409DA1E7-DC6D-4B00-858F-0ABF1593AE3C}" 5 | EndProject 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelloWorldAddin", "HelloWorldAddin\HelloWorldAddin.csproj", "{64A8A62E-133F-4CDB-B174-4B36E0827099}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x86 = Debug|x86 11 | Release|x86 = Release|x86 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {409DA1E7-DC6D-4B00-858F-0ABF1593AE3C}.Debug|x86.ActiveCfg = Debug|x86 15 | {409DA1E7-DC6D-4B00-858F-0ABF1593AE3C}.Debug|x86.Build.0 = Debug|x86 16 | {409DA1E7-DC6D-4B00-858F-0ABF1593AE3C}.Release|x86.ActiveCfg = Release|x86 17 | {409DA1E7-DC6D-4B00-858F-0ABF1593AE3C}.Release|x86.Build.0 = Release|x86 18 | {64A8A62E-133F-4CDB-B174-4B36E0827099}.Debug|x86.ActiveCfg = Debug|Any CPU 19 | {64A8A62E-133F-4CDB-B174-4B36E0827099}.Debug|x86.Build.0 = Debug|Any CPU 20 | {64A8A62E-133F-4CDB-B174-4B36E0827099}.Release|x86.ActiveCfg = Release|Any CPU 21 | {64A8A62E-133F-4CDB-B174-4B36E0827099}.Release|x86.Build.0 = Release|Any CPU 22 | EndGlobalSection 23 | GlobalSection(MonoDevelopProperties) = preSolution 24 | StartupItem = HelloWorld\HelloWorld.csproj 25 | Policies = $0 26 | $0.ChangeLogPolicy = $1 27 | $1.UpdateMode = None 28 | $1.inheritsSet = Mono 29 | $0.VersionControlPolicy = $2 30 | $2.inheritsSet = Mono 31 | EndGlobalSection 32 | EndGlobal 33 | -------------------------------------------------------------------------------- /Samples/HelloWorld/HelloWorld/ICommand.cs: -------------------------------------------------------------------------------- 1 | // 2 | // ICommand.cs 3 | // 4 | // Author: 5 | // Lluis Sanchez Gual 6 | // 7 | // Copyright (c) 2010 Novell, Inc (http://www.novell.com) 8 | // 9 | // Permission is hereby granted, free of charge, to any person obtaining a copy 10 | // of this software and associated documentation files (the "Software"), to deal 11 | // in the Software without restriction, including without limitation the rights 12 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | // copies of the Software, and to permit persons to whom the Software is 14 | // furnished to do so, subject to the following conditions: 15 | // 16 | // The above copyright notice and this permission notice shall be included in 17 | // all copies or substantial portions of the Software. 18 | // 19 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 25 | // THE SOFTWARE. 26 | 27 | using System; 28 | using Mono.Addins; 29 | 30 | namespace HelloWorld 31 | { 32 | // This is an interface which can be implemented by add-ins. By applying the TypeExtensionPoint we are 33 | // creating a new extension point. 34 | 35 | [TypeExtensionPoint] 36 | public interface ICommand 37 | { 38 | void Run (); 39 | } 40 | } 41 | 42 | -------------------------------------------------------------------------------- /Samples/HelloWorld/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | xbuild 3 | 4 | clean: 5 | xbuild /t:Clean -------------------------------------------------------------------------------- /Samples/HelloWorldWithManifest/HelloWorld/HelloWorld.addin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Samples/HelloWorldWithManifest/HelloWorld/ICommand.cs: -------------------------------------------------------------------------------- 1 | // 2 | // ICommand.cs 3 | // 4 | // Author: 5 | // Lluis Sanchez Gual 6 | // 7 | // Copyright (c) 2010 Novell, Inc (http://www.novell.com) 8 | // 9 | // Permission is hereby granted, free of charge, to any person obtaining a copy 10 | // of this software and associated documentation files (the "Software"), to deal 11 | // in the Software without restriction, including without limitation the rights 12 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | // copies of the Software, and to permit persons to whom the Software is 14 | // furnished to do so, subject to the following conditions: 15 | // 16 | // The above copyright notice and this permission notice shall be included in 17 | // all copies or substantial portions of the Software. 18 | // 19 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 25 | // THE SOFTWARE. 26 | 27 | using System; 28 | using Mono.Addins; 29 | 30 | namespace HelloWorld 31 | { 32 | // This is an interface which can be implemented by add-ins. 33 | 34 | public interface ICommand 35 | { 36 | void Run (); 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /Samples/HelloWorldWithManifest/HelloWorldAddin/HelloCommand.cs: -------------------------------------------------------------------------------- 1 | // 2 | // HelloCommand.cs 3 | // 4 | // Author: 5 | // Lluis Sanchez Gual 6 | // 7 | // Copyright (c) 2010 Novell, Inc (http://www.novell.com) 8 | // 9 | // Permission is hereby granted, free of charge, to any person obtaining a copy 10 | // of this software and associated documentation files (the "Software"), to deal 11 | // in the Software without restriction, including without limitation the rights 12 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | // copies of the Software, and to permit persons to whom the Software is 14 | // furnished to do so, subject to the following conditions: 15 | // 16 | // The above copyright notice and this permission notice shall be included in 17 | // all copies or substantial portions of the Software. 18 | // 19 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 25 | // THE SOFTWARE. 26 | 27 | using System; 28 | using HelloWorld; 29 | 30 | namespace HelloWorldAddin 31 | { 32 | public class HelloCommand: ICommand 33 | { 34 | public void Run () 35 | { 36 | Console.WriteLine ("Hello World!"); 37 | } 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /Samples/HelloWorldWithManifest/HelloWorldAddin/HelloWorldAddin.addin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Samples/HelloWorldWithManifest/HelloWorldWithManifest.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual Studio 2008 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelloWorld", "HelloWorld\HelloWorld.csproj", "{5F813963-DE40-433A-ABE3-71EACDF19412}" 5 | EndProject 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelloWorldAddin", "HelloWorldAddin\HelloWorldAddin.csproj", "{26C85FBC-0A97-4650-807F-E889C6D1F32F}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x86 = Debug|x86 11 | Release|x86 = Release|x86 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {26C85FBC-0A97-4650-807F-E889C6D1F32F}.Debug|x86.ActiveCfg = Debug|Any CPU 15 | {26C85FBC-0A97-4650-807F-E889C6D1F32F}.Debug|x86.Build.0 = Debug|Any CPU 16 | {26C85FBC-0A97-4650-807F-E889C6D1F32F}.Release|x86.ActiveCfg = Release|Any CPU 17 | {26C85FBC-0A97-4650-807F-E889C6D1F32F}.Release|x86.Build.0 = Release|Any CPU 18 | {5F813963-DE40-433A-ABE3-71EACDF19412}.Debug|x86.ActiveCfg = Debug|x86 19 | {5F813963-DE40-433A-ABE3-71EACDF19412}.Debug|x86.Build.0 = Debug|x86 20 | {5F813963-DE40-433A-ABE3-71EACDF19412}.Release|x86.ActiveCfg = Release|x86 21 | {5F813963-DE40-433A-ABE3-71EACDF19412}.Release|x86.Build.0 = Release|x86 22 | EndGlobalSection 23 | GlobalSection(MonoDevelopProperties) = preSolution 24 | StartupItem = HelloWorld\HelloWorld.csproj 25 | Policies = $0 26 | $0.ChangeLogPolicy = $1 27 | $1.UpdateMode = None 28 | $1.inheritsSet = Mono 29 | EndGlobalSection 30 | EndGlobal 31 | -------------------------------------------------------------------------------- /Samples/HelloWorldWithManifest/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | xbuild 3 | 4 | clean: 5 | xbuild /t:Clean -------------------------------------------------------------------------------- /Samples/Makefile: -------------------------------------------------------------------------------- 1 | SUBDIRS = \ 2 | HelloWorld \ 3 | HelloWorldWithManifest \ 4 | WriterService \ 5 | TextEditor 6 | 7 | all: 8 | for subdir in $(SUBDIRS); do \ 9 | cd $$subdir && make && cd ..; \ 10 | done 11 | 12 | clean: 13 | for subdir in $(SUBDIRS); do \ 14 | cd $$subdir && make clean && cd ..; \ 15 | done 16 | 17 | -------------------------------------------------------------------------------- /Samples/Samples.mdw: -------------------------------------------------------------------------------- 1 | 2 | 3 | HelloWorld/HelloWorld.sln 4 | TextEditor/TextEditor.sln 5 | WriterService/WriterService.sln 6 | HelloWorldWithManifest/HelloWorldWithManifest.sln 7 | TextEditorSWF/TextEditorSWF.sln 8 | 9 | -------------------------------------------------------------------------------- /Samples/TextEditor/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | xbuild 3 | 4 | clean: 5 | xbuild /t:Clean -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditor.CompilerService.CSharp/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | 4 | // Information about this assembly is defined by the following 5 | // attributes. 6 | // 7 | // change them to the information which is associated with the assembly 8 | // you compile. 9 | 10 | [assembly: AssemblyTitle("")] 11 | [assembly: AssemblyDescription("")] 12 | [assembly: AssemblyConfiguration("")] 13 | [assembly: AssemblyCompany("")] 14 | [assembly: AssemblyProduct("")] 15 | [assembly: AssemblyCopyright("")] 16 | [assembly: AssemblyTrademark("")] 17 | [assembly: AssemblyCulture("")] 18 | 19 | // The assembly version has following format : 20 | // 21 | // Major.Minor.Build.Revision 22 | // 23 | // You can specify all values by your own or you can build default build and revision 24 | // numbers with the '*' character (the default): 25 | 26 | [assembly: AssemblyVersion("1.0.*")] 27 | 28 | // The following attributes specify the key for the sign of your assembly. See the 29 | // .NET Framework documentation for more information about signing. 30 | // This is not required, if you don't want signing let these attributes like they're. 31 | [assembly: AssemblyDelaySign(false)] 32 | [assembly: AssemblyKeyFile("")] 33 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditor.CompilerService.CSharp/CSharpCompiler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Diagnostics; 4 | using Mono.Addins; 5 | using TextEditor.CompilerService; 6 | 7 | [assembly:Addin] 8 | [assembly:AddinDependency ("TextEditor.CompilerService", "1.0")] 9 | 10 | namespace TextEditor.CompilerService.CSharp 11 | { 12 | [Extension] 13 | public class CSharpCompiler: ICompiler 14 | { 15 | public bool CanCompile (string file) 16 | { 17 | return Path.GetExtension (file) == ".cs"; 18 | } 19 | 20 | public string Compile (string file, string outFile) 21 | { 22 | string messages = ""; 23 | 24 | ProcessStartInfo ps = new ProcessStartInfo (); 25 | ps.FileName = "mcs"; 26 | ps.Arguments = "file"; 27 | ps.UseShellExecute = false; 28 | ps.RedirectStandardOutput = true; 29 | Process p = Process.Start (ps); 30 | 31 | string line = null; 32 | while ((line = p.StandardOutput.ReadLine ()) != null) { 33 | messages += line + "\n"; 34 | } 35 | return messages; 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditor.CompilerService/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | 4 | // Information about this assembly is defined by the following 5 | // attributes. 6 | // 7 | // change them to the information which is associated with the assembly 8 | // you compile. 9 | 10 | [assembly: AssemblyTitle("")] 11 | [assembly: AssemblyDescription("")] 12 | [assembly: AssemblyConfiguration("")] 13 | [assembly: AssemblyCompany("")] 14 | [assembly: AssemblyProduct("")] 15 | [assembly: AssemblyCopyright("")] 16 | [assembly: AssemblyTrademark("")] 17 | [assembly: AssemblyCulture("")] 18 | 19 | // The assembly version has following format : 20 | // 21 | // Major.Minor.Build.Revision 22 | // 23 | // You can specify all values by your own or you can build default build and revision 24 | // numbers with the '*' character (the default): 25 | 26 | [assembly: AssemblyVersion("1.0.*")] 27 | 28 | // The following attributes specify the key for the sign of your assembly. See the 29 | // .NET Framework documentation for more information about signing. 30 | // This is not required, if you don't want signing let these attributes like they're. 31 | [assembly: AssemblyDelaySign(false)] 32 | [assembly: AssemblyKeyFile("")] 33 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditor.CompilerService/CompilerManager.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | using Mono.Addins; 4 | 5 | namespace TextEditor.CompilerService 6 | { 7 | public class CompilerManager 8 | { 9 | public static void Run (string file) 10 | { 11 | ICompiler[] compilers = (ICompiler[]) AddinManager.GetExtensionObjects (typeof(ICompiler)); 12 | 13 | ICompiler compiler = null; 14 | foreach (ICompiler comp in compilers) { 15 | if (comp.CanCompile (file)) { 16 | compiler = comp; 17 | break; 18 | } 19 | } 20 | if (compiler == null) { 21 | string msg = "No compiler available for this kind of file."; 22 | Gtk.MessageDialog dlg = new Gtk.MessageDialog (TextEditorApp.MainWindow, Gtk.DialogFlags.Modal, Gtk.MessageType.Error, Gtk.ButtonsType.Close, msg); 23 | dlg.Run (); 24 | dlg.Destroy (); 25 | return; 26 | } 27 | 28 | string messages = compiler.Compile (file, file + ".exe"); 29 | 30 | TextEditorApp.MainWindow.ConsoleWrite ("Compilation finished.\n"); 31 | TextEditorApp.MainWindow.ConsoleWrite (messages); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditor.CompilerService/ICompiler.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | using Mono.Addins; 4 | 5 | namespace TextEditor.CompilerService 6 | { 7 | [TypeExtensionPoint] 8 | public interface ICompiler 9 | { 10 | bool CanCompile (string file); 11 | string Compile (string file, string outFile); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditor.CompilerService/RunCommand.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | using TextEditor; 4 | using Mono.Addins; 5 | 6 | namespace TextEditor.CompilerService 7 | { 8 | public class RunCommand: ICommand 9 | { 10 | public void Run () 11 | { 12 | CompilerManager.Run (TextEditorApp.OpenFileName); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditor.CompilerService/TextEditor.CompilerService.addin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditor.Xml/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | 4 | // Information about this assembly is defined by the following 5 | // attributes. 6 | // 7 | // change them to the information which is associated with the assembly 8 | // you compile. 9 | 10 | [assembly: AssemblyTitle("")] 11 | [assembly: AssemblyDescription("")] 12 | [assembly: AssemblyConfiguration("")] 13 | [assembly: AssemblyCompany("")] 14 | [assembly: AssemblyProduct("")] 15 | [assembly: AssemblyCopyright("")] 16 | [assembly: AssemblyTrademark("")] 17 | [assembly: AssemblyCulture("")] 18 | 19 | // The assembly version has following format : 20 | // 21 | // Major.Minor.Build.Revision 22 | // 23 | // You can specify all values by your own or you can build default build and revision 24 | // numbers with the '*' character (the default): 25 | 26 | [assembly: AssemblyVersion("1.0.0.0")] 27 | 28 | // The following attributes specify the key for the sign of your assembly. See the 29 | // .NET Framework documentation for more information about signing. 30 | // This is not required, if you don't want signing let these attributes like they're. 31 | [assembly: AssemblyDelaySign(false)] 32 | [assembly: AssemblyKeyFile("")] 33 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditor.Xml/EmptyFile.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditor.Xml/FormatXmlCommand.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | using System.IO; 4 | using System.Xml; 5 | using TextEditor; 6 | using Mono.Addins; 7 | 8 | [assembly: Addin (Namespace="TextEditor")] 9 | [assembly: AddinDependency ("Core", "1.0")] 10 | 11 | 12 | namespace TextEditor.Xml 13 | { 14 | public class FormatXmlCommand: ICommand 15 | { 16 | public void Run () 17 | { 18 | string text = TextEditorApp.MainWindow.View.Buffer.Text; 19 | XmlDocument doc = new XmlDocument (); 20 | try { 21 | doc.LoadXml (text); 22 | StringWriter sw = new StringWriter (); 23 | XmlTextWriter tw = new XmlTextWriter (sw); 24 | tw.Formatting = Formatting.Indented; 25 | doc.Save (tw); 26 | TextEditorApp.MainWindow.View.Buffer.Text = sw.ToString (); 27 | } 28 | catch { 29 | Gtk.MessageDialog dlg = new Gtk.MessageDialog (TextEditorApp.MainWindow, Gtk.DialogFlags.Modal, Gtk.MessageType.Error, Gtk.ButtonsType.Close, "Error parsing XML."); 30 | dlg.Run (); 31 | dlg.Destroy (); 32 | } 33 | } 34 | } 35 | 36 | class Subno: TextEditor.CopyCommand 37 | { 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditor.Xml/TextEditor.Xml.addin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditor/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Gtk; 3 | using Mono.Addins; 4 | 5 | namespace TextEditor 6 | { 7 | class MainClass 8 | { 9 | public static void Main (string[] args) 10 | { 11 | Application.Init (); 12 | 13 | AddinManager.AddinLoadError += OnLoadError; 14 | AddinManager.AddinLoaded += OnLoad; 15 | AddinManager.AddinUnloaded += OnUnload; 16 | 17 | AddinManager.Initialize (); 18 | AddinManager.Registry.Update (null); 19 | AddinManager.ExtensionChanged += OnExtensionChange; 20 | 21 | 22 | MainWindow win = new MainWindow (); 23 | 24 | foreach (ICommand cmd in AddinManager.GetExtensionObjects ("/TextEditor/StartupCommands")) 25 | cmd.Run (); 26 | 27 | win.Show (); 28 | Application.Run (); 29 | } 30 | 31 | static void OnLoadError (object s, AddinErrorEventArgs args) 32 | { 33 | Console.WriteLine ("Add-in error: " + args.Message); 34 | Console.WriteLine (args.AddinId); 35 | Console.WriteLine (args.Exception); 36 | } 37 | 38 | static void OnLoad (object s, AddinEventArgs args) 39 | { 40 | Console.WriteLine ("Add-in loaded: " + args.AddinId); 41 | } 42 | 43 | static void OnUnload (object s, AddinEventArgs args) 44 | { 45 | Console.WriteLine ("Add-in unloaded: " + args.AddinId); 46 | } 47 | 48 | static void OnExtensionChange (object s, ExtensionEventArgs args) 49 | { 50 | Console.WriteLine ("Extension changed: " + args.Path); 51 | } 52 | } 53 | } -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditor/gtk-gui/generated.cs: -------------------------------------------------------------------------------- 1 | 2 | // This file has been generated by the GUI designer. Do not modify. 3 | namespace Stetic 4 | { 5 | internal class Gui 6 | { 7 | private static bool initialized; 8 | 9 | internal static void Initialize (Gtk.Widget iconRenderer) 10 | { 11 | if ((Stetic.Gui.initialized == false)) { 12 | Stetic.Gui.initialized = true; 13 | } 14 | } 15 | } 16 | 17 | internal class ActionGroups 18 | { 19 | public static Gtk.ActionGroup GetActionGroup (System.Type type) 20 | { 21 | return Stetic.ActionGroups.GetActionGroup (type.FullName); 22 | } 23 | 24 | public static Gtk.ActionGroup GetActionGroup (string name) 25 | { 26 | return null; 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditor/gtk-gui/gui.stetic: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 2.10.3 5 | 6 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditorLib/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using Mono.Addins; 4 | 5 | // Information about this assembly is defined by the following 6 | // attributes. 7 | // 8 | // change them to the information which is associated with the assembly 9 | // you compile. 10 | 11 | [assembly: AssemblyTitle("")] 12 | [assembly: AssemblyDescription("")] 13 | [assembly: AssemblyConfiguration("")] 14 | [assembly: AssemblyCompany("")] 15 | [assembly: AssemblyProduct("")] 16 | [assembly: AssemblyCopyright("")] 17 | [assembly: AssemblyTrademark("")] 18 | [assembly: AssemblyCulture("")] 19 | 20 | // The assembly version has following format : 21 | // 22 | // Major.Minor.Build.Revision 23 | // 24 | // You can specify all values by your own or you can build default build and revision 25 | // numbers with the '*' character (the default): 26 | 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | 29 | // The following attributes specify the key for the sign of your assembly. See the 30 | // .NET Framework documentation for more information about signing. 31 | // This is not required, if you don't want signing let these attributes like they're. 32 | [assembly: AssemblyDelaySign(false)] 33 | [assembly: AssemblyKeyFile("")] 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditorLib/Commands/CopyCommand.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | 4 | namespace TextEditor 5 | { 6 | public class CopyCommand: ICommand 7 | { 8 | public void Run () 9 | { 10 | Gtk.Clipboard clipboard = Gtk.Clipboard.Get (Gdk.Atom.Intern ("CLIPBOARD", false)); 11 | TextEditorApp.MainWindow.View.Buffer.CopyClipboard (clipboard); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditorLib/Commands/CutCommand.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | 4 | namespace TextEditor 5 | { 6 | 7 | 8 | public class CutCommand: ICommand 9 | { 10 | public void Run () 11 | { 12 | Gtk.Clipboard clipboard = Gtk.Clipboard.Get (Gdk.Atom.Intern ("CLIPBOARD", false)); 13 | TextEditorApp.MainWindow.View.Buffer.CutClipboard (clipboard, true); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditorLib/Commands/ExitCommand.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | 4 | namespace TextEditor 5 | { 6 | public class ExitCommand: ICommand 7 | { 8 | public void Run () 9 | { 10 | Gtk.Application.Quit (); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditorLib/Commands/NewCommand.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | 4 | namespace TextEditor 5 | { 6 | public class NewCommand: ICommand 7 | { 8 | public void Run () 9 | { 10 | TextEditorApp.NewFile (""); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditorLib/Commands/OpenCommand.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | using System.IO; 4 | 5 | namespace TextEditor 6 | { 7 | public class OpenCommand: ICommand 8 | { 9 | public void Run () 10 | { 11 | Gtk.FileChooserDialog fcd = new Gtk.FileChooserDialog ("Open File", null, Gtk.FileChooserAction.Open); 12 | fcd.AddButton (Gtk.Stock.Cancel, Gtk.ResponseType.Cancel); 13 | fcd.AddButton (Gtk.Stock.Open, Gtk.ResponseType.Ok); 14 | fcd.DefaultResponse = Gtk.ResponseType.Ok; 15 | fcd.SelectMultiple = false; 16 | 17 | Gtk.ResponseType response = (Gtk.ResponseType) fcd.Run (); 18 | if (response == Gtk.ResponseType.Ok) 19 | TextEditorApp.OpenFile (fcd.Filename); 20 | fcd.Destroy (); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditorLib/Commands/PasteCommand.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | 4 | namespace TextEditor 5 | { 6 | public class PasteCommand: ICommand 7 | { 8 | public void Run () 9 | { 10 | Gtk.Clipboard clipboard = Gtk.Clipboard.Get (Gdk.Atom.Intern ("CLIPBOARD", false)); 11 | TextEditorApp.MainWindow.View.Buffer.PasteClipboard (clipboard); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditorLib/Commands/SaveCommand.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | 4 | namespace TextEditor 5 | { 6 | public class SaveCommand: ICommand 7 | { 8 | public void Run () 9 | { 10 | TextEditorApp.SaveFile (); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditorLib/Commands/SetupCommand.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | using Mono.Addins.Gui; 4 | 5 | namespace TextEditor 6 | { 7 | public class SetupCommand: ICommand 8 | { 9 | public void Run () 10 | { 11 | AddinManagerWindow.Run (TextEditorApp.MainWindow); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditorLib/ExtensionNodes/FileTemplateNode.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | using System.IO; 4 | using Mono.Addins; 5 | 6 | namespace TextEditor 7 | { 8 | public class FileTemplateNode: ExtensionNode 9 | { 10 | [NodeAttribute] 11 | string resource; 12 | 13 | [NodeAttribute] 14 | string name; 15 | 16 | public string Name { 17 | get { return name != null ? name : Id; } 18 | } 19 | 20 | public virtual string GetContent () 21 | { 22 | using (StreamReader sr = new StreamReader(Addin.GetResource (resource))) { 23 | return sr.ReadToEnd (); 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditorLib/ExtensionNodes/MenuItemNode.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | using Mono.Addins; 4 | 5 | namespace TextEditor 6 | { 7 | [ExtensionNode ("MenuItem")] 8 | public class MenuItemNode: MenuNode 9 | { 10 | [NodeAttribute] 11 | string label; 12 | 13 | [NodeAttribute] 14 | string icon; 15 | 16 | [NodeAttribute] 17 | string commandType; 18 | 19 | static Gtk.AccelGroup accelGroup = new Gtk.AccelGroup (); 20 | 21 | public override Gtk.MenuItem GetMenuItem () 22 | { 23 | Gtk.MenuItem item; 24 | if (icon != null) 25 | item = new Gtk.ImageMenuItem (icon, accelGroup); 26 | else 27 | item = new Gtk.MenuItem (label); 28 | item.Activated += OnClicked; 29 | return item; 30 | } 31 | 32 | void OnClicked (object s, EventArgs a) 33 | { 34 | ICommand command = (ICommand) Addin.CreateInstance (commandType); 35 | command.Run (); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditorLib/ExtensionNodes/MenuNode.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | using Mono.Addins; 4 | 5 | namespace TextEditor 6 | { 7 | public abstract class MenuNode: ExtensionNode 8 | { 9 | // Abstract method to be implemented by subclasses, and which 10 | // should return a menu item. 11 | public abstract Gtk.MenuItem GetMenuItem (); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditorLib/ExtensionNodes/MenuSeparatorNode.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | using Mono.Addins; 4 | 5 | namespace TextEditor 6 | { 7 | [ExtensionNode ("MenuSeparator")] 8 | public class MenuSeparatorNode: MenuNode 9 | { 10 | public override Gtk.MenuItem GetMenuItem () 11 | { 12 | return new Gtk.SeparatorMenuItem (); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditorLib/ExtensionNodes/SubmenuNode.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | using Mono.Addins; 4 | 5 | namespace TextEditor 6 | { 7 | [ExtensionNode ("Menu")] 8 | [ExtensionNodeChild (typeof(MenuItemNode))] 9 | [ExtensionNodeChild (typeof(MenuSeparatorNode))] 10 | [ExtensionNodeChild (typeof(SubmenuNode))] 11 | public class SubmenuNode: MenuNode 12 | { 13 | [NodeAttribute] 14 | string label; 15 | 16 | public override Gtk.MenuItem GetMenuItem () 17 | { 18 | Gtk.MenuItem it = new Gtk.MenuItem (label); 19 | Gtk.Menu submenu = new Gtk.Menu (); 20 | foreach (MenuNode node in ChildNodes) 21 | submenu.Insert (node.GetMenuItem (), -1); 22 | it.Submenu = submenu; 23 | return it; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditorLib/ExtensionNodes/TemplateCategoryNode.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | using Mono.Addins; 4 | 5 | namespace TextEditor 6 | { 7 | public class TemplateCategoryNode: ExtensionNode 8 | { 9 | [NodeAttribute] 10 | string name; 11 | 12 | public string Name { 13 | get { 14 | if (name != null && name.Length > 0) 15 | return name; 16 | else 17 | return Id; 18 | } 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditorLib/ExtensionNodes/ToolButtonNode.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | using Mono.Addins; 4 | 5 | namespace TextEditor 6 | { 7 | public class ToolButtonNode: ToolbarNode 8 | { 9 | [NodeAttribute] 10 | string icon; 11 | 12 | [NodeAttribute] 13 | string commandType; 14 | 15 | public override Gtk.ToolItem GetToolItem () 16 | { 17 | Gtk.ToolButton but = new Gtk.ToolButton (icon); 18 | but.Clicked += OnClicked; 19 | return but; 20 | } 21 | 22 | void OnClicked (object s, EventArgs a) 23 | { 24 | ICommand command = (ICommand) Addin.CreateInstance (commandType); 25 | command.Run (); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditorLib/ExtensionNodes/ToolSeparatorNode.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | 4 | namespace TextEditor 5 | { 6 | public class ToolSeparatorNode: ToolbarNode 7 | { 8 | public override Gtk.ToolItem GetToolItem () 9 | { 10 | return new Gtk.SeparatorToolItem (); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditorLib/ExtensionNodes/ToolbarNode.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | using Mono.Addins; 4 | 5 | namespace TextEditor 6 | { 7 | public abstract class ToolbarNode: ExtensionNode 8 | { 9 | public abstract Gtk.ToolItem GetToolItem (); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditorLib/ICommand.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | using Mono.Addins; 4 | 5 | namespace TextEditor 6 | { 7 | [TypeExtensionPoint ("/TextEditor/StartupCommands")] 8 | public interface ICommand 9 | { 10 | void Run (); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditorLib/OpenFileCondition.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | using System.IO; 4 | using Mono.Addins; 5 | 6 | namespace TextEditor 7 | { 8 | public class OpenFileCondition: ConditionType 9 | { 10 | public OpenFileCondition () 11 | { 12 | // It's important to notify changes in the status of a condition, 13 | // to make sure the extension points are properly updated. 14 | TextEditorApp.OpenFileChanged += delegate { 15 | NotifyChanged (); 16 | }; 17 | } 18 | 19 | public override bool Evaluate (NodeElement conditionNode) 20 | { 21 | // Get the required extension value from an attribute, 22 | // and check againts the extension of the currently open document 23 | string val = conditionNode.GetAttribute ("extension"); 24 | if (val.Length > 0) { 25 | string ext = Path.GetExtension (TextEditorApp.OpenFileName); 26 | foreach (string requiredExtension in val.Split (',')) 27 | if (ext == "." + requiredExtension) 28 | return true; 29 | } 30 | return false; 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditorLib/Templates/ChangeLogTemplate.txt: -------------------------------------------------------------------------------- 1 | yyyy-mm-dd Developer name 2 | 3 | * File name: change done 4 | 5 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditorLib/Templates/DotConfigTemplate.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Samples/TextEditor/TextEditorLib/Templates/WorkReport.txt: -------------------------------------------------------------------------------- 1 | 2 | Work done last week: 3 | * ... 4 | * ... 5 | 6 | Work to do next week: 7 | * ... 8 | * ... -------------------------------------------------------------------------------- /Samples/TextEditorSWF/DateAddin/DateSnippet.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using SnippetsAddin; 6 | using Mono.Addins; 7 | 8 | [assembly: Addin] 9 | [assembly: AddinDependency ("TextEditor.Core", "1.0")] 10 | [assembly: AddinDependency ("TextEditor.SnippetsAddin", "1.0")] 11 | 12 | namespace DateAddin 13 | { 14 | [Extension] 15 | public class DateSnippet: ISnippetProvider 16 | { 17 | public string GetText (string shortcut) 18 | { 19 | if (shortcut == "date") 20 | return DateTime.Now.ToShortDateString (); 21 | else 22 | return null; 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Samples/TextEditorSWF/DateAddin/InsertDateCommand.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using TextEditorSWF.ExtensionModel; 6 | using TextEditorSWF; 7 | using System.Windows.Forms; 8 | 9 | namespace DateAddin 10 | { 11 | [Command ("Insert Date")] 12 | class InsertDateCommand: ICommand 13 | { 14 | public void Run () 15 | { 16 | Program.MainWindow.Editor.SelectedText = DateTime.Now.ToShortDateString (); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Samples/TextEditorSWF/DateAddin/MainMenu.addin: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Samples/TextEditorSWF/DateAddin/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle ("DateAddin")] 9 | [assembly: AssemblyDescription ("")] 10 | [assembly: AssemblyConfiguration ("")] 11 | [assembly: AssemblyCompany ("")] 12 | [assembly: AssemblyProduct ("DateAddin")] 13 | [assembly: AssemblyCopyright ("Copyright © 2010")] 14 | [assembly: AssemblyTrademark ("")] 15 | [assembly: AssemblyCulture ("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible (false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid ("1ef9e97b-cb49-4c26-8eb0-734c3ecb4eb2")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion ("1.0.0.0")] 36 | [assembly: AssemblyFileVersion ("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /Samples/TextEditorSWF/SnippetsAddin/ISnippetProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Mono.Addins; 6 | 7 | namespace SnippetsAddin 8 | { 9 | /// 10 | /// Extension point for snippet providers. 11 | /// 12 | [TypeExtensionPoint] 13 | public interface ISnippetProvider 14 | { 15 | string GetText (string shortcut); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Samples/TextEditorSWF/SnippetsAddin/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle ("SnippetsAddin")] 9 | [assembly: AssemblyDescription ("")] 10 | [assembly: AssemblyConfiguration ("")] 11 | [assembly: AssemblyCompany ("")] 12 | [assembly: AssemblyProduct ("SnippetsAddin")] 13 | [assembly: AssemblyCopyright ("Copyright © 2010")] 14 | [assembly: AssemblyTrademark ("")] 15 | [assembly: AssemblyCulture ("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible (false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid ("5c440446-9242-4848-af10-5faf2cbad647")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion ("1.0.0.0")] 36 | [assembly: AssemblyFileVersion ("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /Samples/TextEditorSWF/SnippetsAddin/StockSnippetProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Mono.Addins; 6 | using SnippetsAddin; 7 | 8 | [assembly: ExtensionPoint ("/TextEditor/StockSnippets", ExtensionAttributeType = typeof (SnippetsAddin.SnippetAttribute))] 9 | 10 | namespace SnippetsAddin 11 | { 12 | [Extension] 13 | class StockSnippetProvider: ISnippetProvider 14 | { 15 | public string GetText (string shortcut) 16 | { 17 | foreach (ExtensionNode node in AddinManager.GetExtensionNodes ("/TextEditor/StockSnippets")) { 18 | if (node.Data.Shortcut == shortcut) 19 | return node.Data.Text; 20 | } 21 | return null; 22 | } 23 | } 24 | 25 | [AttributeUsage (AttributeTargets.Assembly, AllowMultiple=true)] 26 | public class SnippetAttribute : CustomExtensionAttribute 27 | { 28 | public SnippetAttribute () 29 | { 30 | } 31 | 32 | public SnippetAttribute ([NodeAttribute ("Shortcut")] string shortcut, [NodeAttribute ("Text")] string text) 33 | { 34 | Shortcut = shortcut; 35 | Text = Text; 36 | } 37 | 38 | [NodeAttribute] 39 | public string Shortcut { get; set; } 40 | 41 | [NodeAttribute] 42 | public string Text { get; set; } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Samples/TextEditorSWF/SnippetsAddin/StockSnippets.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using SnippetsAddin; 3 | 4 | [assembly: Snippet ("for", "for (int n=0; n\n}")] 5 | [assembly: Snippet ("foreach", "foreach (var item in col)\n{\n\t<|>\n}")] 6 | -------------------------------------------------------------------------------- /Samples/TextEditorSWF/TextEditorSWF/CommandManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Windows.Forms; 6 | using TextEditorSWF.ExtensionModel; 7 | using Mono.Addins; 8 | 9 | namespace TextEditorSWF 10 | { 11 | /// 12 | /// Manages commands, menus and toolbars 13 | /// 14 | static class CommandManager 15 | { 16 | /// 17 | /// Returns the list of items for the main menu 18 | /// 19 | public static IEnumerable GetMainMenuItems () 20 | { 21 | foreach (IUserInterfaceItem item in AddinManager.GetExtensionNodes ("/TextEditor/MainMenu")) 22 | yield return item.CreateMenuItem (); 23 | } 24 | 25 | /// 26 | /// Returns the list of items for the main toolbar 27 | /// 28 | public static IEnumerable GetToolbarItems () 29 | { 30 | foreach (IUserInterfaceItem item in AddinManager.GetExtensionNodes ("/TextEditor/Toolbar")) 31 | yield return item.CreateButton (); 32 | } 33 | 34 | /// 35 | /// Returns the extension node for the provided command identifier. 36 | /// 37 | internal static CommandExtensionNode GetCommand (string id) 38 | { 39 | foreach (CommandExtensionNode cmd in AddinManager.GetExtensionNodes (typeof (ICommand))) { 40 | if (cmd.Id == id) 41 | return cmd; 42 | } 43 | throw new InvalidOperationException ("Unknown command: " + id); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Samples/TextEditorSWF/TextEditorSWF/Commands/CopyCommand.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using TextEditorSWF.ExtensionModel; 6 | 7 | namespace TextEditorSWF.Commands 8 | { 9 | /// 10 | /// The Copy command 11 | /// 12 | [Command ("Copy", IconResource = "TextEditorSWF.Icons.copy.png", Id="Copy")] 13 | class CopyCommand : ICommand 14 | { 15 | public void Run () 16 | { 17 | Program.MainWindow.Editor.Copy (); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Samples/TextEditorSWF/TextEditorSWF/Commands/CutCommand.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using TextEditorSWF.ExtensionModel; 6 | 7 | namespace TextEditorSWF.Commands 8 | { 9 | /// 10 | /// The cut command. 11 | /// 12 | [Command ("Cut", IconResource = "TextEditorSWF.Icons.cut.png", Id = "Cut")] 13 | class CutCommand : ICommand 14 | { 15 | public void Run () 16 | { 17 | Program.MainWindow.Editor.Cut (); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Samples/TextEditorSWF/TextEditorSWF/Commands/ExitCommand.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using TextEditorSWF.ExtensionModel; 6 | 7 | namespace TextEditorSWF.Commands 8 | { 9 | /// 10 | /// The exit command. 11 | /// 12 | [Command ("Exit", Id = "Exit")] 13 | class ExitCommand : ICommand 14 | { 15 | public void Run () 16 | { 17 | Environment.Exit (0); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Samples/TextEditorSWF/TextEditorSWF/Commands/MainMenu.addin: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Samples/TextEditorSWF/TextEditorSWF/Commands/NewCommand.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using TextEditorSWF.ExtensionModel; 6 | 7 | namespace TextEditorSWF.Commands 8 | { 9 | /// 10 | /// The New command. 11 | /// 12 | [Command ("New", IconResource = "TextEditorSWF.Icons.new.png", Id = "New")] 13 | class NewCommand : ICommand 14 | { 15 | public void Run () 16 | { 17 | Program.MainWindow.NewFile (); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Samples/TextEditorSWF/TextEditorSWF/Commands/OpenCommand.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using TextEditorSWF.ExtensionModel; 6 | 7 | namespace TextEditorSWF.Commands 8 | { 9 | /// 10 | /// The Open command. 11 | /// 12 | [Command ("Open", IconResource = "TextEditorSWF.Icons.open.png", Id = "Open")] 13 | class OpenCommand : ICommand 14 | { 15 | public void Run () 16 | { 17 | Program.MainWindow.OpenFile (); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Samples/TextEditorSWF/TextEditorSWF/Commands/PasteCommand.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using TextEditorSWF.ExtensionModel; 6 | 7 | namespace TextEditorSWF.Commands 8 | { 9 | /// 10 | /// The Paste command. 11 | /// 12 | [Command ("Paste", IconResource = "TextEditorSWF.Icons.paste.png", Id = "Paste")] 13 | class PasteCommand : ICommand 14 | { 15 | public void Run () 16 | { 17 | Program.MainWindow.Editor.Paste (); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Samples/TextEditorSWF/TextEditorSWF/Commands/SaveCommand.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using TextEditorSWF.ExtensionModel; 6 | 7 | namespace TextEditorSWF.Commands 8 | { 9 | /// 10 | /// The Save command. 11 | /// 12 | [Command ("Save", IconResource = "TextEditorSWF.Icons.save.png", Id = "Save")] 13 | class SaveCommand : ICommand 14 | { 15 | public void Run () 16 | { 17 | Program.MainWindow.SaveFile (); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Samples/TextEditorSWF/TextEditorSWF/Commands/Toolbar.addin: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 |