/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
/*
* 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 frame {
/** Allows to add Infobars to a frame.
This interface can be obtained via com : : sun : : star : : frame : : XController .
@ since LibreOffice 6 . 4
*/
interface XInfobarProvider: uno::XInterface
{
/** Creates and displays a new Infobar.
@ param id
The ID by which this Infobar is recognized .
You can remove the Infobar afterwards using this ID .
@ param primaryMessage
The ( short ) primary message .
Will appear at the start of the infobar in bold letters .
May be empty .
@ param secondaryMessage
The ( longer ) secondary message .
Will appear in normal letters after the primaryMessage
@ param infobarType
The type of the Infobar .
See com : : sun : : star : : frame : : InfobarType for possible values .
@ param actionButtons
A sequence of action buttons .
The buttons will be added from Right to Left at the right side of the info bar .
Each button is represented by a com : : sun : : star : : beans : : StringPair .
StringPair : : First represents the button label , while
StringPair : : Second represents the button URL which will be called on button click .
The URL can be any URL , either external ( http : //libreoffice.org), or internal (.uno:Save),
or from your extension ( service : your . example . Extension ? anyAction ) .
@ param showCloseButton
Whether the Close ( x ) button is shown at the end of the Infobar .
Set to false , when you don ' t want the user to close the Infobar .
@ throws com : : sun : : star : : lang : : IllegalArgumentException
If an Infobar with the same ID already exists , or infobarType contains an invalid value .
< p > The example below adds a new infobar named MyInfoBar with type INFO and close ( x ) button . < / p >
@ code { . bas }
Sub AddInfobar
Dim buttons ( 1 ) as new com . sun . star . beans . StringPair
buttons ( 0 ) . first = " Close doc "
buttons ( 0 ) . second = " . uno : CloseDoc "
buttons ( 1 ) . first = " Paste into doc "
buttons ( 1 ) . second = " . uno : Paste "
ThisComponent . getCurrentController ( ) . appendInfobar ( " MyInfoBar " , " Hello world " , " Things happened . What now ? " , com . sun . star . frame . InfobarType . INFO , buttons , true )
End Sub
@ endcode
*/
void appendInfobar(
[in] string id,
[in] string primaryMessage,
[in] string secondaryMessage,
[in] long infobarType,
[in] sequence<com::sun::star::beans::StringPair> actionButtons,
[in] boolean showCloseButton)
raises(com::sun::star::lang::IllegalArgumentException);
/** Updates an existing Infobar.
Use if you want to update only small parts of the Infobar .
@ see appendInfobar for parameter documentation .
@ throws com : : sun : : star : : container : : NoSuchElementException
If no such Infobar exists ( it might have been closed by the user already )
@ throws com : : sun : : star : : lang : : IllegalArgumentException
If infobarType contains an invalid value .
< p > Update the infobar and change the type to WARNING < / p >
@ code { . bas }
Sub UpdateInfobar
ThisComponent . getCurrentController ( ) . updateInfobar ( " MyInfoBar " , " WARNING " , " Do not read this message . " , com . sun . star . frame . InfobarType . WARNING )
End Sub
@ endcode
*/
void updateInfobar(
[in] string id,
[in] string primaryMessage,
[in] string secondaryMessage,
[in] long infobarType)
raises(com::sun::star::container::NoSuchElementException);
/** Removes an existing Infobar.
@ param id
The ID which was used when creating this Infobar .
@ throws com : : sun : : star : : container : : NoSuchElementException
If no such Infobar exists ( it might have been closed by the user already )
< p > Remove MyInfoBar infobar < / p >
@ code { . bas }
Sub RemoveInfobar
ThisComponent . getCurrentController ( ) . removeInfobar ( " MyInfoBar " )
End Sub
@ endcode
*/
void removeInfobar([in] string id) raises(com::sun::star::container::NoSuchElementException);
/** Check if Infobar exists.
@ param id
The ID which was used when creating this Infobar .
@ since LibreOffice 7 . 0
@ code { . bas }
Function HasMyInfobar as boolean
hasMyInfoBar = ThisComponent . getCurrentController ( ) . hasInfobar ( " MyInfoBar " )
End Function
@ endcode
*/
boolean hasInfobar([in] string id);
};
}; }; }; };
/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
Messung V0.5 in Prozent C=89 H=98 G=93
¤ Dauer der Verarbeitung: 0.6 Sekunden
¤
*© Formatika GbR, Deutschland