bool LevelManager::init() { if (!Layer::init()) { return false; } Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Director::getInstance()->getVisibleOrigin(); _selectedLevelIndex = 0; auto pageView = PageView::create(); pageView->setContentSize(Size(480.0f,320.0f)); pageView->setAnchorPoint(Vec2(0.5,0.5)); pageView->setPosition(Vec2(visibleSize.width/2,visibleSize.height/2)); for (int i = 0; i < 3;++i) { Layout* layout = Layout::create(); layout->setContentSize(Size(480.0f,320.0f)); ImageView* _imageView = ImageView::create(StringUtils::format("preview%d.png",i+1)); _imageView->setContentSize(Size(480.0f,320.0f)); _imageView->setPosition(Vec2(layout->getContentSize().width/2.f,layout->getContentSize().height/2.f)); layout->addChild(_imageView); pageView->insertPage(layout,i); } pageView->addEventListener([=](Ref* pSender,PageView::EventType type){ switch (type) { case PageView::EventType::TURNING: { PageView* pageView = dynamic_cast<PageView*>(pSender); _selectedLevelIndex = pageView->getCurPageIndex(); } break; default: break; } }); this->addChild(pageView,1); auto start_button = Button::create("btn-start.png"); start_button->setPosition(Vec2(visibleSize.width/2,visibleSize.height*0.2)); start_button->addTouchEventListener([=](Ref* pSender, Widget::TouchEventType type) { if (type==Widget::TouchEventType::ENDED) { auto transition = TransitionSlideInR::create(1.5,GameScene::createSceneWithLevel(++_selectedLevelIndex)); Director::getInstance()->pushScene(transition); } }); this->addChild(start_button, 1); return true; }
void GateSelect::pageViewEvent(Ref *pSender, PageView::EventType type) { switch (type) { case PageView::EventType::TURNING: { PageView* pageView = dynamic_cast<PageView*>(pSender); this->txtGroup->setString(StringUtils::format("卡组%d",int(pageView->getCurPageIndex()+1))); tabBar->setIndex(int(pageView->getCurPageIndex())); // Layout* subPage=pageView->getPage(int(pageView->getCurPageIndex())); // for(int i=0;i<5;i++) // { // ImageView* img=static_cast<ImageView*>(subPage->getChildByName("img_"+Value((i+1)).asString())); // ImageView* icon=(ImageView*)img->getChildByName("icon"); // if (i<pGroup.npcid_size() && pGroup.npcid(i)!=0) { // PNpc* pNpc=Manager::getInstance()->getNpc(pGroup.npcid(j)); // XRole* xRole=XRole::record(Value(pNpc->spriteid())); // icon->loadTexture("face_"+Value(xRole->getId()).asString()+".png"); // img->loadTexture("frame_"+Value(Manager::getInstance()->Qualitys[pNpc->quality()].color).asString()+".png"); // } // icon->setVisible(j<pGroup.npcid_size() && pGroup.npcid(j)!=0); // // } } break; default: break; } }
void ScrollHandler::goToNextPage() { XOJ_CHECK_TYPE(ScrollHandler); if (this->control->getWindow()) { if (this->control->getSettings()->isPresentationMode()) { PageView* view = this->control->getWindow()->getXournal()->getViewFor(this->control->getWindow()->getXournal()->getCurrentPage() + 1); if (view) { double dHeight = view->getDisplayHeight(); double disHeight = this->control->getWindow()->getLayout()->getDisplayHeight(); //this gets reversed when we are going down if the page is smaller than the display height double top = (-dHeight + disHeight)/2.0 - 7.5; //the magic 7.5 is from XOURNAL_PADDING_BETWEEN/2 scrollToPage(this->control->getWindow()->getXournal()->getCurrentPage() + 1, top); } } else { scrollToPage(this->control->getWindow()->getXournal()->getCurrentPage() + 1); } } }
static int lua_cocos2dx_PageView_addEventListenerPageView(lua_State* L) { if (nullptr == L) return 0; int argc = 0; PageView* self = nullptr; #if COCOS2D_DEBUG >= 1 tolua_Error tolua_err; if (!tolua_isusertype(L,1,"ccui.PageView",0,&tolua_err)) goto tolua_lerror; #endif self = static_cast<PageView*>(tolua_tousertype(L,1,0)); #if COCOS2D_DEBUG >= 1 if (nullptr == self) { tolua_error(L,"invalid 'self' in function 'lua_cocos2dx_PageView_addEventListenerPageView'\n", NULL); return 0; } #endif argc = lua_gettop(L) - 1; if (1 == argc) { #if COCOS2D_DEBUG >= 1 if (!toluafix_isfunction(L,2,"LUA_FUNCTION",0,&tolua_err) ) { goto tolua_lerror; } #endif LuaCocoStudioEventListener* listener = LuaCocoStudioEventListener::create(); if (nullptr == listener) { tolua_error(L,"LuaCocoStudioEventListener create fail\n", NULL); return 0; } LUA_FUNCTION handler = ( toluafix_ref_function(L,2,0)); ScriptHandlerMgr::getInstance()->addObjectHandler((void*)listener, handler, ScriptHandlerMgr::HandlerType::STUDIO_EVENT_LISTENER); self->setUserObject(listener); self->addEventListenerPageView(listener, pagevieweventselector(LuaCocoStudioEventListener::eventCallbackFunc)); return 0; } CCLOG("'addEventListenerPageView' function of PageView has wrong number of arguments: %d, was expecting %d\n", argc, 1); return 0; #if COCOS2D_DEBUG >= 1 tolua_lerror: tolua_error(L,"#ferror in function 'addEventListenerPageView'.",&tolua_err); return 0; #endif }
void MultiPageLayout::addPage( Page * page, int pageIndex, PagePosition position ) { PageView *view = new PageView(page); view->setSceneRect(0,0,page->width(),page->height()); int fromCol, columnSpan; switch(position) { case SinglePage: fromCol = 2; columnSpan = 2; break; case DoublePageFirst: fromCol = 2; columnSpan = 1; break; case DoublePageSecond: fromCol = 3; columnSpan = 1; break; } view->setZoom(zoom); connect(this,SIGNAL(zoomChanged(double)),view,SLOT(setZoom(double))); addWidget( view , 1, fromCol, 1, columnSpan, Qt::AlignCenter ); PageControlWidget *control = new PageControlWidget(book, page); addWidget(control,2,fromCol,1,columnSpan, Qt::AlignCenter); switch(position) { case SinglePage: case DoublePageFirst: if(bSwapDirection) { connect(control,SIGNAL(addPage()),this,SLOT(addPageAfterSecond())); connect(control,SIGNAL(removePage()),this,SLOT(removeSecondPage())); connect(control,SIGNAL(addPageFromTemplate(LayoutTemplate*)),this,SLOT(addPageAfterSecond(LayoutTemplate*))); } else { connect(control,SIGNAL(addPage()),this,SLOT(addPageAfterFirst())); connect(control,SIGNAL(removePage()),this,SLOT(removeFirstPage())); connect(control,SIGNAL(addPageFromTemplate(LayoutTemplate*)),this,SLOT(addPageAfterFirst(LayoutTemplate*))); } break; case DoublePageSecond: if(bSwapDirection) { connect(control,SIGNAL(addPage()),this,SLOT(addPageAfterFirst())); connect(control,SIGNAL(removePage()),this,SLOT(removeFirstPage())); connect(control,SIGNAL(addPageFromTemplate(LayoutTemplate*)),this,SLOT(addPageAfterFirst(LayoutTemplate*))); } else {
void XournalView::resetShapeRecognizer() { XOJ_CHECK_TYPE(XournalView); for (size_t i = 0; i < this->viewPagesLen; i++) { PageView* v = this->viewPages[i]; v->resetShapeRecognizer(); } }
void EventBoard::pageViewEvent(Ref *pSender, PageViewEventType type) { auto btnBtn1 = dynamic_cast<Button*>(_UINode->getChildByName(EVENTBOARD_BUTTON1)); auto btnBtn2 = dynamic_cast<Button*>(_UINode->getChildByName(EVENTBOARD_BUTTON2)); auto btnBtn3 = dynamic_cast<Button*>(_UINode->getChildByName(EVENTBOARD_BUTTON3)); switch (type) { case cocos2d::ui::PAGEVIEW_EVENT_TURNING: { PageView* pageView = dynamic_cast<PageView*> (pSender); int iPage=pageView->getCurPageIndex(); if (iPage >= MAXPAGE) break; if (iPage == 0) { btnBtn1->loadTextures(EVENTBOARD_BTN_ON, EVENTBOARD_BTN_ON, EVENTBOARD_BTN_ON); btnBtn2->loadTextures(EVENTBOARD_BTN_OFF, EVENTBOARD_BTN_OFF, EVENTBOARD_BTN_OFF); btnBtn3->loadTextures(EVENTBOARD_BTN_OFF, EVENTBOARD_BTN_OFF, EVENTBOARD_BTN_OFF); int iNews1 = atoi(DataAccess::getParamValue("NewsTweebotRead", "0").c_str()); if (iNews1 == 0) { playAni(); } else disableAni(); } else if (iPage==1) { btnBtn1->loadTextures(EVENTBOARD_BTN_OFF, EVENTBOARD_BTN_OFF, EVENTBOARD_BTN_OFF); btnBtn2->loadTextures(EVENTBOARD_BTN_ON, EVENTBOARD_BTN_ON, EVENTBOARD_BTN_ON); btnBtn3->loadTextures(EVENTBOARD_BTN_OFF, EVENTBOARD_BTN_OFF, EVENTBOARD_BTN_OFF); int iNews2 = atoi(DataAccess::getParamValue("NewsSlotRead", "0").c_str()); if (iNews2 == 0) { playAni(); } else disableAni(); } else if (iPage == 2) { btnBtn1->loadTextures(EVENTBOARD_BTN_OFF, EVENTBOARD_BTN_OFF, EVENTBOARD_BTN_OFF); btnBtn2->loadTextures(EVENTBOARD_BTN_OFF, EVENTBOARD_BTN_OFF, EVENTBOARD_BTN_OFF); btnBtn3->loadTextures(EVENTBOARD_BTN_ON, EVENTBOARD_BTN_ON, EVENTBOARD_BTN_ON); int iNews3 = atoi(DataAccess::getParamValue("News10000Read", "0").c_str()); if (iNews3 == 0) { playAni(); } else disableAni(); } } break; default: break; } }
PageView* PageView::create() { PageView* widget = new PageView(); if (widget && widget->init()) { widget->autorelease(); return widget; } CC_SAFE_DELETE(widget); return nullptr; }
bool XournalView::searchTextOnPage(string text, size_t p, int* occures, double* top) { XOJ_CHECK_TYPE(XournalView); if (p == size_t_npos || p >= this->viewPagesLen) { return false; } PageView* v = this->viewPages[p]; return v->searchTextOnPage(text, occures, top); }
bool XournalView::actionDelete() { XOJ_CHECK_TYPE(XournalView); size_t p = getCurrentPage(); if (p == size_t_npos || p >= viewPagesLen) { return false; } PageView* page = viewPages[p]; return page->actionDelete(); }
bool XournalView::paste() { XOJ_CHECK_TYPE(XournalView); int p = getCurrentPage(); if (p < 0 || p >= viewPagesLen) { return false; } PageView* page = viewPages[p]; return page->paste(); }
bool XournalView::searchTextOnPage(const char* text, int p, int* occures, double* top) { XOJ_CHECK_TYPE(XournalView); if (p < 0 || p >= this->viewPagesLen) { return false; } PageView* v = this->viewPages[p]; return v->searchTextOnPage(text, occures, top); }
void XournalView::endTextAllPages(PageView* except) { XOJ_CHECK_TYPE(XournalView); for (size_t i = 0; i < this->viewPagesLen; i++) { PageView* v = this->viewPages[i]; if (except != v) { v->endText(); } } }
int main(int argc, char *argv[]) { QApplication app(argc, argv); if (argc != 2) { fprintf(stderr, "Usage: runcible-open-ext-txt <file>"); return 1; } QString filename(argv[1]); QFile file(filename); QString suffix(QFileInfo(file).suffix()); qDebug() << "Loading" << filename; QString text; if (file.open(QIODevice::ReadOnly)) { qDebug() << "Opened"; text = file.readAll(); qDebug() << "Loaded"; } RWindow window; PageView display; window.layout()->addWidget(&display); qDebug() << "Added display."; QObject::connect(&display, SIGNAL(pageCountChanged(int)), &window, SLOT(showTimeline(int))); QObject::connect(&display, SIGNAL(pageChanged(int)), &window, SLOT(updateTimeline(int))); window.showMaximized(); QTextDocument doc; doc.setDefaultTextOption(QTextOption(Qt::AlignJustify)); doc.setMetaInformation(QTextDocument::DocumentUrl, QUrl::fromLocalFile(filename).toString()); if (suffix == "html") { doc.setHtml(text); } else { text.replace(QRegExp("([^\\r\\n])(\\r)?\\n([^\\n\\r])"), "\\1 \\3"); doc.setPlainText(text); } qDebug() << "Created doc."; display.setDocument(filename, &doc); qDebug() << "Set doc."; QObject::connect(&window, SIGNAL(back()), &app, SLOT(quit())); window.showMessage(doc.metaInformation(QTextDocument::DocumentTitle)); return app.exec(); }
static int lua_cocos2dx_PageView_addEventListener(lua_State* L) { if (nullptr == L) return 0; int argc = 0; PageView* self = nullptr; #if COCOS2D_DEBUG >= 1 tolua_Error tolua_err; if (!tolua_isusertype(L,1,"ccui.PageView",0,&tolua_err)) goto tolua_lerror; #endif self = static_cast<PageView*>(tolua_tousertype(L,1,0)); #if COCOS2D_DEBUG >= 1 if (nullptr == self) { tolua_error(L,"invalid 'self' in function 'lua_cocos2dx_PageView_addEventListener'\n", NULL); return 0; } #endif argc = lua_gettop(L) - 1; if (1 == argc) { #if COCOS2D_DEBUG >= 1 if (!toluafix_isfunction(L,2,"LUA_FUNCTION",0,&tolua_err) ) { goto tolua_lerror; } #endif LUA_FUNCTION handler = ( toluafix_ref_function(L,2,0)); self->addEventListener([=](cocos2d::Ref* ref,PageView::EventType eventType){ handleUIEvent(handler, ref, (int)eventType); }); ScriptHandlerMgr::getInstance()->addCustomHandler((void*)self, handler); return 0; } luaL_error(L, "'addEventListener' function of PageView has wrong number of arguments: %d, was expecting %d\n", argc, 1); return 0; #if COCOS2D_DEBUG >= 1 tolua_lerror: tolua_error(L,"#ferror in function 'addEventListener'.",&tolua_err); return 0; #endif }
PageView* PagePosition::getViewAt(int x, int y) { XOJ_CHECK_TYPE(PagePosition); for (GList* l = this->views; l != NULL; l = l->next) { PageView* v = (PageView*) l->data; if (v->containsPoint(x, y)) { return v; } } return NULL; }
void XournalView::scrollTo(size_t pageNo, double yDocument) { XOJ_CHECK_TYPE(XournalView); if (pageNo == size_t_npos || pageNo >= this->viewPagesLen) { return; } PageView* v = this->viewPages[pageNo]; Layout* layout = gtk_xournal_get_layout(this->widget); layout->ensureRectIsVisible(v->layout.getLayoutAbsoluteX(), v->layout.getLayoutAbsoluteY() + yDocument, v->getDisplayWidth(), v->getDisplayHeight()); }
void SearchDialog::gotoPage(int n, Qt::KeyboardModifiers m, QString uuid, QString phrase) { setLatestPhrase(phrase); if (!pgView) { qDebug() << "SearchDialog: Pageview disappeared on me."; return; } PageView *view = pgView; ASSERT(view); if (m & Qt::ShiftModifier) view = view->newView(); view->gotoEntryPage(n); view->ensureSearchVisible(uuid, phrase); view->window()->raise(); }
TextEditor* XournalView::getTextEditor() { XOJ_CHECK_TYPE(XournalView); for (size_t i = 0; i < this->viewPagesLen; i++) { PageView* v = this->viewPages[i]; if (v->getTextEditor()) { return v->getTextEditor(); } } return NULL; }
//the response function of the pageView mobile void SelectUI::pageViewEvent(Ref *target, PageViewEventType type) { if (type== PAGEVIEW_EVENT_TURNING) { PageView * pPageView = dynamic_cast<PageView*>(target); int m_pPage_num=pPageView->getCurPageIndex(); if (m_pPage_num==0) { g_Senior = false; g_Primary = true; g_Middle = false; m_pPrimary->loadTextures("./res/PictureRes/VisibleBg.png","./res/PictureRes/VisibleBg.png"); m_pMiddle->loadTextureNormal("./res/PictureRes/IconCover.png"); m_pSenior->loadTextureNormal("./res/PictureRes/IconCover.png"); m_pPrimary->setTitleColor(Color3B(181,178,111)); m_pSenior->setTitleColor(Color3B(227,224,163)); m_pMiddle->setTitleColor(Color3B(227,224,163)); } if (m_pPage_num==1) { g_Senior = false; g_Primary = false; g_Middle = true; m_pPagetView->getPage(1)->setVisible(true); m_pMiddle->loadTextures("./res/PictureRes/VisibleBg.png","./res/PictureRes/VisibleBg.png"); m_pPrimary->loadTextureNormal("./res/PictureRes/IconCover.png"); m_pSenior->loadTextureNormal("./res/PictureRes/IconCover.png"); m_pMiddle->setTitleColor(Color3B(181,178,111)); m_pSenior->setTitleColor(Color3B(227,224,163)); m_pPrimary->setTitleColor(Color3B(227,224,163)); } if (m_pPage_num==2) { g_Senior = true; g_Primary = false; g_Middle = false; m_pSenior->loadTextures("./res/PictureRes/VisibleBg.png","./res/PictureRes/VisibleBg.png"); m_pPrimary->loadTextureNormal("./res/PictureRes/IconCover.png"); m_pMiddle->loadTextureNormal("./res/PictureRes/IconCover.png"); m_pSenior->setTitleColor(Color3B(181,178,111)); m_pMiddle->setTitleColor(Color3B(227,224,163)); m_pPrimary->setTitleColor(Color3B(227,224,163)); } } }
bool XournalView::onKeyReleaseEvent(GdkEventKey* event) { XOJ_CHECK_TYPE(XournalView); size_t p = getCurrentPage(); if (p != size_t_npos && p < this->viewPagesLen) { PageView* v = this->viewPages[p]; if (v->onKeyReleaseEvent(event)) { return true; } } return false; }
void UIPageViewTest::pageViewEvent(Ref *pSender, PageView::EventType type) { switch (type) { case PageView::EventType::TURNING: { PageView* pageView = dynamic_cast<PageView*>(pSender); _displayValueLabel->setString(CCString::createWithFormat("page = %ld", pageView->getCurPageIndex() + 1)->getCString()); } break; default: break; } }
gboolean XournalView::clearMemoryTimer(XournalView* widget) { XOJ_CHECK_TYPE_OBJ(widget, XournalView); GList* list = NULL; for (size_t i = 0; i < widget->viewPagesLen; i++) { PageView* v = widget->viewPages[i]; if (v->getLastVisibleTime() > 0) { list = g_list_insert_sorted(list, v, (GCompareFunc) pageViewCmpSize); } } int pixel = 2884560; int firstPages = 4; int i = 0; for (GList* l = list; l != NULL; l = l->next) { if (firstPages) { firstPages--; } else { PageView* v = (PageView*) l->data; if (pixel <= 0) { v->deleteViewBuffer(); } else { pixel -= v->getBufferPixels(); } } i++; } g_list_free(list); // call again return true; }
void TeachingLayer::testPageView() { // Create the page view PageView* pageView = PageView::create(); auto winSize = Director::getInstance()->getWinSize(); pageView->setContentSize(winSize); pageView->setPosition(Vec2::ZERO); pageView->setBackGroundColor(Color3B::GREEN); pageView->setBackGroundColorType(Layout::BackGroundColorType::SOLID); pageView->removeAllPages(); int pageCount = 4; for (int i = 0; i < pageCount; ++i) { Layout* layout = Layout::create(); layout->setContentSize(winSize); auto bg = Sprite::create("teaching0.png"); bg->setPosition(Vec2(layout->getContentSize().width/2,layout->getContentSize().height/2)); layout->addChild(bg); pageView->insertPage(layout,i); } //pageView->removePageAtIndex(0); //pageView->scrollToPage(pageCount-2); //pageView->addEventListener(CC_CALLBACK_2(UIPageViewTest::pageViewEvent, this)); this->addChild(pageView); }
gboolean gtk_xournal_motion_notify_event(GtkWidget * widget, GdkEventMotion * event) { #ifdef INPUT_DEBUG bool is_core = (event->device == gdk_device_get_core_pointer()); INPUTDBG("MotionNotify (%s) (x,y)=(%.2f,%.2f), modifier %x", is_core ? "core" : "xinput", event->x, event->y, event->state); #endif XInputUtils::fixXInputCoords((GdkEvent*) event, widget); GtkXournal * xournal = GTK_XOURNAL(widget); ToolHandler * h = xournal->view->getControl()->getToolHandler(); if (h->getToolType() == TOOL_HAND) { if (xournal->inScrolling) { gtk_xournal_scroll_mouse_event(xournal, event); return true; } return false; } else if (xournal->selection) { EditSelection * selection = xournal->selection; PageView * view = selection->getView(); GdkEventMotion ev = *event; view->translateEvent((GdkEvent*) &ev, xournal->x, xournal->y); if (xournal->selection->isMoving()) { selection->mouseMove(ev.x, ev.y); } else { CursorSelectionType selType = selection->getSelectionTypeForPos(ev.x, ev.y, xournal->view->getZoom()); xournal->view->getCursor()->setMouseSelectionType(selType); } return true; } PageView * pv = gtk_xournal_get_page_view_for_pos_cached(xournal, event->x, event->y); xournal->view->getCursor()->setInsidePage(pv != NULL); if (pv) { // allow events only to a single page! if (xournal->currentInputPage == NULL || pv == xournal->currentInputPage) { pv->translateEvent((GdkEvent*) event, xournal->x, xournal->y); return pv->onMotionNotifyEvent(widget, event);; } } return false; }
static int tolua_Cocos2dx_PageView_addEventListenerPageView00(lua_State* tolua_S) { #ifndef TOLUA_RELEASE tolua_Error tolua_err; if ( !tolua_isusertype(tolua_S,1,"PageView",0,&tolua_err) || !toluafix_isfunction(tolua_S,2,"LUA_FUNCTION",0,&tolua_err) || !tolua_isnoobj(tolua_S,3,&tolua_err) ) goto tolua_lerror; else #endif { PageView* self = (PageView*) tolua_tousertype(tolua_S,1,0); #ifndef TOLUA_RELEASE if (!self) tolua_error(tolua_S,"invalid 'self' in function 'addEventListenerPageView'", NULL); #endif LuaCocoStudioEventListener* listener = LuaCocoStudioEventListener::create(); if (NULL == listener) { tolua_error(tolua_S,"LuaCocoStudioEventListener create fail\n", NULL); return 0; } LUA_FUNCTION handler = ( toluafix_ref_function(tolua_S,2,0)); listener->setHandler(handler); CCDictionary* dict = static_cast<CCDictionary*>(self->getScriptObjectDict()); if (NULL == dict) { dict = CCDictionary::create(); self->setScriptObjectDict(dict); } dict->setObject(listener, "pageViewEventListener"); self->addEventListenerPageView(listener, pagevieweventselector(LuaCocoStudioEventListener::eventCallbackFunc)); } return 0; #ifndef TOLUA_RELEASE tolua_lerror: tolua_error(tolua_S,"#ferror in function 'addEventListenerPageView'.",&tolua_err); return 0; #endif }
bool UIPageViewTest::init() { if (UIScene::init()) { Size widgetSize = _widget->getSize(); // Add a label in which the dragpanel events will be displayed _displayValueLabel = Text::create("Move by horizontal direction", "fonts/Marker Felt.ttf", 32); _displayValueLabel->setAnchorPoint(Vec2(0.5f, -1.0f)); _displayValueLabel->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f + _displayValueLabel->getContentSize().height * 1.5)); _uiLayer->addChild(_displayValueLabel); // Add the black background Text* alert = Text::create("PageView", "fonts/Marker Felt.ttf", 30); alert->setColor(Color3B(159, 168, 176)); alert->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getSize().height * 3.075f)); _uiLayer->addChild(alert); Layout* root = static_cast<Layout*>(_uiLayer->getChildByTag(81)); Layout* background = dynamic_cast<Layout*>(root->getChildByName("background_Panel")); // Create the page view PageView* pageView = PageView::create(); pageView->setSize(Size(240.0f, 130.0f)); Size backgroundSize = background->getContentSize(); pageView->setPosition(Vec2((widgetSize.width - backgroundSize.width) / 2.0f + (backgroundSize.width - pageView->getSize().width) / 2.0f, (widgetSize.height - backgroundSize.height) / 2.0f + (backgroundSize.height - pageView->getSize().height) / 2.0f)); for (int i = 0; i < 3; ++i) { Layout* layout = Layout::create(); layout->setSize(Size(240.0f, 130.0f)); ImageView* imageView = ImageView::create("cocosui/scrollviewbg.png"); imageView->setScale9Enabled(true); imageView->setSize(Size(240, 130)); imageView->setPosition(Vec2(layout->getSize().width / 2.0f, layout->getSize().height / 2.0f)); layout->addChild(imageView); Text* label = Text::create(StringUtils::format("page %d",(i+1)), "fonts/Marker Felt.ttf", 30); label->setColor(Color3B(192, 192, 192)); label->setPosition(Vec2(layout->getSize().width / 2.0f, layout->getSize().height / 2.0f)); layout->addChild(label); pageView->addPage(layout); } pageView->addEventListener(CC_CALLBACK_2(UIPageViewTest::pageViewEvent, this)); _uiLayer->addChild(pageView); return true; } return false; }
void CocosGUIExamplesPageScene::pageViewEvent(Ref *pSender, PageViewEventType type) { PageView* pageView = dynamic_cast<PageView*>(pSender); int page = pageView->getCurPageIndex() + 1; // set current page number for text Text* page_alert_label = dynamic_cast<Text*>(Helper::seekWidgetByName(_root, "page_alert_label")); page_alert_label->setText(CCString::createWithFormat("page %d", page)->getCString()); // set current page for image Layout* page_alert_bottom_layout = dynamic_cast<Layout*>(Helper::seekWidgetByName(_root, "page_alert_bottom_panel")); int count = page_alert_bottom_layout->getChildren().size(); for (int i = count / 2; i < count; ++i) { Widget* child = dynamic_cast<Widget*>(page_alert_bottom_layout->getChildren().at(i)); child->setVisible(false); } ImageView* page_imageview = dynamic_cast<ImageView*>(Helper::seekWidgetByName(_root, CCString::createWithFormat("page_%d_imageview", page)->getCString())); page_imageview->setVisible(true); }
void TeachingLayer::pageViewEvent(Ref* sender,PageView::EventType type) { switch (type) { case cocos2d::ui::PageView::EventType::TURNING: { PageView* pageView = dynamic_cast<PageView*>(sender); CCLOG("curpage:%d",pageView->getCurPageIndex()); for (int i = 0;i<4;i++) { dynamic_cast<MenuItemSprite*>(this->getChildByTag(kTagRadioMenu)->getChildByTag(i))->unselected(); } curPage = pageView->getCurPageIndex(); dynamic_cast<MenuItemSprite*>(this->getChildByTag(kTagRadioMenu)->getChildByTag(curPage))->selected(); } break; default: break; } }
void CocosGUIExamplesPageScene::PageInit() { // page root from json Layout* page_root = dynamic_cast<Layout*>(GUIReader::shareReader()->widgetFromJsonFile("cocosgui/gui_examples/page_1/page_1.json")); m_pUILayer->addWidget(page_root); // page layout Layout* page_layout = dynamic_cast<Layout*>(page_root->getChildByName("page_panel")); // page view add to page layout PageView* pageView = PageView::create(); pageView->setTouchEnabled(true); pageView->setSize(page_layout->getSize()); // layout add to page view for (int i = 0; i < 4; ++i) { Layout* layout = Layout::create(); layout->setSize(pageView->getSize()); ImageView* imageView = ImageView::create(); imageView->setTouchEnabled(true); imageView->loadTexture(page_image_textures[i]); imageView->setPosition(ccp(layout->getSize().width / 2, layout->getSize().height / 2)); layout->addChild(imageView); pageView->addPage(layout); } pageView->addEventListenerPageView(this, pagevieweventselector(CocosGUIExamplesPageScene::pageViewEvent)); page_layout->addChild(pageView); }