[PATCH] Object Catalog in Dialog Editor

János Uray uray.janos at gmail.com
Thu Aug 16 22:59:56 PDT 2012

Now in Basic IDE, the Object Catalog window is not only visible in the
basic editor, but also in the dialog editor. The same window can be docked
in both. There was a ModulWindowLayout class that handled the the three
BasicDockingWindow's in basic editor: ObjectCatalog, StackWindow and
WatchWindow. A new class, Layout has been created, which handles the
docking windows in a bit more general way. Now ModulWindowLayout and a new
class, DialogWindowLayout are derived from Layout. The former has been
rewritten and simplified. The derived Layout classes tell Layout what
docking windows they want and where to put them.
BasicIDEShell has two Layout instances: a ModulWindowLayout and a
DialogWindowLayout. They are created on first use, and only one of them is
visible at a time. A generic pointer, pLayout points to the currently
active Layout.
BasicIDEShell has an ObjectCatalog instance, which is shared between the
two Layout's. It is reparented each time when the Layout changes.
As "code conventions" says, new classes are in namepace 'basctl'. I'm
planning to put all names into 'basctl', unless someone tells me not to do
Some minor simplification was also done related to these changes. Some
dynamic_cast's that targeted ModulWindow or DialogWindow (related to
ModulWindowLayout) now use virtual functions. Some code has been
transferred from BasicIDEShell to more appropriate place, into (virtual)
functions of Layout and ModulWindow/DialogWindow, enhancing encapsulation.

I'll continue working in Basic IDE. My plans are:
Continuing this with the dockable property browser in Dialog Editor.
Improving Object Catalog (e.g. able to select modules and dialogs, not only
Other refactorings: new/delete -> smart pointers, unnamed namespaces for
file-locals, Foo_Impl -> Foo::Impl, removing names beginning with '_'
(using these is undefined behaviour in C++), namespace basctl ...

Uray M. János
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20120817/42b6b7da/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Object-Catalog-in-Dialog-Editor.patch
Type: text/x-patch
Size: 178584 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20120817/42b6b7da/attachment-0001.bin>

More information about the LibreOffice mailing list