From b6fc6bc3a4f0223bf75c8e79b52e2aa2c746eeef Mon Sep 17 00:00:00 2001 From: Matthias Seidel Date: Sat, 21 Feb 2026 21:43:57 +0100 Subject: [PATCH 1/3] Update tabbar.hxx --- main/svtools/inc/svtools/tabbar.hxx | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/main/svtools/inc/svtools/tabbar.hxx b/main/svtools/inc/svtools/tabbar.hxx index 1831be3265..d78a158b8f 100644 --- a/main/svtools/inc/svtools/tabbar.hxx +++ b/main/svtools/inc/svtools/tabbar.hxx @@ -48,8 +48,6 @@ WB_MINSCROLL - Die Tabs können über 2 zusätzliche Buttons gescrollt werden WB_RANGESELECT - Zusammenhängende Bereiche können selektiert werden WB_MULTISELECT - Einzelne Tabs können selektiert werden WB_BORDER - Oben und unten wird ein Strich gezeichnet -WB_TOPBORDER - Oben wird ein Border gezeichnet -WB_3DTAB - Die Tabs und der Border werden in 3D gezeichnet WB_DRAG - Vom TabBar wird ein StartDrag-Handler gerufen, wenn Drag and Drop gestartet werden soll. Es wird außerdem im TabBar mit EnableDrop() Drag and Drop eingeschaltet. @@ -57,9 +55,6 @@ WB_SIZEABLE - Vom TabBar wird ein Split-Handler gerufen, wenn der Anwender den TabBar in der Breite ändern will WB_STDTABBAR - WB_BORDER -Wenn man den TabBar zum Beispiel als Property-Bar benutzen möchte, sollten -die WinBits WB_TOPBORDER und WB_3DTAB anstatt WB_BORDER gesetzt werden. - Erlaubte PageBits ----------------- @@ -96,7 +91,7 @@ werden. Dabei muss in den Handlern folgendes implementiert werden: Command - Wenn in diesem Handler das Dragging gestartet werden soll, muss StartDrag() gerufen werden. Diese Methode selektiert dann den entsprechenden Eintrag oder gibt - sal_False zurück, wenn das Dragging nicht durchgefuhert + sal_False zurück, wenn das Dragging nicht durchgeführt werden kann. QueryDrop - Dieser Handler wird von StarView immer dann gerufen, wenn @@ -291,8 +286,6 @@ Command-Handler überlagert werden. Mit GetPageId() und bei #define WB_RANGESELECT ((WinBits)0x00200000) #define WB_MULTISELECT ((WinBits)0x00400000) -#define WB_TOPBORDER ((WinBits)0x04000000) -#define WB_3DTAB ((WinBits)0x08000000) #define WB_MINSCROLL ((WinBits)0x20000000) #define WB_STDTABBAR WB_BORDER @@ -392,8 +385,8 @@ public: static const sal_uInt16 APPEND; static const sal_uInt16 PAGE_NOT_FOUND; - TabBar( Window* pParent, WinBits nWinStyle = WB_STDTABBAR ); - virtual ~TabBar(); + TabBar( Window* pParent, WinBits nWinStyle = WB_STDTABBAR ); + virtual ~TabBar(); virtual void MouseMove( const MouseEvent& rMEvt ); virtual void MouseButtonDown( const MouseEvent& rMEvt ); @@ -514,14 +507,14 @@ public: long GetSplitSize() const { return mnSplitSize; } long GetMinSize() const; - void SetHelpText( const XubString& rText ) - { Window::SetHelpText( rText ); } - XubString GetHelpText() const - { return Window::GetHelpText(); }; - void SetHelpId( const rtl::OString& rId ) - { Window::SetHelpId( rId ); } - const rtl::OString& GetHelpId() const - { return Window::GetHelpId(); } + void SetHelpText( const XubString& rText ) + { Window::SetHelpText( rText ); } + XubString GetHelpText() const + { return Window::GetHelpText(); }; + void SetHelpId( const rtl::OString& rId ) + { Window::SetHelpId( rId ); } + const rtl::OString& GetHelpId() const + { return Window::GetHelpId(); } void SetStyle( WinBits nStyle ); WinBits GetStyle() const { return mnWinStyle; } From 093903073a8f7ba8522f480cdea25c3d3152b151 Mon Sep 17 00:00:00 2001 From: mseidel Date: Sat, 21 Feb 2026 21:46:46 +0100 Subject: [PATCH 2/3] Additional file --- main/svtools/source/control/tabbar.cxx | 530 ++++++++++++------------- 1 file changed, 251 insertions(+), 279 deletions(-) diff --git a/main/svtools/source/control/tabbar.cxx b/main/svtools/source/control/tabbar.cxx index a99b368c51..329a26554b 100644 --- a/main/svtools/source/control/tabbar.cxx +++ b/main/svtools/source/control/tabbar.cxx @@ -388,9 +388,6 @@ void TabBar::ImplInit( WinBits nWinStyle ) mbSelTextColor = sal_False; mbMirrored = sal_False; - if ( nWinStyle & WB_3DTAB ) - mnOffY++; - ImplInitControls(); if(mpFirstBtn) @@ -503,18 +500,6 @@ void TabBar::ImplGetColors( Color& rFaceColor, Color& rFaceTextColor, rSelectTextColor = maSelTextColor; else rSelectTextColor = rStyleSettings.GetWindowTextColor(); - - // Bei 3D-Tabs wird Selektions- und Face-Farbe umgedreht, da die - // selektierten Tabs in 3D erscheinen sollen - if ( mnWinStyle & WB_3DTAB ) - { - Color aTempColor = rFaceColor; - rFaceColor = rSelectColor; - rSelectColor = aTempColor; - aTempColor = rFaceTextColor; - rFaceTextColor = rSelectTextColor; - rSelectTextColor = rFaceTextColor; - } } // ----------------------------------------------------------------------- @@ -1035,17 +1020,17 @@ void TabBar::Paint( const Rectangle& ) if ( mnCurPageId && (mnFirstPos == 0) && !mbDropPos ) { - pItem = mpItemList->GetObject( GetPagePos( mnCurPageId ) ); - if ( pItem->maRect.IsEmpty() ) - { - // mbDropPos setzen (bzw. misbrauchen) um Invalidate() + pItem = mpItemList->GetObject( GetPagePos( mnCurPageId ) ); + if ( pItem->maRect.IsEmpty() ) + { + // mbDropPos setzen (bzw. missbrauchen) um Invalidate() // zu unterbinden mbDropPos = sal_True; SetFirstPageId( mnCurPageId ); mbDropPos = sal_False; if ( mnFirstPos != 0 ) - ImplFormat(); - } + ImplFormat(); + } } } } @@ -1069,17 +1054,10 @@ void TabBar::Paint( const Rectangle& ) SetClipRegion( Region( aClipRect ) ); // Bei Border oben und unten einen Strich extra malen - if ( (mnWinStyle & WB_BORDER) || (mnWinStyle & WB_TOPBORDER) ) + if ( (mnWinStyle & WB_BORDER) ) { Size aOutputSize = GetOutputSizePixel(); - // Bei 3D-Tabs wird auch der Border in 3D gemalt - if ( mnWinStyle & WB_3DTAB ) - { - SetLineColor( rStyleSettings.GetShadowColor() ); - DrawLine( Point( mnOffX, 0 ), Point( aOutputSize.Width(), 0 ) ); - } - // Border malen (Strich oben und Strich unten) SetLineColor( rStyleSettings.GetDarkShadowColor() ); DrawLine( Point( mnOffX, mnOffY ), Point( aOutputSize.Width()-1, mnOffY ) ); @@ -1118,11 +1096,11 @@ void TabBar::Paint( const Rectangle& ) // CurrentItem als letztes ausgeben, da es alle anderen überdeckt if ( !pCurItem && (pItem->mnId == mnCurPageId) ) { - pCurItem = pItem; - pItem = mpItemList->Prev(); - if ( !pItem ) - pItem = pCurItem; - continue; + pCurItem = pItem; + pItem = mpItemList->Prev(); + if ( !pItem ) + pItem = pCurItem; + continue; } if ( !pItem->maRect.IsEmpty() ) @@ -1220,13 +1198,7 @@ void TabBar::Paint( const Rectangle& ) SetFillColor( aSelectColor ); Rectangle aDelRect( Point(aPos0.X()+1, aPos0.Y()), Point(aPos3.X()-1, aPos3.Y()) ); DrawRect( aDelRect ); - if ( mnWinStyle & WB_3DTAB ) - { - aDelRect.Top()--; - DrawRect( aDelRect ); - } - - break; + break; } pItem = mpItemList->Prev(); @@ -1351,30 +1323,30 @@ void TabBar::RequestHelp( const HelpEvent& rHEvt ) aItemRect.Bottom() = aPt.Y(); Help::ShowBalloon( this, aItemRect.Center(), aItemRect, aStr ); return; - } - } - else if ( rHEvt.GetMode() & HELPMODE_EXTENDED ) - { - rtl::OUString aHelpId( rtl::OStringToOUString( GetHelpId( nItemId ), RTL_TEXTENCODING_UTF8 ) ); - if ( aHelpId.getLength() ) - { + } + } + else if ( rHEvt.GetMode() & HELPMODE_EXTENDED ) + { + rtl::OUString aHelpId( rtl::OStringToOUString( GetHelpId( nItemId ), RTL_TEXTENCODING_UTF8 ) ); + if ( aHelpId.getLength() ) + { // Wenn eine Hilfe existiert, dann auslösen Help* pHelp = Application::GetHelp(); if ( pHelp ) pHelp->Start( aHelpId, this ); return; - } - } + } + } - // Bei Quick- oder Balloon-Help zeigen wir den Text an, - // wenn dieser abgeschnitten oder nicht voll sichtbar ist - if ( rHEvt.GetMode() & (HELPMODE_QUICK | HELPMODE_BALLOON) ) - { - sal_uInt16 nPos = GetPagePos( nItemId ); - ImplTabBarItem* pItem = mpItemList->GetObject( nPos ); - if ( pItem->mbShort || - (pItem->maRect.Right()-TABBAR_OFFSET_X-5 > mnLastOffX) ) - { + // Bei Quick- oder Balloon-Help zeigen wir den Text an, + // wenn dieser abgeschnitten oder nicht voll sichtbar ist + if ( rHEvt.GetMode() & (HELPMODE_QUICK | HELPMODE_BALLOON) ) + { + sal_uInt16 nPos = GetPagePos( nItemId ); + ImplTabBarItem* pItem = mpItemList->GetObject( nPos ); + if ( pItem->mbShort || + (pItem->maRect.Right()-TABBAR_OFFSET_X-5 > mnLastOffX) ) + { Rectangle aItemRect = GetPageRect( nItemId ); Point aPt = OutputToScreenPixel( aItemRect.TopLeft() ); aItemRect.Left() = aPt.X(); @@ -1656,14 +1628,14 @@ void TabBar::MovePage( sal_uInt16 nPageId, sal_uInt16 nNewPos ) // Existiert Item if ( nPos != PAGE_NOT_FOUND ) { - // TabBar-Item in der Liste verschieben - ImplTabBarItem* pItem = mpItemList->Remove( nPos ); - mpItemList->Insert( pItem, nNewPos ); - mbFormat = sal_True; + // TabBar-Item in der Liste verschieben + ImplTabBarItem* pItem = mpItemList->Remove( nPos ); + mpItemList->Insert( pItem, nNewPos ); + mbFormat = sal_True; - // Leiste neu ausgeben - if ( IsReallyVisible() && IsUpdateMode() ) - Invalidate(); + // Leiste neu ausgeben + if ( IsReallyVisible() && IsUpdateMode() ) + Invalidate(); CallEventListeners( VCLEVENT_TABBAR_PAGEMOVED, (void*) &aPair ); } @@ -1688,25 +1660,25 @@ void TabBar::Clear() mnCurPageId = 0; mnFirstPos = 0; - // Leiste neu ausgeben - if ( IsReallyVisible() && IsUpdateMode() ) - Invalidate(); + // Leiste neu ausgeben + if ( IsReallyVisible() && IsUpdateMode() ) + Invalidate(); - CallEventListeners( VCLEVENT_TABBAR_PAGEREMOVED, (void*) PAGE_NOT_FOUND ); + CallEventListeners( VCLEVENT_TABBAR_PAGEREMOVED, (void*) PAGE_NOT_FOUND ); } // ----------------------------------------------------------------------- void TabBar::EnablePage( sal_uInt16 nPageId, sal_Bool bEnable ) { - sal_uInt16 nPos = GetPagePos( nPageId ); + sal_uInt16 nPos = GetPagePos( nPageId ); - if ( nPos != PAGE_NOT_FOUND ) - { - ImplTabBarItem* pItem = mpItemList->GetObject( nPos ); + if ( nPos != PAGE_NOT_FOUND ) + { + ImplTabBarItem* pItem = mpItemList->GetObject( nPos ); - if ( pItem->mbEnable != bEnable ) - { + if ( pItem->mbEnable != bEnable ) + { pItem->mbEnable = bEnable; // Leiste neu ausgeben @@ -1714,35 +1686,35 @@ void TabBar::EnablePage( sal_uInt16 nPageId, sal_Bool bEnable ) Invalidate( pItem->maRect ); CallEventListeners( bEnable ? VCLEVENT_TABBAR_PAGEENABLED : VCLEVENT_TABBAR_PAGEDISABLED, reinterpret_cast(sal::static_int_cast(nPageId)) ); - } - } + } + } } // ----------------------------------------------------------------------- sal_Bool TabBar::IsPageEnabled( sal_uInt16 nPageId ) const { - sal_uInt16 nPos = GetPagePos( nPageId ); + sal_uInt16 nPos = GetPagePos( nPageId ); - if ( nPos != PAGE_NOT_FOUND ) - return mpItemList->GetObject( nPos )->mbEnable; - else - return sal_False; + if ( nPos != PAGE_NOT_FOUND ) + return mpItemList->GetObject( nPos )->mbEnable; + else + return sal_False; } // ----------------------------------------------------------------------- void TabBar::SetPageBits( sal_uInt16 nPageId, TabBarPageBits nBits ) { - sal_uInt16 nPos = GetPagePos( nPageId ); + sal_uInt16 nPos = GetPagePos( nPageId ); - if ( nPos != PAGE_NOT_FOUND ) - { - ImplTabBarItem* pItem = mpItemList->GetObject( nPos ); + if ( nPos != PAGE_NOT_FOUND ) + { + ImplTabBarItem* pItem = mpItemList->GetObject( nPos ); - if ( pItem->mnBits != nBits ) - { - pItem->mnBits = nBits; + if ( pItem->mnBits != nBits ) + { + pItem->mnBits = nBits; // Leiste neu ausgeben if ( IsReallyVisible() && IsUpdateMode() ) @@ -1755,105 +1727,105 @@ void TabBar::SetPageBits( sal_uInt16 nPageId, TabBarPageBits nBits ) TabBarPageBits TabBar::GetPageBits( sal_uInt16 nPageId ) const { - sal_uInt16 nPos = GetPagePos( nPageId ); + sal_uInt16 nPos = GetPagePos( nPageId ); - if ( nPos != PAGE_NOT_FOUND ) - return mpItemList->GetObject( nPos )->mnBits; - else - return sal_False; + if ( nPos != PAGE_NOT_FOUND ) + return mpItemList->GetObject( nPos )->mnBits; + else + return sal_False; } // ----------------------------------------------------------------------- sal_uInt16 TabBar::GetPageCount() const { - return (sal_uInt16)mpItemList->Count(); + return (sal_uInt16)mpItemList->Count(); } // ----------------------------------------------------------------------- sal_uInt16 TabBar::GetPageId( sal_uInt16 nPos ) const { - ImplTabBarItem* pItem = mpItemList->GetObject( nPos ); - if ( pItem ) - return pItem->mnId; - else - return 0; + ImplTabBarItem* pItem = mpItemList->GetObject( nPos ); + if ( pItem ) + return pItem->mnId; + else + return 0; } // ----------------------------------------------------------------------- sal_uInt16 TabBar::GetPagePos( sal_uInt16 nPageId ) const { - ImplTabBarItem* pItem = mpItemList->First(); - while ( pItem ) - { - if ( pItem->mnId == nPageId ) - return (sal_uInt16)mpItemList->GetCurPos(); + ImplTabBarItem* pItem = mpItemList->First(); + while ( pItem ) + { + if ( pItem->mnId == nPageId ) + return (sal_uInt16)mpItemList->GetCurPos(); - pItem = mpItemList->Next(); - } + pItem = mpItemList->Next(); + } - return PAGE_NOT_FOUND; + return PAGE_NOT_FOUND; } // ----------------------------------------------------------------------- sal_uInt16 TabBar::GetPageId( const Point& rPos ) const { - ImplTabBarItem* pItem = mpItemList->First(); - while ( pItem ) - { - if ( pItem->maRect.IsInside( rPos ) ) - return pItem->mnId; + ImplTabBarItem* pItem = mpItemList->First(); + while ( pItem ) + { + if ( pItem->maRect.IsInside( rPos ) ) + return pItem->mnId; - pItem = mpItemList->Next(); - } + pItem = mpItemList->Next(); + } - return 0; + return 0; } // ----------------------------------------------------------------------- Rectangle TabBar::GetPageRect( sal_uInt16 nPageId ) const { - sal_uInt16 nPos = GetPagePos( nPageId ); + sal_uInt16 nPos = GetPagePos( nPageId ); - if ( nPos != PAGE_NOT_FOUND ) - return mpItemList->GetObject( nPos )->maRect; - else - return Rectangle(); + if ( nPos != PAGE_NOT_FOUND ) + return mpItemList->GetObject( nPos )->maRect; + else + return Rectangle(); } // ----------------------------------------------------------------------- void TabBar::SetCurPageId( sal_uInt16 nPageId ) { - sal_uInt16 nPos = GetPagePos( nPageId ); + sal_uInt16 nPos = GetPagePos( nPageId ); - // Wenn Item nicht existiert, dann nichts machen - if ( nPos != PAGE_NOT_FOUND ) - { - // Wenn sich aktuelle Page nicht geändert hat, dann müssen wir - // jetzt nichts mehr machen - if ( nPageId == mnCurPageId ) - return; + // Wenn Item nicht existiert, dann nichts machen + if ( nPos != PAGE_NOT_FOUND ) + { + // Wenn sich aktuelle Page nicht geändert hat, dann müssen wir + // jetzt nichts mehr machen + if ( nPageId == mnCurPageId ) + return; - // Muss invalidiert werden - sal_Bool bUpdate = sal_False; - if ( IsReallyVisible() && IsUpdateMode() ) - bUpdate = sal_True; + // Muss invalidiert werden + sal_Bool bUpdate = sal_False; + if ( IsReallyVisible() && IsUpdateMode() ) + bUpdate = sal_True; - ImplTabBarItem* pItem = mpItemList->GetObject( nPos ); - ImplTabBarItem* pOldItem; + ImplTabBarItem* pItem = mpItemList->GetObject( nPos ); + ImplTabBarItem* pOldItem; - if ( mnCurPageId ) - pOldItem = mpItemList->GetObject( GetPagePos( mnCurPageId ) ); - else - pOldItem = NULL; + if ( mnCurPageId ) + pOldItem = mpItemList->GetObject( GetPagePos( mnCurPageId ) ); + else + pOldItem = NULL; // Wenn Page nicht selektiert, dann vorher selektierte Seite - // deselktieren, wenn dies die einzige selektierte Seite ist + // deselektieren, wenn dies die einzige selektierte Seite ist if ( !pItem->mbSelect && pOldItem ) { sal_uInt16 nSelPageCount = GetSelectPageCount(); @@ -1886,7 +1858,7 @@ void TabBar::SetCurPageId( sal_uInt16 nPageId ) pItem->maRect.IsEmpty() ) { sal_uInt16 nNewPos = mnFirstPos+1; - // Dafür sorgen, dass min. die aktuelle TabPages als + // Dafür sorgen, dass min. die aktuelle TabPage als // erste TabPage sichtbar ist if ( nNewPos >= nPos ) { @@ -1902,35 +1874,35 @@ void TabBar::SetCurPageId( sal_uInt16 nPageId ) break; } } - } + } - // Leiste neu ausgeben - if ( bUpdate ) - { - Invalidate( pItem->maRect ); - if ( pOldItem ) - Invalidate( pOldItem->maRect ); - } - } + // Leiste neu ausgeben + if ( bUpdate ) + { + Invalidate( pItem->maRect ); + if ( pOldItem ) + Invalidate( pOldItem->maRect ); + } + } } // ----------------------------------------------------------------------- void TabBar::MakeVisible( sal_uInt16 nPageId ) { - if ( !IsReallyVisible() ) - return; + if ( !IsReallyVisible() ) + return; - sal_uInt16 nPos = GetPagePos( nPageId ); + sal_uInt16 nPos = GetPagePos( nPageId ); - // Wenn Item nicht existiert, dann nichts machen - if ( nPos != PAGE_NOT_FOUND ) - { - if ( nPos < mnFirstPos ) - SetFirstPageId( nPageId ); - else - { - ImplTabBarItem* pItem = mpItemList->GetObject( nPos ); + // Wenn Item nicht existiert, dann nichts machen + if ( nPos != PAGE_NOT_FOUND ) + { + if ( nPos < mnFirstPos ) + SetFirstPageId( nPageId ); + else + { + ImplTabBarItem* pItem = mpItemList->GetObject( nPos ); // sichtbare Breite berechnen long nWidth = mnLastOffX; @@ -1947,7 +1919,7 @@ void TabBar::MakeVisible( sal_uInt16 nPageId ) pItem->maRect.IsEmpty() ) { sal_uInt16 nNewPos = mnFirstPos+1; - // Dafür sorgen, dass min. die aktuelle TabPages als + // Dafür sorgen, dass min. die aktuelle TabPage als // erste TabPage sichtbar ist if ( nNewPos >= nPos ) { @@ -1970,14 +1942,14 @@ void TabBar::MakeVisible( sal_uInt16 nPageId ) void TabBar::SetFirstPageId( sal_uInt16 nPageId ) { - sal_uInt16 nPos = GetPagePos( nPageId ); + sal_uInt16 nPos = GetPagePos( nPageId ); - // Wenn Item nicht existiert, dann sal_False zurückgeben - if ( nPos != PAGE_NOT_FOUND ) - { - if ( nPos != mnFirstPos ) - { - // Dafür sorgen, dass nach Möglichkteit soviele Pages wie + // Wenn Item nicht existiert, dann sal_False zurückgeben + if ( nPos != PAGE_NOT_FOUND ) + { + if ( nPos != mnFirstPos ) + { + // Dafür sorgen, dass nach Möglichkeit so viele Pages wie // möglich sichtbar sind ImplFormat(); sal_uInt16 nLastFirstPos = ImplGetLastFirstPos(); @@ -1997,53 +1969,53 @@ void TabBar::SetFirstPageId( sal_uInt16 nPageId ) if ( IsReallyVisible() && IsUpdateMode() && !mbDropPos ) Invalidate(); } - } - } + } + } } // ----------------------------------------------------------------------- void TabBar::SelectPage( sal_uInt16 nPageId, sal_Bool bSelect ) { - sal_uInt16 nPos = GetPagePos( nPageId ); + sal_uInt16 nPos = GetPagePos( nPageId ); - if ( nPos != PAGE_NOT_FOUND ) - { - ImplTabBarItem* pItem = mpItemList->GetObject( nPos ); + if ( nPos != PAGE_NOT_FOUND ) + { + ImplTabBarItem* pItem = mpItemList->GetObject( nPos ); - if ( pItem->mbSelect != bSelect ) - { - pItem->mbSelect = bSelect; + if ( pItem->mbSelect != bSelect ) + { + pItem->mbSelect = bSelect; - // Leiste neu ausgeben - if ( IsReallyVisible() && IsUpdateMode() ) - Invalidate( pItem->maRect ); - } - } + // Leiste neu ausgeben + if ( IsReallyVisible() && IsUpdateMode() ) + Invalidate( pItem->maRect ); + } + } } // ----------------------------------------------------------------------- void TabBar::SelectPageRange( sal_Bool bSelect, sal_uInt16 nStartPos, sal_uInt16 nEndPos ) { - Rectangle aPaintRect; - sal_uInt16 nPos = nStartPos; - ImplTabBarItem* pItem = mpItemList->Seek( nPos ); - while ( pItem && (nPos <= nEndPos) ) - { - if ( (pItem->mbSelect != bSelect) && (pItem->mnId != mnCurPageId) ) - { - pItem->mbSelect = bSelect; - aPaintRect.Union( pItem->maRect ); - } + Rectangle aPaintRect; + sal_uInt16 nPos = nStartPos; + ImplTabBarItem* pItem = mpItemList->Seek( nPos ); + while ( pItem && (nPos <= nEndPos) ) + { + if ( (pItem->mbSelect != bSelect) && (pItem->mnId != mnCurPageId) ) + { + pItem->mbSelect = bSelect; + aPaintRect.Union( pItem->maRect ); + } - nPos++; - pItem = mpItemList->Next(); - } + nPos++; + pItem = mpItemList->Next(); + } - // Leiste neu ausgeben - if ( IsReallyVisible() && IsUpdateMode() && !aPaintRect.IsEmpty() ) - Invalidate( aPaintRect ); + // Leiste neu ausgeben + if ( IsReallyVisible() && IsUpdateMode() && !aPaintRect.IsEmpty() ) + Invalidate( aPaintRect ); } // ----------------------------------------------------------------------- @@ -2063,7 +2035,7 @@ sal_uInt16 TabBar::GetSelectPage( sal_uInt16 nSelIndex ) const pItem = mpItemList->Next(); } - return 0; + return 0; } // ----------------------------------------------------------------------- @@ -2087,27 +2059,27 @@ sal_uInt16 TabBar::GetSelectPageCount() const sal_Bool TabBar::IsPageSelected( sal_uInt16 nPageId ) const { - sal_uInt16 nPos = GetPagePos( nPageId ); - if ( nPos != PAGE_NOT_FOUND ) - return mpItemList->GetObject( nPos )->mbSelect; - else - return sal_False; + sal_uInt16 nPos = GetPagePos( nPageId ); + if ( nPos != PAGE_NOT_FOUND ) + return mpItemList->GetObject( nPos )->mbSelect; + else + return sal_False; } // ----------------------------------------------------------------------- sal_Bool TabBar::StartEditMode( sal_uInt16 nPageId ) { - sal_uInt16 nPos = GetPagePos( nPageId ); - if ( mpEdit || (nPos == PAGE_NOT_FOUND) || (mnLastOffX < 8) ) - return sal_False; + sal_uInt16 nPos = GetPagePos( nPageId ); + if ( mpEdit || (nPos == PAGE_NOT_FOUND) || (mnLastOffX < 8) ) + return sal_False; - mnEditId = nPageId; - if ( StartRenaming() ) - { - ImplShowPage( nPos ); - ImplFormat(); - Update(); + mnEditId = nPageId; + if ( StartRenaming() ) + { + ImplShowPage( nPos ); + ImplFormat(); + Update(); mpEdit = new TabBarEdit( this, WB_CENTER ); Rectangle aRect = GetPageRect( mnEditId ); @@ -2232,10 +2204,10 @@ sal_Bool TabBar::IsEffectiveRTL() const void TabBar::SetMaxPageWidth( long nMaxWidth ) { - if ( mnMaxPageWidth != nMaxWidth ) - { - mnMaxPageWidth = nMaxWidth; - mbSizeFormat = sal_True; + if ( mnMaxPageWidth != nMaxWidth ) + { + mnMaxPageWidth = nMaxWidth; + mbSizeFormat = sal_True; // Leiste neu ausgeben if ( IsReallyVisible() && IsUpdateMode() ) @@ -2247,72 +2219,72 @@ void TabBar::SetMaxPageWidth( long nMaxWidth ) void TabBar::SetSelectColor() { - if ( mbSelColor ) - { - maSelColor = Color( COL_TRANSPARENT ); - mbSelColor = sal_False; - Invalidate(); - } + if ( mbSelColor ) + { + maSelColor = Color( COL_TRANSPARENT ); + mbSelColor = sal_False; + Invalidate(); + } } // ----------------------------------------------------------------------- void TabBar::SetSelectColor( const Color& rColor ) { - if ( rColor.GetTransparency() ) - { - if ( mbSelColor ) - { - maSelColor = Color( COL_TRANSPARENT ); - mbSelColor = sal_False; - Invalidate(); - } - } - else - { - if ( maSelColor != rColor ) - { - maSelColor = rColor; - mbSelColor = sal_True; - Invalidate(); - } - } + if ( rColor.GetTransparency() ) + { + if ( mbSelColor ) + { + maSelColor = Color( COL_TRANSPARENT ); + mbSelColor = sal_False; + Invalidate(); + } + } + else + { + if ( maSelColor != rColor ) + { + maSelColor = rColor; + mbSelColor = sal_True; + Invalidate(); + } + } } // ----------------------------------------------------------------------- void TabBar::SetSelectTextColor() { - if ( mbSelTextColor ) - { - maSelTextColor = Color( COL_TRANSPARENT ); - mbSelTextColor = sal_False; - Invalidate(); - } + if ( mbSelTextColor ) + { + maSelTextColor = Color( COL_TRANSPARENT ); + mbSelTextColor = sal_False; + Invalidate(); + } } // ----------------------------------------------------------------------- void TabBar::SetSelectTextColor( const Color& rColor ) { - if ( rColor.GetTransparency() ) - { - if ( mbSelTextColor ) - { + if ( rColor.GetTransparency() ) + { + if ( mbSelTextColor ) + { maSelTextColor = Color( COL_TRANSPARENT ); mbSelTextColor = sal_False; Invalidate(); - } - } - else - { - if ( maSelTextColor != rColor ) - { + } + } + else + { + if ( maSelTextColor != rColor ) + { maSelTextColor = rColor; mbSelTextColor = sal_True; Invalidate(); - } - } + } + } } // ----------------------------------------------------------------------- @@ -2423,33 +2395,33 @@ sal_Bool TabBar::StartDrag( const CommandEvent& rCEvt, Region& rRegion ) { sal_uInt16 nSelId = GetPageId( rCEvt.GetMousePosPixel() ); - // Falls kein Eintrag angeklickt wurde, starten wir kein Dragging - if ( !nSelId ) - return sal_False; + // Falls kein Eintrag angeklickt wurde, starten wir kein Dragging + if ( !nSelId ) + return sal_False; - // Testen, ob Seite selektiertiert ist. Falls nicht, als aktuelle - // Seite setzen und Select rufen. - if ( !IsPageSelected( nSelId ) ) - { - if ( ImplDeactivatePage() ) - { + // Testen, ob Seite selektiert ist. Falls nicht, als aktuelle + // Seite setzen und Select rufen. + if ( !IsPageSelected( nSelId ) ) + { + if ( ImplDeactivatePage() ) + { SetCurPageId( nSelId ); Update(); ImplActivatePage(); ImplSelect(); - } - else + } + else return sal_False; - } - } - mbInSelect = sal_False; + } + } + mbInSelect = sal_False; - Region aRegion; + Region aRegion; - // Region zuweisen - rRegion = aRegion; + // Region zuweisen + rRegion = aRegion; - return sal_True; + return sal_True; } // ----------------------------------------------------------------------- From 0a7f9f0a23ff0ac2812e8bdcc2656c7a3ff8cfdd Mon Sep 17 00:00:00 2001 From: mseidel Date: Sun, 22 Feb 2026 16:45:46 +0100 Subject: [PATCH 3/3] Additional file --- main/tools/inc/tools/wintypes.hxx | 93 +++++++++++++++---------------- 1 file changed, 45 insertions(+), 48 deletions(-) diff --git a/main/tools/inc/tools/wintypes.hxx b/main/tools/inc/tools/wintypes.hxx index 095b2e165a..b79e5a09c9 100644 --- a/main/tools/inc/tools/wintypes.hxx +++ b/main/tools/inc/tools/wintypes.hxx @@ -19,7 +19,6 @@ * *************************************************************/ - #ifndef _TOOLS_WINTYPES_HXX #define _TOOLS_WINTYPES_HXX @@ -41,7 +40,7 @@ typedef sal_uInt16 WindowType; #define WINDOW_WINDOW (WINDOW_FIRST + 0x05) #define WINDOW_SYSWINDOW (WINDOW_FIRST + 0x06) #define WINDOW_WORKWINDOW (WINDOW_FIRST + 0x07) -// #define WINDOW_MDIWINDOW (WINDOW_FIRST + 0x08) +//#define WINDOW_MDIWINDOW (WINDOW_FIRST + 0x08) #define WINDOW_FLOATINGWINDOW (WINDOW_FIRST + 0x09) #define WINDOW_DIALOG (WINDOW_FIRST + 0x0a) #define WINDOW_MODELESSDIALOG (WINDOW_FIRST + 0x0b) @@ -107,23 +106,22 @@ typedef sal_uInt16 WindowType; #define WINDOW_SYSTEMCHILDWINDOW (WINDOW_FIRST + 0x49) #define WINDOW_FIXEDBORDER (WINDOW_FIRST + 0x4a) #define WINDOW_SLIDER (WINDOW_FIRST + 0x4b) -#define WINDOW_MENUBARWINDOW (WINDOW_FIRST + 0x4c) -#define WINDOW_TREELISTBOX (WINDOW_FIRST + 0x4d) +#define WINDOW_MENUBARWINDOW (WINDOW_FIRST + 0x4c) +#define WINDOW_TREELISTBOX (WINDOW_FIRST + 0x4d) #define WINDOW_HELPTEXTWINDOW (WINDOW_FIRST + 0x4e) -#define WINDOW_INTROWINDOW (WINDOW_FIRST + 0x4f) -#define WINDOW_LISTBOXWINDOW (WINDOW_FIRST + 0x50) -#define WINDOW_DOCKINGAREA (WINDOW_FIRST + 0x51) +#define WINDOW_INTROWINDOW (WINDOW_FIRST + 0x4f) +#define WINDOW_LISTBOXWINDOW (WINDOW_FIRST + 0x50) +#define WINDOW_DOCKINGAREA (WINDOW_FIRST + 0x51) #define WINDOW_RULER (WINDOW_FIRST + 0x52) #define WINDOW_LAST (WINDOW_RULER) - // --------------- // - Window-Bits - // --------------- typedef sal_Int64 WinBits; -// Window-Bits fuer Window +// Window-Bits for Window #define WB_CLIPCHILDREN ((WinBits)0x00000001) #define WB_DIALOGCONTROL ((WinBits)0x00000002) #define WB_NODIALOGCONTROL ((WinBits)0x00000004) @@ -133,7 +131,7 @@ typedef sal_Int64 WinBits; #define WB_3DLOOK ((WinBits)0x00000040) #define WB_AUTOSIZE ((WinBits)0x00000080) -// Window-Bits fuer SystemWindows +// Window-Bits for SystemWindow #define WB_MOVEABLE ((WinBits)0x00000100) #define WB_ROLLABLE ((WinBits)0x00000200) #define WB_CLOSEABLE ((WinBits)0x00000400) @@ -150,10 +148,10 @@ typedef sal_Int64 WinBits; // WB_SYSTEMCHILDWINDOW on the other hand is to be used on system windows // which should be created as system child windows with (more or less) // normal event handling -#define WB_SYSTEMCHILDWINDOW ((WinBits)SAL_CONST_INT64(0x8000000000)) +#define WB_SYSTEMCHILDWINDOW ((WinBits)SAL_CONST_INT64(0x8000000000)) #define WB_SIZEMOVE (WB_SIZEABLE | WB_MOVEABLE) -// Standard-Window-Bits fuer ChildWindows +// Standard-Window-Bits for ChildWindow #define WB_TABSTOP ((WinBits)0x00000100) #define WB_NOTABSTOP ((WinBits)0x00000200) #define WB_GROUP ((WinBits)0x00000400) @@ -177,31 +175,31 @@ typedef sal_Int64 WinBits; #define WB_HIDE ((WinBits)SAL_CONST_INT64(0x80000000)) #define WB_AUTOHSCROLL ((WinBits)SAL_CONST_INT64(0x10000000)) #define WB_DOCKABLE ((WinBits)SAL_CONST_INT64(0x20000000)) -#define WB_AUTOVSCROLL ((WinBits)SAL_CONST_INT64(0x40000000)) -#define WB_HYPHENATION (((WinBits)SAL_CONST_INT64(0x800000000)) | WB_WORDBREAK) -#define WB_CHILDDLGCTRL ((WinBits)SAL_CONST_INT64(0x100000000000)) +#define WB_AUTOVSCROLL ((WinBits)SAL_CONST_INT64(0x40000000)) +#define WB_HYPHENATION (((WinBits)SAL_CONST_INT64(0x800000000)) | WB_WORDBREAK) +#define WB_CHILDDLGCTRL ((WinBits)SAL_CONST_INT64(0x100000000000)) -// system floating window +// System floating window #define WB_SYSTEMFLOATWIN ((WinBits)SAL_CONST_INT64(0x100000000)) -#define WB_INTROWIN ((WinBits)SAL_CONST_INT64(0x200000000)) -#define WB_NOSHADOW ((WinBits)SAL_CONST_INT64(0x400000000)) -#define WB_TOOLTIPWIN ((WinBits)SAL_CONST_INT64(0x800000000)) -#define WB_OWNERDRAWDECORATION ((WinBits)SAL_CONST_INT64(0x2000000000)) -#define WB_DEFAULTWIN ((WinBits)SAL_CONST_INT64(0x4000000000)) -#define WB_NEEDSFOCUS ((WinBits)SAL_CONST_INT64(0x1000000000)) +#define WB_INTROWIN ((WinBits)SAL_CONST_INT64(0x200000000)) +#define WB_NOSHADOW ((WinBits)SAL_CONST_INT64(0x400000000)) +#define WB_TOOLTIPWIN ((WinBits)SAL_CONST_INT64(0x800000000)) +#define WB_OWNERDRAWDECORATION ((WinBits)SAL_CONST_INT64(0x2000000000)) +#define WB_DEFAULTWIN ((WinBits)SAL_CONST_INT64(0x4000000000)) +#define WB_NEEDSFOCUS ((WinBits)SAL_CONST_INT64(0x1000000000)) #define WB_HSCROLL WB_HORZ #define WB_VSCROLL WB_VERT #define WB_TOPIMAGE WB_TOP -// Window-Bits for PushButtons +// Window-Bits for PushButton #define WB_DEFBUTTON ((WinBits)0x10000000) #define WB_NOLIGHTBORDER ((WinBits)0x20000000) #define WB_RECTSTYLE ((WinBits)0x08000000) #define WB_SMALLSTYLE ((WinBits)0x04000000) -#define WB_TOGGLE ((WinBits)SAL_CONST_INT64(0x1000000000)) -#define WB_BEVELBUTTON ((WinBits)SAL_CONST_INT64(0x2000000000)) -#define WB_FLATBUTTON ((WinBits)SAL_CONST_INT64(0x4000000000)) +#define WB_TOGGLE ((WinBits)SAL_CONST_INT64(0x1000000000)) +#define WB_BEVELBUTTON ((WinBits)SAL_CONST_INT64(0x2000000000)) +#define WB_FLATBUTTON ((WinBits)SAL_CONST_INT64(0x4000000000)) // Window-Bits for FixedText #define WB_PATHELLIPSIS ((WinBits)0x00100000) @@ -210,14 +208,14 @@ typedef sal_Int64 WinBits; #define WB_INFO ((WinBits)0x20000000) // Window-Bits for CheckBox -#define WB_CBLINESTYLE ((WinBits)SAL_CONST_INT64(0x2000000000)) -#define WB_EARLYTOGGLE ((WinBits)SAL_CONST_INT64(0x4000000000)) +#define WB_CBLINESTYLE ((WinBits)SAL_CONST_INT64(0x2000000000)) +#define WB_EARLYTOGGLE ((WinBits)SAL_CONST_INT64(0x4000000000)) // Window-Bits for Edit #define WB_PASSWORD ((WinBits)0x01000000) #define WB_READONLY ((WinBits)0x02000000) #define WB_NOHIDESELECTION ((WinBits)SAL_CONST_INT64(0x1000000000)) -#define WB_FORCECTRLBACKGROUND ((WinBits)0x80000000) +#define WB_FORCECTRLBACKGROUND ((WinBits)0x80000000) // Window-Bits for MultiLineEdit #define WB_IGNORETAB ((WinBits)0x20000000) @@ -242,7 +240,7 @@ typedef sal_Int64 WinBits; #define WB_NOSPLITDRAW ((WinBits)0x01000000) #define WB_FLATSPLITDRAW ((WinBits)0x02000000) -// Window-Bits for MessageBoxen +// Window-Bits for MessageBox #define WB_OK ((WinBits)0x00100000) #define WB_OK_CANCEL ((WinBits)0x00200000) #define WB_YES_NO ((WinBits)0x00400000) @@ -253,8 +251,8 @@ typedef sal_Int64 WinBits; #define WB_DEF_RETRY ((WinBits)0x08000000) #define WB_DEF_YES ((WinBits)SAL_CONST_INT64(0x10000000)) #define WB_DEF_NO ((WinBits)SAL_CONST_INT64(0x20000000)) -#define WB_ABORT_RETRY_IGNORE ((WinBits)SAL_CONST_INT64(0x1000000000)) -#define WB_DEF_IGNORE ((WinBits)SAL_CONST_INT64(0x2000000000)) +#define WB_ABORT_RETRY_IGNORE ((WinBits)SAL_CONST_INT64(0x1000000000)) +#define WB_DEF_IGNORE ((WinBits)SAL_CONST_INT64(0x2000000000)) // Standard-WinBits #define WB_STDWORK (WB_SIZEMOVE | WB_CLOSEABLE) @@ -267,16 +265,15 @@ typedef sal_Int64 WinBits; #define WB_STDTABCONTROL 0 // For TreeListBox -#define WB_HASBUTTONS ((WinBits)SAL_CONST_INT64(0x000100000000)) -#define WB_HASLINES ((WinBits)SAL_CONST_INT64(0x000200000000)) -#define WB_HASLINESATROOT ((WinBits)SAL_CONST_INT64(0x000400000000)) -#define WB_HASBUTTONSATROOT ((WinBits)SAL_CONST_INT64(0x000800000000)) -#define WB_NOINITIALSELECTION ((WinBits)SAL_CONST_INT64(0x001000000000)) -#define WB_HIDESELECTION ((WinBits)SAL_CONST_INT64(0x002000000000)) +#define WB_HASBUTTONS ((WinBits)SAL_CONST_INT64(0x000100000000)) +#define WB_HASLINES ((WinBits)SAL_CONST_INT64(0x000200000000)) +#define WB_HASLINESATROOT ((WinBits)SAL_CONST_INT64(0x000400000000)) +#define WB_HASBUTTONSATROOT ((WinBits)SAL_CONST_INT64(0x000800000000)) +#define WB_NOINITIALSELECTION ((WinBits)SAL_CONST_INT64(0x001000000000)) +#define WB_HIDESELECTION ((WinBits)SAL_CONST_INT64(0x002000000000)) #define WB_FORCE_MAKEVISIBLE ((WinBits)SAL_CONST_INT64(0x004000000000)) // DO NOT USE: 0x008000000000, that's WB_SYSTEMCHILDWINDOW -#define WB_QUICK_SEARCH ((WinBits)SAL_CONST_INT64(0x010000000000)) - +#define WB_QUICK_SEARCH ((WinBits)SAL_CONST_INT64(0x010000000000)) // For FileOpen Dialog #define WB_PATH ((WinBits)0x00100000) @@ -285,14 +282,13 @@ typedef sal_Int64 WinBits; // For Slider // Window-Bits for TabControl -#define WB_SLIDERSET ((WinBits)0x02000000) - +#define WB_SLIDERSET ((WinBits)0x02000000) // -------------------- // - extended WinBits - // -------------------- -#define WB_EXT_DOCUMENT ((WinBits)0x00000001) -#define WB_EXT_DOCMODIFIED ((WinBits)0x00000002) +#define WB_EXT_DOCUMENT ((WinBits)0x00000001) +#define WB_EXT_DOCMODIFIED ((WinBits)0x00000002) // --------------- // - WindowAlign - @@ -300,9 +296,9 @@ typedef sal_Int64 WinBits; enum WindowAlign { WINDOWALIGN_LEFT, WINDOWALIGN_TOP, WINDOWALIGN_RIGHT, WINDOWALIGN_BOTTOM }; enum ImageAlign { IMAGEALIGN_LEFT, IMAGEALIGN_TOP, IMAGEALIGN_RIGHT, IMAGEALIGN_BOTTOM, - IMAGEALIGN_LEFT_TOP, IMAGEALIGN_LEFT_BOTTOM, IMAGEALIGN_TOP_LEFT, - IMAGEALIGN_TOP_RIGHT, IMAGEALIGN_RIGHT_TOP, IMAGEALIGN_RIGHT_BOTTOM, - IMAGEALIGN_BOTTOM_LEFT, IMAGEALIGN_BOTTOM_RIGHT, IMAGEALIGN_CENTER }; + IMAGEALIGN_LEFT_TOP, IMAGEALIGN_LEFT_BOTTOM, IMAGEALIGN_TOP_LEFT, + IMAGEALIGN_TOP_RIGHT, IMAGEALIGN_RIGHT_TOP, IMAGEALIGN_RIGHT_BOTTOM, + IMAGEALIGN_BOTTOM_LEFT, IMAGEALIGN_BOTTOM_RIGHT, IMAGEALIGN_CENTER }; enum SymbolAlign { SYMBOLALIGN_LEFT, SYMBOLALIGN_RIGHT }; // ------------ @@ -311,7 +307,6 @@ enum SymbolAlign { SYMBOLALIGN_LEFT, SYMBOLALIGN_RIGHT }; enum TriState { STATE_NOCHECK, STATE_CHECK, STATE_DONTKNOW }; - // ---------------------- // - ButtonDialog-Types - // ---------------------- @@ -337,3 +332,5 @@ typedef sal_uInt16 StandardButtonType; enum ProminentEntry { PROMINENT_TOP, PROMINENT_MIDDLE }; #endif // _TOOLS_WINTYPES_HXX + +/* vim: set noet sw=4 ts=4: */