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
db5c7ce7
Commit
db5c7ce7
authored
Sep 06, 2012
by
Anatoly Mihalchenko
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Correct deletion of delegate instance (error with Vido on MAC OS)
parent
8f1f0d9c
Changes
22
Show whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
142 additions
and
231 deletions
+142
-231
UBGraphicsGroupContainerItem.cpp
src/domain/UBGraphicsGroupContainerItem.cpp
+11
-19
UBGraphicsGroupContainerItem.h
src/domain/UBGraphicsGroupContainerItem.h
+0
-3
UBGraphicsMediaItem.cpp
src/domain/UBGraphicsMediaItem.cpp
+11
-11
UBGraphicsPDFItem.cpp
src/domain/UBGraphicsPDFItem.cpp
+7
-15
UBGraphicsPDFItem.h
src/domain/UBGraphicsPDFItem.h
+0
-3
UBGraphicsPixmapItem.cpp
src/domain/UBGraphicsPixmapItem.cpp
+10
-19
UBGraphicsPixmapItem.h
src/domain/UBGraphicsPixmapItem.h
+0
-3
UBGraphicsProxyWidget.cpp
src/domain/UBGraphicsProxyWidget.cpp
+10
-27
UBGraphicsProxyWidget.h
src/domain/UBGraphicsProxyWidget.h
+1
-7
UBGraphicsStrokesGroup.cpp
src/domain/UBGraphicsStrokesGroup.cpp
+11
-18
UBGraphicsStrokesGroup.h
src/domain/UBGraphicsStrokesGroup.h
+0
-2
UBGraphicsSvgItem.cpp
src/domain/UBGraphicsSvgItem.cpp
+9
-16
UBGraphicsSvgItem.h
src/domain/UBGraphicsSvgItem.h
+0
-3
UBGraphicsTextItem.cpp
src/domain/UBGraphicsTextItem.cpp
+20
-29
UBGraphicsTextItem.h
src/domain/UBGraphicsTextItem.h
+0
-3
UBGraphicsWidgetItem.cpp
src/domain/UBGraphicsWidgetItem.cpp
+12
-18
UBGraphicsWidgetItem.h
src/domain/UBGraphicsWidgetItem.h
+0
-3
UBItem.cpp
src/domain/UBItem.cpp
+19
-0
UBItem.h
src/domain/UBItem.h
+11
-11
UBGraphicsCurtainItem.cpp
src/tools/UBGraphicsCurtainItem.cpp
+8
-15
UBGraphicsCurtainItem.h
src/tools/UBGraphicsCurtainItem.h
+0
-3
UBGraphicsCurtainItemDelegate.h
src/tools/UBGraphicsCurtainItemDelegate.h
+2
-3
No files found.
src/domain/UBGraphicsGroupContainerItem.cpp
View file @
db5c7ce7
...
...
@@ -16,8 +16,8 @@ UBGraphicsGroupContainerItem::UBGraphicsGroupContainerItem(QGraphicsItem *parent
{
setData
(
UBGraphicsItemData
::
ItemLayerType
,
UBItemLayerType
::
Object
);
mDelegate
=
new
UBGraphicsGroupContainerItemDelegate
(
this
,
0
);
mDelegate
->
init
();
setDelegate
(
new
UBGraphicsGroupContainerItemDelegate
(
this
,
0
)
);
Delegate
()
->
init
();
setFlag
(
QGraphicsItem
::
ItemSendsGeometryChanges
,
true
);
setFlag
(
QGraphicsItem
::
ItemIsSelectable
,
true
);
...
...
@@ -32,8 +32,6 @@ UBGraphicsGroupContainerItem::UBGraphicsGroupContainerItem(QGraphicsItem *parent
UBGraphicsGroupContainerItem
::~
UBGraphicsGroupContainerItem
()
{
if
(
mDelegate
)
delete
mDelegate
;
}
void
UBGraphicsGroupContainerItem
::
addToGroup
(
QGraphicsItem
*
item
)
...
...
@@ -50,14 +48,14 @@ void UBGraphicsGroupContainerItem::addToGroup(QGraphicsItem *item)
//Check if group is allready rotatable or flippable
if
(
childItems
().
count
())
{
if
(
UBGraphicsItem
::
isFlippable
(
this
)
&&
!
UBGraphicsItem
::
isFlippable
(
item
))
{
mDelegate
->
setFlippable
(
false
);
Delegate
()
->
setFlippable
(
false
);
}
if
(
UBGraphicsItem
::
isRotatable
(
this
)
&&
!
UBGraphicsItem
::
isRotatable
(
item
))
{
mDelegate
->
setRotatable
(
false
);
Delegate
()
->
setRotatable
(
false
);
}
}
else
{
mDelegate
->
setFlippable
(
UBGraphicsItem
::
isFlippable
(
item
));
mDelegate
->
setRotatable
(
UBGraphicsItem
::
isRotatable
(
item
));
Delegate
()
->
setFlippable
(
UBGraphicsItem
::
isFlippable
(
item
));
Delegate
()
->
setRotatable
(
UBGraphicsItem
::
isRotatable
(
item
));
}
// COMBINE
...
...
@@ -207,12 +205,6 @@ void UBGraphicsGroupContainerItem::copyItemParameters(UBItem *copy) const
}
}
void
UBGraphicsGroupContainerItem
::
remove
()
{
if
(
mDelegate
)
mDelegate
->
remove
();
}
void
UBGraphicsGroupContainerItem
::
setUuid
(
const
QUuid
&
pUuid
)
{
UBItem
::
setUuid
(
pUuid
);
...
...
@@ -244,7 +236,7 @@ void UBGraphicsGroupContainerItem::clearSource()
void
UBGraphicsGroupContainerItem
::
mousePressEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mousePressEvent
(
event
))
{
if
(
Delegate
()
->
mousePressEvent
(
event
))
{
//NOOP
}
else
{
...
...
@@ -257,7 +249,7 @@ void UBGraphicsGroupContainerItem::mousePressEvent(QGraphicsSceneMouseEvent *eve
void
UBGraphicsGroupContainerItem
::
mouseMoveEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mouseMoveEvent
(
event
))
{
if
(
Delegate
()
->
mouseMoveEvent
(
event
))
{
// NOOP;
}
else
{
QGraphicsItem
::
mouseMoveEvent
(
event
);
...
...
@@ -273,7 +265,7 @@ void UBGraphicsGroupContainerItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *e
QVariant
UBGraphicsGroupContainerItem
::
itemChange
(
GraphicsItemChange
change
,
const
QVariant
&
value
)
{
QVariant
newValue
=
mDelegate
->
itemChange
(
change
,
value
);
QVariant
newValue
=
Delegate
()
->
itemChange
(
change
,
value
);
foreach
(
QGraphicsItem
*
child
,
children
())
{
...
...
@@ -317,8 +309,8 @@ void UBGraphicsGroupContainerItem::pRemoveFromGroup(QGraphicsItem *item)
break
;
}
}
mDelegate
->
setFlippable
(
flippableNow
);
mDelegate
->
setRotatable
(
rotatableNow
);
Delegate
()
->
setFlippable
(
flippableNow
);
Delegate
()
->
setRotatable
(
rotatableNow
);
}
}
...
...
src/domain/UBGraphicsGroupContainerItem.h
View file @
db5c7ce7
...
...
@@ -22,13 +22,10 @@ public:
QRectF
boundingRect
()
const
;
void
paint
(
QPainter
*
painter
,
const
QStyleOptionGraphicsItem
*
option
,
QWidget
*
widget
);
virtual
UBGraphicsItemDelegate
*
Delegate
()
const
{
return
mDelegate
;}
virtual
UBCoreGraphicsScene
*
corescene
();
virtual
UBGraphicsGroupContainerItem
*
deepCopy
()
const
;
virtual
void
copyItemParameters
(
UBItem
*
copy
)
const
;
virtual
void
remove
();
enum
{
Type
=
UBGraphicsItemType
::
groupContainerType
};
virtual
int
type
()
const
...
...
src/domain/UBGraphicsMediaItem.cpp
View file @
db5c7ce7
...
...
@@ -72,6 +72,10 @@ UBGraphicsMediaItem::UBGraphicsMediaItem(const QUrl& pMediaFileUrl, QGraphicsIte
update
();
mMediaObject
=
new
Phonon
::
MediaObject
(
this
);
setDelegate
(
new
UBGraphicsMediaItemDelegate
(
this
,
mMediaObject
));
Delegate
()
->
init
();
if
(
pMediaFileUrl
.
toLocalFile
().
contains
(
"videos"
))
{
mMediaType
=
mediaType_Video
;
...
...
@@ -116,18 +120,14 @@ UBGraphicsMediaItem::UBGraphicsMediaItem(const QUrl& pMediaFileUrl, QGraphicsIte
mSource
=
Phonon
::
MediaSource
(
pMediaFileUrl
);
mMediaObject
->
setCurrentSource
(
mSource
);
UBGraphicsMediaItemDelegate
*
itemDelegate
=
new
UBGraphicsMediaItemDelegate
(
this
,
mMediaObject
);
itemDelegate
->
init
();
setDelegate
(
itemDelegate
);
if
(
mediaType_Audio
==
mMediaType
)
mDelegate
->
frame
()
->
setOperationMode
(
UBGraphicsDelegateFrame
::
ResizingHorizontally
);
Delegate
()
->
frame
()
->
setOperationMode
(
UBGraphicsDelegateFrame
::
ResizingHorizontally
);
else
mDelegate
->
frame
()
->
setOperationMode
(
UBGraphicsDelegateFrame
::
Resizing
);
Delegate
()
->
frame
()
->
setOperationMode
(
UBGraphicsDelegateFrame
::
Resizing
);
setData
(
UBGraphicsItemData
::
itemLayerType
,
QVariant
(
itemLayerType
::
ObjectItem
));
//Necessary to set if we want z value to be assigned correctly
connect
(
mDelegate
,
SIGNAL
(
showOnDisplayChanged
(
bool
)),
this
,
SLOT
(
showOnDisplayChanged
(
bool
)));
connect
(
Delegate
()
,
SIGNAL
(
showOnDisplayChanged
(
bool
)),
this
,
SLOT
(
showOnDisplayChanged
(
bool
)));
connect
(
mMediaObject
,
SIGNAL
(
hasVideoChanged
(
bool
)),
this
,
SLOT
(
hasMediaChanged
(
bool
)));
}
...
...
@@ -220,7 +220,7 @@ void UBGraphicsMediaItem::hasMediaChanged(bool hasMedia)
{
Q_UNUSED
(
hasMedia
);
mMediaObject
->
seek
(
mInitialPos
);
UBGraphicsMediaItemDelegate
*
med
=
dynamic_cast
<
UBGraphicsMediaItemDelegate
*>
(
mDelegate
);
UBGraphicsMediaItemDelegate
*
med
=
dynamic_cast
<
UBGraphicsMediaItemDelegate
*>
(
Delegate
()
);
if
(
med
)
med
->
updateTicker
(
initialPos
());
}
...
...
@@ -289,9 +289,9 @@ void UBGraphicsMediaItem::copyItemParameters(UBItem *copy) const
void
UBGraphicsMediaItem
::
mousePressEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
)
if
(
Delegate
()
)
{
mDelegate
->
mousePressEvent
(
event
);
Delegate
()
->
mousePressEvent
(
event
);
if
(
parentItem
()
&&
UBGraphicsGroupContainerItem
::
Type
==
parentItem
()
->
type
())
{
UBGraphicsGroupContainerItem
*
group
=
qgraphicsitem_cast
<
UBGraphicsGroupContainerItem
*>
(
parentItem
());
...
...
@@ -304,7 +304,7 @@ void UBGraphicsMediaItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
}
group
->
setCurrentItem
(
this
);
this
->
setSelected
(
true
);
mDelegate
->
positionHandles
();
Delegate
()
->
positionHandles
();
}
}
...
...
src/domain/UBGraphicsPDFItem.cpp
View file @
db5c7ce7
...
...
@@ -28,21 +28,20 @@ UBGraphicsPDFItem::UBGraphicsPDFItem(PDFRenderer *renderer, int pageNumber, QGra
{
setData
(
UBGraphicsItemData
::
ItemLayerType
,
UBItemLayerType
::
Object
);
//deprecated
setData
(
UBGraphicsItemData
::
itemLayerType
,
QVariant
(
itemLayerType
::
BackgroundItem
));
//Necessary to set if we want z value to be assigned correctly
mDelegate
=
new
UBGraphicsItemDelegate
(
this
,
0
,
true
,
false
,
false
);
mDelegate
->
init
();
setDelegate
(
new
UBGraphicsItemDelegate
(
this
,
0
,
true
,
false
,
false
));
Delegate
()
->
init
();
}
UBGraphicsPDFItem
::~
UBGraphicsPDFItem
()
{
if
(
mDelegate
)
delete
mDelegate
;
}
QVariant
UBGraphicsPDFItem
::
itemChange
(
GraphicsItemChange
change
,
const
QVariant
&
value
)
{
QVariant
newValue
=
mDelegate
->
itemChange
(
change
,
value
);
QVariant
newValue
=
Delegate
()
->
itemChange
(
change
,
value
);
return
GraphicsPDFItem
::
itemChange
(
change
,
newValue
);
}
...
...
@@ -54,7 +53,7 @@ void UBGraphicsPDFItem::setUuid(const QUuid &pUuid)
void
UBGraphicsPDFItem
::
mousePressEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mousePressEvent
(
event
))
if
(
Delegate
()
->
mousePressEvent
(
event
))
{
// NOOP
}
...
...
@@ -67,7 +66,7 @@ void UBGraphicsPDFItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsPDFItem
::
mouseMoveEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mouseMoveEvent
(
event
))
if
(
Delegate
()
->
mouseMoveEvent
(
event
))
{
// NOOP
}
...
...
@@ -80,7 +79,7 @@ void UBGraphicsPDFItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsPDFItem
::
mouseReleaseEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
mDelegate
->
mouseReleaseEvent
(
event
);
Delegate
()
->
mouseReleaseEvent
(
event
);
GraphicsPDFItem
::
mouseReleaseEvent
(
event
);
}
...
...
@@ -131,13 +130,6 @@ UBGraphicsScene* UBGraphicsPDFItem::scene()
}
void
UBGraphicsPDFItem
::
remove
()
{
if
(
mDelegate
)
mDelegate
->
remove
(
true
);
}
UBGraphicsPixmapItem
*
UBGraphicsPDFItem
::
toPixmapItem
()
const
{
QPixmap
pixmap
(
mRenderer
->
pageSizeF
(
mPageNumber
).
toSize
());
...
...
src/domain/UBGraphicsPDFItem.h
View file @
db5c7ce7
...
...
@@ -47,10 +47,7 @@ class UBGraphicsPDFItem: public GraphicsPDFItem, public UBItem, public UBGraphic
virtual
UBGraphicsScene
*
scene
();
virtual
void
remove
();
virtual
UBGraphicsPixmapItem
*
toPixmapItem
()
const
;
virtual
UBGraphicsItemDelegate
*
Delegate
()
const
{
return
mDelegate
;}
virtual
void
clearSource
(){;}
virtual
void
setUuid
(
const
QUuid
&
pUuid
);
...
...
src/domain/UBGraphicsPixmapItem.cpp
View file @
db5c7ce7
...
...
@@ -28,10 +28,10 @@
UBGraphicsPixmapItem
::
UBGraphicsPixmapItem
(
QGraphicsItem
*
parent
)
:
QGraphicsPixmapItem
(
parent
)
{
mDelegate
=
new
UBGraphicsItemDelegate
(
this
,
0
,
true
);
mDelegate
->
init
();
mDelegate
->
setFlippable
(
true
);
mDelegate
->
setRotatable
(
true
);
setDelegate
(
new
UBGraphicsItemDelegate
(
this
,
0
,
true
)
);
Delegate
()
->
init
();
Delegate
()
->
setFlippable
(
true
);
Delegate
()
->
setRotatable
(
true
);
setData
(
UBGraphicsItemData
::
ItemLayerType
,
UBItemLayerType
::
Object
);
setTransformationMode
(
Qt
::
SmoothTransformation
);
...
...
@@ -44,13 +44,11 @@ UBGraphicsPixmapItem::UBGraphicsPixmapItem(QGraphicsItem* parent)
UBGraphicsPixmapItem
::~
UBGraphicsPixmapItem
()
{
if
(
mDelegate
)
delete
mDelegate
;
}
QVariant
UBGraphicsPixmapItem
::
itemChange
(
GraphicsItemChange
change
,
const
QVariant
&
value
)
{
QVariant
newValue
=
mDelegate
->
itemChange
(
change
,
value
);
QVariant
newValue
=
Delegate
()
->
itemChange
(
change
,
value
);
return
QGraphicsPixmapItem
::
itemChange
(
change
,
newValue
);
}
...
...
@@ -64,14 +62,14 @@ void UBGraphicsPixmapItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
QMimeData
*
pMime
=
new
QMimeData
();
pMime
->
setImageData
(
pixmap
().
toImage
());
mDelegate
->
setMimeData
(
pMime
);
Delegate
()
->
setMimeData
(
pMime
);
qreal
k
=
(
qreal
)
pixmap
().
width
()
/
100.0
;
QSize
newSize
((
int
)(
pixmap
().
width
()
/
k
),
(
int
)(
pixmap
().
height
()
/
k
));
mDelegate
->
setDragPixmap
(
pixmap
().
scaled
(
newSize
,
Qt
::
IgnoreAspectRatio
,
Qt
::
SmoothTransformation
));
Delegate
()
->
setDragPixmap
(
pixmap
().
scaled
(
newSize
,
Qt
::
IgnoreAspectRatio
,
Qt
::
SmoothTransformation
));
if
(
mDelegate
->
mousePressEvent
(
event
))
if
(
Delegate
()
->
mousePressEvent
(
event
))
{
//NOOP
}
...
...
@@ -83,7 +81,7 @@ void UBGraphicsPixmapItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsPixmapItem
::
mouseMoveEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mouseMoveEvent
(
event
))
if
(
Delegate
()
->
mouseMoveEvent
(
event
))
{
// NOOP;
}
...
...
@@ -95,7 +93,7 @@ void UBGraphicsPixmapItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsPixmapItem
::
mouseReleaseEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
mDelegate
->
mouseReleaseEvent
(
event
);
Delegate
()
->
mouseReleaseEvent
(
event
);
QGraphicsPixmapItem
::
mouseReleaseEvent
(
event
);
}
...
...
@@ -145,13 +143,6 @@ UBGraphicsScene* UBGraphicsPixmapItem::scene()
}
void
UBGraphicsPixmapItem
::
remove
()
{
if
(
mDelegate
)
mDelegate
->
remove
(
true
);
}
void
UBGraphicsPixmapItem
::
setOpacity
(
qreal
op
)
{
QGraphicsPixmapItem
::
setOpacity
(
op
);
...
...
src/domain/UBGraphicsPixmapItem.h
View file @
db5c7ce7
...
...
@@ -44,14 +44,11 @@ class UBGraphicsPixmapItem : public QObject, public QGraphicsPixmapItem, public
virtual
UBGraphicsScene
*
scene
();
virtual
void
remove
();
Q_PROPERTY
(
qreal
opacity
READ
opacity
WRITE
setOpacity
)
void
setOpacity
(
qreal
op
);
qreal
opacity
()
const
;
virtual
UBGraphicsItemDelegate
*
Delegate
()
const
{
return
mDelegate
;}
virtual
void
clearSource
(){;}
virtual
void
setUuid
(
const
QUuid
&
pUuid
);
...
...
src/domain/UBGraphicsProxyWidget.cpp
View file @
db5c7ce7
...
...
@@ -29,8 +29,9 @@ UBGraphicsProxyWidget::UBGraphicsProxyWidget(QGraphicsItem* parent)
{
setData
(
UBGraphicsItemData
::
ItemLayerType
,
UBItemLayerType
::
Object
);
mDelegate
=
new
UBGraphicsItemDelegate
(
this
,
0
,
true
,
false
,
false
);
mDelegate
->
init
();
//UBGraphicsItemDelegate* delegate = new UBGraphicsItemDelegate(this,0, true, false, false);
//delegate->init();
//setDelegate(delegate);
setFlag
(
QGraphicsItem
::
ItemSendsGeometryChanges
,
true
);
...
...
@@ -40,8 +41,6 @@ UBGraphicsProxyWidget::UBGraphicsProxyWidget(QGraphicsItem* parent)
UBGraphicsProxyWidget
::~
UBGraphicsProxyWidget
()
{
if
(
mDelegate
)
delete
mDelegate
;
}
...
...
@@ -67,7 +66,7 @@ QVariant UBGraphicsProxyWidget::itemChange(GraphicsItemChange change, const QVar
}
}
QVariant
newValue
=
mDelegate
->
itemChange
(
change
,
value
);
QVariant
newValue
=
Delegate
()
->
itemChange
(
change
,
value
);
return
QGraphicsProxyWidget
::
itemChange
(
change
,
newValue
);
}
...
...
@@ -79,7 +78,7 @@ void UBGraphicsProxyWidget::setUuid(const QUuid &pUuid)
void
UBGraphicsProxyWidget
::
mousePressEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mousePressEvent
(
event
))
if
(
Delegate
()
->
mousePressEvent
(
event
))
{
//NOOP
}
...
...
@@ -95,7 +94,7 @@ void UBGraphicsProxyWidget::mousePressEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsProxyWidget
::
mouseMoveEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mouseMoveEvent
(
event
))
if
(
Delegate
()
->
mouseMoveEvent
(
event
))
{
// NOOP;
}
...
...
@@ -108,13 +107,13 @@ void UBGraphicsProxyWidget::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsProxyWidget
::
mouseReleaseEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
mDelegate
->
mouseReleaseEvent
(
event
);
Delegate
()
->
mouseReleaseEvent
(
event
);
QGraphicsProxyWidget
::
mouseReleaseEvent
(
event
);
}
void
UBGraphicsProxyWidget
::
wheelEvent
(
QGraphicsSceneWheelEvent
*
event
)
{
if
(
mDelegate
->
weelEvent
(
event
)
)
if
(
Delegate
()
->
weelEvent
(
event
)
)
{
QGraphicsProxyWidget
::
wheelEvent
(
event
);
event
->
accept
();
...
...
@@ -132,17 +131,6 @@ void UBGraphicsProxyWidget::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
// NOOP
}
void
UBGraphicsProxyWidget
::
setDelegate
(
UBGraphicsItemDelegate
*
pDelegate
)
{
if
(
mDelegate
)
{
delete
mDelegate
;
}
mDelegate
=
pDelegate
;
}
void
UBGraphicsProxyWidget
::
resize
(
qreal
w
,
qreal
h
)
{
UBGraphicsProxyWidget
::
resize
(
QSizeF
(
w
,
h
));
...
...
@@ -177,8 +165,8 @@ void UBGraphicsProxyWidget::resize(const QSizeF & pSize)
QGraphicsProxyWidget
::
resize
(
size
.
width
(),
size
.
height
());
if
(
widget
())
widget
()
->
resize
(
size
.
width
(),
size
.
height
());
if
(
mDelegate
)
mDelegate
->
positionHandles
();
if
(
Delegate
()
)
Delegate
()
->
positionHandles
();
if
(
scene
())
scene
()
->
setModified
(
true
);
}
...
...
@@ -197,8 +185,3 @@ UBGraphicsScene* UBGraphicsProxyWidget::scene()
}
void
UBGraphicsProxyWidget
::
remove
()
{
if
(
mDelegate
)
mDelegate
->
remove
(
true
);
}
src/domain/UBGraphicsProxyWidget.h
View file @
db5c7ce7
...
...
@@ -27,7 +27,6 @@ class UBGraphicsItemDelegate;
class
UBGraphicsProxyWidget
:
public
QGraphicsProxyWidget
,
public
UBItem
,
public
UBResizableGraphicsItem
,
public
UBGraphicsItem
{
public
:
UBGraphicsProxyWidget
(
QGraphicsItem
*
parent
=
0
);
virtual
~
UBGraphicsProxyWidget
();
virtual
void
resize
(
qreal
w
,
qreal
h
);
...
...
@@ -35,18 +34,13 @@ class UBGraphicsProxyWidget: public QGraphicsProxyWidget, public UBItem, public
virtual
QSizeF
size
()
const
;
void
setDelegate
(
UBGraphicsItemDelegate
*
pDelegate
);
virtual
UBGraphicsScene
*
scene
();
virtual
void
remove
();
virtual
UBGraphicsItemDelegate
*
Delegate
()
const
{
return
mDelegate
;}
virtual
void
clearSource
(){;}
virtual
void
setUuid
(
const
QUuid
&
pUuid
);
protected
:
UBGraphicsProxyWidget
(
QGraphicsItem
*
parent
=
0
);
virtual
void
mousePressEvent
(
QGraphicsSceneMouseEvent
*
event
);
virtual
void
mouseMoveEvent
(
QGraphicsSceneMouseEvent
*
event
);
...
...
src/domain/UBGraphicsStrokesGroup.cpp
View file @
db5c7ce7
...
...
@@ -4,12 +4,14 @@
#include "core/memcheck.h"
UBGraphicsStrokesGroup
::
UBGraphicsStrokesGroup
(
QGraphicsItem
*
parent
)
:
QGraphicsItemGroup
(
parent
)
UBGraphicsStrokesGroup
::
UBGraphicsStrokesGroup
(
QGraphicsItem
*
parent
)
:
UBGraphicsItem
(),
QGraphicsItemGroup
(
parent
)
{
mDelegate
=
new
UBGraphicsItemDelegate
(
this
,
0
,
true
,
true
,
false
);
mDelegate
->
init
();
mDelegate
->
setFlippable
(
true
);
mDelegate
->
setRotatable
(
true
);
setDelegate
(
new
UBGraphicsItemDelegate
(
this
,
0
,
true
,
true
,
false
));
Delegate
()
->
init
();
Delegate
()
->
setFlippable
(
true
);
Delegate
()
->
setRotatable
(
true
);
setData
(
UBGraphicsItemData
::
ItemLayerType
,
UBItemLayerType
::
Object
);
...
...
@@ -22,9 +24,6 @@ UBGraphicsStrokesGroup::UBGraphicsStrokesGroup(QGraphicsItem *parent):QGraphicsI
UBGraphicsStrokesGroup
::~
UBGraphicsStrokesGroup
()
{
if
(
mDelegate
){
delete
mDelegate
;
}
}
void
UBGraphicsStrokesGroup
::
setUuid
(
const
QUuid
&
pUuid
)
...
...
@@ -83,7 +82,7 @@ QColor UBGraphicsStrokesGroup::color(colorType pColorType) const
void
UBGraphicsStrokesGroup
::
mousePressEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mousePressEvent
(
event
))
if
(
Delegate
()
->
mousePressEvent
(
event
))
{
//NOOP
}
...
...
@@ -95,7 +94,7 @@ void UBGraphicsStrokesGroup::mousePressEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsStrokesGroup
::
mouseMoveEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mouseMoveEvent
(
event
))
if
(
Delegate
()
->
mouseMoveEvent
(
event
))
{
// NOOP;
}
...
...
@@ -107,7 +106,7 @@ void UBGraphicsStrokesGroup::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsStrokesGroup
::
mouseReleaseEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
mDelegate
->
mouseReleaseEvent
(
event
);
Delegate
()
->
mouseReleaseEvent
(
event
);
QGraphicsItemGroup
::
mouseReleaseEvent
(
event
);
}
...
...
@@ -144,12 +143,6 @@ void UBGraphicsStrokesGroup::copyItemParameters(UBItem *copy) const
}
}
void
UBGraphicsStrokesGroup
::
remove
()
{
if
(
mDelegate
)
mDelegate
->
remove
(
true
);
}
void
UBGraphicsStrokesGroup
::
paint
(
QPainter
*
painter
,
const
QStyleOptionGraphicsItem
*
option
,
QWidget
*
widget
)
{
// Never draw the rubber band, we draw our custom selection with the DelegateFrame
...
...
@@ -161,7 +154,7 @@ void UBGraphicsStrokesGroup::paint(QPainter *painter, const QStyleOptionGraphics
QVariant
UBGraphicsStrokesGroup
::
itemChange
(
GraphicsItemChange
change
,
const
QVariant
&
value
)
{
QVariant
newValue
=
mDelegate
->
itemChange
(
change
,
value
);
QVariant
newValue
=
Delegate
()
->
itemChange
(
change
,
value
);
return
QGraphicsItemGroup
::
itemChange
(
change
,
newValue
);
}
...
...
src/domain/UBGraphicsStrokesGroup.h
View file @
db5c7ce7
...
...
@@ -21,8 +21,6 @@ public:
~
UBGraphicsStrokesGroup
();
virtual
UBItem
*
deepCopy
()
const
;
virtual
void
copyItemParameters
(
UBItem
*
copy
)
const
;
virtual
void
remove
();
virtual
UBGraphicsItemDelegate
*
Delegate
()
const
{
return
mDelegate
;}
enum
{
Type
=
UBGraphicsItemType
::
StrokeItemType
};
virtual
int
type
()
const
{
...
...
src/domain/UBGraphicsSvgItem.cpp
View file @
db5c7ce7
...
...
@@ -53,10 +53,11 @@ void UBGraphicsSvgItem::init()
{
setData
(
UBGraphicsItemData
::
ItemLayerType
,
UBItemLayerType
::
Object
);
mDelegate
=
new
UBGraphicsItemDelegate
(
this
,
0
,
true
,
true
,
false
);
mDelegate
->
init
();
mDelegate
->
setFlippable
(
true
);
mDelegate
->
setRotatable
(
true
);
setDelegate
(
new
UBGraphicsItemDelegate
(
this
,
0
,
true
,
true
,
false
));
Delegate
()
->
init
();
Delegate
()
->
setFlippable
(
true
);
Delegate
()
->
setRotatable
(
true
);
setFlag
(
QGraphicsItem
::
ItemSendsGeometryChanges
,
true
);
...
...
@@ -71,8 +72,6 @@ void UBGraphicsSvgItem::init()
UBGraphicsSvgItem
::~
UBGraphicsSvgItem
()
{
if
(
mDelegate
)
delete
mDelegate
;
}
...
...
@@ -84,14 +83,14 @@ QByteArray UBGraphicsSvgItem::fileData() const
QVariant
UBGraphicsSvgItem
::
itemChange
(
GraphicsItemChange
change
,
const
QVariant
&
value
)
{
QVariant
newValue
=
mDelegate
->
itemChange
(
change
,
value
);
QVariant
newValue
=
Delegate
()
->
itemChange
(
change
,
value
);
return
QGraphicsSvgItem
::
itemChange
(
change
,
newValue
);
}
void
UBGraphicsSvgItem
::
mousePressEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mousePressEvent
(
event
))
if
(
Delegate
()
->
mousePressEvent
(
event
))
{
//NOOP
}
...
...
@@ -104,7 +103,7 @@ void UBGraphicsSvgItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsSvgItem
::
mouseMoveEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mouseMoveEvent
(
event
))
if
(
Delegate
()
->
mouseMoveEvent
(
event
))
{
// NOOP;
}
...
...
@@ -117,7 +116,7 @@ void UBGraphicsSvgItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsSvgItem
::
mouseReleaseEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
mDelegate
->
mouseReleaseEvent
(
event
);
Delegate
()
->
mouseReleaseEvent
(
event
);
QGraphicsSvgItem
::
mouseReleaseEvent
(
event
);
}
...
...
@@ -182,12 +181,6 @@ UBGraphicsScene* UBGraphicsSvgItem::scene()
}
void
UBGraphicsSvgItem
::
remove
()
{
if
(
mDelegate
)
mDelegate
->
remove
(
true
);
}
UBGraphicsPixmapItem
*
UBGraphicsSvgItem
::
toPixmapItem
()
const
{
...
...
src/domain/UBGraphicsSvgItem.h
View file @
db5c7ce7
...
...
@@ -58,10 +58,7 @@ class UBGraphicsSvgItem: public QGraphicsSvgItem, public UBItem, public UBGraphi
virtual
UBGraphicsScene
*
scene
();
virtual
void
remove
();
virtual
UBGraphicsPixmapItem
*
toPixmapItem
()
const
;
virtual
UBGraphicsItemDelegate
*
Delegate
()
const
{
return
mDelegate
;}
virtual
void
setUuid
(
const
QUuid
&
pUuid
);
...
...
src/domain/UBGraphicsTextItem.cpp
View file @
db5c7ce7
...
...
@@ -31,16 +31,17 @@
QColor
UBGraphicsTextItem
::
lastUsedTextColor
;
UBGraphicsTextItem
::
UBGraphicsTextItem
(
QGraphicsItem
*
parent
)
:
QGraphicsTextItem
(
parent
)
:
UBGraphicsItem
()
,
QGraphicsTextItem
(
parent
)
,
mMultiClickState
(
0
)
,
mLastMousePressTime
(
QTime
::
currentTime
())
{
mDelegate
=
new
UBGraphicsTextItemDelegate
(
this
,
0
);
mDelegate
->
init
();
setDelegate
(
new
UBGraphicsTextItemDelegate
(
this
,
0
)
);
Delegate
()
->
init
();
mDelegate
->
frame
()
->
setOperationMode
(
UBGraphicsDelegateFrame
::
Resizing
);
mDelegate
->
setFlippable
(
false
);
mDelegate
->
setRotatable
(
true
);
Delegate
()
->
frame
()
->
setOperationMode
(
UBGraphicsDelegateFrame
::
Resizing
);
Delegate
()
->
setFlippable
(
false
);
Delegate
()
->
setRotatable
(
true
);
mTypeTextHereLabel
=
tr
(
"<Type Text Here>"
);
...
...
@@ -58,7 +59,7 @@ UBGraphicsTextItem::UBGraphicsTextItem(QGraphicsItem * parent)
setUuid
(
QUuid
::
createUuid
());
connect
(
document
(),
SIGNAL
(
contentsChanged
()),
mDelegate
,
SLOT
(
contentsChanged
()));
connect
(
document
(),
SIGNAL
(
contentsChanged
()),
Delegate
()
,
SLOT
(
contentsChanged
()));
connect
(
document
(),
SIGNAL
(
undoCommandAdded
()),
this
,
SLOT
(
undoCommandAdded
()));
connect
(
document
()
->
documentLayout
(),
SIGNAL
(
documentSizeChanged
(
const
QSizeF
&
)),
...
...
@@ -68,18 +69,14 @@ UBGraphicsTextItem::UBGraphicsTextItem(QGraphicsItem * parent)
UBGraphicsTextItem
::~
UBGraphicsTextItem
()
{
if
(
mDelegate
)
{
delete
mDelegate
;
}
}
QVariant
UBGraphicsTextItem
::
itemChange
(
GraphicsItemChange
change
,
const
QVariant
&
value
)
{
QVariant
newValue
=
value
;
if
(
mDelegate
)
newValue
=
mDelegate
->
itemChange
(
change
,
value
);
if
(
Delegate
()
)
newValue
=
Delegate
()
->
itemChange
(
change
,
value
);
return
QGraphicsTextItem
::
itemChange
(
change
,
newValue
);
}
...
...
@@ -95,10 +92,10 @@ void UBGraphicsTextItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
return
;
}
if
(
mDelegate
)
if
(
Delegate
()
)
{
mDelegate
->
mousePressEvent
(
event
);
if
(
mDelegate
&&
parentItem
()
&&
UBGraphicsGroupContainerItem
::
Type
==
parentItem
()
->
type
())
Delegate
()
->
mousePressEvent
(
event
);
if
(
Delegate
()
&&
parentItem
()
&&
UBGraphicsGroupContainerItem
::
Type
==
parentItem
()
->
type
())
{
UBGraphicsGroupContainerItem
*
group
=
qgraphicsitem_cast
<
UBGraphicsGroupContainerItem
*>
(
parentItem
());
if
(
group
)
...
...
@@ -110,13 +107,13 @@ void UBGraphicsTextItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
}
group
->
setCurrentItem
(
this
);
this
->
setSelected
(
true
);
mDelegate
->
positionHandles
();
Delegate
()
->
positionHandles
();
}
}
else
{
mDelegate
->
getToolBarItem
()
->
show
();
Delegate
()
->
getToolBarItem
()
->
show
();
}
}
...
...
@@ -165,7 +162,7 @@ void UBGraphicsTextItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsTextItem
::
mouseMoveEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
!
mDelegate
||
!
mDelegate
->
mouseMoveEvent
(
event
))
if
(
!
Delegate
()
||
!
Delegate
()
->
mouseMoveEvent
(
event
))
{
QGraphicsTextItem
::
mouseMoveEvent
(
event
);
}
...
...
@@ -184,8 +181,8 @@ void UBGraphicsTextItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
if
(
mMultiClickState
==
1
)
{
if
(
mDelegate
)
mDelegate
->
mouseReleaseEvent
(
event
);
if
(
Delegate
()
)
Delegate
()
->
mouseReleaseEvent
(
event
);
QGraphicsTextItem
::
mouseReleaseEvent
(
event
);
}
...
...
@@ -324,8 +321,8 @@ void UBGraphicsTextItem::resize(qreal w, qreal h)
setTextWidth
(
w
);
setTextHeight
(
h
);
if
(
mDelegate
)
mDelegate
->
positionHandles
();
if
(
Delegate
()
)
Delegate
()
->
positionHandles
();
}
...
...
@@ -347,12 +344,6 @@ void UBGraphicsTextItem::undoCommandAdded()
}
void
UBGraphicsTextItem
::
remove
()
{
if
(
mDelegate
)
mDelegate
->
remove
(
true
);
}
void
UBGraphicsTextItem
::
documentSizeChanged
(
const
QSizeF
&
newSize
)
{
resize
(
newSize
.
width
(),
newSize
.
height
());
...
...
src/domain/UBGraphicsTextItem.h
View file @
db5c7ce7
...
...
@@ -58,8 +58,6 @@ class UBGraphicsTextItem : public QGraphicsTextItem, public UBItem, public UBRes
virtual
QSizeF
size
()
const
;
virtual
void
remove
();
static
QColor
lastUsedTextColor
;
QColor
colorOnDarkBackground
()
const
...
...
@@ -81,7 +79,6 @@ class UBGraphicsTextItem : public QGraphicsTextItem, public UBItem, public UBRes
{
mColorOnLightBackground
=
pColorOnLightBackground
;
}
virtual
UBGraphicsItemDelegate
*
Delegate
()
const
{
return
mDelegate
;}
virtual
void
clearSource
(){;}
virtual
void
setUuid
(
const
QUuid
&
pUuid
);
...
...
src/domain/UBGraphicsWidgetItem.cpp
View file @
db5c7ce7
...
...
@@ -84,8 +84,8 @@ UBGraphicsWidgetItem::UBGraphicsWidgetItem(const QUrl &pWidgetUrl, QGraphicsItem
viewPalette
.
setBrush
(
QPalette
::
Window
,
QBrush
(
Qt
::
transparent
));
setPalette
(
viewPalette
);
mDelegate
=
new
UBGraphicsWidgetItemDelegate
(
this
);
mDelegate
->
init
();
setDelegate
(
new
UBGraphicsWidgetItemDelegate
(
this
)
);
Delegate
()
->
init
();
setFlag
(
QGraphicsItem
::
ItemSendsGeometryChanges
,
true
);
QGraphicsWebView
::
setAcceptHoverEvents
(
true
);
...
...
@@ -102,8 +102,8 @@ void UBGraphicsWidgetItem::initialize()
setMinimumSize
(
nominalSize
());
setData
(
UBGraphicsItemData
::
itemLayerType
,
QVariant
(
itemLayerType
::
ObjectItem
));
// Necessary to set if we want z value to be assigned correctly
if
(
mDelegate
&&
mDelegate
->
frame
()
&&
resizable
())
mDelegate
->
frame
()
->
setOperationMode
(
UBGraphicsDelegateFrame
::
Resizing
);
if
(
Delegate
()
&&
Delegate
()
->
frame
()
&&
resizable
())
Delegate
()
->
frame
()
->
setOperationMode
(
UBGraphicsDelegateFrame
::
Resizing
);
QPalette
palette
=
page
()
->
palette
();
palette
.
setBrush
(
QPalette
::
Base
,
QBrush
(
Qt
::
transparent
));
...
...
@@ -262,12 +262,6 @@ void UBGraphicsWidgetItem::removeAllDatastoreEntries()
mDatastore
.
clear
();
}
void
UBGraphicsWidgetItem
::
remove
()
{
if
(
mDelegate
)
mDelegate
->
remove
();
}
void
UBGraphicsWidgetItem
::
removeScript
()
{
if
(
page
()
&&
page
()
->
mainFrame
())
...
...
@@ -512,7 +506,7 @@ void UBGraphicsWidgetItem::dropEvent(QGraphicsSceneDragDropEvent *event)
void
UBGraphicsWidgetItem
::
mousePressEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
!
mDelegate
->
mousePressEvent
(
event
))
if
(
!
Delegate
()
->
mousePressEvent
(
event
))
setSelected
(
true
);
/* forcing selection */
QGraphicsWebView
::
mousePressEvent
(
event
);
...
...
@@ -529,19 +523,19 @@ void UBGraphicsWidgetItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
{
mShouldMoveWidget
=
false
;
mDelegate
->
mouseReleaseEvent
(
event
);
Delegate
()
->
mouseReleaseEvent
(
event
);
QGraphicsWebView
::
mouseReleaseEvent
(
event
);
}
void
UBGraphicsWidgetItem
::
hoverEnterEvent
(
QGraphicsSceneHoverEvent
*
event
)
{
sendJSEnterEvent
();
mDelegate
->
hoverEnterEvent
(
event
);
Delegate
()
->
hoverEnterEvent
(
event
);
}
void
UBGraphicsWidgetItem
::
hoverLeaveEvent
(
QGraphicsSceneHoverEvent
*
event
)
{
sendJSLeaveEvent
();
mDelegate
->
hoverLeaveEvent
(
event
);
Delegate
()
->
hoverLeaveEvent
(
event
);
}
void
UBGraphicsWidgetItem
::
sendJSEnterEvent
()
...
...
@@ -630,7 +624,7 @@ void UBGraphicsWidgetItem::mainFrameLoadFinished (bool ok)
void
UBGraphicsWidgetItem
::
wheelEvent
(
QGraphicsSceneWheelEvent
*
event
)
{
if
(
mDelegate
->
weelEvent
(
event
))
if
(
Delegate
()
->
weelEvent
(
event
))
{
QGraphicsWebView
::
wheelEvent
(
event
);
event
->
accept
();
...
...
@@ -647,7 +641,7 @@ QVariant UBGraphicsWidgetItem::itemChange(GraphicsItemChange change, const QVari
scene
()
->
setActiveWindow
(
0
);
}
QVariant
newValue
=
mDelegate
->
itemChange
(
change
,
value
);
QVariant
newValue
=
Delegate
()
->
itemChange
(
change
,
value
);
return
QGraphicsWebView
::
itemChange
(
change
,
newValue
);
}
...
...
@@ -662,8 +656,8 @@ void UBGraphicsWidgetItem::resize(const QSizeF & pSize)
if
(
pSize
!=
size
())
{
QGraphicsWebView
::
setMaximumSize
(
pSize
.
width
(),
pSize
.
height
());
QGraphicsWebView
::
resize
(
pSize
.
width
(),
pSize
.
height
());
if
(
mDelegate
)
mDelegate
->
positionHandles
();
if
(
Delegate
()
)
Delegate
()
->
positionHandles
();
if
(
scene
())
scene
()
->
setModified
(
true
);
}
...
...
src/domain/UBGraphicsWidgetItem.h
View file @
db5c7ce7
...
...
@@ -57,8 +57,6 @@ class UBGraphicsWidgetItem : public QGraphicsWebView, public UBItem, public UBRe
virtual
void
resize
(
const
QSizeF
&
size
);
virtual
QSizeF
size
()
const
;
virtual
UBGraphicsItemDelegate
*
Delegate
()
const
{
return
mDelegate
;}
QUrl
mainHtml
();
void
loadMainHtml
();
QUrl
widgetUrl
();
...
...
@@ -82,7 +80,6 @@ class UBGraphicsWidgetItem : public QGraphicsWebView, public UBItem, public UBRe
void
removeDatastoreEntry
(
const
QString
&
key
);
void
removeAllDatastoreEntries
();
virtual
void
remove
();
void
removeScript
();
void
processDropEvent
(
QGraphicsSceneDragDropEvent
*
event
);
...
...
src/domain/UBItem.cpp
View file @
db5c7ce7
...
...
@@ -38,6 +38,18 @@ UBItem::~UBItem()
// NOOP
}
UBGraphicsItem
::~
UBGraphicsItem
()
{
if
(
mDelegate
!=
NULL
)
delete
mDelegate
;
}
void
UBGraphicsItem
::
setDelegate
(
UBGraphicsItemDelegate
*
delegate
)
{
Q_ASSERT
(
mDelegate
==
NULL
);
mDelegate
=
delegate
;
}
void
UBGraphicsItem
::
assignZValue
(
QGraphicsItem
*
item
,
qreal
value
)
{
item
->
setZValue
(
value
);
...
...
@@ -54,6 +66,13 @@ bool UBGraphicsItem::isRotatable(QGraphicsItem *item)
return
item
->
data
(
UBGraphicsItemData
::
ItemRotatable
).
toBool
();
}
void
UBGraphicsItem
::
remove
()
{
if
(
Delegate
())
Delegate
()
->
remove
(
this
);
}
UBGraphicsItemDelegate
*
UBGraphicsItem
::
Delegate
(
QGraphicsItem
*
pItem
)
{
UBGraphicsItemDelegate
*
result
=
0
;
...
...
src/domain/UBItem.h
View file @
db5c7ce7
...
...
@@ -90,30 +90,30 @@ class UBItem
class
UBGraphicsItem
{
protected
:
UBGraphicsItem
()
:
mDelegate
(
0
)
{
// NOOP
}
UBGraphicsItemDelegate
*
mDelegate
;
virtual
~
UBGraphicsItem
()
UBGraphicsItem
()
:
mDelegate
(
NULL
)
{
// NOOP
}
virtual
~
UBGraphicsItem
();
void
setDelegate
(
UBGraphicsItemDelegate
*
mDelegate
);
public
:
inline
UBGraphicsItemDelegate
*
Delegate
()
const
{
return
mDelegate
;
}
static
void
assignZValue
(
QGraphicsItem
*
,
qreal
value
);
static
bool
isRotatable
(
QGraphicsItem
*
item
);
static
bool
isFlippable
(
QGraphicsItem
*
item
);
static
UBGraphicsItemDelegate
*
Delegate
(
QGraphicsItem
*
pItem
);
virtual
UBGraphicsItemDelegate
*
Delegate
()
const
=
0
;
virtual
void
remove
()
=
0
;
virtual
void
clearSource
(){;}
void
remove
();
virtual
void
clearSource
(){}
private
:
UBGraphicsItemDelegate
*
mDelegate
;
};
#endif // UBITEM_H
src/tools/UBGraphicsCurtainItem.cpp
View file @
db5c7ce7
...
...
@@ -37,8 +37,9 @@ const QColor UBGraphicsCurtainItem::sDarkBackgroundOpaqueControlColor = QColor(6
UBGraphicsCurtainItem
::
UBGraphicsCurtainItem
(
QGraphicsItem
*
parent
)
:
QGraphicsRectItem
(
parent
)
{
mDelegate
=
new
UBGraphicsCurtainItemDelegate
(
this
,
0
);
mDelegate
->
init
();
UBGraphicsCurtainItemDelegate
*
delegate
=
new
UBGraphicsCurtainItemDelegate
(
this
,
0
);
delegate
->
init
();
setDelegate
(
delegate
);
setFlag
(
QGraphicsItem
::
ItemIsMovable
,
true
);
setFlag
(
QGraphicsItem
::
ItemIsSelectable
,
true
);
...
...
@@ -56,7 +57,6 @@ UBGraphicsCurtainItem::UBGraphicsCurtainItem(QGraphicsItem* parent)
UBGraphicsCurtainItem
::~
UBGraphicsCurtainItem
()
{
delete
mDelegate
;
}
QVariant
UBGraphicsCurtainItem
::
itemChange
(
GraphicsItemChange
change
,
const
QVariant
&
value
)
...
...
@@ -64,9 +64,9 @@ QVariant UBGraphicsCurtainItem::itemChange(GraphicsItemChange change, const QVar
QVariant
newValue
=
value
;
if
(
mDelegate
)
if
(
Delegate
()
)
{
newValue
=
mDelegate
->
itemChange
(
change
,
value
);
newValue
=
Delegate
()
->
itemChange
(
change
,
value
);
}
return
QGraphicsRectItem
::
itemChange
(
change
,
newValue
);
...
...
@@ -80,7 +80,7 @@ void UBGraphicsCurtainItem::setUuid(const QUuid &pUuid)
void
UBGraphicsCurtainItem
::
mousePressEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mousePressEvent
(
event
))
if
(
Delegate
()
->
mousePressEvent
(
event
))
{
//NOOP
}
...
...
@@ -92,7 +92,7 @@ void UBGraphicsCurtainItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsCurtainItem
::
mouseMoveEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
if
(
mDelegate
->
mouseMoveEvent
(
event
))
if
(
Delegate
()
->
mouseMoveEvent
(
event
))
{
// NOOP;
}
...
...
@@ -104,7 +104,7 @@ void UBGraphicsCurtainItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
void
UBGraphicsCurtainItem
::
mouseReleaseEvent
(
QGraphicsSceneMouseEvent
*
event
)
{
mDelegate
->
mouseReleaseEvent
(
event
);
Delegate
()
->
mouseReleaseEvent
(
event
);
QGraphicsRectItem
::
mouseReleaseEvent
(
event
);
}
...
...
@@ -171,13 +171,6 @@ QColor UBGraphicsCurtainItem::opaqueControlColor() const
}
void
UBGraphicsCurtainItem
::
remove
()
{
if
(
mDelegate
)
mDelegate
->
remove
(
true
);
}
void
UBGraphicsCurtainItem
::
triggerRemovedSignal
()
{
emit
removed
();
...
...
src/tools/UBGraphicsCurtainItem.h
View file @
db5c7ce7
...
...
@@ -44,11 +44,8 @@ class UBGraphicsCurtainItem : public QObject, public QGraphicsRectItem, public U
virtual
UBItem
*
deepCopy
()
const
;
virtual
void
copyItemParameters
(
UBItem
*
copy
)
const
;
virtual
void
remove
();
//TODO UB 4.x not nice ...
void
triggerRemovedSignal
();
virtual
UBGraphicsItemDelegate
*
Delegate
()
const
{
return
mDelegate
;}
virtual
void
clearSource
(){;}
virtual
void
setUuid
(
const
QUuid
&
pUuid
);
...
...
src/tools/UBGraphicsCurtainItemDelegate.h
View file @
db5c7ce7
...
...
@@ -40,13 +40,12 @@ class UBGraphicsCurtainItemDelegate : public UBGraphicsItemDelegate
virtual
QVariant
itemChange
(
QGraphicsItem
::
GraphicsItemChange
change
,
const
QVariant
&
value
);
virtual
void
positionHandles
();
virtual
void
init
();
public
slots
:
virtual
void
remove
(
bool
checked
,
bool
canUndo
=
true
);
protected
:
virtual
void
init
();
};
#endif
/* UBGRAPHICSCURTAINITEMDELEGATE_H_ */
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