MantisBT - MPfm
View Issue Details
0000404MPfmMVPpublic2012-12-02 18:002013-02-23 13:22
ycastonguay 
ycastonguay 
normalfeatureN/A
assignedopen 
 
0.7.0.0 
0000404: Add a NavigationManager to manage the view creation, destruction and transitions on desktop devices
This manager will hold the reference of every view and presenter in the application. It will manage the view creation, destruction and transition between views.
No tags attached.
child of 0000324assigned ycastonguay Use a MVP-style pattern to centralize code for UI on multiple platforms 
Issue History
2012-12-02 18:00ycastonguayNew Issue
2012-12-02 18:00ycastonguayStatusnew => assigned
2012-12-02 18:00ycastonguayAssigned To => ycastonguay
2012-12-02 18:01ycastonguayRelationship addedchild of 0000324
2012-12-02 18:02svnCheckin
2012-12-02 18:02svnNote Added: 0000864
2012-12-03 18:13svnCheckin
2012-12-03 18:13svnNote Added: 0000866
2012-12-03 19:54svnCheckin
2012-12-03 19:54svnNote Added: 0000868
2012-12-03 21:59svnCheckin
2012-12-03 21:59svnNote Added: 0000878
2012-12-03 22:06svnCheckin
2012-12-03 22:06svnNote Added: 0000880
2013-02-05 22:10svnCheckin
2013-02-05 22:10svnNote Added: 0000921
2013-02-07 17:59ycastonguayChangeset attached => GitHub - ycastonguay/MPfm master 3a8078d7
2013-02-07 19:10ycastonguayChangeset attached => GitHub - ycastonguay/MPfm master c54c780e
2013-02-07 19:54ycastonguayChangeset attached => GitHub - ycastonguay/MPfm current eaf47fe3
2013-02-07 21:36ycastonguayChangeset attached => GitHub - ycastonguay/MPfm current bb473a58
2013-02-12 17:55ycastonguayChangeset attached => GitHub - ycastonguay/MPfm master 174e164b
2013-02-13 18:24ycastonguayIssue cloned0000409
2013-02-23 13:22ycastonguaySummaryAdd a NavigationManager to manage the view creation, destruction and transitions => Add a NavigationManager to manage the view creation, destruction and transitions on desktop devices

Notes
(0000864)
svn   
2012-12-02 18:02   
The user animal has checked in files related to this issue (revision 642).

Comment:
GTK: Added BaseWindow.
Added NavigationManager, which is a new way to manage the view creation and transition.
Added more events/methods to IBaseView to manage the view creation and destruction.
Updated GTK project with new NavigationManager.

Related to issue 0000404.


Files modified:
U MPfm/branches/current/MPfm.GTK/MPfm.GTK.csproj
U MPfm/branches/current/MPfm.GTK/Main.cs
A MPfm/branches/current/MPfm.GTK/Windows/BaseWindow.cs
U MPfm/branches/current/MPfm.GTK/Windows/EffectsWindow.cs
U MPfm/branches/current/MPfm.GTK/Windows/MainWindow.cs
U MPfm/branches/current/MPfm.GTK/Windows/PlaylistWindow.cs
U MPfm/branches/current/MPfm.GTK/Windows/PreferencesWindow.cs
U MPfm/branches/current/MPfm.GTK/Windows/SplashWindow.cs
U MPfm/branches/current/MPfm.GTK/Windows/UpdateLibraryWindow.cs
U MPfm/branches/current/MPfm.MVP/Bootstrapper/LibraryModule.cs
U MPfm/branches/current/MPfm.MVP/MPfm.MVP.csproj
A MPfm/branches/current/MPfm.MVP/NavigationManager.cs
U MPfm/branches/current/MPfm.MVP/Presenters/BasePresenter.cs
A MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/IMainPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/Interfaces/ISplashPresenter.cs
A MPfm/branches/current/MPfm.MVP/Presenters/MainPresenter.cs
U MPfm/branches/current/MPfm.MVP/Presenters/SplashPresenter.cs
U MPfm/branches/current/MPfm.MVP/Views/IBaseView.cs
U MPfm/branches/current/MPfm.MVP/Views/IMainView.cs
U MPfm/branches/current/MPfm.MVP/Views/IPreferencesView.cs
U MPfm/branches/current/MPfm.MVP/Views/ISplashView.cs
D MPfm/branches/current/MPfm.MVP/Views/ViewFactory.cs
(0000866)
svn   
2012-12-03 18:13   
The user animal has checked in files related to this issue (revision 643).

Comment:
Updated NavigationManager as an abstract class with very basic additions on every platform (ex: GtkNavigationManager) to create the views in a UI thread.
Updated GTK implementation.

Related to issue 0000382 and issue 0000404.


Files modified:
A MPfm/branches/current/MPfm.GTK/Classes/
A MPfm/branches/current/MPfm.GTK/Classes/GtkNavigationManager.cs
U MPfm/branches/current/MPfm.GTK/MPfm.GTK.csproj
U MPfm/branches/current/MPfm.GTK/Main.cs
U MPfm/branches/current/MPfm.MVP/NavigationManager.cs
U MPfm/branches/current/MPfm.MVP/Presenters/MainPresenter.cs
(0000868)
svn   
2012-12-03 19:54   
The user animal has checked in files related to this issue (revision 644).

Comment:
Mac: Added MacNavigationManager.
Mac: Added BaseWindowController; all window controllers now inherit from this base class.
Mac: The application now seems to boot correctly after introducing the NavigationManager.

Related to issue 0000381 and issue 0000404.


Files modified:
U MPfm/branches/current/MPfm.MVP/Presenters/SplashPresenter.cs
U MPfm/branches/current/MPfm.Mac/AppDelegate.cs
A MPfm/branches/current/MPfm.Mac/Classes/
A MPfm/branches/current/MPfm.Mac/Classes/MacNavigationManager.cs
U MPfm/branches/current/MPfm.Mac/MPfm.Mac.csproj
A MPfm/branches/current/MPfm.Mac/Windows/Controllers/BaseWindowController.cs
U MPfm/branches/current/MPfm.Mac/Windows/Controllers/EditLoopWindowController.cs
U MPfm/branches/current/MPfm.Mac/Windows/Controllers/EditMarkerWindowController.cs
U MPfm/branches/current/MPfm.Mac/Windows/Controllers/EffectsWindowController.cs
U MPfm/branches/current/MPfm.Mac/Windows/Controllers/MainWindowController.cs
U MPfm/branches/current/MPfm.Mac/Windows/Controllers/PlaylistWindowController.cs
U MPfm/branches/current/MPfm.Mac/Windows/Controllers/PreferencesWindowController.cs
U MPfm/branches/current/MPfm.Mac/Windows/Controllers/SplashWindowController.cs
U MPfm/branches/current/MPfm.Mac/Windows/Controllers/UpdateLibraryWindowController.cs
U MPfm/branches/current/MPfm.Mac/Windows/UpdateLibraryWindow.cs
(0000878)
svn   
2012-12-03 21:59   
The user animal has checked in files related to this issue (revision 647).

Comment:
Mac: Readded splash/main window fade in/out.
Mac: BaseWindowController now manages view destruction and view show/hide correctly.
Mac: Added MPfmWindowDelegate to manage window close events.
NavigationManager: Now handling main and splash view destroy.

Related to issue 0000381 and issue 0000404.



Files modified:
U MPfm/branches/current/MPfm.MVP/NavigationManager.cs
U MPfm/branches/current/MPfm.MVP/Views/IBaseView.cs
U MPfm/branches/current/MPfm.Mac/AppDelegate.cs
A MPfm/branches/current/MPfm.Mac/Classes/MPfmWindowDelegate.cs
U MPfm/branches/current/MPfm.Mac/MPfm.Mac.csproj
U MPfm/branches/current/MPfm.Mac/Windows/Controllers/BaseWindowController.cs
U MPfm/branches/current/MPfm.Mac/Windows/Controllers/MainWindowController.cs
U MPfm/branches/current/MPfm.Mac/Windows/Controllers/PreferencesWindowController.cs
U MPfm/branches/current/MPfm.Mac/Windows/Controllers/SplashWindowController.cs
(0000880)
svn   
2012-12-03 22:06   
The user animal has checked in files related to this issue (revision 648).

Comment:
GTK: Updated implementation after NavigationManager changes.

Related to issue 0000382 and issue 0000404.


Files modified:
U MPfm/branches/current/MPfm.GTK/Windows/BaseWindow.cs
U MPfm/branches/current/MPfm.GTK/Windows/MainWindow.cs
(0000921)
svn   
2013-02-05 22:10   
The user animal has checked in files related to this issue (revision 700).

Comment:
Updated iOS and Mac project following changes on Android because of NavigationManager.

Related to issue 0000404.


Files modified:
D MPfm/branches/current/MPfm.Console/Lib/Ninject.dll
U MPfm/branches/current/MPfm.Console/MPfm.Console.csproj
U MPfm/branches/current/MPfm.Console/Main.cs
U MPfm/branches/current/MPfm.Console/PlayerTest.cs
U MPfm/branches/current/MPfm.Library/Database/DatabaseFacade.cs
U MPfm/branches/current/MPfm.Library/Library.cs
U MPfm/branches/current/MPfm.Mac/AppDelegate.cs
U MPfm/branches/current/MPfm.Mac/Classes/MacNavigationManager.cs
U MPfm/branches/current/MPfm.Mac/Controls/SongPositionSlider.cs
U MPfm/branches/current/MPfm.Mac/Windows/Controllers/BaseWindowController.cs
U MPfm/branches/current/MPfm.Mac/Windows/Controllers/UpdateLibraryWindowController.cs