Extract button factory to shared instance
This commit is contained in:
parent
2a50aa80a1
commit
0613f8c8b9
4 changed files with 33 additions and 44 deletions
|
|
@ -1,14 +1,12 @@
|
|||
using MatterHackers.Agg;
|
||||
using System;
|
||||
using MatterHackers.Agg;
|
||||
using MatterHackers.Agg.UI;
|
||||
using System;
|
||||
using MatterHackers.Localizations;
|
||||
|
||||
namespace MatterHackers.MatterControl
|
||||
{
|
||||
public class EditableNumberDisplay : FlowLayoutWidget
|
||||
{
|
||||
protected ClickWidget clickableValueContainer;
|
||||
protected Button setButton;
|
||||
protected MHNumberEdit numberInputField;
|
||||
protected TextWidget valueDisplay;
|
||||
|
||||
|
|
@ -16,7 +14,7 @@ namespace MatterHackers.MatterControl
|
|||
|
||||
public event EventHandler EditEnabled;
|
||||
|
||||
public EditableNumberDisplay(TextImageButtonFactory textImageButtonFactory, string startingValue, string largestPossibleValue)
|
||||
public EditableNumberDisplay(string startingValue, string largestPossibleValue)
|
||||
: base(Agg.UI.FlowDirection.LeftToRight)
|
||||
{
|
||||
this.Margin = new BorderDouble(3, 0);
|
||||
|
|
@ -61,11 +59,6 @@ namespace MatterHackers.MatterControl
|
|||
// TODO: This hack needs a unit test and then pass and then remove this line.
|
||||
this.MinimumSize = new VectorMath.Vector2(0, numberInputField.Height);
|
||||
|
||||
setButton = textImageButtonFactory.Generate("SET".Localize());
|
||||
setButton.VAnchor = VAnchor.ParentCenter;
|
||||
setButton.Margin = new BorderDouble(left: 6);
|
||||
setButton.Visible = false;
|
||||
|
||||
numberInputField.ActuallNumberEdit.EnterPressed += new KeyEventHandler(ActuallNumberEdit_EnterPressed);
|
||||
|
||||
numberInputField.KeyDown += (sender, e) =>
|
||||
|
|
@ -74,15 +67,11 @@ namespace MatterHackers.MatterControl
|
|||
{
|
||||
clickableValueContainer.Visible = true;
|
||||
numberInputField.Visible = false;
|
||||
setButton.Visible = false;
|
||||
}
|
||||
};
|
||||
|
||||
setButton.Click += setButton_Click;
|
||||
|
||||
this.AddChild(clickableValueContainer);
|
||||
this.AddChild(numberInputField);
|
||||
this.AddChild(setButton);
|
||||
}
|
||||
|
||||
private void editField_Click(object sender, EventArgs mouseEvent)
|
||||
|
|
@ -102,24 +91,17 @@ namespace MatterHackers.MatterControl
|
|||
|
||||
numberInputField.ActuallNumberEdit.InternalNumberEdit.Focus();
|
||||
numberInputField.ActuallNumberEdit.InternalNumberEdit.SelectAll();
|
||||
setButton.Visible = true;
|
||||
OnEditEnabled();
|
||||
}
|
||||
|
||||
public void OnEditEnabled()
|
||||
{
|
||||
if (EditEnabled != null)
|
||||
{
|
||||
EditEnabled(this, null);
|
||||
}
|
||||
EditEnabled?.Invoke(this, null);
|
||||
}
|
||||
|
||||
public void OnEditComplete()
|
||||
{
|
||||
if (EditComplete != null)
|
||||
{
|
||||
EditComplete(this, null);
|
||||
}
|
||||
EditComplete?.Invoke(this, null);
|
||||
}
|
||||
|
||||
private void setButton_Click(object sender, EventArgs mouseEvent)
|
||||
|
|
@ -137,13 +119,11 @@ namespace MatterHackers.MatterControl
|
|||
valueDisplay.Text = displayString;
|
||||
clickableValueContainer.Visible = true;
|
||||
numberInputField.Visible = false;
|
||||
setButton.Visible = false;
|
||||
}
|
||||
|
||||
public double GetValue()
|
||||
{
|
||||
double targetTemp = numberInputField.ActuallNumberEdit.Value;
|
||||
return targetTemp;
|
||||
return numberInputField.ActuallNumberEdit.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue