More work on Library. Edit mode now contains export and edit functions (during single selection).
This commit is contained in:
parent
bacd85da89
commit
53551add48
7 changed files with 217 additions and 60 deletions
|
|
@ -89,15 +89,15 @@ namespace MatterHackers.MatterControl
|
|||
|
||||
QueueTabPage = new TabPage(new QueueBottomToolbar(queueDataView), LocalizedString.Get("Queue").ToUpper());
|
||||
this.AddTab(new SimpleTextTabWidget(QueueTabPage, "Queue Tab", TabTextSize,
|
||||
ActiveTheme.Instance.TabLabelSelected, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()));
|
||||
ActiveTheme.Instance.SecondaryAccentColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()));
|
||||
|
||||
LibraryTabPage = new TabPage(new PrintLibraryWidget(), LocalizedString.Get("Library").ToUpper());
|
||||
this.AddTab(new SimpleTextTabWidget(LibraryTabPage, "Library Tab", TabTextSize,
|
||||
ActiveTheme.Instance.TabLabelSelected, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()));
|
||||
ActiveTheme.Instance.SecondaryAccentColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()));
|
||||
|
||||
HistoryTabPage = new TabPage(new PrintHistoryWidget(), LocalizedString.Get("History").ToUpper());
|
||||
this.AddTab(new SimpleTextTabWidget(HistoryTabPage, "History Tab", TabTextSize,
|
||||
ActiveTheme.Instance.TabLabelSelected, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()));
|
||||
ActiveTheme.Instance.SecondaryAccentColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()));
|
||||
|
||||
|
||||
|
||||
|
|
@ -117,30 +117,30 @@ namespace MatterHackers.MatterControl
|
|||
|
||||
string partPreviewLabel = LocalizedString.Get("Part Preview").ToUpper();
|
||||
this.AddTab(new SimpleTextTabWidget(new TabPage(part3DViewContainer, partPreviewLabel), "Part Preview Tab", TabTextSize,
|
||||
ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()));
|
||||
ActiveTheme.Instance.SecondaryAccentColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()));
|
||||
|
||||
string layerPreviewLabel = LocalizedString.Get("Layer Preview").ToUpper();
|
||||
this.AddTab(new SimpleTextTabWidget(new TabPage(partGcodeViewContainer, layerPreviewLabel), "Layer Preview Tab", TabTextSize,
|
||||
ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()));
|
||||
ActiveTheme.Instance.SecondaryAccentColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()));
|
||||
|
||||
//Add the tab contents for 'Advanced Controls'
|
||||
string printerControlsLabel = LocalizedString.Get("Controls").ToUpper();
|
||||
this.AddTab(new SimpleTextTabWidget(new TabPage(manualPrinterControlsScrollArea, printerControlsLabel), "Controls Tab", TabTextSize,
|
||||
ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()));
|
||||
ActiveTheme.Instance.SecondaryAccentColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()));
|
||||
|
||||
string sliceSettingsLabel = LocalizedString.Get("Slice Settings").ToUpper();
|
||||
sliceSettingsWidget = new SliceSettingsWidget(sliceSettingsUiState);
|
||||
this.AddTab(new SimpleTextTabWidget(new TabPage(sliceSettingsWidget, sliceSettingsLabel), "Slice Settings Tab", TabTextSize,
|
||||
ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()));
|
||||
ActiveTheme.Instance.SecondaryAccentColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()));
|
||||
|
||||
string configurationLabel = LocalizedString.Get("Configuration").ToUpper();
|
||||
ScrollableWidget configurationControls = new PrinterConfigurationPage();
|
||||
this.AddTab(new SimpleTextTabWidget(new TabPage(configurationControls, configurationLabel), "Configuration Tab", TabTextSize,
|
||||
ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()));
|
||||
ActiveTheme.Instance.SecondaryAccentColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes()));
|
||||
|
||||
AboutTabPage = new TabPage(new AboutPage(), LocalizedString.Get("About").ToUpper());
|
||||
AboutTabView = new SimpleTextTabWidget(AboutTabPage, "About Tab", TabTextSize,
|
||||
ActiveTheme.Instance.TabLabelSelected, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes());
|
||||
ActiveTheme.Instance.SecondaryAccentColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes());
|
||||
this.AddTab(AboutTabView);
|
||||
|
||||
NumQueueItemsChanged(this, null);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2012
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MatterControl", "MatterControl.csproj", "{0B8D6F56-BD7F-4426-B858-D9292B084656}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{F67AE800-B0C7-42A8-836F-597B4E74591C} = {F67AE800-B0C7-42A8-836F-597B4E74591C}
|
||||
|
|
@ -120,10 +120,10 @@ Global
|
|||
{0B8D6F56-BD7F-4426-B858-D9292B084656}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0B8D6F56-BD7F-4426-B858-D9292B084656}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{0B8D6F56-BD7F-4426-B858-D9292B084656}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{0B8D6F56-BD7F-4426-B858-D9292B084656}.Debug64|Any CPU.ActiveCfg = Debug64|x64
|
||||
{0B8D6F56-BD7F-4426-B858-D9292B084656}.Debug64|Any CPU.Build.0 = Debug64|x64
|
||||
{0B8D6F56-BD7F-4426-B858-D9292B084656}.Debug64|x64.ActiveCfg = Debug64|Any CPU
|
||||
{0B8D6F56-BD7F-4426-B858-D9292B084656}.Debug64|x86.ActiveCfg = Debug64|Any CPU
|
||||
{0B8D6F56-BD7F-4426-B858-D9292B084656}.Debug64|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0B8D6F56-BD7F-4426-B858-D9292B084656}.Debug64|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0B8D6F56-BD7F-4426-B858-D9292B084656}.Debug64|x64.ActiveCfg = Debug|Any CPU
|
||||
{0B8D6F56-BD7F-4426-B858-D9292B084656}.Debug64|x86.ActiveCfg = Debug|Any CPU
|
||||
{0B8D6F56-BD7F-4426-B858-D9292B084656}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0B8D6F56-BD7F-4426-B858-D9292B084656}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0B8D6F56-BD7F-4426-B858-D9292B084656}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
|
|
@ -554,10 +554,10 @@ Global
|
|||
{C46CA728-DD2F-4DD1-971A-AAA89D9DFF95}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{C46CA728-DD2F-4DD1-971A-AAA89D9DFF95}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{C46CA728-DD2F-4DD1-971A-AAA89D9DFF95}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{C46CA728-DD2F-4DD1-971A-AAA89D9DFF95}.Debug64|Any CPU.ActiveCfg = Debug64|x64
|
||||
{C46CA728-DD2F-4DD1-971A-AAA89D9DFF95}.Debug64|Any CPU.Build.0 = Debug64|x64
|
||||
{C46CA728-DD2F-4DD1-971A-AAA89D9DFF95}.Debug64|x64.ActiveCfg = Debug64|Any CPU
|
||||
{C46CA728-DD2F-4DD1-971A-AAA89D9DFF95}.Debug64|x86.ActiveCfg = Debug64|Any CPU
|
||||
{C46CA728-DD2F-4DD1-971A-AAA89D9DFF95}.Debug64|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C46CA728-DD2F-4DD1-971A-AAA89D9DFF95}.Debug64|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C46CA728-DD2F-4DD1-971A-AAA89D9DFF95}.Debug64|x64.ActiveCfg = Debug|Any CPU
|
||||
{C46CA728-DD2F-4DD1-971A-AAA89D9DFF95}.Debug64|x86.ActiveCfg = Debug|Any CPU
|
||||
{C46CA728-DD2F-4DD1-971A-AAA89D9DFF95}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C46CA728-DD2F-4DD1-971A-AAA89D9DFF95}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{C46CA728-DD2F-4DD1-971A-AAA89D9DFF95}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
|
|
|
|||
|
|
@ -932,7 +932,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
|
||||
private void DeleteSelectedMesh()
|
||||
{
|
||||
// don't ever delet the last mesh
|
||||
// don't ever delete the last mesh
|
||||
if (Meshes.Count > 1)
|
||||
{
|
||||
Meshes.RemoveAt(SelectedMeshIndex);
|
||||
|
|
|
|||
|
|
@ -89,10 +89,9 @@ namespace MatterHackers.MatterControl.PrintLibrary
|
|||
if (this.editMode != value)
|
||||
{
|
||||
this.editMode = value;
|
||||
|
||||
foreach (LibraryRowItem item in topToBottomItemList.Children)
|
||||
if (this.editMode == false)
|
||||
{
|
||||
item.EditMode = this.editMode;
|
||||
this.ClearSelectedItems();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -124,17 +123,12 @@ namespace MatterHackers.MatterControl.PrintLibrary
|
|||
|
||||
public void ClearSelectedItems()
|
||||
{
|
||||
List<LibraryRowItem> itemsToClear = new List<LibraryRowItem>();
|
||||
|
||||
foreach (LibraryRowItem item in SelectedItems)
|
||||
{
|
||||
itemsToClear.Add(item);
|
||||
}
|
||||
foreach (LibraryRowItem item in itemsToClear)
|
||||
{
|
||||
item.isSelectedItem = false;
|
||||
item.selectionCheckBox.Checked = false;
|
||||
}
|
||||
this.SelectedItems.Clear();
|
||||
}
|
||||
|
||||
public delegate void SelectedValueChangedEventHandler(object sender, EventArgs e);
|
||||
|
|
|
|||
|
|
@ -230,8 +230,9 @@ namespace MatterHackers.MatterControl.PrintLibrary
|
|||
|
||||
void SetDisplayAttributes()
|
||||
{
|
||||
//this.VAnchor = Agg.UI.VAnchor.FitToChildren;
|
||||
this.HAnchor = Agg.UI.HAnchor.ParentLeftRight;
|
||||
this.Height = 65;
|
||||
this.Height = 50;
|
||||
this.Padding = new BorderDouble(0);
|
||||
this.Margin = new BorderDouble(6, 0, 6, 6);
|
||||
}
|
||||
|
|
@ -256,12 +257,7 @@ namespace MatterHackers.MatterControl.PrintLibrary
|
|||
}
|
||||
this.Invalidate();
|
||||
};
|
||||
selectionCheckBox.CheckedStateChanged += selectionCheckBox_CheckedStateChanged;
|
||||
}
|
||||
|
||||
void PrintLibraryListItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
selectionCheckBox.Checked = !selectionCheckBox.Checked;
|
||||
//selectionCheckBox.CheckedStateChanged += selectionCheckBox_CheckedStateChanged;
|
||||
}
|
||||
|
||||
public override void OnClosed(EventArgs e)
|
||||
|
|
@ -275,21 +271,27 @@ namespace MatterHackers.MatterControl.PrintLibrary
|
|||
|
||||
private void onLibraryItemClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (this.EditMode == false)
|
||||
if (this.libraryDataView.EditMode == false)
|
||||
{
|
||||
UiThread.RunOnIdle((state) =>
|
||||
{
|
||||
openPartView(state);
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
if (this.isSelectedItem == false)
|
||||
{
|
||||
this.isSelectedItem = true;
|
||||
this.selectionCheckBox.Checked = true;
|
||||
libraryDataView.SelectedItems.Add(this);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.isSelectedItem = false;
|
||||
this.selectionCheckBox.Checked = false;
|
||||
libraryDataView.SelectedItems.Remove(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -338,7 +340,7 @@ namespace MatterHackers.MatterControl.PrintLibrary
|
|||
}
|
||||
|
||||
|
||||
private void OpenPartViewWindow(bool openInEditMode = false)
|
||||
public void OpenPartViewWindow(bool openInEditMode = false)
|
||||
{
|
||||
if (viewWindowIsOpen == false)
|
||||
{
|
||||
|
|
@ -387,12 +389,16 @@ namespace MatterHackers.MatterControl.PrintLibrary
|
|||
}
|
||||
|
||||
public override void OnDraw(Graphics2D graphics2D)
|
||||
{
|
||||
{
|
||||
|
||||
if (this.libraryDataView.EditMode)
|
||||
{
|
||||
selectionCheckBoxContainer.Visible = true;
|
||||
rightButtonOverlay.Visible = false;
|
||||
rightButtonOverlay.Visible = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
selectionCheckBoxContainer.Visible = false;
|
||||
}
|
||||
|
||||
base.OnDraw(graphics2D);
|
||||
|
|
@ -409,6 +415,9 @@ namespace MatterHackers.MatterControl.PrintLibrary
|
|||
RoundedRect rectBorder = new RoundedRect(Bounds, 0);
|
||||
|
||||
this.BackgroundColor = RGBA_Bytes.White;
|
||||
this.partLabel.TextColor = RGBA_Bytes.Black;
|
||||
this.selectionCheckBox.TextColor = RGBA_Bytes.Black;
|
||||
|
||||
graphics2D.Render(new Stroke(rectBorder, 3), ActiveTheme.Instance.SecondaryAccentColor);
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -44,16 +44,24 @@ using MatterHackers.VectorMath;
|
|||
using MatterHackers.MatterControl.DataStorage;
|
||||
using MatterHackers.MatterControl.PrintQueue;
|
||||
using MatterHackers.Localizations;
|
||||
using MatterHackers.MatterControl.CustomWidgets;
|
||||
|
||||
namespace MatterHackers.MatterControl.PrintLibrary
|
||||
{
|
||||
public class PrintLibraryWidget : GuiWidget
|
||||
{
|
||||
TextImageButtonFactory textImageButtonFactory = new TextImageButtonFactory();
|
||||
TextImageButtonFactory editButtonFactory = new TextImageButtonFactory();
|
||||
TextImageButtonFactory searchButtonFactory = new TextImageButtonFactory();
|
||||
Button deleteFromLibraryButton;
|
||||
TextWidget navigationLabel;
|
||||
Button removeFromLibraryButton;
|
||||
Button addToQueueButton;
|
||||
Button searchButton;
|
||||
Button exportItemButton;
|
||||
Button editItemButton;
|
||||
Button addToLibraryButton;
|
||||
Button enterEditModeButton;
|
||||
Button leaveEditModeButton;
|
||||
MHTextEditWidget searchInput;
|
||||
LibraryDataView libraryDataView;
|
||||
|
||||
|
|
@ -70,51 +78,101 @@ namespace MatterHackers.MatterControl.PrintLibrary
|
|||
searchButtonFactory.borderWidth = 0;
|
||||
searchButtonFactory.FixedWidth = 80;
|
||||
|
||||
editButtonFactory.normalTextColor = ActiveTheme.Instance.SecondaryAccentColor;
|
||||
editButtonFactory.hoverTextColor = RGBA_Bytes.White;
|
||||
editButtonFactory.disabledTextColor = ActiveTheme.Instance.SecondaryAccentColor;
|
||||
editButtonFactory.pressedTextColor = RGBA_Bytes.White;
|
||||
editButtonFactory.borderWidth = 0;
|
||||
editButtonFactory.FixedWidth = 50;
|
||||
|
||||
FlowLayoutWidget allControls = new FlowLayoutWidget(FlowDirection.TopToBottom);
|
||||
{
|
||||
{
|
||||
enterEditModeButton = editButtonFactory.Generate("Edit".Localize());
|
||||
leaveEditModeButton = editButtonFactory.Generate("Done".Localize());
|
||||
leaveEditModeButton.Visible = false;
|
||||
|
||||
FlowLayoutWidget searchPanel = new FlowLayoutWidget();
|
||||
searchPanel.BackgroundColor = ActiveTheme.Instance.TransparentDarkOverlay;
|
||||
searchPanel.HAnchor = HAnchor.ParentLeftRight;
|
||||
searchPanel.Padding = new BorderDouble(0);
|
||||
{
|
||||
searchInput = new MHTextEditWidget();
|
||||
searchInput = new MHTextEditWidget(messageWhenEmptyAndNotSelected:"Search Library".Localize());
|
||||
searchInput.Margin = new BorderDouble(6, 3, 0, 0);
|
||||
searchInput.HAnchor = HAnchor.ParentLeftRight;
|
||||
searchInput.VAnchor = VAnchor.ParentCenter;
|
||||
|
||||
|
||||
searchButton = searchButtonFactory.Generate(LocalizedString.Get("Search"),centerText:true);
|
||||
|
||||
searchPanel.AddChild(enterEditModeButton);
|
||||
searchPanel.AddChild(leaveEditModeButton);
|
||||
|
||||
searchPanel.AddChild(searchInput);
|
||||
searchPanel.AddChild(searchButton);
|
||||
}
|
||||
|
||||
FlowLayoutWidget navigationPanel = new FlowLayoutWidget();
|
||||
navigationPanel.HAnchor = HAnchor.ParentLeftRight;
|
||||
navigationPanel.Padding = new BorderDouble(0);
|
||||
navigationPanel.BackgroundColor = ActiveTheme.Instance.TransparentLightOverlay;
|
||||
|
||||
navigationLabel = new TextWidget("My Library".Localize(), pointSize: 14);
|
||||
navigationLabel.VAnchor = Agg.UI.VAnchor.ParentCenter;
|
||||
navigationLabel.TextColor = ActiveTheme.Instance.PrimaryTextColor;
|
||||
|
||||
|
||||
|
||||
|
||||
navigationPanel.AddChild(new GuiWidget(50,0)); //Add this as temporary balance to edit buttons
|
||||
navigationPanel.AddChild(new HorizontalSpacer());
|
||||
navigationPanel.AddChild(navigationLabel);
|
||||
navigationPanel.AddChild(new HorizontalSpacer());
|
||||
//navigationPanel.AddChild(enterEditModeButton);
|
||||
//navigationPanel.AddChild(leaveEditModeButton);
|
||||
|
||||
|
||||
|
||||
|
||||
FlowLayoutWidget buttonPanel = new FlowLayoutWidget();
|
||||
buttonPanel.HAnchor = HAnchor.ParentLeftRight;
|
||||
buttonPanel.Padding = new BorderDouble(0, 3);
|
||||
buttonPanel.MinimumSize = new Vector2(0, 46);
|
||||
{
|
||||
Button addToLibrary = textImageButtonFactory.Generate(LocalizedString.Get("Import"), "icon_import_white_32x32.png");
|
||||
buttonPanel.AddChild(addToLibrary);
|
||||
addToLibrary.Margin = new BorderDouble(0, 0, 3, 0);
|
||||
addToLibrary.Click += new ButtonBase.ButtonEventHandler(loadFile_Click);
|
||||
addToLibraryButton = textImageButtonFactory.Generate(LocalizedString.Get("Import"), "icon_import_white_32x32.png");
|
||||
buttonPanel.AddChild(addToLibraryButton);
|
||||
addToLibraryButton.Margin = new BorderDouble(0, 0, 3, 0);
|
||||
addToLibraryButton.Click += new ButtonBase.ButtonEventHandler(loadFile_Click);
|
||||
|
||||
addToQueueButton = textImageButtonFactory.Generate("Add to Queue");
|
||||
addToQueueButton = textImageButtonFactory.Generate("Add to Queue".Localize());
|
||||
addToQueueButton.Margin = new BorderDouble(3, 0);
|
||||
addToQueueButton.Click += new ButtonBase.ButtonEventHandler(addToQueueButton_Click);
|
||||
addToQueueButton.Visible = false;
|
||||
buttonPanel.AddChild(addToQueueButton);
|
||||
|
||||
deleteFromLibraryButton = textImageButtonFactory.Generate("Remove");
|
||||
deleteFromLibraryButton.Margin = new BorderDouble(3, 0);
|
||||
deleteFromLibraryButton.Click += new ButtonBase.ButtonEventHandler(deleteFromQueueButton_Click);
|
||||
deleteFromLibraryButton.Visible = false;
|
||||
buttonPanel.AddChild(deleteFromLibraryButton);
|
||||
exportItemButton = textImageButtonFactory.Generate("Export".Localize());
|
||||
exportItemButton.Margin = new BorderDouble(3, 0);
|
||||
exportItemButton.Click += new ButtonBase.ButtonEventHandler(exportButton_Click);
|
||||
exportItemButton.Visible = false;
|
||||
buttonPanel.AddChild(exportItemButton);
|
||||
|
||||
editItemButton = textImageButtonFactory.Generate("Edit".Localize());
|
||||
editItemButton.Margin = new BorderDouble(3, 0);
|
||||
editItemButton.Click += new ButtonBase.ButtonEventHandler(editButton_Click);
|
||||
editItemButton.Visible = false;
|
||||
buttonPanel.AddChild(editItemButton);
|
||||
|
||||
removeFromLibraryButton = textImageButtonFactory.Generate("Remove".Localize());
|
||||
removeFromLibraryButton.Margin = new BorderDouble(3, 0);
|
||||
removeFromLibraryButton.Click += new ButtonBase.ButtonEventHandler(deleteFromQueueButton_Click);
|
||||
removeFromLibraryButton.Visible = false;
|
||||
buttonPanel.AddChild(removeFromLibraryButton);
|
||||
|
||||
GuiWidget spacer = new GuiWidget();
|
||||
spacer.HAnchor = HAnchor.ParentLeftRight;
|
||||
buttonPanel.AddChild(spacer);
|
||||
}
|
||||
|
||||
allControls.AddChild(searchPanel);
|
||||
//allControls.AddChild(navigationPanel);
|
||||
allControls.AddChild(searchPanel);
|
||||
libraryDataView = new LibraryDataView();
|
||||
allControls.AddChild(libraryDataView);
|
||||
allControls.AddChild(buttonPanel);
|
||||
|
|
@ -134,6 +192,8 @@ namespace MatterHackers.MatterControl.PrintLibrary
|
|||
searchInput.ActualTextEditWidget.EnterPressed += new KeyEventHandler(searchInputEnterPressed);
|
||||
searchButton.Click += searchButtonClick;
|
||||
searchInput.ActualTextEditWidget.KeyUp += searchInputKeyUp;
|
||||
enterEditModeButton.Click += enterEditModeButtonClick;
|
||||
leaveEditModeButton.Click += leaveEditModeButtonClick;
|
||||
}
|
||||
|
||||
void searchInputKeyUp(object sender, KeyEventArgs keyEvent)
|
||||
|
|
@ -146,6 +206,25 @@ namespace MatterHackers.MatterControl.PrintLibrary
|
|||
searchButtonClick(null, null);
|
||||
}
|
||||
|
||||
void enterEditModeButtonClick(object sender, MouseEventArgs mouseEvent)
|
||||
{
|
||||
enterEditModeButton.Visible = false;
|
||||
leaveEditModeButton.Visible = true;
|
||||
libraryDataView.EditMode = true;
|
||||
addToLibraryButton.Visible = false;
|
||||
SetVisibleButtons();
|
||||
}
|
||||
|
||||
void leaveEditModeButtonClick(object sender, MouseEventArgs mouseEvent)
|
||||
{
|
||||
enterEditModeButton.Visible = true;
|
||||
leaveEditModeButton.Visible = false;
|
||||
libraryDataView.EditMode = false;
|
||||
addToLibraryButton.Visible = true;
|
||||
SetVisibleButtons();
|
||||
|
||||
}
|
||||
|
||||
void searchButtonClick(object sender, MouseEventArgs mouseEvent)
|
||||
{
|
||||
string textToSend = searchInput.Text.Trim();
|
||||
|
|
@ -163,16 +242,36 @@ namespace MatterHackers.MatterControl.PrintLibrary
|
|||
|
||||
private void onLibraryItemsSelected(object sender, EventArgs e)
|
||||
{
|
||||
List<LibraryRowItem> selectedItemsList = (List<LibraryRowItem>)sender;
|
||||
SetVisibleButtons();
|
||||
|
||||
}
|
||||
|
||||
private void SetVisibleButtons()
|
||||
{
|
||||
List<LibraryRowItem> selectedItemsList = libraryDataView.SelectedItems;
|
||||
if (selectedItemsList.Count > 0)
|
||||
{
|
||||
if (selectedItemsList.Count == 1)
|
||||
{
|
||||
exportItemButton.Visible = true;
|
||||
editItemButton.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
exportItemButton.Visible = false;
|
||||
editItemButton.Visible = false;
|
||||
}
|
||||
|
||||
addToQueueButton.Visible = true;
|
||||
deleteFromLibraryButton.Visible = true;
|
||||
removeFromLibraryButton.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
addToQueueButton.Visible = false;
|
||||
deleteFromLibraryButton.Visible = false;
|
||||
removeFromLibraryButton.Visible = false;
|
||||
exportItemButton.Visible = false;
|
||||
editItemButton.Visible = false;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -186,6 +285,55 @@ namespace MatterHackers.MatterControl.PrintLibrary
|
|||
void deleteFromQueueButton_Click(object sender, MouseEventArgs mouseEvent)
|
||||
{
|
||||
libraryDataView.RemoveSelectedItems();
|
||||
SetVisibleButtons();
|
||||
|
||||
}
|
||||
|
||||
|
||||
ExportPrintItemWindow exportingWindow;
|
||||
bool exportingWindowIsOpen = false;
|
||||
void exportButton_Click(object sender, MouseEventArgs mouseEvent)
|
||||
{
|
||||
//Open export options
|
||||
if (libraryDataView.SelectedItems.Count == 1)
|
||||
{
|
||||
LibraryRowItem libraryItem = libraryDataView.SelectedItems[0];
|
||||
OpenExportWindow(libraryItem.printItemWrapper);
|
||||
}
|
||||
}
|
||||
|
||||
void editButton_Click(object sender, MouseEventArgs mouseEvent)
|
||||
{
|
||||
//Open export options
|
||||
if (libraryDataView.SelectedItems.Count == 1)
|
||||
{
|
||||
LibraryRowItem libraryItem = libraryDataView.SelectedItems[0];
|
||||
libraryItem.OpenPartViewWindow(openInEditMode:true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void OpenExportWindow(PrintItemWrapper printItem)
|
||||
{
|
||||
if (exportingWindowIsOpen == false)
|
||||
{
|
||||
exportingWindow = new ExportPrintItemWindow(printItem);
|
||||
this.exportingWindowIsOpen = true;
|
||||
exportingWindow.Closed += new EventHandler(ExportQueueItemWindow_Closed);
|
||||
exportingWindow.ShowAsSystemWindow();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (exportingWindow != null)
|
||||
{
|
||||
exportingWindow.BringToFront();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ExportQueueItemWindow_Closed(object sender, EventArgs e)
|
||||
{
|
||||
this.exportingWindowIsOpen = false;
|
||||
}
|
||||
|
||||
public override void OnDragEnter(FileDropEventArgs fileDropEventArgs)
|
||||
|
|
|
|||
|
|
@ -2636,3 +2636,9 @@ Translated:Extruder Count
|
|||
English:Hardware
|
||||
Translated:Hardware
|
||||
|
||||
English:Search Library
|
||||
Translated:Search Library
|
||||
|
||||
English:My Library
|
||||
Translated:My Library
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue