diff --git a/External/Ionic.Zip.dll b/External/Ionic.Zip.dll deleted file mode 100644 index 195af81..0000000 Binary files a/External/Ionic.Zip.dll and /dev/null differ diff --git a/External/netDxf.dll b/External/netDxf.dll deleted file mode 100644 index 66b2c29..0000000 Binary files a/External/netDxf.dll and /dev/null differ diff --git a/Installer/script.nsi b/Installer/script.nsi deleted file mode 100644 index cfc5331..0000000 --- a/Installer/script.nsi +++ /dev/null @@ -1,138 +0,0 @@ -!include "MUI2.nsh" - -Name "OpenNest" - -OutFile "opennest-setup.exe" - -InstallDir "$PROGRAMFILES\OpenNest" - -RequestExecutionLevel admin - -!define DOT_MAJOR "4" -!define DOT_MINOR "0" - -!insertmacro MUI_PAGE_WELCOME -!insertmacro MUI_PAGE_LICENSE "../license.txt" -!insertmacro MUI_PAGE_DIRECTORY -!insertmacro MUI_PAGE_INSTFILES -!insertmacro MUI_PAGE_FINISH - -!insertmacro MUI_LANGUAGE "English" - -UninstPage uninstConfirm -UninstPage instfiles - -Section "OpenNest (required)" - Call IsDotNETInstalled - SectionIn RO -#!/usr/bin/env - ; Set output path to the installation directory. - SetOutPath $INSTDIR - - File "OpenNest.exe" - File "OpenNest.Core.dll" - File "OpenNest.Engine.dll" - File "Ionic.Zip.dll" - File "netDxf.dll" - - ; Write the installation path into the registry - WriteRegStr HKLM SOFTWARE\OpenNest "Install_Dir" "$INSTDIR" - - ; Write the uninstall keys for Windows - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenNest" "DisplayName" "OpenNest" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenNest" "UninstallString" '"$INSTDIR\uninstall.exe"' - WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenNest" "NoModify" 1 - WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenNest" "NoRepair" 1 - WriteUninstaller "uninstall.exe" -SectionEnd - -Section "Start Menu Shortcuts" - CreateDirectory "$SMPROGRAMS\OpenNest" - CreateShortCut "$SMPROGRAMS\OpenNest\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0 - CreateShortCut "$SMPROGRAMS\OpenNest\OpenNest.lnk" "$INSTDIR\OpenNest.exe" "" "$INSTDIR\OpenNest.exe" 0 -SectionEnd - -Section "Uninstall" - Delete "$INSTDIR\uninstall.exe" - Delete "$INSTDIR\OpenNest.exe" - Delete "$INSTDIR\OpenNest.Core.dll" - Delete "$INSTDIR\OpenNest.Engine.dll" - Delete "$INSTDIR\Ionic.Zip.dll" - Delete "$INSTDIR\netDxf.dll" - - Delete "$SMPROGRAMS\OpenNest\Uninstall.lnk" - Delete "$SMPROGRAMS\OpenNest\OpenNest.lnk" - Delete "$SMPROGRAMS\OpenNest" -SectionEnd - -; Usage -; Define in your script two constants: -; DOT_MAJOR "(Major framework version)" -; DOT_MINOR "{Minor framework version)" -; -; Call IsDotNetInstalled -; This function will abort the installation if the required version -; or higher version of the .NET Framework is not installed. Place it in -; either your .onInit function or your first install section before -; other code. -Function IsDotNetInstalled - - StrCpy $0 "0" - StrCpy $1 "SOFTWARE\Microsoft\.NETFramework" ;registry entry to look in. - StrCpy $2 0 - - StartEnum: - ;Enumerate the versions installed. - EnumRegKey $3 HKLM "$1\policy" $2 - - ;If we don't find any versions installed, it's not here. - StrCmp $3 "" noDotNet notEmpty - - ;We found something. - notEmpty: - ;Find out if the RegKey starts with 'v'. - ;If it doesn't, goto the next key. - StrCpy $4 $3 1 0 - StrCmp $4 "v" +1 goNext - StrCpy $4 $3 1 1 - - ;It starts with 'v'. Now check to see how the installed major version - ;relates to our required major version. - ;If it's equal check the minor version, if it's greater, - ;we found a good RegKey. - IntCmp $4 ${DOT_MAJOR} +1 goNext yesDotNetReg - ;Check the minor version. If it's equal or greater to our requested - ;version then we're good. - StrCpy $4 $3 1 3 - IntCmp $4 ${DOT_MINOR} yesDotNetReg goNext yesDotNetReg - - goNext: - ;Go to the next RegKey. - IntOp $2 $2 + 1 - goto StartEnum - - yesDotNetReg: - ;Now that we've found a good RegKey, let's make sure it's actually - ;installed by getting the install path and checking to see if the - ;mscorlib.dll exists. - EnumRegValue $2 HKLM "$1\policy\$3" 0 - ;$2 should equal whatever comes after the major and minor versions - ;(ie, v1.1.4322) - StrCmp $2 "" noDotNet - ReadRegStr $4 HKLM $1 "InstallRoot" - ;Hopefully the install root isn't empty. - StrCmp $4 "" noDotNet - ;build the actuall directory path to mscorlib.dll. - StrCpy $4 "$4$3.$2\mscorlib.dll" - IfFileExists $4 yesDotNet noDotNet - - noDotNet: - ;Nope, something went wrong along the way. Looks like the - ;proper .NET Framework isn't installed. - MessageBox MB_OK "You must have v${DOT_MAJOR}.${DOT_MINOR} or greater of the .NET Framework installed. Aborting!" - Abort - - yesDotNet: - ;Everything checks out. Go on with the rest of the installation. - -FunctionEnd \ No newline at end of file diff --git a/Source/OpenNest.Core/Align.cs b/OpenNest.Core/Align.cs similarity index 100% rename from Source/OpenNest.Core/Align.cs rename to OpenNest.Core/Align.cs diff --git a/Source/OpenNest.Core/AlignType.cs b/OpenNest.Core/AlignType.cs similarity index 100% rename from Source/OpenNest.Core/AlignType.cs rename to OpenNest.Core/AlignType.cs diff --git a/Source/OpenNest.Core/Angle.cs b/OpenNest.Core/Angle.cs similarity index 100% rename from Source/OpenNest.Core/Angle.cs rename to OpenNest.Core/Angle.cs diff --git a/Source/OpenNest.Core/BoundingBox.cs b/OpenNest.Core/BoundingBox.cs similarity index 100% rename from Source/OpenNest.Core/BoundingBox.cs rename to OpenNest.Core/BoundingBox.cs diff --git a/Source/OpenNest.Core/Box.cs b/OpenNest.Core/Box.cs similarity index 100% rename from Source/OpenNest.Core/Box.cs rename to OpenNest.Core/Box.cs diff --git a/Source/OpenNest.Core/BoxSplitter.cs b/OpenNest.Core/BoxSplitter.cs similarity index 100% rename from Source/OpenNest.Core/BoxSplitter.cs rename to OpenNest.Core/BoxSplitter.cs diff --git a/Source/OpenNest.Core/CNC/CircularMove.cs b/OpenNest.Core/CNC/CircularMove.cs similarity index 100% rename from Source/OpenNest.Core/CNC/CircularMove.cs rename to OpenNest.Core/CNC/CircularMove.cs diff --git a/Source/OpenNest.Core/CNC/CodeType.cs b/OpenNest.Core/CNC/CodeType.cs similarity index 100% rename from Source/OpenNest.Core/CNC/CodeType.cs rename to OpenNest.Core/CNC/CodeType.cs diff --git a/Source/OpenNest.Core/CNC/Comment.cs b/OpenNest.Core/CNC/Comment.cs similarity index 100% rename from Source/OpenNest.Core/CNC/Comment.cs rename to OpenNest.Core/CNC/Comment.cs diff --git a/Source/OpenNest.Core/CNC/Feedrate.cs b/OpenNest.Core/CNC/Feedrate.cs similarity index 100% rename from Source/OpenNest.Core/CNC/Feedrate.cs rename to OpenNest.Core/CNC/Feedrate.cs diff --git a/Source/OpenNest.Core/CNC/ICode.cs b/OpenNest.Core/CNC/ICode.cs similarity index 100% rename from Source/OpenNest.Core/CNC/ICode.cs rename to OpenNest.Core/CNC/ICode.cs diff --git a/Source/OpenNest.Core/CNC/Kerf.cs b/OpenNest.Core/CNC/Kerf.cs similarity index 100% rename from Source/OpenNest.Core/CNC/Kerf.cs rename to OpenNest.Core/CNC/Kerf.cs diff --git a/Source/OpenNest.Core/CNC/KerfType.cs b/OpenNest.Core/CNC/KerfType.cs similarity index 100% rename from Source/OpenNest.Core/CNC/KerfType.cs rename to OpenNest.Core/CNC/KerfType.cs diff --git a/Source/OpenNest.Core/CNC/LayerType.cs b/OpenNest.Core/CNC/LayerType.cs similarity index 100% rename from Source/OpenNest.Core/CNC/LayerType.cs rename to OpenNest.Core/CNC/LayerType.cs diff --git a/Source/OpenNest.Core/CNC/LinearMove.cs b/OpenNest.Core/CNC/LinearMove.cs similarity index 100% rename from Source/OpenNest.Core/CNC/LinearMove.cs rename to OpenNest.Core/CNC/LinearMove.cs diff --git a/Source/OpenNest.Core/CNC/Mode.cs b/OpenNest.Core/CNC/Mode.cs similarity index 100% rename from Source/OpenNest.Core/CNC/Mode.cs rename to OpenNest.Core/CNC/Mode.cs diff --git a/Source/OpenNest.Core/CNC/Motion.cs b/OpenNest.Core/CNC/Motion.cs similarity index 100% rename from Source/OpenNest.Core/CNC/Motion.cs rename to OpenNest.Core/CNC/Motion.cs diff --git a/Source/OpenNest.Core/CNC/Program.cs b/OpenNest.Core/CNC/Program.cs similarity index 100% rename from Source/OpenNest.Core/CNC/Program.cs rename to OpenNest.Core/CNC/Program.cs diff --git a/Source/OpenNest.Core/CNC/RapidMove.cs b/OpenNest.Core/CNC/RapidMove.cs similarity index 100% rename from Source/OpenNest.Core/CNC/RapidMove.cs rename to OpenNest.Core/CNC/RapidMove.cs diff --git a/Source/OpenNest.Core/CNC/SubProgramCall.cs b/OpenNest.Core/CNC/SubProgramCall.cs similarity index 100% rename from Source/OpenNest.Core/CNC/SubProgramCall.cs rename to OpenNest.Core/CNC/SubProgramCall.cs diff --git a/Source/OpenNest.Core/Collections/DrawingCollection.cs b/OpenNest.Core/Collections/DrawingCollection.cs similarity index 100% rename from Source/OpenNest.Core/Collections/DrawingCollection.cs rename to OpenNest.Core/Collections/DrawingCollection.cs diff --git a/OpenNest.Core/Collections/ObservableList.cs b/OpenNest.Core/Collections/ObservableList.cs new file mode 100644 index 0000000..192c420 --- /dev/null +++ b/OpenNest.Core/Collections/ObservableList.cs @@ -0,0 +1,164 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; + +namespace OpenNest.Collections +{ + public class ObservableList : IList, ICollection, IEnumerable + { + private readonly List items; + + public event EventHandler> ItemAdded; + public event EventHandler> ItemRemoved; + public event EventHandler> ItemChanged; + + public ObservableList() + { + items = new List(); + } + + public void Add(T item) + { + var index = items.Count; + items.Add(item); + ItemAdded?.Invoke(this, new ItemAddedEventArgs(item, index)); + } + + public void AddRange(IEnumerable collection) + { + var index = items.Count; + items.AddRange(collection); + + if (ItemAdded != null) + { + foreach (var item in collection) + ItemAdded.Invoke(this, new ItemAddedEventArgs(item, index++)); + } + } + + public void Insert(int index, T item) + { + items.Insert(index, item); + ItemAdded?.Invoke(this, new ItemAddedEventArgs(item, index)); + } + + public bool Remove(T item) + { + var success = items.Remove(item); + ItemRemoved?.Invoke(this, new ItemRemovedEventArgs(item, success)); + return success; + } + + public void RemoveAt(int index) + { + var item = items[index]; + items.RemoveAt(index); + ItemRemoved?.Invoke(this, new ItemRemovedEventArgs(item, true)); + } + + public void Clear() + { + for (int i = items.Count - 1; i >= 0; --i) + RemoveAt(i); + } + + public int IndexOf(T item) + { + return items.IndexOf(item); + } + + public T this[int index] + { + get => items[index]; + set + { + var old = items[index]; + items[index] = value; + ItemChanged?.Invoke(this, new ItemChangedEventArgs(old, value, index)); + } + } + + public bool Contains(T item) + { + return items.Contains(item); + } + + public void CopyTo(T[] array, int arrayIndex) + { + items.CopyTo(array, arrayIndex); + } + + public int Count => items.Count; + + public bool IsReadOnly => false; + + public IEnumerator GetEnumerator() + { + return items.GetEnumerator(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + return items.GetEnumerator(); + } + } + + public class ItemAddedEventArgs : EventArgs + { + public T Item { get; } + public int Index { get; } + + public ItemAddedEventArgs(T item, int index) + { + Item = item; + Index = index; + } + } + + public class ItemRemovedEventArgs : EventArgs + { + public T Item { get; } + public bool Succeeded { get; } + + public ItemRemovedEventArgs(T item, bool succeeded) + { + Item = item; + Succeeded = succeeded; + } + } + + public class ItemChangedEventArgs : EventArgs + { + public T OldItem { get; } + public T NewItem { get; } + public int Index { get; } + + public ItemChangedEventArgs(T oldItem, T newItem, int index) + { + OldItem = oldItem; + NewItem = newItem; + Index = index; + } + } + + public static class PlateCollectionExtensions + { + public static void RemoveEmptyPlates(this ObservableList plates) + { + if (plates.Count < 2) + return; + + for (int i = plates.Count - 1; i >= 0; --i) + { + if (plates[i].Parts.Count == 0) + plates.RemoveAt(i); + } + } + + public static int TotalCount(this ObservableList plates) + { + return plates.Sum(plate => plate.Quantity); + } + } +} diff --git a/Source/OpenNest.Core/ConvertGeometry.cs b/OpenNest.Core/ConvertGeometry.cs similarity index 100% rename from Source/OpenNest.Core/ConvertGeometry.cs rename to OpenNest.Core/ConvertGeometry.cs diff --git a/Source/OpenNest.Core/ConvertMode.cs b/OpenNest.Core/ConvertMode.cs similarity index 100% rename from Source/OpenNest.Core/ConvertMode.cs rename to OpenNest.Core/ConvertMode.cs diff --git a/Source/OpenNest.Core/ConvertProgram.cs b/OpenNest.Core/ConvertProgram.cs similarity index 100% rename from Source/OpenNest.Core/ConvertProgram.cs rename to OpenNest.Core/ConvertProgram.cs diff --git a/Source/OpenNest.Core/CutParameters.cs b/OpenNest.Core/CutParameters.cs similarity index 100% rename from Source/OpenNest.Core/CutParameters.cs rename to OpenNest.Core/CutParameters.cs diff --git a/Source/OpenNest.Core/Drawing.cs b/OpenNest.Core/Drawing.cs similarity index 100% rename from Source/OpenNest.Core/Drawing.cs rename to OpenNest.Core/Drawing.cs diff --git a/Source/OpenNest.Core/EvenOdd.cs b/OpenNest.Core/EvenOdd.cs similarity index 100% rename from Source/OpenNest.Core/EvenOdd.cs rename to OpenNest.Core/EvenOdd.cs diff --git a/Source/OpenNest.Core/Generic.cs b/OpenNest.Core/Generic.cs similarity index 100% rename from Source/OpenNest.Core/Generic.cs rename to OpenNest.Core/Generic.cs diff --git a/Source/OpenNest.Core/Geometry/Arc.cs b/OpenNest.Core/Geometry/Arc.cs similarity index 100% rename from Source/OpenNest.Core/Geometry/Arc.cs rename to OpenNest.Core/Geometry/Arc.cs diff --git a/Source/OpenNest.Core/Geometry/Circle.cs b/OpenNest.Core/Geometry/Circle.cs similarity index 100% rename from Source/OpenNest.Core/Geometry/Circle.cs rename to OpenNest.Core/Geometry/Circle.cs diff --git a/Source/OpenNest.Core/Geometry/DefinedShape.cs b/OpenNest.Core/Geometry/DefinedShape.cs similarity index 100% rename from Source/OpenNest.Core/Geometry/DefinedShape.cs rename to OpenNest.Core/Geometry/DefinedShape.cs diff --git a/Source/OpenNest.Core/Geometry/Entity.cs b/OpenNest.Core/Geometry/Entity.cs similarity index 100% rename from Source/OpenNest.Core/Geometry/Entity.cs rename to OpenNest.Core/Geometry/Entity.cs diff --git a/Source/OpenNest.Core/Geometry/EntityType.cs b/OpenNest.Core/Geometry/EntityType.cs similarity index 100% rename from Source/OpenNest.Core/Geometry/EntityType.cs rename to OpenNest.Core/Geometry/EntityType.cs diff --git a/Source/OpenNest.Core/Geometry/Layer.cs b/OpenNest.Core/Geometry/Layer.cs similarity index 100% rename from Source/OpenNest.Core/Geometry/Layer.cs rename to OpenNest.Core/Geometry/Layer.cs diff --git a/Source/OpenNest.Core/Geometry/Line.cs b/OpenNest.Core/Geometry/Line.cs similarity index 100% rename from Source/OpenNest.Core/Geometry/Line.cs rename to OpenNest.Core/Geometry/Line.cs diff --git a/Source/OpenNest.Core/Geometry/Polygon.cs b/OpenNest.Core/Geometry/Polygon.cs similarity index 100% rename from Source/OpenNest.Core/Geometry/Polygon.cs rename to OpenNest.Core/Geometry/Polygon.cs diff --git a/Source/OpenNest.Core/Geometry/Shape.cs b/OpenNest.Core/Geometry/Shape.cs similarity index 100% rename from Source/OpenNest.Core/Geometry/Shape.cs rename to OpenNest.Core/Geometry/Shape.cs diff --git a/Source/OpenNest.Core/Helper.cs b/OpenNest.Core/Helper.cs similarity index 100% rename from Source/OpenNest.Core/Helper.cs rename to OpenNest.Core/Helper.cs diff --git a/Source/OpenNest.Core/IBoundable.cs b/OpenNest.Core/IBoundable.cs similarity index 100% rename from Source/OpenNest.Core/IBoundable.cs rename to OpenNest.Core/IBoundable.cs diff --git a/Source/OpenNest.Core/IPostProcessor.cs b/OpenNest.Core/IPostProcessor.cs similarity index 100% rename from Source/OpenNest.Core/IPostProcessor.cs rename to OpenNest.Core/IPostProcessor.cs diff --git a/Source/OpenNest.Core/Material.cs b/OpenNest.Core/Material.cs similarity index 100% rename from Source/OpenNest.Core/Material.cs rename to OpenNest.Core/Material.cs diff --git a/Source/OpenNest.Core/Nest.cs b/OpenNest.Core/Nest.cs similarity index 92% rename from Source/OpenNest.Core/Nest.cs rename to OpenNest.Core/Nest.cs index 0b20dce..5abb743 100644 --- a/Source/OpenNest.Core/Nest.cs +++ b/OpenNest.Core/Nest.cs @@ -5,7 +5,7 @@ namespace OpenNest { public class Nest { - public PlateCollection Plates; + public ObservableList Plates; public DrawingCollection Drawings; public Nest() @@ -16,17 +16,17 @@ namespace OpenNest public Nest(string name) { Name = name; - Plates = new PlateCollection(); - Plates.PlateRemoved += Plates_PlateRemoved; + Plates = new ObservableList(); + Plates.ItemRemoved += Plates_PlateRemoved; Drawings = new DrawingCollection(); PlateDefaults = new PlateSettings(); Customer = string.Empty; Notes = string.Empty; } - private static void Plates_PlateRemoved(object sender, PlateRemovedEventArgs e) + private static void Plates_PlateRemoved(object sender, ItemRemovedEventArgs e) { - e.Plate.Parts.Clear(); + e.Item.Parts.Clear(); } public string Name { get; set; } diff --git a/Source/OpenNest.Core/NestConstraints.cs b/OpenNest.Core/NestConstraints.cs similarity index 100% rename from Source/OpenNest.Core/NestConstraints.cs rename to OpenNest.Core/NestConstraints.cs diff --git a/Source/OpenNest.Core/OffsetSide.cs b/OpenNest.Core/OffsetSide.cs similarity index 100% rename from Source/OpenNest.Core/OffsetSide.cs rename to OpenNest.Core/OffsetSide.cs diff --git a/Source/OpenNest.Core/OpenNest.Core.csproj b/OpenNest.Core/OpenNest.Core.csproj similarity index 95% rename from Source/OpenNest.Core/OpenNest.Core.csproj rename to OpenNest.Core/OpenNest.Core.csproj index bfe629b..e05b119 100644 --- a/Source/OpenNest.Core/OpenNest.Core.csproj +++ b/OpenNest.Core/OpenNest.Core.csproj @@ -9,7 +9,7 @@ Properties OpenNest OpenNest.Core - v4.0 + v4.8 512 @@ -21,6 +21,7 @@ DEBUG;TRACE prompt 4 + false pdbonly @@ -29,6 +30,7 @@ TRACE prompt 4 + false @@ -86,9 +88,8 @@ - + - diff --git a/Source/OpenNest.Core/Part.cs b/OpenNest.Core/Part.cs similarity index 100% rename from Source/OpenNest.Core/Part.cs rename to OpenNest.Core/Part.cs diff --git a/Source/OpenNest.Core/Plate.cs b/OpenNest.Core/Plate.cs similarity index 92% rename from Source/OpenNest.Core/Plate.cs rename to OpenNest.Core/Plate.cs index 8562fea..340e208 100644 --- a/Source/OpenNest.Core/Plate.cs +++ b/OpenNest.Core/Plate.cs @@ -9,22 +9,22 @@ namespace OpenNest { private int quadrant; - public event EventHandler PartAdded + public event EventHandler> PartAdded { - add { Parts.PartAdded += value; } - remove { Parts.PartAdded -= value; } + add { Parts.ItemAdded += value; } + remove { Parts.ItemAdded -= value; } } - public event EventHandler PartRemoved + public event EventHandler> PartRemoved { - add { Parts.PartRemoved += value; } - remove { Parts.PartRemoved -= value; } + add { Parts.ItemRemoved += value; } + remove { Parts.ItemRemoved -= value; } } - public event EventHandler PartChanged + public event EventHandler> PartChanged { - add { Parts.PartChanged += value; } - remove { Parts.PartChanged -= value; } + add { Parts.ItemChanged += value; } + remove { Parts.ItemChanged -= value; } } public Plate() @@ -42,20 +42,20 @@ namespace OpenNest EdgeSpacing = new Spacing(); Size = size; Material = new Material(); - Parts = new PartCollection(); - Parts.PartAdded += Parts_PartAdded; - Parts.PartRemoved += Parts_PartRemoved; + Parts = new ObservableList(); + Parts.ItemAdded += Parts_PartAdded; + Parts.ItemRemoved += Parts_PartRemoved; Quadrant = 1; } - private void Parts_PartAdded(object sender, PartAddedEventArgs e) + private void Parts_PartAdded(object sender, ItemAddedEventArgs e) { - e.Part.BaseDrawing.Quantity.Nested += Quantity; + e.Item.BaseDrawing.Quantity.Nested += Quantity; } - private void Parts_PartRemoved(object sender, PartRemovedEventArgs e) + private void Parts_PartRemoved(object sender, ItemRemovedEventArgs e) { - e.Part.BaseDrawing.Quantity.Nested -= Quantity; + e.Item.BaseDrawing.Quantity.Nested -= Quantity; } /// @@ -86,7 +86,7 @@ namespace OpenNest /// /// The parts that the plate contains. /// - public PartCollection Parts { get; set; } + public ObservableList Parts { get; set; } /// /// The number of times to cut the plate. diff --git a/Source/OpenNest.Core/Properties/AssemblyInfo.cs b/OpenNest.Core/Properties/AssemblyInfo.cs similarity index 100% rename from Source/OpenNest.Core/Properties/AssemblyInfo.cs rename to OpenNest.Core/Properties/AssemblyInfo.cs diff --git a/Source/OpenNest.Core/Quantity.cs b/OpenNest.Core/Quantity.cs similarity index 100% rename from Source/OpenNest.Core/Quantity.cs rename to OpenNest.Core/Quantity.cs diff --git a/Source/OpenNest.Core/RelativePosition.cs b/OpenNest.Core/RelativePosition.cs similarity index 100% rename from Source/OpenNest.Core/RelativePosition.cs rename to OpenNest.Core/RelativePosition.cs diff --git a/Source/OpenNest.Core/RotationType.cs b/OpenNest.Core/RotationType.cs similarity index 100% rename from Source/OpenNest.Core/RotationType.cs rename to OpenNest.Core/RotationType.cs diff --git a/Source/OpenNest.Core/Sequence.cs b/OpenNest.Core/Sequence.cs similarity index 100% rename from Source/OpenNest.Core/Sequence.cs rename to OpenNest.Core/Sequence.cs diff --git a/Source/OpenNest.Core/Size.cs b/OpenNest.Core/Size.cs similarity index 100% rename from Source/OpenNest.Core/Size.cs rename to OpenNest.Core/Size.cs diff --git a/Source/OpenNest.Core/Spacing.cs b/OpenNest.Core/Spacing.cs similarity index 100% rename from Source/OpenNest.Core/Spacing.cs rename to OpenNest.Core/Spacing.cs diff --git a/Source/OpenNest.Core/SpecialLayers.cs b/OpenNest.Core/SpecialLayers.cs similarity index 100% rename from Source/OpenNest.Core/SpecialLayers.cs rename to OpenNest.Core/SpecialLayers.cs diff --git a/Source/OpenNest.Core/Timing.cs b/OpenNest.Core/Timing.cs similarity index 100% rename from Source/OpenNest.Core/Timing.cs rename to OpenNest.Core/Timing.cs diff --git a/Source/OpenNest.Core/TimingInfo.cs b/OpenNest.Core/TimingInfo.cs similarity index 100% rename from Source/OpenNest.Core/TimingInfo.cs rename to OpenNest.Core/TimingInfo.cs diff --git a/Source/OpenNest.Core/Tolerance.cs b/OpenNest.Core/Tolerance.cs similarity index 100% rename from Source/OpenNest.Core/Tolerance.cs rename to OpenNest.Core/Tolerance.cs diff --git a/Source/OpenNest.Core/Trigonometry.cs b/OpenNest.Core/Trigonometry.cs similarity index 100% rename from Source/OpenNest.Core/Trigonometry.cs rename to OpenNest.Core/Trigonometry.cs diff --git a/Source/OpenNest.Core/Units.cs b/OpenNest.Core/Units.cs similarity index 100% rename from Source/OpenNest.Core/Units.cs rename to OpenNest.Core/Units.cs diff --git a/Source/OpenNest.Core/Vector.cs b/OpenNest.Core/Vector.cs similarity index 100% rename from Source/OpenNest.Core/Vector.cs rename to OpenNest.Core/Vector.cs diff --git a/Source/OpenNest.Engine/BestCombination.cs b/OpenNest.Engine/BestCombination.cs similarity index 100% rename from Source/OpenNest.Engine/BestCombination.cs rename to OpenNest.Engine/BestCombination.cs diff --git a/Source/OpenNest.Engine/CirclePacking/Bin.cs b/OpenNest.Engine/CirclePacking/Bin.cs similarity index 100% rename from Source/OpenNest.Engine/CirclePacking/Bin.cs rename to OpenNest.Engine/CirclePacking/Bin.cs diff --git a/Source/OpenNest.Engine/CirclePacking/FillEndEven.cs b/OpenNest.Engine/CirclePacking/FillEndEven.cs similarity index 100% rename from Source/OpenNest.Engine/CirclePacking/FillEndEven.cs rename to OpenNest.Engine/CirclePacking/FillEndEven.cs diff --git a/Source/OpenNest.Engine/CirclePacking/FillEndOdd.cs b/OpenNest.Engine/CirclePacking/FillEndOdd.cs similarity index 100% rename from Source/OpenNest.Engine/CirclePacking/FillEndOdd.cs rename to OpenNest.Engine/CirclePacking/FillEndOdd.cs diff --git a/Source/OpenNest.Engine/CirclePacking/FillEngine.cs b/OpenNest.Engine/CirclePacking/FillEngine.cs similarity index 100% rename from Source/OpenNest.Engine/CirclePacking/FillEngine.cs rename to OpenNest.Engine/CirclePacking/FillEngine.cs diff --git a/Source/OpenNest.Engine/CirclePacking/Item.cs b/OpenNest.Engine/CirclePacking/Item.cs similarity index 100% rename from Source/OpenNest.Engine/CirclePacking/Item.cs rename to OpenNest.Engine/CirclePacking/Item.cs diff --git a/Source/OpenNest.Engine/NestDirection.cs b/OpenNest.Engine/NestDirection.cs similarity index 100% rename from Source/OpenNest.Engine/NestDirection.cs rename to OpenNest.Engine/NestDirection.cs diff --git a/Source/OpenNest.Engine/NestEngine.cs b/OpenNest.Engine/NestEngine.cs similarity index 100% rename from Source/OpenNest.Engine/NestEngine.cs rename to OpenNest.Engine/NestEngine.cs diff --git a/Source/OpenNest.Engine/NestItem.cs b/OpenNest.Engine/NestItem.cs similarity index 100% rename from Source/OpenNest.Engine/NestItem.cs rename to OpenNest.Engine/NestItem.cs diff --git a/Source/OpenNest.Engine/OpenNest.Engine.csproj b/OpenNest.Engine/OpenNest.Engine.csproj similarity index 95% rename from Source/OpenNest.Engine/OpenNest.Engine.csproj rename to OpenNest.Engine/OpenNest.Engine.csproj index a48fc03..03e28a8 100644 --- a/Source/OpenNest.Engine/OpenNest.Engine.csproj +++ b/OpenNest.Engine/OpenNest.Engine.csproj @@ -9,8 +9,9 @@ Properties OpenNest OpenNest.Engine - v4.0 + v4.8 512 + true @@ -20,6 +21,7 @@ DEBUG;TRACE prompt 4 + false pdbonly @@ -28,6 +30,7 @@ TRACE prompt 4 + false diff --git a/Source/OpenNest.Engine/Properties/AssemblyInfo.cs b/OpenNest.Engine/Properties/AssemblyInfo.cs similarity index 100% rename from Source/OpenNest.Engine/Properties/AssemblyInfo.cs rename to OpenNest.Engine/Properties/AssemblyInfo.cs diff --git a/Source/OpenNest.Engine/RectanglePacking/Bin.cs b/OpenNest.Engine/RectanglePacking/Bin.cs similarity index 100% rename from Source/OpenNest.Engine/RectanglePacking/Bin.cs rename to OpenNest.Engine/RectanglePacking/Bin.cs diff --git a/Source/OpenNest.Engine/RectanglePacking/FillBestFit.cs b/OpenNest.Engine/RectanglePacking/FillBestFit.cs similarity index 100% rename from Source/OpenNest.Engine/RectanglePacking/FillBestFit.cs rename to OpenNest.Engine/RectanglePacking/FillBestFit.cs diff --git a/Source/OpenNest.Engine/RectanglePacking/FillEngine.cs b/OpenNest.Engine/RectanglePacking/FillEngine.cs similarity index 100% rename from Source/OpenNest.Engine/RectanglePacking/FillEngine.cs rename to OpenNest.Engine/RectanglePacking/FillEngine.cs diff --git a/Source/OpenNest.Engine/RectanglePacking/FillNoRotation.cs b/OpenNest.Engine/RectanglePacking/FillNoRotation.cs similarity index 100% rename from Source/OpenNest.Engine/RectanglePacking/FillNoRotation.cs rename to OpenNest.Engine/RectanglePacking/FillNoRotation.cs diff --git a/Source/OpenNest.Engine/RectanglePacking/FillSameRotation.cs b/OpenNest.Engine/RectanglePacking/FillSameRotation.cs similarity index 100% rename from Source/OpenNest.Engine/RectanglePacking/FillSameRotation.cs rename to OpenNest.Engine/RectanglePacking/FillSameRotation.cs diff --git a/Source/OpenNest.Engine/RectanglePacking/Item.cs b/OpenNest.Engine/RectanglePacking/Item.cs similarity index 100% rename from Source/OpenNest.Engine/RectanglePacking/Item.cs rename to OpenNest.Engine/RectanglePacking/Item.cs diff --git a/Source/OpenNest.Engine/RectanglePacking/PackBottomLeft.cs b/OpenNest.Engine/RectanglePacking/PackBottomLeft.cs similarity index 100% rename from Source/OpenNest.Engine/RectanglePacking/PackBottomLeft.cs rename to OpenNest.Engine/RectanglePacking/PackBottomLeft.cs diff --git a/Source/OpenNest.Engine/RectanglePacking/PackEngine.cs b/OpenNest.Engine/RectanglePacking/PackEngine.cs similarity index 100% rename from Source/OpenNest.Engine/RectanglePacking/PackEngine.cs rename to OpenNest.Engine/RectanglePacking/PackEngine.cs diff --git a/Source/OpenNest.Engine/RectanglePacking/PackFirstFitDecreasing.cs b/OpenNest.Engine/RectanglePacking/PackFirstFitDecreasing.cs similarity index 100% rename from Source/OpenNest.Engine/RectanglePacking/PackFirstFitDecreasing.cs rename to OpenNest.Engine/RectanglePacking/PackFirstFitDecreasing.cs diff --git a/Source/OpenNest.sln b/OpenNest.sln similarity index 100% rename from Source/OpenNest.sln rename to OpenNest.sln diff --git a/Source/OpenNest/Actions/Action.cs b/OpenNest/Actions/Action.cs similarity index 100% rename from Source/OpenNest/Actions/Action.cs rename to OpenNest/Actions/Action.cs diff --git a/Source/OpenNest/Actions/ActionAddPart.cs b/OpenNest/Actions/ActionAddPart.cs similarity index 100% rename from Source/OpenNest/Actions/ActionAddPart.cs rename to OpenNest/Actions/ActionAddPart.cs diff --git a/Source/OpenNest/Actions/ActionClone.cs b/OpenNest/Actions/ActionClone.cs similarity index 100% rename from Source/OpenNest/Actions/ActionClone.cs rename to OpenNest/Actions/ActionClone.cs diff --git a/Source/OpenNest/Actions/ActionFillArea.cs b/OpenNest/Actions/ActionFillArea.cs similarity index 100% rename from Source/OpenNest/Actions/ActionFillArea.cs rename to OpenNest/Actions/ActionFillArea.cs diff --git a/Source/OpenNest/Actions/ActionSelect.cs b/OpenNest/Actions/ActionSelect.cs similarity index 100% rename from Source/OpenNest/Actions/ActionSelect.cs rename to OpenNest/Actions/ActionSelect.cs diff --git a/Source/OpenNest/Actions/ActionSelectArea.cs b/OpenNest/Actions/ActionSelectArea.cs similarity index 100% rename from Source/OpenNest/Actions/ActionSelectArea.cs rename to OpenNest/Actions/ActionSelectArea.cs diff --git a/Source/OpenNest/Actions/ActionSetSequence.cs b/OpenNest/Actions/ActionSetSequence.cs similarity index 100% rename from Source/OpenNest/Actions/ActionSetSequence.cs rename to OpenNest/Actions/ActionSetSequence.cs diff --git a/Source/OpenNest/Actions/ActionZoomWindow.cs b/OpenNest/Actions/ActionZoomWindow.cs similarity index 100% rename from Source/OpenNest/Actions/ActionZoomWindow.cs rename to OpenNest/Actions/ActionZoomWindow.cs diff --git a/Source/OpenNest/ColorScheme.cs b/OpenNest/ColorScheme.cs similarity index 100% rename from Source/OpenNest/ColorScheme.cs rename to OpenNest/ColorScheme.cs diff --git a/Source/OpenNest/Controls/BottomPanel.cs b/OpenNest/Controls/BottomPanel.cs similarity index 100% rename from Source/OpenNest/Controls/BottomPanel.cs rename to OpenNest/Controls/BottomPanel.cs diff --git a/Source/OpenNest/Controls/DrawControl.cs b/OpenNest/Controls/DrawControl.cs similarity index 100% rename from Source/OpenNest/Controls/DrawControl.cs rename to OpenNest/Controls/DrawControl.cs diff --git a/Source/OpenNest/Controls/DrawingListBox.cs b/OpenNest/Controls/DrawingListBox.cs similarity index 100% rename from Source/OpenNest/Controls/DrawingListBox.cs rename to OpenNest/Controls/DrawingListBox.cs diff --git a/Source/OpenNest/Controls/EntityView.cs b/OpenNest/Controls/EntityView.cs similarity index 100% rename from Source/OpenNest/Controls/EntityView.cs rename to OpenNest/Controls/EntityView.cs diff --git a/Source/OpenNest/Controls/HorizontalLine.cs b/OpenNest/Controls/HorizontalLine.cs similarity index 100% rename from Source/OpenNest/Controls/HorizontalLine.cs rename to OpenNest/Controls/HorizontalLine.cs diff --git a/Source/OpenNest/Controls/LayoutViewGL.cs b/OpenNest/Controls/LayoutViewGL.cs similarity index 100% rename from Source/OpenNest/Controls/LayoutViewGL.cs rename to OpenNest/Controls/LayoutViewGL.cs diff --git a/Source/OpenNest/Controls/NumericUpDown.cs b/OpenNest/Controls/NumericUpDown.cs similarity index 100% rename from Source/OpenNest/Controls/NumericUpDown.cs rename to OpenNest/Controls/NumericUpDown.cs diff --git a/Source/OpenNest/Controls/PlateView.cs b/OpenNest/Controls/PlateView.cs similarity index 98% rename from Source/OpenNest/Controls/PlateView.cs rename to OpenNest/Controls/PlateView.cs index cbc29cf..8fc4604 100644 --- a/Source/OpenNest/Controls/PlateView.cs +++ b/OpenNest/Controls/PlateView.cs @@ -27,8 +27,8 @@ namespace OpenNest.Controls public List SelectedParts; public ReadOnlyCollection Parts; - public event EventHandler PartAdded; - public event EventHandler PartRemoved; + public event EventHandler> PartAdded; + public event EventHandler> PartRemoved; public event EventHandler StatusChanged; public PlateView() @@ -688,21 +688,21 @@ namespace OpenNest.Controls Invalidate(); } - private void plate_PartAdded(object sender, PartAddedEventArgs e) + private void plate_PartAdded(object sender, ItemAddedEventArgs e) { if (PartAdded != null) PartAdded.Invoke(this, e); - parts.Insert(e.Index, LayoutPart.Create(e.Part, this)); + parts.Insert(e.Index, LayoutPart.Create(e.Item, this)); redrawTimer.Start(); } - private void plate_PartRemoved(object sender, PartRemovedEventArgs e) + private void plate_PartRemoved(object sender, ItemRemovedEventArgs e) { if (PartRemoved != null) PartRemoved.Invoke(this, e); - parts.RemoveAll(p => p.BasePart == e.Part); + parts.RemoveAll(p => p.BasePart == e.Item); } public void DeselectAll() diff --git a/Source/OpenNest/Controls/QuadrantSelect.cs b/OpenNest/Controls/QuadrantSelect.cs similarity index 100% rename from Source/OpenNest/Controls/QuadrantSelect.cs rename to OpenNest/Controls/QuadrantSelect.cs diff --git a/Source/OpenNest/Controls/VerticalLine.cs b/OpenNest/Controls/VerticalLine.cs similarity index 100% rename from Source/OpenNest/Controls/VerticalLine.cs rename to OpenNest/Controls/VerticalLine.cs diff --git a/Source/OpenNest/Document.cs b/OpenNest/Document.cs similarity index 100% rename from Source/OpenNest/Document.cs rename to OpenNest/Document.cs diff --git a/Source/OpenNest/Forms/AutoNestForm.Designer.cs b/OpenNest/Forms/AutoNestForm.Designer.cs similarity index 100% rename from Source/OpenNest/Forms/AutoNestForm.Designer.cs rename to OpenNest/Forms/AutoNestForm.Designer.cs diff --git a/Source/OpenNest/Forms/AutoNestForm.cs b/OpenNest/Forms/AutoNestForm.cs similarity index 100% rename from Source/OpenNest/Forms/AutoNestForm.cs rename to OpenNest/Forms/AutoNestForm.cs diff --git a/Source/OpenNest/Forms/AutoNestForm.resx b/OpenNest/Forms/AutoNestForm.resx similarity index 100% rename from Source/OpenNest/Forms/AutoNestForm.resx rename to OpenNest/Forms/AutoNestForm.resx diff --git a/Source/OpenNest/Forms/CadConverterForm.Designer.cs b/OpenNest/Forms/CadConverterForm.Designer.cs similarity index 100% rename from Source/OpenNest/Forms/CadConverterForm.Designer.cs rename to OpenNest/Forms/CadConverterForm.Designer.cs diff --git a/Source/OpenNest/Forms/CadConverterForm.cs b/OpenNest/Forms/CadConverterForm.cs similarity index 100% rename from Source/OpenNest/Forms/CadConverterForm.cs rename to OpenNest/Forms/CadConverterForm.cs diff --git a/Source/OpenNest/Forms/CadConverterForm.resx b/OpenNest/Forms/CadConverterForm.resx similarity index 100% rename from Source/OpenNest/Forms/CadConverterForm.resx rename to OpenNest/Forms/CadConverterForm.resx diff --git a/Source/OpenNest/Forms/CutParametersForm.Designer.cs b/OpenNest/Forms/CutParametersForm.Designer.cs similarity index 100% rename from Source/OpenNest/Forms/CutParametersForm.Designer.cs rename to OpenNest/Forms/CutParametersForm.Designer.cs diff --git a/Source/OpenNest/Forms/CutParametersForm.cs b/OpenNest/Forms/CutParametersForm.cs similarity index 100% rename from Source/OpenNest/Forms/CutParametersForm.cs rename to OpenNest/Forms/CutParametersForm.cs diff --git a/Source/OpenNest/Forms/CutParametersForm.resx b/OpenNest/Forms/CutParametersForm.resx similarity index 100% rename from Source/OpenNest/Forms/CutParametersForm.resx rename to OpenNest/Forms/CutParametersForm.resx diff --git a/Source/OpenNest/Forms/EditDrawingForm.Designer.cs b/OpenNest/Forms/EditDrawingForm.Designer.cs similarity index 100% rename from Source/OpenNest/Forms/EditDrawingForm.Designer.cs rename to OpenNest/Forms/EditDrawingForm.Designer.cs diff --git a/Source/OpenNest/Forms/EditDrawingForm.cs b/OpenNest/Forms/EditDrawingForm.cs similarity index 100% rename from Source/OpenNest/Forms/EditDrawingForm.cs rename to OpenNest/Forms/EditDrawingForm.cs diff --git a/Source/OpenNest/Forms/EditDrawingForm.resx b/OpenNest/Forms/EditDrawingForm.resx similarity index 100% rename from Source/OpenNest/Forms/EditDrawingForm.resx rename to OpenNest/Forms/EditDrawingForm.resx diff --git a/Source/OpenNest/Forms/EditNestForm.Designer.cs b/OpenNest/Forms/EditNestForm.Designer.cs similarity index 100% rename from Source/OpenNest/Forms/EditNestForm.Designer.cs rename to OpenNest/Forms/EditNestForm.Designer.cs diff --git a/Source/OpenNest/Forms/EditNestForm.cs b/OpenNest/Forms/EditNestForm.cs similarity index 97% rename from Source/OpenNest/Forms/EditNestForm.cs rename to OpenNest/Forms/EditNestForm.cs index f6233b5..fedd097 100644 --- a/Source/OpenNest/Forms/EditNestForm.cs +++ b/OpenNest/Forms/EditNestForm.cs @@ -69,8 +69,8 @@ namespace OpenNest.Forms updateDrawingListTimer.Elapsed += drawingListUpdateTimer_Elapsed; Nest = nest; - Nest.Plates.PlateAdded += Plates_PlateAdded; - Nest.Plates.PlateRemoved += Plates_PlateRemoved; + Nest.Plates.ItemAdded += Plates_PlateAdded; + Nest.Plates.ItemRemoved += Plates_PlateRemoved; if (Nest.Plates.Count == 0) Nest.CreatePlate(); @@ -592,7 +592,7 @@ namespace OpenNest.Forms #region Plate Collection Events - private void Plates_PlateRemoved(object sender, PlateRemovedEventArgs e) + private void Plates_PlateRemoved(object sender, ItemRemovedEventArgs e) { if (Nest.Plates.Count <= CurrentPlateIndex) LoadLastPlate(); @@ -603,7 +603,7 @@ namespace OpenNest.Forms PlateView.ZoomToFit(); } - private void Plates_PlateAdded(object sender, PlateAddedEventArgs e) + private void Plates_PlateAdded(object sender, ItemAddedEventArgs e) { tabControl1.SelectedIndex = 0; UpdatePlateList(); @@ -622,13 +622,13 @@ namespace OpenNest.Forms return item; } - private void PlateView_PartRemoved(object sender, PartRemovedEventArgs e) + private void PlateView_PartRemoved(object sender, ItemRemovedEventArgs e) { updateDrawingListTimer.Stop(); updateDrawingListTimer.Start(); } - private void PlateView_PartAdded(object sender, PartAddedEventArgs e) + private void PlateView_PartAdded(object sender, ItemAddedEventArgs e) { updateDrawingListTimer.Stop(); updateDrawingListTimer.Start(); diff --git a/Source/OpenNest/Forms/EditNestForm.resx b/OpenNest/Forms/EditNestForm.resx similarity index 100% rename from Source/OpenNest/Forms/EditNestForm.resx rename to OpenNest/Forms/EditNestForm.resx diff --git a/Source/OpenNest/Forms/EditNestInfoForm.Designer.cs b/OpenNest/Forms/EditNestInfoForm.Designer.cs similarity index 100% rename from Source/OpenNest/Forms/EditNestInfoForm.Designer.cs rename to OpenNest/Forms/EditNestInfoForm.Designer.cs diff --git a/Source/OpenNest/Forms/EditNestInfoForm.cs b/OpenNest/Forms/EditNestInfoForm.cs similarity index 100% rename from Source/OpenNest/Forms/EditNestInfoForm.cs rename to OpenNest/Forms/EditNestInfoForm.cs diff --git a/Source/OpenNest/Forms/EditNestInfoForm.resx b/OpenNest/Forms/EditNestInfoForm.resx similarity index 100% rename from Source/OpenNest/Forms/EditNestInfoForm.resx rename to OpenNest/Forms/EditNestInfoForm.resx diff --git a/Source/OpenNest/Forms/EditPlateForm.Designer.cs b/OpenNest/Forms/EditPlateForm.Designer.cs similarity index 100% rename from Source/OpenNest/Forms/EditPlateForm.Designer.cs rename to OpenNest/Forms/EditPlateForm.Designer.cs diff --git a/Source/OpenNest/Forms/EditPlateForm.cs b/OpenNest/Forms/EditPlateForm.cs similarity index 100% rename from Source/OpenNest/Forms/EditPlateForm.cs rename to OpenNest/Forms/EditPlateForm.cs diff --git a/Source/OpenNest/Forms/EditPlateForm.resx b/OpenNest/Forms/EditPlateForm.resx similarity index 100% rename from Source/OpenNest/Forms/EditPlateForm.resx rename to OpenNest/Forms/EditPlateForm.resx diff --git a/Source/OpenNest/Forms/FillPlateForm.Designer.cs b/OpenNest/Forms/FillPlateForm.Designer.cs similarity index 100% rename from Source/OpenNest/Forms/FillPlateForm.Designer.cs rename to OpenNest/Forms/FillPlateForm.Designer.cs diff --git a/Source/OpenNest/Forms/FillPlateForm.cs b/OpenNest/Forms/FillPlateForm.cs similarity index 100% rename from Source/OpenNest/Forms/FillPlateForm.cs rename to OpenNest/Forms/FillPlateForm.cs diff --git a/Source/OpenNest/Forms/FillPlateForm.resx b/OpenNest/Forms/FillPlateForm.resx similarity index 100% rename from Source/OpenNest/Forms/FillPlateForm.resx rename to OpenNest/Forms/FillPlateForm.resx diff --git a/Source/OpenNest/Forms/MainForm.Designer.cs b/OpenNest/Forms/MainForm.Designer.cs similarity index 100% rename from Source/OpenNest/Forms/MainForm.Designer.cs rename to OpenNest/Forms/MainForm.Designer.cs diff --git a/Source/OpenNest/Forms/MainForm.cs b/OpenNest/Forms/MainForm.cs similarity index 99% rename from Source/OpenNest/Forms/MainForm.cs rename to OpenNest/Forms/MainForm.cs index de99a04..4bdda22 100644 --- a/Source/OpenNest/Forms/MainForm.cs +++ b/OpenNest/Forms/MainForm.cs @@ -5,6 +5,7 @@ using System.Linq; using System.Reflection; using System.Windows.Forms; using OpenNest.Actions; +using OpenNest.Collections; using OpenNest.IO; using OpenNest.Properties; diff --git a/Source/OpenNest/Forms/MainForm.resx b/OpenNest/Forms/MainForm.resx similarity index 100% rename from Source/OpenNest/Forms/MainForm.resx rename to OpenNest/Forms/MainForm.resx diff --git a/Source/OpenNest/Forms/OptionsForm.Designer.cs b/OpenNest/Forms/OptionsForm.Designer.cs similarity index 100% rename from Source/OpenNest/Forms/OptionsForm.Designer.cs rename to OpenNest/Forms/OptionsForm.Designer.cs diff --git a/Source/OpenNest/Forms/OptionsForm.cs b/OpenNest/Forms/OptionsForm.cs similarity index 100% rename from Source/OpenNest/Forms/OptionsForm.cs rename to OpenNest/Forms/OptionsForm.cs diff --git a/Source/OpenNest/Forms/OptionsForm.resx b/OpenNest/Forms/OptionsForm.resx similarity index 100% rename from Source/OpenNest/Forms/OptionsForm.resx rename to OpenNest/Forms/OptionsForm.resx diff --git a/Source/OpenNest/Forms/SequenceForm.Designer.cs b/OpenNest/Forms/SequenceForm.Designer.cs similarity index 100% rename from Source/OpenNest/Forms/SequenceForm.Designer.cs rename to OpenNest/Forms/SequenceForm.Designer.cs diff --git a/Source/OpenNest/Forms/SequenceForm.cs b/OpenNest/Forms/SequenceForm.cs similarity index 100% rename from Source/OpenNest/Forms/SequenceForm.cs rename to OpenNest/Forms/SequenceForm.cs diff --git a/Source/OpenNest/Forms/SequenceForm.resx b/OpenNest/Forms/SequenceForm.resx similarity index 100% rename from Source/OpenNest/Forms/SequenceForm.resx rename to OpenNest/Forms/SequenceForm.resx diff --git a/Source/OpenNest/Forms/SetValueForm.Designer.cs b/OpenNest/Forms/SetValueForm.Designer.cs similarity index 100% rename from Source/OpenNest/Forms/SetValueForm.Designer.cs rename to OpenNest/Forms/SetValueForm.Designer.cs diff --git a/Source/OpenNest/Forms/SetValueForm.cs b/OpenNest/Forms/SetValueForm.cs similarity index 100% rename from Source/OpenNest/Forms/SetValueForm.cs rename to OpenNest/Forms/SetValueForm.cs diff --git a/Source/OpenNest/Forms/SetValueForm.resx b/OpenNest/Forms/SetValueForm.resx similarity index 100% rename from Source/OpenNest/Forms/SetValueForm.resx rename to OpenNest/Forms/SetValueForm.resx diff --git a/Source/OpenNest/Forms/TimingForm.Designer.cs b/OpenNest/Forms/TimingForm.Designer.cs similarity index 100% rename from Source/OpenNest/Forms/TimingForm.Designer.cs rename to OpenNest/Forms/TimingForm.Designer.cs diff --git a/Source/OpenNest/Forms/TimingForm.cs b/OpenNest/Forms/TimingForm.cs similarity index 100% rename from Source/OpenNest/Forms/TimingForm.cs rename to OpenNest/Forms/TimingForm.cs diff --git a/Source/OpenNest/Forms/TimingForm.resx b/OpenNest/Forms/TimingForm.resx similarity index 100% rename from Source/OpenNest/Forms/TimingForm.resx rename to OpenNest/Forms/TimingForm.resx diff --git a/Source/OpenNest/GraphicsHelper.cs b/OpenNest/GraphicsHelper.cs similarity index 100% rename from Source/OpenNest/GraphicsHelper.cs rename to OpenNest/GraphicsHelper.cs diff --git a/Source/OpenNest/IO/DxfExporter.cs b/OpenNest/IO/DxfExporter.cs similarity index 89% rename from Source/OpenNest/IO/DxfExporter.cs rename to OpenNest/IO/DxfExporter.cs index 2e29c51..4a9fbe6 100644 --- a/Source/OpenNest/IO/DxfExporter.cs +++ b/OpenNest/IO/DxfExporter.cs @@ -31,7 +31,7 @@ namespace OpenNest.IO rapidLayer = new Layer("Rapid"); rapidLayer.Color = AciColor.Blue; - rapidLayer.LineType = LineType.Dashed; + rapidLayer.Linetype = Linetype.Dashed; plateLayer = new Layer("Plate"); plateLayer.Color = AciColor.Cyan; @@ -78,7 +78,7 @@ namespace OpenNest.IO var endpt = part.Location.ToNetDxf(); var line = new netDxf.Entities.Line(curpos, endpt); line.Layer = rapidLayer; - doc.AddEntity(line); + doc.Entities.Add(line); curpos = part.Location.ToNetDxf(); AddProgram(part.Program); } @@ -151,10 +151,10 @@ namespace OpenNest.IO return; } - doc.AddEntity(new Line(pt1, pt2) { Layer = plateLayer }); - doc.AddEntity(new Line(pt2, pt3) { Layer = plateLayer }); - doc.AddEntity(new Line(pt3, pt4) { Layer = plateLayer }); - doc.AddEntity(new Line(pt4, pt1) { Layer = plateLayer }); + doc.Entities.Add(new Line(pt1, pt2) { Layer = plateLayer }); + doc.Entities.Add(new Line(pt2, pt3) { Layer = plateLayer }); + doc.Entities.Add(new Line(pt3, pt4) { Layer = plateLayer }); + doc.Entities.Add(new Line(pt4, pt1) { Layer = plateLayer }); pt1.X += plate.EdgeSpacing.Left; pt1.Y += plate.EdgeSpacing.Bottom; @@ -168,10 +168,10 @@ namespace OpenNest.IO pt4.X = pt3.X; pt4.Y = pt1.Y; - doc.AddEntity(new Line(pt1, pt2) { Layer = plateLayer, LineType = LineType.Dashed }); - doc.AddEntity(new Line(pt2, pt3) { Layer = plateLayer, LineType = LineType.Dashed }); - doc.AddEntity(new Line(pt3, pt4) { Layer = plateLayer, LineType = LineType.Dashed }); - doc.AddEntity(new Line(pt4, pt1) { Layer = plateLayer, LineType = LineType.Dashed }); + doc.Entities.Add(new Line(pt1, pt2) { Layer = plateLayer, Linetype = Linetype.Dashed }); + doc.Entities.Add(new Line(pt2, pt3) { Layer = plateLayer, Linetype = Linetype.Dashed }); + doc.Entities.Add(new Line(pt3, pt4) { Layer = plateLayer, Linetype = Linetype.Dashed }); + doc.Entities.Add(new Line(pt4, pt1) { Layer = plateLayer, Linetype = Linetype.Dashed }); } private void AddProgram(Program program) @@ -218,7 +218,7 @@ namespace OpenNest.IO var ln = new Line(curpos, pt); ln.Layer = cutLayer; - doc.AddEntity(ln); + doc.Entities.Add(ln); curpos = pt; } @@ -231,7 +231,7 @@ namespace OpenNest.IO var ln = new Line(curpos, pt); ln.Layer = rapidLayer; - doc.AddEntity(ln); + doc.Entities.Add(ln); curpos = pt; } @@ -272,13 +272,13 @@ namespace OpenNest.IO { var circle = new Circle(center, radius); circle.Layer = cutLayer; - doc.AddEntity(circle); + doc.Entities.Add(circle); } else { var arc2 = new Arc(center, radius, startAngle, endAngle); arc2.Layer = cutLayer; - doc.AddEntity(arc2); + doc.Entities.Add(arc2); } curpos = endpt; diff --git a/Source/OpenNest/IO/DxfImporter.cs b/OpenNest/IO/DxfImporter.cs similarity index 80% rename from Source/OpenNest/IO/DxfImporter.cs rename to OpenNest/IO/DxfImporter.cs index fba8051..f79f378 100644 --- a/Source/OpenNest/IO/DxfImporter.cs +++ b/OpenNest/IO/DxfImporter.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Diagnostics; using System.IO; +using System.Linq; using netDxf; using OpenNest.Geometry; @@ -18,28 +19,28 @@ namespace OpenNest.IO private List GetGeometry(DxfDocument doc) { var entities = new List(); - var lines = new List(doc.Lines.Count); - var arcs = new List(doc.Arcs.Count); + var lines = new List(doc.Entities.Lines.Count()); + var arcs = new List(doc.Entities.Arcs.Count()); - foreach (var spline in doc.Splines) + foreach (var spline in doc.Entities.Splines) lines.AddRange(spline.ToOpenNest(SplinePrecision)); - foreach (var polyline in doc.LwPolylines) + foreach (var polyline in doc.Entities.Polylines2D) lines.AddRange(polyline.ToOpenNest()); - foreach (var ellipse in doc.Ellipses) + foreach (var ellipse in doc.Entities.Ellipses) lines.AddRange(ellipse.ToOpenNest(SplinePrecision)); - foreach (var line in doc.Lines) + foreach (var line in doc.Entities.Lines) lines.Add(line.ToOpenNest()); - foreach (var arc in doc.Arcs) + foreach (var arc in doc.Entities.Arcs) arcs.Add(arc.ToOpenNest()); - foreach (var circle in doc.Circles) + foreach (var circle in doc.Entities.Circles) entities.Add(circle.ToOpenNest()); - foreach (var polyline in doc.Polylines) + foreach (var polyline in doc.Entities.Polylines3D) lines.AddRange(polyline.ToOpenNest()); Helper.Optimize(lines); diff --git a/Source/OpenNest/IO/Extensions.cs b/OpenNest/IO/Extensions.cs similarity index 93% rename from Source/OpenNest/IO/Extensions.cs rename to OpenNest/IO/Extensions.cs index 4738d3d..dcc5d85 100644 --- a/Source/OpenNest/IO/Extensions.cs +++ b/OpenNest/IO/Extensions.cs @@ -16,14 +16,9 @@ namespace OpenNest.IO return new Vector(v.X, v.Y); } - public static Vector ToOpenNest(this netDxf.Entities.PolylineVertex v) + public static Vector ToOpenNest(this netDxf.Entities.Polyline2DVertex v) { - return new Vector(v.Location.X, v.Location.Y); - } - - public static Vector ToOpenNest(this netDxf.Entities.LwPolylineVertex v) - { - return new Vector(v.Location.X, v.Location.Y); + return new Vector(v.Position.X, v.Position.Y); } public static Arc ToOpenNest(this netDxf.Entities.Arc arc) @@ -84,7 +79,7 @@ namespace OpenNest.IO return lines; } - public static List ToOpenNest(this netDxf.Entities.Polyline polyline) + public static List ToOpenNest(this netDxf.Entities.Polyline3D polyline) { var lines = new List(); @@ -110,7 +105,7 @@ namespace OpenNest.IO return lines; } - public static List ToOpenNest(this netDxf.Entities.LwPolyline polyline) + public static List ToOpenNest(this netDxf.Entities.Polyline2D polyline) { var lines = new List(); @@ -138,7 +133,7 @@ namespace OpenNest.IO public static List ToOpenNest(this netDxf.Entities.Ellipse ellipse, int precision = 200) { - var lines = ellipse.ToPolyline(precision).ToOpenNest(); + var lines = ellipse.ToPolyline2D(precision).ToOpenNest(); if (lines.Count < 2) return lines; diff --git a/Source/OpenNest/IO/NestReader.cs b/OpenNest/IO/NestReader.cs similarity index 94% rename from Source/OpenNest/IO/NestReader.cs rename to OpenNest/IO/NestReader.cs index c3355a9..b2cf8da 100644 --- a/Source/OpenNest/IO/NestReader.cs +++ b/OpenNest/IO/NestReader.cs @@ -2,17 +2,17 @@ using System.Collections.Generic; using System.Drawing; using System.IO; +using System.IO.Compression; using System.Linq; using System.Text.RegularExpressions; using System.Xml; -using Ionic.Zip; using OpenNest.CNC; namespace OpenNest.IO { public sealed class NestReader { - private ZipFile zipFile; + private ZipArchive zipArchive; private Dictionary plateDict; private Dictionary drawingDict; private Dictionary programDict; @@ -32,14 +32,15 @@ namespace OpenNest.IO public NestReader(string file) : this() { - stream = new FileStream(file, FileMode.Open, FileAccess.ReadWrite); - zipFile = ZipFile.Read(stream); + stream = new FileStream(file, FileMode.Open, FileAccess.Read); + zipArchive = new ZipArchive(stream, ZipArchiveMode.Read); } public NestReader(Stream stream) : this() { - zipFile = ZipFile.Read(stream); + this.stream = stream; + zipArchive = new ZipArchive(stream, ZipArchiveMode.Read); } public Nest Read() @@ -47,14 +48,17 @@ namespace OpenNest.IO const string plateExtensionPattern = "plate-\\d\\d\\d"; const string programExtensionPattern = "program-\\d\\d\\d"; - foreach (var entry in zipFile.Entries) + foreach (var entry in zipArchive.Entries) { var memstream = new MemoryStream(); - entry.Extract(memstream); + using (var entryStream = entry.Open()) + { + entryStream.CopyTo(memstream); + } memstream.Position = 0; - switch (entry.FileName) + switch (entry.FullName) { case "info": ReadNestInfo(memstream); @@ -69,15 +73,15 @@ namespace OpenNest.IO continue; } - if (Regex.IsMatch(entry.FileName, programExtensionPattern)) + if (Regex.IsMatch(entry.FullName, programExtensionPattern)) { - ReadProgram(memstream, entry.FileName); + ReadProgram(memstream, entry.FullName); continue; } - if (Regex.IsMatch(entry.FileName, plateExtensionPattern)) + if (Regex.IsMatch(entry.FullName, plateExtensionPattern)) { - ReadPlate(memstream, entry.FileName); + ReadPlate(memstream, entry.FullName); continue; } } @@ -88,6 +92,7 @@ namespace OpenNest.IO AddPlatesToNest(); AddDrawingsToNest(); + zipArchive.Dispose(); stream.Close(); return nest; diff --git a/Source/OpenNest/IO/NestWriter.cs b/OpenNest/IO/NestWriter.cs similarity index 90% rename from Source/OpenNest/IO/NestWriter.cs rename to OpenNest/IO/NestWriter.cs index b80b783..69e976a 100644 --- a/Source/OpenNest/IO/NestWriter.cs +++ b/OpenNest/IO/NestWriter.cs @@ -1,10 +1,10 @@ using System; using System.Collections.Generic; using System.IO; +using System.IO.Compression; using System.Linq; using System.Text; using System.Xml; -using Ionic.Zip; using OpenNest.CNC; namespace OpenNest.IO @@ -18,7 +18,7 @@ namespace OpenNest.IO private const int OutputPrecision = 10; private readonly Nest nest; - private ZipFile zipFile; + private ZipArchive zipArchive; private Dictionary drawingDict; public NestWriter(Nest nest) @@ -32,13 +32,16 @@ namespace OpenNest.IO this.nest.DateLastModified = DateTime.Now; SetDrawingIds(); - zipFile = new ZipFile(); - AddNestInfo(); - AddPlates(); - AddPlateInfo(); - AddDrawings(); - AddDrawingInfo(); - zipFile.Save(file); + + using (var fileStream = new FileStream(file, FileMode.Create)) + using (zipArchive = new ZipArchive(fileStream, ZipArchiveMode.Create)) + { + AddNestInfo(); + AddPlates(); + AddPlateInfo(); + AddDrawings(); + AddDrawingInfo(); + } return true; } @@ -102,7 +105,11 @@ namespace OpenNest.IO stream.Position = 0; - zipFile.AddEntry("info", stream); + var entry = zipArchive.CreateEntry("info"); + using (var entryStream = entry.Open()) + { + stream.CopyTo(entryStream); + } } private void AddPlates() @@ -115,7 +122,12 @@ namespace OpenNest.IO var name = string.Format("plate-{0}", num.ToString().PadLeft(3, '0')); WritePlate(stream, plate); - zipFile.AddEntry(name, stream); + + var entry = zipArchive.CreateEntry(name); + using (var entryStream = entry.Open()) + { + stream.CopyTo(entryStream); + } num++; } @@ -171,7 +183,11 @@ namespace OpenNest.IO stream.Position = 0; - zipFile.AddEntry("plate-info", stream); + var entry = zipArchive.CreateEntry("plate-info"); + using (var entryStream = entry.Open()) + { + stream.CopyTo(entryStream); + } } private void AddDrawings() @@ -184,7 +200,12 @@ namespace OpenNest.IO var name = string.Format("program-{0}", num.ToString().PadLeft(3, '0')); WriteDrawing(stream, dwg); - zipFile.AddEntry(name, stream); + + var entry = zipArchive.CreateEntry(name); + using (var entryStream = entry.Open()) + { + stream.CopyTo(entryStream); + } num++; } @@ -244,7 +265,11 @@ namespace OpenNest.IO stream.Position = 0; - zipFile.AddEntry("drawing-info", stream); + var entry = zipArchive.CreateEntry("drawing-info"); + using (var entryStream = entry.Open()) + { + stream.CopyTo(entryStream); + } } private void WritePlate(Stream stream, Plate plate) diff --git a/Source/OpenNest/IO/ProgramReader.cs b/OpenNest/IO/ProgramReader.cs similarity index 100% rename from Source/OpenNest/IO/ProgramReader.cs rename to OpenNest/IO/ProgramReader.cs diff --git a/Source/OpenNest/LayoutPart.cs b/OpenNest/LayoutPart.cs similarity index 100% rename from Source/OpenNest/LayoutPart.cs rename to OpenNest/LayoutPart.cs diff --git a/Source/OpenNest/MainApp.cs b/OpenNest/MainApp.cs similarity index 100% rename from Source/OpenNest/MainApp.cs rename to OpenNest/MainApp.cs diff --git a/Source/OpenNest/MdiExtensions.cs b/OpenNest/MdiExtensions.cs similarity index 100% rename from Source/OpenNest/MdiExtensions.cs rename to OpenNest/MdiExtensions.cs diff --git a/Source/OpenNest/OpenNest.csproj b/OpenNest/OpenNest.csproj similarity index 95% rename from Source/OpenNest/OpenNest.csproj rename to OpenNest/OpenNest.csproj index a1dbe59..4671a0b 100644 --- a/Source/OpenNest/OpenNest.csproj +++ b/OpenNest/OpenNest.csproj @@ -1,5 +1,5 @@  - + Debug x86 @@ -10,7 +10,7 @@ Properties OpenNest OpenNest - v4.0 + v4.8 512 @@ -25,6 +25,7 @@ prompt MinimumRecommendedRules.ruleset false + false bin\Release\ @@ -35,15 +36,12 @@ prompt MinimumRecommendedRules.ruleset false + false - - False - ..\..\External\Ionic.Zip.dll - - - False - ..\..\External\netDxf.dll + + + ..\packages\netDxf.2023.11.10\lib\net48\netDxf.dll @@ -231,6 +229,7 @@ True + SettingsSingleFileGenerator Settings.Designer.cs diff --git a/Source/OpenNest/Properties/AssemblyInfo.cs b/OpenNest/Properties/AssemblyInfo.cs similarity index 100% rename from Source/OpenNest/Properties/AssemblyInfo.cs rename to OpenNest/Properties/AssemblyInfo.cs diff --git a/Source/OpenNest/Properties/Resources.Designer.cs b/OpenNest/Properties/Resources.Designer.cs similarity index 74% rename from Source/OpenNest/Properties/Resources.Designer.cs rename to OpenNest/Properties/Resources.Designer.cs index 0a2befe..bb7d609 100644 --- a/Source/OpenNest/Properties/Resources.Designer.cs +++ b/OpenNest/Properties/Resources.Designer.cs @@ -1,17 +1,17 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.1022 +// Runtime Version:4.0.30319.42000 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ -namespace OpenNest.Properties -{ - - +namespace OpenNest.Properties { + using System; + + /// /// A strongly-typed resource class, for looking up localized strings, etc. /// @@ -19,7 +19,7 @@ namespace OpenNest.Properties // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { @@ -60,6 +60,9 @@ namespace OpenNest.Properties } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// internal static System.Drawing.Bitmap add { get { object obj = ResourceManager.GetObject("add", resourceCulture); @@ -67,6 +70,9 @@ namespace OpenNest.Properties } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// internal static System.Drawing.Bitmap clear { get { object obj = ResourceManager.GetObject("clear", resourceCulture); @@ -74,6 +80,9 @@ namespace OpenNest.Properties } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// internal static System.Drawing.Bitmap clock { get { object obj = ResourceManager.GetObject("clock", resourceCulture); @@ -81,6 +90,9 @@ namespace OpenNest.Properties } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// internal static System.Drawing.Bitmap doc_new { get { object obj = ResourceManager.GetObject("doc_new", resourceCulture); @@ -88,6 +100,9 @@ namespace OpenNest.Properties } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// internal static System.Drawing.Bitmap doc_open { get { object obj = ResourceManager.GetObject("doc_open", resourceCulture); @@ -95,6 +110,9 @@ namespace OpenNest.Properties } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// internal static System.Drawing.Bitmap import { get { object obj = ResourceManager.GetObject("import", resourceCulture); @@ -102,6 +120,9 @@ namespace OpenNest.Properties } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// internal static System.Drawing.Bitmap move_first { get { object obj = ResourceManager.GetObject("move_first", resourceCulture); @@ -109,6 +130,9 @@ namespace OpenNest.Properties } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// internal static System.Drawing.Bitmap move_last { get { object obj = ResourceManager.GetObject("move_last", resourceCulture); @@ -116,6 +140,9 @@ namespace OpenNest.Properties } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// internal static System.Drawing.Bitmap move_next { get { object obj = ResourceManager.GetObject("move_next", resourceCulture); @@ -123,6 +150,9 @@ namespace OpenNest.Properties } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// internal static System.Drawing.Bitmap move_previous { get { object obj = ResourceManager.GetObject("move_previous", resourceCulture); @@ -130,6 +160,9 @@ namespace OpenNest.Properties } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// internal static System.Drawing.Bitmap remove { get { object obj = ResourceManager.GetObject("remove", resourceCulture); @@ -137,6 +170,9 @@ namespace OpenNest.Properties } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// internal static System.Drawing.Bitmap rotate_ccw { get { object obj = ResourceManager.GetObject("rotate_ccw", resourceCulture); @@ -144,6 +180,9 @@ namespace OpenNest.Properties } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// internal static System.Drawing.Bitmap rotate_cw { get { object obj = ResourceManager.GetObject("rotate_cw", resourceCulture); @@ -151,6 +190,9 @@ namespace OpenNest.Properties } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// internal static System.Drawing.Bitmap save { get { object obj = ResourceManager.GetObject("save", resourceCulture); @@ -158,6 +200,9 @@ namespace OpenNest.Properties } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// internal static System.Drawing.Bitmap save_as { get { object obj = ResourceManager.GetObject("save_as", resourceCulture); @@ -165,6 +210,9 @@ namespace OpenNest.Properties } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// internal static System.Drawing.Bitmap watermark { get { object obj = ResourceManager.GetObject("watermark", resourceCulture); @@ -172,6 +220,9 @@ namespace OpenNest.Properties } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// internal static System.Drawing.Bitmap zoom_all { get { object obj = ResourceManager.GetObject("zoom_all", resourceCulture); @@ -179,6 +230,9 @@ namespace OpenNest.Properties } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// internal static System.Drawing.Bitmap zoom_in { get { object obj = ResourceManager.GetObject("zoom_in", resourceCulture); @@ -186,6 +240,9 @@ namespace OpenNest.Properties } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// internal static System.Drawing.Bitmap zoom_out { get { object obj = ResourceManager.GetObject("zoom_out", resourceCulture); diff --git a/Source/OpenNest/Properties/Resources.resx b/OpenNest/Properties/Resources.resx similarity index 100% rename from Source/OpenNest/Properties/Resources.resx rename to OpenNest/Properties/Resources.resx diff --git a/Source/OpenNest/Properties/Settings.Designer.cs b/OpenNest/Properties/Settings.Designer.cs similarity index 99% rename from Source/OpenNest/Properties/Settings.Designer.cs rename to OpenNest/Properties/Settings.Designer.cs index 4fc1085..595021a 100644 --- a/Source/OpenNest/Properties/Settings.Designer.cs +++ b/OpenNest/Properties/Settings.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.34209 +// Runtime Version:4.0.30319.42000 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -12,7 +12,7 @@ namespace OpenNest.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.14.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); diff --git a/Source/OpenNest/Properties/Settings.settings b/OpenNest/Properties/Settings.settings similarity index 100% rename from Source/OpenNest/Properties/Settings.settings rename to OpenNest/Properties/Settings.settings diff --git a/Source/OpenNest/PushDirection.cs b/OpenNest/PushDirection.cs similarity index 100% rename from Source/OpenNest/PushDirection.cs rename to OpenNest/PushDirection.cs diff --git a/Source/OpenNest/Resources/add.png b/OpenNest/Resources/add.png similarity index 100% rename from Source/OpenNest/Resources/add.png rename to OpenNest/Resources/add.png diff --git a/Source/OpenNest/Resources/clear.png b/OpenNest/Resources/clear.png similarity index 100% rename from Source/OpenNest/Resources/clear.png rename to OpenNest/Resources/clear.png diff --git a/Source/OpenNest/Resources/clock.png b/OpenNest/Resources/clock.png similarity index 100% rename from Source/OpenNest/Resources/clock.png rename to OpenNest/Resources/clock.png diff --git a/Source/OpenNest/Resources/doc_new.png b/OpenNest/Resources/doc_new.png similarity index 100% rename from Source/OpenNest/Resources/doc_new.png rename to OpenNest/Resources/doc_new.png diff --git a/Source/OpenNest/Resources/doc_open.png b/OpenNest/Resources/doc_open.png similarity index 100% rename from Source/OpenNest/Resources/doc_open.png rename to OpenNest/Resources/doc_open.png diff --git a/Source/OpenNest/Resources/edit_icon.ico b/OpenNest/Resources/edit_icon.ico similarity index 100% rename from Source/OpenNest/Resources/edit_icon.ico rename to OpenNest/Resources/edit_icon.ico diff --git a/Source/OpenNest/Resources/import.png b/OpenNest/Resources/import.png similarity index 100% rename from Source/OpenNest/Resources/import.png rename to OpenNest/Resources/import.png diff --git a/Source/OpenNest/Resources/move_first.png b/OpenNest/Resources/move_first.png similarity index 100% rename from Source/OpenNest/Resources/move_first.png rename to OpenNest/Resources/move_first.png diff --git a/Source/OpenNest/Resources/move_last.png b/OpenNest/Resources/move_last.png similarity index 100% rename from Source/OpenNest/Resources/move_last.png rename to OpenNest/Resources/move_last.png diff --git a/Source/OpenNest/Resources/move_next.png b/OpenNest/Resources/move_next.png similarity index 100% rename from Source/OpenNest/Resources/move_next.png rename to OpenNest/Resources/move_next.png diff --git a/Source/OpenNest/Resources/move_previous.png b/OpenNest/Resources/move_previous.png similarity index 100% rename from Source/OpenNest/Resources/move_previous.png rename to OpenNest/Resources/move_previous.png diff --git a/Source/OpenNest/Resources/remove.png b/OpenNest/Resources/remove.png similarity index 100% rename from Source/OpenNest/Resources/remove.png rename to OpenNest/Resources/remove.png diff --git a/Source/OpenNest/Resources/rotate_ccw.png b/OpenNest/Resources/rotate_ccw.png similarity index 100% rename from Source/OpenNest/Resources/rotate_ccw.png rename to OpenNest/Resources/rotate_ccw.png diff --git a/Source/OpenNest/Resources/rotate_cw.png b/OpenNest/Resources/rotate_cw.png similarity index 100% rename from Source/OpenNest/Resources/rotate_cw.png rename to OpenNest/Resources/rotate_cw.png diff --git a/Source/OpenNest/Resources/save.png b/OpenNest/Resources/save.png similarity index 100% rename from Source/OpenNest/Resources/save.png rename to OpenNest/Resources/save.png diff --git a/Source/OpenNest/Resources/save_as.png b/OpenNest/Resources/save_as.png similarity index 100% rename from Source/OpenNest/Resources/save_as.png rename to OpenNest/Resources/save_as.png diff --git a/Source/OpenNest/Resources/watermark.png b/OpenNest/Resources/watermark.png similarity index 100% rename from Source/OpenNest/Resources/watermark.png rename to OpenNest/Resources/watermark.png diff --git a/Source/OpenNest/Resources/zoom_all.png b/OpenNest/Resources/zoom_all.png similarity index 100% rename from Source/OpenNest/Resources/zoom_all.png rename to OpenNest/Resources/zoom_all.png diff --git a/Source/OpenNest/Resources/zoom_in.png b/OpenNest/Resources/zoom_in.png similarity index 100% rename from Source/OpenNest/Resources/zoom_in.png rename to OpenNest/Resources/zoom_in.png diff --git a/Source/OpenNest/Resources/zoom_out.png b/OpenNest/Resources/zoom_out.png similarity index 100% rename from Source/OpenNest/Resources/zoom_out.png rename to OpenNest/Resources/zoom_out.png diff --git a/Source/OpenNest/SelectionType.cs b/OpenNest/SelectionType.cs similarity index 100% rename from Source/OpenNest/SelectionType.cs rename to OpenNest/SelectionType.cs diff --git a/Source/OpenNest/ToolStripRenderer.cs b/OpenNest/ToolStripRenderer.cs similarity index 100% rename from Source/OpenNest/ToolStripRenderer.cs rename to OpenNest/ToolStripRenderer.cs diff --git a/Source/OpenNest/Win32.cs b/OpenNest/Win32.cs similarity index 100% rename from Source/OpenNest/Win32.cs rename to OpenNest/Win32.cs diff --git a/Source/OpenNest/app.config b/OpenNest/app.config similarity index 91% rename from Source/OpenNest/app.config rename to OpenNest/app.config index 24d263e..b72f121 100644 --- a/Source/OpenNest/app.config +++ b/OpenNest/app.config @@ -1,9 +1,9 @@ - + -
-
+
+
@@ -45,7 +45,7 @@ 04/08/2015 19:30:00 - + 1 @@ -66,4 +66,4 @@ - + diff --git a/OpenNest/packages.config b/OpenNest/packages.config new file mode 100644 index 0000000..7aed2f8 --- /dev/null +++ b/OpenNest/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Source/OpenNest.Core/Collections/PartCollection.cs b/Source/OpenNest.Core/Collections/PartCollection.cs deleted file mode 100644 index 6a7c7ca..0000000 --- a/Source/OpenNest.Core/Collections/PartCollection.cs +++ /dev/null @@ -1,177 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; - -namespace OpenNest.Collections -{ - public class PartCollection : IList, ICollection, IEnumerable - { - private readonly List parts; - - public event EventHandler PartAdded; - - public event EventHandler PartRemoved; - - public event EventHandler PartChanged; - - public PartCollection() - { - parts = new List(); - } - - public void Add(Part item) - { - var index = parts.Count; - parts.Add(item); - - if (PartAdded != null) - PartAdded.Invoke(this, new PartAddedEventArgs(item, index)); - } - - public void AddRange(IEnumerable collection) - { - var index = parts.Count; - parts.AddRange(collection); - - if (PartAdded != null) - { - foreach (var part in collection) - PartAdded.Invoke(this, new PartAddedEventArgs(part, index++)); - } - } - - public void Insert(int index, Part item) - { - parts.Insert(index, item); - - if (PartAdded != null) - PartAdded.Invoke(this, new PartAddedEventArgs(item, index)); - } - - public bool Remove(Part item) - { - var success = parts.Remove(item); - - if (PartRemoved != null) - PartRemoved.Invoke(this, new PartRemovedEventArgs(item, success)); - - return success; - } - - public void RemoveAt(int index) - { - if (PartRemoved != null) - { - var part = parts[index]; - - parts.RemoveAt(index); - PartRemoved.Invoke(this, new PartRemovedEventArgs(part, true)); - } - else - { - parts.RemoveAt(index); - } - } - - public void Clear() - { - for (int i = parts.Count - 1; i >= 0; --i) - RemoveAt(i); - } - - public int IndexOf(Part item) - { - return parts.IndexOf(item); - } - - public Part this[int index] - { - get - { - return parts[index]; - } - set - { - var old = parts[index]; - - parts[index] = value; - - if (PartChanged != null) - { - var eventArgs = new PartChangedEventArgs(old, value, index); - PartChanged.Invoke(this, eventArgs); - } - } - } - - public bool Contains(Part item) - { - return parts.Contains(item); - } - - public void CopyTo(Part[] array, int arrayIndex) - { - parts.CopyTo(array, arrayIndex); - } - - public int Count - { - get { return parts.Count; } - } - - public bool IsReadOnly - { - get { return false; } - } - - public object ForEach { get; set; } - - public IEnumerator GetEnumerator() - { - return parts.GetEnumerator(); - } - - IEnumerator IEnumerable.GetEnumerator() - { - return parts.GetEnumerator(); - } - } - - public class PartAddedEventArgs : EventArgs - { - public readonly Part Part; - public readonly int Index; - - public PartAddedEventArgs(Part part, int index) - { - Part = part; - Index = index; - } - } - - public class PartRemovedEventArgs : EventArgs - { - public readonly Part Part; - public readonly bool Succeeded; - - public PartRemovedEventArgs(Part part, bool succeeded) - { - Part = part; - Succeeded = succeeded; - } - } - - public class PartChangedEventArgs : EventArgs - { - public readonly Part OldPart; - public readonly Part NewPart; - public readonly int Index; - - public PartChangedEventArgs(Part oldPart, Part newPart, int index) - { - OldPart = oldPart; - NewPart = newPart; - Index = index; - } - } -} diff --git a/Source/OpenNest.Core/Collections/PlateCollection.cs b/Source/OpenNest.Core/Collections/PlateCollection.cs deleted file mode 100644 index c40375e..0000000 --- a/Source/OpenNest.Core/Collections/PlateCollection.cs +++ /dev/null @@ -1,187 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; - -namespace OpenNest.Collections -{ - public class PlateCollection : IList, ICollection, IEnumerable - { - private List plates; - - public event EventHandler PlateAdded; - - public event EventHandler PlateRemoved; - - public event EventHandler PlateChanged; - - public PlateCollection() - { - plates = new List(); - } - - public void Add(Plate item) - { - var index = plates.Count; - plates.Add(item); - - if (PlateAdded != null) - PlateAdded.Invoke(this, new PlateAddedEventArgs(item, index)); - } - - public void AddRange(IEnumerable collection) - { - var index = plates.Count; - plates.AddRange(collection); - - if (PlateAdded != null) - { - foreach (var plate in collection) - PlateAdded.Invoke(this, new PlateAddedEventArgs(plate, index++)); - } - } - - public void Insert(int index, Plate item) - { - plates.Insert(index, item); - - if (PlateAdded != null) - PlateAdded.Invoke(this, new PlateAddedEventArgs(item, index)); - } - - public bool Remove(Plate item) - { - var success = plates.Remove(item); - - if (PlateRemoved != null) - PlateRemoved.Invoke(this, new PlateRemovedEventArgs(item, success)); - - return success; - } - - public void RemoveAt(int index) - { - var plate = plates[index]; - plates.RemoveAt(index); - - if (PlateRemoved != null) - PlateRemoved.Invoke(this, new PlateRemovedEventArgs(plate, true)); - } - - public void Clear() - { - for (int i = plates.Count - 1; i >= 0; --i) - RemoveAt(i); - } - - public int IndexOf(Plate item) - { - return plates.IndexOf(item); - } - - public Plate this[int index] - { - get - { - return plates[index]; - } - set - { - var old = plates[index]; - - plates[index] = value; - - if (PlateChanged != null) - { - var eventArgs = new PlateChangedEventArgs(old, value, index); - PlateChanged.Invoke(this, eventArgs); - } - } - } - - public bool Contains(Plate item) - { - return plates.Contains(item); - } - - public void CopyTo(Plate[] array, int arrayIndex) - { - plates.CopyTo(array, arrayIndex); - } - - public int Count - { - get { return plates.Count; } - } - - public bool IsReadOnly - { - get { return false; } - } - - public IEnumerator GetEnumerator() - { - return plates.GetEnumerator(); - } - - IEnumerator IEnumerable.GetEnumerator() - { - return plates.GetEnumerator(); - } - - public void RemoveEmptyPlates() - { - if (Count < 2) - return; - - for (int i = Count - 1; i >= 0; --i) - { - if (this[i].Parts.Count == 0) - RemoveAt(i); - } - } - - public int TotalCount - { - get { return plates.Sum(plate => plate.Quantity); } - } - } - - public class PlateAddedEventArgs : EventArgs - { - public readonly Plate Plate; - public readonly int Index; - - public PlateAddedEventArgs(Plate plate, int index) - { - Plate = plate; - Index = index; - } - } - - public class PlateChangedEventArgs : EventArgs - { - public readonly Plate OldPlate; - public readonly Plate NewPlate; - public readonly int Index; - - public PlateChangedEventArgs(Plate oldPlate, Plate newPlate, int index) - { - OldPlate = oldPlate; - NewPlate = newPlate; - Index = index; - } - } - - public class PlateRemovedEventArgs : EventArgs - { - public readonly Plate Plate; - public readonly bool Succeeded; - - public PlateRemovedEventArgs(Plate plate, bool succeeded) - { - Plate = plate; - Succeeded = succeeded; - } - } -}