Пример #1
0
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);
}
Пример #2
0
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);
}
Пример #3
0
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);
}
Пример #4
0
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);
	}
}
Пример #5
0
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();
}
Пример #6
0
void TTFFont::buildChars(const Common::UString &str) {
	for (Common::UString::iterator c = str.begin(); c != str.end(); ++c)
		addChar(*c);

	rebuildPages();
}
Пример #7
0
void PagePalette::Rebuild()
{
	rebuildMasters();
	rebuildPages();
	enablePalette(m_view != 0);
}