Change default permanent delete flag and add CloseRemoteSurface
[platform/core/uifw/widget-viewer-dali.git] / internal / widget_view / widget_view_impl.h
index bba069d..94669d2 100644 (file)
 // EXTERNAL INCLUDES
 #include <dali/public-api/adaptor-framework/native-image-source.h>
 #include <dali-toolkit/public-api/controls/control-impl.h>
-#include <dali-toolkit/public-api/controls/image-view/image-view.h>
 #include <dali-toolkit/public-api/controls/text-controls/text-label.h>
+#include <dali-toolkit/public-api/controls/image-view/image-view.h>
 #include <wayland-extension/tizen-remote-surface-client-protocol.h>
 #include <tbm_surface.h>
-#include <bundle.h>
 
 namespace Dali
 {
@@ -46,7 +45,7 @@ public:
   /**
    * @copydoc Dali::WidgetView::WidgetView::New
    */
-  static Dali::WidgetView::WidgetView New( const std::string& widgetId, const std::string& contentInfo, int width, int height, double updatePeriod );
+  static Dali::WidgetView::WidgetView New( const std::string& widgetId, const std::string& contentInfo, int width, int height, float updatePeriod );
 
   /**
    * @copydoc Dali::WidgetView::WidgetView::PauseWidget
@@ -59,84 +58,75 @@ public:
   bool ResumeWidget();
 
   /**
-   * @copydoc Dali::WidgetView::WidgetView::GetWidgetId
+   * @copydoc Dali::WidgetView::WidgetView::CancelTouchEvent
    */
-  const std::string& GetWidgetId() const;
+  bool CancelTouchEvent();
 
   /**
-   * @copydoc Dali::WidgetView::WidgetView::GetInstanceId
+   * @copydoc Dali::WidgetView::WidgetView::ActivateFaultedWidget
    */
-  const std::string& GetInstanceId() const;
+  void ActivateFaultedWidget();
 
-  /**
-   * @copydoc Dali::WidgetView::WidgetView::GetContentInfo
-   */
-  const std::string& GetContentInfo();
+  void SendWidgetEvent( int event );
 
-  /**
-   * @copydoc Dali::WidgetView::WidgetView::GetTitle
-   */
-  const std::string& GetTitle();
+public: // Internal API
 
   /**
-   * @copydoc Dali::WidgetView::WidgetView::GetUpdatePeriod
+   * @brief Called when a property of an object of this type is set.
+   * @SINCE_1_1.38
+   * @param[in] object The object whose property is set.
+   * @param[in] index The property index.
+   * @param[in] value The new property value.
    */
-  double GetUpdatePeriod() const;
+  static void SetProperty( BaseObject* object, Property::Index index, const Property::Value& value );
 
   /**
-   * @copydoc Dali::WidgetView::WidgetView::Show
+   * @brief Called to retrieve a property of an object of this type.
+   * @SINCE_1_1.38
+   * @param[in] object The object whose property is to be retrieved.
+   * @param[in] index The property index.
+   * @return The current value of the property.
    */
-  void Show();
+  static Property::Value GetProperty( BaseObject* object, Property::Index propertyIndex );
 
   /**
-   * @copydoc Dali::WidgetView::WidgetView::Hide
+   * @brief Performs actions as requested using the action name.
+   * @SINCE_1_1.38
+   * @param[in] object The object on which to perform the action.
+   * @param[in] actionName The action to perform.
+   * @param[in] attributes The attributes with which to perfrom this action.
+   * @return True if action has been accepted by this control
    */
-  void Hide();
+  static bool DoAction( BaseObject* object, const std::string& actionName, const Property::Map& attributes );
 
-  /**
-   * @copydoc Dali::WidgetView::WidgetView::CancelTouchEvent
-   */
-  bool CancelTouchEvent();
+  static bool DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor );
 
-  /**
-   * @copydoc Dali::WidgetView::WidgetView::SetPreviewEnabled
-   */
-  void SetPreviewEnabled( bool enabled );
+  const std::string& GetWidgetId() const;
 
-  /**
-   * @copydoc Dali::WidgetView::WidgetView::GetPreviewEnabled
-   */
-  bool GetPreviewEnabled() const;
+  const std::string& GetInstanceId() const;
 
-  /**
-   * @copydoc Dali::WidgetView::WidgetView::SetStateTextEnabled
-   */
-  void SetStateTextEnabled( bool enabled );
+  const std::string& GetContentInfo();
 
-  /**
-   * @copydoc Dali::WidgetView::WidgetView::GetStateTextEnabled
-   */
-  bool GetStateTextEnabled() const;
+  const std::string& GetTitle();
 
-  /**
-   * @copydoc Dali::WidgetView::WidgetView::ActivateFaultedWidget
-   */
-  void ActivateFaultedWidget();
+  float GetUpdatePeriod() const;
+
+  void ShowPreview( bool show );
+
+  bool IsPreviewVisible();
+
+  void ShowStateText( bool show );
+
+  bool IsStateTextVisible();
 
-  /**
-   * @copydoc Dali::WidgetView::WidgetView::IsWidgetFaulted
-   */
   bool IsWidgetFaulted();
 
-  /**
-   * @copydoc Dali::WidgetView::WidgetView::SetPermanentDelete
-   */
   void SetPermanentDelete( bool permanentDelete );
 
 // ToDo: This funstion will be used for widgetDeletedSignal
   void RemoveObjectView();
 
-  void SendWidgetEvent( int event );
+  bool IsPermanentDelete();
 
   bool IsWidgetImageView();
 
@@ -150,6 +140,8 @@ public:
 
   bool OnWheelEvent( Dali::Actor actor, const Dali::WheelEvent& event );
 
+  void CloseRemoteSurface();
+
 public: //Signals
 
   /**
@@ -168,21 +160,11 @@ public: //Signals
   Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetCreationAbortedSignal();
 
   /**
-   * @copydoc Dali::WidgetView::WidgetView::WidgetResizedSignal
-   */
-  Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetResizedSignal();
-
-  /**
    * @copydoc Dali::WidgetView::WidgetView::WidgetContentUpdatedSignal
    */
   Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetContentUpdatedSignal();
 
   /**
-   * @copydoc Dali::WidgetView::WidgetView::WidgetExtraInfoUpdatedSignal
-   */
-  Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetExtraInfoUpdatedSignal();
-
-  /**
    * @copydoc Dali::WidgetView::WidgetView::WidgetUpdatePeriodChangedSignal
    */
   Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetUpdatePeriodChangedSignal();
@@ -202,7 +184,7 @@ protected:
   /**
    * Construct a new WidgetView.
    */
-  WidgetView( const std::string& widgetId, const std::string& contentInfo, int width, int height, double updatePeriod );
+  WidgetView( const std::string& widgetId, const std::string& contentInfo, int width, int height, float updatePeriod );
 
   /**
    * A reference counted object may only be deleted by calling Unreference()
@@ -216,13 +198,36 @@ private: // From Control
    */
   virtual void OnInitialize();
 
-private: // From CustomActorImpl
+  /**
+   * @copydoc Toolkit::Control::OnStageConnect()
+   */
+  virtual void OnStageConnection( int depth );
+
+  /**
+   * @copydoc Toolkit::Control::OnStageDisconnection()
+   */
+  virtual void OnStageDisconnection();
 
   /**
-   * @copydoc CustomActorImpl::OnSizeSet( const Vector3& targetSize )
+   * @copydoc Toolkit::Control::OnSizeSet()
    */
   virtual void OnSizeSet( const Vector3& targetSize );
 
+  /**
+   * @copydoc Toolkit::Control::GetNaturalSize
+   */
+  virtual Vector3 GetNaturalSize();
+
+  /**
+   * @copydoc Toolkit::Control::GetHeightForWidth()
+   */
+  virtual float GetHeightForWidth( float width );
+
+  /**
+   * @copydoc Toolkit::Control::GetWidthForHeight()
+   */
+  virtual float GetWidthForHeight( float height );
+
 private:
 
   // Undefined
@@ -243,15 +248,13 @@ private:
   std::string mContentInfo;
   std::string mTitle;
 
-  bundle* mBundle;
-
   int mWidth;
   int mHeight;
   int mPid;
-  double mUpdatePeriod;
+  float mUpdatePeriod;
 
-  bool mPreviewEnabled;
-  bool mStateTextEnabled;
+  bool mPreviewVisible;
+  bool mStateTextVisible;
   bool mPermanentDelete;
 
   tizen_remote_surface* mRemoteSurface;
@@ -260,9 +263,7 @@ private:
   Dali::WidgetView::WidgetView::WidgetViewSignalType mWidgetAddedSignal;
   Dali::WidgetView::WidgetView::WidgetViewSignalType mWidgetDeletedSignal;
   Dali::WidgetView::WidgetView::WidgetViewSignalType mWidgetCreationAbortedSignal;
-  Dali::WidgetView::WidgetView::WidgetViewSignalType mWidgetResizedSignal;
   Dali::WidgetView::WidgetView::WidgetViewSignalType mWidgetContentUpdatedSignal;
-  Dali::WidgetView::WidgetView::WidgetViewSignalType mWidgetExtraInfoUpdatedSignal;
   Dali::WidgetView::WidgetView::WidgetViewSignalType mWidgetUpdatePeriodChangedSignal;
   Dali::WidgetView::WidgetView::WidgetViewSignalType mWidgetFaultedSignal;
 };