diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-01-21 22:48:37 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-01-21 22:48:37 (GMT) |
| commit | dea70befcf770a767f1cbeecdd149930f6d4c0b8 (patch) | |
| tree | d7262fed954074b5f60b2a75307ff50c8038c25d /src/search | |
| parent | 984d39f8cc6e2fd54c1a1b4aa217334f04a5e479 (diff) | |
| download | powder-dea70befcf770a767f1cbeecdd149930f6d4c0b8.zip powder-dea70befcf770a767f1cbeecdd149930f6d4c0b8.tar.gz | |
Basic skeleton for save preview
Diffstat (limited to 'src/search')
| -rw-r--r-- | src/search/SearchController.cpp | 15 | ||||
| -rw-r--r-- | src/search/SearchController.h | 3 | ||||
| -rw-r--r-- | src/search/SearchView.cpp | 11 |
3 files changed, 28 insertions, 1 deletions
diff --git a/src/search/SearchController.cpp b/src/search/SearchController.cpp index 7103591..46a353c 100644 --- a/src/search/SearchController.cpp +++ b/src/search/SearchController.cpp @@ -3,8 +3,10 @@ #include "SearchModel.h" #include "SearchView.h" #include "interface/Panel.h" +#include "preview/PreviewController.h" -SearchController::SearchController() +SearchController::SearchController(): + activePreview(NULL) { searchModel = new SearchModel(); searchView = new SearchView(); @@ -19,6 +21,11 @@ SearchController::SearchController() SearchController::~SearchController() { + if(activePreview) + { + ui::Engine::Ref().CloseWindow(); + delete activePreview; + } delete searchModel; delete searchView; } @@ -54,5 +61,11 @@ void SearchController::ChangeSort() void SearchController::ShowOwn(bool show) { + //TODO: Implement +} +void SearchController::OpenSave(int saveID) +{ + activePreview = new PreviewController(saveID); + ui::Engine::Ref().ShowWindow(activePreview->GetView()); } diff --git a/src/search/SearchController.h b/src/search/SearchController.h index c9fdb21..d67743e 100644 --- a/src/search/SearchController.h +++ b/src/search/SearchController.h @@ -4,6 +4,7 @@ #include "interface/Panel.h" #include "SearchModel.h" #include "SearchView.h" +#include "preview/PreviewController.h" class SearchView; class SearchModel; class SearchController @@ -11,6 +12,7 @@ class SearchController private: SearchModel * searchModel; SearchView * searchView; + PreviewController * activePreview; public: SearchController(); ~SearchController(); @@ -20,6 +22,7 @@ public: void PrevPage(); void ChangeSort(); void ShowOwn(bool show); + void OpenSave(int saveID); }; #endif // SEARCHCONTROLLER_H diff --git a/src/search/SearchView.cpp b/src/search/SearchView.cpp index ca848b5..4a61099 100644 --- a/src/search/SearchView.cpp +++ b/src/search/SearchView.cpp @@ -178,6 +178,16 @@ void SearchView::NotifySaveListChanged(SearchModel * sender) buttonAreaHeight = Size.Y - buttonYOffset - 18; buttonWidth = (buttonAreaWidth/savesX) - buttonPadding*2; buttonHeight = (buttonAreaHeight/savesY) - buttonPadding*2; + class SaveOpenAction: public ui::SaveButtonAction + { + SearchView * v; + public: + SaveOpenAction(SearchView * _v) { v = _v; } + virtual void ActionCallback(ui::SaveButton * sender) + { + v->c->OpenSave(sender->GetSave()->GetID()); + } + }; for(i = 0; i < saves.size(); i++) { if(saveX == savesX) @@ -195,6 +205,7 @@ void SearchView::NotifySaveListChanged(SearchModel * sender) ), ui::Point(buttonWidth, buttonHeight), saves[i]); + saveButton->SetActionCallback(new SaveOpenAction(this)); saveButtons.push_back(saveButton); AddComponent(saveButton); saveX++; |
