55#include " flutter/shell/platform/tizen/nui_autofill_popup.h"
66
77#include < dali-toolkit/dali-toolkit.h>
8- #include < dali-toolkit/devel-api/controls/table-view/table-view.h>
98#include < dali-toolkit/public-api/controls/text-controls/text-label.h>
109
11- #include " flutter/shell/platform/tizen/tizen_autofill.h"
12-
1310namespace flutter {
1411
1512bool NuiAutofillPopup::Touched (Dali::Actor actor,
@@ -35,7 +32,32 @@ void NuiAutofillPopup::OutsideTouched() {
3532 popup_.SetDisplayState (Dali::Toolkit::Popup::HIDDEN);
3633}
3734
38- void NuiAutofillPopup::Prepare () {
35+ Dali::Toolkit::TableView NuiAutofillPopup::MakeContent (
36+ const std::vector<std::unique_ptr<AutofillItem>>& items) {
37+ Dali::Toolkit::TableView content =
38+ Dali::Toolkit::TableView::New (items.size (), 1 );
39+ content.SetResizePolicy (Dali::ResizePolicy::FILL_TO_PARENT,
40+ Dali::Dimension::ALL_DIMENSIONS);
41+ content.SetProperty (Dali::Actor::Property::PADDING,
42+ Dali::Vector4 (10 , 10 , 0 , 0 ));
43+ for (uint32_t i = 0 ; i < items.size (); ++i) {
44+ Dali::Toolkit::TextLabel label =
45+ Dali::Toolkit::TextLabel::New (items[i]->label );
46+ label.SetProperty (Dali::Actor::Property::NAME, items[i]->value );
47+ label.SetResizePolicy (Dali::ResizePolicy::DIMENSION_DEPENDENCY,
48+ Dali::Dimension::HEIGHT);
49+ label.SetProperty (Dali::Toolkit::TextLabel::Property::TEXT_COLOR,
50+ Dali::Color::WHITE_SMOKE);
51+ label.SetProperty (Dali::Toolkit::TextLabel::Property::POINT_SIZE, 7 .0f );
52+ label.TouchedSignal ().Connect (this , &NuiAutofillPopup::Touched);
53+ content.AddChild (label, Dali::Toolkit::TableView::CellPosition (i, 0 ));
54+ content.SetFitHeight (i);
55+ }
56+ return content;
57+ }
58+
59+ void NuiAutofillPopup::Prepare (
60+ const std::vector<std::unique_ptr<AutofillItem>>& items) {
3961 popup_ = Dali::Toolkit::Popup::New ();
4062 popup_.SetProperty (Dali::Actor::Property::NAME, " popup" );
4163 popup_.SetProperty (Dali::Actor::Property::PARENT_ORIGIN,
@@ -49,6 +71,11 @@ void NuiAutofillPopup::Prepare() {
4971 popup_.HiddenSignal ().Connect (this , &NuiAutofillPopup::Hidden);
5072 popup_.SetProperty (Dali::Toolkit::Popup::Property::BACKING_ENABLED, false );
5173 popup_.SetProperty (Dali::Toolkit::Popup::Property::AUTO_HIDE_DELAY, 2500 );
74+ popup_.SetProperty (Dali::Actor::Property::SIZE,
75+ Dali::Vector2 (140 .0f , 35 .0f * items.size ()));
76+
77+ Dali::Toolkit::TableView content = MakeContent (items);
78+ popup_.SetContent (content);
5279}
5380
5481void NuiAutofillPopup::Show (Dali::Actor* actor) {
@@ -58,29 +85,8 @@ void NuiAutofillPopup::Show(Dali::Actor* actor) {
5885 return ;
5986 }
6087
61- Prepare ();
62- Dali::Toolkit::TableView content =
63- Dali::Toolkit::TableView::New (items.size (), 1 );
64- content.SetResizePolicy (Dali::ResizePolicy::FILL_TO_PARENT,
65- Dali::Dimension::ALL_DIMENSIONS);
66- content.SetProperty (Dali::Actor::Property::PADDING,
67- Dali::Vector4 (10 , 10 , 0 , 0 ));
68- for (uint32_t i = 0 ; i < items.size (); ++i) {
69- Dali::Toolkit::TextLabel label =
70- Dali::Toolkit::TextLabel::New (items[i]->label_ );
71- label.SetProperty (Dali::Actor::Property::NAME, items[i]->value_ );
72- label.SetResizePolicy (Dali::ResizePolicy::DIMENSION_DEPENDENCY,
73- Dali::Dimension::HEIGHT);
74- label.SetProperty (Dali::Toolkit::TextLabel::Property::TEXT_COLOR,
75- Dali::Color::WHITE_SMOKE);
76- label.SetProperty (Dali::Toolkit::TextLabel::Property::POINT_SIZE, 7 .0f );
77- label.TouchedSignal ().Connect (this , &NuiAutofillPopup::Touched);
78- content.AddChild (label, Dali::Toolkit::TableView::CellPosition (i, 0 ));
79- content.SetFitHeight (i);
80- }
81- popup_.SetProperty (Dali::Actor::Property::SIZE,
82- Dali::Vector2 (140 .0f , 35 .0f * items.size ()));
83- popup_.SetContent (content);
88+ Prepare (items);
89+
8490 popup_.SetDisplayState (Dali::Toolkit::Popup::SHOWN);
8591 actor->Add (popup_);
8692}
0 commit comments