本文整理汇总了C++中ParagraphStyle类的典型用法代码示例。如果您正苦于以下问题:C++ ParagraphStyle类的具体用法?C++ ParagraphStyle怎么用?C++ ParagraphStyle使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ParagraphStyle类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setParaStyleAttributes
void gtAction::createParagraphStyle(gtParagraphStyle* pstyle)
{
ScribusDoc* currDoc=textFrame->doc();
for (int i = 0; i < currDoc->paragraphStyles().count(); ++i)
{
if (currDoc->paragraphStyles()[i].name() == pstyle->getName())
return;
}
gtFont* font = pstyle->getFont();
ParagraphStyle vg;
setParaStyleAttributes(pstyle, vg);
setCharStyleAttributes(font, vg.charStyle());
// Maybe set those attributes when target is the frame
/*vg.charStyle().setShadowXOffset(50);
vg.charStyle().setShadowYOffset(-50);
vg.charStyle().setOutlineWidth(10);
vg.charStyle().setScaleH(1000);
vg.charStyle().setScaleV(1000);
vg.charStyle().setBaselineOffset(0);
vg.charStyle().setTracking(0);
vg.charStyle().setUnderlineOffset(textFrame->doc()->typographicSettings.valueUnderlinePos);
vg.charStyle().setUnderlineWidth(textFrame->doc()->typographicSettings.valueUnderlineWidth);
vg.charStyle().setStrikethruOffset(textFrame->doc()->typographicSettings.valueStrikeThruPos);
vg.charStyle().setStrikethruWidth(textFrame->doc()->typographicSettings.valueStrikeThruPos);*/
StyleSet<ParagraphStyle> tmp;
tmp.create(vg);
textFrame->doc()->redefineStyles(tmp, false);
m_ScMW->propertiesPalette->textPal->updateParagraphStyles();
}
示例2: updateStyle
void PropertiesPalette_Text::updateStyle(const ParagraphStyle& newCurrent)
{
if (!m_ScMW || m_ScMW->scriptIsRunning())
return;
const CharStyle& charStyle = newCurrent.charStyle();
advancedWidgets->updateStyle(newCurrent);
colorWidgets->updateStyle(newCurrent);
optMargins->updateStyle(newCurrent);
orphanBox->updateStyle (newCurrent);
parEffectWidgets->updateStyle(newCurrent);
showFontFace(charStyle.font().scName());
showFontSize(charStyle.fontSize());
bool tmp = m_haveItem;
m_haveItem = false;
setupLineSpacingSpinbox(newCurrent.lineSpacingMode(), newCurrent.lineSpacing());
lineSpacingModeCombo->setCurrentIndex(newCurrent.lineSpacingMode());
textAlignment->setStyle(newCurrent.alignment());
m_haveItem = tmp;
}
示例3: ubidi_open
QList<TextShaper::TextRun> TextShaper::itemizeBiDi()
{
QList<TextRun> textRuns;
UBiDi *obj = ubidi_open();
UErrorCode err = U_ZERO_ERROR;
UBiDiLevel parLevel = UBIDI_LTR;
ParagraphStyle style = m_story.paragraphStyle(m_firstChar);
if (style.direction() == ParagraphStyle::RTL)
parLevel = UBIDI_RTL;
ubidi_setPara(obj, (const UChar*) m_text.utf16(), m_text.length(), parLevel, NULL, &err);
if (U_SUCCESS(err))
{
int32_t count = ubidi_countRuns(obj, &err);
if (U_SUCCESS(err))
{
textRuns.reserve(count);
for (int32_t i = 0; i < count; i++)
{
int32_t start, length;
UBiDiDirection dir = ubidi_getVisualRun(obj, i, &start, &length);
textRuns.append(TextRun(start, length, dir));
}
}
}
ubidi_close(obj);
return textRuns;
}
示例4: style
void PropertyWidget_Distance::handleTabs()
{
if (m_doc && m_item)
{
PageItem_TextFrame *tItem = m_item->asTextFrame();
if (tItem == 0)
return;
const ParagraphStyle& style(m_doc->appMode == modeEdit ? tItem->currentStyle() : tItem->itemText.defaultStyle());
TabManager *dia = new TabManager(this, m_doc->unitIndex(), style.tabValues(), tItem->columnWidth());
if (dia->exec())
{
if (m_doc->appMode != modeEdit)
{
ParagraphStyle newStyle(m_item->itemText.defaultStyle());
newStyle.setTabValues(dia->tmpTab);
Selection tempSelection(this, false);
tempSelection.addItem(m_item, true);
m_doc->itemSelection_ApplyParagraphStyle(newStyle, &tempSelection);
}
else
{
ParagraphStyle newStyle;
newStyle.setTabValues(dia->tmpTab);
m_doc->itemSelection_ApplyParagraphStyle(newStyle);
}
m_item->update();
}
delete dia;
}
}
示例5: handlePEIndent
void PropertyWidget_ParEffect::handlePEIndent(bool indent)
{
if (!m_doc || !m_item)
return;
ParagraphStyle newStyle;
newStyle.setParEffectIndent(indent);
handleChanges(m_item, newStyle);
}
示例6: handlePEOffset
void PropertyWidget_ParEffect::handlePEOffset(double offset)
{
if (!m_doc || !m_item)
return;
ParagraphStyle newStyle;
newStyle.setParEffectOffset(offset / m_unitRatio);
handleChanges(m_item, newStyle);
}
示例7: handleNumStart
void PropertyWidget_ParEffect::handleNumStart(int start)
{
if (!m_doc || !m_item)
return;
ParagraphStyle newStyle;
newStyle.setNumStart(start);
handleChanges(m_item, newStyle);
}
示例8: handleNumSuffix
void PropertyWidget_ParEffect::handleNumSuffix(QString suffix)
{
if (!m_doc || !m_item)
return;
ParagraphStyle newStyle;
newStyle.setNumSuffix(suffix);
handleChanges(m_item, newStyle);
}
示例9: handleDropCapLines
void PropertyWidget_ParEffect::handleDropCapLines(int dcLines)
{
if (!m_doc || !m_item)
return;
ParagraphStyle newStyle;
newStyle.setDropCapLines(dcLines);
handleChanges(m_item, newStyle);
}
示例10: handlePECharStyle
void PropertyWidget_ParEffect::handlePECharStyle(QString name)
{
if (!m_doc || !m_item)
return;
ParagraphStyle newStyle;
newStyle.setPeCharStyleName(name);
handleChanges(m_item, newStyle);
}
示例11: handleBulletStr
void PropertyWidget_ParEffect::handleBulletStr(QString bulStr)
{
if (!m_doc || !m_item)
return;
ParagraphStyle newStyle;
if (bulStr.isEmpty())
bulStr = QChar(0x2022);
newStyle.setBulletStr(bulStr);
handleChanges(m_item, newStyle);
}
示例12: disconnectSignals
void PropertyWidget_ParEffect::handleNumName(QString numName)
{
if (!m_doc || !m_item)
return;
disconnectSignals();
ParagraphStyle newStyle;
if (numName == "<local block>")
{
newStyle.setNumOther(true);
newStyle.setNumHigher(true);
newStyle.setNumRestart(NSRstory);
}
else
{
NumStruct * numS = m_doc->numerations.value(numName);
Q_ASSERT(numS);
int level = qMin(numLevelSpin->value(), numS->m_counters.count()) -1;
numLevelSpin->setValue(level +1);
newStyle.setNumLevel(level);
Numeration num = numS->m_nums[level];
numFormatCombo->setCurrentIndex((int) num.numFormat);
numStart->setValue(num.start);
numPrefix->setText(num.prefix);
numSuffix->setText(num.suffix);
}
newStyle.setNumPrefix(numPrefix->text());
newStyle.setNumSuffix(numSuffix->text());
newStyle.setNumName(numName);
newStyle.setNumFormat((NumFormat) numFormatCombo->currentIndex());
handleChanges(m_item, newStyle);
connectSignals();
}
示例13: begin
void begin (const Xml_string& /*tagname*/, Xml_attr attr)
{
ParagraphStyle* pstyle = this->dig->top<ParagraphStyle>();
ParagraphStyle::TabRecord tb;
tb.tabPosition = parseDouble(attr["pos"]);
tb.tabFillChar = QChar(parseInt(attr["fillChar"]));
tb.tabType = parseInt(attr["type"]);
QList<ParagraphStyle::TabRecord> tabs = pstyle->tabValues();
tabs.append(tb);
pstyle->setTabValues(tabs);
}
示例14: eraseStyle
void ParagraphStyle::eraseStyle(const ParagraphStyle& other)
{
other.validate();
Style::eraseStyle(other);
m_cstyle.eraseCharStyle(other.charStyle());
m_cstyleContext.invalidate();
#define ATTRDEF(attr_TYPE, attr_GETTER, attr_NAME, attr_DEFAULT) \
if (!inh_##attr_NAME && m_##attr_NAME == other.m_##attr_NAME) \
reset##attr_NAME();
#include "paragraphstyle.attrdefs.cxx"
#undef ATTRDEF
}
示例15: setStyle
void ParagraphStyle::setStyle(const ParagraphStyle & other)
{
other.validate();
setParent(other.parent());
m_contextversion = -1;
m_cstyle.setStyle(other.charStyle());
m_cstyleContext.invalidate();
#define ATTRDEF(attr_TYPE, attr_GETTER, attr_NAME, attr_DEFAULT) \
inh_##attr_NAME = other.inh_##attr_NAME; \
m_##attr_NAME = other.m_##attr_NAME;
#include "paragraphstyle.attrdefs.cxx"
#undef ATTRDEF
}