버튼 이벤트를 통하여 라벨 텍스트를 바꾸는 법
//~Form.cpp를 불러온다.
#include "EventAppForm.h"
#include "AppResourceId.h"
using namespace Tizen::Base;
using namespace Tizen::App;
using namespace Tizen::Ui;
using namespace Tizen::Ui::Controls;
EventAppForm::EventAppForm(void)
{
}
EventAppForm::~EventAppForm(void)
{
}
bool
EventAppForm::Initialize(void)
{
result r = Construct(IDL_FORM);
TryReturn(r == E_SUCCESS, false, "Failed to construct form");
return true;
}
result
EventAppForm::OnInitializing(void)
{
result r = E_SUCCESS;
// TODO: Add your initialization code here
// Setup back event listener
SetFormBackEventListener(this);
// Get a button via resource ID
Tizen::Ui::Controls::Button* pButtonOk = static_cast< Button* >(GetControl(IDC_BUTTON_OK));
if (pButtonOk != null)
{
pButtonOk->SetActionId(IDA_BUTTON_OK);
pButtonOk->AddActionEventListener(*this);
}
return r;
}
result
EventAppForm::OnTerminating(void)
{
result r = E_SUCCESS;
// TODO: Add your termination code here
return r;
}
void
EventAppForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
{
switch(actionId)
{
case IDA_BUTTON_OK:
{
AppLog("OK Button is clicked!\n");
//추가된 부분 (버튼 추가), GetControl에서 폼 위에 배치한 Label 객체를 불러옴
Label *pLabel = static_cast<Label*>(GetControl(L"IDC_LABEL1"));
//버튼이 눌린다면
if(pLabel!=null)
{
//라벨의 텍스트를 바꿈
pLabel->SetText(L"I'm Fine");
RequestRedraw();
}
}
break;
default:
break;
}
}
void
EventAppForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
{
UiApp* pApp = UiApp::GetInstance();
AppAssert(pApp);
pApp->Terminate();
}