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
a6eb0043
Kaydet (Commit)
a6eb0043
authored
Agu 26, 2012
tarafından
Marco Cecchetti
Kaydeden (comit)
Thorsten Behrens
Eki 10, 2012
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Bug Fix: background objects on master pages were not stacked in the correct order
üst
3bf528b4
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
104 additions
and
20 deletions
+104
-20
presentation_engine.js
filter/source/svg/presentation_engine.js
+104
-20
No files found.
filter/source/svg/presentation_engine.js
Dosyayı görüntüle @
a6eb0043
...
@@ -1606,6 +1606,34 @@ function getClassAttribute( aElem )
...
@@ -1606,6 +1606,34 @@ function getClassAttribute( aElem )
return
''
;
return
''
;
}
}
function
createElementGroup
(
aParentElement
,
aElementList
,
nFrom
,
nCount
,
sGroupClass
,
sGroupId
)
{
var
nTo
=
nFrom
+
nCount
;
if
(
nCount
<
1
||
aElementList
.
length
<
nTo
)
{
log
(
'createElementGroup: not enough elements available.'
);
return
;
}
var
firstElement
=
aElementList
[
nFrom
];
if
(
!
firstElement
)
{
log
(
'createElementGroup: element not found.'
);
return
;
}
var
aGroupElement
=
document
.
createElementNS
(
NSS
[
'svg'
],
'g'
);
if
(
sGroupId
)
aGroupElement
.
setAttribute
(
'id'
,
sGroupId
);
if
(
sGroupClass
)
aGroupElement
.
setAttribute
(
'class'
,
sGroupClass
);
aParentElement
.
insertBefore
(
aGroupElement
,
firstElement
);
var
i
=
nFrom
;
for
(
;
i
<
nTo
;
++
i
)
{
aParentElement
.
removeChild
(
aElementList
[
i
]
);
aGroupElement
.
appendChild
(
aElementList
[
i
]
);
}
}
function
initVisibilityProperty
(
aElement
)
function
initVisibilityProperty
(
aElement
)
{
{
var
nVisibility
=
VISIBLE
;
var
nVisibility
=
VISIBLE
;
...
@@ -2213,6 +2241,47 @@ function MasterPage( sMasterPageId )
...
@@ -2213,6 +2241,47 @@ function MasterPage( sMasterPageId )
{
{
this
.
backgroundObjectsId
=
this
.
backgroundObjects
.
getAttribute
(
'id'
);
this
.
backgroundObjectsId
=
this
.
backgroundObjects
.
getAttribute
(
'id'
);
this
.
backgroundObjectsVisibility
=
initVisibilityProperty
(
this
.
backgroundObjects
);
this
.
backgroundObjectsVisibility
=
initVisibilityProperty
(
this
.
backgroundObjects
);
if
(
this
.
backgroundObjectsVisibility
!=
HIDDEN
)
{
var
aBackgroundObjectList
=
getElementChildren
(
this
.
backgroundObjects
);
var
nFrom
=
0
;
var
nCount
=
0
;
var
nSubGroupId
=
1
;
var
sClass
;
var
sId
=
''
;
this
.
aBackgroundObjectSubGroupIdList
=
new
Array
();
var
i
=
0
;
for
(
;
i
<
aBackgroundObjectList
.
length
;
++
i
)
{
sClass
=
aBackgroundObjectList
[
i
].
getAttribute
(
'class'
);
if
(
!
sClass
||
(
(
sClass
!==
aDateTimeClassName
)
&&
(
sClass
!==
aFooterClassName
)
&&
(
sClass
!==
aHeaderClassName
)
&&
(
sClass
!==
aSlideNumberClassName
)
)
)
{
if
(
nCount
===
0
)
{
nFrom
=
i
;
sId
=
this
.
backgroundObjectsId
+
'.'
+
nSubGroupId
;
++
nSubGroupId
;
this
.
aBackgroundObjectSubGroupIdList
.
push
(
sId
);
}
++
nCount
;
}
else
{
this
.
aBackgroundObjectSubGroupIdList
.
push
(
sClass
);
if
(
nCount
!==
0
)
{
createElementGroup
(
this
.
backgroundObjects
,
aBackgroundObjectList
,
nFrom
,
nCount
,
'BackgroundObjectSubgroup'
,
sId
);
nCount
=
0
;
}
}
}
if
(
nCount
!==
0
)
{
createElementGroup
(
this
.
backgroundObjects
,
aBackgroundObjectList
,
nFrom
,
nCount
,
'BackgroundObjectSubgroup'
,
sId
);
}
}
}
}
else
else
{
{
...
@@ -2355,15 +2424,14 @@ PlaceholderShape.prototype.init = function()
...
@@ -2355,15 +2424,14 @@ PlaceholderShape.prototype.init = function()
* <g class='MasterPageView'>
* <g class='MasterPageView'>
* <use class='Background'> // reference to master page background element
* <use class='Background'> // reference to master page background element
* <g class='BackgroundObjects'>
* <g class='BackgroundObjects'>
* <
g class='BackgroundFields'>
* <
use class='BackgroundObjectSubGroup'> // reference to the group of shapes on the master page that are below text fields
* <g class='Slide_Number'> // a cloned element
* <g class='Slide_Number'> // a cloned element
* ...
* ...
* </g>
* </g>
* <use class='Date/Time'> // reference to a clone
* <use class='Date/Time'> // reference to a clone
* <use class='Footer'>
* <use class='Footer'>
* <use class='Header'>
* <use class='Header'>
* </g>
* <use class='BackgroundObjectSubGroup'> // reference to the group of shapes on the master page that are above text fields
* <use class='BackgroundShapes'> // reference to the group of shapes on the master page
* </g>
* </g>
* </g>
* </g>
*
*
...
@@ -2458,11 +2526,9 @@ MasterPageView.prototype.createElement = function()
...
@@ -2458,11 +2526,9 @@ MasterPageView.prototype.createElement = function()
this
.
aBackgroundObjectsElement
=
theDocument
.
createElementNS
(
NSS
[
'svg'
],
'g'
);
this
.
aBackgroundObjectsElement
=
theDocument
.
createElementNS
(
NSS
[
'svg'
],
'g'
);
this
.
aBackgroundObjectsElement
.
setAttribute
(
'class'
,
'BackgroundObjects'
);
this
.
aBackgroundObjectsElement
.
setAttribute
(
'class'
,
'BackgroundObjects'
);
// create background fields group
this
.
aBackgroundFieldsElement
=
theDocument
.
createElementNS
(
NSS
[
'svg'
],
'g'
);
this
.
aBackgroundFieldsElement
.
setAttribute
(
'class'
,
'BackgroundFields'
);
// clone and initialize text field elements
// clone and initialize text field elements
var
aBackgroundObjectSubGroupIdList
=
this
.
aMasterPage
.
aBackgroundObjectSubGroupIdList
;
this
.
aBackgroundSubGroupElementSet
=
new
Array
();
var
aPlaceholderShapeSet
=
this
.
aMasterPage
.
aPlaceholderShapeSet
;
var
aPlaceholderShapeSet
=
this
.
aMasterPage
.
aPlaceholderShapeSet
;
var
aTextFieldContentProviderSet
=
this
.
aMetaSlide
.
aTextFieldContentProviderSet
;
var
aTextFieldContentProviderSet
=
this
.
aMetaSlide
.
aTextFieldContentProviderSet
;
// where cloned elements are appended
// where cloned elements are appended
...
@@ -2470,6 +2536,13 @@ MasterPageView.prototype.createElement = function()
...
@@ -2470,6 +2536,13 @@ MasterPageView.prototype.createElement = function()
var
aTextFieldHandlerSet
=
this
.
aMetaSlide
.
theMetaDoc
.
aTextFieldHandlerSet
;
var
aTextFieldHandlerSet
=
this
.
aMetaSlide
.
theMetaDoc
.
aTextFieldHandlerSet
;
var
sMasterSlideId
=
this
.
aMasterPage
.
id
;
var
sMasterSlideId
=
this
.
aMasterPage
.
id
;
var
i
=
0
;
var
sId
;
for
(
;
i
<
aBackgroundObjectSubGroupIdList
.
length
;
++
i
)
{
sId
=
aBackgroundObjectSubGroupIdList
[
i
];
if
(
sId
===
aSlideNumberClassName
)
{
// Slide Number Field
// Slide Number Field
// The cloned element is appended directly to the field group element
// The cloned element is appended directly to the field group element
// since there is no slide number field content shared between two slide
// since there is no slide number field content shared between two slide
...
@@ -2483,9 +2556,11 @@ MasterPageView.prototype.createElement = function()
...
@@ -2483,9 +2556,11 @@ MasterPageView.prototype.createElement = function()
new
SlideNumberFieldHandler
(
aPlaceholderShapeSet
[
aSlideNumberClassName
],
new
SlideNumberFieldHandler
(
aPlaceholderShapeSet
[
aSlideNumberClassName
],
aTextFieldContentProviderSet
[
aSlideNumberClassName
]
);
aTextFieldContentProviderSet
[
aSlideNumberClassName
]
);
this
.
aSlideNumberFieldHandler
.
update
(
this
.
aMetaSlide
.
nSlideNumber
);
this
.
aSlideNumberFieldHandler
.
update
(
this
.
aMetaSlide
.
nSlideNumber
);
this
.
aSlideNumberFieldHandler
.
appendTo
(
this
.
aBackgroundField
sElement
);
this
.
aSlideNumberFieldHandler
.
appendTo
(
this
.
aBackgroundObject
sElement
);
}
}
}
else
if
(
sId
===
aDateTimeClassName
)
{
// Date/Time field
// Date/Time field
if
(
this
.
aMetaSlide
.
nIsDateTimeVisible
)
if
(
this
.
aMetaSlide
.
nIsDateTimeVisible
)
{
{
...
@@ -2494,7 +2569,9 @@ MasterPageView.prototype.createElement = function()
...
@@ -2494,7 +2569,9 @@ MasterPageView.prototype.createElement = function()
aTextFieldContentProviderSet
,
aDefsElement
,
aTextFieldContentProviderSet
,
aDefsElement
,
aTextFieldHandlerSet
,
sMasterSlideId
);
aTextFieldHandlerSet
,
sMasterSlideId
);
}
}
}
else
if
(
sId
===
aFooterClassName
)
{
// Footer Field
// Footer Field
if
(
this
.
aMetaSlide
.
nIsFooterVisible
)
if
(
this
.
aMetaSlide
.
nIsFooterVisible
)
{
{
...
@@ -2503,7 +2580,9 @@ MasterPageView.prototype.createElement = function()
...
@@ -2503,7 +2580,9 @@ MasterPageView.prototype.createElement = function()
aTextFieldContentProviderSet
,
aDefsElement
,
aTextFieldContentProviderSet
,
aDefsElement
,
aTextFieldHandlerSet
,
sMasterSlideId
);
aTextFieldHandlerSet
,
sMasterSlideId
);
}
}
}
else
if
(
sId
===
aHeaderClassName
)
{
// Header Field
// Header Field
if
(
this
.
aMetaSlide
.
nIsHeaderVisible
)
if
(
this
.
aMetaSlide
.
nIsHeaderVisible
)
{
{
...
@@ -2512,16 +2591,21 @@ MasterPageView.prototype.createElement = function()
...
@@ -2512,16 +2591,21 @@ MasterPageView.prototype.createElement = function()
aTextFieldContentProviderSet
,
aDefsElement
,
aTextFieldContentProviderSet
,
aDefsElement
,
aTextFieldHandlerSet
,
sMasterSlideId
);
aTextFieldHandlerSet
,
sMasterSlideId
);
}
}
}
else
{
// init BackgroundObjectSubGroup elements
var
aBackgroundSubGroupElement
=
theDocument
.
createElementNS
(
NSS
[
'svg'
],
'use'
);
aBackgroundSubGroupElement
.
setAttribute
(
'class'
,
'BackgroundObjectSubGroup'
);
setNSAttribute
(
'xlink'
,
aBackgroundSubGroupElement
,
'href'
,
'#'
+
sId
);
this
.
aBackgroundSubGroupElementSet
.
push
(
aBackgroundSubGroupElement
);
// node linking
this
.
aBackgroundObjectsElement
.
appendChild
(
aBackgroundSubGroupElement
);
}
// init BackgroundShapes element
}
this
.
aBackgroundShapesElement
=
theDocument
.
createElementNS
(
NSS
[
'svg'
],
'use'
);
this
.
aBackgroundShapesElement
.
setAttribute
(
'class'
,
'BackgroundShapes'
);
setNSAttribute
(
'xlink'
,
this
.
aBackgroundShapesElement
,
'href'
,
'#'
+
this
.
aMasterPage
.
backgroundObjectsId
);
// node linking
// node linking
this
.
aBackgroundObjectsElement
.
appendChild
(
this
.
aBackgroundFieldsElement
);
this
.
aBackgroundObjectsElement
.
appendChild
(
this
.
aBackgroundShapesElement
);
aMasterPageViewElement
.
appendChild
(
this
.
aBackgroundObjectsElement
);
aMasterPageViewElement
.
appendChild
(
this
.
aBackgroundObjectsElement
);
}
}
...
@@ -2561,7 +2645,7 @@ function( sClassName, aPlaceholderShapeSet, aTextFieldContentProviderSet,
...
@@ -2561,7 +2645,7 @@ function( sClassName, aPlaceholderShapeSet, aTextFieldContentProviderSet,
setNSAttribute
(
'xlink'
,
aTextFieldElement
,
setNSAttribute
(
'xlink'
,
aTextFieldElement
,
'href'
,
'#'
+
aTextFieldHandler
.
sId
);
'href'
,
'#'
+
aTextFieldHandler
.
sId
);
// node linking
// node linking
this
.
aBackground
Field
sElement
.
appendChild
(
aTextFieldElement
);
this
.
aBackground
Object
sElement
.
appendChild
(
aTextFieldElement
);
}
}
return
aTextFieldHandler
;
return
aTextFieldHandler
;
};
};
...
...
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