Put in a quick pass at some help text.
This commit is contained in:
parent
65f2ed5205
commit
b5edf403ba
3 changed files with 182 additions and 18 deletions
|
|
@ -228,6 +228,7 @@
|
|||
<Compile Include="PrinterControls\MacroListPage.cs" />
|
||||
<Compile Include="PrinterControls\PrinterConnections\PrinterSetup.cs" />
|
||||
<Compile Include="RootSystemWindow.cs" />
|
||||
<Compile Include="SetupWizard\DesignSpaceHelp.cs" />
|
||||
<Compile Include="SetupWizard\DialogWindow.cs" />
|
||||
<Compile Include="SetupWizard\HelpSystemManager.cs" />
|
||||
<Compile Include="SlicerConfiguration\SettingsOrganizer.cs" />
|
||||
|
|
|
|||
|
|
@ -625,28 +625,12 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
new NamedAction() { Title = "----" },
|
||||
new NamedAction()
|
||||
{
|
||||
Title = "Keyboard Shotcuts".Localize(),
|
||||
Title = "Help...".Localize(),
|
||||
Action = () =>
|
||||
{
|
||||
UiThread.RunOnIdle(() =>
|
||||
{
|
||||
List<(string keys, string actoin)> keyAction = new List<(string keys, string actoin)>(new (string, string)[]
|
||||
{
|
||||
("shift z","Zoom in"),
|
||||
("z","Zoom out"),
|
||||
("← → ↑ ↓","Rotate"),
|
||||
("shift ← → ↑ ↓","Pan"),
|
||||
("f","Zoom to fit"),
|
||||
("w","Zoom to window"),
|
||||
("ctrl / ⌘ z","Undo"),
|
||||
("ctrl / ⌘ y","Redo"),
|
||||
("delete","Delete selection"),
|
||||
("space bar","Clear selection"),
|
||||
("esc","Cancel command"),
|
||||
("enter","Accept command")});
|
||||
|
||||
// ("Keys","Action");
|
||||
DialogWindow.Show<CopyGuestProfilesToUser>();
|
||||
DialogWindow.Show<DesignSpaceHelp>();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
179
SetupWizard/DesignSpaceHelp.cs
Normal file
179
SetupWizard/DesignSpaceHelp.cs
Normal file
|
|
@ -0,0 +1,179 @@
|
|||
/*
|
||||
Copyright (c) 2016, Lars Brubaker
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
The views and conclusions contained in the software and documentation are those
|
||||
of the authors and should not be interpreted as representing official policies,
|
||||
either expressed or implied, of the FreeBSD Project.
|
||||
*/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using MatterHackers.Agg;
|
||||
using MatterHackers.Agg.UI;
|
||||
using MatterHackers.Localizations;
|
||||
using MatterHackers.MatterControl.SlicerConfiguration;
|
||||
|
||||
namespace MatterHackers.MatterControl
|
||||
{
|
||||
public class DesignSpaceHelp : DialogPage
|
||||
{
|
||||
FlowLayoutWidget mouseKeys;
|
||||
FlowLayoutWidget keys;
|
||||
FlowLayoutWidget mouseControls;
|
||||
FlowLayoutWidget shortcutKeys;
|
||||
|
||||
public DesignSpaceHelp()
|
||||
: base("Close".Localize())
|
||||
{
|
||||
this.WindowTitle = "Design Space Help".Localize();
|
||||
this.HeaderText = "Navigation Controls and Shortcut Keys".Localize();
|
||||
|
||||
var scrollWindow = new ScrollableWidget()
|
||||
{
|
||||
AutoScroll = true,
|
||||
HAnchor = HAnchor.Stretch,
|
||||
VAnchor = VAnchor.Stretch,
|
||||
};
|
||||
scrollWindow.ScrollArea.HAnchor = HAnchor.Stretch;
|
||||
contentRow.AddChild(scrollWindow);
|
||||
|
||||
var container = new FlowLayoutWidget(FlowDirection.TopToBottom)
|
||||
{
|
||||
HAnchor = HAnchor.Stretch,
|
||||
};
|
||||
scrollWindow.AddChild(container);
|
||||
|
||||
// add the mouse commands
|
||||
mouseControls = new FlowLayoutWidget()
|
||||
{
|
||||
HAnchor = HAnchor.Fit | HAnchor.Left
|
||||
};
|
||||
container.AddChild(mouseControls);
|
||||
|
||||
mouseKeys = new FlowLayoutWidget(FlowDirection.TopToBottom);
|
||||
mouseControls.AddChild(mouseKeys);
|
||||
|
||||
var mouseActions = new FlowLayoutWidget(FlowDirection.TopToBottom)
|
||||
{
|
||||
Border = new BorderDouble(3, 0, 0, 0),
|
||||
BorderColor = Color.Black
|
||||
};
|
||||
mouseControls.AddChild(mouseActions);
|
||||
|
||||
List<(string key, string action)> mouseKeyActions = new List<(string key, string action)>(new(string, string)[]
|
||||
{
|
||||
("ctrl left, right","Rotate".Localize()),
|
||||
("ctrl shift left, middle","Pan".Localize()),
|
||||
("wheel","Zoom".Localize())
|
||||
});
|
||||
|
||||
AddContent(mouseKeys, "Mouse".Localize(), true, true);
|
||||
AddContent(mouseActions, "Action".Localize(), false, true);
|
||||
|
||||
foreach (var keyAction in mouseKeyActions)
|
||||
{
|
||||
AddContent(mouseKeys, keyAction.key, true, false);
|
||||
AddContent(mouseActions, keyAction.action, false, false);
|
||||
}
|
||||
|
||||
container.AddChild(new GuiWidget(10, 30));
|
||||
|
||||
// now add the keyboard commands
|
||||
shortcutKeys = new FlowLayoutWidget()
|
||||
{
|
||||
HAnchor = HAnchor.Fit | HAnchor.Left
|
||||
};
|
||||
|
||||
container.AddChild(shortcutKeys);
|
||||
|
||||
keys = new FlowLayoutWidget(FlowDirection.TopToBottom);
|
||||
shortcutKeys.AddChild(keys);
|
||||
|
||||
var action = new FlowLayoutWidget(FlowDirection.TopToBottom)
|
||||
{
|
||||
Border = new BorderDouble(3, 0, 0, 0),
|
||||
BorderColor = Color.Black
|
||||
};
|
||||
shortcutKeys.AddChild(action);
|
||||
|
||||
List<(string key, string action)> keyActions = new List<(string key, string action)>(new(string, string)[]
|
||||
{
|
||||
("shift z","Zoom in".Localize()),
|
||||
("z","Zoom out".Localize()),
|
||||
("← → ↑ ↓","Rotate".Localize()),
|
||||
("shift ← → ↑ ↓","Pan".Localize()),
|
||||
//("f","Zoom to fit".Localize()),
|
||||
("w","Zoom to window".Localize()),
|
||||
("ctrl / ⌘ z","Undo".Localize()),
|
||||
("ctrl / ⌘ y","Redo".Localize()),
|
||||
("delete","Delete selection".Localize()),
|
||||
("space bar","Clear selection".Localize()),
|
||||
("esc","Cancel command".Localize()),
|
||||
//("enter","Accept command".Localize())
|
||||
});
|
||||
|
||||
AddContent(keys, "Keys".Localize(), true, true);
|
||||
AddContent(action, "Action".Localize(), false, true);
|
||||
|
||||
foreach (var keyAction in keyActions)
|
||||
{
|
||||
AddContent(keys, keyAction.key, true, false);
|
||||
AddContent(action, keyAction.action, false, false);
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnBoundsChanged(EventArgs e)
|
||||
{
|
||||
// align the centers bars to the window center
|
||||
var maxLeft = Math.Max(mouseKeys.Width, keys.Width);
|
||||
|
||||
mouseControls.Margin = new BorderDouble(Width / 2 - maxLeft / 2, 0, 0, 0);
|
||||
shortcutKeys.Margin = new BorderDouble(Width / 2 - maxLeft / 2, 0, 0, 0);
|
||||
base.OnBoundsChanged(e);
|
||||
}
|
||||
|
||||
private void AddContent(GuiWidget column, string text, bool left, bool bold)
|
||||
{
|
||||
var container = new GuiWidget()
|
||||
{
|
||||
HAnchor = HAnchor.Fit | (left ? HAnchor.Right: HAnchor.Left),
|
||||
VAnchor = VAnchor.Fit
|
||||
};
|
||||
var content = new TextWidget(text, bold: bold)
|
||||
{
|
||||
Margin = (left ? new BorderDouble(5, 3, 10, 3) : new BorderDouble(10, 3, 5, 3))
|
||||
};
|
||||
container.AddChild(content);
|
||||
|
||||
column.AddChild(container);
|
||||
column.AddChild(new GuiWidget()
|
||||
{
|
||||
HAnchor = HAnchor.Stretch,
|
||||
Border = new BorderDouble(0, 1, 0, 0),
|
||||
BorderColor = Color.Black,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue