Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
e8c2bb2e
Kaydet (Commit)
e8c2bb2e
authored
Mar 08, 2015
tarafından
Tomaž Vajngerl
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
tabbar: convert ItemList* to ItemList and clean-up
Change-Id: Ibd4364f7d30f098df49537c6a6a01915bfa31b8d
üst
36f1dec2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
117 additions
and
106 deletions
+117
-106
tabbar.hxx
include/svtools/tabbar.hxx
+8
-10
tabbar.cxx
svtools/source/control/tabbar.cxx
+109
-96
No files found.
include/svtools/tabbar.hxx
Dosyayı görüntüle @
e8c2bb2e
...
...
@@ -25,16 +25,6 @@
#include <vcl/window.hxx>
#include <vector>
class
MouseEvent
;
class
TrackingEvent
;
class
DataChangedEvent
;
class
ImplTabButton
;
class
ImplTabSizer
;
class
TabBarEdit
;
struct
ImplTabBarItem
;
typedef
std
::
vector
<
ImplTabBarItem
*>
ImplTabBarList
;
/*
Allowed StylbeBits
...
...
@@ -306,6 +296,14 @@ enum TabBarAllowRenamingReturnCode {
// - TabBar -
class
MouseEvent
;
class
TrackingEvent
;
class
DataChangedEvent
;
class
ImplTabButton
;
class
ImplTabSizer
;
class
TabBarEdit
;
struct
ImplTabBarItem
;
struct
TabBar_Impl
;
typedef
std
::
vector
<
ImplTabBarItem
*>
ImplTabBarList
;
...
...
svtools/source/control/tabbar.cxx
Dosyayı görüntüle @
e8c2bb2e
...
...
@@ -358,7 +358,7 @@ struct TabBar_Impl
std
::
unique_ptr
<
ImplTabButton
>
mpNextButton
;
std
::
unique_ptr
<
ImplTabButton
>
mpLastButton
;
std
::
unique_ptr
<
TabBarEdit
>
mpEdit
;
ImplTabBarList
*
mpItemList
;
ImplTabBarList
mpItemList
;
svt
::
AccessibleFactoryAccess
maAccessibleFactory
;
...
...
@@ -369,15 +369,21 @@ struct TabBar_Impl
,
mpNextButton
()
,
mpLastButton
()
,
mpEdit
()
,
mpItemList
(
new
ImplTabBarList
)
,
mpItemList
()
{}
~
TabBar_Impl
()
{
for
(
size_t
i
=
0
,
n
=
mpItemList
->
size
();
i
<
n
;
++
i
)
{
delete
(
*
mpItemList
)[
i
];
for
(
size_t
i
=
0
;
i
<
mpItemList
.
size
();
++
i
)
{
delete
mpItemList
[
i
];
}
delete
mpItemList
;
mpItemList
.
clear
();
}
sal_uInt16
getItemSize
()
{
return
static_cast
<
sal_uInt16
>
(
mpItemList
.
size
());
}
};
...
...
@@ -455,26 +461,28 @@ TabBar::~TabBar()
ImplTabBarItem
*
TabBar
::
seek
(
size_t
i
)
{
if
(
i
<
mpImpl
->
mpItemList
->
size
()
)
if
(
i
<
mpImpl
->
mpItemList
.
size
()
)
{
maCurrentItemList
=
i
;
return
(
*
mpImpl
->
mpItemList
)[
maCurrentItemList
];
return
mpImpl
->
mpItemList
[
maCurrentItemList
];
}
return
NULL
;
}
ImplTabBarItem
*
TabBar
::
prev
()
{
if
(
maCurrentItemList
>
0
)
{
return
(
*
mpImpl
->
mpItemList
)[
--
maCurrentItemList
];
if
(
maCurrentItemList
>
0
)
{
return
mpImpl
->
mpItemList
[
--
maCurrentItemList
];
}
return
NULL
;
}
ImplTabBarItem
*
TabBar
::
next
()
{
if
(
maCurrentItemList
+
1
<
mpImpl
->
mpItemList
->
size
()
)
{
return
(
*
mpImpl
->
mpItemList
)[
++
maCurrentItemList
];
if
(
maCurrentItemList
+
1
<
mpImpl
->
mpItemList
.
size
()
)
{
return
mpImpl
->
mpItemList
[
++
maCurrentItemList
];
}
return
NULL
;
}
...
...
@@ -578,9 +586,9 @@ bool TabBar::ImplCalcWidth()
mnCurMaxWidth
=
0
;
bool
bChanged
=
false
;
for
(
size_t
i
=
0
,
n
=
mpImpl
->
mpItemList
->
size
();
i
<
n
;
++
i
)
for
(
size_t
i
=
0
;
i
<
mpImpl
->
mpItemList
.
size
();
++
i
)
{
ImplTabBarItem
*
pItem
=
(
*
mpImpl
->
mpItemList
)[
i
];
ImplTabBarItem
*
pItem
=
mpImpl
->
mpItemList
[
i
];
long
nNewWidth
=
GetTextWidth
(
pItem
->
maText
);
if
(
mnCurMaxWidth
&&
(
nNewWidth
>
mnCurMaxWidth
)
)
{
...
...
@@ -619,9 +627,9 @@ void TabBar::ImplFormat()
sal_uInt16
n
=
0
;
long
x
=
mnOffX
;
for
(
size_t
i
=
0
,
nL
=
mpImpl
->
mpItemList
->
size
();
i
<
nL
;
++
i
)
for
(
size_t
i
=
0
;
i
<
mpImpl
->
mpItemList
.
size
();
++
i
)
{
ImplTabBarItem
*
pItem
=
(
*
mpImpl
->
mpItemList
)[
i
];
ImplTabBarItem
*
pItem
=
mpImpl
->
mpItemList
[
i
];
// At all non-visible tabs an empty rectangle is set
if
(
(
n
+
1
<
mnFirstPos
)
||
(
x
>
mnLastOffX
)
)
pItem
->
maRect
.
SetEmpty
();
...
...
@@ -660,20 +668,19 @@ void TabBar::ImplFormat()
sal_uInt16
TabBar
::
ImplGetLastFirstPos
()
{
sal_uInt16
nCount
=
(
sal_uInt16
)(
mpImpl
->
mpItemList
->
size
()
);
sal_uInt16
nCount
=
mpImpl
->
getItemSize
(
);
if
(
!
nCount
||
mbSizeFormat
||
mbFormat
)
return
0
;
sal_uInt16
nLastFirstPos
=
nCount
-
1
;
long
nWinWidth
=
mnLastOffX
-
mnOffX
-
ADDNEWPAGE_AREAWIDTH
;
long
nWidth
=
(
*
mpImpl
->
mpItemList
)[
nLastFirstPos
]
->
mnWidth
;
long
nWidth
=
mpImpl
->
mpItemList
[
nLastFirstPos
]
->
mnWidth
;
while
(
nLastFirstPos
&&
(
nWidth
<
nWinWidth
)
)
{
nLastFirstPos
--
;
nWidth
+=
(
*
mpImpl
->
mpItemList
)[
nLastFirstPos
]
->
mnWidth
;
nWidth
+=
mpImpl
->
mpItemList
[
nLastFirstPos
]
->
mnWidth
;
}
if
(
(
nLastFirstPos
!=
(
sal_uInt16
)(
mpImpl
->
mpItemList
->
size
()
-
1
))
&&
(
nWidth
>
nWinWidth
)
)
if
(
(
nLastFirstPos
!=
static_cast
<
sal_uInt16
>
(
mpImpl
->
mpItemList
.
size
()
-
1
))
&&
(
nWidth
>
nWinWidth
)
)
nLastFirstPos
++
;
return
nLastFirstPos
;
}
...
...
@@ -777,13 +784,13 @@ void TabBar::SetScrollAlwaysEnabled(bool bScrollAlwaysEnabled)
void
TabBar
::
ImplShowPage
(
sal_uInt16
nPos
)
{
if
(
nPos
>=
mpImpl
->
mpItemList
->
s
ize
())
if
(
nPos
>=
mpImpl
->
getItemS
ize
())
return
;
// calculate width
long
nWidth
=
GetOutputSizePixel
().
Width
();
ImplTabBarItem
*
pItem
=
(
*
mpImpl
->
mpItemList
)[
nPos
];
ImplTabBarItem
*
pItem
=
mpImpl
->
mpItemList
[
nPos
];
if
(
nPos
<
mnFirstPos
)
SetFirstPageId
(
pItem
->
mnId
);
else
if
(
pItem
->
maRect
.
Right
()
>
nWidth
)
...
...
@@ -868,7 +875,7 @@ void TabBar::MouseButtonDown( const MouseEvent& rMEvt )
if
(
(
nSelId
>
0
)
&&
(
nSelId
!=
mnCurPageId
)
)
{
sal_uInt16
nPos
=
GetPagePos
(
nSelId
);
pItem
=
(
*
mpImpl
->
mpItemList
)[
nPos
];
pItem
=
mpImpl
->
mpItemList
[
nPos
];
if
(
pItem
->
mbEnable
)
{
...
...
@@ -896,7 +903,7 @@ void TabBar::MouseButtonDown( const MouseEvent& rMEvt )
if
(
nSelId
)
{
sal_uInt16
nPos
=
GetPagePos
(
nSelId
);
pItem
=
(
*
mpImpl
->
mpItemList
)[
nPos
];
pItem
=
mpImpl
->
mpItemList
[
nPos
];
if
(
pItem
->
mbEnable
)
{
...
...
@@ -924,7 +931,7 @@ void TabBar::MouseButtonDown( const MouseEvent& rMEvt )
n
=
0
;
while
(
n
<
nCurPos
)
{
pItem
=
(
*
mpImpl
->
mpItemList
)[
n
];
pItem
=
mpImpl
->
mpItemList
[
n
];
if
(
n
<
nPos
)
bSelect
=
false
;
else
...
...
@@ -946,11 +953,11 @@ void TabBar::MouseButtonDown( const MouseEvent& rMEvt )
// Select all tabs from the actual position till the clicked tab
// and deselect all tabs from the actual position
// till the last tab
sal_uInt16
nCount
=
(
sal_uInt16
)
mpImpl
->
mpItemList
->
s
ize
();
sal_uInt16
nCount
=
mpImpl
->
getItemS
ize
();
n
=
nCurPos
;
while
(
n
<
nCount
)
{
pItem
=
(
*
mpImpl
->
mpItemList
)[
n
];
pItem
=
mpImpl
->
mpItemList
[
n
];
if
(
n
<=
nPos
)
bSelect
=
true
;
...
...
@@ -1008,7 +1015,7 @@ void TabBar::MouseButtonDown( const MouseEvent& rMEvt )
if
(
nSelId
!=
mnCurPageId
)
{
sal_uInt16
nPos
=
GetPagePos
(
nSelId
);
pItem
=
(
*
mpImpl
->
mpItemList
)[
nPos
];
pItem
=
mpImpl
->
mpItemList
[
nPos
];
if
(
pItem
->
mbEnable
)
{
...
...
@@ -1020,9 +1027,9 @@ void TabBar::MouseButtonDown( const MouseEvent& rMEvt )
bUpdate
=
true
;
// deselect all selected items
for
(
size_t
i
=
0
,
n
=
mpImpl
->
mpItemList
->
size
();
i
<
n
;
++
i
)
for
(
size_t
i
=
0
;
i
<
mpImpl
->
mpItemList
.
size
();
++
i
)
{
pItem
=
(
*
mpImpl
->
mpItemList
)[
i
];
pItem
=
mpImpl
->
mpItemList
[
i
];
if
(
pItem
->
mbSelect
||
(
pItem
->
mnId
==
mnCurPageId
)
)
{
pItem
->
mbSelect
=
false
;
...
...
@@ -1271,7 +1278,7 @@ void TabBar::Paint( const Rectangle& rect )
ControlState
::
ENABLED
,
ImplControlValue
(
0
),
OUString
());
// calculate items and emit
sal_uInt16
nItemCount
=
(
sal_uInt16
)
mpImpl
->
mpItemList
->
s
ize
();
sal_uInt16
nItemCount
=
mpImpl
->
getItemS
ize
();
if
(
!
nItemCount
)
return
;
...
...
@@ -1548,7 +1555,7 @@ void TabBar::RequestHelp( const HelpEvent& rHEvt )
if
(
rHEvt
.
GetMode
()
&
(
HelpEventMode
::
QUICK
|
HelpEventMode
::
BALLOON
)
)
{
sal_uInt16
nPos
=
GetPagePos
(
nItemId
);
ImplTabBarItem
*
pItem
=
(
*
mpImpl
->
mpItemList
)[
nPos
];
ImplTabBarItem
*
pItem
=
mpImpl
->
mpItemList
[
nPos
];
if
(
pItem
->
mbShort
||
(
pItem
->
maRect
.
Right
()
-
5
>
mnLastOffX
)
)
{
Rectangle
aItemRect
=
GetPageRect
(
nItemId
);
...
...
@@ -1558,7 +1565,7 @@ void TabBar::RequestHelp( const HelpEvent& rHEvt )
aPt
=
OutputToScreenPixel
(
aItemRect
.
BottomRight
()
);
aItemRect
.
Right
()
=
aPt
.
X
();
aItemRect
.
Bottom
()
=
aPt
.
Y
();
OUString
aStr
=
(
*
mpImpl
->
mpItemList
)[
nPos
]
->
maText
;
OUString
aStr
=
mpImpl
->
mpItemList
[
nPos
]
->
maText
;
if
(
!
aStr
.
isEmpty
())
{
if
(
rHEvt
.
GetMode
()
&
HelpEventMode
::
BALLOON
)
...
...
@@ -1582,7 +1589,7 @@ void TabBar::StateChanged( StateChangedType nType )
if
(
nType
==
StateChangedType
::
INITSHOW
)
{
if
(
(
mbSizeFormat
||
mbFormat
)
&&
!
mpImpl
->
mpItemList
->
empty
()
)
if
(
(
mbSizeFormat
||
mbFormat
)
&&
!
mpImpl
->
mpItemList
.
empty
()
)
ImplFormat
();
}
else
if
(
(
nType
==
StateChangedType
::
ZOOM
)
||
...
...
@@ -1689,7 +1696,7 @@ bool TabBar::ImplDeactivatePage()
void
TabBar
::
ImplPrePaint
()
{
sal_uInt16
nItemCount
=
(
sal_uInt16
)
mpImpl
->
mpItemList
->
s
ize
();
sal_uInt16
nItemCount
=
mpImpl
->
getItemS
ize
();
if
(
!
nItemCount
)
return
;
...
...
@@ -1704,7 +1711,7 @@ void TabBar::ImplPrePaint()
if
(
mnCurPageId
&&
(
mnFirstPos
==
0
)
&&
!
mbDropPos
)
{
ImplTabBarItem
*
pItem
=
(
*
mpImpl
->
mpItemList
)[
GetPagePos
(
mnCurPageId
)
];
ImplTabBarItem
*
pItem
=
mpImpl
->
mpItemList
[
GetPagePos
(
mnCurPageId
)
];
if
(
pItem
->
maRect
.
IsEmpty
()
)
{
// set mbDropPos (or misuse) to prevent Invalidate()
...
...
@@ -1808,12 +1815,15 @@ void TabBar::InsertPage( sal_uInt16 nPageId, const OUString& rText,
// create PageItem and insert in the item list
ImplTabBarItem
*
pItem
=
new
ImplTabBarItem
(
nPageId
,
rText
,
nBits
);
if
(
nPos
<
mpImpl
->
mpItemList
->
size
()
)
{
ImplTabBarList
::
iterator
it
=
mpImpl
->
mpItemList
->
begin
();
std
::
advance
(
it
,
nPos
);
mpImpl
->
mpItemList
->
insert
(
it
,
pItem
);
}
else
{
mpImpl
->
mpItemList
->
push_back
(
pItem
);
if
(
nPos
<
mpImpl
->
mpItemList
.
size
())
{
ImplTabBarList
::
iterator
it
=
mpImpl
->
mpItemList
.
begin
();
std
::
advance
(
it
,
nPos
);
mpImpl
->
mpItemList
.
insert
(
it
,
pItem
);
}
else
{
mpImpl
->
mpItemList
.
push_back
(
pItem
);
}
mbSizeFormat
=
true
;
...
...
@@ -1835,7 +1845,7 @@ Color TabBar::GetTabBgColor( sal_uInt16 nPageId ) const
sal_uInt16
nPos
=
GetPagePos
(
nPageId
);
if
(
nPos
!=
PAGE_NOT_FOUND
)
return
(
*
mpImpl
->
mpItemList
)[
nPos
]
->
maTabBgColor
;
return
mpImpl
->
mpItemList
[
nPos
]
->
maTabBgColor
;
else
return
Color
(
COL_AUTO
);
}
...
...
@@ -1845,7 +1855,7 @@ void TabBar::SetTabBgColor( sal_uInt16 nPageId, const Color& aTabBgColor )
sal_uInt16
nPos
=
GetPagePos
(
nPageId
);
if
(
nPos
!=
PAGE_NOT_FOUND
)
{
ImplTabBarItem
*
pItem
=
(
*
mpImpl
->
mpItemList
)[
nPos
];
ImplTabBarItem
*
pItem
=
mpImpl
->
mpItemList
[
nPos
];
if
(
aTabBgColor
!=
Color
(
COL_AUTO
)
)
{
pItem
->
maTabBgColor
=
aTabBgColor
;
...
...
@@ -1879,10 +1889,10 @@ void TabBar::RemovePage( sal_uInt16 nPageId )
mnFirstPos
--
;
// delete item data
ImplTabBarList
::
iterator
it
=
mpImpl
->
mpItemList
->
begin
();
std
::
advance
(
it
,
nPos
);
ImplTabBarList
::
iterator
it
=
mpImpl
->
mpItemList
.
begin
();
std
::
advance
(
it
,
nPos
);
delete
*
it
;
mpImpl
->
mpItemList
->
erase
(
it
);
mpImpl
->
mpItemList
.
erase
(
it
);
// redraw bar
if
(
IsReallyVisible
()
&&
IsUpdateMode
()
)
...
...
@@ -1909,16 +1919,17 @@ void TabBar::MovePage( sal_uInt16 nPageId, sal_uInt16 nNewPos )
if
(
nPos
!=
PAGE_NOT_FOUND
)
{
// move tabbar item in the list
ImplTabBarList
::
iterator
it
=
mpImpl
->
mpItemList
->
begin
();
std
::
advance
(
it
,
nPos
);
ImplTabBarList
::
iterator
it
=
mpImpl
->
mpItemList
.
begin
();
std
::
advance
(
it
,
nPos
);
ImplTabBarItem
*
pItem
=
*
it
;
mpImpl
->
mpItemList
->
erase
(
it
);
if
(
nNewPos
<
mpImpl
->
mpItemList
->
size
()
)
{
it
=
mpImpl
->
mpItemList
->
begin
();
std
::
advance
(
it
,
nNewPos
);
mpImpl
->
mpItemList
->
insert
(
it
,
pItem
);
mpImpl
->
mpItemList
.
erase
(
it
);
if
(
nNewPos
<
mpImpl
->
mpItemList
.
size
())
{
it
=
mpImpl
->
mpItemList
.
begin
();
std
::
advance
(
it
,
nNewPos
);
mpImpl
->
mpItemList
.
insert
(
it
,
pItem
);
}
else
{
mpImpl
->
mpItemList
->
push_back
(
pItem
);
mpImpl
->
mpItemList
.
push_back
(
pItem
);
}
// redraw bar
...
...
@@ -1934,10 +1945,11 @@ void TabBar::MovePage( sal_uInt16 nPageId, sal_uInt16 nNewPos )
void
TabBar
::
Clear
()
{
// delete all items
for
(
size_t
i
=
0
,
n
=
mpImpl
->
mpItemList
->
size
();
i
<
n
;
++
i
)
{
delete
(
*
mpImpl
->
mpItemList
)[
i
];
for
(
size_t
i
=
0
;
i
<
mpImpl
->
mpItemList
.
size
();
++
i
)
{
delete
mpImpl
->
mpItemList
[
i
];
}
mpImpl
->
mpItemList
->
clear
();
mpImpl
->
mpItemList
.
clear
();
// remove items from the list
mbSizeFormat
=
true
;
...
...
@@ -1959,7 +1971,7 @@ bool TabBar::IsPageEnabled( sal_uInt16 nPageId ) const
sal_uInt16
nPos
=
GetPagePos
(
nPageId
);
if
(
nPos
!=
PAGE_NOT_FOUND
)
return
(
*
mpImpl
->
mpItemList
)[
nPos
]
->
mbEnable
;
return
mpImpl
->
mpItemList
[
nPos
]
->
mbEnable
;
else
return
false
;
}
...
...
@@ -1972,7 +1984,7 @@ void TabBar::SetPageBits( sal_uInt16 nPageId, TabBarPageBits nBits )
if
(
nPos
!=
PAGE_NOT_FOUND
)
{
ImplTabBarItem
*
pItem
=
(
*
mpImpl
->
mpItemList
)[
nPos
];
ImplTabBarItem
*
pItem
=
mpImpl
->
mpItemList
[
nPos
];
if
(
pItem
->
mnBits
!=
nBits
)
{
...
...
@@ -1992,7 +2004,7 @@ TabBarPageBits TabBar::GetPageBits( sal_uInt16 nPageId ) const
sal_uInt16
nPos
=
GetPagePos
(
nPageId
);
if
(
nPos
!=
PAGE_NOT_FOUND
)
return
(
*
mpImpl
->
mpItemList
)[
nPos
]
->
mnBits
;
return
mpImpl
->
mpItemList
[
nPos
]
->
mnBits
;
else
return
sal_False
;
}
...
...
@@ -2001,23 +2013,24 @@ TabBarPageBits TabBar::GetPageBits( sal_uInt16 nPageId ) const
sal_uInt16
TabBar
::
GetPageCount
()
const
{
return
(
sal_uInt16
)
mpImpl
->
mpItemList
->
s
ize
();
return
mpImpl
->
getItemS
ize
();
}
sal_uInt16
TabBar
::
GetPageId
(
sal_uInt16
nPos
)
const
{
return
(
nPos
<
mpImpl
->
mpItemList
->
size
()
)
?
(
*
mpImpl
->
mpItemList
)[
nPos
]
->
mnId
:
0
;
return
nPos
<
mpImpl
->
mpItemList
.
size
()
?
mpImpl
->
mpItemList
[
nPos
]
->
mnId
:
0
;
}
sal_uInt16
TabBar
::
GetPagePos
(
sal_uInt16
nPageId
)
const
{
for
(
size_t
i
=
0
,
n
=
mpImpl
->
mpItemList
->
size
();
i
<
n
;
++
i
)
{
if
(
(
*
mpImpl
->
mpItemList
)[
i
]
->
mnId
==
nPageId
)
{
return
sal_uInt16
(
i
);
for
(
size_t
i
=
0
;
i
<
mpImpl
->
mpItemList
.
size
();
++
i
)
{
if
(
mpImpl
->
mpItemList
[
i
]
->
mnId
==
nPageId
)
{
return
static_cast
<
sal_uInt16
>
(
i
);
}
}
return
PAGE_NOT_FOUND
;
...
...
@@ -2027,16 +2040,16 @@ sal_uInt16 TabBar::GetPagePos( sal_uInt16 nPageId ) const
sal_uInt16
TabBar
::
GetPageId
(
const
Point
&
rPos
,
bool
bCheckInsTab
)
const
{
for
(
size_t
i
=
0
,
n
=
mpImpl
->
mpItemList
->
size
();
i
<
n
;
++
i
)
for
(
size_t
i
=
0
;
i
<
mpImpl
->
mpItemList
.
size
();
++
i
)
{
ImplTabBarItem
*
pItem
=
(
*
mpImpl
->
mpItemList
)[
i
];
if
(
pItem
->
maRect
.
IsInside
(
rPos
)
)
ImplTabBarItem
*
pItem
=
mpImpl
->
mpItemList
[
i
];
if
(
pItem
->
maRect
.
IsInside
(
rPos
)
)
return
pItem
->
mnId
;
}
if
(
bCheckInsTab
&&
mbHasInsertTab
&&
!
mpImpl
->
mpItemList
->
empty
())
if
(
bCheckInsTab
&&
mbHasInsertTab
&&
!
mpImpl
->
mpItemList
.
empty
())
{
ImplTabBarItem
*
pItem
=
mpImpl
->
mpItemList
->
back
();
ImplTabBarItem
*
pItem
=
mpImpl
->
mpItemList
.
back
();
if
(
ImplGetInsertTabRect
(
pItem
).
IsInside
(
rPos
))
return
INSERT_TAB_POS
;
}
...
...
@@ -2051,7 +2064,7 @@ Rectangle TabBar::GetPageRect( sal_uInt16 nPageId ) const
sal_uInt16
nPos
=
GetPagePos
(
nPageId
);
if
(
nPos
!=
PAGE_NOT_FOUND
)
return
(
*
mpImpl
->
mpItemList
)[
nPos
]
->
maRect
;
return
mpImpl
->
mpItemList
[
nPos
]
->
maRect
;
else
return
Rectangle
();
}
...
...
@@ -2074,11 +2087,11 @@ void TabBar::SetCurPageId( sal_uInt16 nPageId )
if
(
IsReallyVisible
()
&&
IsUpdateMode
()
)
bUpdate
=
true
;
ImplTabBarItem
*
pItem
=
(
*
mpImpl
->
mpItemList
)[
nPos
];
ImplTabBarItem
*
pItem
=
mpImpl
->
mpItemList
[
nPos
];
ImplTabBarItem
*
pOldItem
;
if
(
mnCurPageId
)
pOldItem
=
(
*
mpImpl
->
mpItemList
)[
GetPagePos
(
mnCurPageId
)
];
pOldItem
=
mpImpl
->
mpItemList
[
GetPagePos
(
mnCurPageId
)
];
else
pOldItem
=
NULL
;
...
...
@@ -2156,7 +2169,7 @@ void TabBar::MakeVisible( sal_uInt16 nPageId )
SetFirstPageId
(
nPageId
);
else
{
ImplTabBarItem
*
pItem
=
(
*
mpImpl
->
mpItemList
)[
nPos
];
ImplTabBarItem
*
pItem
=
mpImpl
->
mpItemList
[
nPos
];
// calculate visible area
long
nWidth
=
mnLastOffX
;
...
...
@@ -2230,7 +2243,7 @@ void TabBar::SelectPage( sal_uInt16 nPageId, bool bSelect )
if
(
nPos
!=
PAGE_NOT_FOUND
)
{
ImplTabBarItem
*
pItem
=
(
*
mpImpl
->
mpItemList
)[
nPos
];
ImplTabBarItem
*
pItem
=
mpImpl
->
mpItemList
[
nPos
];
if
(
pItem
->
mbSelect
!=
bSelect
)
{
...
...
@@ -2247,11 +2260,11 @@ void TabBar::SelectPage( sal_uInt16 nPageId, bool bSelect )
sal_uInt16
TabBar
::
GetSelectPageCount
()
const
{
sal_uInt16
nSelected
=
0
;
for
(
size_t
i
=
0
,
n
=
mpImpl
->
mpItemList
->
size
();
i
<
n
;
++
i
)
sal_uInt16
nSelected
=
0
;
for
(
size_t
i
=
0
;
i
<
mpImpl
->
mpItemList
.
size
();
++
i
)
{
ImplTabBarItem
*
pItem
=
(
*
mpImpl
->
mpItemList
)[
i
];
if
(
pItem
->
mbSelect
)
ImplTabBarItem
*
pItem
=
mpImpl
->
mpItemList
[
i
];
if
(
pItem
->
mbSelect
)
nSelected
++
;
}
...
...
@@ -2264,7 +2277,7 @@ bool TabBar::IsPageSelected( sal_uInt16 nPageId ) const
{
sal_uInt16
nPos
=
GetPagePos
(
nPageId
);
if
(
nPos
!=
PAGE_NOT_FOUND
)
return
(
*
mpImpl
->
mpItemList
)[
nPos
]
->
mbSelect
;
return
mpImpl
->
mpItemList
[
nPos
]
->
mbSelect
;
else
return
false
;
}
...
...
@@ -2427,7 +2440,7 @@ void TabBar::SetPageText( sal_uInt16 nPageId, const OUString& rText )
sal_uInt16
nPos
=
GetPagePos
(
nPageId
);
if
(
nPos
!=
PAGE_NOT_FOUND
)
{
(
*
mpImpl
->
mpItemList
)[
nPos
]
->
maText
=
rText
;
mpImpl
->
mpItemList
[
nPos
]
->
maText
=
rText
;
mbSizeFormat
=
true
;
// redraw bar
...
...
@@ -2444,7 +2457,7 @@ OUString TabBar::GetPageText( sal_uInt16 nPageId ) const
{
sal_uInt16
nPos
=
GetPagePos
(
nPageId
);
if
(
nPos
!=
PAGE_NOT_FOUND
)
return
(
*
mpImpl
->
mpItemList
)[
nPos
]
->
maText
;
return
mpImpl
->
mpItemList
[
nPos
]
->
maText
;
return
OUString
();
}
...
...
@@ -2455,7 +2468,7 @@ OUString TabBar::GetHelpText( sal_uInt16 nPageId ) const
sal_uInt16
nPos
=
GetPagePos
(
nPageId
);
if
(
nPos
!=
PAGE_NOT_FOUND
)
{
ImplTabBarItem
*
pItem
=
(
*
mpImpl
->
mpItemList
)[
nPos
];
ImplTabBarItem
*
pItem
=
mpImpl
->
mpItemList
[
nPos
];
if
(
pItem
->
maHelpText
.
isEmpty
()
&&
!
pItem
->
maHelpId
.
isEmpty
())
{
Help
*
pHelp
=
Application
::
GetHelp
();
...
...
@@ -2475,7 +2488,7 @@ OString TabBar::GetHelpId( sal_uInt16 nPageId ) const
sal_uInt16
nPos
=
GetPagePos
(
nPageId
);
OString
aRet
;
if
(
nPos
!=
PAGE_NOT_FOUND
)
return
(
*
mpImpl
->
mpItemList
)[
nPos
]
->
maHelpId
;
return
mpImpl
->
mpItemList
[
nPos
]
->
maHelpId
;
return
aRet
;
}
...
...
@@ -2531,14 +2544,14 @@ sal_uInt16 TabBar::ShowDropPos( const Point& rPos )
ImplTabBarItem
*
pItem
;
sal_uInt16
nDropId
;
sal_uInt16
nNewDropPos
;
sal_uInt16
nItemCount
=
(
sal_uInt16
)
mpImpl
->
mpItemList
->
s
ize
();
sal_uInt16
nItemCount
=
mpImpl
->
getItemS
ize
();
short
nScroll
=
0
;
if
(
rPos
.
X
()
>
mnLastOffX
-
TABBAR_DRAG_SCROLLOFF
)
{
pItem
=
(
*
mpImpl
->
mpItemList
)[
mpImpl
->
mpItemList
->
size
()
-
1
];
pItem
=
mpImpl
->
mpItemList
[
mpImpl
->
mpItemList
.
size
()
-
1
];
if
(
!
pItem
->
maRect
.
IsEmpty
()
&&
(
rPos
.
X
()
>
pItem
->
maRect
.
Right
())
)
nNewDropPos
=
(
sal_uInt16
)
mpImpl
->
mpItemList
->
s
ize
();
nNewDropPos
=
mpImpl
->
getItemS
ize
();
else
{
nNewDropPos
=
mnFirstPos
+
1
;
...
...
@@ -2605,7 +2618,7 @@ sal_uInt16 TabBar::ShowDropPos( const Point& rPos )
SetLineColor
(
aBlackColor
);
SetFillColor
(
aBlackColor
);
pItem
=
(
*
mpImpl
->
mpItemList
)[
mnDropPos
];
pItem
=
mpImpl
->
mpItemList
[
mnDropPos
];
nX
=
pItem
->
maRect
.
Left
();
if
(
mnDropPos
==
nCurPos
)
nX
--
;
...
...
@@ -2628,7 +2641,7 @@ sal_uInt16 TabBar::ShowDropPos( const Point& rPos )
SetLineColor
(
aBlackColor
);
SetFillColor
(
aBlackColor
);
pItem
=
(
*
mpImpl
->
mpItemList
)[
mnDropPos
-
1
];
pItem
=
mpImpl
->
mpItemList
[
mnDropPos
-
1
];
nX
=
pItem
->
maRect
.
Right
();
if
(
mnDropPos
==
nCurPos
)
nX
++
;
...
...
@@ -2657,11 +2670,11 @@ void TabBar::HideDropPos()
long
nX
;
long
nY1
=
(
maWinSize
.
Height
()
/
2
)
-
3
;
long
nY2
=
nY1
+
5
;
sal_uInt16
nItemCount
=
(
sal_uInt16
)
mpImpl
->
mpItemList
->
s
ize
();
sal_uInt16
nItemCount
=
mpImpl
->
getItemS
ize
();
if
(
mnDropPos
<
nItemCount
)
{
pItem
=
(
*
mpImpl
->
mpItemList
)[
mnDropPos
];
pItem
=
mpImpl
->
mpItemList
[
mnDropPos
];
nX
=
pItem
->
maRect
.
Left
();
// immediately call Paint, as it is not possible during drag and drop
Rectangle
aRect
(
nX
-
1
,
nY1
,
nX
+
3
,
nY2
);
...
...
@@ -2672,7 +2685,7 @@ void TabBar::HideDropPos()
}
if
(
(
mnDropPos
>
0
)
&&
(
mnDropPos
<
nItemCount
+
1
)
)
{
pItem
=
(
*
mpImpl
->
mpItemList
)[
mnDropPos
-
1
];
pItem
=
mpImpl
->
mpItemList
[
mnDropPos
-
1
];
nX
=
pItem
->
maRect
.
Right
();
// immediately call Paint, as it is not possible during drag and drop
Rectangle
aRect
(
nX
-
2
,
nY1
,
nX
+
1
,
nY2
);
...
...
@@ -2752,12 +2765,12 @@ Size TabBar::CalcWindowSizePixel() const
{
long
nWidth
=
0
;
if
(
mpImpl
->
mpItemList
->
size
()
)
if
(
mpImpl
->
mpItemList
.
size
()
>
0
)
{
((
TabBar
*
)
this
)
->
ImplCalcWidth
();
for
(
size_t
i
=
0
,
n
=
mpImpl
->
mpItemList
->
size
();
i
<
n
;
++
i
)
for
(
size_t
i
=
0
;
i
<
mpImpl
->
mpItemList
.
size
();
++
i
)
{
ImplTabBarItem
*
pItem
=
(
*
mpImpl
->
mpItemList
)[
i
];
ImplTabBarItem
*
pItem
=
mpImpl
->
mpItemList
[
i
];
nWidth
+=
pItem
->
mnWidth
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment