bool CCScrollLayer::initWithLayers(CCArray* layers, int widthOffset) { if (!CCLayer::init()) return false; CC_ASSERT(layers && layers->count()); setTouchEnabled(true); m_bStealTouches = true; // Set default minimum touch length to scroll. m_fMinimumTouchLengthToSlide = 30.0f; m_fMinimumTouchLengthToChangePage = 50.0f; m_fMarginOffset = CCDirector::sharedDirector()->getWinSize().width; // Show indicator by default. m_bShowPagesIndicator = true; m_tPagesIndicatorPosition = ccp(0.5f * _contentSize.width, ceilf(_contentSize.height / 8.0f)); // Set up the starting variables m_uCurrentScreen = 0; // Save offset. m_fPagesWidthOffset = (float)widthOffset; // Save array of layers. m_pLayers = CCArray::createWithArray(layers); layers->release(); m_pLayers->retain(); updatePages(); return true; }
/* * Make the pages on which "mem" sits read-write. * * This covers the header as well as the data itself. (We could add a * "header-only" mode for dvmLinearFree.) * * Only call here if ENFORCE_READ_ONLY is true. */ void dvmLinearSetReadWrite(Object* classLoader, void* mem) { #ifdef DISABLE_LINEAR_ALLOC return; #endif updatePages(classLoader, mem, 1); }
void BookWindow::open (MWWorld::Ptr book) { mBook = book; clearPages(); mCurrentPage = 0; MWBase::Environment::get().getSoundManager()->playSound ("book open", 1.0, 1.0); MWWorld::LiveCellRef<ESM::Book> *ref = mBook.get<ESM::Book>(); BookTextParser parser; std::vector<std::string> results = parser.split(ref->mBase->mText, mLeftPage->getSize().width, mLeftPage->getSize().height); int i=0; for (std::vector<std::string>::iterator it=results.begin(); it!=results.end(); ++it) { MyGUI::Widget* parent; if (i%2 == 0) parent = mLeftPage; else parent = mRightPage; MyGUI::Widget* pageWidget = parent->createWidgetReal<MyGUI::Widget>("", MyGUI::FloatCoord(0.0,0.0,1.0,1.0), MyGUI::Align::Default, "BookPage" + boost::lexical_cast<std::string>(i)); pageWidget->setNeedMouseFocus(false); parser.parsePage(*it, pageWidget, mLeftPage->getSize().width); mPages.push_back(pageWidget); ++i; } updatePages(); setTakeButtonShow(true); }
void BookWindow::prevPage() { if (mCurrentPage > 0) { MWBase::Environment::get().getSoundManager()->playSound ("book page", 1.0, 1.0); --mCurrentPage; updatePages(); } }
void BookWindow::nextPage() { if ((mCurrentPage+1)*2 < mPages.size()) { MWBase::Environment::get().getSoundManager()->playSound ("book page2", 1.0, 1.0); ++mCurrentPage; updatePages(); } }
bool CCScrollLayer::initWithLayers(CCArray* layers, int widthOffset) { if (!CCLayer::init()) return false; CC_ASSERT(layers && layers->count()); setTouchEnabled(true); m_bStealTouches = true; // Set default minimum touch length to scroll. m_fMinimumTouchLengthToSlide = 30.0f; m_fMinimumTouchLengthToChangePage = 100.0f; m_fMarginOffset = CCDirector::sharedDirector()->getWinSize().width; // Show indicator by default. m_bShowPagesIndicator = true; m_tPagesIndicatorPosition = ccp(0.5f * m_obContentSize.width, ceilf(m_obContentSize.height / 8.0f)); // Set up the starting variables m_uCurrentScreen = 0; // Save offset. m_fPagesWidthOffset = (CGFloat)widthOffset; // Save array of layers. // Can't use createWithArray because layer does not implemnt CCCopying // m_pLayers = CCArray::createWithArray(layers); m_pLayers = CCArray::create(); m_pLayers->addObjectsFromArray(layers); layers->release(); m_pLayers->retain(); CCSize size = CCDirector::sharedDirector()->getWinSize(); this->setRectLayer(CCRect(0, 0, size.width, size.height)); updatePages(); return true; }
EntryDlg::EntryDlg( KMainWindow *main, kvoctrainDoc *doc, bool multi_sel, bool origin, grade_t f_grd, grade_t t_grd, count_t f_qcount, count_t t_qcount, count_t f_bcount, count_t t_bcount, time_t f_qdate, time_t t_qdate, QString f_faux_ami, QString t_faux_ami, QString expr, int lesson, QComboBox *lessonbox, QString lang, LangSet &langset, QString rem, QString type, QString pronunce, QString synonym, QString antonym, QString example, QString usagelabel, QString paraphrase, const Conjugation &con_prefix, const Conjugation &conjugations, const Article &/*article*/, const Comparison &comp, const MultipleChoice &mc, QueryManager &querymanager, const QString &title, bool active, const QFont& ipafont, QWidget *parent, const char *name, bool modal) : KDialogBase(Tabbed, title, User1|User2|User3|Apply|Close, Apply, parent, name, modal, false, KGuiItem(i18n("&Reset")), KGuiItem(QString::null, "view_left_right"), KGuiItem(QString::null, "view_top_bottom")) { mainwin = main; docked = false; edit_row = -1; edit_col = -1; from_page = 0; to_page = 0; QString s; if (langset.findLongId(lang).isEmpty() ) s = lang; else s = langset.findLongId(lang); QFrame *page; QVBoxLayout *topLayout; if (origin) { page = addPage( i18n("Co&mmon") ); topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); comm_page = new CommonEntryPage (this, doc, multi_sel, expr, lesson, lessonbox, lang, type, pronunce, usagelabel, i18n("Original &expression in %1:").arg(s), querymanager, active, ipafont, page, name); topLayout->addWidget(comm_page); page = addPage( i18n("A&dditional") ); topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); aux_page = new AuxInfoEntryPage (this, multi_sel, synonym, antonym, example, rem, paraphrase, page, name); topLayout->addWidget(aux_page); page = addPage( i18n("&Multiple Choice") ); topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); mc_page = new MCEntryPage (this, multi_sel, mc, page, "MultipleChoice"); topLayout->addWidget(mc_page); page = addPage( i18n("Con&jugation") ); topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); tense_page = new TenseEntryPage (this, multi_sel, con_prefix, conjugations, page, "Conjugation"); topLayout->addWidget(tense_page); page = addPage( i18n("Compar&ison") ); topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); adj_page = new AdjEntryPage (this, multi_sel, comp, page, "Comparison"); topLayout->addWidget(adj_page); } else { page = addPage( i18n("Co&mmon") ); topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); comm_page = new CommonEntryPage (this, doc, multi_sel, expr, lesson, lessonbox, lang, type, pronunce, usagelabel, i18n("Translated &expression in %1:").arg(s), querymanager, active, ipafont, page, name); topLayout->addWidget(comm_page); page = addPage( i18n("A&dditional") ); topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); aux_page = new AuxInfoEntryPage (this, multi_sel, synonym, antonym, example, rem, paraphrase, page, name); topLayout->addWidget(aux_page); page = addPage( i18n("&Multiple Choice") ); topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); mc_page = new MCEntryPage (this, multi_sel, mc, page, "MultipleChoice"); topLayout->addWidget(mc_page); page = addPage( i18n("Con&jugation") ); topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); tense_page = new TenseEntryPage (this, multi_sel, con_prefix, conjugations, page, "Conjugation"); topLayout->addWidget(tense_page); page = addPage( i18n("Compar&ison") ); topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); adj_page = new AdjEntryPage (this, multi_sel, comp, page, "Comparison"); topLayout->addWidget(adj_page); } page = addPage( i18n("&From Original") ); topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); from_page = new FromToEntryPage (this, multi_sel, f_grd, f_qdate, f_qcount, f_bcount, f_faux_ami, i18n("Properties From Original"), page, name); topLayout->addWidget(from_page); page = addPage( i18n("&To Original") ); topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); to_page = new FromToEntryPage (this, multi_sel, t_grd, t_qdate, t_qcount, t_bcount, t_faux_ami, i18n("Properties to Original"), page, name); topLayout->addWidget(to_page); updatePages (type); connect(comm_page, SIGNAL(typeSelected(const QString&)), SLOT(updatePages(const QString&)) ); connect( this, SIGNAL(user1Clicked()), this, SLOT(slotUndo()) ); connect( this, SIGNAL(applyClicked()), this, SLOT(slotApply()) ); connect( this, SIGNAL(user2Clicked()), this, SLOT(slotDockVertical()) ); connect( this, SIGNAL(user3Clicked()), this, SLOT(slotDockHorizontal()) ); connect (comm_page, SIGNAL(sigModified()), this, SLOT(slotDisplayModified() )); connect (aux_page, SIGNAL(sigModified()), this, SLOT(slotDisplayModified() )); connect (adj_page, SIGNAL(sigModified()), this, SLOT(slotDisplayModified() )); connect (mc_page, SIGNAL(sigModified()), this, SLOT(slotDisplayModified() )); connect (tense_page, SIGNAL(sigModified()), this, SLOT(slotDisplayModified() )); if (from_page != 0) connect (from_page, SIGNAL(sigModified()), this, SLOT(slotDisplayModified() )); if (to_page != 0) connect (to_page, SIGNAL(sigModified()), this, SLOT(slotDisplayModified() )); enableButtonApply(false); enableButton(User1, false); comm_page->expr_line->setFocus(); }
void EntryDlg::setData( kvoctrainDoc */*doc*/, bool multi_sel, bool origin, grade_t f_grd, grade_t t_grd, count_t f_qcount, count_t t_qcount, count_t f_bcount, count_t t_bcount, time_t f_qdate, time_t t_qdate, QString f_faux_ami, QString t_faux_ami, QString expr, int lesson, QComboBox *lessonbox, QString lang, LangSet &langset, QString rem, QString type, QString pronunce, QString synonym, QString antonym, QString example, QString usagelabel, QString paraphrase, const Conjugation &/*con_prefix*/, const Conjugation &conjugations, const Article &/*article*/, const Comparison &comp, const MultipleChoice &mc, QueryManager &querymanager, const QString &title, bool active) { setCaption (kapp->makeStdCaption(title)); QString s; if (langset.findLongId(lang).isEmpty() ) s = lang; else s = langset.findLongId(lang); if (origin) comm_page->setData(multi_sel, expr, lesson, lessonbox, lang, type, pronunce, usagelabel, i18n("Original &expression in %1:").arg(s), querymanager, active); else comm_page->setData(multi_sel, expr, lesson, lessonbox, lang, type, pronunce, usagelabel, i18n("Translated &expression in %1:").arg(s), querymanager, active); adj_page->setData(multi_sel, comp); aux_page->setData(multi_sel, synonym, antonym, example, rem, paraphrase); mc_page->setData(multi_sel, mc); tense_page->setData(multi_sel, conjugations); if (from_page != 0) from_page->setData(multi_sel, f_grd, f_qdate, f_qcount, f_bcount, f_faux_ami, i18n("Properties From Original")); if (to_page != 0) to_page->setData(multi_sel, t_grd, t_qdate, t_qcount, t_bcount, t_faux_ami, i18n("Properties to Original")); setModified(false); updatePages (type); }