Only invalidate the editor display when appropriate, rather than the part
This commit is contained in:
parent
25dbd4f857
commit
d135a3be82
10 changed files with 41 additions and 41 deletions
|
|
@ -173,12 +173,12 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
override public Task Rebuild()
|
||||
{
|
||||
this.DebugDepth("Rebuild");
|
||||
bool propertyUpdated = Diameter == double.MinValue;
|
||||
bool valuesChanged = Diameter == double.MinValue;
|
||||
if (StartPercent < 0
|
||||
|| StartPercent > 100)
|
||||
{
|
||||
StartPercent = Math.Min(100, Math.Max(0, StartPercent));
|
||||
propertyUpdated = true;
|
||||
valuesChanged = true;
|
||||
}
|
||||
|
||||
using (RebuildLock())
|
||||
|
|
@ -276,9 +276,9 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
}
|
||||
|
||||
Invalidate(InvalidateType.Mesh);
|
||||
if (propertyUpdated)
|
||||
if (valuesChanged)
|
||||
{
|
||||
Invalidate(InvalidateType.Properties);
|
||||
Invalidate(InvalidateType.DisplayValues);
|
||||
}
|
||||
|
||||
return Task.CompletedTask;
|
||||
|
|
|
|||
|
|
@ -258,7 +258,7 @@ namespace MatterHackers.MatterControl.DesignTools.Operations
|
|||
else if(change.Changed == nameof(UsePercentage))
|
||||
{
|
||||
// make sure we update the controls on screen to reflect the different data type
|
||||
Invalidate(new InvalidateArgs(null, InvalidateType.Properties));
|
||||
Invalidate(new InvalidateArgs(null, InvalidateType.DisplayValues));
|
||||
}
|
||||
else if (change.Changed == nameof(MaitainProportions))
|
||||
{
|
||||
|
|
@ -268,7 +268,7 @@ namespace MatterHackers.MatterControl.DesignTools.Operations
|
|||
ScaleRatio = new Vector3(maxScale, maxScale, maxScale);
|
||||
Rebuild();
|
||||
// make sure we update the controls on screen to reflect the different data type
|
||||
Invalidate(new InvalidateArgs(null, InvalidateType.Properties));
|
||||
Invalidate(new InvalidateArgs(null, InvalidateType.DisplayValues));
|
||||
}
|
||||
}
|
||||
else if (change.Changed == nameof(SizeX))
|
||||
|
|
@ -280,7 +280,7 @@ namespace MatterHackers.MatterControl.DesignTools.Operations
|
|||
ScaleRatio[2] = ScaleRatio[0];
|
||||
Rebuild();
|
||||
// and invalidate the other properties
|
||||
Invalidate(new InvalidateArgs(null, InvalidateType.Properties));
|
||||
Invalidate(new InvalidateArgs(null, InvalidateType.DisplayValues));
|
||||
}
|
||||
}
|
||||
else if (change.Changed == nameof(SizeY))
|
||||
|
|
@ -292,7 +292,7 @@ namespace MatterHackers.MatterControl.DesignTools.Operations
|
|||
ScaleRatio[2] = ScaleRatio[1];
|
||||
Rebuild();
|
||||
// and invalidate the other properties
|
||||
Invalidate(new InvalidateArgs(null, InvalidateType.Properties));
|
||||
Invalidate(new InvalidateArgs(null, InvalidateType.DisplayValues));
|
||||
}
|
||||
}
|
||||
else if (change.Changed == nameof(SizeZ))
|
||||
|
|
@ -304,7 +304,7 @@ namespace MatterHackers.MatterControl.DesignTools.Operations
|
|||
ScaleRatio[1] = ScaleRatio[2];
|
||||
Rebuild();
|
||||
// and invalidate the other properties
|
||||
Invalidate(new InvalidateArgs(null, InvalidateType.Properties));
|
||||
Invalidate(new InvalidateArgs(null, InvalidateType.DisplayValues));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -134,11 +134,11 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
override public Task Rebuild()
|
||||
{
|
||||
this.DebugDepth("Rebuild");
|
||||
bool changed = false;
|
||||
bool valuesChanged = false;
|
||||
|
||||
using (RebuildLock())
|
||||
{
|
||||
Sides = agg_basics.Clamp(Sides, 3, 360, ref changed);
|
||||
Sides = agg_basics.Clamp(Sides, 3, 360, ref valuesChanged);
|
||||
Height = Math.Max(Height, .001);
|
||||
Diameter = Math.Max(Diameter, .1);
|
||||
|
||||
|
|
@ -168,9 +168,9 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
}
|
||||
|
||||
Invalidate(InvalidateType.Mesh);
|
||||
if (changed)
|
||||
if (valuesChanged)
|
||||
{
|
||||
Invalidate(InvalidateType.Properties);
|
||||
Invalidate(InvalidateType.DisplayValues);
|
||||
}
|
||||
|
||||
return Task.CompletedTask;
|
||||
|
|
|
|||
|
|
@ -74,10 +74,10 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
override public Task Rebuild()
|
||||
{
|
||||
this.DebugDepth("Rebuild");
|
||||
bool changed = false;
|
||||
bool valuesChanged = false;
|
||||
using (RebuildLock())
|
||||
{
|
||||
Sides = agg_basics.Clamp(Sides, 3, 180, ref changed);
|
||||
Sides = agg_basics.Clamp(Sides, 3, 180, ref valuesChanged);
|
||||
using (new CenterAndHeightMantainer(this))
|
||||
{
|
||||
var path = new VertexStorage();
|
||||
|
|
@ -96,9 +96,9 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
}
|
||||
|
||||
Invalidate(InvalidateType.Mesh);
|
||||
if (changed)
|
||||
if (valuesChanged)
|
||||
{
|
||||
Invalidate(InvalidateType.Properties);
|
||||
Invalidate(InvalidateType.DisplayValues);
|
||||
}
|
||||
|
||||
return Task.CompletedTask;
|
||||
|
|
|
|||
|
|
@ -82,11 +82,11 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
override public Task Rebuild()
|
||||
{
|
||||
this.DebugDepth("Rebuild");
|
||||
bool changed = false;
|
||||
bool valuesChanged = false;
|
||||
using (RebuildLock())
|
||||
{
|
||||
LatitudeSides = agg_basics.Clamp(LatitudeSides, 3, 180, ref changed);
|
||||
LongitudeSides = agg_basics.Clamp(LongitudeSides, 3, 360, ref changed);
|
||||
LatitudeSides = agg_basics.Clamp(LatitudeSides, 3, 180, ref valuesChanged);
|
||||
LongitudeSides = agg_basics.Clamp(LongitudeSides, 3, 360, ref valuesChanged);
|
||||
|
||||
using (new CenterAndHeightMantainer(this))
|
||||
{
|
||||
|
|
@ -107,9 +107,9 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
}
|
||||
|
||||
Invalidate(InvalidateType.Mesh);
|
||||
if (changed)
|
||||
if (valuesChanged)
|
||||
{
|
||||
Invalidate(InvalidateType.Properties);
|
||||
Invalidate(InvalidateType.DisplayValues);
|
||||
}
|
||||
|
||||
return Task.CompletedTask;
|
||||
|
|
|
|||
|
|
@ -94,11 +94,11 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
override public Task Rebuild()
|
||||
{
|
||||
this.DebugDepth("Rebuild");
|
||||
bool changed = false;
|
||||
bool valuesChanged = false;
|
||||
using (RebuildLock())
|
||||
{
|
||||
InnerDiameter = agg_basics.Clamp(InnerDiameter, 0, OuterDiameter - .1, ref changed);
|
||||
Sides = agg_basics.Clamp(Sides, 3, 360, ref changed);
|
||||
InnerDiameter = agg_basics.Clamp(InnerDiameter, 0, OuterDiameter - .1, ref valuesChanged);
|
||||
Sides = agg_basics.Clamp(Sides, 3, 360, ref valuesChanged);
|
||||
|
||||
using (new CenterAndHeightMantainer(this))
|
||||
{
|
||||
|
|
@ -126,9 +126,9 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
}
|
||||
|
||||
Invalidate(InvalidateType.Mesh);
|
||||
if (changed)
|
||||
if (valuesChanged)
|
||||
{
|
||||
Invalidate(InvalidateType.Properties);
|
||||
Invalidate(InvalidateType.DisplayValues);
|
||||
}
|
||||
|
||||
return Task.CompletedTask;
|
||||
|
|
|
|||
|
|
@ -89,11 +89,11 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
override public Task Rebuild()
|
||||
{
|
||||
this.DebugDepth("Rebuild");
|
||||
bool changed = false;
|
||||
bool valuesChanged = false;
|
||||
using (RebuildLock())
|
||||
{
|
||||
Sides = agg_basics.Clamp(Sides, 3, 360, ref changed);
|
||||
LatitudeSides = agg_basics.Clamp(LatitudeSides, 3, 360, ref changed);
|
||||
Sides = agg_basics.Clamp(Sides, 3, 360, ref valuesChanged);
|
||||
LatitudeSides = agg_basics.Clamp(LatitudeSides, 3, 360, ref valuesChanged);
|
||||
|
||||
using (new CenterAndHeightMantainer(this))
|
||||
{
|
||||
|
|
@ -130,9 +130,9 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
|
||||
Invalidate(InvalidateType.Mesh);
|
||||
|
||||
if (changed)
|
||||
if (valuesChanged)
|
||||
{
|
||||
Invalidate(InvalidateType.Properties);
|
||||
Invalidate(InvalidateType.DisplayValues);
|
||||
}
|
||||
|
||||
return Task.CompletedTask;
|
||||
|
|
|
|||
|
|
@ -80,12 +80,12 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
override public Task Rebuild()
|
||||
{
|
||||
this.DebugDepth("Rebuild");
|
||||
bool changed = false;
|
||||
bool valuesChanged = false;
|
||||
using (RebuildLock())
|
||||
{
|
||||
InnerDiameter = agg_basics.Clamp(InnerDiameter, 0, OuterDiameter - .1, ref changed);
|
||||
Sides = agg_basics.Clamp(Sides, 3, 360, ref changed);
|
||||
RingSides = agg_basics.Clamp(RingSides, 3, 360, ref changed);
|
||||
InnerDiameter = agg_basics.Clamp(InnerDiameter, 0, OuterDiameter - .1, ref valuesChanged);
|
||||
Sides = agg_basics.Clamp(Sides, 3, 360, ref valuesChanged);
|
||||
RingSides = agg_basics.Clamp(RingSides, 3, 360, ref valuesChanged);
|
||||
|
||||
var ringSides = RingSides;
|
||||
var startingAngle = StartingAngle;
|
||||
|
|
@ -126,9 +126,9 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
}
|
||||
|
||||
Invalidate(InvalidateType.Mesh);
|
||||
if (changed)
|
||||
if (valuesChanged)
|
||||
{
|
||||
Invalidate(InvalidateType.Properties);
|
||||
Invalidate(InvalidateType.DisplayValues);
|
||||
}
|
||||
|
||||
return Task.CompletedTask;
|
||||
|
|
|
|||
|
|
@ -346,7 +346,7 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
|
||||
void RefreshField(object s, InvalidateArgs e)
|
||||
{
|
||||
if (e.InvalidateType.HasFlag(InvalidateType.Properties))
|
||||
if (e.InvalidateType.HasFlag(InvalidateType.DisplayValues))
|
||||
{
|
||||
double newValue = (double)property.Value;
|
||||
if (newValue != field.DoubleValue)
|
||||
|
|
@ -534,7 +534,7 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
|
||||
void RefreshField(object s, InvalidateArgs e)
|
||||
{
|
||||
if (e.InvalidateType.HasFlag(InvalidateType.Properties))
|
||||
if (e.InvalidateType.HasFlag(InvalidateType.DisplayValues))
|
||||
{
|
||||
int newValue = (int)property.Value;
|
||||
if (newValue != field.IntValue)
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit e21b8ae783c82aa8ee8778bbc91a7014a86575ad
|
||||
Subproject commit 30f02c2147314cec77f699dab2efc4d881f18efa
|
||||
Loading…
Add table
Add a link
Reference in a new issue