From b75ae71d241f56b8996cf65a0d3afd2a074e6e48 Mon Sep 17 00:00:00 2001 From: larsbrubaker Date: Wed, 2 Jul 2014 13:28:51 -0700 Subject: [PATCH] Made 3D views editable while printing (if not the embedded view). Made the eeprom windows have the correct tab stops. --- ControlElements/MHTextEditWidget.cs | 12 +++++++++++ EeProm/EePromMarlinWidget.cs | 27 +++++++++++++++++++----- EeProm/EePromRepetierWidget.cs | 2 ++ PartPreviewWindow/View3DTransfromPart.cs | 26 ++++++++++++++++------- StaticData/Translations/Master.txt | 15 +++++++++++++ 5 files changed, 69 insertions(+), 13 deletions(-) diff --git a/ControlElements/MHTextEditWidget.cs b/ControlElements/MHTextEditWidget.cs index e4788398c..a55fb66b5 100644 --- a/ControlElements/MHTextEditWidget.cs +++ b/ControlElements/MHTextEditWidget.cs @@ -166,6 +166,18 @@ namespace MatterHackers.MatterControl UiThread.RunOnIdle(OnIdle); } + public override int TabIndex + { + get + { + return base.TabIndex; + } + set + { + actuallNumberEdit.TabIndex = value; + } + } + void InternalTextEditWidget_EditComplete(object sender, EventArgs e) { timeSinceLastTextChanged.Stop(); diff --git a/EeProm/EePromMarlinWidget.cs b/EeProm/EePromMarlinWidget.cs index 8be4abacc..fc839dcba 100644 --- a/EeProm/EePromMarlinWidget.cs +++ b/EeProm/EePromMarlinWidget.cs @@ -85,6 +85,8 @@ namespace MatterHackers.MatterControl.EeProm double maxWidthOfLeftStuff = 0; List leftStuffToSize = new List(); + int currentTabIndex = 0; + public EePromMarlinWidget() : base(700, 480) { @@ -265,30 +267,45 @@ namespace MatterHackers.MatterControl.EeProm leftStuffToSize.Add(holder); row.AddChild(holder); - row.AddChild(CreateTextField(field1Label)); - row.AddChild(CreateMHNumEdit(ref field1)); + { + row.AddChild(CreateTextField(field1Label)); + GuiWidget nextTabIndex = CreateMHNumEdit(ref field1); + nextTabIndex.TabIndex = GetNextTabIndex(); + row.AddChild(nextTabIndex); + } if (field2Label != null) { row.AddChild(CreateTextField(field2Label)); - row.AddChild(CreateMHNumEdit(ref field2)); + GuiWidget nextTabIndex = CreateMHNumEdit(ref field2); + nextTabIndex.TabIndex = GetNextTabIndex(); + row.AddChild(nextTabIndex); } if (field3Label != null) { row.AddChild(CreateTextField(field3Label)); - row.AddChild(CreateMHNumEdit(ref field3)); + GuiWidget nextTabIndex = CreateMHNumEdit(ref field3); + nextTabIndex.TabIndex = GetNextTabIndex(); + row.AddChild(nextTabIndex); } if (field4Label != null) { row.AddChild(CreateTextField(field4Label)); - row.AddChild(CreateMHNumEdit(ref field4)); + GuiWidget nextTabIndex = CreateMHNumEdit(ref field4); + nextTabIndex.TabIndex = GetNextTabIndex(); + row.AddChild(nextTabIndex); } return row; } + private int GetNextTabIndex() + { + return currentTabIndex++; + } + private static void CreateSpacer(FlowLayoutWidget buttonBar) { GuiWidget spacer = new GuiWidget(1, 1); diff --git a/EeProm/EePromRepetierWidget.cs b/EeProm/EePromRepetierWidget.cs index 978959be9..4381e6c15 100644 --- a/EeProm/EePromRepetierWidget.cs +++ b/EeProm/EePromRepetierWidget.cs @@ -178,6 +178,7 @@ namespace MatterHackers.MatterControl.EeProm } } + int currentTabIndex = 0; void AddItemToUi(object state) { EePromRepetierParameter newSetting = state as EePromRepetierParameter; @@ -197,6 +198,7 @@ namespace MatterHackers.MatterControl.EeProm double currentValue; double.TryParse(newSetting.Value, out currentValue); MHNumberEdit valueEdit = new MHNumberEdit(currentValue, pixelWidth: 80, allowNegatives: true, allowDecimals: true); + valueEdit.TabIndex = currentTabIndex++; valueEdit.VAnchor = Agg.UI.VAnchor.ParentCenter; valueEdit.ActuallNumberEdit.EditComplete += (sender, e) => { diff --git a/PartPreviewWindow/View3DTransfromPart.cs b/PartPreviewWindow/View3DTransfromPart.cs index 939d71e87..91ad74d7c 100644 --- a/PartPreviewWindow/View3DTransfromPart.cs +++ b/PartPreviewWindow/View3DTransfromPart.cs @@ -62,6 +62,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow public class View3DTransformPart : PartPreview3DWidget { + public WindowType windowType { get; set; } + FlowLayoutWidget viewOptionContainer; FlowLayoutWidget rotateOptionContainer; FlowLayoutWidget scaleOptionContainer; @@ -252,6 +254,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow public View3DTransformPart(PrintItemWrapper printItemWrapper, Vector3 viewerVolume, MeshViewerWidget.BedShape bedShape, WindowType windowType, AutoRotate autoRotate) { + this.windowType = windowType; autoRotateEnabled = (autoRotate == AutoRotate.Enabled); MeshExtraData = new List(); MeshExtraData.Add(new PlatingMeshData()); @@ -461,16 +464,23 @@ namespace MatterHackers.MatterControl.PartPreviewWindow void SetEditControlsBasedOnPrinterState(object sender, EventArgs e) { - switch (PrinterConnectionAndCommunication.Instance.CommunicationState) + if (windowType == WindowType.Embeded) { - case PrinterConnectionAndCommunication.CommunicationStates.Printing: - case PrinterConnectionAndCommunication.CommunicationStates.Paused: - LockEditControls(); - break; + switch (PrinterConnectionAndCommunication.Instance.CommunicationState) + { + case PrinterConnectionAndCommunication.CommunicationStates.Printing: + case PrinterConnectionAndCommunication.CommunicationStates.Paused: + LockEditControls(); + break; - default: - UnlockEditControls(); - break; + default: + UnlockEditControls(); + break; + } + } + else + { + UnlockEditControls(); } } diff --git a/StaticData/Translations/Master.txt b/StaticData/Translations/Master.txt index 57cd316ae..9bec4e124 100644 --- a/StaticData/Translations/Master.txt +++ b/StaticData/Translations/Master.txt @@ -2493,3 +2493,18 @@ Translated:Go To Status English:View Status Translated:View Status +English:Description +Translated:Description + +English:Value +Translated:Value + +English:Save To EEPROM +Translated:Save To EEPROM + +English:Firmware EEPROM Settings +Translated:Firmware EEPROM Settings + +English:Save to EEPROM +Translated:Save to EEPROM +