Commit Graph

367 Commits

Author SHA1 Message Date
Markus Ewald
81f9a0acb4 Removed virtual collections from this project, I'll add them to the Avalonia project (WinForms can't use them and they're not generic enough for Nuclex.Support) 2025-07-05 12:28:46 +02:00
Markus Ewald
ac605bf7c3 Updated AssemblyInfo to new version and added a description 2025-07-05 12:27:26 +02:00
Markus Ewald
50c2f49125 Added Visual Studio Codium settings 2025-07-05 12:26:46 +02:00
Markus Ewald
6e2d8bf2df Created an async variant of the base class for lazily-loaded read-only collections 2025-07-03 17:07:36 +02:00
Markus Ewald
6712ede6d6 Added my poorly tested virtual list class back in - will try to write a few unit tests soon 2025-07-03 12:05:01 +02:00
Markus Ewald
c75a70e629 Set version number to 1.2.1 2025-06-24 11:53:41 +02:00
Markus Ewald
5fb433ad98 Converted all documents to Markdown 2025-06-19 12:35:43 +02:00
Markus Ewald
e146057071 Added INotifyOnDispose interface 2025-06-19 12:15:18 +02:00
Markus Ewald
5184fb5e51 Tweaked ReadMe badges a little 2025-06-19 10:52:16 +02:00
Markus Ewald
2a87701201 Added project platform and status badges 2025-06-19 10:52:12 +02:00
Markus Ewald
6b70ca2fcf Sublime inserted tabs - fixed 2025-06-19 10:52:11 +02:00
Markus Ewald
8f9b5ef19c Wrote a short ReadMe file for Nuclex.Support 2025-06-19 10:52:10 +02:00
Markus Ewald
705ec87d5d Updated dependency description 2025-06-19 10:52:08 +02:00
Markus Ewald
dc46b07c32 Removed packages.config since we use project references now 2025-06-19 10:52:07 +02:00
Markus Ewald
ac14779be4 Back to NuGet, ther's an obscure workaround for now 2025-06-19 10:52:06 +02:00
Markus Ewald
090b1375c0 Removed UNITTEST constant from most files; tried switching to Moq, but encountered some InternalsVisibleTo() problems; ripped out NuGet again because it is so very bad 2025-06-19 10:52:04 +02:00
Markus Ewald
8b011981d9 Began restoring the unit tests (and porting any usages of NMock to NSubstitute) 2025-06-19 10:52:03 +02:00
Markus Ewald
825cd8c105 Upgraded project to .NET standard 2.0 2025-06-19 10:52:01 +02:00
Markus Ewald
ba5234f701 Moved all unit test files into a separate directory in preparation for splitting the project 2025-06-19 10:51:59 +02:00
Markus Ewald
28b96fd557 Added Markdown documentation to Visual Studio project 2025-06-19 10:51:57 +02:00
Markus Ewald
2b63977f19 Added NUnit and NMock via NuGet instead of relying on the VCS 2025-06-19 10:51:56 +02:00
Markus Ewald
5a6f283d32 Added proper license and attribution statements 2025-06-19 10:51:53 +02:00
Markus Ewald
9f36d71529 Changed license to Apache License 2.0 2025-06-19 10:51:33 +02:00
Markus Ewald
d3bf0be9d7 Added alternative .NET 4.6.2 project
git-svn-id: file:///srv/devel/repo-conversion/nusu@344 d2e56fa2-650e-0410-a79f-9358c0239efd
2023-10-03 12:33:17 +00:00
Markus Ewald
3acba1311c Made the storable binding list public
git-svn-id: file:///srv/devel/repo-conversion/nusu@343 d2e56fa2-650e-0410-a79f-9358c0239efd
2022-11-05 11:49:53 +00:00
Markus Ewald
5cba0ed266 Added a sortable variant of the BindingList class (useful in getting DataGridViews to be not quite so silly)
git-svn-id: file:///srv/devel/repo-conversion/nusu@342 d2e56fa2-650e-0410-a79f-9358c0239efd
2022-11-03 20:04:45 +00:00
Markus Ewald
0e49d46eab Simplified and optimized the QuickSort() method for IList<T>; added unit test that verifies the sorting algorithm with a large number of elements both for insertion sort and quicksort
git-svn-id: file:///srv/devel/repo-conversion/nusu@341 d2e56fa2-650e-0410-a79f-9358c0239efd
2022-11-03 18:55:30 +00:00
Markus Ewald
41691ddf94 Vastly simplified the quicksort implementation (split out the partition sorting code into a separate method like most code examples did)
git-svn-id: file:///srv/devel/repo-conversion/nusu@340 d2e56fa2-650e-0410-a79f-9358c0239efd
2022-11-03 11:33:16 +00:00
Markus Ewald
a10d30e6ea Created a separate 'Partition' structure for the QuickSort() method so the Stack (used to avoid recursion) is a bit cleaner
git-svn-id: file:///srv/devel/repo-conversion/nusu@339 d2e56fa2-650e-0410-a79f-9358c0239efd
2022-11-02 22:39:33 +00:00
Markus Ewald
e3ca928636 Implemented a messy QuickSort method for IList, appears to be working but needs to be cleaned and optimized still
git-svn-id: file:///srv/devel/repo-conversion/nusu@338 d2e56fa2-650e-0410-a79f-9358c0239efd
2022-11-02 22:27:51 +00:00
Markus Ewald
48dce94f47 Added an IList extensions class that can sort IList<T> using the insertion sort algorithm
git-svn-id: file:///srv/devel/repo-conversion/nusu@337 d2e56fa2-650e-0410-a79f-9358c0239efd
2022-11-02 18:54:21 +00:00
Markus Ewald
c7dd57f59f Added ListSegment class which is analogous to StringSegment and ArraySegment, but for IList<T>
git-svn-id: file:///srv/devel/repo-conversion/nusu@336 d2e56fa2-650e-0410-a79f-9358c0239efd
2022-11-02 18:05:04 +00:00
Markus Ewald
207a17712e Fixed a potential NullReferenceException (though I'm thinking about phasing out the method it's happening in entirely)
git-svn-id: file:///srv/devel/repo-conversion/nusu@335 d2e56fa2-650e-0410-a79f-9358c0239efd
2019-02-08 18:27:15 +00:00
Markus Ewald
8cc16143de Cleaned and added a base class for view models with background processing tha uses the new ThreadedAction class to do its background processing; added a view binding interface for WinForms that emulates the WPF design
git-svn-id: file:///srv/devel/repo-conversion/nusu@334 d2e56fa2-650e-0410-a79f-9358c0239efd
2019-02-06 07:00:27 +00:00
Markus Ewald
97183d2335 The Shared helper is now obsolete (singletons are just too bad, not even suitable as workaround for static methods in interfaces for generic types; some cosmetic changes; made the ThreadRunner public
git-svn-id: file:///srv/devel/repo-conversion/nusu@333 d2e56fa2-650e-0410-a79f-9358c0239efd
2019-02-02 12:47:07 +00:00
Markus Ewald
2f82a2fdf9 Updated Mono project (may replace it with pure SCons or Gradle build soon); added a threaded task runner I wrote for some WPF applications going through MCSE; wrote more unit tests for the thread runner
git-svn-id: file:///srv/devel/repo-conversion/nusu@332 d2e56fa2-650e-0410-a79f-9358c0239efd
2019-02-02 09:12:00 +00:00
Markus Ewald
e6e0220fb3 Used pragmas to avoid warnings in unit tests designed to test obsolete methods; method thread-related classes into a new namespace, 'Threading'
git-svn-id: file:///srv/devel/repo-conversion/nusu@331 d2e56fa2-650e-0410-a79f-9358c0239efd
2019-02-01 19:54:28 +00:00
Markus Ewald
a934fb155e Fixed async task notifications; added more comments; restored CancellationToken methods; removed useless usings
git-svn-id: file:///srv/devel/repo-conversion/nusu@330 d2e56fa2-650e-0410-a79f-9358c0239efd
2017-01-21 22:08:24 +00:00
Markus Ewald
fdf4442163 Added a set of interfaces implementing async methods in a plain enough way to support coroutines, RPC and P/Invokes; updated copyright statement for the year 2017
git-svn-id: file:///srv/devel/repo-conversion/nusu@329 d2e56fa2-650e-0410-a79f-9358c0239efd
2017-01-21 21:33:55 +00:00
Markus Ewald
6053f5a877 Found some more bits and pieces of WinRT + Xbox 360 support code and removed them
git-svn-id: file:///srv/devel/repo-conversion/nusu@328 d2e56fa2-650e-0410-a79f-9358c0239efd
2014-08-19 11:32:56 +00:00
Markus Ewald
3f1809e5cc Fixed a bug in the ValueCollection: SyncRoot was returning the IsSynchronized property of the internal collection
git-svn-id: file:///srv/devel/repo-conversion/nusu@327 d2e56fa2-650e-0410-a79f-9358c0239efd
2014-07-28 22:14:30 +00:00
Markus Ewald
7dd08c93e0 Removed the last traces on WinRT compatibility
git-svn-id: file:///srv/devel/repo-conversion/nusu@326 d2e56fa2-650e-0410-a79f-9358c0239efd
2014-07-28 11:00:08 +00:00
Markus Ewald
ab6a3374d8 More documentation
git-svn-id: file:///srv/devel/repo-conversion/nusu@325 d2e56fa2-650e-0410-a79f-9358c0239efd
2014-07-24 16:04:09 +00:00
Markus Ewald
3a945f5d48 Minor cosmetic improvements
git-svn-id: file:///srv/devel/repo-conversion/nusu@324 d2e56fa2-650e-0410-a79f-9358c0239efd
2014-07-23 19:20:42 +00:00
Markus Ewald
52401a43ac The windows registry store can now enumerate non-existing categories, too
git-svn-id: file:///srv/devel/repo-conversion/nusu@323 d2e56fa2-650e-0410-a79f-9358c0239efd
2014-07-22 22:04:16 +00:00
Markus Ewald
f74f1d0c6c Fixed a typo
git-svn-id: file:///srv/devel/repo-conversion/nusu@322 d2e56fa2-650e-0410-a79f-9358c0239efd
2014-07-22 21:28:31 +00:00
Markus Ewald
dfc9be412a One unit test opened HKEY_LOCAL_MACHINE for testing, but it seems Mono on Linux doesn't grant even read access to this (emulated) key, so the unit test now uses HKEY_CURRENT_USER
git-svn-id: file:///srv/devel/repo-conversion/nusu@321 d2e56fa2-650e-0410-a79f-9358c0239efd
2014-07-22 20:26:43 +00:00
Markus Ewald
40492c8b21 Achieved full test coverage for the configuration file store and the windows registry settings store
git-svn-id: file:///srv/devel/repo-conversion/nusu@320 d2e56fa2-650e-0410-a79f-9358c0239efd
2014-07-22 20:02:33 +00:00
Markus Ewald
58504f4a8a Fully implemented the windows registry-based settings store; added more unit tests for the registry settings store
git-svn-id: file:///srv/devel/repo-conversion/nusu@319 d2e56fa2-650e-0410-a79f-9358c0239efd
2014-07-22 16:24:08 +00:00
Markus Ewald
0d1051dd84 Documented the intended interface for the settings store; parseBooleanLiteral() is now a private method in the ConfigurationFileStore again; added some unit tests for the registry-based settings store
git-svn-id: file:///srv/devel/repo-conversion/nusu@318 d2e56fa2-650e-0410-a79f-9358c0239efd
2014-07-22 15:58:07 +00:00