Uno sidebar API proposal
Laurent Godard
lgodard.libre at laposte.net
Wed Apr 29 01:06:15 PDT 2015
Hi all
The libreoffice sidebar can be enhanced by adding Decks and Panels via
extensions
Unfortunatelly, there is no available UNO API to easily manipulate the
sidebar, the decks, the panels once deployed
So I plan to write some (first ideas at the end of the mail)
(targeting calc & writer for the moment)
i did some premiminary PoC using the existing sfx2/sidebar stuff
There seems to be some limitations and i'll probably have to rework this
for example, only the current active deck object is available. deck
seems to be rebuilt at each changes
why such a choice ?
would it be too costly to build/store all the desks/panels
I would like your opinion about the approach and be assured that this
work will be not dropped (if i succeed as my skills are limited)
I'll work on a separate branch and will follow carefully the GSoC
related to this sidebar topic
Any comment welcomme
Laurent
'------------------
firs ideas on an UNO Sidebar API
* currenController or XComponent ?
--> getSidebar --> see *currentSidebar
* currentSidebar
--> enable/disable : show or hides the sidebar (as menu view > sidebar)
--> getDesks --> see *Desks
--> getEnabledDesksNames
--> getActiveDesk --> see *Desk
* Desks
--> count
--> getByName --> see *Desk
--> getByindex --> see *Desk
* Desk
--> show/hide (or activate ?)
--> enable/disable (same as the checkboxes of the sidebar
customization dropdown menu)
--> setIndex : to control the dispaly order of desks icons ? moves
down the other ? only for custom desks (deployed by extension) to
preserve built-in desks layout ?
--> getPanels --> see *Panels
--> some properties (name, label, context ...)
* Panels
--> count
--> getByName --> see *Panel
--> getByindex --> see *Panel
* Panel
--> expand/collapse (with option for collapsing all the other if
expand)
--> setIndex : to control the display order of panels in the deck ?
moves down the other ?
--> getDialog : get the dialog object to be able to access UI controls
--> some properties (name, label, )
More information about the LibreOffice
mailing list