2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.1 (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.
19 * @brief This is the header file for BaseForm class.
22 #ifndef _CM_BASE_FORM_H_
23 #define _CM_BASE_FORM_H_
27 #include <FAppIAppControlEventListener.h>
29 #include <FGraphics.h>
31 #include <FLocations.h>
33 #include <FSysBattery.h>
35 #include <FTelephony.h>
37 #include <FUiWindow.h>
40 #include "CmCameraApp.h"
41 #include "CmCameraPresentationModel.h"
42 #include "CmCameraResourceManager.h"
43 #include "CmCameraThumbnailPanel.h"
44 #include "CmCameraInfoPanel.h"
45 #include "CmUtility.h"
48 public Tizen::Ui::Controls::Form
49 , public Tizen::Ui::IAccessibilityListener
50 , public Tizen::System::IDeviceEventListener
51 , public Tizen::Ui::IActionEventListener
52 , public Tizen::Ui::IOrientationEventListener
53 , public Tizen::Ui::Controls::IFormBackEventListener
54 , public Tizen::Ui::IKeyEventListener
55 , public Tizen::Ui::Controls::IListViewItemEventListener
56 , public Tizen::Ui::Controls::IListViewItemProvider
57 , public Tizen::Ui::Scenes::ISceneEventListener
58 , public Tizen::Base::Runtime::ITimerEventListener
59 , public Tizen::Base::Runtime::IEventListener
60 , public Tizen::Ui::Controls::ISliderEventListener
61 , public Tizen::Io::IFileEventListener
62 , public Tizen::Ui::IAdjustmentEventListener
63 , public Tizen::Ui::ITouchEventListener
67 virtual ~BaseForm(void);
69 result OnInitializing(void);
70 result OnTerminating(void);
72 //IDeviceEventListener
73 virtual void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);
75 //IActionEventListener
76 virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
78 // IOrientationEventListener
79 virtual void OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus);
81 // IFormBackEventListener
82 virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
84 //IListViewItemEventListener
85 virtual void OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status);
86 virtual void OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback);
87 virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status);
88 virtual void OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction);
90 virtual Tizen::Ui::Controls::ListItemBase* CreateItem(int index, int itemWidth);
91 virtual bool DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);
92 virtual int GetItemCount(void);
94 // ISceneEventListener
95 virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
96 virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);
98 //ISceneManagerEventListener
99 virtual void OnSceneTransitionCompleted (const Tizen::Ui::Scenes::SceneId &previousSceneId, const Tizen::Ui::Scenes::SceneId ¤tSceneId);
100 virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId ¤tSceneId, const Tizen::Ui::Scenes::SceneId &nextSceneId);
102 //ITimerEventListener
103 virtual void OnTimerExpired (Tizen::Base::Runtime::Timer& timer);
105 //ISliderEventListener
106 virtual void OnSliderBarMoved (Tizen::Ui::Controls::Slider &source, int value);
109 virtual void OnFileEventOccured (const unsigned long events, const Tizen::Base::String &path, const unsigned int eventId);
111 //IAdjustmentEventListener
112 virtual void OnAdjustmentValueChanged (const Tizen::Ui::Control &source, int adjustment);
115 virtual void OnKeyLongPressed (const Tizen::Ui::Control &source, Tizen::Ui::KeyCode keyCode);
116 virtual void OnKeyPressed (const Tizen::Ui::Control &source, Tizen::Ui::KeyCode keyCode);
117 virtual void OnKeyReleased (const Tizen::Ui::Control &source, Tizen::Ui::KeyCode keyCode);
119 //ITouchEventListener
120 virtual void OnTouchCanceled (const Tizen::Ui::Control &source, const Tizen::Graphics::Point ¤tPosition, const Tizen::Ui::TouchEventInfo &touchInfo);
121 virtual void OnTouchFocusIn (const Tizen::Ui::Control &source, const Tizen::Graphics::Point ¤tPosition, const Tizen::Ui::TouchEventInfo &touchInfo);
122 virtual void OnTouchFocusOut (const Tizen::Ui::Control &source, const Tizen::Graphics::Point ¤tPosition, const Tizen::Ui::TouchEventInfo &touchInfo);
123 virtual void OnTouchMoved (const Tizen::Ui::Control &source, const Tizen::Graphics::Point ¤tPosition, const Tizen::Ui::TouchEventInfo &touchInfo);
124 virtual void OnTouchPressed (const Tizen::Ui::Control &source, const Tizen::Graphics::Point ¤tPosition, const Tizen::Ui::TouchEventInfo &touchInfo);
125 virtual void OnTouchReleased (const Tizen::Ui::Control &source, const Tizen::Graphics::Point ¤tPosition, const Tizen::Ui::TouchEventInfo &touchInfo);
127 //IAccessibilityListener
128 virtual void OnAccessibilityActionPerformed (const Tizen::Ui::Control &control, const Tizen::Ui::AccessibilityElement &element);
129 virtual void OnAccessibilityFocusIn (const Tizen::Ui::Control &control, const Tizen::Ui::AccessibilityElement &element);
130 virtual void OnAccessibilityFocusOut (const Tizen::Ui::Control &control, const Tizen::Ui::AccessibilityElement &element);
131 virtual void OnAccessibilityScreenReaderStatusChanged (const Tizen::Ui::Control &control, const Tizen::Ui::AccessibilityElement &element, Tizen::Ui::AccessibilityScreenReaderStatus status);
134 AppLaunchType GetAppLaunchType(void) const;
135 BatteryState GetCurrentBatteryState(void);
136 result ReturnValues(RequestId requestId, Tizen::App::AppCtrlResult appCtrlResult, const Tizen::Base::Collection::IMap* pReturnValue);
137 Tizen::Telephony::CallStatus GetCurrentCallStatus(void);
138 Tizen::Telephony::CallType GetCurrentCallType(void);
139 void BaseFormOnActionPerformed(const Tizen::Ui::Control& source, int actionId);
140 result SendAppControlResult(RequestId requestId);
141 result LaunchAppControl(const Tizen::Base::String& providerId, const Tizen::Base::String& operationId, const Tizen::Base::String* pUriData, const Tizen::Base::String* pDataType, const Tizen::Base::Collection::IMap* extraData);
142 virtual void OnAppControlCompleted(const Tizen::Base::String& providerId, const Tizen::Base::String& operationId, const Tizen::Base::Collection::IList* pResultList);
143 void SetStorageType(int storageType);
144 void ShowCameraFailPopup(void);
145 void ShowUnlaunchPopup(void);
146 void ShowLowBatteryPopup(void);
147 result TerminateApp(void);
148 void RemoveAllEventListener(void);
149 void DeleteTimer(void);
150 int GetCurrentBatteryImage(void);
151 result InitScreenOverlayHelp(void);
152 void HideScreenOverlayHelp();
153 void OnHelpCloseTimerExpired(void);
154 bool CheckCallStatus(void);
155 void ShowMemoryFullPopup(void);
158 CameraPresentationModel* _pCameraPresentationModel;
159 SourceForm _pCurrentSourceForm;
162 bool _isRecordingPause;
165 bool _appControlActionCompleted;
166 bool _isUsedTimerCaptured;
167 int _closeTimerValue;
168 int _currentSettingsMenuIndex;
170 Tizen::Base::Runtime::Timer* _pAppTimer;
171 Tizen::Base::Runtime::Timer* _pIntervalValueTimer;
172 Tizen::Base::Runtime::Timer* _pCaptureStartTimer;
173 Tizen::Base::Runtime::Timer* _pPopupTimer;
174 Tizen::Base::Runtime::Timer* _pExposureCloseTimer;
175 Tizen::Base::Runtime::Timer* _pTouchAutoFocusTimer;
176 Tizen::Base::Runtime::Timer* _pHelpCloseTimer;
177 Tizen::Base::Runtime::Timer* _pChargingTimer;
178 Tizen::Base::Runtime::Timer* _pChargingCompletedTimer;
179 Tizen::Base::Runtime::Timer* _pPreviewFailPopupTimer;
180 Tizen::Base::Runtime::Timer* _pMakerFocusTimer;
182 BatteryState _batteryStatus;
184 Tizen::Ui::Controls::ListView* _pListViewCameraTabMainMenu;
185 Tizen::Ui::Controls::ListView* _pListViewCameraTabSubMenu;
186 Tizen::Ui::Controls::ListView* _pListViewGeneralTabMainMenu;
187 Tizen::Ui::Controls::ListView* _pListViewGeneralTabSubMenu;
188 Tizen::Ui::Controls::ListView* _pListFlashMainMenu;
189 Tizen::Ui::Controls::ListView* _pListWbMainMenu;
191 Tizen::Ui::Controls::Label* _pHelpGoToGallery;
192 Tizen::Ui::Controls::Label* _pHelpGoToGalleryText;
193 Tizen::Ui::Controls::Label* _pHelpSwitchCamera;
194 Tizen::Ui::Controls::Label* _pHelpSwitchCameraText;
195 Tizen::Ui::Controls::Label* _pHelpQuickSetting;
196 Tizen::Ui::Controls::Label* _pHelpQuickSettingText;
197 Tizen::Ui::Controls::Label* _pHelpRecordVideo;
198 Tizen::Ui::Controls::Label* _pHelpRecordVideoText;
199 Tizen::Ui::Controls::Label* _pHelpShutter;
200 Tizen::Ui::Controls::Label* _pHelpShutterText;
202 Tizen::Ui::Controls::Popup* _pResetPopUp;
203 Tizen::Ui::Controls::Button* _pYes;
204 Tizen::Ui::Controls::Button* _pNo;
206 CameraThumbnailPanel* _pThumbnailPanel;
207 CameraInfoPanel* _pCameraInfoPanel;
208 CameraInfoSubPanel* _pCameraInfoSubPanel;
209 CameraInfoGeneralSubPanel* _pCameraInfoGeneralSubPanel;
211 Tizen::Ui::Controls::Button* _pFlashButton;
212 Tizen::Ui::Controls::Button* _pSelfShotButton;
213 Tizen::Ui::Controls::Button* _pSettingButton;
214 Tizen::Ui::Controls::Button* _pQuickSettingButton;
215 Tizen::Ui::Controls::Button* _pWhiteBalanceButton;
216 Tizen::Ui::Controls::Button* _pExposureValueButton;
217 Tizen::Ui::Controls::Button* _pCloseButton;
218 Tizen::Ui::Controls::Button* _pAutoFocus;
219 Tizen::Ui::Controls::Button* __pSwButton;