Compare commits
9 Commits
9b84508ff4
...
bd48f57ce0
| Author | SHA1 | Date | |
|---|---|---|---|
| bd48f57ce0 | |||
| a6ec21accc | |||
| 320cf40f41 | |||
| 3beca10429 | |||
| 8bea5dac6c | |||
| 12f8bbf8f5 | |||
| d15790b948 | |||
| d80f76e386 | |||
| 07bce8699a |
@@ -16,7 +16,7 @@ namespace OpenNest
|
||||
private static int nextColorIndex;
|
||||
private Program program;
|
||||
|
||||
public static readonly Color[] PartColors = new Color[]
|
||||
public static Color[] PartColors = new Color[]
|
||||
{
|
||||
Color.FromArgb(205, 92, 92), // Indian Red
|
||||
Color.FromArgb(148, 103, 189), // Medium Purple
|
||||
|
||||
@@ -13,10 +13,13 @@ namespace OpenNest
|
||||
private Color edgeSpacingColor;
|
||||
private Color previewPartColor;
|
||||
|
||||
public static Color[] PartColors => Drawing.PartColors;
|
||||
public string Name { get; set; } = "Unnamed";
|
||||
|
||||
public Color[] PartColors { get; set; } = Drawing.PartColors;
|
||||
|
||||
public static readonly ColorScheme Default = new ColorScheme
|
||||
{
|
||||
Name = "Classic",
|
||||
BackgroundColor = Color.DarkGray,
|
||||
LayoutOutlineColor = Color.Gray,
|
||||
LayoutFillColor = Color.WhiteSmoke,
|
||||
|
||||
@@ -0,0 +1,203 @@
|
||||
using OpenNest.Forms;
|
||||
using OpenNest.Properties;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace OpenNest
|
||||
{
|
||||
public static class ColorSchemeRegistry
|
||||
{
|
||||
private static readonly Dictionary<string, ColorScheme> builtIns =
|
||||
new(StringComparer.OrdinalIgnoreCase)
|
||||
{
|
||||
["Classic"] = BuildClassic(),
|
||||
["Pastel"] = BuildPastel(),
|
||||
["Dark"] = BuildDark()
|
||||
};
|
||||
|
||||
private static List<ColorScheme> diskCache;
|
||||
|
||||
public static IEnumerable<ColorScheme> AllSchemes
|
||||
{
|
||||
get
|
||||
{
|
||||
diskCache ??= LoadDiskSchemes().ToList();
|
||||
return builtIns.Values.Concat(diskCache);
|
||||
}
|
||||
}
|
||||
|
||||
public static void Refresh() => diskCache = null;
|
||||
|
||||
public static ColorScheme Get(string name)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(name))
|
||||
return builtIns["Classic"];
|
||||
|
||||
var hit = AllSchemes.FirstOrDefault(
|
||||
s => string.Equals(s.Name, name, StringComparison.OrdinalIgnoreCase));
|
||||
return hit ?? builtIns["Classic"];
|
||||
}
|
||||
|
||||
public static void ApplyActiveFromSettings()
|
||||
{
|
||||
var name = Settings.Default.ActiveColorScheme;
|
||||
var scheme = Get(name);
|
||||
Apply(scheme);
|
||||
}
|
||||
|
||||
public static void Apply(ColorScheme scheme)
|
||||
{
|
||||
var d = ColorScheme.Default;
|
||||
d.Name = scheme.Name;
|
||||
d.BackgroundColor = scheme.BackgroundColor;
|
||||
d.LayoutOutlineColor = scheme.LayoutOutlineColor;
|
||||
d.LayoutFillColor = scheme.LayoutFillColor;
|
||||
d.BoundingBoxColor = scheme.BoundingBoxColor;
|
||||
d.RapidColor = scheme.RapidColor;
|
||||
d.OriginColor = scheme.OriginColor;
|
||||
d.EdgeSpacingColor = scheme.EdgeSpacingColor;
|
||||
d.PreviewPartColor = scheme.PreviewPartColor;
|
||||
d.PartColors = scheme.PartColors;
|
||||
|
||||
Drawing.PartColors = scheme.PartColors;
|
||||
|
||||
RecolorOpenNests(scheme.PartColors);
|
||||
}
|
||||
|
||||
private static void RecolorOpenNests(Color[] palette)
|
||||
{
|
||||
foreach (Form f in Application.OpenForms)
|
||||
{
|
||||
if (f is not EditNestForm enf)
|
||||
continue;
|
||||
|
||||
var i = 0;
|
||||
foreach (var drawing in enf.Nest.Drawings)
|
||||
{
|
||||
if (drawing.IsCutOff)
|
||||
continue;
|
||||
drawing.Color = palette[i % palette.Length];
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static IEnumerable<ColorScheme> LoadDiskSchemes()
|
||||
{
|
||||
var dir = Path.Combine(AppContext.BaseDirectory, "Schemes");
|
||||
if (!Directory.Exists(dir))
|
||||
yield break;
|
||||
|
||||
foreach (var path in Directory.GetFiles(dir, "*.json"))
|
||||
{
|
||||
ColorScheme scheme;
|
||||
try
|
||||
{
|
||||
scheme = ColorSchemeSerializer.Deserialize(File.ReadAllText(path));
|
||||
}
|
||||
catch
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (!builtIns.ContainsKey(scheme.Name))
|
||||
yield return scheme;
|
||||
}
|
||||
}
|
||||
|
||||
private static ColorScheme BuildClassic() => new ColorScheme
|
||||
{
|
||||
Name = "Classic",
|
||||
BackgroundColor = Color.DarkGray,
|
||||
LayoutOutlineColor = Color.Gray,
|
||||
LayoutFillColor = Color.WhiteSmoke,
|
||||
BoundingBoxColor = Color.FromArgb(128, 128, 255),
|
||||
RapidColor = Color.DodgerBlue,
|
||||
OriginColor = Color.Gray,
|
||||
EdgeSpacingColor = Color.FromArgb(180, 180, 180),
|
||||
PreviewPartColor = Color.FromArgb(255, 140, 0),
|
||||
PartColors = new[]
|
||||
{
|
||||
Color.FromArgb(205, 92, 92),
|
||||
Color.FromArgb(148, 103, 189),
|
||||
Color.FromArgb(75, 180, 175),
|
||||
Color.FromArgb(210, 190, 75),
|
||||
Color.FromArgb(190, 85, 175),
|
||||
Color.FromArgb(185, 115, 85),
|
||||
Color.FromArgb(120, 100, 190),
|
||||
Color.FromArgb(200, 100, 140),
|
||||
Color.FromArgb(80, 175, 155),
|
||||
Color.FromArgb(195, 160, 85),
|
||||
Color.FromArgb(175, 95, 160),
|
||||
Color.FromArgb(215, 130, 130),
|
||||
}
|
||||
};
|
||||
|
||||
private static ColorScheme BuildPastel() => new ColorScheme
|
||||
{
|
||||
Name = "Pastel",
|
||||
BackgroundColor = Color.FromArgb(70, 75, 85),
|
||||
LayoutOutlineColor = Color.FromArgb(180, 180, 190),
|
||||
LayoutFillColor = Color.FromArgb(245, 245, 248),
|
||||
BoundingBoxColor = Color.FromArgb(128, 128, 255),
|
||||
RapidColor = Color.DodgerBlue,
|
||||
OriginColor = Color.FromArgb(160, 160, 160),
|
||||
EdgeSpacingColor = Color.FromArgb(200, 200, 210),
|
||||
PreviewPartColor = Color.FromArgb(255, 140, 0),
|
||||
PartColors = new[]
|
||||
{
|
||||
Color.FromArgb(122, 179, 209), Color.FromArgb(254, 229, 174),
|
||||
Color.FromArgb(143, 177, 229), Color.FromArgb(167, 172, 227),
|
||||
Color.FromArgb(216, 249, 195), Color.FromArgb(209, 168, 216),
|
||||
Color.FromArgb(222, 157, 190), Color.FromArgb(176, 255, 240),
|
||||
Color.FromArgb(235, 205, 153), Color.FromArgb(177, 225, 180),
|
||||
Color.FromArgb(125, 202, 241), Color.FromArgb(187, 206, 151),
|
||||
Color.FromArgb(251, 175, 190), Color.FromArgb(129, 226, 227),
|
||||
Color.FromArgb(255, 253, 207), Color.FromArgb(235, 205, 255),
|
||||
Color.FromArgb(255, 197, 168), Color.FromArgb(116, 213, 234),
|
||||
Color.FromArgb(190, 169, 122), Color.FromArgb(213, 159, 135),
|
||||
Color.FromArgb(124, 184, 155), Color.FromArgb(255, 189, 214),
|
||||
Color.FromArgb(146, 222, 255), Color.FromArgb(177, 173, 125),
|
||||
Color.FromArgb(177, 166, 202), Color.FromArgb(197, 208, 255),
|
||||
Color.FromArgb(255, 209, 243), Color.FromArgb(210, 255, 237),
|
||||
Color.FromArgb(255, 237, 204), Color.FromArgb(167, 233, 255),
|
||||
Color.FromArgb(182, 220, 255), Color.FromArgb(159, 177, 142),
|
||||
Color.FromArgb(190, 248, 255), Color.FromArgb(187, 169, 136),
|
||||
Color.FromArgb(199, 162, 168), Color.FromArgb(250, 255, 239),
|
||||
Color.FromArgb(222, 233, 255), Color.FromArgb(255, 234, 225),
|
||||
Color.FromArgb(240, 249, 255), Color.FromArgb(152, 176, 176),
|
||||
}
|
||||
};
|
||||
|
||||
private static ColorScheme BuildDark() => new ColorScheme
|
||||
{
|
||||
Name = "Dark",
|
||||
BackgroundColor = Color.FromArgb(30, 30, 34),
|
||||
LayoutOutlineColor = Color.FromArgb(90, 90, 95),
|
||||
LayoutFillColor = Color.FromArgb(50, 50, 55),
|
||||
BoundingBoxColor = Color.FromArgb(100, 160, 220),
|
||||
RapidColor = Color.FromArgb(255, 200, 50),
|
||||
OriginColor = Color.FromArgb(120, 120, 130),
|
||||
EdgeSpacingColor = Color.FromArgb(90, 90, 100),
|
||||
PreviewPartColor = Color.FromArgb(255, 170, 60),
|
||||
PartColors = new[]
|
||||
{
|
||||
Color.FromArgb(255, 85, 85), // Neon Red
|
||||
Color.FromArgb(80, 220, 255), // Electric Cyan
|
||||
Color.FromArgb(255, 200, 50), // Amber
|
||||
Color.FromArgb(130, 255, 130), // Lime Green
|
||||
Color.FromArgb(255, 130, 220), // Hot Pink
|
||||
Color.FromArgb(255, 165, 70), // Tangerine
|
||||
Color.FromArgb(100, 180, 255), // Sky Blue
|
||||
Color.FromArgb(200, 160, 255), // Lavender
|
||||
Color.FromArgb(50, 230, 180), // Mint
|
||||
Color.FromArgb(255, 255, 100), // Lemon
|
||||
Color.FromArgb(255, 120, 120), // Salmon
|
||||
Color.FromArgb(140, 230, 255), // Ice Blue
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
using System.Drawing;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text.Json;
|
||||
|
||||
namespace OpenNest
|
||||
{
|
||||
public static class ColorSchemeSerializer
|
||||
{
|
||||
private static readonly JsonSerializerOptions JsonOptions = new()
|
||||
{
|
||||
WriteIndented = true,
|
||||
PropertyNamingPolicy = JsonNamingPolicy.CamelCase
|
||||
};
|
||||
|
||||
public static string Serialize(ColorScheme scheme)
|
||||
{
|
||||
var dto = new ColorSchemeDto
|
||||
{
|
||||
Name = scheme.Name,
|
||||
BackgroundColor = ToHex(scheme.BackgroundColor),
|
||||
LayoutOutlineColor = ToHex(scheme.LayoutOutlineColor),
|
||||
LayoutFillColor = ToHex(scheme.LayoutFillColor),
|
||||
BoundingBoxColor = ToHex(scheme.BoundingBoxColor),
|
||||
RapidColor = ToHex(scheme.RapidColor),
|
||||
OriginColor = ToHex(scheme.OriginColor),
|
||||
EdgeSpacingColor = ToHex(scheme.EdgeSpacingColor),
|
||||
PreviewPartColor = ToHex(scheme.PreviewPartColor),
|
||||
PartColors = scheme.PartColors.Select(ToHex).ToArray()
|
||||
};
|
||||
return JsonSerializer.Serialize(dto, JsonOptions);
|
||||
}
|
||||
|
||||
public static ColorScheme Deserialize(string json)
|
||||
{
|
||||
var dto = JsonSerializer.Deserialize<ColorSchemeDto>(json, JsonOptions)
|
||||
?? throw new JsonException("ColorScheme JSON was null");
|
||||
|
||||
return new ColorScheme
|
||||
{
|
||||
Name = dto.Name ?? "Unnamed",
|
||||
BackgroundColor = FromHex(dto.BackgroundColor),
|
||||
LayoutOutlineColor = FromHex(dto.LayoutOutlineColor),
|
||||
LayoutFillColor = FromHex(dto.LayoutFillColor),
|
||||
BoundingBoxColor = FromHex(dto.BoundingBoxColor),
|
||||
RapidColor = FromHex(dto.RapidColor),
|
||||
OriginColor = FromHex(dto.OriginColor),
|
||||
EdgeSpacingColor = FromHex(dto.EdgeSpacingColor),
|
||||
PreviewPartColor = FromHex(dto.PreviewPartColor),
|
||||
PartColors = (dto.PartColors ?? new string[0]).Select(FromHex).ToArray()
|
||||
};
|
||||
}
|
||||
|
||||
private static string ToHex(Color c) =>
|
||||
"#" + c.R.ToString("X2") + c.G.ToString("X2") + c.B.ToString("X2");
|
||||
|
||||
private static Color FromHex(string hex)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(hex))
|
||||
return Color.Black;
|
||||
var h = hex.TrimStart('#');
|
||||
if (h.Length < 6)
|
||||
return Color.Black;
|
||||
var r = byte.Parse(h.Substring(0, 2), NumberStyles.HexNumber, CultureInfo.InvariantCulture);
|
||||
var g = byte.Parse(h.Substring(2, 2), NumberStyles.HexNumber, CultureInfo.InvariantCulture);
|
||||
var b = byte.Parse(h.Substring(4, 2), NumberStyles.HexNumber, CultureInfo.InvariantCulture);
|
||||
return Color.FromArgb(r, g, b);
|
||||
}
|
||||
|
||||
private class ColorSchemeDto
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string BackgroundColor { get; set; }
|
||||
public string LayoutOutlineColor { get; set; }
|
||||
public string LayoutFillColor { get; set; }
|
||||
public string BoundingBoxColor { get; set; }
|
||||
public string RapidColor { get; set; }
|
||||
public string OriginColor { get; set; }
|
||||
public string EdgeSpacingColor { get; set; }
|
||||
public string PreviewPartColor { get; set; }
|
||||
public string[] PartColors { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -464,6 +464,9 @@ namespace OpenNest.Controls
|
||||
|
||||
protected override void OnPaint(PaintEventArgs e)
|
||||
{
|
||||
if (BackColor != ColorScheme.BackgroundColor)
|
||||
BackColor = ColorScheme.BackgroundColor;
|
||||
|
||||
e.Graphics.SmoothingMode = SmoothingMode.HighSpeed;
|
||||
|
||||
if (DrawOrigin)
|
||||
|
||||
@@ -71,6 +71,7 @@ namespace OpenNest.Forms
|
||||
NestEngineRegistry.LoadPlugins(enginesDir);
|
||||
|
||||
OptionsForm.ApplyDisabledStrategies();
|
||||
ColorSchemeRegistry.ApplyActiveFromSettings();
|
||||
|
||||
foreach (var engine in NestEngineRegistry.AvailableEngines)
|
||||
engineComboBox.Items.Add(engine.Name);
|
||||
|
||||
Generated
+32
-6
@@ -42,6 +42,8 @@
|
||||
this.bottomPanel1 = new OpenNest.Controls.BottomPanel();
|
||||
this.strategyGrid = new System.Windows.Forms.DataGridView();
|
||||
this.strategyGroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.colorSchemeLabel = new System.Windows.Forms.Label();
|
||||
this.colorSchemeCombo = new System.Windows.Forms.ComboBox();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
this.bottomPanel1.SuspendLayout();
|
||||
@@ -86,7 +88,7 @@
|
||||
this.toolTip1.SetToolTip(this.numericUpDown1, "The amount to round the plate size up.");
|
||||
//
|
||||
// tableLayoutPanel1
|
||||
//
|
||||
//
|
||||
this.tableLayoutPanel1.ColumnCount = 4;
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
@@ -95,15 +97,18 @@
|
||||
this.tableLayoutPanel1.Controls.Add(this.label1, 0, 1);
|
||||
this.tableLayoutPanel1.Controls.Add(this.textBox1, 1, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label3, 0, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.checkBox1, 0, 2);
|
||||
this.tableLayoutPanel1.Controls.Add(this.colorSchemeLabel, 0, 2);
|
||||
this.tableLayoutPanel1.Controls.Add(this.colorSchemeCombo, 1, 2);
|
||||
this.tableLayoutPanel1.Controls.Add(this.checkBox1, 0, 3);
|
||||
this.tableLayoutPanel1.Controls.Add(this.numericUpDown1, 1, 1);
|
||||
this.tableLayoutPanel1.Controls.Add(this.button1, 3, 0);
|
||||
this.tableLayoutPanel1.Location = new System.Drawing.Point(12, 12);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
this.tableLayoutPanel1.RowCount = 3;
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.34F));
|
||||
this.tableLayoutPanel1.RowCount = 4;
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||
this.tableLayoutPanel1.Size = new System.Drawing.Size(684, 160);
|
||||
this.tableLayoutPanel1.TabIndex = 0;
|
||||
//
|
||||
@@ -198,6 +203,25 @@
|
||||
this.strategyGroupBox.TabStop = false;
|
||||
this.strategyGroupBox.Text = "Fill Strategies";
|
||||
//
|
||||
// colorSchemeLabel
|
||||
//
|
||||
this.colorSchemeLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.colorSchemeLabel.AutoSize = true;
|
||||
this.colorSchemeLabel.Location = new System.Drawing.Point(3, 92);
|
||||
this.colorSchemeLabel.Name = "colorSchemeLabel";
|
||||
this.colorSchemeLabel.Size = new System.Drawing.Size(145, 16);
|
||||
this.colorSchemeLabel.TabIndex = 10;
|
||||
this.colorSchemeLabel.Text = "Color scheme:";
|
||||
//
|
||||
// colorSchemeCombo
|
||||
//
|
||||
this.colorSchemeCombo.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.colorSchemeCombo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.colorSchemeCombo.Location = new System.Drawing.Point(154, 89);
|
||||
this.colorSchemeCombo.Name = "colorSchemeCombo";
|
||||
this.colorSchemeCombo.Size = new System.Drawing.Size(130, 24);
|
||||
this.colorSchemeCombo.TabIndex = 11;
|
||||
//
|
||||
// OptionsForm
|
||||
//
|
||||
this.AcceptButton = this.saveButton;
|
||||
@@ -239,5 +263,7 @@
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.DataGridView strategyGrid;
|
||||
private System.Windows.Forms.GroupBox strategyGroupBox;
|
||||
private System.Windows.Forms.Label colorSchemeLabel;
|
||||
private System.Windows.Forms.ComboBox colorSchemeCombo;
|
||||
}
|
||||
}
|
||||
@@ -68,6 +68,13 @@ namespace OpenNest.Forms
|
||||
checkBox1.Checked = Settings.Default.CreateNewNestOnOpen;
|
||||
numericUpDown1.Value = (decimal)Settings.Default.AutoSizePlateFactor;
|
||||
|
||||
colorSchemeCombo.Items.Clear();
|
||||
foreach (var scheme in ColorSchemeRegistry.AllSchemes)
|
||||
colorSchemeCombo.Items.Add(scheme.Name);
|
||||
var active = Settings.Default.ActiveColorScheme;
|
||||
var idx = colorSchemeCombo.Items.IndexOf(active);
|
||||
colorSchemeCombo.SelectedIndex = idx >= 0 ? idx : 0;
|
||||
|
||||
var disabledNames = ParseDisabledStrategies(Settings.Default.DisabledStrategies);
|
||||
foreach (DataGridViewRow row in strategyGrid.Rows)
|
||||
row.Cells["Enabled"].Value = !disabledNames.Contains((string)row.Cells["Name"].Value);
|
||||
@@ -78,6 +85,7 @@ namespace OpenNest.Forms
|
||||
Settings.Default.NestTemplatePath = textBox1.Text;
|
||||
Settings.Default.CreateNewNestOnOpen = checkBox1.Checked;
|
||||
Settings.Default.AutoSizePlateFactor = (double)numericUpDown1.Value;
|
||||
Settings.Default.ActiveColorScheme = colorSchemeCombo.SelectedItem as string ?? "Classic";
|
||||
|
||||
var disabledNames = new List<string>();
|
||||
foreach (DataGridViewRow row in strategyGrid.Rows)
|
||||
@@ -89,6 +97,10 @@ namespace OpenNest.Forms
|
||||
|
||||
Settings.Default.Save();
|
||||
ApplyDisabledStrategies();
|
||||
ColorSchemeRegistry.ApplyActiveFromSettings();
|
||||
|
||||
foreach (Form f in Application.OpenForms)
|
||||
f.Invalidate(invalidateChildren: true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -15,6 +15,11 @@
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Update="Schemes\*.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\OpenNest.Api\OpenNest.Api.csproj" />
|
||||
<ProjectReference Include="..\OpenNest.Core\OpenNest.Core.csproj" />
|
||||
|
||||
Generated
+12
@@ -226,5 +226,17 @@ namespace OpenNest.Properties {
|
||||
this["CuttingParametersJson"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("Classic")]
|
||||
public string ActiveColorScheme {
|
||||
get {
|
||||
return ((string)(this["ActiveColorScheme"]));
|
||||
}
|
||||
set {
|
||||
this["ActiveColorScheme"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,5 +53,8 @@
|
||||
<Setting Name="CuttingParametersJson" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="ActiveColorScheme" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">Classic</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
Reference in New Issue
Block a user