[ooo-build-commit] .: patches/dev300 src/default_images
Kohei Yoshida
kohei at kemper.freedesktop.org
Mon Oct 4 14:31:30 PDT 2010
dev/null |binary
patches/dev300/apply | 5
patches/dev300/calc-insert-new-sheet-tab-sc.diff | 56 -
patches/dev300/calc-insert-new-sheet-tab-svl.diff | 19
patches/dev300/calc-insert-new-sheet-tab-svtools.diff | 872 ------------------
5 files changed, 952 deletions(-)
New commits:
commit 5ba9f107ac9fa41175c96640d746e65a92b0ef37
Author: Kohei Yoshida <kyoshida at novell.com>
Date: Mon Oct 4 17:30:49 2010 -0400
Removed calc-insert-new-sheet-tab-*.diff; moved to git.
Also removed the image files associated with this feature.
diff --git a/patches/dev300/apply b/patches/dev300/apply
index 0b76b09..c350e40 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -2672,11 +2672,6 @@ calc-distributed-cell-text-svx.diff, kohei
calc-distributed-cell-text-sw.diff, kohei
calc-distributed-cell-text-xmloff.diff, kohei
-# Add a new sheet tab in Calc.
-calc-insert-new-sheet-tab-sc.diff, kohei
-calc-insert-new-sheet-tab-svl.diff, kohei
-calc-insert-new-sheet-tab-svtools.diff, kohei
-
# Support English function names in place of localized ones.
calc-english-func-names-sc.diff, i#38765, kohei
calc-english-func-names-formula.diff, i#38765, kohei
diff --git a/patches/dev300/calc-insert-new-sheet-tab-sc.diff b/patches/dev300/calc-insert-new-sheet-tab-sc.diff
deleted file mode 100644
index 448a6e5..0000000
--- a/patches/dev300/calc-insert-new-sheet-tab-sc.diff
+++ /dev/null
@@ -1,56 +0,0 @@
----
- sc/source/ui/view/tabcont.cxx | 18 +++++++++++++++---
- 1 files changed, 15 insertions(+), 3 deletions(-)
-
-diff --git sc/source/ui/view/tabcont.cxx sc/source/ui/view/tabcont.cxx
-index 073ab30..2f122da 100644
---- sc/source/ui/view/tabcont.cxx
-+++ sc/source/ui/view/tabcont.cxx
-@@ -54,7 +54,7 @@
- //==================================================================
-
- ScTabControl::ScTabControl( Window* pParent, ScViewData* pData ) :
-- TabBar( pParent, WinBits( WB_BORDER | WB_3DLOOK | WB_SCROLL |
-+ TabBar( pParent, WinBits( WB_BORDER | WB_3DLOOK | WB_SCROLL | WB_INSERTTAB |
- WB_RANGESELECT | WB_MULTISELECT | WB_DRAG | WB_SIZEABLE ) ),
- DropTargetHelper( this ),
- DragSourceHelper( this ),
-@@ -161,7 +161,7 @@ void ScTabControl::MouseButtonDown( const MouseEvent& rMEvt )
- Needing clean left click without modifiers (may be context menu).
- #106948# Remember clicks to all pages, to be able to move mouse pointer later. */
- if( rMEvt.IsLeft() && (rMEvt.GetModifier() == 0) )
-- nMouseClickPageId = GetPageId( rMEvt.GetPosPixel() );
-+ nMouseClickPageId = GetPageId( rMEvt.GetPosPixel(), true );
- else
- nMouseClickPageId = TabBar::PAGE_NOT_FOUND;
-
-@@ -173,13 +173,25 @@ void ScTabControl::MouseButtonUp( const MouseEvent& rMEvt )
- Point aPos = PixelToLogic( rMEvt.GetPosPixel() );
-
- // mouse button down and up on same page?
-- if( nMouseClickPageId != GetPageId( aPos ) )
-+ if( nMouseClickPageId != GetPageId( aPos, true ) )
- nMouseClickPageId = TabBar::PAGE_NOT_FOUND;
-
-+ if (nMouseClickPageId == TabBar::INSERT_TAB_POS)
-+ {
-+ // Insert a new sheet at the right end, with default name.
-+ ScDocument* pDoc = pViewData->GetDocument();
-+ String aName;
-+ pDoc->CreateValidTabName(aName);
-+ SCTAB nTabCount = pDoc->GetTableCount();
-+ pViewData->GetViewShell()->InsertTable(aName, nTabCount);
-+ return;
-+ }
-+
- if ( rMEvt.GetClicks() == 2 && rMEvt.IsLeft() && nMouseClickPageId != 0 && nMouseClickPageId != TAB_PAGE_NOTFOUND )
- {
- SfxDispatcher* pDispatcher = pViewData->GetViewShell()->GetViewFrame()->GetDispatcher();
- pDispatcher->Execute( FID_TAB_MENU_RENAME, SFX_CALLMODE_SYNCHRON | SFX_CALLMODE_RECORD );
-+ return;
- }
-
- if( nMouseClickPageId == 0 )
---
-1.7.0.1
-
diff --git a/patches/dev300/calc-insert-new-sheet-tab-svl.diff b/patches/dev300/calc-insert-new-sheet-tab-svl.diff
deleted file mode 100644
index b2bd7eb..0000000
--- a/patches/dev300/calc-insert-new-sheet-tab-svl.diff
+++ /dev/null
@@ -1,19 +0,0 @@
----
- svtools/inc/svtools/svtools.hrc | 1 +
- 1 files changed, 1 insertions(+), 0 deletions(-)
-
-diff --git svtools/inc/svtools/svtools.hrc svtools/inc/svtools/svtools.hrc
-index f2d492a..3d8010b 100644
---- svtools/inc/svtools/svtools.hrc
-+++ svtools/inc/svtools/svtools.hrc
-@@ -307,6 +307,7 @@
- #define BMP_HELP_AGENT_IMAGE (RID_SVTOOLS_BITMAP_START + 1)
- #define BMP_HELP_AGENT_CLOSER (RID_SVTOOLS_BITMAP_START + 2)
- #define BMP_PLUGIN (RID_SVTOOLS_BITMAP_START + 3)
-+#define BMP_LIST_ADD (RID_SVTOOLS_BITMAP_START + 4)
-
- //.............................................................................
- // image lists
---
-1.7.0.1
-
diff --git a/patches/dev300/calc-insert-new-sheet-tab-svtools.diff b/patches/dev300/calc-insert-new-sheet-tab-svtools.diff
deleted file mode 100644
index 5c67f5c..0000000
--- a/patches/dev300/calc-insert-new-sheet-tab-svtools.diff
+++ /dev/null
@@ -1,872 +0,0 @@
-diff --git svtools/inc/tabbar.hxx svtools/inc/tabbar.hxx
-index ee19bfc..3ecea7b 100644
---- svtools/inc/tabbar.hxx
-+++ svtools/inc/tabbar.hxx
-@@ -302,6 +302,7 @@ ueber einem bzw. ueber welchem Item durchgefuehrt wurde.
- #define WB_TOPBORDER ((WinBits)0x04000000)
- #define WB_3DTAB ((WinBits)0x08000000)
- #define WB_MINSCROLL ((WinBits)0x20000000)
-+#define WB_INSERTTAB ((WinBits)0x40000000)
- #define WB_STDTABBAR WB_BORDER
-
- // ------------------
-@@ -328,6 +329,7 @@ typedef USHORT TabBarPageBits;
- // - TabBar -
- // ----------
- struct TabBar_Impl;
-+struct ImplTabBarItem;
-
- class SVT_DLLPUBLIC TabBar : public Window
- {
-@@ -371,6 +373,7 @@ private:
- BOOL mbSelColor;
- BOOL mbSelTextColor;
- BOOL mbMirrored;
-+ bool mbHasInsertTab; // if true, the tab bar has an extra tab at the end.
- Link maSelectHdl;
- Link maDoubleClickHdl;
- Link maSplitHdl;
-@@ -394,11 +397,15 @@ private:
- SVT_DLLPRIVATE void ImplSelect();
- SVT_DLLPRIVATE void ImplActivatePage();
- SVT_DLLPRIVATE long ImplDeactivatePage();
-+ SVT_DLLPRIVATE void ImplPrePaint();
-+ SVT_DLLPRIVATE ImplTabBarItem* ImplGetLastTabBarItem( USHORT nItemCount ) const;
-+ SVT_DLLPRIVATE Rectangle ImplGetInsertTabRect(ImplTabBarItem* pItem) const;
- DECL_DLLPRIVATE_LINK( ImplClickHdl, ImplTabButton* );
-
- public:
- static const sal_uInt16 APPEND;
- static const sal_uInt16 PAGE_NOT_FOUND;
-+ static const sal_uInt16 INSERT_TAB_POS;
-
- TabBar( Window* pParent, WinBits nWinStyle = WB_STDTABBAR );
- virtual ~TabBar();
-@@ -443,7 +450,7 @@ public:
- USHORT GetPageCount() const;
- USHORT GetPageId( USHORT nPos ) const;
- USHORT GetPagePos( USHORT nPageId ) const;
-- USHORT GetPageId( const Point& rPos ) const;
-+ USHORT GetPageId( const Point& rPos, bool bCheckInsTab = false ) const;
- Rectangle GetPageRect( USHORT nPageId ) const;
- // returns the rectangle in which page tabs are drawn
- Rectangle GetPageArea() const;
-diff --git svtools/source/control/tabbar.cxx svtools/source/control/tabbar.cxx
-index 20b601e..bd6dd57 100755
---- svtools/source/control/tabbar.cxx
-+++ svtools/source/control/tabbar.cxx
-@@ -39,6 +39,9 @@
- #include <vcl/edit.hxx>
- #include "svtaccessiblefactory.hxx"
-
-+#include "svtools/svtools.hrc"
-+#include "svtools/svtdata.hxx"
-+
- #include <limits>
-
- // =======================================================================
-@@ -65,9 +68,7 @@ struct ImplTabBarItem
- BOOL mbSelect;
- BOOL mbEnable;
- Color maTabBgColor;
-- bool IsDefaultTabBgColor() const { return maTabBgColor == Color(COL_AUTO) ? TRUE : FALSE; };
- Color maTabTextColor;
-- bool IsDefaultTabTextColor() const { return maTabTextColor == Color(COL_AUTO) ? TRUE : FALSE; };
-
- ImplTabBarItem( USHORT nItemId, const XubString& rText,
- TabBarPageBits nPageBits ) :
-@@ -83,6 +84,21 @@ struct ImplTabBarItem
- maTabBgColor = Color( COL_AUTO );
- maTabTextColor = Color( COL_AUTO );
- }
-+
-+ bool IsDefaultTabBgColor() const
-+ {
-+ return maTabBgColor == Color(COL_AUTO);
-+ }
-+
-+ bool IsDefaultTabTextColor() const
-+ {
-+ return maTabTextColor == Color(COL_AUTO);
-+ }
-+
-+ bool IsSelected(ImplTabBarItem* pCurItem) const
-+ {
-+ return mbSelect || (pCurItem == this);
-+ }
- };
-
- DECLARE_LIST( ImplTabBarList, ImplTabBarItem* )
-@@ -358,6 +374,7 @@ struct TabBar_Impl
-
- const sal_uInt16 TabBar::APPEND = ::std::numeric_limits<sal_uInt16>::max();
- const sal_uInt16 TabBar::PAGE_NOT_FOUND = ::std::numeric_limits<sal_uInt16>::max();
-+const sal_uInt16 TabBar::INSERT_TAB_POS = ::std::numeric_limits<USHORT>::max() - 1;
-
- void TabBar::ImplInit( WinBits nWinStyle )
- {
-@@ -393,6 +410,7 @@ void TabBar::ImplInit( WinBits nWinStyle )
- mbSelColor = FALSE;
- mbSelTextColor = FALSE;
- mbMirrored = FALSE;
-+ mbHasInsertTab = (nWinStyle & WB_INSERTTAB);
-
- if ( nWinStyle & WB_3DTAB )
- mnOffY++;
-@@ -1009,288 +1027,396 @@ void TabBar::MouseButtonUp( const MouseEvent& rMEvt )
- Window::MouseButtonUp( rMEvt );
- }
-
-+
- // -----------------------------------------------------------------------
-
--void TabBar::Paint( const Rectangle& )
-+namespace {
-+
-+class TabBarPaintGuard
- {
-- // Items berechnen und ausgeben
-- USHORT nItemCount = (USHORT)mpItemList->Count();
-- ImplTabBarItem* pItem;
-+public:
-+ explicit TabBarPaintGuard(TabBar& rParent) :
-+ mrParent(rParent),
-+ maFont(rParent.GetFont())
-+ {
-+ // #i36013# exclude push buttons from painting area
-+ mrParent.SetClipRegion( Region(mrParent.GetPageArea()) );
-+ }
-
-- // kein Item, dann auch nichts zu tun
-- if ( nItemCount )
-+ ~TabBarPaintGuard()
- {
-- // TabBar muss formatiert sein
-- ImplFormat();
-+ // Restore original font.
-+ mrParent.SetFont(maFont);
-+ // remove clip region
-+ mrParent.SetClipRegion();
-+ }
-+private:
-+ TabBar& mrParent;
-+ Font maFont;
-+};
-+
-+class TabDrawer
-+{
-+public:
-+
-+ explicit TabDrawer(TabBar& rParent) :
-+ mrParent(rParent),
-+ mpStyleSettings(&mrParent.GetSettings().GetStyleSettings()),
-+ maPoly(4),
-+ mbSelected(false),
-+ mbCustomColored(false),
-+ mbSpecialTab(false),
-+ mbEnabled(false)
-+ {
-+ }
-
-- // Beim ersten Format auch dafuer sorgen, das aktuelle TabPage
-- // sichtbar wird
-- if ( mbFirstFormat )
-+ void drawOutputAreaBorder()
-+ {
-+ WinBits nWinStyle = mrParent.GetStyle();
-+
-+ // Bei Border oben und unten einen Strich extra malen
-+ if ( (nWinStyle & WB_BORDER) || (nWinStyle & WB_TOPBORDER) )
- {
-- mbFirstFormat = FALSE;
-+ Size aOutputSize = mrParent.GetOutputSizePixel();
-+ Rectangle aOutRect = mrParent.GetPageArea();
-
-- if ( mnCurPageId && (mnFirstPos == 0) && !mbDropPos )
-+ // Bei 3D-Tabs wird auch der Border in 3D gemalt
-+ if ( nWinStyle & WB_3DTAB )
- {
-- pItem = mpItemList->GetObject( GetPagePos( mnCurPageId ) );
-- if ( pItem->maRect.IsEmpty() )
-- {
-- // mbDropPos setzen (bzw. misbrauchen) um Invalidate()
-- // zu unterbinden
-- mbDropPos = TRUE;
-- SetFirstPageId( mnCurPageId );
-- mbDropPos = FALSE;
-- if ( mnFirstPos != 0 )
-- ImplFormat();
-- }
-+ mrParent.SetLineColor( mpStyleSettings->GetShadowColor() );
-+ mrParent.DrawLine( Point( aOutRect.Left(), 0 ), Point( aOutputSize.Width(), 0 ) );
- }
-+
-+ // Border malen (Strich oben und Strich unten)
-+ mrParent.SetLineColor( mpStyleSettings->GetDarkShadowColor() );
-+ mrParent.DrawLine( aOutRect.TopLeft(), Point( aOutputSize.Width()-1, aOutRect.Top() ) );
- }
- }
-
-- // Farben ermitteln
-- const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings();
-- Color aFaceColor;
-- Color aSelectColor;
-- Color aFaceTextColor;
-- Color aSelectTextColor;
-- ImplGetColors( aFaceColor, aFaceTextColor, aSelectColor, aSelectTextColor );
-+ void drawOuterFrame()
-+ {
-+ mrParent.DrawPolygon(maPoly);
-+ }
-
-- // Font selektieren
-- Font aFont = GetFont();
-- Font aLightFont = aFont;
-- //aLightFont.SetWeight( WEIGHT_LIGHT ); //TODO Make font weight light on custom color only?
-- aLightFont.SetWeight( WEIGHT_NORMAL );
-+ void drawLeftShadow()
-+ {
-+ Point p1 = maPoly[0], p2 = maPoly[1];
-+ p1.X()++;
-+ p2.X()++;
-+ p2.Y()--;
-+ mrParent.DrawLine(p1, p2);
-+ }
-
-- // #i36013# exclude push buttons from painting area
-- Rectangle aClipRect( Point( mnOffX, 0 ), Point( mnLastOffX, GetOutputHeightPixel() - 1 ) );
-- SetClipRegion( Region( aClipRect ) );
-+ void drawRightShadow()
-+ {
-+ Point p1 = maPoly[2];
-+ Point p2 = maPoly[3];
-+ p1.X()--;
-+ p2.X()--;
-+ mrParent.DrawLine(p1, p2);
-+ }
-
-- // Bei Border oben und unten einen Strich extra malen
-- if ( (mnWinStyle & WB_BORDER) || (mnWinStyle & WB_TOPBORDER) )
-+ void drawTopInnerShadow()
- {
-- Size aOutputSize = GetOutputSizePixel();
-+ Point p1 = maPoly[0], p2 = maPoly[3];
-+ p1.Y()++;
-+ p2.Y()++;
-+ mrParent.DrawLine(p1, p2);
-+ }
-
-- // Bei 3D-Tabs wird auch der Border in 3D gemalt
-- if ( mnWinStyle & WB_3DTAB )
-+ void drawBottomShadow(bool bColored)
-+ {
-+ Point p1 = maPoly[1], p2 = maPoly[2];
-+ p1.X() += 1;
-+ p1.Y() -= 1;
-+ p2.X() -= 1;
-+ p2.Y() -= 1;
-+ mrParent.DrawLine(p1, p2);
-+ if (bColored)
- {
-- SetLineColor( rStyleSettings.GetShadowColor() );
-- DrawLine( Point( mnOffX, 0 ), Point( aOutputSize.Width(), 0 ) );
-+ p1 += Point(-1, -1);
-+ p2 += Point(1, -1);
-+ mrParent.DrawLine(p1, p2);
- }
-+ }
-
-- // Border malen (Strich oben und Strich unten)
-- SetLineColor( rStyleSettings.GetDarkShadowColor() );
-- DrawLine( Point( mnOffX, mnOffY ), Point( aOutputSize.Width()-1, mnOffY ) );
-+ void drawText(const String& aText)
-+ {
-+ Rectangle aRect = maRect;
-+ long nTextWidth = mrParent.GetTextWidth(aText);
-+ long nTextHeight = mrParent.GetTextHeight();
-+ Point aPos = aRect.TopLeft();
-+ aPos.X() += (aRect.getWidth() - nTextWidth) / 2;
-+ aPos.Y() += (aRect.getHeight() - nTextHeight) / 2;
-+
-+ if (mbEnabled)
-+ mrParent.DrawText(aPos, aText);
-+ else
-+ mrParent.DrawCtrlText(
-+ aPos, aText, 0, STRING_LEN, (TEXT_DRAW_DISABLE | TEXT_DRAW_MNEMONIC));
- }
-- else
-- SetLineColor( rStyleSettings.GetDarkShadowColor() );
-
-- // Items ausgeben
-- if ( nItemCount )
-+ void drawOverTopBorder(bool b3DTab)
- {
-- // letzten sichtbaren Eintrag suchen
-- USHORT n = mnFirstPos+1;
-- if ( n >= nItemCount )
-- n = nItemCount-1;
-- pItem = mpItemList->Seek( n );
-- while ( pItem )
-+ Point p1 = maPoly[0], p2 = maPoly[3];
-+ p1.X() += 1;
-+ p2.X() -= 1;
-+ Rectangle aDelRect(p1, p2);
-+ mrParent.DrawRect(aDelRect);
-+ if (b3DTab)
- {
-- if ( !pItem->maRect.IsEmpty() )
-- {
-- n++;
-- pItem = mpItemList->Next();
-- }
-- else
-- break;
-+ aDelRect.Top()--;
-+ mrParent.DrawRect(aDelRect);
- }
-+ }
-
-- // Alle Tabs ausgeben (von hinten nach vorn und aktuellen zuletzt)
-- if ( pItem )
-- n--;
-- else if ( n >= nItemCount )
-- n = nItemCount-1;
-- pItem = mpItemList->Seek( n );
-- ImplTabBarItem* pCurItem = NULL;
-- while ( pItem )
-+ void drawTab()
-+ {
-+ mrParent.SetLineColor(mpStyleSettings->GetDarkShadowColor());
-+
-+ // Je nach Status die richtige FillInBrush setzen
-+ // Set the correct FillInBrush depending upon status
-+ if ( mbSelected )
- {
-- // CurrentItem als letztes ausgeben, da es alle anderen ueberdeckt
-- if ( !pCurItem && (pItem->mnId == mnCurPageId) )
-- {
-- pCurItem = pItem;
-- pItem = mpItemList->Prev();
-- if ( !pItem )
-- pItem = pCurItem;
-- continue;
-- }
-+ // Currently selected Tab
-+ mrParent.SetFillColor( maSelectedColor );
-+ }
-+ else if ( mbCustomColored )
-+ {
-+ mrParent.SetFillColor( maCustomColor );
-+ }
-+ else
-+ {
-+ mrParent.SetFillColor( maUnselectedColor );
-+ }
-
-- if ( !pItem->maRect.IsEmpty() )
-- {
-- Rectangle aRect = pItem->maRect;
-+ drawOuterFrame();
-
-- // Aktuelle Page wird mit einem fetten Font ausgegeben
-- if ( pItem->mnId == mnCurPageId )
-- SetFont( aFont );
-- else
-- SetFont( aLightFont );
-+ // If this is the current tab, draw the left inner shadow the default color,
-+ // otherwise make it the same as the custom background color
-+ Color aColor = mpStyleSettings->GetLightColor();
-+ if (mbCustomColored && !mbSelected)
-+ aColor = maCustomColor;
-
-- // Je nach Status die richtige FillInBrush setzen
-- // Set the correct FillInBrush depending upon status
-- if ( pItem->mbSelect || (pItem->mnId == mnCurPageId) )
-- {
-- // Currently selected Tab
-- SetFillColor( aSelectColor );
-- SetTextColor( aSelectTextColor );
-- }
-- else
-- {
-- if ( !pItem->IsDefaultTabBgColor() && !rStyleSettings.GetHighContrastMode() )
-- {
-- SetFillColor( pItem->maTabBgColor );
-- SetTextColor( pItem->maTabTextColor );
-- } else {
-- SetFillColor( aFaceColor );
-- SetTextColor( aFaceTextColor );
-- }
-- }
-+ mrParent.SetLineColor(aColor);
-+ drawLeftShadow();
-
-- // Muss Font Kursiv geschaltet werden
-- if ( pItem->mnBits & TPB_SPECIAL )
-- {
-- SetTextColor( Color( COL_LIGHTBLUE ) );
-- }
-+ if ( !mbSelected )
-+ drawTopInnerShadow();
-
-- // Position der Page berechnen
-- Point aPos0 = Point( aRect.Left(), mnOffY );
-- Point aPos1 = Point( aRect.Left()+TABBAR_OFFSET_X, aRect.Bottom() );
-- Point aPos2 = Point( aRect.Right()-TABBAR_OFFSET_X, aRect.Bottom() );
-- Point aPos3 = Point( aRect.Right(), mnOffY );
--
-- // Zuerst geben wir das Polygon gefuellt aus
-- Polygon aPoly( 4 );
-- aPoly[0] = aPos0;
-- aPoly[1] = aPos1;
-- aPoly[2] = aPos2;
-- aPoly[3] = aPos3;
-- DrawPolygon( aPoly );
--
-- // Danach den Text zentiert ausgeben
-- XubString aText = pItem->maText;
-- if ( pItem->mbShort )
-- aText = GetEllipsisString( aText, mnCurMaxWidth, TEXT_DRAW_ENDELLIPSIS );
-- Size aRectSize = aRect.GetSize();
-- long nTextWidth = GetTextWidth( aText );
-- long nTextHeight = GetTextHeight();
-- Point aTxtPos( aRect.Left()+(aRectSize.Width()-nTextWidth)/2,
-- (aRectSize.Height()-nTextHeight)/2 );
-- if ( pItem->IsDefaultTabBgColor() || (!pItem->mbSelect) )
-- {
-- if ( !pItem->mbEnable )
-- DrawCtrlText( aTxtPos, aText, 0, STRING_LEN, (TEXT_DRAW_DISABLE | TEXT_DRAW_MNEMONIC) );
-- else
-- DrawText( aTxtPos, aText );
-- }
-- // Jetzt im Inhalt den 3D-Effekt ausgeben
-- aPos0.X()++;
-- aPos1.X()++;
-- aPos2.X()--;
-- aPos3.X()--;
--
-- // If this is the current tab, draw the left inner shadow the default color,
-- // otherwise make it the same as the custom background color
-- if ( pItem->mbSelect || (pItem->mnId == mnCurPageId) ) {
-- SetLineColor( rStyleSettings.GetLightColor() );
-- } else {
-- if ( !pItem->IsDefaultTabBgColor() && ! rStyleSettings.GetHighContrastMode() )
-- {
-- SetLineColor( pItem->maTabBgColor );
-- } else {
-- SetLineColor( rStyleSettings.GetLightColor() );
-- }
-- }
-- // Draw the left side of the tab
-- DrawLine( aPos0, aPos1 );
-+ mrParent.SetLineColor( mpStyleSettings->GetShadowColor() );
-+ drawRightShadow();
-+ if ( mbCustomColored && mbSelected )
-+ {
-+ mrParent.SetLineColor(maCustomColor);
-+ drawBottomShadow(true);
-+ }
-+ else
-+ drawBottomShadow(false);
-
-- if ( !pItem->mbSelect && (pItem->mnId != mnCurPageId) )
-- {
-- // Draw the top inner shadow
-- // ToDo: Change from this static color to tab custom bg color
-- DrawLine( Point( aPos0.X(), aPos0.Y()+1 ),
-- Point( aPos3.X(), aPos3.Y()+1 ) );
-- }
-+ // Draw the outer frame once more. In some environments, the outer frame
-+ // gets overpainted.
-+ mrParent.SetLineColor( mpStyleSettings->GetDarkShadowColor() );
-+ mrParent.SetFillColor();
-+ drawOuterFrame();
-+ }
-
-- SetLineColor( rStyleSettings.GetShadowColor() );
-- DrawLine( aPos2, aPos3 );
-- aPos1.X()--;
-- aPos1.Y()--;
-- aPos2.Y()--;
-- if ( !pItem->IsDefaultTabBgColor() && ( pItem->mbSelect || (pItem->mnId == mnCurPageId) ) )
-- {
-- SetLineColor( pItem->maTabBgColor );
-- DrawLine( Point(aPos1.X()-1, aPos1.Y()-1), Point(aPos2.X(), aPos2.Y()-1) );
-- }
-- DrawLine( aPos1, aPos2 );
-+ void drawPlusImage()
-+ {
-+ Image aPlusImg( SvtResId(BMP_LIST_ADD) );
-+ // Center the image within the bounding rectangle.
-+ Size aSize = aPlusImg.GetSizePixel();
-+ Point pt = maRect.TopLeft();
-+ long nXOffSet = (maRect.GetWidth() - aSize.Width()) / 2;
-+ long nYOffset = (maRect.GetHeight() - aSize.Height()) / 2;
-+ pt += Point(nXOffSet, nYOffset);
-+ pt.X() += 1;
-+ mrParent.DrawImage(pt, aPlusImg);
-+ }
-
-- // draw a small 2px sliver of the original background color at the bottom of the selected tab
--
-- if ( !pItem->IsDefaultTabBgColor() )
-- {
-- if ( pItem->mbSelect || (pItem->mnId == mnCurPageId) || rStyleSettings.GetHighContrastMode() ) {
-- SetLineColor( pItem->maTabBgColor );
-- DrawLine( Point(aPos1.X()-1, aPos1.Y()-1), Point(aPos2.X(), aPos2.Y()-1) );
-- if ( !pItem->mbEnable )
-- DrawCtrlText( aTxtPos, aText, 0, STRING_LEN, (TEXT_DRAW_DISABLE | TEXT_DRAW_MNEMONIC) );
-- else
-- DrawText( aTxtPos, aText );
-- }
-- }
-+ void setRect(const Rectangle& rRect)
-+ {
-+ maRect = rRect;
-
-- // Da etwas uebermalt werden konnte, muessen wir die Polygon-
-- // umrandung nocheinmal ausgeben
-- SetLineColor( rStyleSettings.GetDarkShadowColor() );
-- SetFillColor();
-- DrawPolygon( aPoly );
-+ long nOffY = mrParent.GetPageArea().getY();
-
-- // Beim dem aktuellen Tab die restlichten Ausgaben vornehmen und
-- // die Schleife abbrechen, da die aktuelle Tab als letztes
-- // ausgegeben wird
-- if ( pItem == pCurItem )
-- {
-- // Beim aktuellen Item muss der oberstes Strich geloescht
-- // werden
-- SetLineColor();
-- SetFillColor( aSelectColor );
-- Rectangle aDelRect( aPos0, aPos3 );
-- DrawRect( aDelRect );
-- if ( mnWinStyle & WB_3DTAB )
-- {
-- aDelRect.Top()--;
-- DrawRect( aDelRect );
-- }
-+ // Zuerst geben wir das Polygon gefuellt aus
-+ maPoly[0] = Point( rRect.Left(), nOffY );
-+ maPoly[1] = Point( rRect.Left()+TABBAR_OFFSET_X, rRect.Bottom() );
-+ maPoly[2] = Point( rRect.Right()-TABBAR_OFFSET_X, rRect.Bottom() );
-+ maPoly[3] = Point( rRect.Right(), nOffY );
-+ }
-
-- break;
-- }
-+ void setSelected(bool b)
-+ {
-+ mbSelected = b;
-+ }
-
-- pItem = mpItemList->Prev();
-- }
-- else
-- {
-- if ( pItem == pCurItem )
-- break;
-+ void setCustomColored(bool b)
-+ {
-+ mbCustomColored = b;
-+ }
-
-- pItem = NULL;
-- }
-+ void setSpecialTab(bool b)
-+ {
-+ mbSpecialTab = b;
-+ }
-+
-+ void setEnabled(bool b)
-+ {
-+ mbEnabled = b;
-+ }
-+
-+ void setSelectedFillColor(const Color& rColor)
-+ {
-+ maSelectedColor = rColor;
-+ }
-+
-+ void setUnselectedFillColor(const Color& rColor)
-+ {
-+ maUnselectedColor = rColor;
-+ }
-+
-+ void setCustomColor(const Color& rColor)
-+ {
-+ maCustomColor = rColor;
-+ }
-+
-+private:
-+ TabBar& mrParent;
-+ const StyleSettings* mpStyleSettings;
-+
-+ Rectangle maRect;
-+ Polygon maPoly;
-+
-+ Color maSelectedColor;
-+ Color maCustomColor;
-+ Color maUnselectedColor;
-+
-+ bool mbSelected:1;
-+ bool mbCustomColored:1;
-+ bool mbSpecialTab:1;
-+ bool mbEnabled:1;
-+};
-
-+}
-+
-+void TabBar::Paint( const Rectangle& )
-+{
-+ // Items berechnen und ausgeben
-+ USHORT nItemCount = (USHORT)mpItemList->Count();
-+ if (!nItemCount)
-+ return;
-+
-+ ImplPrePaint();
-+
-+ Color aFaceColor, aSelectColor, aFaceTextColor, aSelectTextColor;
-+ ImplGetColors( aFaceColor, aFaceTextColor, aSelectColor, aSelectTextColor );
-+
-+ // Font selektieren
-+ Font aFont = GetFont();
-+ Font aLightFont = aFont;
-+ aLightFont.SetWeight( WEIGHT_NORMAL );
-+
-+ TabBarPaintGuard aGuard(*this);
-+ TabDrawer aDrawer(*this);
-+ aDrawer.setSelectedFillColor(aSelectColor);
-+ aDrawer.setUnselectedFillColor(aFaceColor);
-+ aDrawer.drawOutputAreaBorder();
-+
-+ // Now, start drawing the tabs.
-+
-+ ImplTabBarItem* pItem = ImplGetLastTabBarItem(nItemCount);
-+
-+ if (pItem && mbHasInsertTab)
-+ {
-+ // Draw the insert tab at the right end.
-+ Rectangle aRect = ImplGetInsertTabRect(pItem);
-+ aDrawer.setRect(aRect);
-+ aDrawer.drawTab();
-+ aDrawer.drawPlusImage();
-+ }
-+
-+ const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings();
-+ ImplTabBarItem* pCurItem = NULL;
-+ while ( pItem )
-+ {
-+ // CurrentItem als letztes ausgeben, da es alle anderen ueberdeckt
-+ if ( !pCurItem && (pItem->mnId == mnCurPageId) )
-+ {
-+ pCurItem = pItem;
-+ pItem = mpItemList->Prev();
- if ( !pItem )
- pItem = pCurItem;
-+ continue;
- }
-- }
-
-- // Font wieder herstellen
-- SetFont( aFont );
-- // remove clip region
-- SetClipRegion();
-+ bool bCurrent = pItem == pCurItem;
-+
-+ if ( !pItem->maRect.IsEmpty() )
-+ {
-+ Rectangle aRect = pItem->maRect;
-+ bool bSelected = pItem->IsSelected(pCurItem);
-+ // We disable custom background color in high contrast mode.
-+ bool bCustomBgColor = !pItem->IsDefaultTabBgColor() && !rStyleSettings.GetHighContrastMode();
-+ bool bSpecialTab = (pItem->mnBits & TPB_SPECIAL);
-+ bool bEnabled = pItem->mbEnable;
-+ String aText = pItem->mbShort ?
-+ GetEllipsisString(pItem->maText, mnCurMaxWidth, TEXT_DRAW_ENDELLIPSIS) : pItem->maText;
-+
-+ aDrawer.setRect(aRect);
-+ aDrawer.setSelected(bSelected);
-+ aDrawer.setCustomColored(bCustomBgColor);
-+ aDrawer.setSpecialTab(bSpecialTab);
-+ aDrawer.setEnabled(bEnabled);
-+ aDrawer.setCustomColor(pItem->maTabBgColor);
-+ aDrawer.drawTab();
-+
-+ // Aktuelle Page wird mit einem fetten Font ausgegeben
-+ if ( bCurrent )
-+ SetFont( aFont );
-+ else
-+ SetFont( aLightFont );
-+
-+ // Je nach Status die richtige FillInBrush setzen
-+ // Set the correct FillInBrush depending upon status
-+ if ( bSelected )
-+ SetTextColor( aSelectTextColor );
-+ else if ( bCustomBgColor )
-+ SetTextColor( pItem->maTabTextColor );
-+ else
-+ SetTextColor( aFaceTextColor );
-+
-+ // This tab is "special", and a special tab needs a blue text.
-+ if (bSpecialTab)
-+ SetTextColor(Color(COL_LIGHTBLUE));
-+
-+ aDrawer.drawText(aText);
-+
-+ if ( bCurrent )
-+ {
-+ SetLineColor();
-+ SetFillColor(aSelectColor);
-+ aDrawer.drawOverTopBorder(mnWinStyle & WB_3DTAB);
-+ return;
-+ }
-+
-+ pItem = mpItemList->Prev();
-+ }
-+ else
-+ {
-+ if ( bCurrent )
-+ return;
-+
-+ pItem = NULL;
-+ }
-+
-+ if ( !pItem )
-+ pItem = pCurItem;
-+ }
- }
-
- // -----------------------------------------------------------------------
--
- void TabBar::Resize()
- {
- Size aNewSize = GetOutputSizePixel();
-@@ -1546,6 +1672,80 @@ long TabBar::ImplDeactivatePage()
- return nRet;
- }
-
-+void TabBar::ImplPrePaint()
-+{
-+ USHORT nItemCount = (USHORT)mpItemList->Count();
-+ if (!nItemCount)
-+ return;
-+
-+ ImplTabBarItem* pItem;
-+
-+ // TabBar muss formatiert sein
-+ ImplFormat();
-+
-+ // Beim ersten Format auch dafuer sorgen, das aktuelle TabPage
-+ // sichtbar wird
-+ if ( mbFirstFormat )
-+ {
-+ mbFirstFormat = FALSE;
-+
-+ if ( mnCurPageId && (mnFirstPos == 0) && !mbDropPos )
-+ {
-+ pItem = mpItemList->GetObject( GetPagePos( mnCurPageId ) );
-+ if ( pItem->maRect.IsEmpty() )
-+ {
-+ // mbDropPos setzen (bzw. misbrauchen) um Invalidate()
-+ // zu unterbinden
-+ mbDropPos = TRUE;
-+ SetFirstPageId( mnCurPageId );
-+ mbDropPos = FALSE;
-+ if ( mnFirstPos != 0 )
-+ ImplFormat();
-+ }
-+ }
-+ }
-+}
-+
-+ImplTabBarItem* TabBar::ImplGetLastTabBarItem(USHORT nItemCount) const
-+{
-+ // letzten sichtbaren Eintrag suchen
-+ USHORT n = mnFirstPos+1;
-+ if ( n >= nItemCount )
-+ n = nItemCount-1;
-+ ImplTabBarItem* pItem = mpItemList->Seek( n );
-+ while ( pItem )
-+ {
-+ if ( !pItem->maRect.IsEmpty() )
-+ {
-+ n++;
-+ pItem = mpItemList->Next();
-+ }
-+ else
-+ break;
-+ }
-+
-+ // Alle Tabs ausgeben (von hinten nach vorn und aktuellen zuletzt)
-+ if ( pItem )
-+ n--;
-+ else if ( n >= nItemCount )
-+ n = nItemCount-1;
-+ pItem = mpItemList->Seek( n );
-+ return pItem;
-+}
-+
-+Rectangle TabBar::ImplGetInsertTabRect(ImplTabBarItem* pItem) const
-+{
-+ if (mbHasInsertTab && pItem)
-+ {
-+ Rectangle aInsTabRect = pItem->maRect;
-+ aInsTabRect.setX(
-+ aInsTabRect.getX() + aInsTabRect.getWidth() - TABBAR_OFFSET_X - TABBAR_OFFSET_X2);
-+ aInsTabRect.setWidth(32);
-+ return aInsTabRect;
-+ }
-+ return Rectangle();
-+}
-+
- // -----------------------------------------------------------------------
-
- long TabBar::DeactivatePage()
-@@ -1838,7 +2038,7 @@ USHORT TabBar::GetPagePos( USHORT nPageId ) const
-
- // -----------------------------------------------------------------------
-
--USHORT TabBar::GetPageId( const Point& rPos ) const
-+sal_uInt16 TabBar::GetPageId( const Point& rPos, bool bCheckInsTab ) const
- {
- ImplTabBarItem* pItem = mpItemList->First();
- while ( pItem )
-@@ -1849,6 +2049,16 @@ USHORT TabBar::GetPageId( const Point& rPos ) const
- pItem = mpItemList->Next();
- }
-
-+ if (bCheckInsTab && mbHasInsertTab)
-+ {
-+ pItem = mpItemList->Last();
-+ if (pItem)
-+ {
-+ if (ImplGetInsertTabRect(pItem).IsInside(rPos))
-+ return INSERT_TAB_POS;
-+ }
-+ }
-+
- return 0;
- }
-
-diff --git svtools/source/misc/imagemgr.src svtools/source/misc/imagemgr.src
-index b50a050..fc7dc8c 100644
---- svtools/source/misc/imagemgr.src
-+++ svtools/source/misc/imagemgr.src
-@@ -162,6 +162,15 @@ Bitmap BMP_PLUGIN
- File = "plugin.png" ;
- };
-
-+Image BMP_LIST_ADD
-+{
-+ ImageBitmap = Bitmap
-+ {
-+ File = "list_add.png" ;
-+ };
-+ MaskColor = Color { Red = 0xFF00; Green = 0x0000; Blue = 0xFF00; };
-+};
-+
- // description strings
-
- String STR_DESCRIPTION_SOURCEFILE
diff --git a/src/default_images/svtools/res/list_add.png b/src/default_images/svtools/res/list_add.png
deleted file mode 100644
index b28dfab..0000000
Binary files a/src/default_images/svtools/res/list_add.png and /dev/null differ
diff --git a/src/default_images/svtools/res/list_add_16.png b/src/default_images/svtools/res/list_add_16.png
deleted file mode 100644
index 4c77ab0..0000000
Binary files a/src/default_images/svtools/res/list_add_16.png and /dev/null differ
diff --git a/src/default_images/svtools/res/list_add_24.png b/src/default_images/svtools/res/list_add_24.png
deleted file mode 100644
index 2b9e7cf..0000000
Binary files a/src/default_images/svtools/res/list_add_24.png and /dev/null differ
diff --git a/src/default_images/svtools/res/list_remove.png b/src/default_images/svtools/res/list_remove.png
deleted file mode 100644
index ad460c5..0000000
Binary files a/src/default_images/svtools/res/list_remove.png and /dev/null differ
diff --git a/src/default_images/svtools/res/list_remove_16.png b/src/default_images/svtools/res/list_remove_16.png
deleted file mode 100644
index 4c073e3..0000000
Binary files a/src/default_images/svtools/res/list_remove_16.png and /dev/null differ
diff --git a/src/default_images/svtools/res/list_remove_24.png b/src/default_images/svtools/res/list_remove_24.png
deleted file mode 100644
index 9c6109e..0000000
Binary files a/src/default_images/svtools/res/list_remove_24.png and /dev/null differ
More information about the ooo-build-commit
mailing list