Merge "[4.0] Support software styling" into tizen_4.0
[platform/core/uifw/dali-adaptor.git] / adaptors / tizen / widget-application-impl-tizen-3.cpp
1 /*
2  * Copyright (c) 2017 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (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
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  *
16  */
17
18 // CLASS HEADER
19 #include "widget-application-impl.h"
20
21 // INTERNAL INCLUDE
22 #include <widget.h>
23 #include <widget-impl.h>
24 #include <widget-controller.h>
25 #include <dali/integration-api/debug.h>
26
27 namespace Dali
28 {
29
30 namespace Internal
31 {
32
33 namespace Adaptor
34 {
35
36 WidgetApplicationPtr WidgetApplication::New(
37   int* argc,
38   char **argv[],
39   const std::string& stylesheet)
40 {
41   WidgetApplicationPtr widgetApplication( new WidgetApplication (argc, argv, stylesheet ) );
42   return widgetApplication;
43 }
44
45 WidgetApplication::WidgetApplication( int* argc, char** argv[], const std::string& stylesheet )
46 :Application(argc, argv, stylesheet, Dali::WidgetApplication::OPAQUE, PositionSize(), Framework::WIDGET)
47 {
48   DALI_LOG_ERROR("WidgetApplication is not implemented in 3.0 tizen profile.\n");
49 }
50
51 WidgetApplication::~WidgetApplication()
52 {
53 }
54
55
56 void WidgetApplication::RegisterWidgetCreatingFunction( const std::string& widgetName, Dali::WidgetApplication::CreateWidgetFunction createFunction )
57 {
58 }
59
60 void WidgetApplication::AddWidgetCreatingFunctionPair( CreateWidgetFunctionPair pair )
61 {
62   mCreateWidgetFunctionContainer.push_back( pair );
63 }
64
65 WidgetApplication::CreateWidgetFunctionPair WidgetApplication::GetWidgetCreatingFunctionPair( const std::string& widgetName )
66 {
67   for( CreateWidgetFunctionContainer::const_iterator iter = mCreateWidgetFunctionContainer.begin(); iter != mCreateWidgetFunctionContainer.end(); ++iter )
68   {
69     if( widgetName.find((*iter).first) != std::string::npos  )
70     {
71       return *iter;
72     }
73   }
74
75   return CreateWidgetFunctionPair( "", NULL );
76 }
77
78 void WidgetApplication::AddWidget( widget_base_instance_h widgetBaseInstance, Dali::Widget widget )
79 {
80   mWidgetInstanceContainer.push_back( WidgetInstancePair(widgetBaseInstance, widget) );
81 }
82
83 Dali::Widget WidgetApplication::GetWidget( widget_base_instance_h widgetBaseInstance )
84 {
85   for( WidgetInstanceContainer::const_iterator iter = mWidgetInstanceContainer.begin(); iter != mWidgetInstanceContainer.end(); ++iter )
86   {
87     if( (*iter).first == widgetBaseInstance  )
88     {
89       return (*iter).second;
90     }
91   }
92   return Dali::Widget();
93 }
94
95 void WidgetApplication::DeleteWidget( widget_base_instance_h widgetBaseInstance )
96 {
97   for( WidgetInstanceContainer::const_iterator iter = mWidgetInstanceContainer.begin(); iter != mWidgetInstanceContainer.end(); ++iter )
98   {
99     if( (*iter).first == widgetBaseInstance  )
100     {
101       mWidgetInstanceContainer.erase(iter);
102       break;
103     }
104   }
105 }
106
107 } // namespace Adaptor
108
109 } // namespace Internal
110
111 } // namespace Dali