Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLluis Sanchez <llsan@microsoft.com>2019-05-28 13:39:22 +0300
committerGitHub <noreply@github.com>2019-05-28 13:39:22 +0300
commiteb4f62cf4df627575d789f3c9399740be63f56dc (patch)
treeef70b33c8255974c17d14efe22d146108c93a6fe /main/src/addins
parent1639171ef392a1fc1c1e01637ca3c961592efb83 (diff)
parent58c3b7471ee461b173931e259396011b511c0913 (diff)
Merge pull request #7653 from mono/enable-new-propertypad
[DesignerSupport] Finish migration to the new property editing hash
Diffstat (limited to 'main/src/addins')
-rw-r--r--main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.Toolbox/Styles.cs30
-rw-r--r--main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.csproj1
-rw-r--r--main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport/MacPropertyGrid.cs8
-rw-r--r--main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport/MonoDevelopHostResourceProvider.cs68
4 files changed, 105 insertions, 2 deletions
diff --git a/main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.Toolbox/Styles.cs b/main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.Toolbox/Styles.cs
index 14fa27fa49..3cdff448bc 100644
--- a/main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.Toolbox/Styles.cs
+++ b/main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.Toolbox/Styles.cs
@@ -20,6 +20,18 @@ namespace MonoDevelop.DesignerSupport
public static NSColor HeaderBorderBackgroundColor { get; private set; }
public static NSColor ToolbarBackgroundColor { get; private set; }
+
+ public static PropertyPadStyle PropertyPad { get; private set; }
+
+ // Used for the property panel in Xamarin.PropertyEditing
+ public class PropertyPadStyle
+ {
+ public NSColor Checkerboard0 { get; internal set; }
+ public NSColor Checkerboard1 { get; internal set; }
+ public NSColor ValueBlockBackgroundColor { get; internal set; }
+ public NSColor TabBorderColor { get; internal set; }
+ public NSColor PanelTabBackground { get; internal set; }
+ }
static Styles ()
{
@@ -35,14 +47,30 @@ namespace MonoDevelop.DesignerSupport
LabelSelectedForegroundColor = NSColor.Highlight;
ToolbarBackgroundColor = NSColor.White;
CellBackgroundSelectedColor = NSColor.FromRgb (0.36f, 0.54f, 0.90f);
+
+ PropertyPad = new PropertyPadStyle {
+ Checkerboard0 = NSColor.FromRgb (255, 255, 255),
+ Checkerboard1 = NSColor.FromRgb (217, 217, 217),
+ PanelTabBackground = NSColor.FromRgb (248, 247, 248),
+ TabBorderColor = NSColor.FromRgba (0, 0, 0, 25),
+ ValueBlockBackgroundColor = NSColor.FromRgba (0, 0, 0, 20)
+ };
} else {
CellBackgroundSelectedColor = NSColor.FromRgb (0.38f, 0.55f, 0.91f);
HeaderBackgroundColor = NSColor.FromRgb (0.29f, 0.29f, 0.29f);
HeaderBorderBackgroundColor = NSColor.FromRgb (0.29f, 0.29f, 0.29f);
LabelSelectedForegroundColor = NSColor.SelectedText;
ToolbarBackgroundColor = NSColor.FromRgb (0.25f, 0.25f, 0.25f);
+
+ PropertyPad = new PropertyPadStyle {
+ Checkerboard0 = NSColor.FromRgb (38, 38, 38),
+ Checkerboard1 = NSColor.FromRgb (0, 0, 0),
+ PanelTabBackground = NSColor.FromRgb (85, 85, 85),
+ TabBorderColor = NSColor.FromRgba (255, 255, 255, 0),
+ ValueBlockBackgroundColor = NSColor.FromRgba (255, 255, 255, 25)
+ };
}
}
}
}
-#endif \ No newline at end of file
+#endif
diff --git a/main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.csproj b/main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.csproj
index bcace16332..49a2f0ca08 100644
--- a/main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.csproj
+++ b/main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.csproj
@@ -144,6 +144,7 @@
<Compile Include="MonoDevelop.DesignerSupport\IPropertyPad.cs" />
<Compile Include="MonoDevelop.DesignerSupport\NativePropertyEditors\PropertyInfo\FlagDescriptorPropertyInfo.cs" />
<Compile Include="MonoDevelop.DesignerSupport\NativePropertyEditors\PropertyPadItem.cs" />
+ <Compile Include="MonoDevelop.DesignerSupport\MonoDevelopHostResourceProvider.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="MonoDevelop.DesignerSupport.addin.xml" />
diff --git a/main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport/MacPropertyGrid.cs b/main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport/MacPropertyGrid.cs
index d3838d0b55..3232c62145 100644
--- a/main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport/MacPropertyGrid.cs
+++ b/main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport/MacPropertyGrid.cs
@@ -67,7 +67,7 @@ namespace MonoDevelop.DesignerSupport
Spacing = 10;
Distribution = NSStackViewDistribution.Fill;
- propertyEditorPanel = new MacPropertyEditorPanel ();
+ propertyEditorPanel = new MacPropertyEditorPanel (new MonoDevelopHostResourceProvider ());
scrollView = new NSScrollView () {
HasVerticalScroller = true,
@@ -153,6 +153,12 @@ namespace MonoDevelop.DesignerSupport
{
public EventHandler Focused;
+ public MacPropertyEditorPanel (MonoDevelopHostResourceProvider hostResources)
+ : base (hostResources)
+ {
+
+ }
+
public override bool BecomeFirstResponder ()
{
Focused?.Invoke (this, EventArgs.Empty);
diff --git a/main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport/MonoDevelopHostResourceProvider.cs b/main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport/MonoDevelopHostResourceProvider.cs
new file mode 100644
index 0000000000..e730dacf41
--- /dev/null
+++ b/main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport/MonoDevelopHostResourceProvider.cs
@@ -0,0 +1,68 @@
+
+/*
+ * MonoDevelopHostResourceProvider.cs: The pad that holds the MD property grid. Can also
+ * hold custom grid widgets.
+ *
+ * Copyright (C) 2019 Microsoft, Corp
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to permit
+ * persons to whom the Software is furnished to do so, subject to the
+ * following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+ * NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+ * USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#if MAC
+using AppKit;
+using MonoDevelop.Components;
+using MonoDevelop.Ide;
+using Xamarin.PropertyEditing.Mac;
+using static Xamarin.PropertyEditing.Mac.NamedResources;
+
+namespace MonoDevelop.DesignerSupport
+{
+ internal class MonoDevelopHostResourceProvider : HostResourceProvider
+ {
+ public MonoDevelopHostResourceProvider ()
+ {
+ CurrentAppearance = NSAppearance.GetAppearance (IdeApp.Preferences.UserInterfaceTheme == Theme.Dark ? NSAppearance.NameDarkAqua : NSAppearance.NameAqua);
+ }
+
+ public override NSColor GetNamedColor (string name)
+ {
+ switch (name) {
+ case Checkerboard0Color:
+ return Styles.PropertyPad.Checkerboard0;
+ case Checkerboard1Color:
+ return Styles.PropertyPad.Checkerboard1;
+ case DescriptionLabelColor:
+ return NSColor.SecondaryLabelColor;
+ case ForegroundColor:
+ return (HslColor)Ide.Gui.Styles.BaseForegroundColor;
+ case PadBackgroundColor:
+ return (HslColor)Ide.Gui.Styles.PadBackground;
+ case PanelTabBackground:
+ return Styles.PropertyPad.PanelTabBackground;
+ case TabBorderColor:
+ return Styles.PropertyPad.TabBorderColor;
+ case ValueBlockBackgroundColor:
+ return Styles.PropertyPad.ValueBlockBackgroundColor;
+ }
+ return base.GetNamedColor (name);
+ }
+ }
+}
+#endif \ No newline at end of file