本文整理汇总了C++中ParagraphStyle::charStyle方法的典型用法代码示例。如果您正苦于以下问题:C++ ParagraphStyle::charStyle方法的具体用法?C++ ParagraphStyle::charStyle怎么用?C++ ParagraphStyle::charStyle使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ParagraphStyle
的用法示例。
在下文中一共展示了ParagraphStyle::charStyle方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: applyStyle
void ParagraphStyle::applyStyle(const ParagraphStyle& other)
{
if (other.hasParent() && (other.parent() != Style::INHERIT_PARENT))
{
setStyle(other);
return;
}
Style::applyStyle(other);
cstyle.applyCharStyle(other.charStyle());
cstyleContext.invalidate();
#define ATTRDEF(attr_TYPE, attr_GETTER, attr_NAME, attr_DEFAULT) \
if (! other.inh_##attr_NAME) \
set##attr_NAME(other.m_##attr_NAME);
#include "paragraphstyle.attrdefs.cxx"
#undef ATTRDEF
}
示例2: handleNormWordTracking
void PropertyWidget_Advanced::handleNormWordTracking()
{
if (!m_doc || !m_item || !m_ScMW || m_ScMW->scriptIsRunning())
return;
PageItem *i2 = m_item;
if (m_doc->appMode == modeEditTable)
i2 = m_item->asTable()->activeCell().textFrame();
if (i2 != NULL)
{
Selection tempSelection(this, false);
tempSelection.addItem(i2, true);
ParagraphStyle newStyle;
newStyle.charStyle().setWordTracking(normWordTrackingSpinBox->value() / 100.0);
m_doc->itemSelection_ApplyParagraphStyle(newStyle, &tempSelection);
}
}
示例3:
void XtgScanner::applyCStyle3()
{
//apply paragraph's character stylesheet <@$p>
define = 0;
flushText();
QString pStyle = CommonStrings::DefaultParagraphStyle;
ParagraphStyle newStyle;
newStyle.setParent(pStyle);
newStyle.setLineSpacingMode(ParagraphStyle::AutomaticLineSpacing);
currentCharStyle = newStyle.charStyle();
currentCharStyle.setFontSize(120.0);
styleEffects = ScStyle_None;
currentCharStyle.setFeatures(styleEffects.featureList());
// currentCharStyle = currentParagraphStyle.charStyle();
// writer->setCharStyle(currentCharStyle);
// currentCharStyle = writer->getCurrentCharStyle();
}
示例4: end
void end (const Xml_string& /*tagname*/)
{
ParagraphStyle* pstyle = this->dig->top<ParagraphStyle>(1);
CharStyle* cstyle = this->dig->top<CharStyle>(0);
pstyle->charStyle() = *cstyle;
}
示例5: if
/*! 02.01.2007 - 05.01.2007 : Joachim Neu : Create a paragraph style.
Special thanks go to avox for helping me! */
PyObject *scribus_createparagraphstyle(PyObject* /* self */, PyObject* args, PyObject* keywords)
{
char* keywordargs[] = {
const_cast<char*>("name"),
const_cast<char*>("linespacingmode"),
const_cast<char*>("linespacing"),
const_cast<char*>("alignment"),
const_cast<char*>("leftmargin"),
const_cast<char*>("rightmargin"),
const_cast<char*>("gapbefore"),
const_cast<char*>("gapafter"),
const_cast<char*>("firstindent"),
const_cast<char*>("hasdropcap"),
const_cast<char*>("dropcaplines"),
const_cast<char*>("dropcapoffset"),
const_cast<char*>("charstyle"),
NULL};
char *Name = const_cast<char*>(""), *CharStyle = const_cast<char*>("");
int LineSpacingMode = 0, LineSpacing = 15, Alignment = 0, LeftMargin = 0, RightMargin = 0, GapBefore = 0, GapAfter = 0, FirstIndent = 0, DropCapLines = 2, DropCapOffset = 0, HasDropCap = 0;
if (!PyArg_ParseTupleAndKeywords(args, keywords, "es|iiiiiiiiiiies",
keywordargs, "utf-8", &Name, &LineSpacingMode, &LineSpacing, &Alignment,
&LeftMargin, &RightMargin, &GapBefore, &GapAfter, &FirstIndent,
&HasDropCap, &DropCapLines, &DropCapOffset, "utf-8", &CharStyle))
return NULL;
if(!checkHaveDocument())
return NULL;
if (Name == EMPTY_STRING)
{
PyErr_SetString(PyExc_ValueError, QObject::tr("Cannot have an empty paragraph style name.","python error").toLocal8Bit().constData());
return NULL;
}
ParagraphStyle TmpParagraphStyle;
TmpParagraphStyle.setName(Name);
TmpParagraphStyle.setLineSpacingMode((ParagraphStyle::LineSpacingMode)LineSpacingMode);
TmpParagraphStyle.setLineSpacing(LineSpacing);
TmpParagraphStyle.setAlignment((ParagraphStyle::AlignmentType)Alignment);
TmpParagraphStyle.setLeftMargin(LeftMargin);
TmpParagraphStyle.setFirstIndent(FirstIndent);
TmpParagraphStyle.setRightMargin(RightMargin);
TmpParagraphStyle.setGapBefore(GapBefore);
TmpParagraphStyle.setGapAfter(GapAfter);
if(HasDropCap == 0)
TmpParagraphStyle.setHasDropCap(false);
else if(HasDropCap == 1)
TmpParagraphStyle.setHasDropCap(true);
else
{
PyErr_SetString(PyExc_ValueError, QObject::tr("hasdropcap has to be 0 or 1.","python error").toLocal8Bit().constData());
return NULL;
}
TmpParagraphStyle.setDropCapLines(DropCapLines);
TmpParagraphStyle.setDropCapOffset(DropCapOffset);
TmpParagraphStyle.charStyle().setParent(CharStyle);
StyleSet<ParagraphStyle> TmpStyleSet;
TmpStyleSet.create(TmpParagraphStyle);
ScCore->primaryMainWindow()->doc->redefineStyles(TmpStyleSet, false);
// PV - refresh the Style Manager window.
// I thought that this can work but it doesn't:
// ScCore->primaryMainWindow()->styleMgr()->reloadStyleView();
// So the brute force setDoc is called...
ScCore->primaryMainWindow()->styleMgr()->setDoc(ScCore->primaryMainWindow()->doc);
Py_RETURN_NONE;
}
示例6: readParagraphStyle
void FileLoader::readParagraphStyle(ParagraphStyle& vg, const QDomElement& pg, SCFonts &avail, ScribusDoc *currDoc)
{
vg.setName(pg.attribute("NAME"));
vg.setLineSpacingMode(static_cast<ParagraphStyle::LineSpacingMode>(pg.attribute("LINESPMode", "0").toInt()));
vg.setLineSpacing(ScCLocale::toDoubleC(pg.attribute("LINESP")));
vg.setLeftMargin(ScCLocale::toDoubleC(pg.attribute("INDENT"), 0.0));
if (pg.hasAttribute("RMARGIN"))
vg.setRightMargin(ScCLocale::toDoubleC(pg.attribute("RMARGIN"), 0.0));
else
vg.setRightMargin(0);
vg.setFirstIndent(ScCLocale::toDoubleC(pg.attribute("FIRST"), 0.0));
vg.setAlignment(static_cast<ParagraphStyle::AlignmentType>(pg.attribute("ALIGN").toInt()));
vg.setGapBefore(ScCLocale::toDoubleC(pg.attribute("VOR"), 0.0));
vg.setGapAfter(ScCLocale::toDoubleC(pg.attribute("NACH"), 0.0));
QString tmpf = pg.attribute("FONT", currDoc->toolSettings.defFont);
currDoc->AllFonts->findFont(tmpf, currDoc);
vg.charStyle().setFont((*currDoc->AllFonts)[tmpf]);
vg.charStyle().setFontSize(qRound(ScCLocale::toDoubleC(pg.attribute("FONTSIZE"), 12.0) * 10.0));
vg.setHasDropCap(static_cast<bool>(pg.attribute("DROP", "0").toInt()));
vg.setDropCapLines(pg.attribute("DROPLIN", "2").toInt());
vg.setDropCapOffset(ScCLocale::toDoubleC(pg.attribute("DROPDIST"), 0.0));
vg.charStyle().setFeatures(static_cast<StyleFlag>(pg.attribute("EFFECT", "0").toInt()).featureList());
vg.charStyle().setFillColor(pg.attribute("FCOLOR", currDoc->toolSettings.dBrush));
vg.charStyle().setFillShade(pg.attribute("FSHADE", "100").toInt());
vg.charStyle().setStrokeColor(pg.attribute("SCOLOR", currDoc->toolSettings.dPen));
vg.charStyle().setStrokeShade(pg.attribute("SSHADE", "100").toInt());
if (static_cast<bool>(pg.attribute("BASE", "0").toInt()))
vg.setLineSpacingMode(ParagraphStyle::BaselineGridLineSpacing);
vg.charStyle().setShadowXOffset(qRound(ScCLocale::toDoubleC(pg.attribute("TXTSHX"), 5.0)) * 10);
vg.charStyle().setShadowYOffset(qRound(ScCLocale::toDoubleC(pg.attribute("TXTSHY"), -5.0)) * 10);
vg.charStyle().setOutlineWidth(qRound(ScCLocale::toDoubleC(pg.attribute("TXTOUT"), 1.0)) * 10);
vg.charStyle().setUnderlineOffset(qRound(ScCLocale::toDoubleC(pg.attribute("TXTULP"), -0.1)) * 10);
vg.charStyle().setUnderlineWidth(qRound(ScCLocale::toDoubleC(pg.attribute("TXTULW"), -0.1)) * 10);
vg.charStyle().setStrikethruOffset(qRound(ScCLocale::toDoubleC(pg.attribute("TXTSTP"), -0.1)) * 10);
vg.charStyle().setStrikethruWidth(qRound(ScCLocale::toDoubleC(pg.attribute("TXTSTW"), -0.1)) * 10);
vg.charStyle().setScaleH(qRound(ScCLocale::toDoubleC(pg.attribute("SCALEH"), 100.0)) * 10);
vg.charStyle().setScaleV(qRound(ScCLocale::toDoubleC(pg.attribute("SCALEV"), 100.0)) * 10);
vg.charStyle().setBaselineOffset(qRound(ScCLocale::toDoubleC(pg.attribute("BASEO"), 0.0)) * 10);
vg.charStyle().setTracking(qRound(ScCLocale::toDoubleC(pg.attribute("KERN"), 0.0)) * 10);
if ((pg.hasAttribute("NUMTAB")) && (pg.attribute("NUMTAB", "0").toInt() != 0))
{
QList<ParagraphStyle::TabRecord> tbs;
ParagraphStyle::TabRecord tb;
QString tmp = pg.attribute("TABS");
QTextStream tgv(&tmp, QIODevice::ReadOnly);
QString xf, xf2;
for (int cxv = 0; cxv < pg.attribute("NUMTAB", "0").toInt(); cxv += 2)
{
tgv >> xf;
tgv >> xf2;
tb.tabPosition = ScCLocale::toDoubleC(xf2);
tb.tabType = static_cast<int>(ScCLocale::toDoubleC(xf));
tb.tabFillChar = QChar();
tbs.append(tb);
}
vg.setTabValues(tbs);
tmp = "";
}
示例7: generateUniqueCopyName
PageItem_NoteFrame::PageItem_NoteFrame(PageItem_TextFrame* inFrame, NotesStyle *nStyle) : PageItem_TextFrame(inFrame->doc(),inFrame->xPos(), inFrame->yPos(),inFrame->width(), inFrame->height(),inFrame->lineWidth(), inFrame->fillColor(), inFrame->lineColor())
{
m_nstyle = nStyle;
m_masterFrame = inFrame;
AnName = generateUniqueCopyName(nStyle->isEndNotes() ? tr("Endnote frame ") + m_nstyle->name() : tr("Footnote frame ") + m_nstyle->name(), false);
AutoName = false;
setUName(AnName);
//set default style for note frame
ParagraphStyle newStyle;
if (nStyle->notesParStyle().isEmpty() || (nStyle->notesParStyle() == tr("No Style")))
{
if (nStyle->isEndNotes())
//set default doc style
newStyle.setParent(m_Doc->paragraphStyles()[0].name());
else
{
newStyle.setParent(m_masterFrame->itemText.defaultStyle().parent());
newStyle.applyStyle(m_masterFrame->currentStyle());
}
}
else
newStyle.setParent(nStyle->notesParStyle());
itemText.blockSignals(true);
itemText.setDefaultStyle(newStyle);
itemText.blockSignals(false);
double frameHeight = calculateLineSpacing(newStyle, this);
if (frameHeight == 0.0 && !m_nstyle->isAutoNotesHeight())
frameHeight = newStyle.charStyle().fontSize()/10;
m_height = oldHeight = frameHeight;
oldWidth = m_width;
oldRot = m_rotation;
oldXpos = m_xPos;
m_yPos = oldYpos =m_masterFrame->yPos() + m_masterFrame->height();
textFlowModeVal = TextFlowUsesFrameShape;
setColumns(1);
if (m_nstyle->isAutoWeldNotesFrames() && (m_masterFrame != NULL))
{
addWelded(m_masterFrame);
m_masterFrame->addWelded(this);
m_masterFrame->setWeldPoint(0, m_masterFrame->height(), this);
setWeldPoint(0,0, m_masterFrame);
}
if (m_nstyle->isAutoNotesHeight())
m_SizeVLocked = true;
else
m_SizeVLocked = false;
if (m_nstyle->isAutoNotesWidth())
m_SizeHLocked = true;
else
m_SizeHLocked = false;
if (m_nstyle->isAutoNotesHeight() && m_nstyle->isAutoNotesWidth())
m_SizeLocked = true;
else
m_SizeLocked = false;
deleteIt = false;
}
示例8: definePStyles
void XtgScanner::definePStyles()
{
QString s1,s2,s3;
enterState(stringMode);
define = 2;
if (token == "[S\"")
s1 = getToken();
else
{
while (lookAhead() != '\"')
top++; //skip the inch
top++;
s1 = getToken(); //will contain the string 1
}
// top = top + 2; //we have to skip comma and next inch character
while (lookAhead() != '\"')
top++;
top++;
s2 = getToken();
if (lookAhead() != ']' )
{
while (lookAhead() != '\"')
top++;
top++;
// top = top + 2;
s3 = getToken();
}
top++; // to ensure that ] is avoided
QString pStyle = CommonStrings::DefaultParagraphStyle;
ParagraphStyle newStyle;
if (s1 != "")
{
if (doc->paragraphStyles().contains(m_item->itemName() + "_" + s1))
newStyle.setParent(m_item->itemName() + "_" + s1);
else if (doc->paragraphStyles().contains(s1))
newStyle.setParent(s1);
else
newStyle.setParent(pStyle);
}
else
newStyle.setParent(pStyle);
if (m_prefixName)
newStyle.setName(m_item->itemName() + "_" + sfcName);
else
newStyle.setName((sfcName));
newStyle.setLineSpacingMode(ParagraphStyle::AutomaticLineSpacing);
if (s3 != "")
{
if (doc->charStyles().contains(m_item->itemName() + "_" + s3))
newStyle.charStyle().setParent(m_item->itemName() + "_" + s3);
else if (doc->charStyles().contains(s3))
newStyle.charStyle().setParent(s3);
else
newStyle.charStyle().setParent(CommonStrings::DefaultCharacterStyle);
}
else
{
newStyle.charStyle().setParent(CommonStrings::DefaultCharacterStyle);
newStyle.charStyle().setFontSize(120.0);
styleEffects = ScStyle_None;
newStyle.charStyle().setFeatures(styleEffects.featureList());
}
currentParagraphStyle = newStyle;
currentCharStyle = newStyle.charStyle();
enterState(textMode);
}