On 01/13/2016 05:33 AM, Konstantin Tokarev wrote:
13.01.2016, 04:10, "william.croc...@analog.com"<william.croc...@analog.com>:
On 01/12/2016 07:37 PM, Elvis Stansvik wrote:
2016-01-12 15:37 GMT+01:00 Bill Crocker<william.croc...@analog.com>:
Hello:
Could someone please show me the few lines of code required
to add a list *of three elements* to a QTextDocument using low
level (i.e QTextBlock, QTextCursor, QTextList, etc.) classes.
This would be one way:
That is all good stuff.
I had solved my problem and was going to fess up in the next few hours.
The part I needed was that little itsy-bitsy, under documented function
named add() which is hidden in plain sight at the top of the QTextList
documentation.
In my own defense, it is not used in qtexthtmlparser.cpp or qtextedit.cpp
which were the fist two stops (Qt 4.8.6) I made looking for answers.
Also, the documentation (Qt 4.8.6) does not appear to show you how to add the
second item to a list which is not at all like adding the first.
My application is also a little different. I am parsing my own XML
representation
of a document, and so would not parse the text and then make a second pass
to apply the structure. But I am good now that I know the add() trick.
Hi Bill,
You may want to use DOM parser to make things more convenient.
If you don't want to use QDom (there a many reasons not to use it), you cat try
great PugiXML parser:
I parse XML and traverse with QDom. That is not the problem.
Figuring out how to create a QTextDocument from it for use by QTextEdit was the
problem.
(IMHO QTextDocument has design and usability issues, but I would probably not
have done any
better given the complexity of the problem domain.)
I could just use the native HTML read/write capability, but I need to add my own
special
object types and it does not appear possible to save/restore them with HTML.
Is it possible save/restore my own objects using HTML?
I use the QTextObjectInterface interface to add them to QTextDocument, but did
not see how to save/restore. That is why I was forced to my own XML file format.
Thanks.
Bill
http://pugixml.org/
Thanks.
Bill
#include<QApplication>
#include<QTextBlock>
#include<QTextCursor>
#include<QTextDocument>
#include<QTextEdit>
#include<QTextList>
#include<QTextListFormat>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QTextEdit edit;
QTextDocument *doc = edit.document();
// Insert text.
QTextCursor cursor(doc);
cursor.insertText("A list of three items:\n");
cursor.insertText("One\n");
cursor.insertText("Two\n");
cursor.insertText("Three");
// Position cursor on "One".
cursor.movePosition(QTextCursor::Start);
cursor.movePosition(QTextCursor::NextBlock);
// Insert list.
QTextListFormat listFormat;
listFormat.setStyle(QTextListFormat::ListDisc);
QTextList *list = cursor.insertList(listFormat);
// Add "Two".
cursor.movePosition(QTextCursor::NextBlock);
list->add(cursor.block());
// Add "Three".
cursor.movePosition(QTextCursor::NextBlock);
list->add(cursor.block());
edit.show();
return app.exec();
}
Regards,
Elvis
Thanks.
--
Bill
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest