2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.0 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://floralicense.org/license/
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an AS IS BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
18 * @file IvImageViewerForm.h
19 * @brief This is the header file for ImageViewerForm class.
22 #ifndef _IV_IMAGE_VIEWER_FORM_H_
23 #define _IV_IMAGE_VIEWER_FORM_H_
27 #include <FGraphics.h>
33 #include "IvBaseForm.h"
34 #include "IvFileUpdateEventListener.h"
35 #include "IvImageProvider.h"
36 #include "IvImageViewerEventListener.h"
37 #include "IvSlideShowPopUp.h"
38 #include "IvSlideSettingListener.h"
42 class ImageViewerForm;
43 class ImageViewerPresentationModel;
44 class SettingPresentationModel;
48 , public Tizen::App::IAppControlResponseListener
49 , public Tizen::Base::Runtime::ITimerEventListener
50 , public Tizen::Content::IContentTransferListener
51 , public Tizen::Media::IImageDecodeUrlEventListener
52 , public Tizen::Ui::IActionEventListener
53 , public Tizen::Ui::IOrientationEventListener
54 , public Tizen::Ui::IScrollPanelEventListener
55 , public Tizen::Ui::Controls::IFormBackEventListener
56 , public Tizen::Ui::Controls::IGalleryEventListener
57 , public Tizen::Ui::Controls::IGalleryItemProvider
58 , public Tizen::Ui::Scenes::ISceneEventListener
59 , public IImageViewerEventListener
60 , public IFileUpdateEventListener
61 , public ISlideSettingListener
64 ImageViewerForm(void);
65 virtual ~ImageViewerForm(void);
69 virtual result OnInitializing(void);
70 virtual result OnInitialized(void);
71 virtual result OnTerminating(void);
72 virtual void OnUpdateContentList(void);
74 virtual void OnAppControlCompleteResponseReceived(const Tizen::App::AppId& appId,
75 const Tizen::Base::String& operationId, Tizen::App::AppCtrlResult appControlResult,
76 const Tizen::Base::Collection::IMap* pExtraData);
78 virtual void OnTimerExpired(Tizen::Base::Runtime::Timer &timer);
80 virtual void OnContentTransferInProgress(RequestId requestID, int totalReceivedSize);
81 virtual void OnContentUploadCompleted(RequestId requestID, result res,
82 const Tizen::Base::String& errorCode,
83 const Tizen::Base::String& errorMessage);
84 virtual void OnContentDownloadCompleted(RequestId requestID, Tizen::Content::ContentId contentID, result res,
85 const Tizen::Base::String& errorCode, const Tizen::Base::String& errorMessage);
86 virtual void OnContentDownloadToBufferCompleted(RequestId reqId, Tizen::Base::ByteBuffer* pBuffer, result r,
87 const Tizen::Base::String& errorCode, const Tizen::Base::String& errorMessage);
88 virtual void OnContentTransferCanceled(RequestId reqId, result res, const Tizen::Base::String& errorCode,
89 const Tizen::Base::String& errorMessage);
91 virtual void OnImageDecodeUrlReceived (RequestId reqId, Tizen::Graphics::Bitmap *pBitmap,
92 result r, const Tizen::Base::String errorCode, const Tizen::Base::String errorMessage);
94 virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
96 virtual void OnOrientationChanged(const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus);
98 virtual void OnOverlayControlCreated(const Tizen::Ui::Control& source);
99 virtual void OnOverlayControlOpened(const Tizen::Ui::Control& source);
100 virtual void OnOverlayControlClosed(const Tizen::Ui::Control& source);
101 virtual void OnOtherControlSelected(const Tizen::Ui::Control& source);
103 virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
105 virtual void OnGalleryCurrentItemChanged (Tizen::Ui::Controls::Gallery &view, int index);
106 virtual void OnGalleryItemClicked(Tizen::Ui::Controls::Gallery& listView, int index);
107 virtual void OnGallerySlideShowStarted(Tizen::Ui::Controls::Gallery& gallery);
108 virtual void OnGallerySlideShowStopped(Tizen::Ui::Controls::Gallery& gallery);
110 virtual Tizen::Ui::Controls::GalleryItem* CreateItem(int index);
111 virtual bool DeleteItem(int index, Tizen::Ui::Controls::GalleryItem* pItem);
112 virtual int GetItemCount(void);
114 virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
115 const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
116 virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
117 const Tizen::Ui::Scenes::SceneId& nextSceneId);
119 virtual void OnImageDecodedN(const int index);
121 virtual void OnFormFileEventOccuered(const int index, const unsigned long eventId);
123 virtual void OnSlideSettingPopUpItemSelected(int index);
128 APPCONTROL_MODE_NORMAL = 0
129 , APPCONTROL_MODE_WEB_LINK
130 , APPCONTROL_MODE_CROP
131 , APPCONTROL_MODE_MESSAGE
132 , APPCONTROL_MODE_EMAIL
137 ROTATE_MODE_RIGHT = 0
141 void InitializeDisplay(AppControlMode status);
142 void InitShowGallery(void);
143 void CreateGallery(void);
144 result InitializePanelDetail(void);
145 result SetDetailInfo(void);
146 result InitializePopup(void);
148 result InitializeContextMenuMore(void);
149 result InitializeContextMenuCopy(void);
150 result InitializeContextMenuSetAs(void);
151 result InitializeContextMenuShare(void);
153 result InitializeSliderPanel(void);
154 result ShowPanelDetail(bool showStatus);
155 result ChangeFooterItem(bool isChanged, Tizen::Ui::Controls::Footer* pFooter, int position);
156 long long GetFileSize(Tizen::Base::String filePath);
157 void GetLabelText(int index, Tizen::Base::String& page);
158 void DownloadFile(void);
159 void RotateImage(Tizen::Base::String& filePath, RotateMode rotateMode);
160 void CallVideoPlayer(void);
161 result DeleteImageFile(void);
162 void RequestDecodeUrl(void);
163 void OnRequestEmailAction(void);
164 void OnRequestMessagesAction(void);
166 void SetFooterItemState(bool isEnable);
167 Tizen::Graphics::Bitmap* GetQuickThumbnailN(Tizen::Base::String& fileName);
169 void CreateShuffledList(int count);
170 void SlideShowStopped(int index);
173 int __shuffelStartIndex;
174 AppControlMode __initializeDisplayModeCurrent;
175 Tizen::Ui::Controls::Label* __pLabel;
176 Tizen::Ui::Controls::Footer* __pFooter;
177 Tizen::Ui::Controls::ScrollPanel* __pScrollPanel;
178 Tizen::Ui::Controls::Label* __pDetail_Label;
179 Tizen::Ui::Controls::Label* __pDetail_FileInfo_Label[9];
180 Tizen::Ui::Controls::Label* __pDetail_FileInfo_Value_Label[9];
181 Tizen::Ui::Controls::Label *__pLabelMessage;
182 Tizen::Ui::Controls::Button* __pPlayButton;
183 Tizen::Ui::Controls::Button* __pRenameButton;
184 Tizen::Ui::Controls::FooterItem* __pDetailFooterItem;
185 Tizen::Ui::Controls::Gallery* __pGallery;
186 Tizen::Base::Runtime::Timer* __pTimer;
187 Tizen::Base::Runtime::Timer* __pShuffelTimer;
188 Tizen::Ui::Controls::ContextMenu* __pContextMenuMore;
189 Tizen::Ui::Controls::ContextMenu* __pContextMenuCopy;
190 Tizen::Ui::Controls::ContextMenu* __pContextMenuSetAs;
191 Tizen::Ui::Controls::ContextMenu* __pContextMenuShare;
192 Tizen::Ui::Controls::Popup* __pDeletePopup;
197 Tizen::Base::String __downLordFileName;
198 RequestId __requestId;
199 Tizen::Content::ContentTransfer __contentTransfer;
200 SlideShowPopUp* __pPopUp;
201 int* __pShuffledList;
202 ImageViewerPresentationModel* __pPresentationModel;
203 SettingPresentationModel* __pSettingPresentationModel;
207 #endif /* _IV_IMAGE_VIEWER_FORM_H_ */