Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
OpenBoard
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lifo
Nicolas Ollinger
OpenBoard
Commits
9ae7c579
Commit
9ae7c579
authored
Oct 01, 2012
by
Aleksei Kanash
Browse files
Options
Browse Files
Download
Plain Diff
Merged Import from CFF and export to CFF fixes.
parents
5872c093
b49a01d9
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
448 additions
and
104 deletions
+448
-104
UBCFFAdaptor.cpp
plugins/cffadaptor/src/UBCFFAdaptor.cpp
+45
-6
UBCFFAdaptor.h
plugins/cffadaptor/src/UBCFFAdaptor.h
+1
-1
UBCFFConstants.h
plugins/cffadaptor/src/UBCFFConstants.h
+7
-3
UBCFFSubsetAdaptor.cpp
src/adaptors/UBCFFSubsetAdaptor.cpp
+233
-59
UBCFFSubsetAdaptor.h
src/adaptors/UBCFFSubsetAdaptor.h
+2
-1
UBSvgSubsetAdaptor.cpp
src/adaptors/UBSvgSubsetAdaptor.cpp
+147
-33
UBSvgSubsetAdaptor.h
src/adaptors/UBSvgSubsetAdaptor.h
+1
-0
UBGraphicsPolygonItem.cpp
src/domain/UBGraphicsPolygonItem.cpp
+7
-0
UBGraphicsPolygonItem.h
src/domain/UBGraphicsPolygonItem.h
+2
-0
UBGraphicsScene.cpp
src/domain/UBGraphicsScene.cpp
+1
-0
UBGraphicsScene.h
src/domain/UBGraphicsScene.h
+2
-1
No files found.
plugins/cffadaptor/src/UBCFFAdaptor.cpp
View file @
9ae7c579
...
...
@@ -550,8 +550,8 @@ QDomElement UBCFFAdaptor::UBToCFFConverter::parsePage(const QString &pageFileNam
pageFile
.
close
();
return
QDomElement
();
}
}
else
if
(
tagname
==
tUBZGroup
)
{
group
=
parseGroupPageSection
(
nextTopElement
);
}
else
if
(
tagname
==
tUBZGroup
s
)
{
group
=
parseGroup
s
PageSection
(
nextTopElement
);
if
(
group
.
isNull
())
{
qDebug
()
<<
"Page doesn't contains any groups."
;
pageFile
.
close
();
...
...
@@ -634,6 +634,7 @@ QDomElement UBCFFAdaptor::UBToCFFConverter::parseSvgPageSection(const QDomElemen
else
if
(
tagName
==
tUBZLine
)
parseUBZLine
(
nextElement
,
svgElements
);
else
if
(
tagName
==
tUBZPolygon
)
parseUBZPolygon
(
nextElement
,
svgElements
);
else
if
(
tagName
==
tUBZPolyline
)
parseUBZPolyline
(
nextElement
,
svgElements
);
else
if
(
tagName
==
tUBZGroups
)
parseGroupsPageSection
(
nextElement
);
nextElement
=
nextElement
.
nextSiblingElement
();
}
...
...
@@ -694,12 +695,34 @@ bool UBCFFAdaptor::UBToCFFConverter::writeExtendedIwbSection()
// extended element options
// editable, background, locked are supported for now
QDomElement
UBCFFAdaptor
::
UBToCFFConverter
::
parseGroup
PageSection
(
const
QDomElement
&
elemen
t
)
QDomElement
UBCFFAdaptor
::
UBToCFFConverter
::
parseGroup
sPageSection
(
const
QDomElement
&
groupRoo
t
)
{
// First sankore side implementation needed. TODO in Sankore 1.5
Q_UNUSED
(
element
)
if
(
!
groupRoot
.
hasChildNodes
())
{
qDebug
()
<<
"Group root is empty"
;
return
QDomElement
();
}
QDomElement
groupElement
=
groupRoot
.
firstChildElement
();
while
(
!
groupElement
.
isNull
())
{
QDomElement
extendedElement
=
mDataModel
->
createElementNS
(
iwbNS
,
groupElement
.
tagName
());
QDomElement
groupChildElement
=
groupElement
.
firstChildElement
();
while
(
!
groupChildElement
.
isNull
())
{
QDomElement
extSubElement
=
mDataModel
->
createElementNS
(
iwbNS
,
groupChildElement
.
tagName
());
extSubElement
.
setAttribute
(
aRef
,
groupChildElement
.
attribute
(
aID
,
QUuid
().
toString
()));
extendedElement
.
appendChild
(
extSubElement
);
groupChildElement
=
groupChildElement
.
nextSiblingElement
();
}
mExtendedElements
.
append
(
extendedElement
);
groupElement
=
groupElement
.
nextSiblingElement
();
}
qDebug
()
<<
"parsing ubz group section"
;
return
QDomElement
()
;
return
groupRoot
;
}
QString
UBCFFAdaptor
::
UBToCFFConverter
::
getDstContentFolderName
(
const
QString
&
elementType
)
...
...
@@ -1250,6 +1273,19 @@ bool UBCFFAdaptor::UBToCFFConverter::setCFFAttribute(const QString &attributeNam
{
setGeometryFromUBZ
(
ubzElement
,
svgElement
);
}
else
if
(
attributeName
.
contains
(
aUBZUuid
))
{
QString
parentId
=
ubzElement
.
attribute
(
aUBZParent
);
QString
id
;
if
(
!
parentId
.
isEmpty
())
id
=
"{"
+
parentId
+
"}"
+
"{"
+
ubzElement
.
attribute
(
aUBZUuid
)
+
"}"
;
else
id
=
"{"
+
ubzElement
.
attribute
(
aUBZUuid
)
+
"}"
;
svgElement
.
setAttribute
(
aID
,
id
);
}
else
if
(
attributeName
.
contains
(
aUBZHref
)
||
attributeName
.
contains
(
aSrc
))
{
...
...
@@ -1799,7 +1835,10 @@ bool UBCFFAdaptor::UBToCFFConverter::parseUBZPolygon(const QDomElement &element,
if
(
0
<
iwbElementPart
.
attributes
().
count
())
{
QString
id
=
QUuid
::
createUuid
().
toString
();
QString
id
=
svgElementPart
.
attribute
(
aUBZUuid
);
if
(
id
.
isEmpty
())
id
=
QUuid
::
createUuid
().
toString
();
svgElementPart
.
setAttribute
(
aID
,
id
);
iwbElementPart
.
setAttribute
(
aRef
,
id
);
...
...
plugins/cffadaptor/src/UBCFFAdaptor.h
View file @
9ae7c579
...
...
@@ -63,7 +63,7 @@ private:
QDomElement
parseSvgPageSection
(
const
QDomElement
&
element
);
void
writeQDomElementToXML
(
const
QDomNode
&
node
);
bool
writeExtendedIwbSection
();
QDomElement
parseGroup
PageSection
(
const
QDomElement
&
elemen
t
);
QDomElement
parseGroup
sPageSection
(
const
QDomElement
&
groupRoo
t
);
bool
createBackground
(
const
QDomElement
&
element
,
QMultiMap
<
int
,
QDomElement
>
&
dstSvgList
);
QString
createBackgroundImage
(
const
QDomElement
&
element
,
QSize
size
);
...
...
plugins/cffadaptor/src/UBCFFConstants.h
View file @
9ae7c579
...
...
@@ -28,6 +28,7 @@ const QString tIWBPageSet = "pageset";
const
QString
tId
=
"id"
;
const
QString
tElement
=
"element"
;
const
QString
tUBZGroup
=
"group"
;
const
QString
tUBZGroups
=
"groups"
;
const
QString
tUBZG
=
"g"
;
const
QString
tUBZPolygon
=
"polygon"
;
const
QString
tUBZPolyline
=
"polyline"
;
...
...
@@ -67,6 +68,7 @@ const QString aBackground = "background";
const
QString
aCrossedBackground
=
"crossed-background"
;
const
QString
aUBZType
=
"type"
;
const
QString
aUBZUuid
=
"uuid"
;
const
QString
aUBZParent
=
"parent"
;
const
QString
aFill
=
"fill"
;
// IWB attribute contans color to fill
const
QString
aID
=
"id"
;
// ID of any svg element can be placed in to iwb section
...
...
@@ -334,8 +336,10 @@ stroke-lineshape-end \
const
QString
ubzElementAttributesToConvert
(
" \
xlink:href, \
src, \
transform \
"
);
transform, \
uuid \
"
);
// additional attributes. Have references in SVG section.
const
QString
svgElementAttributes
(
" \
...
...
@@ -376,4 +380,4 @@ struct UBItemLayerType
};
};
#endif // UBCFFCONSTANTS_H
\ No newline at end of file
#endif // UBCFFCONSTANTS_H
src/adaptors/UBCFFSubsetAdaptor.cpp
View file @
9ae7c579
This diff is collapsed.
Click to expand it.
src/adaptors/UBCFFSubsetAdaptor.h
View file @
9ae7c579
...
...
@@ -74,6 +74,7 @@ private:
QDomDocument
mDOMdoc
;
QDomNode
mCurrentDOMElement
;
QHash
<
QString
,
UBGraphicsItem
*>
persistedItems
;
QMap
<
QString
,
QString
>
mRefToUuidMap
;
QDir
mTmpFlashDir
;
void
addItemToGSection
(
QGraphicsItem
*
item
);
...
...
@@ -102,7 +103,7 @@ private:
inline
bool
parseSvgFlash
(
const
QDomElement
&
element
);
inline
bool
parseSvgAudio
(
const
QDomElement
&
element
);
inline
bool
parseSvgVideo
(
const
QDomElement
&
element
);
inline
bool
parseIwbGroup
(
QDomElement
&
parent
);
inline
UBGraphicsGroupContainerItem
*
parseIwbGroup
(
QDomElement
&
parent
);
inline
bool
parseIwbElement
(
QDomElement
&
element
);
inline
void
parseTSpan
(
const
QDomElement
&
parent
,
QPainter
&
painter
,
qreal
&
curX
,
qreal
&
curY
,
qreal
&
width
,
qreal
&
height
,
qreal
&
linespacing
,
QRectF
&
lastDrawnTextBoundingRect
...
...
src/adaptors/UBSvgSubsetAdaptor.cpp
View file @
9ae7c579
This diff is collapsed.
Click to expand it.
src/adaptors/UBSvgSubsetAdaptor.h
View file @
9ae7c579
...
...
@@ -179,6 +179,7 @@ class UBSvgSubsetAdaptor
private
:
void
persistGroupToDom
(
QGraphicsItem
*
groupItem
,
QDomElement
*
curParent
,
QDomDocument
*
curDomDocument
);
void
persistStrokeToDom
(
QGraphicsItem
*
strokeItem
,
QDomElement
*
curParent
,
QDomDocument
*
curDomDocument
);
void
polygonItemToSvgPolygon
(
UBGraphicsPolygonItem
*
polygonItem
,
bool
groupHoldsInfo
);
void
polygonItemToSvgLine
(
UBGraphicsPolygonItem
*
polygonItem
,
bool
groupHoldsInfo
);
void
strokeToSvgPolyline
(
UBGraphicsStroke
*
stroke
,
bool
groupHoldsInfo
);
...
...
src/domain/UBGraphicsPolygonItem.cpp
View file @
9ae7c579
...
...
@@ -60,6 +60,13 @@ UBGraphicsPolygonItem::UBGraphicsPolygonItem (const QLineF& pLine, qreal pWidth)
void
UBGraphicsPolygonItem
::
initialize
()
{
setData
(
UBGraphicsItemData
::
itemLayerType
,
QVariant
(
itemLayerType
::
DrawingItem
));
//Necessary to set if we want z value to be assigned correctly
setUuid
(
QUuid
::
createUuid
());
}
void
UBGraphicsPolygonItem
::
setUuid
(
const
QUuid
&
pUuid
)
{
UBItem
::
setUuid
(
pUuid
);
setData
(
UBGraphicsItemData
::
ItemUuid
,
QVariant
(
pUuid
));
//store item uuid inside the QGraphicsItem to fast operations with Items on the scene
}
void
UBGraphicsPolygonItem
::
clearStroke
()
...
...
src/domain/UBGraphicsPolygonItem.h
View file @
9ae7c579
...
...
@@ -39,6 +39,8 @@ class UBGraphicsPolygonItem : public QGraphicsPolygonItem, public UBItem
void
initialize
();
void
setUuid
(
const
QUuid
&
pUuid
);
void
setStrokesGroup
(
UBGraphicsStrokesGroup
*
group
);
UBGraphicsStrokesGroup
*
strokesGroup
()
const
{
return
mpGroup
;}
void
setColor
(
const
QColor
&
color
);
...
...
src/domain/UBGraphicsScene.cpp
View file @
9ae7c579
...
...
@@ -1713,6 +1713,7 @@ QRectF UBGraphicsScene::normalizedSceneRect(qreal ratio)
QGraphicsItem
*
UBGraphicsScene
::
itemForUuid
(
QUuid
uuid
)
{
QGraphicsItem
*
result
=
0
;
QString
ui
=
uuid
.
toString
();
//simple search before implementing container for fast access
foreach
(
QGraphicsItem
*
item
,
items
())
{
...
...
src/domain/UBGraphicsScene.h
View file @
9ae7c579
...
...
@@ -302,6 +302,8 @@ class UBGraphicsScene: public UBCoreGraphicsScene, public UBItem
static
QUuid
getPersonalUuid
(
QGraphicsItem
*
item
);
UBGraphicsPolygonItem
*
polygonToPolygonItem
(
const
QPolygonF
pPolygon
);
public
slots
:
void
initStroke
();
void
hideEraser
();
...
...
@@ -338,7 +340,6 @@ public slots:
UBGraphicsPolygonItem
*
lineToPolygonItem
(
const
QLineF
&
pLine
,
const
qreal
&
pWidth
);
UBGraphicsPolygonItem
*
arcToPolygonItem
(
const
QLineF
&
pStartRadius
,
qreal
pSpanAngle
,
qreal
pWidth
);
UBGraphicsPolygonItem
*
polygonToPolygonItem
(
const
QPolygonF
pPolygon
);
void
initPolygonItem
(
UBGraphicsPolygonItem
*
);
...
...
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