bool GameLoading::init() { if (Layer::init()) { loginUI = NodeGrid::create(); //将UILayer层加入到当前的场景 this->addChild(loginUI); Layout *m_pWidget = dynamic_cast<Layout*>(cocostudio::GUIReader::shareReader()->widgetFromJsonFile("login_1.json")); loginUI->addChild(m_pWidget); startBtn = dynamic_cast<Button*> (Helper::seekWidgetByName(m_pWidget, "btn_start")); startBtn->setPressedActionEnabled(true); startBtn->setBright(true); startBtn->addTouchEventListener(this, SEL_TouchEvent(&GameLoading::startGameTouchListener)); this->schedule(schedule_selector(GameLoading::doing), 0.0f, kRepeatForever, 1); _res = new CommonRes(); _res->load(); _waveAction = WaterWaveAction::create(10000, Size(200, 200)); loginUI->runAction(_waveAction); _lastUpdate = new struct timeval; setTouchMode(Touch::DispatchMode::ONE_BY_ONE); setTouchEnabled(true); return true; } return false; }
void CPetUI::updatePetList() { Widget* temp_pet_head_ = (Widget*)Helper::seekWidgetByName(m_pWidget, "PetHead_panel"); for (int i = 0;i<6;++i) { Widget* pet_head_ = temp_pet_head_->clone(); CheckBox* checbox_ = (CheckBox*)Helper::seekWidgetByName(pet_head_, "checkbox"); checbox_->setTag(i); checbox_->addTouchEventListener(this, SEL_TouchEvent(&CPetUI::clickCheckBox)); Text* qianghua_lv_ = (Text*)Helper::seekWidgetByName(pet_head_, "qianghua_lv"); qianghua_lv_->enableOutline( Color4B(1,46,13,255) ,2); Text* lv_ = (Text*)Helper::seekWidgetByName(pet_head_, "lv"); qianghua_lv_->enableOutline( Color4B(0,0,0,255) ,2); if (i == 0) { checbox_->setSelectedState(true); clickCheckBox(checbox_,TOUCH_EVENT_ENDED); } m_listView_pet->pushBackCustomItem(pet_head_); } }
void CScrollList::SetCurGroup(string strGroupName) { bool bExist = false; if (GetGroup(strGroupName) == NULL) { GroupInfo group = {strGroupName, NULL, NULL, 0, true}; group.pGroupTitle = gCtrlAllocator->LoadCtrl(m_nGroupBGID); if (group.pGroupTitle) { Text *pText = Text::create(strGroupName, "Helvetica", m_nFontSize); Size szTitle = group.pGroupTitle->getSize(); pText->setPosition(Point(szTitle.width / 2, szTitle.height / 2)); pText->setColor(Color3B(0xEA, 0xC1, 0x84)); group.pGroupTitle->addChild(pText); group.pGroupTitle->setAnchorPoint(Point(0.5, 1.f)); group.pGroupTitle->setTag(m_vtrGroupInfo.size()); group.pGroupTitle->setTouchEnabled(true); group.pGroupTitle->addTouchEventListener(m_bGourpBGClickable ? this : 0, SEL_TouchEvent(&CScrollList::ClickGroupTitle)); addChild(group.pGroupTitle); m_vtrGroupInfo.push_back(group); m_strCurGroup = strGroupName; LayOut(); } } }
bool CMailUI::onInit() { do { BREAK_IF(!GameUI::onInit()); Button *pCloseBtn = (Button*)Helper::seekWidgetByName(m_pWidget, "close_btn"); BREAK_IF(pCloseBtn==NULL); pCloseBtn->setButtonSpriteGray(); pCloseBtn->addTouchEventListener(this, SEL_TouchEvent(&CMailUI::clickCloseButton)); Button *pDeleteReadBtn = (Button*)Helper::seekWidgetByName(m_pWidget, "del_btn"); BREAK_IF(pDeleteReadBtn==NULL); pDeleteReadBtn->setButtonSpriteGray(); pDeleteReadBtn->addTouchEventListener(this, SEL_TouchEvent(&CMailUI::clickDeleteReadButton)); Button *pGetAllBtn = (Button*)Helper::seekWidgetByName(m_pWidget, "getAll_btn"); BREAK_IF(pGetAllBtn==NULL); pGetAllBtn->setButtonSpriteGray(); pGetAllBtn->addTouchEventListener(this, SEL_TouchEvent(&CMailUI::clickGetAllButton)); m_get_award_btn = (Button*)Helper::seekWidgetByName(m_pWidget, "get_btn"); BREAK_IF(m_get_award_btn==NULL); m_get_award_btn->setButtonSpriteGray(); m_get_award_btn->addTouchEventListener(this, SEL_TouchEvent(&CMailUI::clickGetAwardButton)); m_get_award_btn->setVisible(false); auto temp_mail_list_ = (ListView*)(Helper::seekWidgetByName(m_pWidget, "mail_list")); mail_list_slider = dynamic_cast<Slider*>(Helper::seekWidgetByName(m_pWidget, "slider")); m_mail_content_txt = (Text*)(Helper::seekWidgetByName(m_pWidget, "content_text")); m_mail_title_txt = (Text*)(Helper::seekWidgetByName(m_pWidget, "title_text")); m_mail_title_txt->setColor(Color3B(222,209,164)); m_mail_award_srcoll = (ScrollView*)(Helper::seekWidgetByName(m_pWidget, "award_scroll")); m_mail_content_txt->setText(""); m_mail_title_txt->setText(""); m_mail_list = temp_mail_list_; m_mail_list->setItemsMargin(5); return true; } while (0); return false; }
bool LuckLayer::init() { CCLayer::init(); TouchGroup* m_pUiLayer = TouchGroup::create(); // UILayer *m_pUiLayer = UILayer::create(); addChild(m_pUiLayer); m_isFirstLucy = CCUserDefault::sharedUserDefault()->getBoolForKey("firstlucky",true); Layout* m_pPanel = dynamic_cast<Layout*>(GUIReader::shareReader()->widgetFromJsonFile("giftlayer/choujiang.json")); m_pUiLayer->addWidget(m_pPanel); UIImageView * item = dynamic_cast<UIImageView*> (m_pPanel->getChildByName("item")); for (int i = 0; i < 6;i++) { char name[40]; sprintf(name,"item%02d",i+1); m_items[i] = dynamic_cast<UIImageView*>(item->getChildByName(name)); } UIImageView * back = dynamic_cast<UIImageView*>(m_pPanel->getChildByName("back")); UIImageView * sure = dynamic_cast<UIImageView*>(m_pPanel->getChildByName("sure")); back->setVisible(false); m_label = dynamic_cast<UILabel*>(m_pPanel->getChildByName("tip")); m_light = dynamic_cast<UIImageView*>(m_pPanel->getChildByName("light")); m_label->setText(_text("tip")); back->addTouchEventListener(this, SEL_TouchEvent(&LuckLayer::onBackClick)); sure->addTouchEventListener(this, SEL_TouchEvent(&LuckLayer::onSureClick)); m_awardIndex = -1; m_interval = 0.0; m_totalTime = 5.0; return true; }
bool GamePromptCenter::initSystemIcons() { Button* pBtn = NULL; pBtn = (Button*)gCtrlAllocator->LoadCtrl("Team_Menu"); m_Icons.push_back(make_pair(pBtn,false)); setIconMailMsgNum(0); pBtn = (Button*)gCtrlAllocator->LoadCtrl("Team_Menu"); m_Icons.push_back(make_pair(pBtn,false)); pBtn = (Button*)gCtrlAllocator->LoadCtrl("Team_Menu"); m_Icons.push_back(make_pair(pBtn,false)); pBtn = (Button*)gCtrlAllocator->LoadCtrl("Team_Menu"); m_Icons.push_back(make_pair(pBtn,false)); GetIconTeam()->setPosition(Point(340,0)); setIconTeamMsgNum(0); GetIconChat()->setVisible(false); GetIconMail()->setVisible(false); GetIconTrade()->setVisible(false); m_pIconsFrame->addChild(GetIconMail()); m_pIconsFrame->addChild(GetIconChat()); m_pIconsFrame->addChild(GetIconTeam()); m_pIconsFrame->addChild(GetIconTrade()); GetIconMail()->addTouchEventListener(this, SEL_TouchEvent(&GamePromptCenter::onIconMailClicked)); GetIconChat()->addTouchEventListener(this, SEL_TouchEvent(&GamePromptCenter::onIconChatClicked)); GetIconTeam()->addTouchEventListener(this, SEL_TouchEvent(&GamePromptCenter::onIconTeamClicked)); GetIconTrade()->addTouchEventListener(this, SEL_TouchEvent(&GamePromptCenter::onIconTradeClicked)); return true; }
bool ChatMainUI::onInit() { if (!GameUI::onInit()) { return false; } Widget *pMain = Helper::seekWidgetByName(m_pWidget, "MsgParent"); //最近消息 m_pListBG = Helper::seekWidgetByName(m_pWidget, "Image_list"); m_pLastMsgs = CScrollTable::create(false, "RecentChatBtn"); m_pLastMsgs->setSize(Size(714, 196)); m_pLastMsgs->setPosition(Point(0,0)); m_pLastMsgs->SetFontSize(16); m_pLastMsgs->SetSelectEvent(this, SEL_SelListIndexEvent(&ChatMainUI::clickLatestMenu)); m_pLastMsgs->SetFormat(TCT_NODE_PTR, 10, 0.5, 0.5,TCT_NONE); m_pListBG->addChild(m_pLastMsgs); m_pListBG->setEnabled(false); m_pNewMsgSign = Helper::seekWidgetByName(m_pWidget,"NewMsgCome"); m_pNewMsgSign->setEnabled(false); Button *pClose = (Button*)Helper::seekWidgetByName(m_pWidget, "Button_Exit"); Button *pSend = (Button*)Helper::seekWidgetByName(m_pWidget, "Button_Send"); m_pLatest = (Button*)Helper::seekWidgetByName(m_pWidget, "Button_LatestMsgs"); m_pVoice = (Button*)Helper::seekWidgetByName(m_pWidget, "Button_Voice"); pClose->addTouchEventListener(this, SEL_TouchEvent(&ChatMainUI::clickExit)); pSend->addTouchEventListener(this, SEL_TouchEvent(&ChatMainUI::clickSendMsg)); m_pLatest->addTouchEventListener(this, SEL_TouchEvent(&ChatMainUI::clickLatestMsg)); m_pVoice->addTouchEventListener(this, SEL_TouchEvent(&ChatMainUI::clickVoice)); m_pInput = (TextField*)Helper::seekWidgetByName(m_pWidget, "TextField_MsgInput"); m_pInput->addEventListenerTextField(this, SEL_TextFieldEvent(&ChatMainUI::InputText)); m_pInput->setVisible(false); m_pDisplayedInput = RichText::create(); m_pDisplayedInput->ignoreContentAdaptWithSize(true); m_pDisplayedInput->setPosition(m_pInput->getPosition()); m_pScrollEditBox = ScrollEditBox::create(m_pDisplayedInput); m_pScrollEditBox->setSize(m_pInput->getSize()); m_pScrollEditBox->setPosition(Point(10, 10)); m_pInput->getParent()->addChild(m_pScrollEditBox); // 光标 m_pCursor = Text::create(); m_pCursor->setFontSize(25); m_pCursor->setText("I"); m_pCursor->runAction(RepeatForever::create(Blink::create(1.0f, 1))); m_pCursor->retain(); //表情 Button* pBtnExpression = (Button*)Helper::seekWidgetByName(m_pWidget,"Button_Expression"); m_pExpressionUI = Helper::seekWidgetByName(m_pWidget,"Expression"); pBtnExpression->addTouchEventListener(this,toucheventselector(ChatMainUI::showExpression)); m_pExpressionUI->setEnabled(false); int i=0; while (true) { Button* pExpresstionItem = (Button*)Helper::seekWidgetByName(m_pExpressionUI,CCString::createWithFormat("E_%d",i)->getCString()); if(!pExpresstionItem) break; pExpresstionItem->setTag(i+1); pExpresstionItem->addTouchEventListener(this,toucheventselector(ChatMainUI::clickExpressionItem)); i++; } m_pMsgWind = CScrollMsgWindow::create(); m_pMsgWind->SetLineInterval(20); m_pMsgWind->setSize(Size(1044, 358)); m_pMsgWind->setPosition(Point(0, 0)); m_pMsgWind->SetTouchNameListenner(this, (SEL_TouchNameLinkEvent)&ChatMainUI::clickNameLink); m_pMsgWind->SetTouchItemListenner(this, (SEL_TouchItemLinkEvent)&ChatMainUI::clickItemLink); pMain->addChild(m_pMsgWind); Widget* pChanelBg = Helper::seekWidgetByName(m_pWidget,"ChannelList"); Button* pLeft = (Button*)Helper::seekWidgetByName(m_pWidget,"TurnLeft"); Button* pRight = (Button*)Helper::seekWidgetByName(m_pWidget,"TurnRight"); m_pChanelMenu = CScrollMenu::create(pChanelBg->getSize()); m_pChanelMenu->setDirection(SCROLLVIEW_DIR_HORIZONTAL); m_pChanelMenu->setLeftBtn(pLeft); m_pChanelMenu->setRightBtn(pRight); m_pChanelMenu->setInterval(6.0f); m_pChanelMenu->setButtonSize(Size(127,58)); m_pChanelMenu->SetSelectEvent(this,SEL_SelectIndexEvent(&ChatMainUI::clickTab)); pChanelBg->addChild(m_pChanelMenu); //增加5个固定频道 CheckBox* pBox = (CheckBox*)gCtrlAllocator->LoadCtrl(CCString::createWithFormat("CheckBox_Ch1")->getCString()); m_pChanelMenu->addMenu(pBox); pBox = (CheckBox*)gCtrlAllocator->LoadCtrl(CCString::createWithFormat("CheckBox_Ch5")->getCString()); m_pChanelMenu->addMenu(pBox); //pBox = (CheckBox*)gCtrlAllocator->LoadCtrl(CCString::createWithFormat("CheckBox_Ch2")->getCString()); //m_pChanelMenu->addMenu(pBox); //pBox = (CheckBox*)gCtrlAllocator->LoadCtrl(CCString::createWithFormat("CheckBox_Ch3")->getCString()); //m_pChanelMenu->addMenu(pBox); pBox = (CheckBox*)gCtrlAllocator->LoadCtrl(CCString::createWithFormat("CheckBox_Ch8")->getCString()); m_pChanelMenu->addMenu(pBox); m_showingChannels.push_back(ChannelType_World); m_showingChannels.push_back(ChannelType_System); //m_showingChannels[2] = ChannelType_Guild; //m_showingChannels[3] = ChannelType_Team; m_showingChannels.push_back(ChannelType_Team_Msg); m_pChanelMenu->clickButton(0); return true; }
bool CPetUI::onInit() { do { BREAK_IF(!GameUI::onInit()); Button *pBack_btn = (Button*)Helper::seekWidgetByName(m_pWidget, "back_btn"); BREAK_IF(pBack_btn==NULL); pBack_btn->setButtonSpriteGray(); pBack_btn->addTouchEventListener(this, SEL_TouchEvent(&CPetUI::clickBackButton)); m_BackButton_btn_2 = (Button*)Helper::seekWidgetByName(m_pWidget, "back2_btn"); BREAK_IF(m_BackButton_btn_2==NULL); m_BackButton_btn_2->setButtonSpriteGray(); m_BackButton_btn_2->addTouchEventListener(this, SEL_TouchEvent(&CPetUI::clickSwitch)); m_BackButton_btn_2->setTag(1001); m_Qianghua_btn = (Button*)Helper::seekWidgetByName(m_pWidget, "qianghua_btn"); BREAK_IF(m_Qianghua_btn==NULL); m_Qianghua_btn->setButtonSpriteGray(); m_Qianghua_btn->addTouchEventListener(this, SEL_TouchEvent(&CPetUI::clickSwitch)); m_Qianghua_btn->setTag(1002); m_Tianshu_btn = (Button*)Helper::seekWidgetByName(m_pWidget, "tianshu_btn"); BREAK_IF(m_Tianshu_btn==NULL); m_Tianshu_btn->setButtonSpriteGray(); m_Tianshu_btn->addTouchEventListener(this, SEL_TouchEvent(&CPetUI::clickTianshuButton)); m_Qianghua_btn_2 = (Button*)Helper::seekWidgetByName(m_pWidget, "qianghua2_btn"); BREAK_IF(m_Qianghua_btn_2==NULL); m_Qianghua_btn_2->setButtonSpriteGray(); m_Qianghua_btn_2->addTouchEventListener(this, SEL_TouchEvent(&CPetUI::clickQianghuaButton)); m_attribute_panel = (ImageView*)Helper::seekWidgetByName(m_pWidget, "bg_img_3"); m_qianghua_panel = (ImageView*)Helper::seekWidgetByName(m_pWidget, "bg_img_4"); m_attribute_panel->setVisible(true); m_Tianshu_btn->setTouchEnabled(true); m_Qianghua_btn->setTouchEnabled(true); m_qianghua_panel->setVisible(false); m_Qianghua_btn_2->setTouchEnabled(false); m_BackButton_btn_2->setTouchEnabled(false); // 宠物列表 m_listView_pet = (ListView*)Helper::seekWidgetByName(m_pWidget, "listView_pet"); // 基本属性列表 m_listView_attribute = (ListView*)Helper::seekWidgetByName(m_pWidget, "listView_attribute"); // 强化属性列表 m_attr_list = (ListView*)Helper::seekWidgetByName(m_pWidget, "attr_list"); updatePetList(); updateAttributePanel(); updateQianghuaPanel(); return true; } while (0); return false; }
TanSuoLayer::TanSuoLayer() { m_nFontSize = 24; m_nMaxCountDestroy = 3; m_bIsJieFeng = false; m_nSelectProId = -1; mBg = BaseSprite::create("xunbao_bg.png"); addChild(mBg); mBg->setPosition(ccp(mWinSize.width/2, mBg->getContentSize().height/2)); mMainMenu = CCMenu::create(); mBg->addChild(mMainMenu, 10); mMainMenu->setPosition(ccp(0,0)); CCMenuItemImage *yijian = CCMenuItemImage::create( "xunbao_anniu_yijianxunbao.png", "xunbao_anniu_yijianxunbao_select.png", this, menu_selector(TanSuoLayer::menuItemClicked_TanSuo)); mMainMenu->addChild(yijian, 0, Tag_MenuItem_YiJianTanSuo); yijian->setPosition(ccp(548,mBg->getContentSize().height-674)); Button *tansuo = Button::create(); tansuo->loadTextures("xunbao_anniu_xunbao.png","xunbao_anniu_xunbao_select.png","xunbao_anniu_xunbao_select.png",UI_TEX_TYPE_LOCAL); /*CCMenuItemImage *tansuo = CCMenuItemImage::create( "xunbao_anniu_xunbao.png", "xunbao_anniu_xunbao_select.png", this, menu_selector(TanSuoLayer::menuItemClicked_TanSuo));*/ tansuo->addTouchEventListener(this,SEL_TouchEvent(&TanSuoLayer::clickXunBao)); UILayer* layer = UILayer::create(); layer->ignoreAnchorPointForPosition(false); layer->setContentSize(tansuo->getContentSize()); layer->setAnchorPoint(ccp(0.5,0.5)); layer->addWidget(tansuo); layer->setPosition(320,mBg->getContentSize().height-674);//以前cpp(x,y) 现在左边 都是Point 比如颜色 ccWHITE 也改成了Color3B::WHITE mBg->addChild(layer); tansuo->setPosition(ccp(tansuo->getContentSize().width / 2 , tansuo->getContentSize().height / 2)); m_sXunBaoSpr = CCSprite::create("xunbao_anniu_xunbao_xiaoguo.png"); m_sXunBaoSpr->setPosition(ccp(320,mBg->getContentSize().height-674)); mBg->addChild(m_sXunBaoSpr); m_sXunBaoSpr->runAction(CCRepeatForever::create(CCSequence::create(CCFadeOut::create(1.0f),CCFadeIn::create(1.0f),NULL))); //mMainMenu->addChild(tansuo, 0, Tag_MenuItem_TanSuo); //tansuo->setPosition(ccp(320,mBg->getContentSize().height-674)); { CCMenuItemImage *jiefen = CCMenuItemImage::create( "xunbao_anniu_jiechufengyin.png", "xunbao_anniu_jiechufengyin_select.png", this, menu_selector(TanSuoLayer::menuItemClicked_TanSuo)); mMainMenu->addChild(jiefen, 0, Tag_MenuItem_JieFen); jiefen->setPosition(ccp(320,mBg->getContentSize().height-437)); jiefen->setVisible(false); CCSprite *img = CCSprite::create("xunbao_anniu_jiechufengyin_xiaoguo.png"); jiefen->addChild(img); img->setPosition(ccp(jiefen->getContentSize().width/2, jiefen->getContentSize().height/2)); img->runAction(CCRepeatForever::create(CCSequence::create( CCFadeTo::create(1, 50), CCFadeTo::create(1, 255), NULL))); } mMainMenu->setVisible(false); //title CCLabelTTF *tilte = CCLabelTTF::create(LFStrings::getValue("XunBaoShuoMing").c_str(), fontStr_kaiti, m_nFontSize); mBg->addChild(tilte); tilte->setColor(fonColor_PuTong); tilte->setPosition(ccp(mBg->getContentSize().width/2, mBg->getContentSize().height-110)); //2 CCLabelTTF *la1 = CCLabelTTF::create(LFStrings::getValue("XunBaoJieFeng").c_str(), fontStr_kaiti, m_nFontSize); mBg->addChild(la1); la1->setAnchorPoint(ccp(0, 0.5)); la1->setColor(fonColor_CiYao); la1->setPosition(ccp(134, mBg->getContentSize().height-140)); CCLabelTTF *la2 = CCLabelTTF::create((LFStrings::getValue("shenbing")+LFStrings::getValue("zhuangbei")).c_str() , fontStr_kaiti, m_nFontSize); la1->addChild(la2); la2->setColor(ImageManager::getManager()->getShowColor(ZhuangbeiColour_Chuanqi, false, false)); la2->setPosition(ccp(la1->getContentSize().width+la2->getContentSize().width/2, la1->getContentSize().height/2)); la1->setPositionX((mBg->getContentSize().width-la1->getContentSize().width-la2->getContentSize().width)/2); }
void CMailUI::updateMailList() { string pathMailIcon[3] = {"assets/ui/mail/ico_youxiang1.png","assets/ui/mail/ico_youxiang2.png","assets/ui/mail/ico_youxiang3.png"}; CheckBox* default_select_mail_item_ = nullptr; m_select_mail_item = nullptr; m_mail_list->removeAllItems(); m_mail_id_vec.clear(); m_mail_award_srcoll->removeAllChildren(); m_mail_content_txt->setText(""); m_mail_title_txt->setText(""); auto mail_list_ = gDataPool->getMailList(); for (size_t i = 0;i<mail_list_.size();i++) { auto temp_mail_item_ = mail_list_[i]; auto mail_item_temp_ = createMailItem(); auto mail_checkbox_ = (CheckBox*)Helper::seekWidgetByName(mail_item_temp_, "checkbox"); mail_checkbox_->setTag(i); m_mail_id_vec.push_back(temp_mail_item_.mailId); mail_checkbox_->addTouchEventListener(this, SEL_TouchEvent(&CMailUI::clickCheckBoxMail)); if (i == 0) { default_select_mail_item_ = mail_checkbox_; } auto isReaded = temp_mail_item_.mailReadState; // 已读标记 0未读 1已读 2已领取 auto isAwarded = temp_mail_item_.vec.size() == 0 ? 0:1; // 是否有附件 0没有 1有 if (temp_mail_item_.money>0) { isAwarded = 1; } auto mail_title_label_ = (Text*)Helper::seekWidgetByName(mail_item_temp_, "title_label"); mail_title_label_->setText(temp_mail_item_.mailSendName); auto mail_content_label_ = (Text*)Helper::seekWidgetByName(mail_item_temp_, "content_label"); mail_content_label_->setText(temp_mail_item_.mailTitle); auto head_img_ = (ImageView*)Helper::seekWidgetByName(mail_item_temp_, "head_img"); if (isReaded == 0) { head_img_->loadTexture(pathMailIcon[0]); }else if(isReaded == 1 && isAwarded == 1) { head_img_->loadTexture(pathMailIcon[1]); }else { head_img_->loadTexture(pathMailIcon[2]); } if (isReaded == 0 || (isReaded == 1&&isAwarded == 1)) { mail_title_label_->setColor(Color3B(56,241,13)); mail_content_label_->setColor(Color3B(255,255,255)); }else { mail_title_label_->setColor(Color3B(112,128,144)); mail_content_label_->setColor(Color3B(112,128,144)); } m_mail_list->pushBackCustomItem(mail_item_temp_); } if (default_select_mail_item_ != nullptr) { default_select_mail_item_->setSelectedState(true); clickCheckBoxMail(default_select_mail_item_,TOUCH_EVENT_ENDED); } mail_list_slider->setList(m_mail_list, Slider::ListType::LISTVIEW_TYPE); }
Widget* CScrollList::AddItem(const char* strCaption, long long nUserData) { Widget *pBox = NULL; pBox = gCtrlAllocator->LoadCtrl(m_nItemBGID); if (!pBox) return NULL; pBox->setSize(Size(_size.width, pBox->getSize().height)); if (m_bItemSelectable) { ((CheckBox*)pBox)->addEventListenerCheckBox(this, SEL_SelectedStateEvent(&CScrollList::ClickButton)); } else { ((Button*)pBox)->addTouchEventListener(this, SEL_TouchEvent(&CScrollList::ClickButton)); } Text *pText = Text::create(); pText->setFontSize(m_nFontSize); pText->setSize(Size(_size.width, pBox->getSize().height)); pText->ignoreContentAdaptWithSize(false); pText->setTag(999); pText->setColor(m_clrTextNormal); pText->setText(strCaption); pText->setTextAreaSize(pText->getSize()); pText->setTextHorizontalAlignment(m_textAlign); pText->setTextVerticalAlignment(TextVAlignment::CENTER); pText->setPosition(Point(getSize().width / 2, pBox->getSize().height / 2)); if (!m_bTextShadow)((Label*)pText->getVirtualRenderer())->disableEffect(); pBox->addChild(pText); pBox->setAnchorPoint(Point(0.0f, 1.0f)); addChild(pBox); // 先将设定新行在组里面的信息 int nGlobalIndex = m_vtrButtons.size(); GroupInfo *pGroup = GetGroup(m_strCurGroup); if (pGroup) { if (pGroup->pStartItem == NULL) { pGroup->pStartItem = pBox; } else { nGlobalIndex = find(m_vtrButtons.begin(), m_vtrButtons.end(), pGroup->pStartItem) - m_vtrButtons.begin() + pGroup->nItemNum; } pGroup->nItemNum++; } // 再根据组的信息插入到该组最后一个位置 //m_vtrButtons.insert(nGlobalIndex, pBox); m_vtrButtons.insert(m_vtrButtons.begin()+nGlobalIndex,pBox); m_vtrUserData.insert(m_vtrUserData.begin() + nGlobalIndex, nUserData); LayOut(); return pBox; }