Improved plugin settings support

This commit is contained in:
Stone-Red-Code
2021-07-14 22:43:01 +02:00
parent aaced7a569
commit 23a31ae5d0
133 changed files with 856 additions and 379 deletions
+28 -5
View File
@@ -1,4 +1,5 @@
using DesktopMagicPluginAPI;
using DesktopMagicPluginAPI.Inputs;
using System;
using System.Diagnostics;
using System.Drawing;
@@ -7,17 +8,39 @@ namespace DesktopMagicPlugin.Test
{
public class PluginScript : Plugin
{
[Element("Heading")]
private Heading heading = new Heading("test");
[Element("Slider:")]
private Slider slider = new Slider(1, 23, 4);
[Element("Text:")]
private TextBox textBox = new TextBox("abc");
public PluginScript()
{
slider.OnValueChanged += Slider_OnValueChanged;
textBox.OnValueChanged += TextBox_OnValueChanged;
}
private void TextBox_OnValueChanged()
{
Debug.WriteLine("TextBox value changed:" + textBox.Value);
}
private void Slider_OnValueChanged()
{
Debug.WriteLine("Slider value changed:" + slider.Value);
}
public override Bitmap Main()
{
Bitmap bmp = new Bitmap(100, 100);
using Graphics g = Graphics.FromImage(bmp);
g.Clear(Application.Color);
g.DrawString(slider.Value.ToString(), new Font("arial", 10), Brushes.Black, new PointF(0, 0));
slider.Value++;
return bmp;
}
public override void OnMouseClick(Point position)
{
Debug.WriteLine(position);
}
}
}
@@ -8,7 +8,7 @@
".NETCoreApp,Version=v5.0": {
"DesktopMagicPlugin.Test/1.0.0": {
"dependencies": {
"DesktopMagicPluginAPI": "1.0.0",
"DesktopMagicPluginAPI": "0.0.0.1",
"System.Drawing.Common": "5.0.2"
},
"runtime": {
@@ -60,7 +60,7 @@
}
}
},
"DesktopMagicPluginAPI/1.0.0": {
"DesktopMagicPluginAPI/0.0.0.1": {
"dependencies": {
"System.Drawing.Common": "5.0.2"
},
@@ -97,7 +97,7 @@
"path": "system.drawing.common/5.0.2",
"hashPath": "system.drawing.common.5.0.2.nupkg.sha512"
},
"DesktopMagicPluginAPI/1.0.0": {
"DesktopMagicPluginAPI/0.0.0.1": {
"type": "project",
"serviceable": false,
"sha512": ""
@@ -1 +1 @@
6563cf0e841cae8437271556bdf55cc1001baf45
b2d81a1822e345897b3638c6df1a9a5fe1575c17
@@ -13,3 +13,18 @@ C:\Users\David\Google Drive\Programmieren\DesktopMagic\DesktopMagicPlugin.Test\o
C:\Users\David\Google Drive\Programmieren\DesktopMagic\DesktopMagicPlugin.Test\obj\Debug\net5.0\DesktopMagicPlugin.Test.dll
C:\Users\David\Google Drive\Programmieren\DesktopMagic\DesktopMagicPlugin.Test\obj\Debug\net5.0\ref\DesktopMagicPlugin.Test.dll
C:\Users\David\Google Drive\Programmieren\DesktopMagic\DesktopMagicPlugin.Test\obj\Debug\net5.0\DesktopMagicPlugin.Test.pdb
C:\Users\David\Programmieren\DesktopMagic\src\DesktopMagicPlugin.Test\bin\Debug\net5.0\DesktopMagicPlugin.Test.deps.json
C:\Users\David\Programmieren\DesktopMagic\src\DesktopMagicPlugin.Test\bin\Debug\net5.0\DesktopMagicPlugin.Test.dll
C:\Users\David\Programmieren\DesktopMagic\src\DesktopMagicPlugin.Test\bin\Debug\net5.0\ref\DesktopMagicPlugin.Test.dll
C:\Users\David\Programmieren\DesktopMagic\src\DesktopMagicPlugin.Test\bin\Debug\net5.0\DesktopMagicPlugin.Test.pdb
C:\Users\David\Programmieren\DesktopMagic\src\DesktopMagicPlugin.Test\bin\Debug\net5.0\DesktopMagicPluginAPI.dll
C:\Users\David\Programmieren\DesktopMagic\src\DesktopMagicPlugin.Test\bin\Debug\net5.0\DesktopMagicPluginAPI.pdb
C:\Users\David\Programmieren\DesktopMagic\src\DesktopMagicPlugin.Test\obj\Debug\net5.0\DesktopMagicPlugin.Test.csproj.AssemblyReference.cache
C:\Users\David\Programmieren\DesktopMagic\src\DesktopMagicPlugin.Test\obj\Debug\net5.0\DesktopMagicPlugin.Test.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\David\Programmieren\DesktopMagic\src\DesktopMagicPlugin.Test\obj\Debug\net5.0\DesktopMagicPlugin.Test.AssemblyInfoInputs.cache
C:\Users\David\Programmieren\DesktopMagic\src\DesktopMagicPlugin.Test\obj\Debug\net5.0\DesktopMagicPlugin.Test.AssemblyInfo.cs
C:\Users\David\Programmieren\DesktopMagic\src\DesktopMagicPlugin.Test\obj\Debug\net5.0\DesktopMagicPlugin.Test.csproj.CoreCompileInputs.cache
C:\Users\David\Programmieren\DesktopMagic\src\DesktopMagicPlugin.Test\obj\Debug\net5.0\DesktopMagicPlugin.Test.csproj.CopyComplete
C:\Users\David\Programmieren\DesktopMagic\src\DesktopMagicPlugin.Test\obj\Debug\net5.0\DesktopMagicPlugin.Test.dll
C:\Users\David\Programmieren\DesktopMagic\src\DesktopMagicPlugin.Test\obj\Debug\net5.0\ref\DesktopMagicPlugin.Test.dll
C:\Users\David\Programmieren\DesktopMagic\src\DesktopMagicPlugin.Test\obj\Debug\net5.0\DesktopMagicPlugin.Test.pdb
@@ -1,41 +1,40 @@
{
"format": 1,
"restore": {
"C:\\Users\\David\\Google Drive\\Programmieren\\DesktopMagic\\src\\DesktopMagicPlugin.Test\\DesktopMagicPlugin.Test.csproj": {}
"C:\\Users\\David\\Programmieren\\DesktopMagic\\src\\DesktopMagicPlugin.Test\\DesktopMagicPlugin.Test.csproj": {}
},
"projects": {
"C:\\Users\\David\\Google Drive\\Programmieren\\DesktopMagic\\src\\DesktopMagicPlugin.Test\\DesktopMagicPlugin.Test.csproj": {
"C:\\Users\\David\\Programmieren\\DesktopMagic\\src\\DesktopMagicPlugin.Test\\DesktopMagicPlugin.Test.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\David\\Google Drive\\Programmieren\\DesktopMagic\\src\\DesktopMagicPlugin.Test\\DesktopMagicPlugin.Test.csproj",
"projectUniqueName": "C:\\Users\\David\\Programmieren\\DesktopMagic\\src\\DesktopMagicPlugin.Test\\DesktopMagicPlugin.Test.csproj",
"projectName": "DesktopMagicPlugin.Test",
"projectPath": "C:\\Users\\David\\Google Drive\\Programmieren\\DesktopMagic\\src\\DesktopMagicPlugin.Test\\DesktopMagicPlugin.Test.csproj",
"projectPath": "C:\\Users\\David\\Programmieren\\DesktopMagic\\src\\DesktopMagicPlugin.Test\\DesktopMagicPlugin.Test.csproj",
"packagesPath": "C:\\Users\\David\\.nuget\\packages\\",
"outputPath": "C:\\Users\\David\\Google Drive\\Programmieren\\DesktopMagic\\src\\DesktopMagicPlugin.Test\\obj\\",
"outputPath": "C:\\Users\\David\\Programmieren\\DesktopMagic\\src\\DesktopMagicPlugin.Test\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages",
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\"
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\David\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config"
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net5.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\Users\\David\\AppData\\Roaming\\Cosmos User Kit\\packages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net5.0": {
"targetAlias": "net5.0",
"projectReferences": {
"C:\\Users\\David\\Google Drive\\Programmieren\\DesktopMagic\\src\\DesktopMagicPluginAPI\\DesktopMagicPluginAPI.csproj": {
"projectPath": "C:\\Users\\David\\Google Drive\\Programmieren\\DesktopMagic\\src\\DesktopMagicPluginAPI\\DesktopMagicPluginAPI.csproj"
"C:\\Users\\David\\Programmieren\\DesktopMagic\\src\\DesktopMagicPluginAPI\\DesktopMagicPluginAPI.csproj": {
"projectPath": "C:\\Users\\David\\Programmieren\\DesktopMagic\\src\\DesktopMagicPluginAPI\\DesktopMagicPluginAPI.csproj"
}
}
}
@@ -74,30 +73,29 @@
}
}
},
"C:\\Users\\David\\Google Drive\\Programmieren\\DesktopMagic\\src\\DesktopMagicPluginAPI\\DesktopMagicPluginAPI.csproj": {
"C:\\Users\\David\\Programmieren\\DesktopMagic\\src\\DesktopMagicPluginAPI\\DesktopMagicPluginAPI.csproj": {
"version": "0.0.0.1",
"restore": {
"projectUniqueName": "C:\\Users\\David\\Google Drive\\Programmieren\\DesktopMagic\\src\\DesktopMagicPluginAPI\\DesktopMagicPluginAPI.csproj",
"projectUniqueName": "C:\\Users\\David\\Programmieren\\DesktopMagic\\src\\DesktopMagicPluginAPI\\DesktopMagicPluginAPI.csproj",
"projectName": "DesktopMagicPluginAPI",
"projectPath": "C:\\Users\\David\\Google Drive\\Programmieren\\DesktopMagic\\src\\DesktopMagicPluginAPI\\DesktopMagicPluginAPI.csproj",
"projectPath": "C:\\Users\\David\\Programmieren\\DesktopMagic\\src\\DesktopMagicPluginAPI\\DesktopMagicPluginAPI.csproj",
"packagesPath": "C:\\Users\\David\\.nuget\\packages\\",
"outputPath": "C:\\Users\\David\\Google Drive\\Programmieren\\DesktopMagic\\src\\DesktopMagicPluginAPI\\obj\\",
"outputPath": "C:\\Users\\David\\Programmieren\\DesktopMagic\\src\\DesktopMagicPluginAPI\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages",
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\"
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\David\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config"
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net5.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\Users\\David\\AppData\\Roaming\\Cosmos User Kit\\packages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
@@ -5,14 +5,13 @@
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\David\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages;C:\Program Files (x86)\Microsoft\Xamarin\NuGet\</NuGetPackageFolders>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\David\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">5.10.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\David\.nuget\packages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft\Xamarin\NuGet\" />
</ItemGroup>
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
@@ -169,41 +169,39 @@
},
"packageFolders": {
"C:\\Users\\David\\.nuget\\packages\\": {},
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {},
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\": {}
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\David\\Google Drive\\Programmieren\\DesktopMagic\\src\\DesktopMagicPlugin.Test\\DesktopMagicPlugin.Test.csproj",
"projectUniqueName": "C:\\Users\\David\\Programmieren\\DesktopMagic\\src\\DesktopMagicPlugin.Test\\DesktopMagicPlugin.Test.csproj",
"projectName": "DesktopMagicPlugin.Test",
"projectPath": "C:\\Users\\David\\Google Drive\\Programmieren\\DesktopMagic\\src\\DesktopMagicPlugin.Test\\DesktopMagicPlugin.Test.csproj",
"projectPath": "C:\\Users\\David\\Programmieren\\DesktopMagic\\src\\DesktopMagicPlugin.Test\\DesktopMagicPlugin.Test.csproj",
"packagesPath": "C:\\Users\\David\\.nuget\\packages\\",
"outputPath": "C:\\Users\\David\\Google Drive\\Programmieren\\DesktopMagic\\src\\DesktopMagicPlugin.Test\\obj\\",
"outputPath": "C:\\Users\\David\\Programmieren\\DesktopMagic\\src\\DesktopMagicPlugin.Test\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages",
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\"
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\David\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config"
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net5.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\Users\\David\\AppData\\Roaming\\Cosmos User Kit\\packages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net5.0": {
"targetAlias": "net5.0",
"projectReferences": {
"C:\\Users\\David\\Google Drive\\Programmieren\\DesktopMagic\\src\\DesktopMagicPluginAPI\\DesktopMagicPluginAPI.csproj": {
"projectPath": "C:\\Users\\David\\Google Drive\\Programmieren\\DesktopMagic\\src\\DesktopMagicPluginAPI\\DesktopMagicPluginAPI.csproj"
"C:\\Users\\David\\Programmieren\\DesktopMagic\\src\\DesktopMagicPluginAPI\\DesktopMagicPluginAPI.csproj": {
"projectPath": "C:\\Users\\David\\Programmieren\\DesktopMagic\\src\\DesktopMagicPluginAPI\\DesktopMagicPluginAPI.csproj"
}
}
}
@@ -1,8 +1,8 @@
{
"version": 2,
"dgSpecHash": "TuOcZPLALDGmU9LTAGn5iVicebN0kr4uGLHmPWAVlWjcIsPkr3qjci7XHJAa5QBVONH2TKxVLFrdKt/80PwHrg==",
"dgSpecHash": "bKNVRlJTkB1Q+qxz0L+/WVz3V7NPh6sYzdnDCosqJqTOuhzldTVhcpE7nvRH5DKOS1NAr66gqn7IiXnRcoxYkw==",
"success": true,
"projectFilePath": "C:\\Users\\David\\Google Drive\\Programmieren\\DesktopMagic\\src\\DesktopMagicPlugin.Test\\DesktopMagicPlugin.Test.csproj",
"projectFilePath": "C:\\Users\\David\\Programmieren\\DesktopMagic\\src\\DesktopMagicPlugin.Test\\DesktopMagicPlugin.Test.csproj",
"expectedPackageFiles": [
"C:\\Users\\David\\.nuget\\packages\\microsoft.netcore.platforms\\5.0.0\\microsoft.netcore.platforms.5.0.0.nupkg.sha512",
"C:\\Users\\David\\.nuget\\packages\\microsoft.win32.systemevents\\5.0.0\\microsoft.win32.systemevents.5.0.0.nupkg.sha512",