Merge pull request #2865 from larsbrubaker/design_tools
Made subtract and replace and subtract editors always have a starting…
This commit is contained in:
commit
d2efc6f0f4
5 changed files with 30 additions and 10 deletions
|
|
@ -361,7 +361,7 @@ namespace MatterHackers.MatterControl
|
|||
new SceneSelectionOperation()
|
||||
{
|
||||
TitleResolver = () => "Subtract & Replace".Localize(),
|
||||
Action = (scene) => DoOpperation(scene, nameof(PaintMaterialEditor), "Subtract & Replace"),
|
||||
Action = (scene) => DoOpperation(scene, nameof(SubtractAndReplace), "Subtract & Replace"),
|
||||
Icon = AggContext.StaticData.LoadIcon("paint.png").SetPreMultiply(),
|
||||
},
|
||||
new SceneSelectionOperation()
|
||||
|
|
|
|||
|
|
@ -86,6 +86,7 @@
|
|||
<Compile Include="ApplicationView\WindowsPlatformsFeatures.cs" />
|
||||
<Compile Include="PartPreviewWindow\LibraryBrowserPage.cs" />
|
||||
<Compile Include="PartPreviewWindow\MoveItemPage.cs" />
|
||||
<Compile Include="PartPreviewWindow\View3D\Actions\SubtractAndReplace.cs" />
|
||||
<Compile Include="PartPreviewWindow\View3D\PrinterBar\OverflowBar.cs" />
|
||||
<Compile Include="PartPreviewWindow\View3D\PrinterBar\PrintPopupMenu.cs" />
|
||||
<Compile Include="PartPreviewWindow\View3D\PrinterBar\SliceButton.cs" />
|
||||
|
|
@ -140,7 +141,6 @@
|
|||
<Compile Include="PartPreviewWindow\View3D\Actions\IntersectionEditor.cs" />
|
||||
<Compile Include="PartPreviewWindow\View3D\Actions\MeshWrapper.cs" />
|
||||
<Compile Include="PartPreviewWindow\View3D\Actions\MeshWrapperOperation.cs" />
|
||||
<Compile Include="PartPreviewWindow\View3D\Actions\PaintMaterialEditor.cs" />
|
||||
<Compile Include="PartPreviewWindow\View3D\Actions\SubtractEditor.cs" />
|
||||
<Compile Include="PartPreviewWindow\View3D\LightingData.cs" />
|
||||
<Compile Include="PartPreviewWindow\View3D\PrinterBar\CancelButton.cs" />
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ using MatterHackers.PolygonMesh;
|
|||
namespace MatterHackers.MatterControl.PartPreviewWindow.View3D
|
||||
{
|
||||
#if DEBUG // keep this work in progress to the editor for now
|
||||
public class PaintMaterialEditor : IObject3DEditor
|
||||
public class SubtractAndReplace : IObject3DEditor
|
||||
{
|
||||
private MeshWrapperOperation group;
|
||||
private View3DWidget view3DWidget;
|
||||
|
|
@ -93,7 +93,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow.View3D
|
|||
{
|
||||
var children = group.Children.ToList();
|
||||
|
||||
tabContainer.AddChild(new TextWidget("Set as Paint")
|
||||
tabContainer.AddChild(new TextWidget("Set Replace")
|
||||
{
|
||||
TextColor = ActiveTheme.Instance.PrimaryTextColor,
|
||||
HAnchor = HAnchor.Left,
|
||||
|
|
@ -104,7 +104,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow.View3D
|
|||
var updateButton = theme.ButtonFactory.Generate("Update".Localize());
|
||||
updateButton.Margin = new BorderDouble(5);
|
||||
updateButton.HAnchor = HAnchor.Right;
|
||||
updateButton.Enabled = false; // starts out disabled as there are no holes selected
|
||||
updateButton.Click += (s, e) =>
|
||||
{
|
||||
// make sure the mesh on the group is not visible
|
||||
|
|
@ -112,6 +111,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow.View3D
|
|||
ProcessBooleans(group);
|
||||
};
|
||||
|
||||
int checkedCount = 0;
|
||||
List<GuiWidget> radioSiblings = new List<GuiWidget>();
|
||||
for (int i = 0; i < children.Count; i++)
|
||||
{
|
||||
|
|
@ -161,6 +161,16 @@ namespace MatterHackers.MatterControl.PartPreviewWindow.View3D
|
|||
};
|
||||
|
||||
tabContainer.AddChild(rowContainer);
|
||||
checkedCount += checkBox.Checked ? 1 : 0;
|
||||
}
|
||||
|
||||
if(checkedCount == 0) // no items selected
|
||||
{
|
||||
// select the last item
|
||||
if (tabContainer.Decendants().Where((d) => d is ICheckbox).Last() is ICheckbox firstCheckBox)
|
||||
{
|
||||
firstCheckBox.Checked = true;
|
||||
}
|
||||
}
|
||||
|
||||
// add this last so it is at the bottom
|
||||
|
|
@ -58,7 +58,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow.View3D
|
|||
|
||||
if (group is MeshWrapperOperation)
|
||||
{
|
||||
AddHoleSelector(view3DWidget, mainContainer, theme);
|
||||
AddSubtractSelector(view3DWidget, mainContainer, theme);
|
||||
}
|
||||
|
||||
return mainContainer;
|
||||
|
|
@ -69,11 +69,11 @@ namespace MatterHackers.MatterControl.PartPreviewWindow.View3D
|
|||
typeof(MeshWrapperOperation),
|
||||
};
|
||||
|
||||
private void AddHoleSelector(View3DWidget view3DWidget, FlowLayoutWidget tabContainer, ThemeConfig theme)
|
||||
private void AddSubtractSelector(View3DWidget view3DWidget, FlowLayoutWidget tabContainer, ThemeConfig theme)
|
||||
{
|
||||
var children = group.Children.ToList();
|
||||
|
||||
tabContainer.AddChild(new TextWidget("Set as Hole")
|
||||
tabContainer.AddChild(new TextWidget("Set Subtract")
|
||||
{
|
||||
TextColor = ActiveTheme.Instance.PrimaryTextColor,
|
||||
HAnchor = HAnchor.Left,
|
||||
|
|
@ -84,7 +84,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow.View3D
|
|||
var updateButton = theme.ButtonFactory.Generate("Update".Localize());
|
||||
updateButton.Margin = new BorderDouble(5);
|
||||
updateButton.HAnchor = HAnchor.Right;
|
||||
updateButton.Enabled = false; // starts out disabled as there are no holes selected
|
||||
updateButton.Click += (s, e) =>
|
||||
{
|
||||
// make sure the mesh on the group is not visible
|
||||
|
|
@ -92,6 +91,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow.View3D
|
|||
ProcessBooleans(group);
|
||||
};
|
||||
|
||||
int checkedCount = 0;
|
||||
List<GuiWidget> radioSiblings = new List<GuiWidget>();
|
||||
for (int i = 0; i < children.Count; i++)
|
||||
{
|
||||
|
|
@ -141,6 +141,16 @@ namespace MatterHackers.MatterControl.PartPreviewWindow.View3D
|
|||
};
|
||||
|
||||
tabContainer.AddChild(rowContainer);
|
||||
checkedCount += checkBox.Checked ? 1 : 0;
|
||||
}
|
||||
|
||||
if (checkedCount == 0) // no items selected
|
||||
{
|
||||
// select the last item
|
||||
if (tabContainer.Decendants().Where((d) => d is ICheckbox).Last() is ICheckbox firstCheckBox)
|
||||
{
|
||||
firstCheckBox.Checked = true;
|
||||
}
|
||||
}
|
||||
|
||||
// add this last so it is at the bottom
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 6151fbf50c3e657dc1e6c5059f8a9c12c1745d03
|
||||
Subproject commit 65aa386c3cd4aef5531c4c362031c340942a8ccb
|
||||
Loading…
Add table
Add a link
Reference in a new issue