void PagePalette::handleFirstPage(int fp) { currView->Doc->pageSets[currView->Doc->currentPageLayout].FirstPage = fp; currView->reformPages(); currView->DrawNew(); currView->GotoPage(currView->Doc->currentPageNumber()); rebuildPages(); //CB done by doc::reformpages // currView->Doc->setModified(true); }
void PagePalette::handlePageLayout(int layout) { pageLayout->selectFirstP(currView->Doc->pageSets[layout].FirstPage); currView->Doc->resetPage(currView->Doc->pageMargins, layout); currView->reformPages(); currView->DrawNew(); currView->GotoPage(currView->Doc->currentPageNumber()); rebuildPages(); //CB done by doc::reformpages // currView->Doc->setModified(true); }
void PagePalette::pageView_movePage(int r, int c) { if (r == c) return; if (c > pageView->MaxC) currView->Doc->movePage(r, r + 1, c, 2); else currView->Doc->movePage(r, r + 1, c, 0); currView->reformPages(); rebuildPages(); currView->DrawNew(); //CB done by doc::reformpages // currView->Doc->setModified(true); }
void PagePalette::deleteMasterPage(QString tmp) { if (tmp == CommonStrings::trMasterPageNormal) return; QString extraWarn = ""; for (int i=0; i < currView->Doc->DocPages.count(); ++i ) { if (currView->Doc->DocPages[i]->MPageNam == tmp) extraWarn = tr("This master page is used at least once in the document."); } int exit = QMessageBox::warning(this, CommonStrings::trWarning, tr("Do you really want to delete this master page?")+"\n"+extraWarn, QMessageBox::Yes | QMessageBox::No); if (exit == QMessageBox::Yes) { int Nr = currView->Doc->MasterNames[tmp]; Page* Seite = currView->Doc->MasterPages.takeAt(Nr); delete Seite; currView->Doc->MasterNames.clear(); for (int aa=0; aa < currView->Doc->MasterPages.count(); ++aa) { Seite = currView->Doc->MasterPages.at(aa); Seite->setPageNr(aa); if (currView->Doc->currentPageLayout == doublePage) { Seite->Margins.Left = Seite->LeftPg ? currView->Doc->pageMargins.Right : currView->Doc->pageMargins.Left; Seite->Margins.Right= Seite->LeftPg? currView->Doc->pageMargins.Left : currView->Doc->pageMargins.Right; } else { Seite->Margins.Right = currView->Doc->pageMargins.Right; Seite->Margins.Left = currView->Doc->pageMargins.Left; } Seite->Margins.Top = currView->Doc->pageMargins.Top; Seite->Margins.Bottom = currView->Doc->pageMargins.Bottom; currView->Doc->MasterNames[Seite->pageName()] = aa; } for (int b=0; b<currView->Doc->DocPages.count(); ++b) { if (currView->Doc->DocPages.at(b)->MPageNam == tmp) currView->Doc->DocPages.at(b)->MPageNam = CommonStrings::masterPageNormal; } currView->DrawNew(); rebuildMasters(); rebuildPages(); currView->Doc->setModified(true); } }
void TTFFont::load(Common::SeekableReadStream *ttf, int height) { try { _ttf = new TTFRenderer(*ttf, height); } catch (...) { delete ttf; throw; } delete ttf; _height = _ttf->getHeight(); if (_height > kPageHeight) throw Common::Exception("Font height too big (%d)", _height); // Add all ASCII characters for (uint32 i = 0; i < 128; i++) addChar(i); // Add the Unicode "replacement character" character addChar(0xFFFD); _missingChar = _chars.find(0xFFFD); // Find an appropriate width for a "missing character" character if (_missingChar == _chars.end()) { // This font doesn't have the Unicode "replacement character" // Try to find the width of an m. Alternatively, take half of a line's height. std::map<uint32, Char>::const_iterator m = _chars.find('m'); if (m != _chars.end()) _missingWidth = m->second.width; else _missingWidth = MAX<float>(2.0, _height / 2); } else _missingWidth = _missingChar->second.width; rebuildPages(); }
void TTFFont::buildChars(const Common::UString &str) { for (Common::UString::iterator c = str.begin(); c != str.end(); ++c) addChar(*c); rebuildPages(); }
void PagePalette::Rebuild() { rebuildMasters(); rebuildPages(); enablePalette(m_view != 0); }