1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 #ifndef _TABBAR_HXX 23 #define _TABBAR_HXX 24 25 #include "svtools/svtdllapi.h" 26 #include <tools/link.hxx> 27 #include <vcl/window.hxx> 28 29 class MouseEvent; 30 class TrackingEvent; 31 class DataChangedEvent; 32 class ImplTabBarList; 33 class ImplTabButton; 34 class ImplTabSizer; 35 class TabBarEdit; 36 37 // ----------------- 38 // - Dokumentation - 39 // ----------------- 40 41 /* 42 43 Erlaubte StyleBits 44 ------------------ 45 46 WB_SCROLL - Die Tabs können über ein Extra-Feld gescrollt werden 47 WB_MINSCROLL - Die Tabs können über 2 zusätzliche Buttons gescrollt werden 48 WB_RANGESELECT - Zusammenhängende Bereiche können selektiert werden 49 WB_MULTISELECT - Einzelne Tabs können selektiert werden 50 WB_BORDER - Oben und unten wird ein Strich gezeichnet 51 WB_DRAG - Vom TabBar wird ein StartDrag-Handler gerufen, wenn 52 Drag and Drop gestartet werden soll. Es wird außerdem 53 im TabBar mit EnableDrop() Drag and Drop eingeschaltet. 54 WB_SIZEABLE - Vom TabBar wird ein Split-Handler gerufen, wenn der Anwender 55 den TabBar in der Breite ändern will 56 WB_STDTABBAR - WB_BORDER 57 58 59 Erlaubte PageBits 60 ----------------- 61 62 TPB_SPECIAL - Andere Darstellung des TabTextes, zum Beispiel für 63 Szenario-Seiten. 64 65 Handler 66 ------- 67 68 Select - Wird gerufen, wenn eine Tab selektiert oder 69 deselektiert wird 70 DoubleClick - Wird gerufen, wenn ein DoubleClick im TabBar ausgelöst 71 wurde. Innerhalb des Handlers liefert GetCurPageId() die 72 angeklickte Tab zurück oder 0, wenn keine Tab angeklickt 73 wurde 74 ActivatePage - Wird gerufen, wenn eine andere Seite aktiviert wird. 75 GetCurPageId() gibt die aktivierte Seite zurück. 76 DeactivatePage - Wird gerufen, wenn eine Seite deaktiviert wird. Wenn 77 eine andere Seite aktiviert werden darf, muss sal_True 78 zurückgegeben werden, wenn eine andere Seite von 79 der Aktivierung ausgeschlossen werden soll, muss 80 sal_False zurückgegeben werden. GetCurPageId() gibt die 81 zu deaktivierende Seite zurück. 82 83 84 Drag and Drop 85 ------------- 86 87 Für Drag and Drop muss das WinBit WB_DRAG gesetzt werden. Außerdem 88 muss der Command-, QueryDrop-Handler und der Drop-Handler überlagert 89 werden. Dabei muss in den Handlern folgendes implementiert werden: 90 91 Command - Wenn in diesem Handler das Dragging gestartet werden 92 soll, muss StartDrag() gerufen werden. Diese Methode 93 selektiert dann den entsprechenden Eintrag oder gibt 94 sal_False zurück, wenn das Dragging nicht durchgeführt 95 werden kann. 96 97 QueryDrop - Dieser Handler wird von StarView immer dann gerufen, wenn 98 bei einem Drag-Vorgang die Maus über das Fenster gezogen 99 wird (siehe dazu auch SV-Doku). In diesem Handler muss 100 festgestellt werden, ob ein Drop möglich ist. Die 101 Drop-Position kann im TabBar mit ShowDropPos() angezeigt 102 werden. Beim Aufruf muss die Position vom Event übergeben 103 werden. Wenn sich die Position am linken oder rechten 104 Rand befindet, wird automatisch im TabBar gescrollt. 105 Diese Methode gibt auch die entsprechende Drop-Position 106 zurück, die auch für ein Drop gebraucht wird. Wenn das 107 Fenster beim Drag verlassen wird, kann mit HideDropPos() 108 die DropPosition wieder weggenommen werden. Es ist dadurch 109 auch möglich, ein von außerhalb des TabBars ausgelöstes 110 Drag zu verarbeiten. 111 112 Drop - Im Drop-Handler müssen dann die Pages verschoben werden, 113 oder die neuen Pages eingefügt werden. Die entsprechende 114 Drop-Postion kann mit ShowDropPos() ermittelt werden. 115 116 Folgende Methoden werden für Drag and Drop gebraucht und müssen von 117 den Handlern gerufen werden: 118 119 StartDrag - Muss aus dem Commnad-Handler gerufen werden. Als Parameter 120 muss der CommandEvent übergeben werden und eine Referenz 121 auf eine Region. Diese Region muss dann bei ExecuteDrag() 122 übergeben werden, wenn der Rückgabewert sagt, das 123 ExecuteDrag durchgeführt werden soll. Falls der Eintrag 124 nicht selektiert ist, wird er vorher als aktueller 125 Eintrag gesetzt. Es ist daher darauf zu achten, das aus 126 dieser Methode heraus der Select-Handler gerufen werden 127 kann. 128 129 ShowDropPos - Diese Methode muss vom QueryDrop-Handler gerufen werden, 130 damit der TabBar anzeigt, wo die Tabs eingefügt werden. 131 Diese Methode kann auch im Drop-Handler benutzt werden, 132 um die Position zu ermitteln wo die Tabs eingefügt werden 133 sollen. In der Methode muss die Position vom Event 134 übergeben werden. Diese Methode gibt die Position zurück, 135 wo die Tabs eingefügt werden sollen. 136 137 HideDropPos - Diese Methode nimmt die vorher mit ShowDropPos() angezeigte 138 DropPosition wieder zurück. Diese Methode sollte dann 139 gerufen werden, wenn bei QueryDrop() das Fenster verlassen 140 wird oder der Dragvorgang beendet wurde. 141 142 Folgende Methoden können eingesetzt werden, wenn bei D&D die Seiten 143 umgeschaltet werden sollen: 144 145 SwitchPage - Diese Methode muss vom QueryDrop-Handler gerufen werden, 146 wenn die Seite über der sich der Mousepointer befindet, 147 umgeschaltet werden soll. Diese Methode sollte jedes mal 148 gerufen werden, wenn der QueryDrop-Handler gerufen wird. 149 Das umschalten der Seite passiert zeitverzögert (500 ms) 150 und wird automatisch von dieser Methode verwaltet. 151 In der Methode muss die Position vom Event übergeben 152 werden. Diese Methode gibt sal_True zurück, wenn die Page 153 umgeschaltet wurde. 154 155 EndSwitchPage - Diese Methode setzt die Daten für das umschalten der 156 Seiten zurück. Diese Methode sollte dann gerufen werden, 157 wenn bei QueryDrop() das Fenster verlassen wird oder 158 der Dragvorgang beendet wurde. 159 160 IsInSwitching - Mit dieser Methode kann im ActivatePage()/DeactivatePage() 161 abgefragt werden, ob dies durch SwitchPage() veranlasst 162 wurde. So kann dann beispielsweise in DeactivatePage() 163 das Umschalten ohne eine Fehlerbox verhindert werden. 164 165 166 Fenster-Resize 167 -------------- 168 169 Wenn das Fenster vom Anwender in der Breite geändert werden kann, dann 170 muss das WinBit WB_SIZEABLE gesetzt werden. In diesem Fall muss noch 171 folgender Handler überlagert werden: 172 173 Split - Wenn dieser Handler gerufen wird, sollte das Fenster 174 auf die Breite angepasst werden, die von GetSplitSize() 175 zurückgegeben wird. Dabei wird keine minimale und 176 maximale Breite berücksichtigt. Eine minimale Breite 177 kann mit GetMinSize() abgefragt werden und die maximale 178 Breite muss von der Anwendung selber berechnet werden. 179 Da nur Online-Resize unterstützt wird, muss das Fenster 180 innerhalb dieses Handlers in der Breite geändert 181 werden und eventuell abhängige Fenster ebenfalls. Für 182 diesen Handler kann auch mit SetSplitHdl() ein 183 Link gesetzt werden. 184 185 Folgende Methoden liefern beim Splitten weitere Informationen: 186 187 GetSplitSize() - Liefert die Breite des TabBars zurück, auf die der 188 Anwender das Fenster resizen will. Dabei wird keine 189 minimale oder maximale Breite berücksichtigt. Es wird 190 jedoch nie eine Breite < 5 zurückgeliefert. Diese Methode 191 liefert nur solange richtige Werte, wie Splitten aktiv 192 ist. 193 194 GetMinSize() - Mit dieser Methode kann eine minimale Fensterbreite 195 abgefragt werden, so das min. etwas eines Tabs sichtbar 196 ist. Jedoch kann der TabBar immer noch schmaler gesetzt 197 werden, als die Breite, die diese Methode zurückliefert. 198 Diese Methode kann auch aufgerufen werden, wenn kein 199 Splitten aktiv ist. 200 201 202 Edit-Modus 203 ---------- 204 205 Der Tabbar bietet auch Möglichkeiten, dass der Anwender in den Tabreitern 206 die Namen ändern kann. 207 208 EnableEditMode - Damit kann eingestellt werden, das bei Alt+LeftClick 209 StartEditMode() automatisch vom TabBar gerufen wird. 210 Im StartRenaming()-Handler kann dann das Umbenennen 211 noch abgelehnt werden. 212 StartEditMode - Mit dieser Methode wird der EditModus auf einem 213 Tab gestartet. sal_False wird zurückgegeben, wenn 214 der Editmodus schon aktiv ist, mit StartRenaming() 215 der Modus abgelehnt wurde oder kein Platz zum 216 Editieren vorhanden ist. 217 EndEditMode - Mit dieser Methode wird der EditModus beendet. 218 SetEditText - Mit dieser Methode kann der Text im AllowRenaming()- 219 Handler noch durch einen anderen Text ersetzt werden. 220 GetEditText - Mit dieser Methode kann im AllowRenaming()-Handler 221 der Text abgefragt werden, den der Anwender eingegeben 222 hat. 223 IsInEditMode - Mit dieser Methode kann abgefragt werden, ob der 224 Editmodus aktiv ist. 225 IsEditModeCanceled - Mit dieser Methode kann im EndRenaming()- 226 Handler abgefragt werden, ob die Umbenennung 227 abgebrochen wurde. 228 GetEditPageId - Mit dieser Methode wird in den Renaming-Handlern 229 abgefragt, welcher Tab umbenannt wird/wurde. 230 231 StartRenaming() - Dieser Handler wird gerufen, wenn über StartEditMode() 232 der Editmodus gestartet wurde. Mit GetEditPageId() 233 kann abgefragt werden, welcher Tab umbenannt werden 234 soll. sal_False sollte zurückgegeben werden, wenn 235 der Editmodus nicht gestartet werden soll. 236 AllowRenaming() - Dieser Handler wird gerufen, wenn der Editmodus 237 beendet wird (nicht bei Cancel). In diesem Handler 238 kann dann getestet werden, ob der Text OK ist. 239 Mit GetEditPageId() kann abgefragt werden, welcher Tab 240 umbenannt wurde. 241 Es sollte einer der folgenden Werte zurückgegeben 242 werden: 243 TAB_RENAMING_YES 244 Der Tab wird umbenannt. 245 TAB_RENAMING_NO 246 Der Tab wird nicht umbenannt, der Editmodus bleibt 247 jedoch aktiv, so das der Anwender den Namen 248 entsprechend anpassen kann. 249 TAB_RENAMING_CANCEL 250 Der Editmodus wird abgebrochen und der alte 251 Text wieder hergestellt. 252 EndRenaming() - Dieser Handler wird gerufen, wenn der Editmodus 253 beendet wurde. Mit GetEditPageId() kann abgefragt 254 werden, welcher Tab umbenannt wurde. Mit 255 IsEditModeCanceled() kann abgefragt werden, ob der 256 Modus abgebrochen wurde und der Name dadurch nicht 257 geändert wurde. 258 259 260 Maximale Pagebreite 261 ------------------- 262 263 Die Pagebreite der Tabs kann begrenzt werden, damit ein einfacheres 264 Navigieren über diese möglich ist. Wenn der Text dann nicht komplett 265 angezeigt werden kann, wird er mit ... abgekürzt und in der Tip- 266 oder der aktiven Hilfe (wenn kein Hilfetext gesetzt ist) wird dann der 267 ganze Text angezeigt. Mit EnableAutoMaxPageWidth() kann eingestellt 268 werden, ob die maximale Pagebreite sich nach der gerade sichtbaren 269 Breite richten soll (ist der default). Ansonsten kann auch die 270 maximale Pagebreite mit SetMaxPageWidth() (in Pixeln) gesetzt werden 271 (die AutoMaxPageWidth wird dann ignoriert). 272 273 274 KontextMenu 275 ----------- 276 277 Wenn ein kontextsensitives PopupMenu anzeigt werden soll, muss der 278 Command-Handler überlagert werden. Mit GetPageId() und bei 279 Übergabe der Mausposition kann ermittelt werden, ob der Mausclick 280 über einem bzw. über welchem Item durchgeführt wurde. 281 */ 282 283 // ----------- 284 // - WinBits - 285 // ----------- 286 287 #define WB_RANGESELECT ((WinBits)0x00200000) 288 #define WB_MULTISELECT ((WinBits)0x00400000) 289 #define WB_MINSCROLL ((WinBits)0x20000000) 290 #define WB_STDTABBAR WB_BORDER 291 292 // ------------------ 293 // - TabBarPageBits - 294 // ------------------ 295 296 typedef sal_uInt16 TabBarPageBits; 297 298 // ------------------------ 299 // - Bits for TabBarPages - 300 // ------------------------ 301 302 #define TPB_SPECIAL ((TabBarPageBits)0x0001) 303 304 // ---------------- 305 // - TabBar-Types - 306 // ---------------- 307 308 #define TABBAR_RENAMING_YES ((long)sal_True) 309 #define TABBAR_RENAMING_NO ((long)sal_False) 310 #define TABBAR_RENAMING_CANCEL ((long)2) 311 312 // ---------- 313 // - TabBar - 314 // ---------- 315 struct TabBar_Impl; 316 317 class SVT_DLLPUBLIC TabBar : public Window 318 { 319 friend class ImplTabButton; 320 friend class ImplTabSizer; 321 322 private: 323 ImplTabBarList* mpItemList; 324 ImplTabButton* mpFirstBtn; 325 ImplTabButton* mpPrevBtn; 326 ImplTabButton* mpNextBtn; 327 ImplTabButton* mpLastBtn; 328 TabBar_Impl* mpImpl; 329 TabBarEdit* mpEdit; 330 XubString maEditText; 331 Color maSelColor; 332 Color maSelTextColor; 333 Size maWinSize; 334 long mnMaxPageWidth; 335 long mnCurMaxWidth; 336 long mnOffX; 337 long mnOffY; 338 long mnLastOffX; 339 long mnSplitSize; 340 sal_uLong mnSwitchTime; 341 WinBits mnWinStyle; 342 sal_uInt16 mnCurPageId; 343 sal_uInt16 mnFirstPos; 344 sal_uInt16 mnDropPos; 345 sal_uInt16 mnSwitchId; 346 sal_uInt16 mnEditId; 347 sal_Bool mbFormat; 348 sal_Bool mbFirstFormat; 349 sal_Bool mbSizeFormat; 350 sal_Bool mbAutoMaxWidth; 351 sal_Bool mbInSwitching; 352 sal_Bool mbAutoEditMode; 353 sal_Bool mbEditCanceled; 354 sal_Bool mbDropPos; 355 sal_Bool mbInSelect; 356 sal_Bool mbSelColor; 357 sal_Bool mbSelTextColor; 358 sal_Bool mbMirrored; 359 Link maSelectHdl; 360 Link maDoubleClickHdl; 361 Link maSplitHdl; 362 Link maActivatePageHdl; 363 Link maDeactivatePageHdl; 364 Link maStartRenamingHdl; 365 Link maAllowRenamingHdl; 366 Link maEndRenamingHdl; 367 368 using Window::ImplInit; 369 SVT_DLLPRIVATE void ImplInit( WinBits nWinStyle ); 370 SVT_DLLPRIVATE void ImplInitSettings( sal_Bool bFont, sal_Bool bBackground ); 371 SVT_DLLPRIVATE void ImplGetColors( Color& rFaceColor, Color& rFaceTextColor, 372 Color& rSelectColor, Color& rSelectTextColor ); 373 SVT_DLLPRIVATE void ImplShowPage( sal_uInt16 nPos ); 374 SVT_DLLPRIVATE sal_Bool ImplCalcWidth(); 375 SVT_DLLPRIVATE void ImplFormat(); 376 SVT_DLLPRIVATE sal_uInt16 ImplGetLastFirstPos(); 377 SVT_DLLPRIVATE void ImplInitControls(); 378 SVT_DLLPRIVATE void ImplEnableControls(); 379 SVT_DLLPRIVATE void ImplSelect(); 380 SVT_DLLPRIVATE void ImplActivatePage(); 381 SVT_DLLPRIVATE long ImplDeactivatePage(); 382 DECL_DLLPRIVATE_LINK( ImplClickHdl, ImplTabButton* ); 383 384 public: 385 static const sal_uInt16 APPEND; 386 static const sal_uInt16 PAGE_NOT_FOUND; 387 388 TabBar( Window* pParent, WinBits nWinStyle = WB_STDTABBAR ); 389 virtual ~TabBar(); 390 391 virtual void MouseMove( const MouseEvent& rMEvt ); 392 virtual void MouseButtonDown( const MouseEvent& rMEvt ); 393 virtual void MouseButtonUp( const MouseEvent& rMEvt ); 394 virtual void Paint( const Rectangle& rRect ); 395 virtual void Resize(); 396 virtual void RequestHelp( const HelpEvent& rHEvt ); 397 virtual void StateChanged( StateChangedType nStateChange ); 398 virtual void DataChanged( const DataChangedEvent& rDCEvt ); 399 400 virtual void Select(); 401 virtual void DoubleClick(); 402 virtual void Split(); 403 virtual void ActivatePage(); 404 virtual long DeactivatePage(); 405 virtual long StartRenaming(); 406 virtual long AllowRenaming(); 407 virtual void EndRenaming(); 408 virtual void Mirror(); 409 410 void InsertPage( sal_uInt16 nPageId, const XubString& rText, 411 TabBarPageBits nBits = 0, 412 sal_uInt16 nPos = TabBar::APPEND ); 413 void RemovePage( sal_uInt16 nPageId ); 414 void MovePage( sal_uInt16 nPageId, sal_uInt16 nNewPos ); 415 416 Color GetTabBgColor( sal_uInt16 nPageId ) const; 417 void SetTabBgColor( sal_uInt16 nPageId, const Color& aTabBgColor ); 418 sal_Bool IsDefaultTabBgColor( sal_uInt16 nPageId ); 419 420 void Clear(); 421 422 void EnablePage( sal_uInt16 nPageId, sal_Bool bEnable = sal_True ); 423 sal_Bool IsPageEnabled( sal_uInt16 nPageId ) const; 424 425 void SetPageBits( sal_uInt16 nPageId, TabBarPageBits nBits = 0 ); 426 TabBarPageBits GetPageBits( sal_uInt16 nPageId ) const; 427 428 sal_uInt16 GetPageCount() const; 429 sal_uInt16 GetPageId( sal_uInt16 nPos ) const; 430 sal_uInt16 GetPagePos( sal_uInt16 nPageId ) const; 431 sal_uInt16 GetPageId( const Point& rPos ) const; 432 Rectangle GetPageRect( sal_uInt16 nPageId ) const; 433 // returns the rectangle in which page tabs are drawn 434 Rectangle GetPageArea() const; 435 436 void SetCurPageId( sal_uInt16 nPageId ); GetCurPageId() const437 sal_uInt16 GetCurPageId() const { return mnCurPageId; } 438 439 void SetFirstPageId( sal_uInt16 nPageId ); GetFirstPageId() const440 sal_uInt16 GetFirstPageId() const { return GetPageId( mnFirstPos ); } 441 void MakeVisible( sal_uInt16 nPageId ); 442 443 void SelectPage( sal_uInt16 nPageId, sal_Bool bSelect = sal_True ); 444 void SelectPageRange( sal_Bool bSelect = sal_False, 445 sal_uInt16 nStartPos = 0, 446 sal_uInt16 nEndPos = TabBar::APPEND ); 447 sal_uInt16 GetSelectPage( sal_uInt16 nSelIndex = 0 ) const; 448 sal_uInt16 GetSelectPageCount() const; 449 sal_Bool IsPageSelected( sal_uInt16 nPageId ) const; 450 EnableAutoMaxPageWidth(sal_Bool bEnable=sal_True)451 void EnableAutoMaxPageWidth( sal_Bool bEnable = sal_True ) { mbAutoMaxWidth = bEnable; } IsAutoMaxPageWidthEnabled() const452 sal_Bool IsAutoMaxPageWidthEnabled() const { return mbAutoMaxWidth; } 453 void SetMaxPageWidth( long nMaxWidth ); GetMaxPageWidth() const454 long GetMaxPageWidth() const { return mnMaxPageWidth; } ResetMaxPageWidth()455 void ResetMaxPageWidth() { SetMaxPageWidth( 0 ); } IsMaxPageWidth() const456 sal_Bool IsMaxPageWidth() const { return mnMaxPageWidth != 0; } 457 EnableEditMode(sal_Bool bEnable=sal_True)458 void EnableEditMode( sal_Bool bEnable = sal_True ) { mbAutoEditMode = bEnable; } IsEditModeEnabled() const459 sal_Bool IsEditModeEnabled() const { return mbAutoEditMode; } 460 sal_Bool StartEditMode( sal_uInt16 nPageId ); 461 void EndEditMode( sal_Bool bCancel = sal_False ); SetEditText(const XubString & rText)462 void SetEditText( const XubString& rText ) { maEditText = rText; } GetEditText() const463 const XubString& GetEditText() const { return maEditText; } IsInEditMode() const464 sal_Bool IsInEditMode() const { return (mpEdit != NULL); } IsEditModeCanceled() const465 sal_Bool IsEditModeCanceled() const { return mbEditCanceled; } GetEditPageId() const466 sal_uInt16 GetEditPageId() const { return mnEditId; } 467 468 /** Mirrors the entire control including position of buttons and splitter. 469 Mirroring is done relative to the current direction of the GUI. 470 @param bMirrored sal_True = the control will draw itself RTL in LTR GUI, 471 and vice versa; sal_False = the control behaves according to the 472 current direction of the GUI. */ 473 void SetMirrored( sal_Bool bMirrored = sal_True ); 474 /** Returns sal_True, if the control is set to mirrored mode (see SetMirrored()). */ IsMirrored() const475 sal_Bool IsMirrored() const { return mbMirrored; } 476 477 /** Sets the control to LTR or RTL mode regardless of the GUI direction. 478 @param bRTL sal_False = the control will draw from left to right; 479 sal_True = the control will draw from right to left. */ 480 void SetEffectiveRTL( sal_Bool bRTL ); 481 /** Returns sal_True, if the control draws from right to left (see SetEffectiveRTL()). */ 482 sal_Bool IsEffectiveRTL() const; 483 484 sal_Bool StartDrag( const CommandEvent& rCEvt, Region& rRegion ); 485 sal_uInt16 ShowDropPos( const Point& rPos ); 486 void HideDropPos(); 487 sal_Bool SwitchPage( const Point& rPos ); 488 void EndSwitchPage(); IsInSwitching()489 sal_Bool IsInSwitching() { return mbInSwitching; } 490 491 void SetSelectColor(); 492 void SetSelectColor( const Color& rColor ); GetSelectColor() const493 const Color& GetSelectColor() const { return maSelColor; } IsSelectColor() const494 sal_Bool IsSelectColor() const { return mbSelColor; } 495 void SetSelectTextColor(); 496 void SetSelectTextColor( const Color& rColor ); GetSelectTextColor() const497 const Color& GetSelectTextColor() const { return maSelTextColor; } IsSelectTextColor() const498 sal_Bool IsSelectTextColor() const { return mbSelTextColor; } 499 500 void SetPageText( sal_uInt16 nPageId, const XubString& rText ); 501 XubString GetPageText( sal_uInt16 nPageId ) const; 502 void SetHelpText( sal_uInt16 nPageId, const XubString& rText ); 503 XubString GetHelpText( sal_uInt16 nPageId ) const; 504 void SetHelpId( sal_uInt16 nPageId, const rtl::OString& nHelpId ); 505 rtl::OString GetHelpId( sal_uInt16 nPageId ) const; 506 GetSplitSize() const507 long GetSplitSize() const { return mnSplitSize; } 508 long GetMinSize() const; 509 SetHelpText(const XubString & rText)510 void SetHelpText( const XubString& rText ) 511 { Window::SetHelpText( rText ); } GetHelpText() const512 XubString GetHelpText() const 513 { return Window::GetHelpText(); }; SetHelpId(const rtl::OString & rId)514 void SetHelpId( const rtl::OString& rId ) 515 { Window::SetHelpId( rId ); } GetHelpId() const516 const rtl::OString& GetHelpId() const 517 { return Window::GetHelpId(); } 518 519 void SetStyle( WinBits nStyle ); GetStyle() const520 WinBits GetStyle() const { return mnWinStyle; } 521 522 Size CalcWindowSizePixel() const; 523 SetSelectHdl(const Link & rLink)524 void SetSelectHdl( const Link& rLink ) { maSelectHdl = rLink; } GetSelectHdl() const525 const Link& GetSelectHdl() const { return maSelectHdl; } SetDoubleClickHdl(const Link & rLink)526 void SetDoubleClickHdl( const Link& rLink ) { maDoubleClickHdl = rLink; } GetDoubleClickHdl() const527 const Link& GetDoubleClickHdl() const { return maDoubleClickHdl; } SetSplitHdl(const Link & rLink)528 void SetSplitHdl( const Link& rLink ) { maSplitHdl = rLink; } GetSplitHdl() const529 const Link& GetSplitHdl() const { return maSplitHdl; } SetActivatePageHdl(const Link & rLink)530 void SetActivatePageHdl( const Link& rLink ) { maActivatePageHdl = rLink; } GetActivatePageHdl() const531 const Link& GetActivatePageHdl() const { return maActivatePageHdl; } SetDeactivatePageHdl(const Link & rLink)532 void SetDeactivatePageHdl( const Link& rLink ) { maDeactivatePageHdl = rLink; } GetDeactivatePageHdl() const533 const Link& GetDeactivatePageHdl() const { return maDeactivatePageHdl; } SetStartRenamingHdl(const Link & rLink)534 void SetStartRenamingHdl( const Link& rLink ) { maStartRenamingHdl = rLink; } GetStartRenamingHdl() const535 const Link& GetStartRenamingHdl() const { return maStartRenamingHdl; } SetAllowRenamingHdl(const Link & rLink)536 void SetAllowRenamingHdl( const Link& rLink ) { maAllowRenamingHdl = rLink; } GetAllowRenamingHdl() const537 const Link& GetAllowRenamingHdl() const { return maAllowRenamingHdl; } SetEndRenamingHdl(const Link & rLink)538 void SetEndRenamingHdl( const Link& rLink ) { maEndRenamingHdl = rLink; } GetEndRenamingHdl() const539 const Link& GetEndRenamingHdl() const { return maEndRenamingHdl; } 540 541 // accessibility 542 virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > CreateAccessible(); 543 }; 544 545 #endif // _TABBAR_HXX 546 547 /* vim: set noet sw=4 ts=4: */ 548