Example #1
1
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;
}
Example #2
0
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;
    }
}
Example #3
0
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
}
Example #5
0
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();
	}
}
Example #7
0
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;
	}
}
Example #8
0
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();
}
Example #11
0
bool XournalView::paste()
{
	XOJ_CHECK_TYPE(XournalView);

	int p = getCurrentPage();
	if (p < 0 || p >= viewPagesLen)
	{
		return false;
	}

	PageView* page = viewPages[p];
	return page->paste();
}
Example #12
0
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();
		}
	}
}
Example #14
0
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
}
Example #16
0
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());
}
Example #18
0
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;
}
Example #20
0
//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;
}
Example #22
0
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);
}
Example #25
0
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
}
Example #27
0
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);
}