Date: prev next · Thread: first prev next last
2015 Archives by date, by thread · List index


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, )

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.