1 #ifndef __DALI_WIDGET_VIEW_INTERNAL_WIDGET_VIEW_H__
2 #define __DALI_WIDGET_VIEW_INTERNAL_WIDGET_VIEW_H__
5 * Copyright (c) 2016 Samsung Electronics Co., Ltd.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
22 #include <public_api/widget_view/widget_view.h>
25 #include <dali-toolkit/public-api/controls/control-impl.h>
26 #include <dali-toolkit/public-api/controls/image-view/image-view.h>
27 #include <dali-toolkit/public-api/controls/text-controls/text-label.h>
28 #include <pepper-dali/public-api/object-view/object-view.h>
40 class WidgetView : public Toolkit::Internal::Control
45 * @copydoc Dali::WidgetView::WidgetView::New
47 static Dali::WidgetView::WidgetView New( const std::string& widgetId, const std::string& contentInfo, int width, int height, double updatePeriod );
50 * @copydoc Dali::WidgetView::WidgetView::PauseWidget
55 * @copydoc Dali::WidgetView::WidgetView::ResumeWidget
60 * @copydoc Dali::WidgetView::WidgetView::GetWidgetId
62 const std::string& GetWidgetId() const;
65 * @copydoc Dali::WidgetView::WidgetView::GetInstanceId
67 const std::string& GetInstanceId() const;
70 * @copydoc Dali::WidgetView::WidgetView::GetContentInfo
72 const std::string& GetContentInfo();
75 * @copydoc Dali::WidgetView::WidgetView::GetTitle
77 const std::string& GetTitle();
80 * @copydoc Dali::WidgetView::WidgetView::GetUpdatePeriod
82 double GetUpdatePeriod() const;
85 * @copydoc Dali::WidgetView::WidgetView::Show
90 * @copydoc Dali::WidgetView::WidgetView::Hide
95 * @copydoc Dali::WidgetView::WidgetView::CancelTouchEvent
97 bool CancelTouchEvent();
100 * @copydoc Dali::WidgetView::WidgetView::SetPreviewEnabled
102 void SetPreviewEnabled( bool enabled );
105 * @copydoc Dali::WidgetView::WidgetView::GetPreviewEnabled
107 bool GetPreviewEnabled() const;
110 * @copydoc Dali::WidgetView::WidgetView::SetStateTextEnabled
112 void SetStateTextEnabled( bool enabled );
115 * @copydoc Dali::WidgetView::WidgetView::GetStateTextEnabled
117 bool GetStateTextEnabled() const;
120 * @copydoc Dali::WidgetView::WidgetView::ActivateFaultedWidget
122 void ActivateFaultedWidget();
125 * @copydoc Dali::WidgetView::WidgetView::IsWidgetFaulted
127 bool IsWidgetFaulted();
130 * @copydoc Dali::WidgetView::WidgetView::SetPermanentDelete
132 void SetPermanentDelete( bool permanentDelete );
134 void AddObjectView( Pepper::ObjectView objectView );
135 void RemoveObjectView();
137 void SendWidgetEvent( int event );
142 * @copydoc Dali::WidgetView::WidgetView::WidgetAddedSignal
144 Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetAddedSignal();
147 * @copydoc Dali::WidgetView::WidgetView::WidgetDeletedSignal
149 Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetDeletedSignal();
152 * @copydoc Dali::WidgetView::WidgetView::WidgetCreationAbortedSignal
154 Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetCreationAbortedSignal();
157 * @copydoc Dali::WidgetView::WidgetView::WidgetResizedSignal
159 Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetResizedSignal();
162 * @copydoc Dali::WidgetView::WidgetView::WidgetContentUpdatedSignal
164 Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetContentUpdatedSignal();
167 * @copydoc Dali::WidgetView::WidgetView::WidgetExtraInfoUpdatedSignal
169 Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetExtraInfoUpdatedSignal();
172 * @copydoc Dali::WidgetView::WidgetView::WidgetUpdatePeriodChangedSignal
174 Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetUpdatePeriodChangedSignal();
177 * @copydoc Dali::WidgetView::WidgetView::WidgetFaultedSignal
179 Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetFaultedSignal();
184 * Construct a new WidgetView.
189 * Construct a new WidgetView.
191 WidgetView( const std::string& widgetId, const std::string& contentInfo, int width, int height, double updatePeriod );
194 * A reference counted object may only be deleted by calling Unreference()
196 virtual ~WidgetView();
198 private: // From Control
201 * @copydoc Toolkit::Control::OnInitialize()
203 virtual void OnInitialize();
205 private: // From CustomActorImpl
208 * @copydoc CustomActorImpl::OnSizeSet( const Vector3& targetSize )
210 virtual void OnSizeSet( const Vector3& targetSize );
215 WidgetView( const WidgetView& );
218 WidgetView& operator= ( const WidgetView& );
222 Pepper::ObjectView mObjectView; ///< Widget content
223 Toolkit::ImageView mPreviewImage; ///< Preview image
224 Toolkit::TextLabel mStateText; ///< State text
226 std::string mWidgetId;
227 std::string mInstanceId;
228 std::string mContentInfo;
236 double mUpdatePeriod;
238 bool mPreviewEnabled;
239 bool mStateTextEnabled;
240 bool mPermanentDelete;
243 Dali::WidgetView::WidgetView::WidgetViewSignalType mWidgetAddedSignal;
244 Dali::WidgetView::WidgetView::WidgetViewSignalType mWidgetDeletedSignal;
245 Dali::WidgetView::WidgetView::WidgetViewSignalType mWidgetCreationAbortedSignal;
246 Dali::WidgetView::WidgetView::WidgetViewSignalType mWidgetResizedSignal;
247 Dali::WidgetView::WidgetView::WidgetViewSignalType mWidgetContentUpdatedSignal;
248 Dali::WidgetView::WidgetView::WidgetViewSignalType mWidgetExtraInfoUpdatedSignal;
249 Dali::WidgetView::WidgetView::WidgetViewSignalType mWidgetUpdatePeriodChangedSignal;
250 Dali::WidgetView::WidgetView::WidgetViewSignalType mWidgetFaultedSignal;
253 } // namespace Internal
255 // Helpers for public-api forwarding methods
257 inline Internal::WidgetView& GetImplementation( WidgetView& widgetView )
259 DALI_ASSERT_ALWAYS( widgetView );
261 Dali::RefObject& handle = widgetView.GetImplementation();
263 return static_cast<Internal::WidgetView&>( handle );
266 inline const Internal::WidgetView& GetImplementation( const WidgetView& widgetView )
268 DALI_ASSERT_ALWAYS( widgetView );
270 const Dali::RefObject& handle = widgetView.GetImplementation();
272 return static_cast<const Internal::WidgetView&>( handle );
275 } // namespace WidgetView
279 #endif // __DALI_WIDGET_VIEW_INTERNAL_WIDGET_VIEW_H__