2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
\r
4 // Licensed under the Flora License, Version 1.0 (the License);
\r
5 // you may not use this file except in compliance with the License.
\r
6 // You may obtain a copy of the License at
\r
8 // http://floralicense.org/license/
\r
10 // Unless required by applicable law or agreed to in writing, software
\r
11 // distributed under the License is distributed on an AS IS BASIS,
\r
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
13 // See the License for the specific language governing permissions and
\r
14 // limitations under the License.
\r
18 * @file: MfSearchForm.h
\r
19 * @brief: This file contains declaration of of SearchForm class.
\r
22 #ifndef _MF_SEARCH_FORM_H_
\r
23 #define _MF_SEARCH_FORM_H_
\r
26 #include <FAppPkg.h>
\r
27 #include <FContent.h>
\r
28 #include <FGraphics.h>
\r
30 #include <FSysEnvironment.h>
\r
33 #include "MfBaseForm.h"
\r
34 #include "MfFolderNavigationPresentationModel.h"
\r
35 #include "MfContentListItem.h"
\r
36 #include "MfCustomAppControl.h"
\r
37 #include "MfDirectoryEntry.h"
\r
38 #include "MfINotificationListener.h"
\r
39 #include "MfMyFilesApp.h"
\r
40 #include "MfSceneRegister.h"
\r
41 #include "MfSearchPresentationModel.h"
\r
42 #include "MfThumbnailManager.h"
\r
43 #include "MfTypes.h"
\r
44 #include "MfUtility.h"
\r
48 , public Tizen::App::IAppControlResponseListener
\r
49 , public Tizen::Ui::IKeypadEventListener
\r
50 , public Tizen::Ui::ITextEventListener
\r
51 , public Tizen::Ui::Controls::ISearchBarEventListener
\r
52 , public Tizen::Io::IFileEventListener
\r
55 //Constructor of the class
\r
58 //Destructor of the class.
\r
59 virtual ~SearchForm(void);
\r
61 //Initializes the SearchForm
\r
62 bool Initialize(void);
\r
64 result OnInitializing(void);
\r
65 result OnTerminating(void);
\r
67 //IActionEventListener
\r
68 void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
\r
70 //IFormBackEventListener
\r
71 void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
\r
73 // IListViewItemEventListener
\r
74 virtual void OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus state);
\r
75 virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status);
\r
76 virtual void OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction);
\r
78 //IListViewItemProvider
\r
79 virtual Tizen::Ui::Controls::ListItemBase* CreateItem(int index, int itemWidth);
\r
80 virtual bool DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);
\r
81 virtual int GetItemCount(void);
\r
83 //ISceneEventListener
\r
84 virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
\r
85 virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);
\r
87 //ISceneManagerEventListener
\r
88 virtual void OnSceneTransitionCompleted (const Tizen::Ui::Scenes::SceneId &previousSceneId, const Tizen::Ui::Scenes::SceneId ¤tSceneId);
\r
89 virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId ¤tSceneId, const Tizen::Ui::Scenes::SceneId &nextSceneId);
\r
91 //IKeyPadActionEventListener
\r
92 void OnKeypadActionPerformed(Tizen::Ui::Control& source, Tizen::Ui::KeypadAction keypadAction);
\r
93 void OnKeypadClosed(Tizen::Ui::Control& source);
\r
94 void OnKeypadOpened(Tizen::Ui::Control& source);
\r
95 void OnKeypadWillOpen(Tizen::Ui::Control& source);
\r
97 //ITextEventListener
\r
98 void OnTextValueChangeCanceled(const Tizen::Ui::Control& source);
\r
99 void OnTextValueChanged(const Tizen::Ui::Control& source);
\r
101 //SearchBar Control
\r
102 void OnSearchBarModeChanged(Tizen::Ui::Controls::SearchBar& source, Tizen::Ui::Controls::SearchBarMode mode);
\r
104 //IAppControlEventListener
\r
105 void OnAppControlCompleteResponseReceived(const Tizen::App::AppId& appId, const Tizen::Base::String& operationId, Tizen::App::AppCtrlResult appControlResult, const Tizen::Base::Collection::IMap* pExtraData);
\r
107 //IFileNotificationListener
\r
108 void OnNotificationReceived(Tizen::Base::Collection::ArrayList* pArgs);
\r
110 //IContentSearchListener
\r
111 virtual void OnFolderSearchStarted(Tizen::Base::String& folderName);
\r
112 virtual void OnAllFoldersSearchCompleted(void);
\r
114 //IFileProcessingListener
\r
115 void OnFileManagingStart(void);
\r
116 void OnFileManagingStop(FileManagingResult fileManagingResult);
\r
118 virtual void OnListViewItemStateChangedNotify(ViewType viewType);
\r
120 virtual void OnThumbnailReceived(ThumbRequest* pThumbReq);
\r
122 //IDeviceEventListener
\r
123 virtual void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);
\r
125 //IDeviceNotificationListener
\r
126 void OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state);
\r
128 //IFileEventListener
\r
129 virtual void OnFileEventOccured(const unsigned long events,const Tizen::Base::String & path, const unsigned int eventId);
\r
134 // Copy Constructor of the class.
\r
135 SearchForm(const SearchForm&);
\r
137 // Assignment operator of the class.
\r
138 SearchForm& operator =(const SearchForm& pSearchForm);
\r
140 result CreateDeleteConfirmationPopup(void);
\r
141 result CreateFileProgressingPopup(void);
\r
142 void DeleteFile(Tizen::Base::String& filePath);
\r
143 void HideDeleteConfirmationPopup(void);
\r
144 void HideFileProgressingPopup(void);
\r
145 void LoadDetailForm(Tizen::Base::String& Fullpath);
\r
146 void LoadRenameForm(int index, DirectoryEntry* pDirectory);
\r
147 void LoadSubDirectoryForm(Tizen::Base::String& fullPath, Tizen::Base::String& fileName);
\r
148 void TransitionScene(void);
\r
149 void ShowDeleteConfirmationPopup(void);
\r
150 void ShowFileProgressingPopup(void);
\r
151 void StartSearch(void);
\r
152 void GetFolderName(void);
\r
154 void GetParentFolderPath(Tizen::Base::String* filePath);
\r
157 bool __searchedAllFolders;
\r
158 bool __isSearchCompleted;
\r
159 bool __isSearchStarted;
\r
160 bool __isCancelClicked;
\r
161 bool __bCheckArgsNull;
\r
162 bool __isCurrentDirectoryRenamed;
\r
163 bool __bIsResultList;
\r
165 int __searchItemIndex;
\r
166 int __selectedItemIndexForRename;
\r
167 int __selectedItemIndexForDelete;
\r
169 MemoryType __SelectedTab;
\r
170 MemoryType __previouFormTab;
\r
172 Tizen::App::Package::PackageManager* __pPackageManager;
\r
174 Tizen::Base::Collection::ArrayList* __pContentListFromLastView;
\r
175 Tizen::Base::Collection::ArrayList* __pSearchedContentList;
\r
176 Tizen::Base::String __currentSearchDirectoryPath;
\r
177 Tizen::Base::String __fileToDelete;
\r
178 Tizen::Base::String __searchText;
\r
179 Tizen::Base::String __previousFormPath;
\r
180 Tizen::Base::String __previousSceneId;
\r
181 Tizen::Base::String __pathOfSelectedFile;
\r
183 Tizen::Graphics::Bitmap* __pDummyImage;
\r
184 Tizen::Graphics::Bitmap* __pFolderBitmap;
\r
185 Tizen::Graphics::Rectangle __listViewRectangle;
\r
187 Tizen::Ui::Controls::Button* __pCancelDeletion;
\r
188 Tizen::Ui::Controls::Button* __pCancelSearch;
\r
189 Tizen::Ui::Controls::Button* __pDelete;
\r
190 Tizen::Ui::Controls::Button* __pFileProgressingCancelButton;
\r
193 Tizen::Ui::Controls::Label* __pDividerLabel;
\r
194 Tizen::Ui::Controls::Label* __pFileProgressingHeaderLabel;
\r
195 Tizen::Ui::Controls::Label* __pFileProgressingLabel;
\r
196 Tizen::Ui::Controls::Label* __pPopUpLabel;
\r
198 Tizen::Ui::Controls::ListContextItem* __pItemContext;
\r
199 Tizen::Ui::Controls::ListView* __pListView;
\r
201 Tizen::Ui::Controls::Panel* __pPopUpPanel;
\r
203 Tizen::Ui::Controls::Popup* __pDeleteConfirmationPopUp;
\r
204 Tizen::Ui::Controls::Popup* __pFileProgressingPopup;
\r
206 Tizen::Ui::Controls::Progress* __pFileProgressingProgress;
\r
208 Tizen::Ui::Controls::SearchBar* __pSearchBar;
\r
209 Tizen::Ui::Controls::SearchBarMode __searchBarMode;
\r
211 Tizen::Io::FileEventManager* __pFileEventManager;
\r
214 SearchPresentationModel* __pSearchModel;
\r
215 ThumbnailManager* __pThumbnailManager;
\r
216 FolderEntryPresentationModel* __pFolderEntryPM;
\r
218 static int searchBackSelected;
\r
220 static const int ID_BACK = 100;
\r
222 static const int IDA_CONTEXT_DETAIL = 101;
\r
223 static const int IDA_CONTEXT_RENAME = 102;
\r
224 static const int IDA_CONTEXT_DELETE = 103;
\r
226 static const int IDA_BTN_POPUP_SEARCH_CANCEL = 200;
\r
227 static const int IDA_CANCEL_INSTALLATION = 303;
\r
228 static const int IDA_INSTALL_APP = 304;
\r
229 static const int IDA_CANCEL_DELETION = 203;
\r
230 static const int IDA_DELETE_FILE = 204;
\r
232 static const int IDA_BTN_ANIMATION_POPUP_CANCEL = 300;
\r
235 #endif //_MF_SEARCH_FORM_H_
\r