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
aa11e7ba
Kaydet (Commit)
aa11e7ba
authored
Agu 14, 2012
tarafından
Noel Grandin
Kaydeden (comit)
Michael Stahl
Agu 16, 2012
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Convert maList in SdrMarkList from Container to std::vector
Change-Id: I1e975805a82dcf273cde8a9deba4a7e31dbd72b2
üst
7758eaf7
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
44 additions
and
56 deletions
+44
-56
svdmark.hxx
svx/inc/svx/svdmark.hxx
+5
-6
svdmark.cxx
svx/source/svdraw/svdmark.cxx
+39
-50
No files found.
svx/inc/svx/svdmark.hxx
Dosyayı görüntüle @
aa11e7ba
...
@@ -31,7 +31,6 @@
...
@@ -31,7 +31,6 @@
#include <vector>
#include <vector>
#include <tools/contnr.hxx>
#include <tools/string.hxx>
#include <tools/string.hxx>
#include "svx/svxdllapi.h"
#include "svx/svxdllapi.h"
#include <svx/sdrobjectuser.hxx>
#include <svx/sdrobjectuser.hxx>
...
@@ -177,7 +176,7 @@ public:
...
@@ -177,7 +176,7 @@ public:
class
SVX_DLLPUBLIC
SdrMarkList
class
SVX_DLLPUBLIC
SdrMarkList
{
{
protected
:
protected
:
Container
maList
;
std
::
vector
<
SdrMark
*>
maList
;
String
maMarkName
;
String
maMarkName
;
String
maPointName
;
String
maPointName
;
...
@@ -197,7 +196,7 @@ private:
...
@@ -197,7 +196,7 @@ private:
public
:
public
:
SdrMarkList
()
SdrMarkList
()
:
maList
(
1024
,
64
,
64
),
:
maList
(),
mbPointNameOk
(
sal_False
),
mbPointNameOk
(
sal_False
),
mbGluePointNameOk
(
sal_False
),
mbGluePointNameOk
(
sal_False
),
mbNameOk
(
sal_False
),
mbNameOk
(
sal_False
),
...
@@ -206,7 +205,7 @@ public:
...
@@ -206,7 +205,7 @@ public:
}
}
SdrMarkList
(
const
SdrMarkList
&
rLst
)
SdrMarkList
(
const
SdrMarkList
&
rLst
)
:
maList
(
1024
,
64
,
64
)
:
maList
()
{
{
*
this
=
rLst
;
*
this
=
rLst
;
}
}
...
@@ -225,12 +224,12 @@ public:
...
@@ -225,12 +224,12 @@ public:
sal_uLong
GetMarkCount
()
const
sal_uLong
GetMarkCount
()
const
{
{
return
maList
.
Count
();
return
maList
.
size
();
}
}
SdrMark
*
GetMark
(
sal_uLong
nNum
)
const
SdrMark
*
GetMark
(
sal_uLong
nNum
)
const
{
{
return
(
SdrMark
*
)(
maList
.
GetObject
(
nNum
))
;
return
maList
[
nNum
]
;
}
}
sal_uLong
FindObject
(
const
SdrObject
*
pObj
)
const
;
sal_uLong
FindObject
(
const
SdrObject
*
pObj
)
const
;
...
...
svx/source/svdraw/svdmark.cxx
Dosyayı görüntüle @
aa11e7ba
...
@@ -229,22 +229,10 @@ sal_Bool SdrMark::operator==(const SdrMark& rMark) const
...
@@ -229,22 +229,10 @@ sal_Bool SdrMark::operator==(const SdrMark& rMark) const
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
class
ImpSdrMarkListSorter
:
public
ContainerSorter
static
bool
ImpSdrMarkListSorter
(
SdrMark
*
const
&
lhs
,
SdrMark
*
const
&
rhs
)
{
{
public
:
SdrObject
*
pObj1
=
lhs
->
GetMarkedSdrObj
();
ImpSdrMarkListSorter
(
Container
&
rNewCont
)
SdrObject
*
pObj2
=
rhs
->
GetMarkedSdrObj
();
:
ContainerSorter
(
rNewCont
)
{}
virtual
~
ImpSdrMarkListSorter
()
{}
virtual
int
Compare
(
const
void
*
pElem1
,
const
void
*
pElem2
)
const
;
};
int
ImpSdrMarkListSorter
::
Compare
(
const
void
*
pElem1
,
const
void
*
pElem2
)
const
{
SdrObject
*
pObj1
=
((
SdrMark
*
)
pElem1
)
->
GetMarkedSdrObj
();
SdrObject
*
pObj2
=
((
SdrMark
*
)
pElem2
)
->
GetMarkedSdrObj
();
SdrObjList
*
pOL1
=
(
pObj1
)
?
pObj1
->
GetObjList
()
:
0L
;
SdrObjList
*
pOL1
=
(
pObj1
)
?
pObj1
->
GetObjList
()
:
0L
;
SdrObjList
*
pOL2
=
(
pObj2
)
?
pObj2
->
GetObjList
()
:
0L
;
SdrObjList
*
pOL2
=
(
pObj2
)
?
pObj2
->
GetObjList
()
:
0L
;
...
@@ -256,11 +244,11 @@ int ImpSdrMarkListSorter::Compare(const void* pElem1, const void* pElem2) const
...
@@ -256,11 +244,11 @@ int ImpSdrMarkListSorter::Compare(const void* pElem1, const void* pElem2) const
sal_uInt32
nObjOrd1
((
pObj1
)
?
pObj1
->
GetNavigationPosition
()
:
0
);
sal_uInt32
nObjOrd1
((
pObj1
)
?
pObj1
->
GetNavigationPosition
()
:
0
);
sal_uInt32
nObjOrd2
((
pObj2
)
?
pObj2
->
GetNavigationPosition
()
:
0
);
sal_uInt32
nObjOrd2
((
pObj2
)
?
pObj2
->
GetNavigationPosition
()
:
0
);
return
(
nObjOrd1
<
nObjOrd2
?
-
1
:
1
)
;
return
nObjOrd1
<
nObjOrd2
;
}
}
else
else
{
{
return
(
(
long
)
pOL1
<
(
long
)
pOL2
)
?
-
1
:
1
;
return
(
long
)
pOL1
<
(
long
)
pOL2
;
}
}
}
}
...
@@ -279,37 +267,37 @@ void SdrMarkList::ImpForceSort()
...
@@ -279,37 +267,37 @@ void SdrMarkList::ImpForceSort()
if
(
!
mbSorted
)
if
(
!
mbSorted
)
{
{
mbSorted
=
sal_True
;
mbSorted
=
sal_True
;
sal_uLong
nAnz
=
maList
.
Count
();
sal_uLong
nAnz
=
maList
.
size
();
// remove invalid
// remove invalid
if
(
nAnz
>
0
)
if
(
nAnz
>
0
)
{
{
SdrMark
*
pAkt
=
(
SdrMark
*
)
maList
.
First
();
for
(
std
::
vector
<
SdrMark
*>::
iterator
it
=
maList
.
begin
();
it
!=
maList
.
end
();
)
while
(
pAkt
)
{
{
SdrMark
*
pAkt
=
*
it
;
if
(
pAkt
->
GetMarkedSdrObj
()
==
0
)
if
(
pAkt
->
GetMarkedSdrObj
()
==
0
)
{
{
maList
.
Remove
(
);
it
=
maList
.
erase
(
it
);
delete
pAkt
;
delete
pAkt
;
}
}
pAkt
=
(
SdrMark
*
)
maList
.
Next
();
else
++
it
;
}
}
nAnz
=
maList
.
Count
();
nAnz
=
maList
.
size
();
}
}
if
(
nAnz
>
1
)
if
(
nAnz
>
1
)
{
{
ImpSdrMarkListSorter
aSort
(
maList
);
std
::
sort
(
maList
.
begin
(),
maList
.
end
(),
ImpSdrMarkListSorter
);
aSort
.
DoSort
();
// remove duplicates
// remove duplicates
if
(
maList
.
Count
()
>
1
)
if
(
maList
.
size
()
>
1
)
{
{
SdrMark
*
pAkt
=
(
SdrMark
*
)
maList
.
Last
();
SdrMark
*
pAkt
=
maList
.
back
();
SdrMark
*
pCmp
=
(
SdrMark
*
)
maList
.
Prev
();
int
i
=
maList
.
size
()
-
2
;
while
(
i
)
while
(
pCmp
)
{
{
SdrMark
*
pCmp
=
maList
[
i
];
if
(
pAkt
->
GetMarkedSdrObj
()
==
pCmp
->
GetMarkedSdrObj
()
&&
pAkt
->
GetMarkedSdrObj
())
if
(
pAkt
->
GetMarkedSdrObj
()
==
pCmp
->
GetMarkedSdrObj
()
&&
pAkt
->
GetMarkedSdrObj
())
{
{
// Con1/Con2 Merging
// Con1/Con2 Merging
...
@@ -320,7 +308,7 @@ void SdrMarkList::ImpForceSort()
...
@@ -320,7 +308,7 @@ void SdrMarkList::ImpForceSort()
pAkt
->
SetCon2
(
sal_True
);
pAkt
->
SetCon2
(
sal_True
);
// delete pCmp
// delete pCmp
maList
.
Remove
(
);
maList
.
erase
(
maList
.
begin
()
+
i
);
delete
pCmp
;
delete
pCmp
;
}
}
...
@@ -329,7 +317,7 @@ void SdrMarkList::ImpForceSort()
...
@@ -329,7 +317,7 @@ void SdrMarkList::ImpForceSort()
pAkt
=
pCmp
;
pAkt
=
pCmp
;
}
}
pCmp
=
(
SdrMark
*
)
maList
.
Prev
()
;
--
i
;
}
}
}
}
}
}
...
@@ -344,7 +332,7 @@ void SdrMarkList::Clear()
...
@@ -344,7 +332,7 @@ void SdrMarkList::Clear()
delete
pMark
;
delete
pMark
;
}
}
maList
.
C
lear
();
maList
.
c
lear
();
SetNameDirty
();
SetNameDirty
();
}
}
...
@@ -356,7 +344,7 @@ void SdrMarkList::operator=(const SdrMarkList& rLst)
...
@@ -356,7 +344,7 @@ void SdrMarkList::operator=(const SdrMarkList& rLst)
{
{
SdrMark
*
pMark
=
rLst
.
GetMark
(
i
);
SdrMark
*
pMark
=
rLst
.
GetMark
(
i
);
SdrMark
*
pNeuMark
=
new
SdrMark
(
*
pMark
);
SdrMark
*
pNeuMark
=
new
SdrMark
(
*
pMark
);
maList
.
Insert
(
pNeuMark
,
CONTAINER_APPEND
);
maList
.
push_back
(
pNeuMark
);
}
}
maMarkName
=
rLst
.
maMarkName
;
maMarkName
=
rLst
.
maMarkName
;
...
@@ -379,11 +367,11 @@ sal_uLong SdrMarkList::FindObject(const SdrObject* pObj) const
...
@@ -379,11 +367,11 @@ sal_uLong SdrMarkList::FindObject(const SdrObject* pObj) const
// is not inserted in a object list.
// is not inserted in a object list.
// Since this may be by purpose and necessary somewhere else i decided that it is
// Since this may be by purpose and necessary somewhere else i decided that it is
// less dangerous to change this method then changing SdrObject::GetOrdNum().
// less dangerous to change this method then changing SdrObject::GetOrdNum().
if
(
pObj
&&
maList
.
Count
())
if
(
pObj
&&
!
maList
.
empty
())
{
{
for
(
sal_uLong
a
(
0L
);
a
<
maList
.
Count
();
a
++
)
for
(
sal_uLong
a
(
0L
);
a
<
maList
.
size
();
a
++
)
{
{
if
(
((
SdrMark
*
)(
maList
.
GetObject
(
a
)))
->
GetMarkedSdrObj
()
==
pObj
)
if
(
maList
[
a
]
->
GetMarkedSdrObj
()
==
pObj
)
{
{
return
a
;
return
a
;
}
}
...
@@ -396,14 +384,14 @@ sal_uLong SdrMarkList::FindObject(const SdrObject* pObj) const
...
@@ -396,14 +384,14 @@ sal_uLong SdrMarkList::FindObject(const SdrObject* pObj) const
void
SdrMarkList
::
InsertEntry
(
const
SdrMark
&
rMark
,
sal_Bool
bChkSort
)
void
SdrMarkList
::
InsertEntry
(
const
SdrMark
&
rMark
,
sal_Bool
bChkSort
)
{
{
SetNameDirty
();
SetNameDirty
();
sal_uLong
nAnz
(
maList
.
Count
());
sal_uLong
nAnz
(
maList
.
size
());
if
(
!
bChkSort
||
!
mbSorted
||
nAnz
==
0
)
if
(
!
bChkSort
||
!
mbSorted
||
nAnz
==
0
)
{
{
if
(
!
bChkSort
)
if
(
!
bChkSort
)
mbSorted
=
sal_False
;
mbSorted
=
sal_False
;
maList
.
Insert
(
new
SdrMark
(
rMark
),
CONTAINER_APPEND
);
maList
.
push_back
(
new
SdrMark
(
rMark
)
);
}
}
else
else
{
{
...
@@ -424,7 +412,7 @@ void SdrMarkList::InsertEntry(const SdrMark& rMark, sal_Bool bChkSort)
...
@@ -424,7 +412,7 @@ void SdrMarkList::InsertEntry(const SdrMark& rMark, sal_Bool bChkSort)
else
else
{
{
SdrMark
*
pKopie
=
new
SdrMark
(
rMark
);
SdrMark
*
pKopie
=
new
SdrMark
(
rMark
);
maList
.
Insert
(
pKopie
,
CONTAINER_APPEND
);
maList
.
push_back
(
pKopie
);
// now check if the sort is ok
// now check if the sort is ok
const
SdrObjList
*
pLastOL
=
pLastObj
!=
0L
?
pLastObj
->
GetObjList
()
:
0L
;
const
SdrObjList
*
pLastOL
=
pLastObj
!=
0L
?
pLastObj
->
GetObjList
()
:
0L
;
...
@@ -459,7 +447,7 @@ void SdrMarkList::DeleteMark(sal_uLong nNum)
...
@@ -459,7 +447,7 @@ void SdrMarkList::DeleteMark(sal_uLong nNum)
if
(
pMark
)
if
(
pMark
)
{
{
maList
.
Remove
(
nNum
);
maList
.
erase
(
maList
.
begin
()
+
nNum
);
delete
pMark
;
delete
pMark
;
SetNameDirty
();
SetNameDirty
();
}
}
...
@@ -475,14 +463,14 @@ void SdrMarkList::ReplaceMark(const SdrMark& rNewMark, sal_uLong nNum)
...
@@ -475,14 +463,14 @@ void SdrMarkList::ReplaceMark(const SdrMark& rNewMark, sal_uLong nNum)
delete
pMark
;
delete
pMark
;
SetNameDirty
();
SetNameDirty
();
SdrMark
*
pKopie
=
new
SdrMark
(
rNewMark
);
SdrMark
*
pKopie
=
new
SdrMark
(
rNewMark
);
maList
.
Replace
(
pKopie
,
nNum
)
;
maList
[
nNum
]
=
pKopie
;
mbSorted
=
sal_False
;
mbSorted
=
sal_False
;
}
}
}
}
void
SdrMarkList
::
Merge
(
const
SdrMarkList
&
rSrcList
,
sal_Bool
bReverse
)
void
SdrMarkList
::
Merge
(
const
SdrMarkList
&
rSrcList
,
sal_Bool
bReverse
)
{
{
sal_uLong
nAnz
(
rSrcList
.
maList
.
Count
());
sal_uLong
nAnz
(
rSrcList
.
maList
.
size
());
if
(
rSrcList
.
mbSorted
)
if
(
rSrcList
.
mbSorted
)
{
{
...
@@ -494,7 +482,7 @@ void SdrMarkList::Merge(const SdrMarkList& rSrcList, sal_Bool bReverse)
...
@@ -494,7 +482,7 @@ void SdrMarkList::Merge(const SdrMarkList& rSrcList, sal_Bool bReverse)
{
{
for
(
sal_uLong
i
(
0L
);
i
<
nAnz
;
i
++
)
for
(
sal_uLong
i
(
0L
);
i
<
nAnz
;
i
++
)
{
{
SdrMark
*
pM
=
(
SdrMark
*
)(
rSrcList
.
maList
.
GetObject
(
i
))
;
SdrMark
*
pM
=
rSrcList
.
maList
[
i
]
;
InsertEntry
(
*
pM
);
InsertEntry
(
*
pM
);
}
}
}
}
...
@@ -503,7 +491,7 @@ void SdrMarkList::Merge(const SdrMarkList& rSrcList, sal_Bool bReverse)
...
@@ -503,7 +491,7 @@ void SdrMarkList::Merge(const SdrMarkList& rSrcList, sal_Bool bReverse)
for
(
sal_uLong
i
(
nAnz
);
i
>
0
;)
for
(
sal_uLong
i
(
nAnz
);
i
>
0
;)
{
{
i
--
;
i
--
;
SdrMark
*
pM
=
(
SdrMark
*
)(
rSrcList
.
maList
.
GetObject
(
i
))
;
SdrMark
*
pM
=
rSrcList
.
maList
[
i
]
;
InsertEntry
(
*
pM
);
InsertEntry
(
*
pM
);
}
}
}
}
...
@@ -513,18 +501,19 @@ sal_Bool SdrMarkList::DeletePageView(const SdrPageView& rPV)
...
@@ -513,18 +501,19 @@ sal_Bool SdrMarkList::DeletePageView(const SdrPageView& rPV)
{
{
sal_Bool
bChgd
(
sal_False
);
sal_Bool
bChgd
(
sal_False
);
for
(
s
al_uLong
i
(
GetMarkCount
());
i
>
0
;
)
for
(
s
td
::
vector
<
SdrMark
*>::
iterator
it
=
maList
.
begin
();
it
!=
maList
.
end
()
;
)
{
{
i
--
;
SdrMark
*
pMark
=
*
it
;
SdrMark
*
pMark
=
GetMark
(
i
);
if
(
pMark
->
GetPageView
()
==&
rPV
)
if
(
pMark
->
GetPageView
()
==&
rPV
)
{
{
maList
.
Remove
(
i
);
it
=
maList
.
erase
(
it
);
delete
pMark
;
delete
pMark
;
SetNameDirty
();
SetNameDirty
();
bChgd
=
sal_True
;
bChgd
=
sal_True
;
}
}
else
++
it
;
}
}
return
bChgd
;
return
bChgd
;
...
@@ -546,7 +535,7 @@ sal_Bool SdrMarkList::InsertPageView(const SdrPageView& rPV)
...
@@ -546,7 +535,7 @@ sal_Bool SdrMarkList::InsertPageView(const SdrPageView& rPV)
if
(
bDoIt
)
if
(
bDoIt
)
{
{
SdrMark
*
pM
=
new
SdrMark
(
pObj
,
(
SdrPageView
*
)
&
rPV
);
SdrMark
*
pM
=
new
SdrMark
(
pObj
,
(
SdrPageView
*
)
&
rPV
);
maList
.
Insert
(
pM
,
CONTAINER_APPEND
);
maList
.
push_back
(
pM
);
SetNameDirty
();
SetNameDirty
();
bChgd
=
sal_True
;
bChgd
=
sal_True
;
}
}
...
...
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