@@ -75,14 +75,14 @@ bool TizenViewElementary::CreateView() {
7575 initial_height_ = parent_height;
7676 }
7777
78- container_ = elm_table_add (parent_);
78+ container_ = elm_bg_add (parent_);
7979 if (!container_) {
8080 FT_LOG (Error) << " Failed to create an Evas object container." ;
8181 return false ;
8282 }
83- evas_object_size_hint_weight_set (container_, EVAS_HINT_EXPAND,
84- EVAS_HINT_EXPAND);
83+ evas_object_size_hint_align_set (container_, EVAS_HINT_FILL, EVAS_HINT_FILL);
8584 EvasObjectResizeWithMinMaxHint (container_, initial_width_, initial_height_);
85+ elm_object_focus_allow_set (container_, EINA_TRUE);
8686
8787 image_ = evas_object_image_filled_add (evas_object_evas_get (container_));
8888 if (!image_) {
@@ -93,29 +93,11 @@ bool TizenViewElementary::CreateView() {
9393 EvasObjectResizeWithMinMaxHint (image_, initial_width_, initial_height_);
9494 evas_object_image_size_set (image_, initial_width_, initial_height_);
9595 evas_object_image_alpha_set (image_, EINA_TRUE);
96-
97- elm_table_pack (container_, image_, 0 , 0 , 1 , 1 );
98-
99- // FIXME: Button widgets can receive both mouse events and key events. But the
100- // button widget is temporary. It should be changed to the appropriate object
101- // that can be used as event layer.
102- event_layer_ = elm_button_add (container_);
103- if (!event_layer_) {
104- FT_LOG (Error) << " Failed to create an event layer." ;
105- return false ;
106- }
107- evas_object_size_hint_weight_set (event_layer_, EVAS_HINT_EXPAND,
108- EVAS_HINT_EXPAND);
109- evas_object_size_hint_align_set (event_layer_, EVAS_HINT_FILL, EVAS_HINT_FILL);
110- elm_object_style_set (event_layer_, " transparent" );
111- evas_object_color_set (event_layer_, 0 , 0 , 0 , 0 );
112- elm_table_pack (container_, event_layer_, 0 , 0 , 1 , 1 );
113-
96+ elm_object_part_content_set (container_, " overlay" , image_);
11497 return true ;
11598}
11699
117100void TizenViewElementary::DestroyView () {
118- evas_object_del (event_layer_);
119101 evas_object_del (image_);
120102 evas_object_del (container_);
121103}
@@ -147,7 +129,7 @@ void TizenViewElementary::RegisterEventHandlers() {
147129 [](void * data, Evas* evas, Evas_Object* object, void * event_info) {
148130 auto * self = reinterpret_cast <TizenViewElementary*>(data);
149131 if (self->view_delegate_ ) {
150- if (self->event_layer_ == object) {
132+ if (self->container_ == object) {
151133 auto * mouse_event =
152134 reinterpret_cast <Evas_Event_Mouse_Down*>(event_info);
153135 TizenGeometry geometry = self->GetGeometry ();
@@ -159,18 +141,18 @@ void TizenViewElementary::RegisterEventHandlers() {
159141 }
160142 };
161143 evas_object_event_callback_add (
162- event_layer_ , EVAS_CALLBACK_MOUSE_DOWN,
144+ container_ , EVAS_CALLBACK_MOUSE_DOWN,
163145 evas_object_callbacks_[EVAS_CALLBACK_MOUSE_DOWN], this );
164146
165147 evas_object_callbacks_[EVAS_CALLBACK_MOUSE_UP] = [](void * data, Evas* evas,
166148 Evas_Object* object,
167149 void * event_info) {
168150 auto * self = reinterpret_cast <TizenViewElementary*>(data);
169151 if (self->view_delegate_ ) {
170- if (self->event_layer_ == object) {
152+ if (self->container_ == object) {
171153 auto * mouse_event = reinterpret_cast <Evas_Event_Mouse_Up*>(event_info);
172154 if (self->scroll_hold_ ) {
173- elm_object_scroll_hold_pop (self->event_layer_ );
155+ elm_object_scroll_hold_pop (self->container_ );
174156 self->scroll_hold_ = false ;
175157 }
176158 TizenGeometry geometry = self->GetGeometry ();
@@ -181,7 +163,7 @@ void TizenViewElementary::RegisterEventHandlers() {
181163 }
182164 }
183165 };
184- evas_object_event_callback_add (event_layer_ , EVAS_CALLBACK_MOUSE_UP,
166+ evas_object_event_callback_add (container_ , EVAS_CALLBACK_MOUSE_UP,
185167 evas_object_callbacks_[EVAS_CALLBACK_MOUSE_UP],
186168 this );
187169
@@ -190,13 +172,13 @@ void TizenViewElementary::RegisterEventHandlers() {
190172 void * event_info) {
191173 auto * self = reinterpret_cast <TizenViewElementary*>(data);
192174 if (self->view_delegate_ ) {
193- if (self->event_layer_ == object) {
175+ if (self->container_ == object) {
194176 auto * mouse_event =
195177 reinterpret_cast <Evas_Event_Mouse_Move*>(event_info);
196178 mouse_event->event_flags = Evas_Event_Flags (mouse_event->event_flags |
197179 EVAS_EVENT_FLAG_ON_HOLD);
198180 if (!self->scroll_hold_ ) {
199- elm_object_scroll_hold_push (self->event_layer_ );
181+ elm_object_scroll_hold_push (self->container_ );
200182 self->scroll_hold_ = true ;
201183 }
202184 TizenGeometry geometry = self->GetGeometry ();
@@ -208,14 +190,14 @@ void TizenViewElementary::RegisterEventHandlers() {
208190 }
209191 };
210192 evas_object_event_callback_add (
211- event_layer_ , EVAS_CALLBACK_MOUSE_MOVE,
193+ container_ , EVAS_CALLBACK_MOUSE_MOVE,
212194 evas_object_callbacks_[EVAS_CALLBACK_MOUSE_MOVE], this );
213195
214196 evas_object_callbacks_[EVAS_CALLBACK_MOUSE_WHEEL] =
215197 [](void * data, Evas* evas, Evas_Object* object, void * event_info) {
216198 auto * self = reinterpret_cast <TizenViewElementary*>(data);
217199 if (self->view_delegate_ ) {
218- if (self->event_layer_ == object) {
200+ if (self->container_ == object) {
219201 auto * wheel_event =
220202 reinterpret_cast <Ecore_Event_Mouse_Wheel*>(event_info);
221203 double delta_x = 0.0 ;
@@ -235,15 +217,15 @@ void TizenViewElementary::RegisterEventHandlers() {
235217 }
236218 };
237219 evas_object_event_callback_add (
238- event_layer_ , EVAS_CALLBACK_MOUSE_WHEEL,
220+ container_ , EVAS_CALLBACK_MOUSE_WHEEL,
239221 evas_object_callbacks_[EVAS_CALLBACK_MOUSE_WHEEL], this );
240222
241223 evas_object_callbacks_[EVAS_CALLBACK_KEY_DOWN] = [](void * data, Evas* evas,
242224 Evas_Object* object,
243225 void * event_info) {
244226 auto * self = reinterpret_cast <TizenViewElementary*>(data);
245227 if (self->view_delegate_ ) {
246- if (self->event_layer_ == object && self->focused_ ) {
228+ if (self->container_ == object && self->focused_ ) {
247229 auto * key_event = reinterpret_cast <Evas_Event_Key_Down*>(event_info);
248230 bool handled = false ;
249231 key_event->event_flags =
@@ -261,15 +243,15 @@ void TizenViewElementary::RegisterEventHandlers() {
261243 }
262244 }
263245 };
264- evas_object_event_callback_add (event_layer_ , EVAS_CALLBACK_KEY_DOWN,
246+ evas_object_event_callback_add (container_ , EVAS_CALLBACK_KEY_DOWN,
265247 evas_object_callbacks_[EVAS_CALLBACK_KEY_DOWN],
266248 this );
267249
268250 evas_object_callbacks_[EVAS_CALLBACK_KEY_UP] =
269251 [](void * data, Evas* evas, Evas_Object* object, void * event_info) {
270252 auto * self = reinterpret_cast <TizenViewElementary*>(data);
271253 if (self->view_delegate_ ) {
272- if (self->event_layer_ == object && self->focused_ ) {
254+ if (self->container_ == object && self->focused_ ) {
273255 auto * key_event = reinterpret_cast <Evas_Event_Key_Up*>(event_info);
274256 bool handled = false ;
275257 key_event->event_flags = Evas_Event_Flags (key_event->event_flags |
@@ -287,43 +269,43 @@ void TizenViewElementary::RegisterEventHandlers() {
287269 }
288270 }
289271 };
290- evas_object_event_callback_add (event_layer_ , EVAS_CALLBACK_KEY_UP,
272+ evas_object_event_callback_add (container_ , EVAS_CALLBACK_KEY_UP,
291273 evas_object_callbacks_[EVAS_CALLBACK_KEY_UP],
292274 this );
293275
294276 focused_callback_ = [](void * data, Evas_Object* object, void * event_info) {
295277 auto * self = reinterpret_cast <TizenViewElementary*>(data);
296278 if (self->view_delegate_ ) {
297- if (self->event_layer_ == object) {
279+ if (self->container_ == object) {
298280 self->focused_ = true ;
299281 }
300282 }
301283 };
302- evas_object_smart_callback_add (event_layer_ , " focused" , focused_callback_,
284+ evas_object_smart_callback_add (container_ , " focused" , focused_callback_,
303285 this );
304286}
305287
306288void TizenViewElementary::UnregisterEventHandlers () {
307289 evas_object_event_callback_del (container_, EVAS_CALLBACK_RESIZE,
308290 evas_object_callbacks_[EVAS_CALLBACK_RESIZE]);
309291 evas_object_event_callback_del (
310- event_layer_ , EVAS_CALLBACK_MOUSE_DOWN,
292+ container_ , EVAS_CALLBACK_MOUSE_DOWN,
311293 evas_object_callbacks_[EVAS_CALLBACK_MOUSE_DOWN]);
312294 evas_object_event_callback_del (
313- event_layer_ , EVAS_CALLBACK_MOUSE_UP,
295+ container_ , EVAS_CALLBACK_MOUSE_UP,
314296 evas_object_callbacks_[EVAS_CALLBACK_MOUSE_UP]);
315297 evas_object_event_callback_del (
316- event_layer_ , EVAS_CALLBACK_MOUSE_MOVE,
298+ container_ , EVAS_CALLBACK_MOUSE_MOVE,
317299 evas_object_callbacks_[EVAS_CALLBACK_MOUSE_MOVE]);
318300 evas_object_event_callback_del (
319- event_layer_ , EVAS_CALLBACK_MOUSE_WHEEL,
301+ container_ , EVAS_CALLBACK_MOUSE_WHEEL,
320302 evas_object_callbacks_[EVAS_CALLBACK_MOUSE_WHEEL]);
321303 evas_object_event_callback_del (
322- event_layer_ , EVAS_CALLBACK_KEY_DOWN,
304+ container_ , EVAS_CALLBACK_KEY_DOWN,
323305 evas_object_callbacks_[EVAS_CALLBACK_KEY_DOWN]);
324- evas_object_event_callback_del (event_layer_ , EVAS_CALLBACK_KEY_UP,
306+ evas_object_event_callback_del (container_ , EVAS_CALLBACK_KEY_UP,
325307 evas_object_callbacks_[EVAS_CALLBACK_KEY_UP]);
326- evas_object_smart_callback_del (event_layer_ , " focused" , focused_callback_);
308+ evas_object_smart_callback_del (container_ , " focused" , focused_callback_);
327309}
328310
329311TizenGeometry TizenViewElementary::GetGeometry () {
@@ -355,7 +337,6 @@ uintptr_t TizenViewElementary::GetWindowId() {
355337void TizenViewElementary::Show () {
356338 evas_object_show (container_);
357339 evas_object_show (image_);
358- evas_object_show (event_layer_);
359340}
360341
361342void TizenViewElementary::PrepareInputMethod () {
0 commit comments