2 // Open Service Platform
\r
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
\r
5 // Licensed under the Flora License, Version 1.0 (the License);
\r
6 // you may not use this file except in compliance with the License.
\r
7 // You may obtain a copy of the License at
\r
9 // http://www.tizenopensource.org/license
\r
11 // Unless required by applicable law or agreed to in writing, software
\r
12 // distributed under the License is distributed on an AS IS BASIS,
\r
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
14 // See the License for the specific language governing permissions and
\r
15 // limitations under the License.
\r
18 #include "WifiDirectWpsModeForm.h"
\r
19 #include "WifiDirectFormMgr.h"
\r
20 #include "WifiDirectMainForm.h"
\r
22 using namespace Osp::Base;
\r
23 using namespace Osp::Base::Collection;
\r
24 using namespace Osp::Ui::Controls;
\r
25 using namespace Osp::Graphics;
\r
26 using namespace Osp::Ui;
\r
27 using namespace Osp::Net::Wifi;
\r
29 WifiDirectSetWpsForm::WifiDirectSetWpsForm(IList* pArgs):
\r
30 __pCheckButtonPinDisplay(null),
\r
31 __pCheckButtonPinKeypad(null),
\r
32 __pCheckButtonPushButton(null)
\r
34 String* pString = (String*) pArgs->GetAt(0);
\r
35 Osp::Base::Integer::Decode(*pString, (int&)__wpsConfigurationMode);
\r
36 pArgs->RemoveAt(0, true);
\r
39 WifiDirectSetWpsForm::~WifiDirectSetWpsForm(void)
\r
44 WifiDirectSetWpsForm::Initialize(void)
\r
46 Form::Construct(FORM_STYLE_NORMAL | FORM_STYLE_HEADER | FORM_STYLE_INDICATOR | FORM_STYLE_FOOTER);
\r
48 SetName(L"WifiDirectSetWpsForm");
\r
50 Header* pHeader = GetHeader();
\r
53 pHeader->SetStyle(HEADER_STYLE_TITLE);
\r
54 pHeader->SetTitleText(L"Preferred WPS");
\r
57 Footer* pFooter = GetFooter();
\r
60 pFooter->SetStyle(FOOTER_STYLE_BUTTON_TEXT);
\r
62 FooterItem footerItemDone;
\r
63 footerItemDone.Construct(ID_OPTION_DONE);
\r
64 footerItemDone.SetText("Done");
\r
65 pFooter->AddItem(footerItemDone);
\r
67 pFooter->SetBackButton();
\r
68 pFooter->AddActionEventListener(*this);
\r
71 SetFormBackEventListener(this);
\r
77 WifiDirectSetWpsForm::OnInitializing(void)
\r
79 Rectangle clientRect = GetClientAreaBounds();
\r
80 int checkButtonHeight = 100;
\r
81 int currentHeight = (clientRect.height - (3 * checkButtonHeight)) / 2;
\r
82 result r = E_SUCCESS;
\r
84 VerticalBoxLayout layout;
\r
85 layout.Construct(VERTICAL_DIRECTION_DOWNWARD);
\r
87 ScrollPanel* pScrollPanel = new ScrollPanel();
\r
88 pScrollPanel->Construct(layout, Rectangle(0, currentHeight, clientRect.width, 300));
\r
89 AddControl(*pScrollPanel);
\r
91 __pCheckButtonPinDisplay = new CheckButton;
\r
92 TryReturn(__pCheckButtonPinDisplay != null, E_FAILURE, "Not enough memory available");
\r
93 __pCheckButtonPinDisplay->Construct(Rectangle(0, currentHeight, clientRect.width, checkButtonHeight),
\r
94 CHECK_BUTTON_STYLE_RADIO, BACKGROUND_STYLE_DEFAULT, false, L"PIN Display", GROUP_STYLE_NONE);
\r
95 __pCheckButtonPinDisplay->AddActionEventListener(*this);
\r
96 pScrollPanel->AddControl(*__pCheckButtonPinDisplay);
\r
98 currentHeight += checkButtonHeight;
\r
100 __pCheckButtonPinKeypad = new CheckButton;
\r
101 TryReturn(__pCheckButtonPinKeypad != null, E_FAILURE, "Not enough memory available");
\r
102 __pCheckButtonPinKeypad->Construct(Rectangle(0, currentHeight, clientRect.width, checkButtonHeight),
\r
103 CHECK_BUTTON_STYLE_RADIO, BACKGROUND_STYLE_DEFAULT, false, L"PIN Keypad", GROUP_STYLE_NONE);
\r
104 __pCheckButtonPinKeypad->AddActionEventListener(*this);
\r
105 pScrollPanel->AddControl(*__pCheckButtonPinKeypad);
\r
107 currentHeight += checkButtonHeight;
\r
109 __pCheckButtonPushButton = new CheckButton;
\r
110 TryReturn(__pCheckButtonPushButton != null, E_FAILURE, "Not enough memory available");
\r
111 __pCheckButtonPushButton->Construct(Rectangle(0, currentHeight, clientRect.width, checkButtonHeight),
\r
112 CHECK_BUTTON_STYLE_RADIO, BACKGROUND_STYLE_DEFAULT, false, L"Push Button Configuration", GROUP_STYLE_NONE);
\r
113 __pCheckButtonPushButton->AddActionEventListener(*this);
\r
114 pScrollPanel->AddControl(*__pCheckButtonPushButton);
\r
116 RadioGroup* pRadioGroup = new RadioGroup();
\r
117 pRadioGroup->Construct();
\r
118 pRadioGroup->Add(*__pCheckButtonPinDisplay);
\r
119 pRadioGroup->Add(*__pCheckButtonPinKeypad);
\r
120 pRadioGroup->Add(*__pCheckButtonPushButton);
\r
121 AddControl(*pRadioGroup);
\r
123 if (__wpsConfigurationMode == WIFI_WPS_CONFIG_MODE_PIN_DISPLAY)
\r
124 pRadioGroup->SetSelectedItem(*__pCheckButtonPinDisplay);
\r
125 else if (__wpsConfigurationMode == WIFI_WPS_CONFIG_MODE_PIN_KEYPAD)
\r
126 pRadioGroup->SetSelectedItem(*__pCheckButtonPinKeypad);
\r
127 else if (__wpsConfigurationMode == WIFI_WPS_CONFIG_MODE_PBC)
\r
128 pRadioGroup->SetSelectedItem(*__pCheckButtonPushButton);
\r
136 WifiDirectSetWpsForm::OnTerminating(void)
\r
142 WifiDirectSetWpsForm::OnActionPerformed(const Osp::Ui::Control& source, int actionId)
\r
146 case ID_OPTION_DONE:
\r
148 WifiDirectMainForm* pWifiDirectMainForm = static_cast<WifiDirectMainForm*> (Osp::App::Application::GetInstance()->GetAppFrame()->GetFrame()->GetControl("WifiDirectMainForm"));
\r
149 WifiDirectFormMgr* pWifiDirectFormMgr = static_cast<WifiDirectFormMgr*> (Osp::App::Application::GetInstance()->GetAppFrame()->GetFrame()->GetControl("WifiDirectFormMgr"));
\r
151 if (__pCheckButtonPinDisplay->IsSelected())
\r
152 __wpsConfigurationMode = WIFI_WPS_CONFIG_MODE_PIN_DISPLAY;
\r
153 else if (__pCheckButtonPinKeypad->IsSelected())
\r
154 __wpsConfigurationMode = WIFI_WPS_CONFIG_MODE_PIN_KEYPAD;
\r
155 else if (__pCheckButtonPushButton->IsSelected())
\r
156 __wpsConfigurationMode = WIFI_WPS_CONFIG_MODE_PBC;
\r
158 pWifiDirectMainForm->SetWpsConfigurationMode(__wpsConfigurationMode);
\r
160 pWifiDirectFormMgr->SendUserEvent(WifiDirectFormMgr::REQUEST_MAIN_FORM, null);
\r
170 WifiDirectSetWpsForm::OnFormBackRequested(Osp::Ui::Controls::Form &source)
\r
172 WifiDirectFormMgr* pWifiDirectFormMgr = static_cast<WifiDirectFormMgr*> (Osp::App::Application::GetInstance()->GetAppFrame()->GetFrame()->GetControl("WifiDirectFormMgr"));
\r
173 pWifiDirectFormMgr->SendUserEvent(WifiDirectFormMgr::REQUEST_MAIN_FORM, null);
\r