Made a 2 panel mode. Took out the other 3 panel mode.
This commit is contained in:
parent
740d003723
commit
82b529f30e
4 changed files with 16 additions and 183 deletions
|
|
@ -54,8 +54,7 @@ namespace MatterHackers.MatterControl
|
|||
{
|
||||
public class WidescreenPanel : FlowLayoutWidget
|
||||
{
|
||||
static readonly int ColumnOneFixedWidth = 500;
|
||||
static readonly int ColumnTheeFixedWidth = 590;
|
||||
static readonly int ColumnOneFixedWidth = 590;
|
||||
static int lastNumberOfVisiblePanels;
|
||||
|
||||
public TabPage AboutTabPage;
|
||||
|
|
@ -64,14 +63,9 @@ namespace MatterHackers.MatterControl
|
|||
|
||||
FlowLayoutWidget ColumnOne;
|
||||
FlowLayoutWidget ColumnTwo;
|
||||
FlowLayoutWidget ColumnThree;
|
||||
double Force1PanelWidth = 990 * TextWidget.GlobalPointSizeScaleRatio;
|
||||
double Force2PanelWidth = 1590 * TextWidget.GlobalPointSizeScaleRatio;
|
||||
|
||||
View3DWidget part3DView;
|
||||
ViewGcodeBasic partGcodeView;
|
||||
|
||||
PanelSeparator RightBorderLine;
|
||||
GuiWidget leftBorderLine;
|
||||
|
||||
event EventHandler unregisterEvents;
|
||||
|
|
@ -143,13 +137,6 @@ namespace MatterHackers.MatterControl
|
|||
base.OnClosed(e);
|
||||
}
|
||||
|
||||
void onRightBorderClick(object sender, EventArgs e)
|
||||
{
|
||||
RightBorderLine.PushedRight = !RightBorderLine.PushedRight;
|
||||
UserSettings.Instance.Fields.ThirdPannelVisible = !RightBorderLine.PushedRight;
|
||||
UiThread.RunOnIdle(SetColumnVisibility);
|
||||
}
|
||||
|
||||
void onActivePrintItemChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (NumberOfVisiblePanels() > 1)
|
||||
|
|
@ -183,6 +170,12 @@ namespace MatterHackers.MatterControl
|
|||
{
|
||||
ColumnTwo.CloseAndRemoveAllChildren();
|
||||
|
||||
#if true
|
||||
PartPreviewContent partViewContent = new PartPreviewContent(PrinterConnectionAndCommunication.Instance.ActivePrintItem, true, View3DWidget.AutoRotate.Enabled, false);
|
||||
partViewContent.AnchorAll();
|
||||
|
||||
ColumnTwo.AddChild(partViewContent);
|
||||
#else
|
||||
double buildHeight = ActiveSliceSettings.Instance.BuildHeight;
|
||||
|
||||
part3DView = new View3DWidget(PrinterConnectionAndCommunication.Instance.ActivePrintItem,
|
||||
|
|
@ -203,34 +196,19 @@ namespace MatterHackers.MatterControl
|
|||
|
||||
ColumnTwo.AddChild(part3DView);
|
||||
ColumnTwo.AddChild(partGcodeView);
|
||||
#endif
|
||||
|
||||
ColumnTwo.AnchorAll();
|
||||
}
|
||||
|
||||
static int ColumnThreeCount = 0;
|
||||
void LoadColumnThree(object state = null)
|
||||
{
|
||||
ColumnThree.CloseAndRemoveAllChildren();
|
||||
ThirdPanelTabView thirdPanelTabView = new ThirdPanelTabView();
|
||||
thirdPanelTabView.Name = "For - WideScreenPanel {0}".FormatWith(ColumnThreeCount++);
|
||||
ColumnThree.AddChild(thirdPanelTabView);
|
||||
ColumnThree.Width = ColumnTheeFixedWidth; //Ordering here matters - must go after children are added
|
||||
}
|
||||
|
||||
int NumberOfVisiblePanels()
|
||||
{
|
||||
if (this.Width < Force1PanelWidth)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else if (this.Width < Force2PanelWidth)
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
|
||||
return 2;
|
||||
}
|
||||
|
||||
public void RecreateAllPanels(object state = null)
|
||||
|
|
@ -253,13 +231,9 @@ namespace MatterHackers.MatterControl
|
|||
break;
|
||||
|
||||
case 2:
|
||||
case 3:
|
||||
ApplicationController.Instance.WidescreenMode = true;
|
||||
|
||||
LoadColumnOne();
|
||||
// make sure we restore the state of column one because LoadColumnThree is going to save it.
|
||||
LoadColumnTwo();
|
||||
LoadColumnThree();
|
||||
ApplicationController.Instance.WidescreenMode = false;
|
||||
LoadCompactView();
|
||||
LoadColumnTwo();
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -276,13 +250,11 @@ namespace MatterHackers.MatterControl
|
|||
{
|
||||
case 1:
|
||||
{
|
||||
ColumnThree.Visible = false;
|
||||
ColumnTwo.Visible = false;
|
||||
ColumnOne.Visible = true;
|
||||
|
||||
Padding = new BorderDouble(0);
|
||||
|
||||
RightBorderLine.Visible = false;
|
||||
leftBorderLine.Visible = false;
|
||||
}
|
||||
break;
|
||||
|
|
@ -290,35 +262,9 @@ namespace MatterHackers.MatterControl
|
|||
case 2:
|
||||
Padding = new BorderDouble(4);
|
||||
ColumnOne.Visible = true;
|
||||
RightBorderLine.Visible = true;
|
||||
if (RightBorderLine.PushedRight)
|
||||
{
|
||||
leftBorderLine.Visible = true;
|
||||
ColumnThree.Visible = false;
|
||||
ColumnTwo.Visible = true;
|
||||
ColumnOne.HAnchor = Agg.UI.HAnchor.None;
|
||||
}
|
||||
else
|
||||
{
|
||||
leftBorderLine.Visible = false;
|
||||
ColumnThree.Visible = true;
|
||||
ColumnTwo.Visible = false;
|
||||
ColumnOne.HAnchor = Agg.UI.HAnchor.ParentLeftRight;
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
//All three columns shown
|
||||
Padding = new BorderDouble(4);
|
||||
|
||||
//If the middle column is hidden, left/right anchor the left column
|
||||
ColumnTwo.Visible = true;
|
||||
ColumnOne.HAnchor = Agg.UI.HAnchor.None;
|
||||
ColumnOne.Width = ColumnOneFixedWidth;
|
||||
|
||||
ColumnOne.Visible = true;
|
||||
leftBorderLine.Visible = true;
|
||||
RightBorderLine.Visible = true;
|
||||
ColumnThree.Visible = !RightBorderLine.PushedRight;
|
||||
ColumnOne.Width = ColumnOneFixedWidth; // it can hold the slice settings so it needs to be bigger.
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -334,11 +280,6 @@ namespace MatterHackers.MatterControl
|
|||
|
||||
ColumnOne = new FlowLayoutWidget(FlowDirection.TopToBottom);
|
||||
ColumnTwo = new FlowLayoutWidget(FlowDirection.TopToBottom);
|
||||
ColumnThree = new FlowLayoutWidget(FlowDirection.TopToBottom);
|
||||
ColumnThree.VAnchor = VAnchor.ParentBottomTop;
|
||||
|
||||
RightBorderLine = new PanelSeparator();
|
||||
RightBorderLine.PushedRight = !UserSettings.Instance.Fields.ThirdPannelVisible;
|
||||
|
||||
AddChild(ColumnOne);
|
||||
leftBorderLine = new GuiWidget(vAnchor: VAnchor.ParentBottomTop);
|
||||
|
|
@ -352,19 +293,11 @@ namespace MatterHackers.MatterControl
|
|||
};
|
||||
AddChild(leftBorderLine);
|
||||
AddChild(ColumnTwo);
|
||||
AddChild(RightBorderLine);
|
||||
AddChild(ColumnThree);
|
||||
|
||||
RightBorderLine.Click += new EventHandler(onRightBorderClick);
|
||||
}
|
||||
|
||||
public void ReloadAdvancedControlsPanel(object state)
|
||||
{
|
||||
PreChangePanels.CallEvents(this, null);
|
||||
if (NumberOfVisiblePanels() > 1)
|
||||
{
|
||||
UiThread.RunOnIdle(LoadColumnThree);
|
||||
}
|
||||
}
|
||||
|
||||
public void LoadSettingsOnPrinterChanged(object sender, EventArgs e)
|
||||
|
|
|
|||
|
|
@ -1,99 +0,0 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using MatterHackers.Agg.Image;
|
||||
using MatterHackers.Agg;
|
||||
using MatterHackers.VectorMath;
|
||||
using MatterHackers.Agg.Font;
|
||||
using MatterHackers.Agg.Transform;
|
||||
using MatterHackers.Agg.VertexSource;
|
||||
using MatterHackers.Agg.PlatformAbstract;
|
||||
using MatterHackers.Agg.UI;
|
||||
using MatterHackers.MatterControl.DataStorage;
|
||||
|
||||
namespace MatterHackers.MatterControl.CustomWidgets
|
||||
{
|
||||
class PanelSeparator : ClickWidget
|
||||
{
|
||||
RGBA_Bytes defaultBackgroundColor;
|
||||
RGBA_Bytes hoverBackgroundColor;
|
||||
bool pushedRight;
|
||||
ImageBuffer rightArrowIndicator;
|
||||
ImageBuffer leftArrowIndicator;
|
||||
|
||||
public bool PushedRight
|
||||
{
|
||||
get { return pushedRight; }
|
||||
set
|
||||
{
|
||||
if (pushedRight != value)
|
||||
{
|
||||
pushedRight = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnDraw(Graphics2D graphics2D)
|
||||
{
|
||||
BackBuffer.SetRecieveBlender(new BlenderBGRA());
|
||||
RectangleDouble bounds = LocalBounds;
|
||||
TypeFacePrinter printer;
|
||||
Vector2 center = new Vector2((bounds.Right - bounds.Left) / 2, (bounds.Top - bounds.Bottom) / 2);
|
||||
int textMargin = 20;
|
||||
if (pushedRight)
|
||||
{
|
||||
printer = new TypeFacePrinter("Advanced Controls", justification: Justification.Center, baseline: Baseline.BoundsCenter);
|
||||
Vector2 textSize = printer.GetSize();
|
||||
graphics2D.Render(leftArrowIndicator, new Vector2(center.x - leftArrowIndicator.Width / 2, center.y - leftArrowIndicator.Height / 2 - (textSize.x / 2 + textMargin)));
|
||||
graphics2D.Render(leftArrowIndicator, new Vector2(center.x - leftArrowIndicator.Width / 2, center.y - leftArrowIndicator.Height / 2 + (textSize.x / 2 + textMargin)));
|
||||
}
|
||||
else
|
||||
{
|
||||
printer = new TypeFacePrinter("Part View", justification: Justification.Center, baseline: Baseline.BoundsCenter);
|
||||
Vector2 textSize = printer.GetSize();
|
||||
graphics2D.Render(rightArrowIndicator, new Vector2(center.x - rightArrowIndicator.Width / 2, center.y - rightArrowIndicator.Height / 2 - (textSize.x / 2 + textMargin)));
|
||||
graphics2D.Render(rightArrowIndicator, new Vector2(center.x - rightArrowIndicator.Width / 2, center.y - rightArrowIndicator.Height / 2 + (textSize.x / 2 + textMargin)));
|
||||
}
|
||||
VertexSourceApplyTransform rotated = new VertexSourceApplyTransform(printer, Affine.NewRotation(MathHelper.Tau / 4));
|
||||
VertexSourceApplyTransform positioned = new VertexSourceApplyTransform(rotated, Affine.NewTranslation(center.x, center.y));
|
||||
graphics2D.Render(positioned, RGBA_Bytes.White);
|
||||
|
||||
base.OnDraw(graphics2D);
|
||||
}
|
||||
|
||||
public PanelSeparator()
|
||||
: base(24, 1)
|
||||
{
|
||||
AddHandlers();
|
||||
|
||||
hoverBackgroundColor = new RGBA_Bytes(100, 100, 100);
|
||||
defaultBackgroundColor = new RGBA_Bytes(160, 160, 160);
|
||||
|
||||
rightArrowIndicator = StaticData.Instance.LoadIcon("icon_arrow_right_16x16.png");
|
||||
leftArrowIndicator = StaticData.Instance.LoadIcon("icon_arrow_left_16x16.png");
|
||||
|
||||
this.PushedRight = false;
|
||||
this.BackgroundColor = defaultBackgroundColor;
|
||||
this.VAnchor = VAnchor.ParentBottomTop;
|
||||
this.Margin = new BorderDouble(8, 0);
|
||||
this.Cursor = Cursors.Hand;
|
||||
|
||||
DoubleBuffer = true;
|
||||
}
|
||||
|
||||
void AddHandlers()
|
||||
{
|
||||
this.MouseEnterBounds += new EventHandler(PanelSeparator_MouseEnterBounds);
|
||||
this.MouseLeaveBounds += new EventHandler(PanelSeparator_MouseLeaveBounds);
|
||||
}
|
||||
|
||||
void PanelSeparator_MouseLeaveBounds(object sender, EventArgs e)
|
||||
{
|
||||
this.BackgroundColor = defaultBackgroundColor;
|
||||
}
|
||||
|
||||
void PanelSeparator_MouseEnterBounds(object sender, EventArgs e)
|
||||
{
|
||||
this.BackgroundColor = hoverBackgroundColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -122,7 +122,6 @@
|
|||
<Compile Include="CustomWidgets\DoubleSolidSlider.cs" />
|
||||
<Compile Include="CustomWidgets\FatFlatClickWidget.cs" />
|
||||
<Compile Include="CustomWidgets\FlowSpacers.cs" />
|
||||
<Compile Include="CustomWidgets\PanelSeparator.cs" />
|
||||
<Compile Include="CustomWidgets\SlideWidget.cs" />
|
||||
<Compile Include="CustomWidgets\SolidProgressControl.cs" />
|
||||
<Compile Include="CustomWidgets\SolidSlider.cs" />
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@ namespace MatterHackers.MatterControl
|
|||
}
|
||||
|
||||
this.AddChild(ApplicationController.Instance.MainView);
|
||||
this.MinimumSize = new Vector2(400, 400);
|
||||
this.MinimumSize = new Vector2(570, 600);
|
||||
this.Padding = new BorderDouble(0); //To be re-enabled once native borders are turned off
|
||||
|
||||
#if false // this is to test freeing gcodefile memory
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue