Only invalidate the editor display when appropriate, rather than the part

This commit is contained in:
LarsBrubaker 2019-02-03 10:05:01 -08:00
parent 25dbd4f857
commit d135a3be82
10 changed files with 41 additions and 41 deletions

View file

@ -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;

View file

@ -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));
}
}
}

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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