Commit Graph

57 Commits

Author SHA1 Message Date
Markus Ewald
857917aad5 Added alternative .NET 4.6.2 project; MultiPageViewForm now has a default constructor just so it doesn't upset the Windows Forms designer
git-svn-id: file:///srv/devel/repo-conversion/nuwi@57 d2e56fa2-650e-0410-a79f-9358c0239efd
2023-10-03 12:35:14 +00:00
Markus Ewald
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)
git-svn-id: file:///srv/devel/repo-conversion/nuwi@56 d2e56fa2-650e-0410-a79f-9358c0239efd
2019-02-16 20:06:34 +00:00
Markus Ewald
e16af9dee9 Added properties to access the active page view and page view model
git-svn-id: file:///srv/devel/repo-conversion/nuwi@55 d2e56fa2-650e-0410-a79f-9358c0239efd
2019-02-13 22:23:28 +00:00
Markus Ewald
b69488f9a6 Page switching now with 100% less flickering; page switching to a null view model is allowed now
git-svn-id: file:///srv/devel/repo-conversion/nuwi@54 d2e56fa2-650e-0410-a79f-9358c0239efd
2019-02-13 22:07:48 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nuwi@53 d2e56fa2-650e-0410-a79f-9358c0239efd
2019-02-13 21:26:12 +00:00
Markus Ewald
17ec2d0f69 The progress spinner can now also show a status message beneath it (optional)
git-svn-id: file:///srv/devel/repo-conversion/nuwi@52 d2e56fa2-650e-0410-a79f-9358c0239efd
2019-02-13 11:57:01 +00:00
Markus Ewald
bb672c59f8 Code cleanup; added one of my long-winded explanations for why the progress spinner does things the way it's doing
git-svn-id: file:///srv/devel/repo-conversion/nuwi@51 d2e56fa2-650e-0410-a79f-9358c0239efd
2019-02-13 11:31:05 +00:00
Markus Ewald
7439c31390 Added a progress spinner control that should work on top of WinForms even with its poor transparent control support
git-svn-id: file:///srv/devel/repo-conversion/nuwi@50 d2e56fa2-650e-0410-a79f-9358c0239efd
2019-02-13 11:20:18 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nuwi@49 d2e56fa2-650e-0410-a79f-9358c0239efd
2019-02-13 10:30:19 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nuwi@48 d2e56fa2-650e-0410-a79f-9358c0239efd
2019-02-11 18:05:06 +00:00
Markus Ewald
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)
git-svn-id: file:///srv/devel/repo-conversion/nuwi@47 d2e56fa2-650e-0410-a79f-9358c0239efd
2019-02-07 18:32:14 +00:00
Markus Ewald
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)
git-svn-id: file:///srv/devel/repo-conversion/nuwi@46 d2e56fa2-650e-0410-a79f-9358c0239efd
2019-02-07 18:03:11 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nuwi@45 d2e56fa2-650e-0410-a79f-9358c0239efd
2019-02-07 17:36:40 +00:00
Markus Ewald
9aa64c4dac Added a placeholder auto binding system to automate binding of views to view models without writing so much boilerplate code
git-svn-id: file:///srv/devel/repo-conversion/nuwi@44 d2e56fa2-650e-0410-a79f-9358c0239efd
2019-02-06 18:34:47 +00:00
Markus Ewald
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)
git-svn-id: file:///srv/devel/repo-conversion/nuwi@43 d2e56fa2-650e-0410-a79f-9358c0239efd
2019-02-06 18:04:10 +00:00
Markus Ewald
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)
git-svn-id: file:///srv/devel/repo-conversion/nuwi@42 d2e56fa2-650e-0410-a79f-9358c0239efd
2019-02-06 07:30:41 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nuwi@41 d2e56fa2-650e-0410-a79f-9358c0239efd
2019-02-06 07:00:27 +00:00
Markus Ewald
435935691a Updated copyright statement and pasted it where it was missing; some cosmetic fixes
git-svn-id: file:///srv/devel/repo-conversion/nuwi@40 d2e56fa2-650e-0410-a79f-9358c0239efd
2019-02-01 20:06:36 +00:00
Markus Ewald
c71700f8e6 ContainerListView unit test is now also explicit so the test suite can run on headless systems
git-svn-id: file:///srv/devel/repo-conversion/nuwi@39 d2e56fa2-650e-0410-a79f-9358c0239efd
2014-07-21 16:26:45 +00:00
Markus Ewald
d5895e2e7d Made more tests explicit so this library can be compiled on a headless system
git-svn-id: file:///srv/devel/repo-conversion/nuwi@38 d2e56fa2-650e-0410-a79f-9358c0239efd
2014-07-21 15:50:07 +00:00
Markus Ewald
ac9431bb4b Made the TestProgressAssignment test explicit because it cannot run in headless mode
git-svn-id: file:///srv/devel/repo-conversion/nuwi@37 d2e56fa2-650e-0410-a79f-9358c0239efd
2014-07-21 15:33:39 +00:00
Markus Ewald
76758fe357 Updated svn:ignore list to include NCrunch
git-svn-id: file:///srv/devel/repo-conversion/nuwi@36 d2e56fa2-650e-0410-a79f-9358c0239efd
2012-03-11 09:09:53 +00:00
Markus Ewald
b635bb21de Switched to an ObservableList in response to the change to Nuclex.Support
git-svn-id: file:///srv/devel/repo-conversion/nuwi@35 d2e56fa2-650e-0410-a79f-9358c0239efd
2011-10-25 14:59:46 +00:00
Markus Ewald
e504124d73 Updated projects to reference the new Nuclex.Support.Transactions assembly
git-svn-id: file:///srv/devel/repo-conversion/nuwi@34 d2e56fa2-650e-0410-a79f-9358c0239efd
2011-08-14 11:06:39 +00:00
Markus Ewald
3a847b07d6 Assembly is now signed with a strong name key
git-svn-id: file:///srv/devel/repo-conversion/nuwi@33 d2e56fa2-650e-0410-a79f-9358c0239efd
2011-02-14 18:15:40 +00:00
Markus Ewald
c8fe6ed289 Removed XNA 3.1 and .NET 2.0 projects
git-svn-id: file:///srv/devel/repo-conversion/nuwi@32 d2e56fa2-650e-0410-a79f-9358c0239efd
2010-11-20 11:39:20 +00:00
Markus Ewald
79dc343d9b Added .NET 4.0 project; renamed .NET 2.0 project in accordance with new naming convention
git-svn-id: file:///srv/devel/repo-conversion/nuwi@31 d2e56fa2-650e-0410-a79f-9358c0239efd
2010-05-18 12:54:42 +00:00
Markus Ewald
082e73aab5 Minor documentation change for readability
git-svn-id: file:///srv/devel/repo-conversion/nuwi@30 d2e56fa2-650e-0410-a79f-9358c0239efd
2010-03-30 11:05:26 +00:00
Markus Ewald
8d092bd9e8 Removed the EmbeddedControlCollection (it's not being used anymore at all); fixed flickering of the ContainerListView control
git-svn-id: file:///srv/devel/repo-conversion/nuwi@29 d2e56fa2-650e-0410-a79f-9358c0239efd
2010-02-18 18:40:44 +00:00
Markus Ewald
9a5252f461 Fixed the remaining issues in the ContainerListView control; minor documentation improvements
git-svn-id: file:///srv/devel/repo-conversion/nuwi@28 d2e56fa2-650e-0410-a79f-9358c0239efd
2009-11-03 19:41:14 +00:00
Markus Ewald
985f2622aa Switched ContainerListView to use the new ObservableCollection class for embedded controls instead of its custom collection; updated ProgressReporterForm to match current coding conventions
git-svn-id: file:///srv/devel/repo-conversion/nuwi@27 d2e56fa2-650e-0410-a79f-9358c0239efd
2009-04-01 19:38:32 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nuwi@26 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-12-14 18:06:31 +00:00
Markus Ewald
4c24b82836 The ProgressReporterForm was still referring to "progressions" (old name for the request class) in some places - fixed; improved code documentation
git-svn-id: file:///srv/devel/repo-conversion/nuwi@25 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-10-29 20:50:55 +00:00
Markus Ewald
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)
git-svn-id: file:///srv/devel/repo-conversion/nuwi@24 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-08-14 21:19:02 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nuwi@23 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-08-03 18:41:23 +00:00
Markus Ewald
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)
git-svn-id: file:///srv/devel/repo-conversion/nuwi@22 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-06-24 19:44:32 +00:00
Markus Ewald
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)
git-svn-id: file:///srv/devel/repo-conversion/nuwi@21 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-06-18 19:20:25 +00:00
Markus Ewald
6ab7e999ad Upgraded project to Visual C# 2008 Express (still using .NET Framework 2.0)
git-svn-id: file:///srv/devel/repo-conversion/nuwi@20 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-05-14 19:53:43 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nuwi@19 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-03-27 18:34:17 +00:00
Markus Ewald
7b46b57833 Renamed Gui to Screen in the UserInterface library; improved documentation in ProgressionTracker
git-svn-id: file:///srv/devel/repo-conversion/nuwi@18 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-12-20 19:15:33 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nuwi@17 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-12-14 21:08:35 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nuwi@16 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-12-14 20:43:34 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nuwi@15 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-12-10 21:22:14 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nuwi@14 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-12-10 20:22:55 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nuwi@13 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-12-04 20:54:42 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nuwi@12 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-10-16 20:49:04 +00:00
Markus Ewald
5c913cc48a Improved AsyncProgressBar documentation and fine tuned the progress bar's behavior
git-svn-id: file:///srv/devel/repo-conversion/nuwi@11 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-09-12 18:52:41 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nuwi@10 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-07-22 21:55:35 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nuwi@9 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-07-19 21:16:20 +00:00
Markus Ewald
c5fba24733 Added a progress reporting form that provides a convenient way to lock up the user interface during all-exclusive background processes
git-svn-id: file:///srv/devel/repo-conversion/nuwi@8 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-07-17 19:33:18 +00:00