[Qt-interest] Inserting a QTextBlock without inserting a newline

d3fault d3faultdotxbe at gmail.com
Mon Feb 28 10:30:59 CET 2011


Hi all,
suppose I want to have a custom QTextEdit with foldable words. I want to
have the functionality to be able to fold every word on a single line
individually. They fold when they are clicked on and become a plus (+) or
something  similar/arbitrary (which, when clicked on again, unfolds the text
back to the original word). After looking through
basetexteditor.cpp<http://qt.gitorious.org/qt-creator/qt-creator/blobs/master/src/plugins/texteditor/basetexteditor.cpp>(the
source code that Qt Creator uses to fold text in comments etc), it
appears as if the route to go is to put whatever text I want to fold in a
QTextBlock. I should also note that I am putting individual spaces into
their own QTextBlock's to keep things organized. However, consider the
following code:

void MyCustomTextEdit::keyPressEvent ( QKeyEvent * event )
{
    if(!(event->key() == Qt::Key_Space))
    {
        m_Cursor->insertText(event->text());
    }
    else //event->key() == Qt::Key_Space
    {
        QTextBlockFormat qtbf;
        QTextFormat::PageBreakFlags pbf(QTextFormat::PageBreak_AlwaysAfter);
//I've also tried AlwaysBefore here. didn't work either.
        qtbf.setPageBreakPolicy(pbf);
        qtbf.setNonBreakableLines(true); //also tried false here. didn't
work either

        m_Cursor->insertBlock(qtbf); //right here a newline is inserted into
my QTextEdit
        m_Cursor->insertText(" ");
        m_Cursor->insertBlock(qtbf); //and again here
    }
}

when running, this is the output:
word1

word2

word3

word4

word5

i want it to be like this:
word1 word2 word3 word4 word5

Once I get each of those words into their own QTextBlock, I should have no
problem getting them to fold/unfold individually when clicked. I am not
asking how to fold/unfold them, I'm pretty sure I can figure that part out
myself.

Thanks,
d3fault
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20110228/6ad4c632/attachment.html 


More information about the Qt-interest-old mailing list