2 * File: YesNoCheckPopup.cpp
5 * Created on December 12, 2012, 9:23 AM
8 #include "YesNoCheckPopup.h"
11 #include "popup_manager.h"
12 #include "PopupSerializer.h"
16 YesNoCheckPopup::~YesNoCheckPopup()
19 Renderer::CtrlPopupPtr YesNoCheckPopup::createPopup(
20 DPL::BinaryQueueAutoPtr data)
22 std::string title = PopupSerializer::getStringArg(*data);
23 std::string message = PopupSerializer::getStringArg(*data);
24 std::string checkboxLabel = PopupSerializer::getStringArg(*data);
25 Assert(data->Empty());
26 LogDebug("title: " << title << " message: " << message << " checkbox: " <<
28 Renderer::CtrlPopupPtr popup =
29 Renderer::PopupControllerSingleton::Instance().CreatePopup();
31 popup->SetTitle(title);
32 popup->Append(new Renderer::PopupObject::Label(message));
33 popup->Append(new Renderer::PopupObject::Check(checkboxLabel));
34 popup->Append(new Renderer::PopupObject::Button(YES_LABEL, POPUP_YES_VALUE));
35 popup->Append(new Renderer::PopupObject::Button(NO_LABEL, POPUP_NO_VALUE));
39 void YesNoCheckPopup::responseCallback(
40 const Renderer::AnswerCallbackData &answer)
42 bool result = (POPUP_YES_VALUE == answer.buttonAnswer);
43 DPL::BinaryQueue retValue;
44 PopupSerializer::appendArg(true, retValue);
45 PopupSerializer::appendArg(result, retValue);
46 LogDebug("Check state: " << answer.chackState);
47 PopupSerializer::appendArg(answer.chackState, retValue);
48 m_parent->response(retValue);