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 period );
50 * @copydoc Dali::WidgetView::WidgetView::GetWidgetId
52 const std::string& GetWidgetId() const;
55 * @copydoc Dali::WidgetView::WidgetView::GetInstanceId
57 const std::string& GetInstanceId() const;
60 * @copydoc Dali::WidgetView::WidgetView::GetContentInfo
62 const std::string& GetContentInfo();
65 * @copydoc Dali::WidgetView::WidgetView::GetTitle
67 const std::string& GetTitle();
70 * @copydoc Dali::WidgetView::WidgetView::GetPeriod
72 double GetPeriod() const;
75 * @copydoc Dali::WidgetView::WidgetView::Show
80 * @copydoc Dali::WidgetView::WidgetView::Hide
85 * @copydoc Dali::WidgetView::WidgetView::CancelTouchEvent
87 bool CancelTouchEvent();
90 * @copydoc Dali::WidgetView::WidgetView::SetPreviewEnabled
92 void SetPreviewEnabled( bool enabled );
95 * @copydoc Dali::WidgetView::WidgetView::GetPreviewEnabled
97 bool GetPreviewEnabled() const;
100 * @copydoc Dali::WidgetView::WidgetView::SetStateTextEnabled
102 void SetStateTextEnabled( bool enabled );
105 * @copydoc Dali::WidgetView::WidgetView::GetStateTextEnabled
107 bool GetStateTextEnabled() const;
110 * @copydoc Dali::WidgetView::WidgetView::ActivateFaultedWidget
112 void ActivateFaultedWidget();
115 * @copydoc Dali::WidgetView::WidgetView::IsWidgetFaulted
117 bool IsWidgetFaulted();
120 * @copydoc Dali::WidgetView::WidgetView::SetPermanentDelete
122 void SetPermanentDelete( bool permanentDelete );
124 void AddObjectView( Pepper::ObjectView objectView );
125 void RemoveObjectView();
129 Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetAddedSignal();
130 Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetDeletedSignal();
135 * Construct a new WidgetView.
140 * Construct a new WidgetView.
142 WidgetView( const std::string& widgetId, const std::string& contentInfo, int width, int height, double period );
145 * A reference counted object may only be deleted by calling Unreference()
147 virtual ~WidgetView();
149 private: // From Control
152 * @copydoc Toolkit::Control::OnInitialize()
154 virtual void OnInitialize();
159 WidgetView( const WidgetView& );
162 WidgetView& operator= ( const WidgetView& );
166 Pepper::ObjectView mObjectView; ///< Widget content
167 Toolkit::ImageView mPreviewImage; ///< Preview image
168 Toolkit::TextLabel mStateText; ///< State text
170 std::string mWidgetId;
171 std::string mInstanceId;
172 std::string mContentInfo;
182 bool mPreviewEnabled;
183 bool mStateTextEnabled;
184 bool mPermanentDelete;
187 Dali::WidgetView::WidgetView::WidgetViewSignalType mWidgetAddedSignal;
188 Dali::WidgetView::WidgetView::WidgetViewSignalType mWidgetDeletedSignal;
191 } // namespace Internal
193 // Helpers for public-api forwarding methods
195 inline Internal::WidgetView& GetImplementation( WidgetView& widgetView )
197 DALI_ASSERT_ALWAYS( widgetView );
199 Dali::RefObject& handle = widgetView.GetImplementation();
201 return static_cast<Internal::WidgetView&>( handle );
204 inline const Internal::WidgetView& GetImplementation( const WidgetView& widgetView )
206 DALI_ASSERT_ALWAYS( widgetView );
208 const Dali::RefObject& handle = widgetView.GetImplementation();
210 return static_cast<const Internal::WidgetView&>( handle );
213 } // namespace WidgetView
217 #endif // __DALI_WIDGET_VIEW_INTERNAL_WIDGET_VIEW_H__