Don't show make selector if there is only one option.
This commit is contained in:
parent
e7a4ca2a8d
commit
a19896df66
2 changed files with 35 additions and 5 deletions
|
|
@ -16,6 +16,8 @@ namespace MatterHackers.MatterControl
|
|||
public class PrinterChooser : GuiWidget
|
||||
{
|
||||
public StyledDropDownList ManufacturerDropList;
|
||||
private int countOfMakes = 0;
|
||||
public int CountOfMakes { get { return countOfMakes; } }
|
||||
|
||||
public PrinterChooser(string selectedMake = null)
|
||||
{
|
||||
|
|
@ -54,6 +56,7 @@ namespace MatterHackers.MatterControl
|
|||
index++;
|
||||
|
||||
}
|
||||
countOfMakes += 1;
|
||||
}
|
||||
}
|
||||
if (addOther)
|
||||
|
|
@ -70,7 +73,10 @@ namespace MatterHackers.MatterControl
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
if (ManufacturerDropList.CountVisibleChildren() == 1)
|
||||
{
|
||||
ManufacturerDropList.SelectedIndex = 0;
|
||||
}
|
||||
AddChild(ManufacturerDropList);
|
||||
|
||||
HAnchor = HAnchor.FitToChildren;
|
||||
|
|
@ -81,6 +87,8 @@ namespace MatterHackers.MatterControl
|
|||
public class ModelChooser : GuiWidget
|
||||
{
|
||||
public StyledDropDownList ModelDropList;
|
||||
private int countOfModels = 0;
|
||||
public int CountOfModels { get { return countOfModels; } }
|
||||
|
||||
public ModelChooser(string manufacturer)
|
||||
{
|
||||
|
|
@ -95,6 +103,7 @@ namespace MatterHackers.MatterControl
|
|||
{
|
||||
string model = Path.GetFileName(manufacturerDirectory);
|
||||
ModelDropList.AddItem(model);
|
||||
countOfModels += 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,8 @@ namespace MatterHackers.MatterControl.PrinterControls.PrinterConnections
|
|||
TextWidget printerNameError;
|
||||
TextWidget printerModelError;
|
||||
TextWidget printerMakeError;
|
||||
|
||||
PrinterChooser printerManufacturerSelector;
|
||||
|
||||
Button nextButton;
|
||||
|
||||
|
|
@ -37,7 +39,20 @@ namespace MatterHackers.MatterControl.PrinterControls.PrinterConnections
|
|||
//Construct inputs
|
||||
printerNameContainer = createPrinterNameContainer();
|
||||
printerMakeContainer = createPrinterMakeContainer();
|
||||
printerModelContainer = createPrinterModelContainer();
|
||||
|
||||
|
||||
if (printerManufacturerSelector.CountOfMakes == 1)
|
||||
{
|
||||
ActivePrinter.Make = printerManufacturerSelector.ManufacturerDropList.SelectedValue;
|
||||
|
||||
printerMakeContainer.Visible = false;
|
||||
printerModelContainer = createPrinterModelContainer(printerManufacturerSelector.ManufacturerDropList.SelectedValue);
|
||||
printerModelContainer.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
printerModelContainer = createPrinterModelContainer();
|
||||
}
|
||||
|
||||
//Add inputs to main container
|
||||
contentRow.AddChild(printerNameContainer);
|
||||
|
|
@ -62,7 +77,7 @@ namespace MatterHackers.MatterControl.PrinterControls.PrinterConnections
|
|||
}
|
||||
|
||||
private void SetElementState()
|
||||
{
|
||||
{
|
||||
printerModelContainer.Visible = (this.ActivePrinter.Make != null);
|
||||
nextButton.Visible = (this.ActivePrinter.Model != null && this.ActivePrinter.Make !=null);
|
||||
}
|
||||
|
|
@ -109,7 +124,7 @@ namespace MatterHackers.MatterControl.PrinterControls.PrinterConnections
|
|||
printerManufacturerLabel.HAnchor = HAnchor.ParentLeftRight;
|
||||
printerManufacturerLabel.Margin = elementMargin;
|
||||
|
||||
PrinterChooser printerManufacturerSelector = new PrinterChooser();
|
||||
printerManufacturerSelector = new PrinterChooser();
|
||||
printerManufacturerSelector.HAnchor = HAnchor.ParentLeftRight;
|
||||
printerManufacturerSelector.Margin = elementMargin;
|
||||
printerManufacturerSelector.ManufacturerDropList.SelectionChanged += new EventHandler(ManufacturerDropList_SelectionChanged);
|
||||
|
|
@ -127,6 +142,8 @@ namespace MatterHackers.MatterControl.PrinterControls.PrinterConnections
|
|||
return container;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private FlowLayoutWidget createPrinterModelContainer(string make = "Other")
|
||||
{
|
||||
FlowLayoutWidget container = new FlowLayoutWidget(FlowDirection.TopToBottom);
|
||||
|
|
@ -163,7 +180,12 @@ namespace MatterHackers.MatterControl.PrinterControls.PrinterConnections
|
|||
{
|
||||
ActivePrinter.Make = ((DropDownList)sender).SelectedLabel;
|
||||
ActivePrinter.Model = null;
|
||||
ReconstructModelSelector();
|
||||
SetElementState();
|
||||
}
|
||||
|
||||
private void ReconstructModelSelector()
|
||||
{
|
||||
//reconstruct model selector
|
||||
int currentIndex = contentRow.GetChildIndex(printerModelContainer);
|
||||
contentRow.RemoveChild(printerModelContainer);
|
||||
|
|
@ -173,7 +195,6 @@ namespace MatterHackers.MatterControl.PrinterControls.PrinterConnections
|
|||
contentRow.Invalidate();
|
||||
|
||||
printerMakeError.Visible = false;
|
||||
SetElementState();
|
||||
}
|
||||
|
||||
private void ModelDropList_SelectionChanged(object sender, EventArgs e)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue