Put in a Settings menu that can open the various pop out windows
This commit is contained in:
parent
a0aac24419
commit
cbefcfdfee
5 changed files with 128 additions and 2 deletions
|
|
@ -31,6 +31,8 @@ namespace MatterHackers.MatterControl
|
|||
MenuOptionView menuOptionView = new MenuOptionView();
|
||||
this.AddChild(menuOptionView);
|
||||
#endif
|
||||
MenuOptionSettings menuOptionSettings = new MenuOptionSettings();
|
||||
this.AddChild(menuOptionSettings);
|
||||
|
||||
// put in the help menu
|
||||
MenuOptionHelp menuOptionHelp = new MenuOptionHelp();
|
||||
|
|
|
|||
108
ApplicationView/MenuRow/MenuOptionSettings.cs
Normal file
108
ApplicationView/MenuRow/MenuOptionSettings.cs
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
using MatterHackers.Agg;
|
||||
using MatterHackers.Agg.UI;
|
||||
using MatterHackers.Localizations;
|
||||
using MatterHackers.MatterControl.DataStorage;
|
||||
using MatterHackers.MatterControl.PrinterCommunication;
|
||||
using MatterHackers.MatterControl.PrinterControls.PrinterConnections;
|
||||
using MatterHackers.MatterControl.PrintQueue;
|
||||
using MatterHackers.VectorMath;
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
namespace MatterHackers.MatterControl
|
||||
{
|
||||
public class MenuOptionSettings : GuiWidget
|
||||
{
|
||||
public DropDownMenu MenuDropList;
|
||||
private TupleList<string, Func<bool>> menuItems;
|
||||
|
||||
static public PopOutTextTabWidget sliceSettingsPopOut = null;
|
||||
static public PopOutTextTabWidget controlsPopOut = null;
|
||||
|
||||
public MenuOptionSettings()
|
||||
{
|
||||
MenuDropList = new DropDownMenu("Settings".Localize().ToUpper(), Direction.Down, pointSize: 10);
|
||||
MenuDropList.MenuItemsPadding = new BorderDouble(0);
|
||||
MenuDropList.Margin = new BorderDouble(0);
|
||||
MenuDropList.Padding = new BorderDouble(0);
|
||||
|
||||
SetMenuItems();
|
||||
|
||||
AddChild(MenuDropList);
|
||||
this.Width = 84 * TextWidget.GlobalPointSizeScaleRatio; ;
|
||||
this.Height = 22 * TextWidget.GlobalPointSizeScaleRatio; ;
|
||||
this.Margin = new BorderDouble(0);
|
||||
this.Padding = new BorderDouble(0);
|
||||
this.VAnchor = Agg.UI.VAnchor.ParentCenter;
|
||||
this.MenuDropList.SelectionChanged += new EventHandler(MenuDropList_SelectionChanged);
|
||||
this.MenuDropList.OpenOffset = new Vector2(0, 0);
|
||||
}
|
||||
|
||||
private void MenuDropList_SelectionChanged(object sender, EventArgs e)
|
||||
{
|
||||
string menuSelection = ((DropDownMenu)sender).SelectedValue;
|
||||
foreach (Tuple<string, Func<bool>> item in menuItems)
|
||||
{
|
||||
if (item.Item1 == menuSelection)
|
||||
{
|
||||
if (item.Item2 != null)
|
||||
{
|
||||
item.Item2();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void SetMenuItems()
|
||||
{
|
||||
menuItems = new TupleList<string, Func<bool>>
|
||||
{
|
||||
{LocalizedString.Get("Printing"), openPrintingPannel_Click},
|
||||
{LocalizedString.Get("Controls"), openControlsPannel_Click},
|
||||
{LocalizedString.Get("Show Terminal"), openTermanialPannel_Click},
|
||||
};
|
||||
|
||||
BorderDouble padding = MenuDropList.MenuItemsPadding;
|
||||
//Add the menu items to the menu itself
|
||||
foreach (Tuple<string, Func<bool>> item in menuItems)
|
||||
{
|
||||
MenuDropList.MenuItemsPadding = new BorderDouble(8, 4, 8, 4) * TextWidget.GlobalPointSizeScaleRatio;
|
||||
MenuDropList.AddItem(item.Item1, pointSize: 10);
|
||||
}
|
||||
MenuDropList.Padding = padding;
|
||||
}
|
||||
|
||||
private bool openPrintingPannel_Click()
|
||||
{
|
||||
UiThread.RunOnIdle((state) =>
|
||||
{
|
||||
if (sliceSettingsPopOut != null)
|
||||
{
|
||||
sliceSettingsPopOut.ShowInWindow();
|
||||
}
|
||||
});
|
||||
return true;
|
||||
}
|
||||
|
||||
private bool openControlsPannel_Click()
|
||||
{
|
||||
UiThread.RunOnIdle((state) =>
|
||||
{
|
||||
if (controlsPopOut != null)
|
||||
{
|
||||
controlsPopOut.ShowInWindow();
|
||||
}
|
||||
});
|
||||
return true;
|
||||
}
|
||||
|
||||
private bool openTermanialPannel_Click()
|
||||
{
|
||||
UiThread.RunOnIdle((state) =>
|
||||
{
|
||||
TerminalWindow.Show();
|
||||
});
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -127,8 +127,18 @@ namespace MatterHackers.MatterControl
|
|||
string printerControlsLabel = LocalizedString.Get("Controls").ToUpper();
|
||||
sliceSettingsWidget = new SliceSettingsWidget();
|
||||
|
||||
advancedControls.AddTab(new PopOutTextTabWidget(new TabPage(sliceSettingsWidget, sliceSettingsLabel), SliceSettingsTabName, new Vector2(590, 400), textSize));
|
||||
advancedControls.AddTab(new PopOutTextTabWidget(new TabPage(manualPrinterControlsScrollArea, printerControlsLabel), ControlsTabName, new Vector2(400, 300), textSize));
|
||||
TabPage sliceSettingsTabPage = new TabPage(sliceSettingsWidget, sliceSettingsLabel);
|
||||
PopOutTextTabWidget sliceSettingPopOut = new PopOutTextTabWidget(sliceSettingsTabPage, SliceSettingsTabName, new Vector2(590, 400), textSize);
|
||||
advancedControls.AddTab(sliceSettingPopOut);
|
||||
|
||||
TabPage controlsTabPage = new TabPage(manualPrinterControlsScrollArea, printerControlsLabel);
|
||||
PopOutTextTabWidget controlsPopOut = new PopOutTextTabWidget(controlsTabPage, ControlsTabName, new Vector2(400, 300), textSize);
|
||||
advancedControls.AddTab(controlsPopOut);
|
||||
|
||||
#if !__ANDROID__
|
||||
MenuOptionSettings.sliceSettingsPopOut = sliceSettingPopOut;
|
||||
MenuOptionSettings.controlsPopOut = controlsPopOut;
|
||||
#endif
|
||||
|
||||
string configurationLabel = LocalizedString.Get("Configuration").ToUpper();
|
||||
ScrollableWidget configurationControls = new PrinterConfigurationScrollWidget();
|
||||
|
|
|
|||
|
|
@ -64,6 +64,11 @@ namespace MatterHackers.Agg.UI
|
|||
popOutManager = new PopOutManager(TabPageControlledByTab, minSize, tabPageControledByTab.Text, internalTabName);
|
||||
}
|
||||
|
||||
public void ShowInWindow()
|
||||
{
|
||||
popOutManager.ShowContentInWindow();
|
||||
}
|
||||
|
||||
public override void OnMouseDown(MouseEventArgs mouseEvent)
|
||||
{
|
||||
if (leftToRight.FirstWidgetUnderMouse)
|
||||
|
|
|
|||
|
|
@ -136,6 +136,7 @@
|
|||
<Compile Include="ActionBar\PrintStatusRow.cs" />
|
||||
<Compile Include="ActionBar\TemperatureWidgetBase.cs" />
|
||||
<Compile Include="ActionBar\TemperatureWidgetExtruder.cs" />
|
||||
<Compile Include="ApplicationView\MenuRow\MenuOptionSettings.cs" />
|
||||
<Compile Include="ApplicationView\MenuRow\MenuOptionView.cs" />
|
||||
<Compile Include="ApplicationView\MenuRow\MenuOptionFile.cs" />
|
||||
<Compile Include="ApplicationView\MenuRow\MenuOptionHelp.cs" />
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue