Commit Graph

  • 7a0ae3b3c7 Added a bit of documentation for the WindowManager and its MVVM concept main cygon 2024-07-27 00:09:35 +0200
  • 15a45b6434 This project doesn't need NMock after all -- fixed cygon 2024-07-25 22:30:18 +0200
  • 621fa1b818 Updated deependency description cygon 2024-07-25 22:28:15 +0200
  • 063099b0c9 Upgrade to .NET 6.0 with updated project file cygon 2024-07-25 13:07:52 +0200
  • 6d6c382870 Moved all unit tests into a separate directory cygon 2024-07-24 18:38:59 +0200
  • b96e16f027 Updated .gitignore in case I ever do a CMake build Markus Ewald 2024-06-18 19:07:09 +0200
  • ac82e2f1f6 Clarified library dependencies; added Markdown documentation to projects Markus Ewald 2024-06-18 19:06:01 +0200
  • 01965038df Used NuGet to link NUnit cygon 2024-06-17 23:45:40 +0200
  • 734d06f7bb Dissolved dependency on Nuclex.Support.Transactions by dropping two progress reporting helpers cygon 2024-06-14 17:39:10 +0200
  • e1a6a8cde7 Added proper license and attribution statements cygon 2024-06-14 17:04:40 +0200
  • 1bb2363a07 Changed license to Apache License 2.0 cygon 2024-06-14 16:42:33 +0200
  • 857917aad5 Added alternative .NET 4.6.2 project; MultiPageViewForm now has a default constructor just so it doesn't upset the Windows Forms designer Markus Ewald 2023-10-03 12:35:14 +0000
  • db68a9741e The multi page view can now deal with multi page view models that change the active page from a different thread (as it should be, in WPF all bound property change notifications are allowed to come from any thread) Markus Ewald 2019-02-16 20:06:34 +0000
  • e16af9dee9 Added properties to access the active page view and page view model Markus Ewald 2019-02-13 22:23:28 +0000
  • b69488f9a6 Page switching now with 100% less flickering; page switching to a null view model is allowed now Markus Ewald 2019-02-13 22:07:48 +0000
  • 91432c5209 The progress spinner can now tell its optimal size required to show the entire status text but overlap as few controls as possible; began implementing a generic version of a multi page view model and matching view with caching Markus Ewald 2019-02-13 21:26:12 +0000
  • 17ec2d0f69 The progress spinner can now also show a status message beneath it (optional) Markus Ewald 2019-02-13 11:57:01 +0000
  • bb672c59f8 Code cleanup; added one of my long-winded explanations for why the progress spinner does things the way it's doing Markus Ewald 2019-02-13 11:31:05 +0000
  • 7439c31390 Added a progress spinner control that should work on top of WinForms even with its poor transparent control support Markus Ewald 2019-02-13 11:20:18 +0000
  • 2b908f18eb The window manager can now also create just view models (without immediately binding a view); added MultiPageViewModel as a base class for the common case of view models that embed multi pages they can switch between; added missing copyright statement for the late checked synchronization context Markus Ewald 2019-02-13 10:30:19 +0000
  • a17926d02e ViewControl and ViewForm were not actually reacting when their data context changed -- fixed; view models can now delay their search for a main window (needed to synchronize change notifications to the main threads because of those shitty WinForms controls); WindowManager now accepts ...Page as a postfix for a view name, too Markus Ewald 2019-02-11 18:05:06 +0000
  • b405fe957b Wrapped WinForms' common dialogs into a service, too, in case a view model wants to ask the user to select a file (view models requesting views by activating other view models or services is okay -- it's testable, decoupled and said views/services are fully replaceable) Markus Ewald 2019-02-07 18:32:14 +0000
  • 0f70f53f18 Created a service to display message boxes (view models that want to report errors are usually in a shitty situation - now for simple applications view models can send and error message that will either be displayed or used by a unit test to check the view model is actually failing as expected) Markus Ewald 2019-02-07 18:03:11 +0000
  • 14d0ea1371 Added threaded action to wrap sub-actions a view model can perform (this can either be scheduled individually or on the parent threaded view model); added missing copyright statement; more unit tests Markus Ewald 2019-02-07 17:36:40 +0000
  • 9aa64c4dac Added a placeholder auto binding system to automate binding of views to view models without writing so much boilerplate code Markus Ewald 2019-02-06 18:34:47 +0000
  • 826f2eb763 Created a window manager that will automatically locate the matching view to a view model and set up the view's data context for binding; also added an interface through which other services can track the active window (i.e. to display message boxes so view models don't have to drag around a view reference just for that) Markus Ewald 2019-02-06 18:04:10 +0000
  • e728a182c5 Added some 'dialog view models' that fire events when a dialog is to be closed (this allows ok and cancel buttons to be normally bound, allowing the view model to be unit tested and to run code upon receiving an ok click, the event then signaling to the dialog that it should close with the specified result) Markus Ewald 2019-02-06 07:30:41 +0000
  • 4ef5dd9430 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 Markus Ewald 2019-02-06 07:00:27 +0000
  • 435935691a Updated copyright statement and pasted it where it was missing; some cosmetic fixes Markus Ewald 2019-02-01 20:06:36 +0000
  • c71700f8e6 ContainerListView unit test is now also explicit so the test suite can run on headless systems Markus Ewald 2014-07-21 16:26:45 +0000
  • d5895e2e7d Made more tests explicit so this library can be compiled on a headless system Markus Ewald 2014-07-21 15:50:07 +0000
  • ac9431bb4b Made the TestProgressAssignment test explicit because it cannot run in headless mode Markus Ewald 2014-07-21 15:33:39 +0000
  • 76758fe357 Updated svn:ignore list to include NCrunch Markus Ewald 2012-03-11 09:09:53 +0000
  • b635bb21de Switched to an ObservableList in response to the change to Nuclex.Support Markus Ewald 2011-10-25 14:59:46 +0000
  • e504124d73 Updated projects to reference the new Nuclex.Support.Transactions assembly Markus Ewald 2011-08-14 11:06:39 +0000
  • 3a847b07d6 Assembly is now signed with a strong name key Markus Ewald 2011-02-14 18:15:40 +0000
  • c8fe6ed289 Removed XNA 3.1 and .NET 2.0 projects Markus Ewald 2010-11-20 11:39:20 +0000
  • 79dc343d9b Added .NET 4.0 project; renamed .NET 2.0 project in accordance with new naming convention Markus Ewald 2010-05-18 12:54:42 +0000
  • 082e73aab5 Minor documentation change for readability Markus Ewald 2010-03-30 11:05:26 +0000
  • 8d092bd9e8 Removed the EmbeddedControlCollection (it's not being used anymore at all); fixed flickering of the ContainerListView control Markus Ewald 2010-02-18 18:40:44 +0000
  • 9a5252f461 Fixed the remaining issues in the ContainerListView control; minor documentation improvements Markus Ewald 2009-11-03 19:41:14 +0000
  • 985f2622aa Switched ContainerListView to use the new ObservableCollection class for embedded controls instead of its custom collection; updated ProgressReporterForm to match current coding conventions Markus Ewald 2009-04-01 19:38:32 +0000
  • 112e5993ef Followup-Change to the rename from Waitable to Transaction; fixes several comments which were still referring to "Progression", the stone-age name of the concept; fixed a minor grammatical error in the comments Markus Ewald 2008-12-14 18:06:31 +0000
  • 4c24b82836 The ProgressReporterForm was still referring to "progressions" (old name for the request class) in some places - fixed; improved code documentation Markus Ewald 2008-10-29 20:50:55 +0000
  • 39f1e6a4c9 Project is now architecture-independent since Nuclex.Support (which is used by Nuclex.Windows.Forms) is no longer bound to x86 (XNA dependencies have been moved to Nuclex.Game) Markus Ewald 2008-08-14 21:19:02 +0000
  • 0d150722b1 Followed the rename of "Nuclex.Support (x86)" to "Nuclex.Support" is all projects referring to the support library; some minor documentation improvements; the fonts demo no longer displays text at an almost invisible transparency level Markus Ewald 2008-08-03 18:41:23 +0000
  • 4c0a432b44 Renamed Nuclex.Windows.Forms project to Nuclex.Windows.Forms (x86) since it will only work on x86 mode (due to the reference to Nuclex.Support) Markus Ewald 2008-06-24 19:44:32 +0000
  • 1063c4f0f2 Fixed a glaring bug in the ProgressReporter which could throw exceptions into the ProgressChanged event handler (race condition between dialog setup and first progress message) Markus Ewald 2008-06-18 19:20:25 +0000
  • 6ab7e999ad Upgraded project to Visual C# 2008 Express (still using .NET Framework 2.0) Markus Ewald 2008-05-14 19:53:43 +0000
  • 2a7d04ce45 Updated ProgressReporterForm to reflect the latest changes to the Tracking framework; renamed WeightedProgression.cs to WeightedWaitable.cs in order to match the previous name changed of the class contained therein; improved documentation of the Camera class Markus Ewald 2008-03-27 18:34:17 +0000
  • 7b46b57833 Renamed Gui to Screen in the UserInterface library; improved documentation in ProgressionTracker Markus Ewald 2007-12-20 19:15:33 +0000
  • f9e7579f23 Added missing content project in Nuclex.Fonts.Demo; fixed solution and NAnt build script; added *.user to the ignore lists of all XNA content projects as it seems these are generating those annoying files, too; fixed build configuration for any remaining projects that have shown issues in the test builds Markus Ewald 2007-12-14 21:08:35 +0000
  • cc8688917f Upgraded all projects to XNA 2.0; project files now use (x86) instead of (PC) to indicate an x86 build (more logical and readily associated with the build platform); moved all text files into their project's documents folder; fixed any build configuration inconsistencies encountered along the way; renamed Nuclex.Graphics.Effects to Nuclex.Graphics.SpecialEffects to avoid confusion with the XNA 'Effect' class Markus Ewald 2007-12-14 20:43:34 +0000
  • 0c72fe2d9e Fixed Box3 which still had a 'center' argument in its constructor despite the transformation matrix being given; set all projects to always use the x86 configuration to avoid trouble on Windows Vista x64 (all of them are directly or indirectly dependent on XNA, which only works in an x86 environment); improve GeoAssert unit tests for Nuclex.Geometry to provide more meaningful fail messages for the unit tests Markus Ewald 2007-12-10 21:22:14 +0000
  • b93bb04f5f Switched assemblies to always use 32 bit runtime (most are using the XNA runtime, so the AnyCPU configuration would only wreak havoc on x64 platforms); progress reporter window is no longer resizable Markus Ewald 2007-12-10 20:22:55 +0000
  • 1de87c2c00 Added a tool strip host for the tracking bar, allowing it to be embedded inside a status bar; fixed a bug in the progress reporter form that would prevent AsyncAbort() from actually being called when the user clicked on the cancel button; AsyncProgressBar no longer changes the style of the progress bar, this is now up to the user; ProgressReporterForm now switches ProgressBar between Marquee and Blocks styles on its own; various formatting enhancements Markus Ewald 2007-12-04 20:54:42 +0000
  • f37b946a3d Switching to new project layout to lessen the size of the workspace and therefore reduce server load and patch size of CI server; Removed all assembly references from all projects as these will now be set up only once in the workspaces instead Markus Ewald 2007-10-16 20:49:04 +0000
  • 5c913cc48a Improved AsyncProgressBar documentation and fine tuned the progress bar's behavior Markus Ewald 2007-09-12 18:52:41 +0000
  • 4261d9b449 Ported the ProgressReporter and the TrackingBar to the AsyncProgressBar control to eliminate the very similar code both controls were using to perform thread synchronization Markus Ewald 2007-07-22 21:55:35 +0000
  • 4734c35111 Extracted and improved the code used to asynchronously update a progress bar without blocking in order to remove similar code from the progress dialog and the tracking bar Markus Ewald 2007-07-19 21:16:20 +0000
  • c5fba24733 Added a progress reporting form that provides a convenient way to lock up the user interface during all-exclusive background processes Markus Ewald 2007-07-17 19:33:18 +0000
  • 19c55f370e Fully implemented the tracking bar control which will now act as a specialized progress bar for tracking progressions Markus Ewald 2007-07-16 19:00:02 +0000
  • e48d9d3643 Made adjustments to reflect the recent name change of Nuclex.SpecialFx to Nuclex.Graphics.Effects; fixed all remaining compiler warnings Markus Ewald 2007-07-02 18:54:34 +0000
  • 6af905e107 Fixed a small typo Markus Ewald 2007-05-22 18:17:01 +0000
  • b6257ae0e9 Added empty class for planned TrackingBar control; copied CPL statement in front of all source files Markus Ewald 2007-05-11 21:23:35 +0000
  • f36cfeb68f Upgraded to NUnit 2.4.0 Markus Ewald 2007-04-13 19:31:53 +0000
  • ed2eb1443e The ContainerListView control should now be working the way it way intended to Markus Ewald 2007-04-02 18:49:05 +0000
  • a82371fa93 Initial import of Nuclex.Windows.Forms, containing a special ListView control that can contain embedded controls in its cells Markus Ewald 2007-03-30 19:52:40 +0000