private void renameFromLibraryButton_Click(IEnumerable <QueueRowItem> s, object p) { if (libraryDataView.SelectedItems.Count == 1) { if (renameItemWindow == null) { LibraryRowItem rowItem = libraryDataView.SelectedItems[0]; LibraryRowItemPart partItem = rowItem as LibraryRowItemPart; LibraryRowItemCollection collectionItem = rowItem as LibraryRowItemCollection; string currentName = libraryDataView.SelectedItems[0].ItemName; renameItemWindow = new RenameItemWindow(currentName, (returnInfo) => { if (partItem != null) { libraryDataView.CurrentLibraryProvider.RenameItem(partItem.ItemIndex, returnInfo.newName); } else if (collectionItem != null) { libraryDataView.CurrentLibraryProvider.RenameCollection(collectionItem.CollectionIndex, returnInfo.newName); } libraryDataView.ClearSelectedItems(); }); renameItemWindow.Closed += (sender2, e2) => { renameItemWindow = null; }; } else { renameItemWindow.BringToFront(); } /* * LibraryDataView.CurrentLibraryProvider.RenameCollection(collectionIndex, newName); * * LibraryRowItem libraryItem = libraryDataView.SelectedItems[0]; * libraryItem.RenameThisInPrintLibrary(newName.Data); * */ } }
private void renameFromLibraryButton_Click(IEnumerable<QueueRowItem> s, object p) { if (libraryDataView.SelectedItems.Count == 1) { if (renameItemWindow == null) { LibraryRowItem rowItem = libraryDataView.SelectedItems[0]; LibraryRowItemPart partItem = rowItem as LibraryRowItemPart; LibraryRowItemCollection collectionItem = rowItem as LibraryRowItemCollection; string currentName = libraryDataView.SelectedItems[0].ItemName; renameItemWindow = new RenameItemWindow(currentName, (returnInfo) => { if (partItem != null) { libraryDataView.CurrentLibraryProvider.RenameItem(partItem.ItemIndex, returnInfo.newName); } else if (collectionItem != null) { libraryDataView.CurrentLibraryProvider.RenameCollection(collectionItem.CollectionIndex, returnInfo.newName); } libraryDataView.ClearSelectedItems(); }); renameItemWindow.Closed += (sender2, e2) => { renameItemWindow = null; }; } else { renameItemWindow.BringToFront(); } /* LibraryDataView.CurrentLibraryProvider.RenameCollection(collectionIndex, newName); LibraryRowItem libraryItem = libraryDataView.SelectedItems[0]; libraryItem.RenameThisInPrintLibrary(newName.Data); */ } }
private void CreateEditBarButtons() { itemOperationButtons = new FlowLayoutWidget(); itemOperationButtons.Visible = false; itemOperationButtons.BackgroundColor = ActiveTheme.Instance.TransparentDarkOverlay; itemOperationButtons.HAnchor = HAnchor.Max_FitToChildren_ParentWidth; double oldWidth = editButtonFactory.FixedWidth; editButtonFactory.FixedWidth = 0; Button exportItemButton = editButtonFactory.Generate("Export".Localize()); exportItemButton.Margin = new BorderDouble(3, 0); exportItemButton.Click += exportButton_Click; editButtonsEnableData.Add(new ButtonEnableData(false, false)); itemOperationButtons.AddChild(exportItemButton); Button editItemButton = editButtonFactory.Generate("Edit".Localize()); editItemButton.Margin = new BorderDouble(3, 0); editItemButton.Click += editButton_Click; editButtonsEnableData.Add(new ButtonEnableData(false, false)); itemOperationButtons.AddChild(editItemButton); // add the remove button { Button removeFromLibraryButton = editButtonFactory.Generate("Remove".Localize()); removeFromLibraryButton.Margin = new BorderDouble(3, 0); removeFromLibraryButton.Click += deleteFromLibraryButton_Click; editButtonsEnableData.Add(new ButtonEnableData(true, false)); itemOperationButtons.AddChild(removeFromLibraryButton); } // add a rename button { Button renameFromLibraryButton = editButtonFactory.Generate("Rename".Localize()); renameFromLibraryButton.Margin = new BorderDouble(3, 0); editButtonsEnableData.Add(new ButtonEnableData(false, false)); itemOperationButtons.AddChild(renameFromLibraryButton); renameFromLibraryButton.Click += (sender, e) => { if (libraryDataView.SelectedItems.Count == 1) { if (renameItemWindow == null) { LibraryRowItem rowItem = libraryDataView.SelectedItems[0]; LibraryRowItemPart partItem = rowItem as LibraryRowItemPart; LibraryRowItemCollection collectionItem = rowItem as LibraryRowItemCollection; string currentName = libraryDataView.SelectedItems[0].ItemName; renameItemWindow = new RenameItemWindow(currentName, (returnInfo) => { if (partItem != null) { libraryDataView.CurrentLibraryProvider.RenameItem(partItem.ItemIndex, returnInfo.newName); } else if (collectionItem != null) { libraryDataView.CurrentLibraryProvider.RenameCollection(collectionItem.CollectionIndex, returnInfo.newName); } libraryDataView.ClearSelectedItems(); }); renameItemWindow.Closed += (sender2, e2) => { renameItemWindow = null; }; } else { renameItemWindow.BringToFront(); } /* LibraryDataView.CurrentLibraryProvider.RenameCollection(collectionIndex, newName); LibraryRowItem libraryItem = libraryDataView.SelectedItems[0]; libraryItem.RenameThisInPrintLibrary(newName.Data); */ } }; } Button addToQueueButton = editButtonFactory.Generate("Add to Queue".Localize()); addToQueueButton.Margin = new BorderDouble(3, 0); addToQueueButton.Click += addToQueueButton_Click; editButtonsEnableData.Add(new ButtonEnableData(true, true)); itemOperationButtons.AddChild(addToQueueButton); editButtonFactory.FixedWidth = oldWidth; }
private void CreateEditBarButtons() { itemOperationButtons = new FlowLayoutWidget(); itemOperationButtons.Visible = false; itemOperationButtons.BackgroundColor = ActiveTheme.Instance.TransparentDarkOverlay; itemOperationButtons.HAnchor = HAnchor.Max_FitToChildren_ParentWidth; double oldWidth = editButtonFactory.FixedWidth; editButtonFactory.FixedWidth = 0; Button exportItemButton = editButtonFactory.Generate("Export".Localize()); exportItemButton.Name = "Library Export Button"; exportItemButton.Margin = new BorderDouble(3, 0); exportItemButton.Click += exportButton_Click; editButtonsEnableData.Add(new ButtonEnableData(false, false, false)); itemOperationButtons.AddChild(exportItemButton); Button editItemButton = editButtonFactory.Generate("Edit".Localize()); editItemButton.Name = "Library Edit Item Button"; editItemButton.Margin = new BorderDouble(3, 0); editItemButton.Click += editButton_Click; editButtonsEnableData.Add(new ButtonEnableData(false, false, false)); itemOperationButtons.AddChild(editItemButton); // add the remove button { Button removeFromLibraryButton = editButtonFactory.Generate("Remove".Localize()); removeFromLibraryButton.Name = "Library Remove Item Button"; removeFromLibraryButton.Margin = new BorderDouble(3, 0); removeFromLibraryButton.Click += deleteFromLibraryButton_Click; editButtonsEnableData.Add(new ButtonEnableData(true, false, true)); itemOperationButtons.AddChild(removeFromLibraryButton); } // add the share button { Button shareFromLibraryButton = editButtonFactory.Generate("Share".Localize()); shareFromLibraryButton.ToolTipText = "Share designs from your Cloud Library".Localize(); shareFromLibraryButton.Margin = new BorderDouble(3, 0); shareFromLibraryButton.Click += shareFromLibraryButton_Click; editButtonsEnableData.Add(new ButtonEnableData(false, false, false, true)); itemOperationButtons.AddChild(shareFromLibraryButton); } // add a rename button { Button renameFromLibraryButton = editButtonFactory.Generate("Rename".Localize()); renameFromLibraryButton.Name = "Rename From Library Button"; renameFromLibraryButton.Margin = new BorderDouble(3, 0); editButtonsEnableData.Add(new ButtonEnableData(false, false, true)); itemOperationButtons.AddChild(renameFromLibraryButton); renameFromLibraryButton.Click += (sender, e) => { if (libraryDataView.SelectedItems.Count == 1) { if (renameItemWindow == null) { LibraryRowItem rowItem = libraryDataView.SelectedItems[0]; LibraryRowItemPart partItem = rowItem as LibraryRowItemPart; LibraryRowItemCollection collectionItem = rowItem as LibraryRowItemCollection; string currentName = libraryDataView.SelectedItems[0].ItemName; renameItemWindow = new RenameItemWindow(currentName, (returnInfo) => { if (partItem != null) { libraryDataView.CurrentLibraryProvider.RenameItem(partItem.ItemIndex, returnInfo.newName); } else if (collectionItem != null) { libraryDataView.CurrentLibraryProvider.RenameCollection(collectionItem.CollectionIndex, returnInfo.newName); } libraryDataView.ClearSelectedItems(); }); renameItemWindow.Closed += (sender2, e2) => { renameItemWindow = null; }; } else { renameItemWindow.BringToFront(); } /* * LibraryDataView.CurrentLibraryProvider.RenameCollection(collectionIndex, newName); * * LibraryRowItem libraryItem = libraryDataView.SelectedItems[0]; * libraryItem.RenameThisInPrintLibrary(newName.Data); * */ } }; } Button addToQueueButton = editButtonFactory.Generate("Add to Queue".Localize()); addToQueueButton.Name = "Library Add To Queue Button"; addToQueueButton.Margin = new BorderDouble(3, 0); addToQueueButton.Click += addToQueueButton_Click; editButtonsEnableData.Add(new ButtonEnableData(true, true, false)); itemOperationButtons.AddChild(addToQueueButton); editButtonFactory.FixedWidth = oldWidth; }
public override IEnumerable <PrintItemAction> GetMenuItems() { return(new List <PrintItemAction>() { new PrintItemAction() { SingleItemOnly = false, Title = "Merge".Localize() + "...", Action = (items, queueDataWidget) => { List <QueueRowItem> allRowItems = new List <QueueRowItem>(items); if (allRowItems.Count > 1) { RenameItemWindow renameItemWindow = new RenameItemWindow(allRowItems[0].PrintItemWrapper.Name, (returnInfo) => { Task.Run(() => { List <MeshGroup> combinedMeshes = new List <MeshGroup>(); // Load up all the parts and merge them together foreach (QueueRowItem item in allRowItems) { List <MeshGroup> loadedMeshGroups = MeshFileIo.Load(item.PrintItemWrapper.FileLocation); combinedMeshes.AddRange(loadedMeshGroups); } // save them out string[] metaData = { "Created By", "MatterControl", "BedPosition", "Absolute" }; MeshOutputSettings outputInfo = new MeshOutputSettings(MeshOutputSettings.OutputType.Binary, metaData); string libraryDataPath = ApplicationDataStorage.Instance.ApplicationLibraryDataPath; if (!Directory.Exists(libraryDataPath)) { Directory.CreateDirectory(libraryDataPath); } string tempFileNameToSaveTo = Path.Combine(libraryDataPath, Path.ChangeExtension(Path.GetRandomFileName(), "amf")); bool savedSuccessfully = MeshFileIo.Save(combinedMeshes, tempFileNameToSaveTo, outputInfo); // Swap out the files if the save operation completed successfully if (savedSuccessfully && File.Exists(tempFileNameToSaveTo)) { // create a new print item // add it to the queue PrintItemWrapper newPrintItem = new PrintItemWrapper(new PrintItem(returnInfo.newName, tempFileNameToSaveTo)); QueueData.Instance.AddItem(newPrintItem, 0); // select the part we added, if possible QueueData.Instance.SelectedIndex = 0; queueDataWidget.LeaveEditMode(); } }); }, "Set Name".Localize()) { Title = "MatterHackers - Set Name".Localize(), ElementHeader = "Set Name".Localize(), }; } } } }); }
public override IEnumerable<PrintItemAction> GetMenuItems() { return new List<PrintItemAction>() { new PrintItemAction() { SingleItemOnly = false, Title = "Merge...", Action = (items, queueDataWidget) => { List<QueueRowItem> allRowItems = new List<QueueRowItem>(items); if (allRowItems.Count > 1) { RenameItemWindow renameItemWindow = new RenameItemWindow(allRowItems[0].PrintItemWrapper.Name, (returnInfo) => { Task.Run(() => { List<MeshGroup> combinedMeshes = new List<MeshGroup>(); // Load up all the parts and merge them together foreach(QueueRowItem item in allRowItems) { List<MeshGroup> loadedMeshGroups = MeshFileIo.Load(item.PrintItemWrapper.FileLocation); combinedMeshes.AddRange(loadedMeshGroups); } // save them out string[] metaData = { "Created By", "MatterControl", "BedPosition", "Absolute" }; MeshOutputSettings outputInfo = new MeshOutputSettings(MeshOutputSettings.OutputType.Binary, metaData); string libraryDataPath = ApplicationDataStorage.Instance.ApplicationLibraryDataPath; if (!Directory.Exists(libraryDataPath)) { Directory.CreateDirectory(libraryDataPath); } string tempFileNameToSaveTo = Path.Combine(libraryDataPath, Path.ChangeExtension(Path.GetRandomFileName(), "amf")); bool savedSuccessfully = MeshFileIo.Save(combinedMeshes, tempFileNameToSaveTo, outputInfo); // Swap out the files if the save operation completed successfully if (savedSuccessfully && File.Exists(tempFileNameToSaveTo)) { // create a new print item // add it to the queue PrintItemWrapper newPrintItem = new PrintItemWrapper(new PrintItem(returnInfo.newName, tempFileNameToSaveTo)); QueueData.Instance.AddItem(newPrintItem, 0); // select the part we added, if possible QueueData.Instance.SelectedIndex = 0; queueDataWidget.LeaveEditMode(); } }); }, "Set Name".Localize()) { Title = "MatterHackers - Set Name".Localize(), ElementHeader = "Set Name".Localize(), }; } } } }; }