本文整理汇总了C++中QTextOption::flags方法的典型用法代码示例。如果您正苦于以下问题:C++ QTextOption::flags方法的具体用法?C++ QTextOption::flags怎么用?C++ QTextOption::flags使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QTextOption
的用法示例。
在下文中一共展示了QTextOption::flags方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: QPlainTextEdit
TextEditor::TextEditor(QWidget *parent): QPlainTextEdit(parent) {
connect(this, SIGNAL(textChanged()), this, SLOT(UpdateDocumentStatus()));
LineCountArea = new LineNumberArea(this);
connect(this, SIGNAL(blockCountChanged(int)), this, SLOT(UpdateLineNumberAreaWidth(int)));
connect(this, SIGNAL(updateRequest(QRect,int)), this, SLOT(UpdateLineNumberArea(QRect,int)));
UpdateLineNumberAreaWidth(0);
// connect(this, SIGNAL(cursorPositionChanged()),
// this, SLOT(Highlight_Current_Line()));
connect(this, SIGNAL(cursorPositionChanged()),
this, SLOT(bracketValidate()));
setFont(QFont("Monaco", 12));
setTabSize(4);
Size = 0;
Counter = 0;
Start = 0;
End = 0;
// Setup autocomplete
minCompleterLength = 1;
c = new QCompleter(this);
// c->setModelSorting(QCompleter::CaseInsensitivelySortedModel);
c->setCompletionMode(QCompleter::PopupCompletion);
c->setCaseSensitivity(Qt::CaseInsensitive);
c->setWrapAround(false);
c->setWidget(this);
c->popup()->setObjectName("autocomplete");
completerModel = new QStringListModel(getWords(), c);
c->setModel(completerModel);
connect(this, SIGNAL(textChanged()),
this, SLOT(updateCompleterModel()));
QTextOption option = document()->defaultTextOption();
bool on = false;
if (on) {
option.setFlags(option.flags() | QTextOption::ShowTabsAndSpaces);
} else {
option.setFlags(option.flags() & ~QTextOption::ShowTabsAndSpaces);
}
option.setFlags(option.flags() | QTextOption::AddSpaceForLineAndParagraphSeparators);
document()->setDefaultTextOption(option);
setTabsAsSpaces(true);
bracketMismatchFormat = currentCharFormat();
bracketMismatchFormat.setBackground(QColor(255, 223, 223));
bracketMatchFormat = currentCharFormat();
bracketMatchFormat.setBackground(QColor(158, 209, 255));
}
示例2: setVisualizeWhitespace
void FormatTextEdit::setVisualizeWhitespace(bool value)
{
QTextOption option = document()->defaultTextOption();
if (value) {
option.setFlags(option.flags()
| QTextOption::ShowLineAndParagraphSeparators
| QTextOption::ShowTabsAndSpaces);
} else {
option.setFlags(option.flags()
& ~QTextOption::ShowLineAndParagraphSeparators
& ~QTextOption::ShowTabsAndSpaces);
}
document()->setDefaultTextOption(option);
}
示例3: ExpandingTextEdit
FormatTextEdit::FormatTextEdit(QWidget *parent)
: ExpandingTextEdit(parent)
{
setLineWrapMode(QTextEdit::WidgetWidth);
setAcceptRichText(false);
QTextOption option = document()->defaultTextOption();
option.setFlags(option.flags()
| QTextOption::ShowLineAndParagraphSeparators
| QTextOption::ShowTabsAndSpaces);
document()->setDefaultTextOption(option);
// Do not set different background if disabled
QPalette p = palette();
p.setColor(QPalette::Disabled, QPalette::Base, p.color(QPalette::Active, QPalette::Base));
setPalette(p);
setEditable(true);
m_highlighter = new MessageHighlighter(this);
}
示例4: d
TextDocument::TextDocument(Id id)
: d(new TextDocumentPrivate)
{
connect(&d->m_document, &QTextDocument::modificationChanged,
this, &TextDocument::modificationChanged);
connect(&d->m_document, &QTextDocument::contentsChanged,
this, &Core::IDocument::contentsChanged);
connect(&d->m_document, &QTextDocument::contentsChange,
this, &TextDocument::contentsChangedWithPosition);
// set new document layout
QTextOption opt = d->m_document.defaultTextOption();
opt.setTextDirection(Qt::LeftToRight);
opt.setFlags(opt.flags() | QTextOption::IncludeTrailingSpaces
| QTextOption::AddSpaceForLineAndParagraphSeparators
);
d->m_document.setDefaultTextOption(opt);
d->m_document.setDocumentLayout(new TextDocumentLayout(&d->m_document));
if (id.isValid())
setId(id);
setSuspendAllowed(true);
}
示例5: layoutBlock
void TextDocumentLayout::layoutBlock(const QTextBlock &block)
{
QTextDocument *doc = document();
qreal margin = doc->documentMargin();
qreal blockMaximumWidth = 0;
qreal height = 0;
QTextLayout *tl = block.layout();
QTextOption option = doc->defaultTextOption();
tl->setTextOption(option);
int extraMargin = 0;
if (option.flags() & QTextOption::AddSpaceForLineAndParagraphSeparators) {
QFontMetrics fm(block.charFormat().font());
extraMargin += fm.width(QChar(0x21B5));
}
tl->beginLayout();
qreal availableWidth = d->width;
if (availableWidth <= 0) {
availableWidth = qreal(INT_MAX); // similar to text edit with pageSize.width == 0
}
availableWidth -= 2*margin + extraMargin;
qreal indentMargin = 0;
while (1) {
QTextLine line = tl->createLine();
if (!line.isValid())
break;
line.setLeadingIncluded(true);
line.setLineWidth(availableWidth - indentMargin);
line.setPosition(QPointF(margin + indentMargin, height));
if(!height) //enter only in the first iteration
{
indentMargin = indentWidth(block);
}
height += line.height();
blockMaximumWidth = qMax(blockMaximumWidth, line.naturalTextWidth() + 2*margin);
}
tl->endLayout();
int previousLineCount = doc->lineCount();
const_cast<QTextBlock&>(block).setLineCount(block.isVisible() ? tl->lineCount() : 0);
int lineCount = doc->lineCount();
bool emitDocumentSizeChanged = previousLineCount != lineCount;
if (blockMaximumWidth > d->maximumWidth) {
// new longest line
d->maximumWidth = blockMaximumWidth;
d->maximumWidthBlockNumber = block.blockNumber();
emitDocumentSizeChanged = true;
} else if (block.blockNumber() == d->maximumWidthBlockNumber && blockMaximumWidth < d->maximumWidth) {
// longest line shrinking
QTextBlock b = doc->firstBlock();
d->maximumWidth = 0;
QTextBlock maximumBlock;
while (b.isValid()) {
qreal blockMaximumWidth = blockWidth(b);
if (blockMaximumWidth > d->maximumWidth) {
d->maximumWidth = blockMaximumWidth;
maximumBlock = b;
}
b = b.next();
}
if (maximumBlock.isValid()) {
d->maximumWidthBlockNumber = maximumBlock.blockNumber();
emitDocumentSizeChanged = true;
}
}
if (emitDocumentSizeChanged)// && !d->blockDocumentSizeChanged)
emit documentSizeChanged(documentSize());
emit updateBlock(block);
}
示例6: flags
int TextOption::flags ( lua_State * L ) //const Flags
{
QTextOption* lhs = ValueInstaller2<QTextOption>::check( L, 1 );
lhs->flags();
return 0;
}