100 lines
2.8 KiB
C#
100 lines
2.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.IO.Ports;
|
|
using System.Diagnostics;
|
|
|
|
using MatterHackers.Agg;
|
|
using MatterHackers.Agg.UI;
|
|
using MatterHackers.Agg.OpenGlGui;
|
|
using MatterHackers.PolygonMesh;
|
|
using MatterHackers.RenderOpenGl;
|
|
using MatterHackers.VectorMath;
|
|
using MatterHackers.MatterControl.DataStorage;
|
|
using MatterHackers.Localizations;
|
|
|
|
namespace MatterHackers.MatterControl.PrinterControls.PrinterConnections
|
|
{
|
|
public class ConnectionWindow : SystemWindow
|
|
{
|
|
Printer activePrinter;
|
|
bool editMode = false;
|
|
|
|
public ConnectionWindow()
|
|
: base(350, 500)
|
|
{
|
|
Title = new LocalizedString("MatterControl - Connect to Printer").Translated;
|
|
if (GetPrinterRecordCount() > 0)
|
|
{
|
|
ChangeToChoosePrinter();
|
|
}
|
|
else
|
|
{
|
|
ChangeToAddPrinter();
|
|
}
|
|
|
|
this.ShowAsSystemWindow();
|
|
MinimumSize = new Vector2(350, 400);
|
|
|
|
}
|
|
|
|
public override void OnMouseUp(MouseEventArgs mouseEvent)
|
|
{
|
|
base.OnMouseUp(mouseEvent);
|
|
}
|
|
|
|
private void DoNotChangeWindow()
|
|
{
|
|
//Empty function used as default callback for changeToWindowCallback
|
|
}
|
|
|
|
public void ChangeToAddPrinter()
|
|
{
|
|
this.activePrinter = null;
|
|
UiThread.RunOnIdle(DoChangeToAddPrinter);
|
|
}
|
|
|
|
private void DoChangeToAddPrinter(object state)
|
|
{
|
|
GuiWidget addConnectionWidget = new SetupStepMakeModelName(this, this);
|
|
this.RemoveAllChildren();
|
|
this.AddChild(addConnectionWidget);
|
|
this.Invalidate();
|
|
}
|
|
|
|
public void ChangedToEditPrinter(Printer activePrinter)
|
|
{
|
|
this.activePrinter = activePrinter;
|
|
UiThread.RunOnIdle(DoChangeToEditPrinter);
|
|
}
|
|
|
|
public void ChangeToChoosePrinter(bool editMode = false)
|
|
{
|
|
this.editMode = editMode;
|
|
UiThread.RunOnIdle(DoChangeToChoosePrinter);
|
|
}
|
|
|
|
public void DoChangeToChoosePrinter(object state)
|
|
{
|
|
GuiWidget chooseConnectionWidget = new ChooseConnectionWidget(this, this, this.editMode);
|
|
this.RemoveAllChildren();
|
|
this.AddChild(chooseConnectionWidget);
|
|
this.Invalidate();
|
|
}
|
|
|
|
private void DoChangeToEditPrinter(object state)
|
|
{
|
|
GuiWidget addConnectionWidget = new EditConnectionWidget(this, this, activePrinter);
|
|
this.RemoveAllChildren();
|
|
this.AddChild(addConnectionWidget);
|
|
this.Invalidate();
|
|
|
|
}
|
|
|
|
int GetPrinterRecordCount()
|
|
{
|
|
return Datastore.Instance.RecordCount("Printer");
|
|
}
|
|
}
|
|
}
|