AlertOneView.lua 2.11 KB
local AlertOneView = dialog.uinode("ui/AlertLayer.csb",import(".BaseView"))

function AlertOneView:ctor()
    AlertOneView.super.ctor(self);
end

function AlertOneView:show(msg,okFun,cancelFun)
    local scene = cc.Director:getInstance():getRunningScene()
    local inst = AlertOneView:create();
--    inst:align(display.CENTER,0,0);
--    inst:setPosition(cc.p(display.width/2,display.height/2));
    scene:addChild(inst, dialog.ZORDER_POP);

    local panel = inst:getChildByName("panel");
    panel:setScale(0.5);
    local scaleTo = cc.ScaleTo:create(0.2,1);
    panel:runAction(scaleTo);

    inst.msg = msg;
    inst.okFun = okFun;
    inst.cancelFun = cancelFun;

    inst:getChildByName("panel"):getChildByName("txt"):setString(msg);

    inst:init();

    return inst;
end

function AlertOneView:init()
    self:setContentSize(cc.size(display.width,display.height));
    ccui.Helper:doLayout(self);

    local btn_ok = self:getChildByName("panel"):getChildByName("btn_ok");
    btn_ok.fn = handler(self,self.onOk);
    btn_ok:addTouchEventListener(function(ref,type) self:onButtonClick(ref,type, btn_ok.fn)end);
    btn_ok:setPositionX(343);

    local btn_cancel = self:getChildByName("panel"):getChildByName("btn_cancel");
    btn_cancel.fn = handler(self,self.onCancel);
    btn_cancel:addTouchEventListener(function(ref,type) self:onButtonClick(ref,type, btn_cancel.fn)end);
    btn_cancel:setVisible(false);

    local btn_close = self:getChildByName("panel"):getChildByName("btn_close");
    btn_close.fn = handler(self,self.onCancel);
    btn_close:addTouchEventListener(function(ref,type) self:onButtonClick(ref,type, btn_close.fn)end);

    self.nodes[1] = {btn_close};
    self.nodes[2] = {btn_ok};
    self.nodeIndex = 2;
    self:updateSelectedState();
end

function AlertOneView:onOk()
    if self.okFun then
        self.okFun();
    end
    self:close();
end

function AlertOneView:onCancel()
    if self.cancelFun then
        self.cancelFun();
    end
    self:close();
end

--ؼ
function AlertOneView:onKeypadBack()
    if self.cancelFun then
        self.cancelFun();
    end
    self:close();
end

return AlertOneView