LCOV - code coverage report
Current view: top level - solver/unxlngi6.pro/inc/svtools - headbar.hxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 2 12 16.7 %
Date: 2012-08-25 Functions: 2 12 16.7 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 0 0 -

           Branch data     Line data    Source code
       1                 :            : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2                 :            : /*************************************************************************
       3                 :            :  *
       4                 :            :  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       5                 :            :  *
       6                 :            :  * Copyright 2000, 2010 Oracle and/or its affiliates.
       7                 :            :  *
       8                 :            :  * OpenOffice.org - a multi-platform office productivity suite
       9                 :            :  *
      10                 :            :  * This file is part of OpenOffice.org.
      11                 :            :  *
      12                 :            :  * OpenOffice.org is free software: you can redistribute it and/or modify
      13                 :            :  * it under the terms of the GNU Lesser General Public License version 3
      14                 :            :  * only, as published by the Free Software Foundation.
      15                 :            :  *
      16                 :            :  * OpenOffice.org is distributed in the hope that it will be useful,
      17                 :            :  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      18                 :            :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      19                 :            :  * GNU Lesser General Public License version 3 for more details
      20                 :            :  * (a copy is included in the LICENSE file that accompanied this code).
      21                 :            :  *
      22                 :            :  * You should have received a copy of the GNU Lesser General Public License
      23                 :            :  * version 3 along with OpenOffice.org.  If not, see
      24                 :            :  * <http://www.openoffice.org/license.html>
      25                 :            :  * for a copy of the LGPLv3 License.
      26                 :            :  *
      27                 :            :  ************************************************************************/
      28                 :            : 
      29                 :            : #ifndef _HEADBAR_HXX
      30                 :            : #define _HEADBAR_HXX
      31                 :            : 
      32                 :            : #include "svtools/svtdllapi.h"
      33                 :            : #include <tools/link.hxx>
      34                 :            : #include <vcl/window.hxx>
      35                 :            : 
      36                 :            : /*************************************************************************
      37                 :            : 
      38                 :            : Beschreibung
      39                 :            : ============
      40                 :            : 
      41                 :            : class HeaderBar
      42                 :            : 
      43                 :            : Diese Klasse dient zur Anzeige einer Ueberschiftszeile. Diese kann Texte,
      44                 :            : Images oder beides anzeigen. Man kann die Items in der Groesse aendern,
      45                 :            : verschieben oder anklicken. In vielen Faellen macht es zum Beispiel Sinn,
      46                 :            : dieses Control mit einer SvTabListBox zu verbinden.
      47                 :            : 
      48                 :            : --------------------------------------------------------------------------
      49                 :            : 
      50                 :            : WinBits
      51                 :            : 
      52                 :            : WB_BORDER           Oben und unten wird ein Border gezeichnet
      53                 :            : WB_BOTTOMBORDER     Unten wird ein Border gezeichnet
      54                 :            : WB_BUTTONSTYLE      Die Items sehen aus wie Buttons, ansonsten sind sie flach
      55                 :            : WB_3DLOOK           3D-Darstellung
      56                 :            : WB_DRAG             Items koennen verschoben werden
      57                 :            : WB_STDHEADERBAR     WB_BUTTONSTYLE | WB_BOTTOMBORDER
      58                 :            : 
      59                 :            : --------------------------------------------------------------------------
      60                 :            : 
      61                 :            : ItemBits
      62                 :            : 
      63                 :            : HIB_LEFT            Inhalt wird im Item linksbuendig ausgegeben
      64                 :            : HIB_CENTER          Inhalt wird im Item zentriert ausgegeben
      65                 :            : HIB_RIGHT           Inhalt wird im Item rechtsbuendig ausgegeben
      66                 :            : HIB_TOP             Inhalt wird im Item an der oberen Kante ausgegeben
      67                 :            : HIB_VCENTER         Inhalt wird im Item vertikal zentiert ausgegeben
      68                 :            : HIB_BOTTOM          Inhalt wird im Item an der unteren Kante ausgegeben
      69                 :            : HIB_LEFTIMAGE       Bei Text und Image, wird Image links vom Text ausgegeben
      70                 :            : HIB_RIGHTIMAGE      Bei Text und Image, wird Image rechts vom Text ausgegeben
      71                 :            : HIB_FIXED           Item laesst sich nicht in der Groesse aendern
      72                 :            : HIB_FIXEDPOS        Item laesst sich nicht verschieben
      73                 :            : HIB_CLICKABLE       Item laesst sich anklicken
      74                 :            :                     (Select-Handler wird erst bei MouseButtonUp gerufen)
      75                 :            : HIB_FLAT            Item wird flach dargestellt, auch wenn WB_BUTTONSTYLE gesetzt ist
      76                 :            : HIB_DOWNARROW       Es wird ein Pfeil nach unter hinter dem Text ausgegeben,
      77                 :            :                     welcher zum Beispiel angezeigt werden sollte, wenn nach
      78                 :            :                     diesem Item eine dazugehoerende Liste absteigend sortiert
      79                 :            :                     ist. Der Status des Pfeils kann mit SetItemBits()
      80                 :            :                     gesetzt/zurueckgesetzt werden.
      81                 :            : HIB_UPARROW         Es wird ein Pfeil nach oben hinter dem Text ausgegeben,
      82                 :            :                     welcher zum Beispiel angezeigt werden sollte, wenn nach
      83                 :            :                     diesem Item eine dazugehoerende Liste aufsteigend sortiert
      84                 :            :                     ist.Der Status des Pfeils kann mit SetItemBits()
      85                 :            :                     gesetzt/zurueckgesetzt werden.
      86                 :            : HIB_USERDRAW        Zu diesem Item wird auch der UserDraw-Handler gerufen.
      87                 :            : HIB_STDSTYLE        (HIB_LEFT | HIB_LEFTIMAGE | HIB_VCENTER | HIB_CLICKABLE)
      88                 :            : 
      89                 :            : --------------------------------------------------------------------------
      90                 :            : 
      91                 :            : Handler
      92                 :            : 
      93                 :            : Select()            Wird gerufen, wenn Item angeklickt wird. Wenn
      94                 :            :                     HIB_CLICKABLE beim Item gesetzt ist und nicht HIB_FLAT,
      95                 :            :                     wird der Handler erst im MouseButtonUp-Handler gerufen,
      96                 :            :                     wenn die Maus ueber dem Item losgelassen wurde. Dann
      97                 :            :                     verhaellt sich der Select-Handler wie bei einem
      98                 :            :                     ToolBox-Button.
      99                 :            : DoubleClick()       Dieser Handler wird gerufen, wenn ein Item
     100                 :            :                     doppelt geklickt wird. Ob das Item oder der
     101                 :            :                     Trenner angeklickt wurden, kann mit IsItemMode()
     102                 :            :                     abgefragt werden. Wenn ein Trenner doppelt angeklickt
     103                 :            :                     wird, sollte normalerweise die optimale Spaltenbreite
     104                 :            :                     berechnet werden und diese gesetzt werden.
     105                 :            : StartDrag()         Dieser Handler wird gerufen, wenn Draggen gestartet
     106                 :            :                     wird, bzw. wenn ein Item angeklickt wurde.
     107                 :            :                     In diesem Handler sollte spaetestens mit SetDragSize()
     108                 :            :                     die Groesse der Size-Linie gesetzt werden, wenn
     109                 :            :                     IsItemMode() sal_False zurueckliefert.
     110                 :            : Drag()              Dieser Handler wird gerufen, wenn gedraggt wird. Wenn
     111                 :            :                     mit SetDragSize() keine Groesse gesetzt wird, kann
     112                 :            :                     dieser Handler dafuer benutzt werden, um die
     113                 :            :                     Linie im angrenzenden Fenster selber zu zeichnen. Mit
     114                 :            :                     GetDragPos() kann die aktuelle Drag-Position abgefragt
     115                 :            :                     werden. Mit IsItemMode() sollte in diesem Fall
     116                 :            :                     abgefragt werden, ob auch ein Trenner gedraggt wird.
     117                 :            : EndDrag()           Dieser Handler wird gerufen, wenn ein Drag-Vorgang
     118                 :            :                     beendet wurde. Wenn im EndDrag-Handler GetCurItemId()
     119                 :            :                     0 zurueckliefert, wurde der Drag-Vorgang abgebrochen.
     120                 :            :                     Wenn dies nicht der Fall ist und IsItemMode() sal_False
     121                 :            :                     zurueckliefert, sollte von dem gedraggten Item
     122                 :            :                     die neue Groesse mit GetItemSize() abgefragt werden
     123                 :            :                     und entsprechend im dazugehoerigem Control uebernommen
     124                 :            :                     werden. Wenn IsItemMode() sal_True, GetCurItemId() eine Id
     125                 :            :                     und IsItemDrag() sal_True zurueckliefert, wurde dieses
     126                 :            :                     Item verschoben. Es sollte dann mit GetItemPos() die
     127                 :            :                     neue Position abgefragt werden und auch die Daten
     128                 :            :                     im dazugehoerigem Control angepasst werden. Ansonsten
     129                 :            :                     koennte auch mit GetItemDragPos() die Position abgefragt
     130                 :            :                     werden, an welche Stelle das Item verschoben wurde.
     131                 :            : 
     132                 :            : 
     133                 :            : Weitere Methoden, die fuer die Handler wichtig sind.
     134                 :            : 
     135                 :            : GetCurItemId()      Liefert die Id vom Item zurueck, fuer welches gerade
     136                 :            :                     der Handler gerufen wurde. Liefert nur eine gueltige
     137                 :            :                     Id in den Handlern Select(), DoubleClick(), StartDrag(),
     138                 :            :                     Drag() und EndDrag(). Im EndDrag-Handler leifert
     139                 :            :                     diese Methode die Id vom gedraggten Item zurueck oder
     140                 :            :                     0, wenn der Drag-Vorgang abgebrochen wurde.
     141                 :            : GetItemDragPos()    Liefert die Position zurueck, an der ein Item verschoben
     142                 :            :                     wird bzw. wurde. HEADERBAR_ITEM_NOTFOUND wird
     143                 :            :                     zurueckgeliefert, wenn der Vorgang abgebrochen wurde
     144                 :            :                     oder wenn kein ItemDrag aktiv ist.
     145                 :            : IsItemMode()        Mit dieser Methode kann abgefragt werden, ob fuer ein
     146                 :            :                     Item oder einen Trenner der Handler gerufen wurde.
     147                 :            :                     sal_True    - Handler wurde fuer das Item gerufen
     148                 :            :                     sal_False   - Handler wurde fuer den Trenner gerufen
     149                 :            : IsItemDrag()        Mit dieser Methode kann abgefragt werden, ob ein
     150                 :            :                     Item gedragt oder selektiert wurde.
     151                 :            :                     sal_True    - Item wird verschoben
     152                 :            :                     sal_False   - Item wird selektiert
     153                 :            : SetDragSize()       Mit dieser Methode wird gesetzt, wir gross der
     154                 :            :                     Trennstrich sein soll, der vom Control gemalt wird.
     155                 :            :                     Dies sollte so gross sein, wie das angrenzende Fenster
     156                 :            :                     hoch ist. Die Hoehe vom HeaderBar wird automatisch
     157                 :            :                     dazugerechnet.
     158                 :            : 
     159                 :            : --------------------------------------------------------------------------
     160                 :            : 
     161                 :            : Weitere Methoden
     162                 :            : 
     163                 :            : SetOffset()             Mit dieser Methode wird der Offset gesetzt, ab dem
     164                 :            :                         die Items ausgegeben werden. Dies wird benoetigt,
     165                 :            :                         wenn das dazugehoerige Fenster gescrollt wird.
     166                 :            : CalcWindowSizePixel()   Mit dieser Methode kann man die Hoehe des Fensters
     167                 :            :                         berechnen, damit der Inhalt der Items ausgegeben
     168                 :            :                         werden kann.
     169                 :            : 
     170                 :            : --------------------------------------------------------------------------
     171                 :            : 
     172                 :            : Tips und Tricks:
     173                 :            : 
     174                 :            : 1) KontextMenu
     175                 :            : Wenn ein kontextsensitives PopupMenu anzeigt werden soll, muss der
     176                 :            : Command-Handler ueberlagert werden. Mit GetItemId() und bei
     177                 :            : Uebergabe der Mausposition kann ermittelt werden, ob der Mausclick
     178                 :            : ueber einem bzw. ueber welchem Item durchgefuehrt wurde.
     179                 :            : 
     180                 :            : 2) Letztes Item
     181                 :            : Wenn man ButtonStyle gesetzt hat, sieht es besser aus, wenn man am
     182                 :            : Ende noch ein leeres Item setzt, was den restlichen Platz einnimmt.
     183                 :            : Dazu fuegt man ein Item mit einem leeren String ein und uebergibt als
     184                 :            : Groesse HEADERBAR_FULLSIZE. Bei diesem Item sollte man dann auch
     185                 :            : nicht HIB_CLICKABLE setzen und dafuer HIB_FIXEDPOS.
     186                 :            : 
     187                 :            : *************************************************************************/
     188                 :            : 
     189                 :            : class Accelerator;
     190                 :            : class ImplHeadItem;
     191                 :            : 
     192                 :            : typedef ::std::vector< ImplHeadItem* > ImplHeadItemList;
     193                 :            : 
     194                 :            : // -----------
     195                 :            : // - WinBits -
     196                 :            : // -----------
     197                 :            : 
     198                 :            : #define WB_BOTTOMBORDER         ((WinBits)0x0400)
     199                 :            : #define WB_BUTTONSTYLE          ((WinBits)0x0800)
     200                 :            : #define WB_STDHEADERBAR         (WB_BUTTONSTYLE | WB_BOTTOMBORDER)
     201                 :            : 
     202                 :            : // ---------------------
     203                 :            : // - HeaderBarItemBits -
     204                 :            : // ---------------------
     205                 :            : 
     206                 :            : typedef sal_uInt16 HeaderBarItemBits;
     207                 :            : 
     208                 :            : // ----------------------------
     209                 :            : // - Bits fuer HeaderBarItems -
     210                 :            : // ----------------------------
     211                 :            : 
     212                 :            : #define HIB_LEFT                ((HeaderBarItemBits)0x0001)
     213                 :            : #define HIB_CENTER              ((HeaderBarItemBits)0x0002)
     214                 :            : #define HIB_RIGHT               ((HeaderBarItemBits)0x0004)
     215                 :            : #define HIB_TOP                 ((HeaderBarItemBits)0x0008)
     216                 :            : #define HIB_VCENTER             ((HeaderBarItemBits)0x0010)
     217                 :            : #define HIB_BOTTOM              ((HeaderBarItemBits)0x0020)
     218                 :            : #define HIB_LEFTIMAGE           ((HeaderBarItemBits)0x0040)
     219                 :            : #define HIB_RIGHTIMAGE          ((HeaderBarItemBits)0x0080)
     220                 :            : #define HIB_FIXED               ((HeaderBarItemBits)0x0100)
     221                 :            : #define HIB_FIXEDPOS            ((HeaderBarItemBits)0x0200)
     222                 :            : #define HIB_CLICKABLE           ((HeaderBarItemBits)0x0400)
     223                 :            : #define HIB_FLAT                ((HeaderBarItemBits)0x0800)
     224                 :            : #define HIB_DOWNARROW           ((HeaderBarItemBits)0x1000)
     225                 :            : #define HIB_UPARROW             ((HeaderBarItemBits)0x2000)
     226                 :            : #define HIB_USERDRAW            ((HeaderBarItemBits)0x4000)
     227                 :            : #define HIB_STDSTYLE            (HIB_LEFT | HIB_LEFTIMAGE | HIB_VCENTER | HIB_CLICKABLE)
     228                 :            : 
     229                 :            : // -------------------
     230                 :            : // - HeaderBar-Types -
     231                 :            : // -------------------
     232                 :            : 
     233                 :            : #define HEADERBAR_APPEND            ((sal_uInt16)0xFFFF)
     234                 :            : #define HEADERBAR_ITEM_NOTFOUND     ((sal_uInt16)0xFFFF)
     235                 :            : #define HEADERBAR_FULLSIZE          ((long)1000000000)
     236                 :            : 
     237                 :            : #define HEADERBAR_TEXTOFF           2
     238                 :            : 
     239                 :            : // -------------
     240                 :            : // - HeaderBar -
     241                 :            : // -------------
     242                 :            : 
     243                 :            : class SVT_DLLPUBLIC HeaderBar : public Window
     244                 :            : {
     245                 :            : private:
     246                 :            :     ImplHeadItemList*   mpItemList;
     247                 :            :     long                mnBorderOff1;
     248                 :            :     long                mnBorderOff2;
     249                 :            :     long                mnOffset;
     250                 :            :     long                mnDX;
     251                 :            :     long                mnDY;
     252                 :            :     long                mnDragSize;
     253                 :            :     long                mnStartPos;
     254                 :            :     long                mnDragPos;
     255                 :            :     long                mnMouseOff;
     256                 :            :     sal_uInt16              mnCurItemId;
     257                 :            :     sal_uInt16              mnItemDragPos;
     258                 :            :     sal_Bool                mbDragable;
     259                 :            :     sal_Bool                mbDrag;
     260                 :            :     sal_Bool                mbItemDrag;
     261                 :            :     sal_Bool                mbOutDrag;
     262                 :            :     sal_Bool                mbButtonStyle;
     263                 :            :     sal_Bool                mbItemMode;
     264                 :            :     Link                maStartDragHdl;
     265                 :            :     Link                maDragHdl;
     266                 :            :     Link                maEndDragHdl;
     267                 :            :     Link                maSelectHdl;
     268                 :            :     Link                maDoubleClickHdl;
     269                 :            :     Link                maCreateAccessibleHdl;
     270                 :            : 
     271                 :            :     ::com::sun::star::uno::Reference<
     272                 :            :         ::com::sun::star::accessibility::XAccessible >
     273                 :            :                         mxAccessible;
     274                 :            : 
     275                 :            : #ifdef _SV_HEADBAR_CXX
     276                 :            :     using Window::ImplInit;
     277                 :            :     SVT_DLLPRIVATE void             ImplInit( WinBits nWinStyle );
     278                 :            :     SVT_DLLPRIVATE void             ImplInitSettings( sal_Bool bFont, sal_Bool bForeground, sal_Bool bBackground );
     279                 :            :     SVT_DLLPRIVATE long             ImplGetItemPos( sal_uInt16 nPos ) const;
     280                 :            :     SVT_DLLPRIVATE Rectangle            ImplGetItemRect( sal_uInt16 nPos ) const;
     281                 :            :     using Window::ImplHitTest;
     282                 :            :     SVT_DLLPRIVATE sal_uInt16               ImplHitTest( const Point& rPos, long& nMouseOff, sal_uInt16& nPos ) const;
     283                 :            :     SVT_DLLPRIVATE void             ImplInvertDrag( sal_uInt16 nStartPos, sal_uInt16 nEndPos );
     284                 :            :     SVT_DLLPRIVATE void             ImplDrawItem( OutputDevice* pDev,
     285                 :            :                                       sal_uInt16 nPos, sal_Bool bHigh, sal_Bool bDrag,
     286                 :            :                                       const Rectangle& rItemRect,
     287                 :            :                                       const Rectangle* pRect,
     288                 :            :                                       sal_uLong nFlags );
     289                 :            :     SVT_DLLPRIVATE void             ImplDrawItem( sal_uInt16 nPos, sal_Bool bHigh = sal_False,
     290                 :            :                                       sal_Bool bDrag = sal_False,
     291                 :            :                                       const Rectangle* pRect = NULL );
     292                 :            :     SVT_DLLPRIVATE void             ImplUpdate( sal_uInt16 nPos,
     293                 :            :                                     sal_Bool bEnd = sal_False, sal_Bool bDirect = sal_False );
     294                 :            :     SVT_DLLPRIVATE void             ImplStartDrag( const Point& rPos, sal_Bool bCommand );
     295                 :            :     SVT_DLLPRIVATE void             ImplDrag( const Point& rPos );
     296                 :            :     SVT_DLLPRIVATE void             ImplEndDrag( sal_Bool bCancel );
     297                 :            : #endif
     298                 :            : 
     299                 :            : public:
     300                 :            :                         HeaderBar( Window* pParent, WinBits nWinBits = WB_STDHEADERBAR );
     301                 :            :                         HeaderBar( Window* pParent, const ResId& rResId );
     302                 :            :                         ~HeaderBar();
     303                 :            : 
     304                 :            :     virtual void        MouseButtonDown( const MouseEvent& rMEvt );
     305                 :            :     virtual void        MouseMove( const MouseEvent& rMEvt );
     306                 :            :     virtual void        Tracking( const TrackingEvent& rTEvt );
     307                 :            :     virtual void        Paint( const Rectangle& rRect );
     308                 :            :     virtual void        Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, sal_uLong nFlags );
     309                 :            :     virtual void        Resize();
     310                 :            :     virtual void        Command( const CommandEvent& rCEvt );
     311                 :            :     virtual void        RequestHelp( const HelpEvent& rHEvt );
     312                 :            :     virtual void        StateChanged( StateChangedType nStateChange );
     313                 :            :     virtual void        DataChanged( const DataChangedEvent& rDCEvt );
     314                 :            : 
     315                 :            :     virtual void        UserDraw( const UserDrawEvent& rUDEvt );
     316                 :            :     virtual void        StartDrag();
     317                 :            :     virtual void        Drag();
     318                 :            :     virtual void        EndDrag();
     319                 :            :     virtual void        Select();
     320                 :            :     virtual void        DoubleClick();
     321                 :            : 
     322                 :            :     void                InsertItem( sal_uInt16 nItemId, const XubString& rText,
     323                 :            :                                     long nSize, HeaderBarItemBits nBits = HIB_STDSTYLE,
     324                 :            :                                     sal_uInt16 nPos = HEADERBAR_APPEND );
     325                 :            :     void                RemoveItem( sal_uInt16 nItemId );
     326                 :            :     void                MoveItem( sal_uInt16 nItemId, sal_uInt16 nNewPos );
     327                 :            :     void                Clear();
     328                 :            : 
     329                 :            :     void                SetOffset( long nNewOffset = 0 );
     330                 :            :     long                GetOffset() const { return mnOffset; }
     331                 :          0 :     inline void         SetDragSize( long nNewSize = 0 ) { mnDragSize = nNewSize; }
     332                 :            :     long                GetDragSize() const { return mnDragSize; }
     333                 :            : 
     334                 :            :     sal_uInt16              GetItemCount() const;
     335                 :            :     sal_uInt16              GetItemPos( sal_uInt16 nItemId ) const;
     336                 :            :     sal_uInt16              GetItemId( sal_uInt16 nPos ) const;
     337                 :            :     sal_uInt16              GetItemId( const Point& rPos ) const;
     338                 :            :     Rectangle           GetItemRect( sal_uInt16 nItemId ) const;
     339                 :          0 :     sal_uInt16              GetCurItemId() const { return mnCurItemId; }
     340                 :          0 :     long                GetDragPos() const { return mnDragPos; }
     341                 :            :     sal_uInt16              GetItemDragPos() const { return mnItemDragPos; }
     342                 :          0 :     sal_Bool                IsItemMode() const { return mbItemMode; }
     343                 :            :     sal_Bool                IsItemDrag() const { return mbItemDrag; }
     344                 :            : 
     345                 :            :     void                SetItemSize( sal_uInt16 nItemId, long nNewSize );
     346                 :            :     long                GetItemSize( sal_uInt16 nItemId ) const;
     347                 :            :     void                SetItemBits( sal_uInt16 nItemId, HeaderBarItemBits nNewBits );
     348                 :            :     HeaderBarItemBits   GetItemBits( sal_uInt16 nItemId ) const;
     349                 :            : 
     350                 :            :     void                SetItemText( sal_uInt16 nItemId, const XubString& rText );
     351                 :            :     XubString           GetItemText( sal_uInt16 nItemId ) const;
     352                 :            : 
     353                 :            :     XubString           GetHelpText( sal_uInt16 nItemId ) const;
     354                 :            :     rtl::OString        GetHelpId( sal_uInt16 nItemId ) const;
     355                 :            : 
     356                 :            :     Size                CalcWindowSizePixel() const;
     357                 :            : 
     358                 :            :     inline void             SetHelpText( const String& rText )      { Window::SetHelpText( rText ); }
     359                 :            :     inline const String&    GetHelpText() const                     { return Window::GetHelpText(); }
     360                 :          2 :     inline void             SetHelpId( const rtl::OString& rId )    { Window::SetHelpId( rId ); }
     361                 :            :     inline const rtl::OString& GetHelpId() const                    { return Window::GetHelpId(); }
     362                 :            : 
     363                 :         80 :     inline void         SetStartDragHdl( const Link& rLink )        { maStartDragHdl = rLink; }
     364                 :            :     inline const Link&  GetStartDragHdl() const                     { return maStartDragHdl; }
     365                 :          0 :     inline void         SetDragHdl( const Link& rLink )             { maDragHdl = rLink; }
     366                 :            :     inline const Link&  GetDragHdl() const                          { return maDragHdl; }
     367                 :          0 :     inline void         SetEndDragHdl( const Link& rLink )          { maEndDragHdl = rLink; }
     368                 :            :     inline const Link&  GetEndDragHdl() const                       { return maEndDragHdl; }
     369                 :          0 :     inline void         SetSelectHdl( const Link& rLink )           { maSelectHdl = rLink; }
     370                 :            :     inline const Link&  GetSelectHdl() const                        { return maSelectHdl; }
     371                 :          0 :     inline void         SetDoubleClickHdl( const Link& rLink )      { maDoubleClickHdl = rLink; }
     372                 :            :     inline const Link&  GetDoubleClickHdl() const                   { return maDoubleClickHdl; }
     373                 :          0 :     inline void         SetCreateAccessibleHdl( const Link& rLink ) { maCreateAccessibleHdl = rLink; }
     374                 :            :     inline const Link&  GetCreateAccessibleHdl() const              { return maCreateAccessibleHdl; }
     375                 :            : 
     376                 :          0 :     inline sal_Bool         IsDragable() const                          { return mbDragable; }
     377                 :            : 
     378                 :            :     /** Creates and returns the accessible object of the header bar. */
     379                 :            :     virtual ::com::sun::star::uno::Reference<
     380                 :            :         ::com::sun::star::accessibility::XAccessible >  CreateAccessible();
     381                 :            :     void SetAccessible( ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > );
     382                 :            : };
     383                 :            : 
     384                 :            : #endif  // _HEADBAR_HXX
     385                 :            : 
     386                 :            : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10