LunaSysMgr
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
groupanchoritem.h
Go to the documentation of this file.
1 /* @@@LICENSE
2 *
3 * Copyright (c) 2010-2012 Hewlett-Packard Development Company, L.P.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 * LICENSE@@@ */
18 
19 
20 
21 
22 #ifndef GROUPANCHORITEM_H_
23 #define GROUPANCHORITEM_H_
24 
25 #include <QObject>
26 #include <QGraphicsItemGroup>
27 #include <QRectF>
28 #include <QPointer>
29 
30 class LauncherObject;
31 class QAbstractAnimation;
32 class QGraphicsSceneMouseEvent;
33 
35 {
36  Q_OBJECT
37  Q_INTERFACES(QGraphicsItem)
38  Q_PROPERTY(QPointF pos READ pos WRITE setPos)
39 
40 public:
42  GroupAnchorItem(LauncherObject * p_belongsTo);
43  virtual ~GroupAnchorItem();
44 
45  void setOwner(LauncherObject * p_belongsTo);
46 
47  QPointer<QAbstractAnimation> setAnimation(QAbstractAnimation * p_anim); //does NOT stop or mod the animation
48 
49 protected:
50 
51  virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
52  virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
53  virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
54  virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
55 
56 
57 private Q_SLOTS:
58 
59  void slotAnimationFinished() {}
60 
61 private:
62 
63  QPointer<LauncherObject> m_qp_currentUIOwner;
64  QPointer<QAbstractAnimation> m_qp_currentAnimation; //UI owns this! this is just a convenient place to store it
65 };
66 
67 #endif /* GROUPANCHORITEM_H_ */