diff --git a/.nuget/SourceGrid.nuspec b/.nuget/SourceGrid.nuspec
index 9fe2a7a..bf9d45a 100644
--- a/.nuget/SourceGrid.nuspec
+++ b/.nuget/SourceGrid.nuspec
@@ -17,13 +17,13 @@
There are a lot of controls of this type available, but often are expensive, difficult to be customize or not compatible with .NET.
SourceGrid allows users to have customizable datasource which is not in DataSet format.
- Copyright 2023
+ Copyright 2024
Open source grid control tool SOURCEGRID GRID
-
+
-
+
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1edc4b6..69ca6a9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,12 @@
# SourceGrid
+## [3.0.0] - 2024-01-18
+
+### Major Changes
+
+- Migrate to .net 8.0 related to #3
+- Deprecated DevAge Serialization
+
## [2.0.0] - 2023-11-24
### Major Changes
diff --git a/README.md b/README.md
index 4969c08..cbf2c72 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,7 @@ For more detailed information, Refer article at [CodeProject](https://www.codepr
There only a few preconditions which must be fulfilled.
* Visual Studio 2022
-* .Net 4.8
+* Net 8.0
# Changes:
1. Enhancement: Smooth horizontal and vertical scrolling
diff --git a/SourceGrid.sln b/SourceGrid.sln
index b2518b6..bc321a1 100644
--- a/SourceGrid.sln
+++ b/SourceGrid.sln
@@ -1,11 +1,11 @@
-
+
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.40629.0
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceGrid", "Src\SourceGrid.csproj", "{2A5A1657-DBA8-4117-8E2A-9F1236ACE9E2}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SourceGrid", "Src\SourceGrid.csproj", "{2A5A1657-DBA8-4117-8E2A-9F1236ACE9E2}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceGrid.Tests", "tests\SourceGrid.Tests.csproj", "{E9C1C112-7618-4815-8E4F-BA6D833EB73E}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SourceGrid.Tests", "tests\SourceGrid.Tests.csproj", "{E9C1C112-7618-4815-8E4F-BA6D833EB73E}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{FA4FECFA-5F28-4510-BE5B-80DCDB092491}"
ProjectSection(SolutionItems) = preProject
diff --git a/Src/DevAge.Windows.Forms/Windows/Forms/ButtonMultiSelection.cs b/Src/DevAge.Windows.Forms/Windows/Forms/ButtonMultiSelection.cs
index bb5bbf7..e9219b8 100644
--- a/Src/DevAge.Windows.Forms/Windows/Forms/ButtonMultiSelection.cs
+++ b/Src/DevAge.Windows.Forms/Windows/Forms/ButtonMultiSelection.cs
@@ -224,17 +224,18 @@ private void btMain_Click(object sender, System.EventArgs e)
}
}
- private ContextMenu l_ContextMenu = new ContextMenu();
+ // TODO ContextMenu is no longer supported. Use ContextMenuStrip instead. For more details see https://docs.microsoft.com/en-us/dotnet/core/compatibility/winforms#removed-controls
+ private ContextMenuStrip l_ContextMenu = new ContextMenuStrip();
private void btArrow_Click(object sender, System.EventArgs e)
{
if (m_ButtonsItems!=null && m_ButtonsItems.Count>0)
{
- l_ContextMenu.MenuItems.Clear();
+ l_ContextMenu.Items.Clear();
foreach(SubButtonItem b in m_ButtonsItems)
{
b.Owner = this;
- l_ContextMenu.MenuItems.Add(b.m_MenuItem);
+ l_ContextMenu.Items.Add(b.m_MenuItem);
}
l_ContextMenu.Show(btMain,new Point(0,btMain.Height));
@@ -302,10 +303,10 @@ public SubButtonItem(string p_Text, EventHandler p_Event):this(p_Text, p_Event,
public SubButtonItem(string p_Text, EventHandler p_Event, Image p_Image)
{
if (p_Image == null)
- m_MenuItem = new MenuItem();
+ m_MenuItem = new ToolStripMenuItem();
else
{
- m_MenuItem = new MenuItem();
+ m_MenuItem = new ToolStripMenuItem();
//TODO add the image
}
@@ -315,10 +316,10 @@ public SubButtonItem(string p_Text, EventHandler p_Event, Image p_Image)
public SubButtonItem(string p_Text, EventHandler p_Event, ImageList p_ImageList, int p_ImageIndex)
{
if (p_ImageList == null)
- m_MenuItem = new MenuItem();
+ m_MenuItem = new ToolStripMenuItem();
else
{
- m_MenuItem = new MenuItem();
+ m_MenuItem = new ToolStripMenuItem();
//TODO add the image
}
@@ -334,7 +335,7 @@ private void DefConstructor(string p_Text, EventHandler p_Event)
Click += p_Event;
}
- internal MenuItem m_MenuItem;
+ internal ToolStripMenuItem m_MenuItem;
private object m_Tag;
public object Tag
diff --git a/Src/DevAge.Windows.Forms/Windows/Forms/UIComboBox.cs b/Src/DevAge.Windows.Forms/Windows/Forms/UIComboBox.cs
index be793af..45a4eab 100644
--- a/Src/DevAge.Windows.Forms/Windows/Forms/UIComboBox.cs
+++ b/Src/DevAge.Windows.Forms/Windows/Forms/UIComboBox.cs
@@ -124,7 +124,7 @@ public bool ReadOnly
{
m_ReadOnlyTextBox.ReadOnly = true;
m_ReadOnlyTextBox.Visible = true;
- m_ReadOnlyTextBox.ContextMenu = m_ComboBox.ContextMenu;
+ m_ReadOnlyTextBox.ContextMenuStrip = m_ComboBox.ContextMenuStrip;
m_ComboBox.SendToBack();
m_ComboBox.Enabled = false;
}
diff --git a/Src/DevAgeSourcePack4/Runtime/Serialization/Utilities.cs b/Src/DevAgeSourcePack4/Runtime/Serialization/Utilities.cs
deleted file mode 100644
index 54c17ab..0000000
--- a/Src/DevAgeSourcePack4/Runtime/Serialization/Utilities.cs
+++ /dev/null
@@ -1,73 +0,0 @@
-using System;
-using System.Runtime.Serialization;
-using System.Runtime.Serialization.Formatters.Binary;
-using System.IO;
-using System.Security;
-using System.Security.Cryptography;
-using System.Text;
-
-namespace DevAge.Runtime.Serialization
-{
- ///
- /// Static Class for serialization utilities
- ///
- public static class Utilities
- {
- #region Serialization Code
- ///
- /// Deserialize the stream. Using BinaryFormatter.
- ///
- ///
- ///
- public static object BinDeserialize(Stream p_Stream)
- {
- BinaryFormatter f = new BinaryFormatter();
- object tmp;
- tmp = f.Deserialize(p_Stream);
- return tmp;
- }
-
- ///
- /// Serialize the stream. Using BinaryFormatter.
- ///
- ///
- ///
- public static void BinSerialize(Stream p_Stream, object p_Object)
- {
- BinaryFormatter f = new BinaryFormatter();
- f.Serialize(p_Stream,p_Object);
- }
-
- ///
- /// Deserialize the specified file. Using BinaryFormatter.
- ///
- ///
- ///
- public static object BinDeserialize(string p_strFileName)
- {
- object tmp;
- using (FileStream l_Stream = new FileStream(p_strFileName,FileMode.Open,FileAccess.Read))
- {
- tmp = BinDeserialize(l_Stream);
- l_Stream.Close();
- }
- return tmp;
- }
-
- ///
- /// Serialize the object to the specified file. Using BinaryFormatter.
- ///
- ///
- ///
- public static void BinSerialize(string p_strFileName, object p_Object)
- {
- using (FileStream l_Stream = new FileStream(p_strFileName,FileMode.Create,FileAccess.Write))
- {
- BinSerialize(l_Stream,p_Object);
- l_Stream.Close();
- }
- }
-
- #endregion
- }
-}
diff --git a/Src/SourceGrid.csproj b/Src/SourceGrid.csproj
index 1015ac4..9f4e83e 100644
--- a/Src/SourceGrid.csproj
+++ b/Src/SourceGrid.csproj
@@ -1,32 +1,16 @@
-
-
+
- {2A5A1657-DBA8-4117-8E2A-9F1236ACE9E2}
- Debug
- AnyCPU
+ net8.0-windows
Library
- SourceGrid
- v4.8
- Properties
C:\Documents and Settings\User.YOUR-2F73F42422\Application Data\ICSharpCode/SharpDevelop3.0\Settings.SourceAnalysis
true
SourceGrid\SourceGrid.snk
False
File
- False
False
- 4
- false
bin\Debug\SourceGrid.xml
1591
- SourceGrid
-
-
- 3.5
-
false
- 9.0.30729
- 2.0
publish\
true
Disk
@@ -41,487 +25,127 @@
1.0.0.%2a
false
true
-
+ false
+ true
+ true
+ Davide Icardi, Darius Damalakas, http://sourcegrid.codeplex.com, http://bitbucket.org/dariusdamalakas/sourcegrid
+ Davide Icardi, Darius Damalakas
+ 4.40.%2a
+ SourceGrid
+ Open Source C# Grid Control
- bin\Debug\
- true
- Full
- False
True
- DEBUG;TRACE
- bin\Release\
False
None
- True
- False
- TRACE
False
Auto
4194304
- AnyCPU
4096
AllRules.ruleset
- ..\Out\net48\Debug\
- ..\Out\net48\Debug\SourceGrid.XML
- full
- TRACE;DEBUG
- false
+ ..\Out\net8\Debug\
+ ..\Out\net8\Debug\SourceGrid.XML
AllRules.ruleset
- ..\Out\net48\Release\
- ..\Out\net48\SourceGrid.XML
- full
+ ..\Out\net8\Release\
+ ..\Out\net8\SourceGrid.XML
true
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
UserControl
-
+
UserControl
-
-
-
+
UserControl
-
+
Component
-
+
Component
-
+
Component
-
-
+
Component
-
+
UserControl
-
- Form
-
-
+
Component
-
+
UserControl
-
- Form
-
-
- Form
-
-
- Form
-
-
-
+
Component
-
+
UserControl
-
+
UserControl
-
+
UserControl
-
-
-
+
UserControl
-
+
Component
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
Component
-
-
-
-
-
-
+
Component
-
-
-
+
UserControl
-
-
-
-
-
-
-
-
-
-
-
-
+
Component
-
-
-
-
-
-
-
+
UserControl
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
Component
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
Component
-
-
-
- Code
-
-
+
Component
-
+
Component
-
+
Component
-
-
+
Component
-
- Code
-
-
-
-
-
-
-
- Code
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Resources.Designer.cs
-
-
- ButtonMultiSelection.cs
-
-
- ColorPicker.cs
-
-
- DevAgeNumericUpDown.cs
-
-
- DevAgeTextBoxButton.cs
-
-
- DropDown.cs
-
-
- DropDownButton.cs
-
-
- EditableControlBase.cs
-
-
- ErrorDialog.cs
-
-
- ErrorDialogDetails.cs
-
-
- FormBase.cs
-
-
- ImageNavigator.cs
-
-
- Line.cs
-
-
- LinkLabel.cs
-
-
- TextBoxUITypeEditor.cs
-
-
- DataGrid.cs
-
-
- ListEditor.cs
-
-
- PlanningGrid.cs
-
@@ -555,4 +179,89 @@
true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Src/SourceGrid/AssemblyInfo.cs b/Src/SourceGrid/AssemblyInfo.cs
index 678413b..e6b35fd 100644
--- a/Src/SourceGrid/AssemblyInfo.cs
+++ b/Src/SourceGrid/AssemblyInfo.cs
@@ -1,5 +1,2 @@
using System.Reflection;
using System.Runtime.CompilerServices;
-
-[assembly: AssemblyTitle("SourceGrid")]
-[assembly: AssemblyDescription("Open Source C# Grid Control")]
diff --git a/Src/SourceGrid/QuadTree/IHasRect.cs b/Src/SourceGrid/QuadTree/IHasRect.cs
index ec59991..a16b766 100644
--- a/Src/SourceGrid/QuadTree/IHasRect.cs
+++ b/Src/SourceGrid/QuadTree/IHasRect.cs
@@ -1,6 +1,7 @@
using SourceGrid;
using System;
using System.Drawing;
+using Range = SourceGrid.Range;
namespace QuadTreeLib
{
diff --git a/Src/SourceGrid/QuadTree/QuadTree.cs b/Src/SourceGrid/QuadTree/QuadTree.cs
index 1d04719..d5efc55 100644
--- a/Src/SourceGrid/QuadTree/QuadTree.cs
+++ b/Src/SourceGrid/QuadTree/QuadTree.cs
@@ -3,6 +3,7 @@
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
+using Range = SourceGrid.Range;
namespace QuadTreeLib
{
diff --git a/Src/SourceGrid/QuadTree/QuadTreeNode.cs b/Src/SourceGrid/QuadTree/QuadTreeNode.cs
index 2c62e49..a2c83ae 100644
--- a/Src/SourceGrid/QuadTree/QuadTreeNode.cs
+++ b/Src/SourceGrid/QuadTree/QuadTreeNode.cs
@@ -3,6 +3,7 @@
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
+using Range = SourceGrid.Range;
namespace QuadTreeLib
{
diff --git a/Src/SourceGridAssemblyInfo.cs b/Src/SourceGridAssemblyInfo.cs
index 163a690..cc291e7 100644
--- a/Src/SourceGridAssemblyInfo.cs
+++ b/Src/SourceGridAssemblyInfo.cs
@@ -7,15 +7,9 @@ See License.txt.
using System;
using System.Reflection;
using System.Runtime.CompilerServices;
-
-[assembly: AssemblyCompany("Davide Icardi, Darius Damalakas, http://sourcegrid.codeplex.com, http://bitbucket.org/dariusdamalakas/sourcegrid")]
-[assembly: AssemblyCopyright("Davide Icardi, Darius Damalakas")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
-//Changed when no more compatible with the previous version
-[assembly: AssemblyVersion("4.40.*")]
-
[assembly: CLSCompliant(true)]
[assembly: System.Runtime.InteropServices.ComVisible(false)]
\ No newline at end of file
diff --git a/tests/Properties/AssemblyInfo.cs b/tests/Properties/AssemblyInfo.cs
deleted file mode 100644
index a3733f8..0000000
--- a/tests/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("SourceGrid.Tests")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("SourceGrid.Tests")]
-[assembly: AssemblyCopyright("Copyright © 2007")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("88f57988-072d-4936-992a-b93feb56d2e7")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/tests/SourceGrid.Tests.csproj b/tests/SourceGrid.Tests.csproj
index 8180f37..f83ecfa 100644
--- a/tests/SourceGrid.Tests.csproj
+++ b/tests/SourceGrid.Tests.csproj
@@ -1,28 +1,12 @@
-
-
-
-
+
- Debug
- AnyCPU
- 9.0.21022
- 2.0
- {E9C1C112-7618-4815-8E4F-BA6D833EB73E}
+ net8.0-windows
Library
- Properties
- SourceGrid.Tests
- SourceGrid.Tests
Rational ClearCase
Rational ClearCase
Rational ClearCase
Rational ClearCase
-
-
- 3.5
-
-
false
- v4.8
publish\
true
Disk
@@ -37,43 +21,16 @@
1.0.0.%2a
false
true
-
-
-
+ false
+ true
+ true
- true
- full
- false
..\Out\Test\Debug\
- DEBUG;TRACE
- prompt
- 4
- false
- pdbonly
- true
..\Out\Test\Release\
- TRACE
- prompt
- 4
- false
-
-
- ..\packages\NUnit.3.13.3\lib\net45\nunit.framework.dll
-
-
-
-
-
-
-
-
-
-
-
@@ -105,27 +62,11 @@
-
- {2A5A1657-DBA8-4117-8E2A-9F1236ACE9E2}
- SourceGrid
-
+
-
+
+
+
-
-
-
- This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
-
-
-
-
-
\ No newline at end of file
diff --git a/tests/packages.config b/tests/packages.config
deleted file mode 100644
index 0272068..0000000
--- a/tests/packages.config
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file