[widget-viewer-dali] Add WidgetViewer API
authorHeeyong Song <heeyong.song@samsung.com>
Tue, 24 May 2016 05:29:52 +0000 (14:29 +0900)
committerHeeyong Song <heeyong.song@samsung.com>
Wed, 25 May 2016 02:06:45 +0000 (11:06 +0900)
PauseWidget(), ResumeWidget(), WidgetFaultedSignal()

Change-Id: I559a4a2cae13700beb4bda046d2e57e613fed640

internal/widget_view/widget_view_impl.cpp
internal/widget_view/widget_view_impl.h
public_api/widget_view/widget_view.cpp
public_api/widget_view/widget_view.h

index 7c7f930..271ef4f 100644 (file)
@@ -114,6 +114,34 @@ WidgetView::~WidgetView()
   }
 }
 
+bool WidgetView::PauseWidget()
+{
+  int ret = widget_instance_pause( mWidgetId.c_str(), mInstanceId.c_str() );
+  if( ret < 0 )
+  {
+    DALI_LOG_INFO( gWidgetViewLogging, Debug::Verbose, "WidgetView::PauseWidget: Fail to pause widget(%s, %s) [%d]\n", mWidgetId.c_str(), mInstanceId.c_str(), ret );
+    return false;
+  }
+
+  DALI_LOG_INFO( gWidgetViewLogging, Debug::Verbose, "WidgetView::PauseWidget: Widget is paused (%s, %s)\n", mWidgetId.c_str(), mInstanceId.c_str() );
+
+  return true;
+}
+
+bool WidgetView::ResumeWidget()
+{
+  int ret = widget_instance_resume( mWidgetId.c_str(), mInstanceId.c_str() );
+  if( ret < 0 )
+  {
+    DALI_LOG_INFO( gWidgetViewLogging, Debug::Verbose, "WidgetView::ResumeWidget: Fail to resume widget(%s, %s) [%d]\n", mWidgetId.c_str(), mInstanceId.c_str(), ret );
+    return false;
+  }
+
+  DALI_LOG_INFO( gWidgetViewLogging, Debug::Verbose, "WidgetView::ResumeWidget: Widget is resumed (%s, %s)\n", mWidgetId.c_str(), mInstanceId.c_str() );
+
+  return true;
+}
+
 const std::string& WidgetView::GetWidgetId() const
 {
   return mWidgetId;
@@ -266,6 +294,11 @@ void WidgetView::ActivateFaultedWidget()
     if( mPid < 0)
     {
       DALI_LOG_INFO( gWidgetViewLogging, Debug::Verbose, "WidgetView::ActivateFaultedWidget: widget_instance_launch is failed. [%s]\n", mWidgetId.c_str() );
+
+      // Emit signal
+      Dali::WidgetView::WidgetView handle( GetOwner() );
+      mWidgetCreationAbortedSignal.Emit( handle );
+
       return;
     }
 
@@ -361,6 +394,11 @@ void WidgetView::SendWidgetEvent( int event )
       mWidgetExtraInfoUpdatedSignal.Emit( handle );
       break;
     }
+    case WIDGET_INSTANCE_EVENT_FAULT:
+    {
+      mWidgetFaultedSignal.Emit( handle );
+      break;
+    }
     default:
     {
       break;
@@ -378,31 +416,36 @@ Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetView::WidgetDeletedSig
   return mWidgetDeletedSignal;
 }
 
-Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetView::WidgetAbortedSignal()
+Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetView::WidgetCreationAbortedSignal()
 {
-  return mWidgetAbortedSignal;
+  return mWidgetCreationAbortedSignal;
 }
 
-Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetView::WidgetResized()
+Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetView::WidgetResizedSignal()
 {
   return mWidgetResizedSignal;
 }
 
-Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetView::WidgetContentUpdated()
+Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetView::WidgetContentUpdatedSignal()
 {
   return mWidgetContentUpdatedSignal;
 }
 
-Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetView::WidgetExtraInfoUpdated()
+Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetView::WidgetExtraInfoUpdatedSignal()
 {
   return mWidgetExtraInfoUpdatedSignal;
 }
 
-Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetView::WidgetUpdatePeriodChanged()
+Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetView::WidgetUpdatePeriodChangedSignal()
 {
   return mWidgetUpdatePeriodChangedSignal;
 }
 
+Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetView::WidgetFaultedSignal()
+{
+  return mWidgetFaultedSignal;
+}
+
 void WidgetView::OnInitialize()
 {
   char* instanceId = NULL;
@@ -488,7 +531,7 @@ void WidgetView::OnInitialize()
 
     // Emit signal
     Dali::WidgetView::WidgetView handle( GetOwner() );
-    mWidgetAbortedSignal.Emit( handle );
+    mWidgetCreationAbortedSignal.Emit( handle );
 
     return;
   }
@@ -496,6 +539,14 @@ void WidgetView::OnInitialize()
   DALI_LOG_INFO( gWidgetViewLogging, Debug::Verbose, "WidgetView::OnInitialize: widget_instance_launch is called. [%s, mPid = %d]\n", mWidgetId.c_str(), mPid );
 }
 
+void WidgetView::OnSizeSet( const Vector3& targetSize )
+{
+  if( mObjectView )
+  {
+    mObjectView.SetSize( targetSize );
+  }
+}
+
 } // namespace Internal
 
 } // namespace WidgetView
index 4a53d77..38a2c2f 100644 (file)
@@ -47,6 +47,16 @@ public:
   static Dali::WidgetView::WidgetView New( const std::string& widgetId, const std::string& contentInfo, int width, int height, double updatePeriod );
 
   /**
+   * @copydoc Dali::WidgetView::WidgetView::PauseWidget
+   */
+  bool PauseWidget();
+
+  /**
+   * @copydoc Dali::WidgetView::WidgetView::ResumeWidget
+   */
+  bool ResumeWidget();
+
+  /**
    * @copydoc Dali::WidgetView::WidgetView::GetWidgetId
    */
   const std::string& GetWidgetId() const;
@@ -139,29 +149,34 @@ public: //Signals
   Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetDeletedSignal();
 
   /**
-   * @copydoc Dali::WidgetView::WidgetView::WidgetAbortedSignal
+   * @copydoc Dali::WidgetView::WidgetView::WidgetCreationAbortedSignal
    */
-  Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetAbortedSignal();
+  Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetCreationAbortedSignal();
 
   /**
-   * @copydoc Dali::WidgetView::WidgetView::WidgetResized
+   * @copydoc Dali::WidgetView::WidgetView::WidgetResizedSignal
    */
-  Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetResized();
+  Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetResizedSignal();
 
   /**
-   * @copydoc Dali::WidgetView::WidgetView::WidgetContentUpdated
+   * @copydoc Dali::WidgetView::WidgetView::WidgetContentUpdatedSignal
    */
-  Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetContentUpdated();
+  Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetContentUpdatedSignal();
 
   /**
-   * @copydoc Dali::WidgetView::WidgetView::WidgetExtraInfoUpdated
+   * @copydoc Dali::WidgetView::WidgetView::WidgetExtraInfoUpdatedSignal
    */
-  Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetExtraInfoUpdated();
+  Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetExtraInfoUpdatedSignal();
 
   /**
-   * @copydoc Dali::WidgetView::WidgetView::WidgetUpdatePeriodChanged
+   * @copydoc Dali::WidgetView::WidgetView::WidgetUpdatePeriodChangedSignal
    */
-  Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetUpdatePeriodChanged();
+  Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetUpdatePeriodChangedSignal();
+
+  /**
+   * @copydoc Dali::WidgetView::WidgetView::WidgetFaultedSignal
+   */
+  Dali::WidgetView::WidgetView::WidgetViewSignalType& WidgetFaultedSignal();
 
 protected:
 
@@ -187,6 +202,13 @@ private: // From Control
    */
   virtual void OnInitialize();
 
+private: // From CustomActorImpl
+
+  /**
+   * @copydoc CustomActorImpl::OnSizeSet( const Vector3& targetSize )
+   */
+  virtual void OnSizeSet( const Vector3& targetSize );
+
 private:
 
   // Undefined
@@ -220,11 +242,12 @@ private:
   // Signals
   Dali::WidgetView::WidgetView::WidgetViewSignalType mWidgetAddedSignal;
   Dali::WidgetView::WidgetView::WidgetViewSignalType mWidgetDeletedSignal;
-  Dali::WidgetView::WidgetView::WidgetViewSignalType mWidgetAbortedSignal;
+  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;
 };
 
 } // namespace Internal
index 7712b4c..937ac81 100644 (file)
@@ -59,6 +59,16 @@ WidgetView::~WidgetView()
 {
 }
 
+bool WidgetView::PauseWidget()
+{
+  return Dali::WidgetView::GetImplementation( *this ).PauseWidget();
+}
+
+bool WidgetView::ResumeWidget()
+{
+  return Dali::WidgetView::GetImplementation( *this ).ResumeWidget();
+}
+
 const std::string& WidgetView::GetWidgetId() const
 {
   return Dali::WidgetView::GetImplementation( *this ).GetWidgetId();
@@ -144,29 +154,34 @@ WidgetView::WidgetViewSignalType& WidgetView::WidgetDeletedSignal()
   return Dali::WidgetView::GetImplementation(*this).WidgetDeletedSignal();
 }
 
-WidgetView::WidgetViewSignalType& WidgetView::WidgetAbortedSignal()
+WidgetView::WidgetViewSignalType& WidgetView::WidgetCreationAbortedSignal()
+{
+  return Dali::WidgetView::GetImplementation(*this).WidgetCreationAbortedSignal();
+}
+
+WidgetView::WidgetViewSignalType& WidgetView::WidgetResizedSignal()
 {
-  return Dali::WidgetView::GetImplementation(*this).WidgetAbortedSignal();
+  return Dali::WidgetView::GetImplementation(*this).WidgetResizedSignal();
 }
 
-WidgetView::WidgetViewSignalType& WidgetView::WidgetResized()
+WidgetView::WidgetViewSignalType& WidgetView::WidgetContentUpdatedSignal()
 {
-  return Dali::WidgetView::GetImplementation(*this).WidgetResized();
+  return Dali::WidgetView::GetImplementation(*this).WidgetContentUpdatedSignal();
 }
 
-WidgetView::WidgetViewSignalType& WidgetView::WidgetContentUpdated()
+WidgetView::WidgetViewSignalType& WidgetView::WidgetExtraInfoUpdatedSignal()
 {
-  return Dali::WidgetView::GetImplementation(*this).WidgetContentUpdated();
+  return Dali::WidgetView::GetImplementation(*this).WidgetExtraInfoUpdatedSignal();
 }
 
-WidgetView::WidgetViewSignalType& WidgetView::WidgetExtraInfoUpdated()
+WidgetView::WidgetViewSignalType& WidgetView::WidgetUpdatePeriodChangedSignal()
 {
-  return Dali::WidgetView::GetImplementation(*this).WidgetExtraInfoUpdated();
+  return Dali::WidgetView::GetImplementation(*this).WidgetUpdatePeriodChangedSignal();
 }
 
-WidgetView::WidgetViewSignalType& WidgetView::WidgetUpdatePeriodChanged()
+WidgetView::WidgetViewSignalType& WidgetView::WidgetFaultedSignal()
 {
-  return Dali::WidgetView::GetImplementation(*this).WidgetUpdatePeriodChanged();
+  return Dali::WidgetView::GetImplementation(*this).WidgetFaultedSignal();
 }
 
 WidgetView::WidgetView( Internal::WidgetView& implementation )
index 1575a2d..cc579e8 100644 (file)
@@ -106,6 +106,26 @@ public:
   ~WidgetView();
 
   /**
+   * @brief Pauses a given widget.
+   *
+   * @since_tizen 3.0
+   * @privlevel public
+   * @privilege %http://tizen.org/privilege/widget.viewer
+   * @return true on success, false otherwise.
+   */
+  bool PauseWidget();
+
+  /**
+   * @brief Resume a given widget.
+   *
+   * @since_tizen 3.0
+   * @privlevel public
+   * @privilege %http://tizen.org/privilege/widget.viewer
+   * @return true on success, false otherwise.
+   */
+  bool ResumeWidget();
+
+  /**
    * @brief Get the id of the widget.
    *
    * @since_tizen 3.0
@@ -284,14 +304,14 @@ public: //Signals
   WidgetViewSignalType& WidgetDeletedSignal();
 
   /**
-   * @brief This signal is emitted when the widget is aborted.
+   * @brief This signal is emitted when the widget creation is aborted.
    *
    * @since_tizen 3.0
    * @privlevel public
    * @privilege %http://tizen.org/privilege/widget.viewer
    * @return The signal to connect to.
    */
-  WidgetViewSignalType& WidgetAbortedSignal();
+  WidgetViewSignalType& WidgetCreationAbortedSignal();
 
   /**
    * @brief This signal is emitted when the widget is resized.
@@ -301,7 +321,7 @@ public: //Signals
    * @privilege %http://tizen.org/privilege/widget.viewer
    * @return The signal to connect to.
    */
-  WidgetViewSignalType& WidgetResized();
+  WidgetViewSignalType& WidgetResizedSignal();
 
   /**
    * @brief This signal is emitted when the widget content is updated.
@@ -311,7 +331,7 @@ public: //Signals
    * @privilege %http://tizen.org/privilege/widget.viewer
    * @return The signal to connect to.
    */
-  WidgetViewSignalType& WidgetContentUpdated();
+  WidgetViewSignalType& WidgetContentUpdatedSignal();
 
   /**
    * @brief This signal is emitted when the widget extra info is updated.
@@ -321,7 +341,7 @@ public: //Signals
    * @privilege %http://tizen.org/privilege/widget.viewer
    * @return The signal to connect to.
    */
-  WidgetViewSignalType& WidgetExtraInfoUpdated();
+  WidgetViewSignalType& WidgetExtraInfoUpdatedSignal();
 
   /**
    * @brief This signal is emitted when the widget update period is changed.
@@ -331,7 +351,17 @@ public: //Signals
    * @privilege %http://tizen.org/privilege/widget.viewer
    * @return The signal to connect to.
    */
-  WidgetViewSignalType& WidgetUpdatePeriodChanged();
+  WidgetViewSignalType& WidgetUpdatePeriodChangedSignal();
+
+  /**
+   * @brief This signal is emitted when the widget process is not running.
+   *
+   * @since_tizen 3.0
+   * @privlevel public
+   * @privilege %http://tizen.org/privilege/widget.viewer
+   * @return The signal to connect to.
+   */
+  WidgetViewSignalType& WidgetFaultedSignal();
 
 public: // Not intended for application developers