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"
40 class ImageViewerForm;
41 class ImageViewerPresentationModel;
42 class SettingPresentationModel;
46 , public Tizen::App::IAppControlResponseListener
47 , public Tizen::Base::Runtime::ITimerEventListener
48 , public Tizen::Content::IContentTransferListener
49 , public Tizen::Media::IImageDecodeUrlEventListener
50 , public Tizen::Ui::IActionEventListener
51 , public Tizen::Ui::IOrientationEventListener
52 , public Tizen::Ui::IScrollPanelEventListener
53 , public Tizen::Ui::Controls::IFormBackEventListener
54 , public Tizen::Ui::Controls::IGalleryEventListener
55 , public Tizen::Ui::Controls::IGalleryItemProvider
56 , public Tizen::Ui::Scenes::ISceneEventListener
57 , public IImageViewerEventListener
58 , public IFileUpdateEventListener
61 ImageViewerForm(void);
62 virtual ~ImageViewerForm(void);
66 virtual result OnInitializing(void);
67 virtual result OnInitialized(void);
68 virtual result OnTerminating(void);
69 virtual void OnUpdateContentList(void);
71 virtual void OnAppControlCompleteResponseReceived(const Tizen::App::AppId& appId,
72 const Tizen::Base::String& operationId, Tizen::App::AppCtrlResult appControlResult,
73 const Tizen::Base::Collection::IMap* pExtraData);
75 virtual void OnTimerExpired(Tizen::Base::Runtime::Timer &timer);
77 virtual void OnContentTransferInProgress(RequestId requestID, int totalReceivedSize);
78 virtual void OnContentUploadCompleted(RequestId requestID, result res,
79 const Tizen::Base::String& errorCode,
80 const Tizen::Base::String& errorMessage);
81 virtual void OnContentDownloadCompleted(RequestId requestID, Tizen::Content::ContentId contentID, result res,
82 const Tizen::Base::String& errorCode, const Tizen::Base::String& errorMessage);
83 virtual void OnContentDownloadToBufferCompleted(RequestId reqId, Tizen::Base::ByteBuffer* pBuffer, result r,
84 const Tizen::Base::String& errorCode, const Tizen::Base::String& errorMessage);
85 virtual void OnContentTransferCanceled(RequestId reqId, result res, const Tizen::Base::String& errorCode,
86 const Tizen::Base::String& errorMessage);
88 virtual void OnImageDecodeUrlReceived (RequestId reqId, Tizen::Graphics::Bitmap *pBitmap,
89 result r, const Tizen::Base::String errorCode, const Tizen::Base::String errorMessage);
91 virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
93 virtual void OnOrientationChanged(const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus);
95 virtual void OnOverlayControlCreated(const Tizen::Ui::Control& source);
96 virtual void OnOverlayControlOpened(const Tizen::Ui::Control& source);
97 virtual void OnOverlayControlClosed(const Tizen::Ui::Control& source);
98 virtual void OnOtherControlSelected(const Tizen::Ui::Control& source);
100 virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
102 virtual void OnGalleryCurrentItemChanged (Tizen::Ui::Controls::Gallery &view, int index);
103 virtual void OnGalleryItemClicked(Tizen::Ui::Controls::Gallery& listView, int index);
104 virtual void OnGallerySlideShowStarted(Tizen::Ui::Controls::Gallery& gallery);
105 virtual void OnGallerySlideShowStopped(Tizen::Ui::Controls::Gallery& gallery);
107 virtual Tizen::Ui::Controls::GalleryItem* CreateItem(int index);
108 virtual bool DeleteItem(int index, Tizen::Ui::Controls::GalleryItem* pItem);
109 virtual int GetItemCount(void);
111 virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
112 const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
113 virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
114 const Tizen::Ui::Scenes::SceneId& nextSceneId);
116 virtual void OnImageDecodedN(const int index);
118 virtual void OnFormFileEventOccuered(const int index, const unsigned long eventId);
123 APPCONTROL_MODE_NORMAL = 0
124 , APPCONTROL_MODE_WEB_LINK
125 , APPCONTROL_MODE_CROP
126 , APPCONTROL_MODE_MESSAGE
127 , APPCONTROL_MODE_EMAIL
132 ROTATE_MODE_RIGHT = 0
136 void InitializeDisplay(AppControlMode status);
137 void InitShowGallery(void);
138 void CreateGallery(void);
139 result InitializePanelDetail(void);
140 result SetDetailInfo(void);
141 result InitializePopup(void);
143 result InitializeContextMenuMore(void);
144 result InitializeContextMenuCopy(void);
145 result InitializeContextMenuSetAs(void);
146 result InitializeContextMenuShare(void);
148 result InitializeSliderPanel(void);
149 result ShowPanelDetail(bool showStatus);
150 result ChangeFooterItem(bool isChanged, Tizen::Ui::Controls::Footer* pFooter, int position);
151 long long GetFileSize(Tizen::Base::String filePath);
152 void GetLabelText(int index, Tizen::Base::String& page);
153 void DownloadFile(void);
154 void RotateImage(Tizen::Base::String& filePath, RotateMode rotateMode);
155 void CallVideoPlayer(void);
156 result DeleteImageFile(void);
157 void RequestDecodeUrl(void);
158 void OnRequestEmailAction(void);
159 void OnRequestMessagesAction(void);
161 void SetFooterItemState(bool isEnable);
162 Tizen::Graphics::Bitmap* GetQuickThumbnailN(Tizen::Base::String& fileName);
165 AppControlMode __initializeDisplayModeCurrent;
166 Tizen::Ui::Controls::Label* __pLabel;
167 Tizen::Ui::Controls::Footer* __pFooter;
168 Tizen::Ui::Controls::ScrollPanel* __pScrollPanel;
169 Tizen::Ui::Controls::Label* __pDetail_Label;
170 Tizen::Ui::Controls::Label* __pDetail_FileInfo_Label[9];
171 Tizen::Ui::Controls::Label* __pDetail_FileInfo_Value_Label[9];
172 Tizen::Ui::Controls::Label *__pLabelMessage;
173 Tizen::Ui::Controls::Button* __pPlayButton;
174 Tizen::Ui::Controls::Button* __pRenameButton;
175 Tizen::Ui::Controls::FooterItem* __pDetailFooterItem;
176 Tizen::Ui::Controls::Gallery* __pGallery;
177 Tizen::Base::Runtime::Timer* __pTimer;
178 Tizen::Ui::Controls::ContextMenu* __pContextMenuMore;
179 Tizen::Ui::Controls::ContextMenu* __pContextMenuCopy;
180 Tizen::Ui::Controls::ContextMenu* __pContextMenuSetAs;
181 Tizen::Ui::Controls::ContextMenu* __pContextMenuShare;
182 Tizen::Ui::Controls::Popup* __pDeletePopup;
186 Tizen::Base::String __downLordFileName;
187 RequestId __requestId;
188 Tizen::Content::ContentTransfer __contentTransfer;
189 ImageViewerPresentationModel* __pPresentationModel;
190 SettingPresentationModel* __pSettingPresentationModel;
193 #endif /* _IV_IMAGE_VIEWER_FORM_H_ */