Setting: Allow change layer tooltip overlay color and opacity

This commit is contained in:
Tiago Conceição
2020-09-13 02:08:15 +01:00
parent 9c421cc144
commit 45add3af1e
7 changed files with 799 additions and 672 deletions
+8 -2
View File
@@ -75,8 +75,8 @@
<setting name="LayerZoomToFit" serializeAs="String">
<value>True</value>
</setting>
<setting name="HidePLTooltips" serializeAs="String">
<value>False</value>
<setting name="LayerTooltipOverlay" serializeAs="String">
<value>True</value>
</setting>
<setting name="ComputeIslands" serializeAs="String">
<value>True</value>
@@ -247,6 +247,12 @@
<setting name="ComputeEmptyLayers" serializeAs="String">
<value>True</value>
</setting>
<setting name="LayerTooltipOverlayColor" serializeAs="String">
<value>255, 255, 192</value>
</setting>
<setting name="LayerTooltipOverlayOpacity" serializeAs="String">
<value>210</value>
</setting>
</UVtools.GUI.Properties.Settings>
</userSettings>
</configuration>
+732 -653
View File
File diff suppressed because it is too large Load Diff
+13 -4
View File
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Windows.Forms;
using UVtools.Core.FileFormats;
@@ -25,7 +26,7 @@ namespace UVtools.GUI.Forms
// Derive strings for the zoom lock and crosshair fade combo-boxes from the
// ZoomLevels constant array, and add those strings to the comboboxes.
var zoomRange = FrmMain.ZoomLevels.Skip(FrmMain.ZoomLevelSkipCount).Select(
s => Convert.ToString((double)s / 100) + "x").ToArray();
s => Convert.ToString((double)s / 100, CultureInfo.InvariantCulture) + "x").ToArray();
cbZoomLockLevel.Items.AddRange(zoomRange);
cbCrosshairFadeLevel.Items.AddRange(zoomRange);
@@ -49,6 +50,11 @@ namespace UVtools.GUI.Forms
tbFileSaveNameSuffix.Text = Settings.Default.FileSaveNameSuffix;
// Layer Preview
btnLayerTooltipOverlayColor.BackColor = Settings.Default.LayerTooltipOverlayColor;
nmLayerTooltipOverlayOpacity.Value = Settings.Default.LayerTooltipOverlayOpacity;
cbLayerTooltipOverlay.Checked = Settings.Default.LayerTooltipOverlay;
btnPreviousNextLayerColor.BackColor = Settings.Default.PreviousNextLayerColor;
btnPreviousLayerColor.BackColor = Settings.Default.PreviousLayerColor;
btnNextLayerColor.BackColor = Settings.Default.NextLayerColor;
@@ -74,7 +80,6 @@ namespace UVtools.GUI.Forms
cbLayerAutoRotateBestView.Checked = Settings.Default.LayerAutoRotateBestView;
cbLayerZoomToFit.Checked = Settings.Default.LayerZoomToFit;
cbShowLayerTooltipsOverlay.Checked = Settings.Default.ShowLayerTooltipsOverlay;
cbZoomToFit.SelectedIndex = Settings.Default.ZoomToFitPrintVolumeBounds == true ? 0 : 1;
cbZoomIssues.Checked = Settings.Default.ZoomIssues;
@@ -147,6 +152,7 @@ namespace UVtools.GUI.Forms
ReferenceEquals(sender, btnResinTrapHLColor) ||
ReferenceEquals(sender, btnTouchingBoundsColor) ||
ReferenceEquals(sender, btnCrosshairColor) ||
ReferenceEquals(sender, btnLayerTooltipOverlayColor) ||
ReferenceEquals(sender, btnOutlinePrintVolumeBoundsColor) ||
ReferenceEquals(sender, btnOutlineLayerBoundsColor) ||
ReferenceEquals(sender, btnOutlineHollowAreasColor) ||
@@ -233,6 +239,10 @@ namespace UVtools.GUI.Forms
Settings.Default.FileSaveNameSuffix = tbFileSaveNameSuffix.Text.Trim();
// Layer Preview
Program.FrmMain.lbLayerImageTooltipOverlay.TransparentBackColor = Settings.Default.LayerTooltipOverlayColor = btnLayerTooltipOverlayColor.BackColor;
Program.FrmMain.lbLayerImageTooltipOverlay.Opacity = Settings.Default.LayerTooltipOverlayOpacity = (byte) nmLayerTooltipOverlayOpacity.Value;
Settings.Default.LayerTooltipOverlay = cbLayerTooltipOverlay.Checked;
Settings.Default.PreviousNextLayerColor = btnPreviousNextLayerColor.BackColor;
Settings.Default.PreviousLayerColor = btnPreviousLayerColor.BackColor;
Settings.Default.NextLayerColor = btnNextLayerColor.BackColor;
@@ -257,8 +267,7 @@ namespace UVtools.GUI.Forms
Settings.Default.LayerAutoRotateBestView = cbLayerAutoRotateBestView.Checked;
Settings.Default.LayerZoomToFit = cbLayerZoomToFit.Checked;
Settings.Default.ShowLayerTooltipsOverlay = cbShowLayerTooltipsOverlay.Checked;
Settings.Default.ZoomToFitPrintVolumeBounds = cbZoomToFit.SelectedIndex == 0 ? true : false;
Settings.Default.ZoomToFitPrintVolumeBounds = cbZoomToFit.SelectedIndex == 0;
Settings.Default.ZoomIssues = cbZoomIssues.Checked;
Settings.Default.ZoomLockLevel = (byte)cbZoomLockLevel.SelectedIndex;
Settings.Default.LayerDifferenceDefault = cbLayerDifferenceDefault.Checked;
+10 -7
View File
@@ -171,6 +171,9 @@ namespace UVtools.GUI
btnLayerImageLayerOutlinePrintVolumeBounds.Checked = Settings.Default.OutlinePrintVolumeBounds;
btnLayerImageLayerOutlineLayerBounds.Checked = Settings.Default.OutlineLayerBounds;
btnLayerImageLayerOutlineHollowAreas.Checked = Settings.Default.OutlineHollowAreas;
lbLayerImageTooltipOverlay.TransparentBackColor = Settings.Default.LayerTooltipOverlayColor;
lbLayerImageTooltipOverlay.Opacity = Settings.Default.LayerTooltipOverlayOpacity;
// Initialize pbLayer zoom levels to use the discrete factors from ZoomLevels
pbLayer.ZoomLevels = new ZoomLevelCollection(ZoomLevels);
@@ -1669,7 +1672,7 @@ namespace UVtools.GUI
pbThumbnail.Image = null;
pbLayer.Image = null;
pbLayer.SelectNone();
lbLayerImageOverlay.Visible = false;
lbLayerImageTooltipOverlay.Visible = false;
pbThumbnail.Image = null;
tbGCode.Clear();
tabPageIssues.Tag = null;
@@ -2814,21 +2817,21 @@ namespace UVtools.GUI
{
pbLayer.Cursor = pixelEditCursor;
pbLayer.PanMode = ImageBoxPanMode.None;
lbLayerImageOverlay.Text = "Pixel editing is on:\n" +
lbLayerImageTooltipOverlay.Text = "Pixel editing is on:\n" +
"» Click over a pixel to draw";
}
else
{
pbLayer.Cursor = Cursors.Cross;
pbLayer.SelectionMode = ImageBoxSelectionMode.Rectangle;
lbLayerImageOverlay.Text = "ROI selection mode:\n" +
lbLayerImageTooltipOverlay.Text = "ROI selection mode:\n" +
"» Left-click drag to select a fixed region\n" +
"» Left-click + ALT drag to select specific objects\n" +
"» Right click on a specific object to select it\n" +
"Press Esc to clear the ROI";
}
lbLayerImageOverlay.Visible = Settings.Default.ShowLayerTooltipsOverlay;
lbLayerImageTooltipOverlay.Visible = Settings.Default.LayerTooltipOverlay;
return;
}
@@ -2836,10 +2839,10 @@ namespace UVtools.GUI
{
pbLayer.Cursor = Cursors.Hand;
pbLayer.PanMode = ImageBoxPanMode.None;
lbLayerImageOverlay.Text = "Issue selection mode:\n" +
lbLayerImageTooltipOverlay.Text = "Issue selection mode:\n" +
"» Click over an issue to select it";
lbLayerImageOverlay.Visible = Settings.Default.ShowLayerTooltipsOverlay;
lbLayerImageTooltipOverlay.Visible = Settings.Default.LayerTooltipOverlay;
return;
}
@@ -2861,7 +2864,7 @@ namespace UVtools.GUI
pbLayer.Cursor = Cursors.Default;
pbLayer.PanMode = ImageBoxPanMode.Left;
pbLayer.SelectionMode = ImageBoxSelectionMode.None;
lbLayerImageOverlay.Visible = false;
lbLayerImageTooltipOverlay.Visible = false;
//if (!ReferenceEquals(SlicerFile, null)) ShowLayer(); // Not needed?
e.Handled = true;
}
+27 -3
View File
@@ -206,12 +206,12 @@ namespace UVtools.GUI.Properties {
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool ShowLayerTooltipsOverlay {
public bool LayerTooltipOverlay {
get {
return ((bool)(this["ShowLayerTooltipsOverlay"]));
return ((bool)(this["LayerTooltipOverlay"]));
}
set {
this["ShowLayerTooltipsOverlay"] = value;
this["LayerTooltipOverlay"] = value;
}
}
@@ -886,5 +886,29 @@ namespace UVtools.GUI.Properties {
this["ComputeEmptyLayers"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("255, 255, 192")]
public global::System.Drawing.Color LayerTooltipOverlayColor {
get {
return ((global::System.Drawing.Color)(this["LayerTooltipOverlayColor"]));
}
set {
this["LayerTooltipOverlayColor"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("210")]
public byte LayerTooltipOverlayOpacity {
get {
return ((byte)(this["LayerTooltipOverlayOpacity"]));
}
set {
this["LayerTooltipOverlayOpacity"] = value;
}
}
}
}
+8 -2
View File
@@ -47,8 +47,8 @@
<Setting Name="LayerZoomToFit" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="HidePLTooltips" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
<Setting Name="LayerTooltipOverlay" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="ComputeIslands" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
@@ -218,5 +218,11 @@
<Setting Name="ComputeEmptyLayers" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="LayerTooltipOverlayColor" Type="System.Drawing.Color" Scope="User">
<Value Profile="(Default)">255, 255, 192</Value>
</Setting>
<Setting Name="LayerTooltipOverlayOpacity" Type="System.Byte" Scope="User">
<Value Profile="(Default)">210</Value>
</Setting>
</Settings>
</SettingsFile>