libreoffice writer sdk create RectangleShape

 
0
 
C++
ava
ss | 13.12.2016, 11:23
пытаюсь создать новую фигуру в writer. Возникает проблема с созданием переменной writerShape. Фабрика не передает так значение.
Пробую через Any.  Any выводит тип com.sun.star.uno.XInterface т.е. объект создается.
Кто может подсказать с чем причина и как добавить новую фигуру в документ ?

полный код https://www.dropbox.com/sh/5bg8407p4wpxewv/...UiMXnjtqqa?dl=0


Reference<XInterface > writerShape = xMultiServiceFactory_->createInstance(OUString::createFromAscii("com.sun.star.drawing.RectangleShape"));
                Any any1;
                any1 <<= xMultiServiceFactory_->createInstance(OUString::createFromAscii("com.sun.star.drawing.RectangleShape"));
                ::loggerReport::ShowMessage(any1.getValueTypeName());

                        IS_OBJECT_BEGIN(writerShape)
                            //создаем объект-фигуру Writer при помощи фабрики объектов
                            Reference<XShape> xWriterShape(writerShape , UNO_QUERY);
                            IS_OBJECT_BEGIN(xWriterShape)
                                //установка размера фигуры
                                xWriterShape->setSize(::css::awt::Size(10000, 10000));
                                //объект-текстовый контекст фигуры
                                Reference<XTextContent> xTextContentShape (writerShape, UNO_QUERY);
                                IS_OBJECT_BEGIN(xTextContentShape)
                                    //вставка его в конец текста документа
                                    xText->insertTextContent(xText->getEnd(), xTextContentShape, false);
                                IS_OBJECT_END(xTextContentShape)
                            IS_OBJECT_END(xWriterShape)
                        IS_OBJECT_END(writerShape)
Kommentare (0)

Kommentare werden nicht hinzugefügt

Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
  ss
advanced
Absenden