/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 */


 module com {  module sun {  module star {  module ui {

/** provides access to Panel
    @since LibreOffice 5.1
*/

interface XPanel

{
    /** The panel identifier
    */
    string getId();

    /** Get the panel title string
    */
    string getTitle();

    /** Set the panel title string

        @param newTitle
            The new title string
    */
    void setTitle( [in] string newTitle );

    /** Is the panel expanded
    */
    boolean isExpanded();

    /** Collapse the panel to only show its title bar
    */
    void collapse ();

    /** Expand and display the panel

        @param bCollapseOther
            <ul>
            <li>TRUE collapse all other panels of the deck</li>
            <li>FALSE do not change other panels state</li>
            </ul>
    */
    void expand ( [in] boolean bCollapseOther );

    /** Get the ordering index of the panel in the deck
    */
    long getOrderIndex();

    /** Set the ordering index of the panel in the deck
    */
    void setOrderIndex( [in] long newOrderIndex );

    /** Move panel as first item of the deck
    */
    void moveFirst();

    /** Move panel as last item of the deck
    **/
    void moveLast();

    /** Move panel one step up in the deck
    */
    void moveUp();

    /** Move the panel one step down in the deck
    */
    void moveDown();

    /** Get the panel dialog element
    */
    com::sun::star::awt::XWindow getDialog();

};


}; }; }; };

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */