Made the com menu rebuild when opened.

Fixed more color setting and new icons
This commit is contained in:
Lars Brubaker 2016-05-09 18:07:35 -07:00
parent 6c321583f8
commit 1b20092248
8 changed files with 75 additions and 38 deletions

View file

@ -28,6 +28,8 @@ either expressed or implied, of the FreeBSD Project.
*/
using MatterHackers.Agg;
using MatterHackers.Agg.ImageProcessing;
using MatterHackers.Agg.PlatformAbstract;
using MatterHackers.Agg.UI;
using MatterHackers.Localizations;
using MatterHackers.MatterControl.ConfigurationPage.PrintLeveling;
@ -93,11 +95,11 @@ namespace MatterHackers.MatterControl.ActionBar
protected override void AddChildElements()
{
addButton = textImageButtonFactory.GenerateTooltipButton("Add".Localize(), "icon_circle_plus.png");
addButton = textImageButtonFactory.GenerateTooltipButton("Add".Localize(), InvertLightness.DoInvertLightness(StaticData.Instance.LoadIcon("icon_circle_plus.png",32,32)));
addButton.ToolTipText = "Add a file to be printed".Localize();
addButton.Margin = new BorderDouble(6, 6, 6, 3);
startButton = textImageButtonFactory.GenerateTooltipButton("Print".Localize(), "icon_play_32x32.png");
startButton = textImageButtonFactory.GenerateTooltipButton("Print".Localize(), InvertLightness.DoInvertLightness(StaticData.Instance.LoadIcon("icon_play_32x32.png",32,32)));
startButton.ToolTipText = "Begin printing the selected item.".Localize();
startButton.Margin = new BorderDouble(6, 6, 6, 3);
startButton.Click += onStartButton_Click;
@ -108,13 +110,13 @@ namespace MatterHackers.MatterControl.ActionBar
string connectButtonText = "Connect".Localize();
string connectButtonMessage = "Connect to the printer".Localize();
connectButton = textImageButtonFactory.GenerateTooltipButton(connectButtonText, "icon_power_32x32.png");
connectButton = textImageButtonFactory.GenerateTooltipButton(connectButtonText, InvertLightness.DoInvertLightness(StaticData.Instance.LoadIcon("icon_power_32x32.png",32,32)));
connectButton.ToolTipText = connectButtonMessage;
connectButton.Margin = new BorderDouble(6, 6, 6, 3);
string resetConnectionButtontText = "Reset".Localize();
string resetConnectionButtonMessage = "Reboots the firmware on the controller".Localize();
resetConnectionButton = textImageButtonFactory.GenerateTooltipButton(resetConnectionButtontText, "e_stop4.png");
resetConnectionButton = textImageButtonFactory.GenerateTooltipButton(resetConnectionButtontText, InvertLightness.DoInvertLightness(StaticData.Instance.LoadIcon("e_stop4.png", 32,32)));
resetConnectionButton.ToolTipText = resetConnectionButtonMessage;
resetConnectionButton.ToolTipText = resetConnectionButtonMessage;
resetConnectionButton.Margin = new BorderDouble(6, 6, 6, 3);

View file

@ -29,6 +29,7 @@ either expressed or implied, of the FreeBSD Project.
using MatterHackers.Agg;
using MatterHackers.Agg.Image;
using MatterHackers.Agg.ImageProcessing;
using MatterHackers.Agg.PlatformAbstract;
using MatterHackers.Agg.UI;
using MatterHackers.Localizations;
@ -234,7 +235,7 @@ namespace MatterHackers.MatterControl.ActionBar
{
ImageButtonFactory imageButtonFactory = new ImageButtonFactory();
imageButtonFactory.InvertImageColor = false;
ImageBuffer levelingImage = StaticData.Instance.LoadIcon("leveling_32x32.png", 16, 16);
ImageBuffer levelingImage = InvertLightness.DoInvertLightness(StaticData.Instance.LoadIcon("leveling_32x32.png", 16, 16));
Button autoLevelButton = imageButtonFactory.Generate(levelingImage, levelingImage);
autoLevelButton.Cursor = Cursors.Hand;
autoLevelButton.Margin = new Agg.BorderDouble(top: 3);

View file

@ -80,7 +80,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage
UiThread.RunOnIdle(() => LevelWizardBase.ShowPrintLevelWizard(LevelWizardBase.RuningState.UserRequestedCalibration));
};
ImageBuffer levelingImage = StaticData.Instance.LoadIcon("leveling_32x32.png", 24, 24);
ImageBuffer levelingImage = InvertLightness.DoInvertLightness(StaticData.Instance.LoadIcon("leveling_32x32.png", 24, 24));
if (!ActiveTheme.Instance.IsDarkTheme)
{

View file

@ -72,7 +72,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage
cloudSyncContainer.Margin = new BorderDouble(0, 0, 0, 0);
cloudSyncContainer.Padding = new BorderDouble(0);
ImageBuffer cloudMonitorImage = StaticData.Instance.LoadIcon("cloud-24x24.png");
ImageBuffer cloudMonitorImage = InvertLightness.DoInvertLightness(StaticData.Instance.LoadIcon("cloud-24x24.png"));
cloudMonitorImage.SetRecieveBlender(new BlenderPreMultBGRA());
int iconSize = (int)(24 * GuiWidget.DeviceScale);
if (!ActiveTheme.Instance.IsDarkTheme)
@ -119,7 +119,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage
this.textImageButtonFactory.FixedHeight = TallButtonHeight;
ImageBuffer notifiImage = StaticData.Instance.LoadIcon("notify-24x24.png");
ImageBuffer notifiImage = InvertLightness.DoInvertLightness(StaticData.Instance.LoadIcon("notify-24x24.png"));
notifiImage.SetRecieveBlender(new BlenderPreMultBGRA());
int iconSize = (int)(24 * GuiWidget.DeviceScale);
if (!ActiveTheme.Instance.IsDarkTheme)

View file

@ -70,7 +70,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage
buttonRow.HAnchor = HAnchor.ParentLeftRight;
buttonRow.Margin = new BorderDouble(0, 4);
ImageBuffer cameraIconImage = StaticData.Instance.LoadIcon("camera-24x24.png");
ImageBuffer cameraIconImage = StaticData.Instance.LoadIcon("camera-24x24.png",24,24);
cameraIconImage.SetRecieveBlender(new BlenderPreMultBGRA());
int iconSize = (int)(24 * GuiWidget.DeviceScale);
@ -123,7 +123,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage
buttonRow.HAnchor = HAnchor.ParentLeftRight;
buttonRow.Margin = new BorderDouble(0, 4);
ImageBuffer terminalSettingsImage = StaticData.Instance.LoadIcon("terminal-24x24.png");
ImageBuffer terminalSettingsImage = InvertLightness.DoInvertLightness(StaticData.Instance.LoadIcon("terminal-24x24.png", 24, 24));
terminalSettingsImage.SetRecieveBlender(new BlenderPreMultBGRA());
int iconSize = (int)(24 * GuiWidget.DeviceScale);

View file

@ -188,6 +188,29 @@ namespace MatterHackers.MatterControl
return textImageButton;
}
public Button GenerateTooltipButton(string label, ImageBuffer normalImageName, ImageBuffer hoverImageName = null, ImageBuffer pressedImageName = null, ImageBuffer disabledImageName = null)
{
//Create button based on view container widget
ButtonViewStates buttonViewWidget = getButtonView(label, normalImageName, hoverImageName, pressedImageName, disabledImageName);
Button textImageButton = new Button(0, 0, buttonViewWidget);
textImageButton.Margin = new BorderDouble(0);
textImageButton.Padding = new BorderDouble(0);
//Override the width if requested
if (this.FixedWidth != 0)
{
buttonViewWidget.Width = this.FixedWidth;
textImageButton.Width = this.FixedWidth;
}
//Override the height if requested
buttonViewWidget.Height = this.FixedHeight;
textImageButton.Height = this.FixedHeight;
return textImageButton;
}
public GuiWidget GenerateGroupBoxLabelWithEdit(TextWidget textWidget, out Button editButton)
{
FlowLayoutWidget groupLableAndEditControl = new FlowLayoutWidget();
@ -210,7 +233,7 @@ namespace MatterHackers.MatterControl
Button editButton;
if (ActiveTheme.Instance.IsDarkTheme)
{
editButton = new Button(0, 0, new ButtonViewThreeImage(SetToColor.CreateSetToColor(normalImage, RGBA_Bytes.Black),
editButton = new Button(0, 0, new ButtonViewThreeImage(SetToColor.CreateSetToColor(normalImage, RGBA_Bytes.White),
SetToColor.CreateSetToColor(normalImage, RGBA_Bytes.Gray),
normalImage));
}

View file

@ -1065,34 +1065,12 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
Margin = new BorderDouble()
};
string machineSpecificComPortValue = ActiveSliceSettings.Instance.ComPort();
foreach (string listItem in FrostedSerialPort.GetPortNames())
selectableOptions.Click += (s, e) =>
{
MenuItem newItem = selectableOptions.AddItem(listItem);
if (newItem.Text == machineSpecificComPortValue)
{
selectableOptions.SelectedLabel = machineSpecificComPortValue;
}
newItem.Selected += (sender, e) =>
{
MenuItem menuItem = ((MenuItem)sender);
// Directly set the ComPort
if (persistenceLayer == null)
{
ActiveSliceSettings.Instance.SetComPort(menuItem.Text);
}
else
{
ActiveSliceSettings.Instance.SetComPort(menuItem.Text, persistenceLayer);
}
settingsRow.UpdateStyle();
OnSettingsChanged(settingData);
AddComMenuItems(settingData, settingsRow, selectableOptions);
};
}
AddComMenuItems(settingData, settingsRow, selectableOptions);
dataArea.AddChild(selectableOptions);
@ -1394,6 +1372,39 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
return container;
}
private void AddComMenuItems(OrganizerSettingsData settingData, SettingsRow settingsRow, StyledDropDownList selectableOptions)
{
selectableOptions.MenuItems.Clear();
string machineSpecificComPortValue = ActiveSliceSettings.Instance.ComPort();
foreach (string listItem in FrostedSerialPort.GetPortNames())
{
MenuItem newItem = selectableOptions.AddItem(listItem);
if (newItem.Text == machineSpecificComPortValue)
{
selectableOptions.SelectedLabel = machineSpecificComPortValue;
}
newItem.Selected += (sender, e) =>
{
MenuItem menuItem = ((MenuItem)sender);
// Directly set the ComPort
if (persistenceLayer == null)
{
ActiveSliceSettings.Instance.SetComPort(menuItem.Text);
}
else
{
ActiveSliceSettings.Instance.SetComPort(menuItem.Text, persistenceLayer);
}
settingsRow.UpdateStyle();
OnSettingsChanged(settingData);
};
}
}
static ImageBuffer restoreNormal = EnsureRestoreButtonImages();
static ImageBuffer restoreHover;
static ImageBuffer restorePressed;

@ -1 +1 @@
Subproject commit b9ba038fcb375ef1bf9b004f962d5502ad840e8b
Subproject commit 4d9f2d9ae2b42e956493930d014cdbcc1796ee74