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
66a1d406
Kaydet (Commit)
66a1d406
authored
Kas 05, 2010
tarafından
Andreas Mantke
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Translation of comments to English
üst
90352e2b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
61 additions
and
62 deletions
+61
-62
sbxobj.cxx
basic/source/sbx/sbxobj.cxx
+61
-62
No files found.
basic/source/sbx/sbxobj.cxx
Dosyayı görüntüle @
66a1d406
...
@@ -79,11 +79,11 @@ SbxObject& SbxObject::operator=( const SbxObject& r )
...
@@ -79,11 +79,11 @@ SbxObject& SbxObject::operator=( const SbxObject& r )
pMethods
=
new
SbxArray
;
pMethods
=
new
SbxArray
;
pProps
=
new
SbxArray
;
pProps
=
new
SbxArray
;
pObjs
=
new
SbxArray
(
SbxOBJECT
);
pObjs
=
new
SbxArray
(
SbxOBJECT
);
//
Die Arrays werden kopiert, die Inhalte uebernommen
//
The arrays were copied, the content taken over
*
pMethods
=
*
r
.
pMethods
;
*
pMethods
=
*
r
.
pMethods
;
*
pProps
=
*
r
.
pProps
;
*
pProps
=
*
r
.
pProps
;
*
pObjs
=
*
r
.
pObjs
;
*
pObjs
=
*
r
.
pObjs
;
//
Da die Variablen uebernommen wurden, ist die
s OK
//
Because the variables were taken over, this i
s OK
pDfltProp
=
r
.
pDfltProp
;
pDfltProp
=
r
.
pDfltProp
;
SetName
(
r
.
GetName
()
);
SetName
(
r
.
GetName
()
);
SetFlags
(
r
.
GetFlags
()
);
SetFlags
(
r
.
GetFlags
()
);
...
@@ -99,7 +99,7 @@ static void CheckParentsOnDelete( SbxObject* pObj, SbxArray* p )
...
@@ -99,7 +99,7 @@ static void CheckParentsOnDelete( SbxObject* pObj, SbxArray* p )
SbxVariableRef
&
rRef
=
p
->
GetRef
(
i
);
SbxVariableRef
&
rRef
=
p
->
GetRef
(
i
);
if
(
rRef
->
IsBroadcaster
()
)
if
(
rRef
->
IsBroadcaster
()
)
pObj
->
EndListening
(
rRef
->
GetBroadcaster
(),
TRUE
);
pObj
->
EndListening
(
rRef
->
GetBroadcaster
(),
TRUE
);
//
Hat das Element mehr als eine Referenz und noch einen
Listener?
//
Did the element have more then one reference and still a
Listener?
if
(
rRef
->
GetRefCount
()
>
1
)
if
(
rRef
->
GetRefCount
()
>
1
)
{
{
rRef
->
SetParent
(
NULL
);
rRef
->
SetParent
(
NULL
);
...
@@ -189,16 +189,16 @@ SbxVariable* SbxObject::FindUserData( UINT32 nData )
...
@@ -189,16 +189,16 @@ SbxVariable* SbxObject::FindUserData( UINT32 nData )
pRes
=
pProps
->
FindUserData
(
nData
);
pRes
=
pProps
->
FindUserData
(
nData
);
if
(
!
pRes
)
if
(
!
pRes
)
pRes
=
pObjs
->
FindUserData
(
nData
);
pRes
=
pObjs
->
FindUserData
(
nData
);
// Search in
den P
arents?
// Search in
the p
arents?
if
(
!
pRes
&&
IsSet
(
SBX_GBLSEARCH
)
)
if
(
!
pRes
&&
IsSet
(
SBX_GBLSEARCH
)
)
{
{
SbxObject
*
pCur
=
this
;
SbxObject
*
pCur
=
this
;
while
(
!
pRes
&&
pCur
->
pParent
)
while
(
!
pRes
&&
pCur
->
pParent
)
{
{
// I
ch selbst bin schon durchsucht worden
!
// I
myself was already searched through
!
USHORT
nOwn
=
pCur
->
GetFlags
();
USHORT
nOwn
=
pCur
->
GetFlags
();
pCur
->
ResetFlag
(
SBX_EXTSEARCH
);
pCur
->
ResetFlag
(
SBX_EXTSEARCH
);
// I
ch suche bereits
global!
// I
search already
global!
USHORT
nPar
=
pCur
->
pParent
->
GetFlags
();
USHORT
nPar
=
pCur
->
pParent
->
GetFlags
();
pCur
->
pParent
->
ResetFlag
(
SBX_GBLSEARCH
);
pCur
->
pParent
->
ResetFlag
(
SBX_GBLSEARCH
);
pRes
=
pCur
->
pParent
->
FindUserData
(
nData
);
pRes
=
pCur
->
pParent
->
FindUserData
(
nData
);
...
@@ -251,21 +251,21 @@ SbxVariable* SbxObject::Find( const XubString& rName, SbxClassType t )
...
@@ -251,21 +251,21 @@ SbxVariable* SbxObject::Find( const XubString& rName, SbxClassType t )
if
(
pArray
)
if
(
pArray
)
pRes
=
pArray
->
Find
(
rName
,
t
);
pRes
=
pArray
->
Find
(
rName
,
t
);
}
}
// Extended
Search im Objek
t-Array?
// Extended
sSearch in the Objec
t-Array?
// F
uer Objekte und DontCare ist das Objektarray bereits
// F
or objects and DontCare is the Objektarray already
//
durchsucht worden
//
searched through
if
(
!
pRes
&&
(
t
==
SbxCLASS_METHOD
||
t
==
SbxCLASS_PROPERTY
)
)
if
(
!
pRes
&&
(
t
==
SbxCLASS_METHOD
||
t
==
SbxCLASS_PROPERTY
)
)
pRes
=
pObjs
->
Find
(
rName
,
t
);
pRes
=
pObjs
->
Find
(
rName
,
t
);
// Search in
den P
arents?
// Search in
the p
arents?
if
(
!
pRes
&&
IsSet
(
SBX_GBLSEARCH
)
)
if
(
!
pRes
&&
IsSet
(
SBX_GBLSEARCH
)
)
{
{
SbxObject
*
pCur
=
this
;
SbxObject
*
pCur
=
this
;
while
(
!
pRes
&&
pCur
->
pParent
)
while
(
!
pRes
&&
pCur
->
pParent
)
{
{
// I
ch selbst bin schon durchsucht worden
!
// I
myself was already searched through
!
USHORT
nOwn
=
pCur
->
GetFlags
();
USHORT
nOwn
=
pCur
->
GetFlags
();
pCur
->
ResetFlag
(
SBX_EXTSEARCH
);
pCur
->
ResetFlag
(
SBX_EXTSEARCH
);
// I
ch suche bereits
global!
// I
search already
global!
USHORT
nPar
=
pCur
->
pParent
->
GetFlags
();
USHORT
nPar
=
pCur
->
pParent
->
GetFlags
();
pCur
->
pParent
->
ResetFlag
(
SBX_GBLSEARCH
);
pCur
->
pParent
->
ResetFlag
(
SBX_GBLSEARCH
);
pRes
=
pCur
->
pParent
->
Find
(
rName
,
t
);
pRes
=
pCur
->
pParent
->
Find
(
rName
,
t
);
...
@@ -287,16 +287,16 @@ SbxVariable* SbxObject::Find( const XubString& rName, SbxClassType t )
...
@@ -287,16 +287,16 @@ SbxVariable* SbxObject::Find( const XubString& rName, SbxClassType t )
return
pRes
;
return
pRes
;
}
}
//
Kurzform: Die Parent-Kette wird durchsucht
//
Abbreviated version: The parent-string will be searched through
//
Das ganze rekursiv, da Call() ueberladen sein kann
//
The whole thing recursive, because Call() might be overloaded
// Qualified
Names sind zugelassen
// Qualified
names are allowed
BOOL
SbxObject
::
Call
(
const
XubString
&
rName
,
SbxArray
*
pParam
)
BOOL
SbxObject
::
Call
(
const
XubString
&
rName
,
SbxArray
*
pParam
)
{
{
SbxVariable
*
pMeth
=
FindQualified
(
rName
,
SbxCLASS_DONTCARE
);
SbxVariable
*
pMeth
=
FindQualified
(
rName
,
SbxCLASS_DONTCARE
);
if
(
pMeth
&&
pMeth
->
ISA
(
SbxMethod
)
)
if
(
pMeth
&&
pMeth
->
ISA
(
SbxMethod
)
)
{
{
// FindQualified()
koennte schon zugeschlagen haben
!
// FindQualified()
might have been stroked
!
if
(
pParam
)
if
(
pParam
)
pMeth
->
SetParameters
(
pParam
);
pMeth
->
SetParameters
(
pParam
);
pMeth
->
Broadcast
(
SBX_HINT_DATAWANTED
);
pMeth
->
Broadcast
(
SBX_HINT_DATAWANTED
);
...
@@ -340,9 +340,9 @@ void SbxObject::SetDfltProperty( SbxProperty* p )
...
@@ -340,9 +340,9 @@ void SbxObject::SetDfltProperty( SbxProperty* p )
SetModified
(
TRUE
);
SetModified
(
TRUE
);
}
}
// S
uchen einer bereits vorhandenen Variablen. Falls sie gefunden wurde
,
// S
earch of a already available variable. If she was located
,
//
wird der Index gesetzt, sonst wird der Count des Arrays geliefert
.
//
the index will be set, elsewise will be delivered the Count of the Array
.
// In
jedem Fall wird das korrekte Array geliefert
.
// In
any case it will be delivered the correct Array
.
SbxArray
*
SbxObject
::
FindVar
(
SbxVariable
*
pVar
,
USHORT
&
nArrayIdx
)
SbxArray
*
SbxObject
::
FindVar
(
SbxVariable
*
pVar
,
USHORT
&
nArrayIdx
)
{
{
...
@@ -359,7 +359,7 @@ SbxArray* SbxObject::FindVar( SbxVariable* pVar, USHORT& nArrayIdx )
...
@@ -359,7 +359,7 @@ SbxArray* SbxObject::FindVar( SbxVariable* pVar, USHORT& nArrayIdx )
if
(
pArray
)
if
(
pArray
)
{
{
nArrayIdx
=
pArray
->
Count
();
nArrayIdx
=
pArray
->
Count
();
//
ist die Variable per Name vorhanden
?
//
Is the variable per name available
?
pArray
->
ResetFlag
(
SBX_EXTSEARCH
);
pArray
->
ResetFlag
(
SBX_EXTSEARCH
);
SbxVariable
*
pOld
=
pArray
->
Find
(
pVar
->
GetName
(),
pVar
->
GetClass
()
);
SbxVariable
*
pOld
=
pArray
->
Find
(
pVar
->
GetName
(),
pVar
->
GetClass
()
);
if
(
pOld
)
if
(
pOld
)
...
@@ -375,12 +375,12 @@ SbxArray* SbxObject::FindVar( SbxVariable* pVar, USHORT& nArrayIdx )
...
@@ -375,12 +375,12 @@ SbxArray* SbxObject::FindVar( SbxVariable* pVar, USHORT& nArrayIdx )
return
pArray
;
return
pArray
;
}
}
//
Falls ein neues Objekt eingerichtet wird, wird es, falls es bereits
//
If a new object will be established, this object will be indexed,
//
eines mit diesem Namen gibt, indiziert
.
//
if an object of this name exists already
.
SbxVariable
*
SbxObject
::
Make
(
const
XubString
&
rName
,
SbxClassType
ct
,
SbxDataType
dt
)
SbxVariable
*
SbxObject
::
Make
(
const
XubString
&
rName
,
SbxClassType
ct
,
SbxDataType
dt
)
{
{
// Is
t das Objekt bereits vorhanden
?
// Is
the object already available
?
SbxArray
*
pArray
=
NULL
;
SbxArray
*
pArray
=
NULL
;
switch
(
ct
)
switch
(
ct
)
{
{
...
@@ -393,13 +393,13 @@ SbxVariable* SbxObject::Make( const XubString& rName, SbxClassType ct, SbxDataTy
...
@@ -393,13 +393,13 @@ SbxVariable* SbxObject::Make( const XubString& rName, SbxClassType ct, SbxDataTy
}
}
if
(
!
pArray
)
if
(
!
pArray
)
return
NULL
;
return
NULL
;
// Collections
duerfen gleichnamige Objekte enthalten
// Collections
may contain objects of the same name
if
(
!
(
ct
==
SbxCLASS_OBJECT
&&
ISA
(
SbxCollection
)
)
)
if
(
!
(
ct
==
SbxCLASS_OBJECT
&&
ISA
(
SbxCollection
)
)
)
{
{
SbxVariable
*
pRes
=
pArray
->
Find
(
rName
,
ct
);
SbxVariable
*
pRes
=
pArray
->
Find
(
rName
,
ct
);
if
(
pRes
)
if
(
pRes
)
{
{
/*
Wegen haeufiger Probleme (z.B. #67000) erstmal ganz raus
/*
Due to often problems (e.g. #67000) first of all completly out
#ifdef DBG_UTIL
#ifdef DBG_UTIL
if( pRes->GetHashCode() != nNameHash
if( pRes->GetHashCode() != nNameHash
&& pRes->GetHashCode() != nParentHash )
&& pRes->GetHashCode() != nParentHash )
...
@@ -434,7 +434,7 @@ SbxVariable* SbxObject::Make( const XubString& rName, SbxClassType ct, SbxDataTy
...
@@ -434,7 +434,7 @@ SbxVariable* SbxObject::Make( const XubString& rName, SbxClassType ct, SbxDataTy
pVar
->
SetParent
(
this
);
pVar
->
SetParent
(
this
);
pArray
->
Put
(
pVar
,
pArray
->
Count
()
);
pArray
->
Put
(
pVar
,
pArray
->
Count
()
);
SetModified
(
TRUE
);
SetModified
(
TRUE
);
//
Das Objekt lauscht immer
//
The object listen always
StartListening
(
pVar
->
GetBroadcaster
(),
TRUE
);
StartListening
(
pVar
->
GetBroadcaster
(),
TRUE
);
Broadcast
(
SBX_HINT_OBJECTCHANGED
);
Broadcast
(
SBX_HINT_OBJECTCHANGED
);
return
pVar
;
return
pVar
;
...
@@ -442,13 +442,13 @@ SbxVariable* SbxObject::Make( const XubString& rName, SbxClassType ct, SbxDataTy
...
@@ -442,13 +442,13 @@ SbxVariable* SbxObject::Make( const XubString& rName, SbxClassType ct, SbxDataTy
SbxObject
*
SbxObject
::
MakeObject
(
const
XubString
&
rName
,
const
XubString
&
rClass
)
SbxObject
*
SbxObject
::
MakeObject
(
const
XubString
&
rName
,
const
XubString
&
rClass
)
{
{
// Is
t das Objekt bereits vorhanden
?
// Is
the object already available
?
if
(
!
ISA
(
SbxCollection
)
)
if
(
!
ISA
(
SbxCollection
)
)
{
{
SbxVariable
*
pRes
=
pObjs
->
Find
(
rName
,
SbxCLASS_OBJECT
);
SbxVariable
*
pRes
=
pObjs
->
Find
(
rName
,
SbxCLASS_OBJECT
);
if
(
pRes
)
if
(
pRes
)
{
{
/*
Wegen haeufiger Probleme (z.B. #67000) erstmal ganz raus
/*
Due to often problems (e.g. #67000) first of all completly out
#ifdef DBG_UTIL
#ifdef DBG_UTIL
if( pRes->GetHashCode() != nNameHash
if( pRes->GetHashCode() != nNameHash
&& pRes->GetHashCode() != nParentHash )
&& pRes->GetHashCode() != nParentHash )
...
@@ -472,7 +472,7 @@ SbxObject* SbxObject::MakeObject( const XubString& rName, const XubString& rClas
...
@@ -472,7 +472,7 @@ SbxObject* SbxObject::MakeObject( const XubString& rName, const XubString& rClas
pVar
->
SetParent
(
this
);
pVar
->
SetParent
(
this
);
pObjs
->
Put
(
pVar
,
pObjs
->
Count
()
);
pObjs
->
Put
(
pVar
,
pObjs
->
Count
()
);
SetModified
(
TRUE
);
SetModified
(
TRUE
);
//
Das Objekt lauscht immer
//
The object listen always
StartListening
(
pVar
->
GetBroadcaster
(),
TRUE
);
StartListening
(
pVar
->
GetBroadcaster
(),
TRUE
);
Broadcast
(
SBX_HINT_OBJECTCHANGED
);
Broadcast
(
SBX_HINT_OBJECTCHANGED
);
}
}
...
@@ -485,21 +485,21 @@ void SbxObject::Insert( SbxVariable* pVar )
...
@@ -485,21 +485,21 @@ void SbxObject::Insert( SbxVariable* pVar )
SbxArray
*
pArray
=
FindVar
(
pVar
,
nIdx
);
SbxArray
*
pArray
=
FindVar
(
pVar
,
nIdx
);
if
(
pArray
)
if
(
pArray
)
{
{
//
Hinein damit. Man sollte allerdings auf die Pointer aufpassen
!
//
Into with it. But you should pay attention at the Pointer
!
if
(
nIdx
<
pArray
->
Count
()
)
if
(
nIdx
<
pArray
->
Count
()
)
{
{
//
dann gibt es dieses Element bereits
//
Then this element exists already
//
Bei Collections duerfen gleichnamige Objekte hinein
//
There are objects of the same name allowed at collections
if
(
pArray
==
pObjs
&&
ISA
(
SbxCollection
)
)
if
(
pArray
==
pObjs
&&
ISA
(
SbxCollection
)
)
nIdx
=
pArray
->
Count
();
nIdx
=
pArray
->
Count
();
else
else
{
{
SbxVariable
*
pOld
=
pArray
->
Get
(
nIdx
);
SbxVariable
*
pOld
=
pArray
->
Get
(
nIdx
);
//
schon drin: ueberschreiben
//
already inside: overwrite
if
(
pOld
==
pVar
)
if
(
pOld
==
pVar
)
return
;
return
;
/*
Wegen haeufiger Probleme (z.B. #67000) erstmal ganz raus
/*
Due to often problems (e.g. #67000) first of all completly out
#ifdef DBG_UTIL
#ifdef DBG_UTIL
if( pOld->GetHashCode() != nNameHash
if( pOld->GetHashCode() != nNameHash
&& pOld->GetHashCode() != nParentHash )
&& pOld->GetHashCode() != nParentHash )
...
@@ -543,8 +543,8 @@ void SbxObject::Insert( SbxVariable* pVar )
...
@@ -543,8 +543,8 @@ void SbxObject::Insert( SbxVariable* pVar )
}
}
}
}
//
AB 23.4.1997, Optimierung, Einfuegen ohne Ueberpruefung auf doppelte
//
From 1997-04-23, Optimisation, Insertion without checking about
//
Eintraege und ohne Broadcasts, wird nur in SO2/auto.cxx genutzt
//
double entry and without broadcasts, will only be used in SO2/auto.cxx
void
SbxObject
::
QuickInsert
(
SbxVariable
*
pVar
)
void
SbxObject
::
QuickInsert
(
SbxVariable
*
pVar
)
{
{
SbxArray
*
pArray
=
NULL
;
SbxArray
*
pArray
=
NULL
;
...
@@ -583,7 +583,7 @@ void SbxObject::QuickInsert( SbxVariable* pVar )
...
@@ -583,7 +583,7 @@ void SbxObject::QuickInsert( SbxVariable* pVar )
}
}
}
}
//
AB 23.3.1997, Spezial-Methode, gleichnamige Controls zulassen
//
From 1997-03-23, special method, allow controls of the same name
void
SbxObject
::
VCPtrInsert
(
SbxVariable
*
pVar
)
void
SbxObject
::
VCPtrInsert
(
SbxVariable
*
pVar
)
{
{
SbxArray
*
pArray
=
NULL
;
SbxArray
*
pArray
=
NULL
;
...
@@ -641,11 +641,11 @@ void SbxObject::Remove( SbxVariable* pVar )
...
@@ -641,11 +641,11 @@ void SbxObject::Remove( SbxVariable* pVar )
}
}
}
}
//
AB 23.3.1997, Loeschen per Pointer fuer Controls (doppelte Namen
!)
//
From 1997-03-23, cleanup per Pointer for Controls (double names
!)
void
SbxObject
::
VCPtrRemove
(
SbxVariable
*
pVar
)
void
SbxObject
::
VCPtrRemove
(
SbxVariable
*
pVar
)
{
{
USHORT
nIdx
;
USHORT
nIdx
;
// Ne
u FindVar-Methode, sonst identisch mit normaler Methode
// Ne
w FindVar-Method, otherwise identical with the normal method
SbxArray
*
pArray
=
VCPtrFindVar
(
pVar
,
nIdx
);
SbxArray
*
pArray
=
VCPtrFindVar
(
pVar
,
nIdx
);
if
(
pArray
&&
nIdx
<
pArray
->
Count
()
)
if
(
pArray
&&
nIdx
<
pArray
->
Count
()
)
{
{
...
@@ -662,7 +662,7 @@ void SbxObject::VCPtrRemove( SbxVariable* pVar )
...
@@ -662,7 +662,7 @@ void SbxObject::VCPtrRemove( SbxVariable* pVar )
}
}
}
}
//
AB 23.3.1997, Zugehoerige Spezial-Methode, nur ueber Pointer suchen
//
From 1997-03-23, associated special method, search only by Pointer
SbxArray
*
SbxObject
::
VCPtrFindVar
(
SbxVariable
*
pVar
,
USHORT
&
nArrayIdx
)
SbxArray
*
SbxObject
::
VCPtrFindVar
(
SbxVariable
*
pVar
,
USHORT
&
nArrayIdx
)
{
{
SbxArray
*
pArray
=
NULL
;
SbxArray
*
pArray
=
NULL
;
...
@@ -730,19 +730,19 @@ static BOOL LoadArray( SvStream& rStrm, SbxObject* pThis, SbxArray* pArray )
...
@@ -730,19 +730,19 @@ static BOOL LoadArray( SvStream& rStrm, SbxObject* pThis, SbxArray* pArray )
return
TRUE
;
return
TRUE
;
}
}
//
Der Load eines Objekts ist additiv
!
//
The load of an object is additive
!
BOOL
SbxObject
::
LoadData
(
SvStream
&
rStrm
,
USHORT
nVer
)
BOOL
SbxObject
::
LoadData
(
SvStream
&
rStrm
,
USHORT
nVer
)
{
{
// H
ilfe fuer das Einlesen alter Objekte: einfach TRUE zurue
ck,
// H
elp for the read in of old objects: just TRUE ba
ck,
// LoadPrivateData()
muss Default-Zustand herstellen
// LoadPrivateData()
had to set the default status up
if
(
!
nVer
)
if
(
!
nVer
)
return
TRUE
;
return
TRUE
;
pDfltProp
=
NULL
;
pDfltProp
=
NULL
;
if
(
!
SbxVariable
::
LoadData
(
rStrm
,
nVer
)
)
if
(
!
SbxVariable
::
LoadData
(
rStrm
,
nVer
)
)
return
FALSE
;
return
FALSE
;
//
Wenn kein fremdes Objekt enthalten ist, uns selbst eintragen
//
If it contains no alien object, insert ourselves
if
(
aData
.
eType
==
SbxOBJECT
&&
!
aData
.
pObj
)
if
(
aData
.
eType
==
SbxOBJECT
&&
!
aData
.
pObj
)
aData
.
pObj
=
this
;
aData
.
pObj
=
this
;
sal_uInt32
nSize
;
sal_uInt32
nSize
;
...
@@ -762,7 +762,7 @@ BOOL SbxObject::LoadData( SvStream& rStrm, USHORT nVer )
...
@@ -762,7 +762,7 @@ BOOL SbxObject::LoadData( SvStream& rStrm, USHORT nVer )
||
!
LoadArray
(
rStrm
,
this
,
pProps
)
||
!
LoadArray
(
rStrm
,
this
,
pProps
)
||
!
LoadArray
(
rStrm
,
this
,
pObjs
)
)
||
!
LoadArray
(
rStrm
,
this
,
pObjs
)
)
return
FALSE
;
return
FALSE
;
//
Properties setzen
//
Set properties
if
(
aDfltProp
.
Len
()
)
if
(
aDfltProp
.
Len
()
)
pDfltProp
=
(
SbxProperty
*
)
pProps
->
Find
(
aDfltProp
,
SbxCLASS_PROPERTY
);
pDfltProp
=
(
SbxProperty
*
)
pProps
->
Find
(
aDfltProp
,
SbxCLASS_PROPERTY
);
SetModified
(
FALSE
);
SetModified
(
FALSE
);
...
@@ -799,7 +799,7 @@ BOOL SbxObject::StoreData( SvStream& rStrm ) const
...
@@ -799,7 +799,7 @@ BOOL SbxObject::StoreData( SvStream& rStrm ) const
XubString
SbxObject
::
GenerateSource
(
const
XubString
&
rLinePrefix
,
XubString
SbxObject
::
GenerateSource
(
const
XubString
&
rLinePrefix
,
const
SbxObject
*
)
const
SbxObject
*
)
{
{
//
Properties in einem String einsammeln
//
Collect the properties in a String
XubString
aSource
;
XubString
aSource
;
SbxArrayRef
xProps
(
GetProperties
()
);
SbxArrayRef
xProps
(
GetProperties
()
);
bool
bLineFeed
=
false
;
bool
bLineFeed
=
false
;
...
@@ -811,7 +811,7 @@ XubString SbxObject::GenerateSource( const XubString &rLinePrefix,
...
@@ -811,7 +811,7 @@ XubString SbxObject::GenerateSource( const XubString &rLinePrefix,
&&
!
(
xProp
->
GetHashCode
()
==
nNameHash
&&
!
(
xProp
->
GetHashCode
()
==
nNameHash
&&
aPropName
.
EqualsIgnoreCaseAscii
(
pNameProp
)
)
)
&&
aPropName
.
EqualsIgnoreCaseAscii
(
pNameProp
)
)
)
{
{
//
ausser vor dem ersten Property immer einen Umbruch einfuegen
//
Insert a break except in front of the first property
if
(
bLineFeed
)
if
(
bLineFeed
)
aSource
.
AppendAscii
(
"
\n
"
);
aSource
.
AppendAscii
(
"
\n
"
);
else
else
...
@@ -822,17 +822,17 @@ XubString SbxObject::GenerateSource( const XubString &rLinePrefix,
...
@@ -822,17 +822,17 @@ XubString SbxObject::GenerateSource( const XubString &rLinePrefix,
aSource
+=
aPropName
;
aSource
+=
aPropName
;
aSource
.
AppendAscii
(
" = "
);
aSource
.
AppendAscii
(
" = "
);
//
den Property-Wert textuell darstellen
//
Display the property value textual
switch
(
xProp
->
GetType
()
)
switch
(
xProp
->
GetType
()
)
{
{
case
SbxEMPTY
:
case
SbxEMPTY
:
case
SbxNULL
:
case
SbxNULL
:
//
kein Wert
//
no value
break
;
break
;
case
SbxSTRING
:
case
SbxSTRING
:
{
{
// Strings in
Anf"uhrungszeichen
// Strings in
quotation mark
aSource
.
AppendAscii
(
"
\"
"
);
aSource
.
AppendAscii
(
"
\"
"
);
aSource
+=
xProp
->
GetString
();
aSource
+=
xProp
->
GetString
();
aSource
.
AppendAscii
(
"
\"
"
);
aSource
.
AppendAscii
(
"
\"
"
);
...
@@ -841,7 +841,7 @@ XubString SbxObject::GenerateSource( const XubString &rLinePrefix,
...
@@ -841,7 +841,7 @@ XubString SbxObject::GenerateSource( const XubString &rLinePrefix,
default
:
default
:
{
{
//
sonstiges wie z.B. Zahlen direkt
//
miscellaneous, such as e.g.numerary directly
aSource
+=
xProp
->
GetString
();
aSource
+=
xProp
->
GetString
();
break
;
break
;
}
}
...
@@ -890,7 +890,7 @@ static BOOL CollectAttrs( const SbxBase* p, XubString& rRes )
...
@@ -890,7 +890,7 @@ static BOOL CollectAttrs( const SbxBase* p, XubString& rRes )
void
SbxObject
::
Dump
(
SvStream
&
rStrm
,
BOOL
bFill
)
void
SbxObject
::
Dump
(
SvStream
&
rStrm
,
BOOL
bFill
)
{
{
//
Einr"ucku
ng
//
Shifti
ng
static
USHORT
nLevel
=
0
;
static
USHORT
nLevel
=
0
;
if
(
nLevel
>
10
)
if
(
nLevel
>
10
)
{
{
...
@@ -902,11 +902,11 @@ void SbxObject::Dump( SvStream& rStrm, BOOL bFill )
...
@@ -902,11 +902,11 @@ void SbxObject::Dump( SvStream& rStrm, BOOL bFill )
for
(
USHORT
n
=
1
;
n
<
nLevel
;
++
n
)
for
(
USHORT
n
=
1
;
n
<
nLevel
;
++
n
)
aIndent
.
AppendAscii
(
" "
);
aIndent
.
AppendAscii
(
" "
);
//
ggf. Objekt vervollst"andigen
//
if necessary complete the object
if
(
bFill
)
if
(
bFill
)
GetAll
(
SbxCLASS_DONTCARE
);
GetAll
(
SbxCLASS_DONTCARE
);
//
Daten des Objekts selbst ausgeben
//
Output the data of the object itself
ByteString
aNameStr
(
(
const
UniString
&
)
GetName
(),
RTL_TEXTENCODING_ASCII_US
);
ByteString
aNameStr
(
(
const
UniString
&
)
GetName
(),
RTL_TEXTENCODING_ASCII_US
);
ByteString
aClassNameStr
(
(
const
UniString
&
)
aClassName
,
RTL_TEXTENCODING_ASCII_US
);
ByteString
aClassNameStr
(
(
const
UniString
&
)
aClassName
,
RTL_TEXTENCODING_ASCII_US
);
rStrm
<<
"Object( "
rStrm
<<
"Object( "
...
@@ -955,7 +955,7 @@ void SbxObject::Dump( SvStream& rStrm, BOOL bFill )
...
@@ -955,7 +955,7 @@ void SbxObject::Dump( SvStream& rStrm, BOOL bFill )
aLine
.
AppendAscii
(
" !! Not a Method !!"
);
aLine
.
AppendAscii
(
" !! Not a Method !!"
);
rStrm
.
WriteByteString
(
aLine
,
RTL_TEXTENCODING_ASCII_US
);
rStrm
.
WriteByteString
(
aLine
,
RTL_TEXTENCODING_ASCII_US
);
//
bei Object-Methods auch das Object ausgeben
//
Output also the object at object-methods
if
(
pVar
->
GetValues_Impl
().
eType
==
SbxOBJECT
&&
if
(
pVar
->
GetValues_Impl
().
eType
==
SbxOBJECT
&&
pVar
->
GetValues_Impl
().
pObj
&&
pVar
->
GetValues_Impl
().
pObj
&&
pVar
->
GetValues_Impl
().
pObj
!=
this
&&
pVar
->
GetValues_Impl
().
pObj
!=
this
&&
...
@@ -988,7 +988,7 @@ void SbxObject::Dump( SvStream& rStrm, BOOL bFill )
...
@@ -988,7 +988,7 @@ void SbxObject::Dump( SvStream& rStrm, BOOL bFill )
aLine
.
AppendAscii
(
" !! Not a Property !!"
);
aLine
.
AppendAscii
(
" !! Not a Property !!"
);
rStrm
.
WriteByteString
(
aLine
,
RTL_TEXTENCODING_ASCII_US
);
rStrm
.
WriteByteString
(
aLine
,
RTL_TEXTENCODING_ASCII_US
);
//
bei Object-Properties auch das Object ausgeben
//
output also the object at object properties
if
(
pVar
->
GetValues_Impl
().
eType
==
SbxOBJECT
&&
if
(
pVar
->
GetValues_Impl
().
eType
==
SbxOBJECT
&&
pVar
->
GetValues_Impl
().
pObj
&&
pVar
->
GetValues_Impl
().
pObj
&&
pVar
->
GetValues_Impl
().
pObj
!=
this
&&
pVar
->
GetValues_Impl
().
pObj
!=
this
&&
...
@@ -1051,14 +1051,13 @@ SbxClassType SbxProperty::GetClass() const
...
@@ -1051,14 +1051,13 @@ SbxClassType SbxProperty::GetClass() const
void
SbxObject
::
GarbageCollection
(
ULONG
/*nObjects*/
)
void
SbxObject
::
GarbageCollection
(
ULONG
/*nObjects*/
)
/* [
Beschreibung
]
/* [
Description
]
Diese statische Methode durchsucht die n"achsten 'nObjects' der zur Zeit
This statistic method browse the next 'nObjects' of the currently existing
existierenden <SbxObject>-Instanzen nach zyklischen Referenzen, die sich
<SbxObject>-Instances for cyclic references, which keep only themselfes alive
nur noch selbst am Leben erhalten. Ist 'nObjects==0', dann werden
If there is 'nObjects==0', then all existing will be browsed.
alle existierenden durchsucht.
zur Zeit nur implementiert
: Object -> Parent-Property -> Parent -> Object
currently only implemented
: Object -> Parent-Property -> Parent -> Object
*/
*/
{
{
...
...
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