OpendTect  6.6
uigraphicsscene.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: Nanne Hemstra
8  Date: January 2008
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "uibasemod.h"
15 #include "uigraphicsitem.h"
16 #include "task.h"
17 #include "bufstringset.h"
18 #include "color.h"
19 #include "keyboardevent.h"
20 #include "mouseevent.h"
21 #include "namedobj.h"
22 
23 
24 mFDQtclass(QGraphicsScene)
25 mFDQtclass(QGraphicsLinearLayout)
26 mFDQtclass(QGraphicsWidget)
27 mFDQtclass(ODGraphicsScene)
28 
29 class ArrowStyle;
30 class Alignment;
31 class MarkerStyle2D;
32 
33 class uiPolygonItem;
34 class uiPolyLineItem;
35 class uiRectItem;
36 class uiObjectItem;
37 
39 {
40 public:
41  uiGraphicsScene(const char*);
43 
45  uiGraphicsItem* removeItem(uiGraphicsItem*);
50  template <class T> T* addItem(T*);
54  int nrItems() const;
55  uiGraphicsItem* getItem(int id);
56  const uiGraphicsItem* getItem(int id) const;
57  uiGraphicsItem* itemAt(const Geom::Point2D<float>&);
58  const uiGraphicsItem* itemAt(const Geom::Point2D<float>&) const;
59 
60  uiRectItem* addRect(float x,float y,float w,float h);
61 
64 
66  void setBackGroundColor(const Color&);
67  const Color backGroundColor() const;
68 
69  int getSelItemSize() const;
71  void setSelectionArea(const uiRect&);
72 
74  { return mousehandler_; }
75 
78  double width() const;
79  double height() const;
80 
81  void saveAsImage(const char*,int,int,int);
82  void saveAsPDF(const char*,int w,int h,int r);
83  void saveAsPS(const char*,int w,int h,int r);
84  void saveAsPDF_PS(const char*,bool pdf_or_ps,int w,
85  int h,int r);
86  void setSceneRect(float x,float y,float w,float h);
88 
89  bool isMouseEventActive() const
90  { return ismouseeventactive_; }
91  void setMouseEventActive( bool yn )
92  { ismouseeventactive_ = yn; }
93  mQtclass(QGraphicsScene*) qGraphicsScene()
94  {return (mQtclass(QGraphicsScene*))odgraphicsscene_;}
96 
97 
100 
101  void setPixelDensity(float);
102  float getPixelDensity() const {return pixeldensity_;}
103  static float getDefaultPixelDensity();
104 
106 
108 protected:
109 
111  ODGraphicsScene* odgraphicsscene_;
112 
116  friend class uiGraphicsItem;
117  uiGraphicsItem* doAddItem(uiGraphicsItem*);
118  int indexOf(int id) const;
119 
120  int queueid_;
122 };
123 
124 
125 template <class T>
126 inline T* uiGraphicsScene::addItem( T* itm )
127 {
128  return (T*) doAddItem( itm );
129 }
130 
131 
133 {
134 public:
135  uiGraphicsObjectScene(const char*);
136 
140  void setItemStretch(uiObjectItem*,int stretch);
142 
143  void setLayoutPos(const uiPoint&);
144  const uiPoint layoutPos() const;
145  const uiSize layoutSize() const;
146 
147 protected:
148 
150 
151  mQtclass(QGraphicsLinearLayout*) layout_;
152  mQtclass(QGraphicsWidget*) layoutitem_;
153 };
154 
155 
157 {
158 public:
161 
162  bool execute();
163 
164 protected:
167  uiGraphicsItem& itm_;
168  bool remove_;
169 };
170 
171 
uiGraphicsScene::getDefaultPixelDensity
static float getDefaultPixelDensity()
mouseevent.h
uiGraphicsScene::~uiGraphicsScene
~uiGraphicsScene()
uiGraphicsScene::addUpdateToQueue
void addUpdateToQueue(Task *)
uiGraphicsScene::backGroundColor
const Color backGroundColor() const
uiGraphicsScene::getItem
uiGraphicsItem * getItem(int id)
uiGraphicsScene::getSelectedArea
uiRect getSelectedArea() const
task.h
uiGraphicsScene::setPixelDensity
void setPixelDensity(float)
NamedCallBacker
CallBacker object with a name. Use if you want your object to be able to send and receive CallBack's,...
Definition: namedobj.h:72
uiGraphicsObjectScene::uiGraphicsObjectScene
uiGraphicsObjectScene(const char *)
uiGraphicsSceneChanger::remove_
bool remove_
Definition: uigraphicsscene.h:168
uiGraphicsScene::height
double height() const
uiGraphicsScene::getMouseEventHandler
MouseEventHandler & getMouseEventHandler()
Definition: uigraphicsscene.h:73
uiGraphicsScene::saveAsPDF
void saveAsPDF(const char *, int w, int h, int r)
uiGraphicsObjectScene::mQtclass
mQtclass(QGraphicsLinearLayout *) layout_
ObjectSet< uiGraphicsItem >
uiGraphicsScene::ctrlPPressed
Notifier< uiGraphicsScene > ctrlPPressed
Definition: uigraphicsscene.h:76
uiGraphicsScene::itemAt
const uiGraphicsItem * itemAt(const Geom::Point2D< float > &) const
uiGraphicsScene::saveAsPDF_PS
void saveAsPDF_PS(const char *, bool pdf_or_ps, int w, int h, int r)
uiGraphicsScene::useBackgroundPattern
void useBackgroundPattern(bool)
uiGraphicsScene::ctrlCPressed
Notifier< uiGraphicsScene > ctrlCPressed
Definition: uigraphicsscene.h:77
uiRect
Definition: uigeom.h:42
keyboardevent.h
uiGraphicsObjectScene::mQtclass
mQtclass(QGraphicsWidget *) layoutitem_
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
namedobj.h
uiPolyLineItem
Definition: uigraphicsitemimpl.h:214
uiGraphicsSceneChanger::uiGraphicsSceneChanger
uiGraphicsSceneChanger(uiGraphicsScene &, uiGraphicsItem &, bool remove)
uiGraphicsObjectScene::setItemStretch
void setItemStretch(uiObjectItem *, int stretch)
uiGraphicsObjectScene::stretchFactor
int stretchFactor(uiObjectItem *) const
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
uiGraphicsObjectScene::layoutPos
const uiPoint layoutPos() const
uiGraphicsScene::uiGraphicsScene
uiGraphicsScene(const char *)
uiGraphicsScene::copyToClipBoard
void copyToClipBoard()
uiGraphicsScene::getSelItemSize
int getSelItemSize() const
uiGraphicsSceneChanger
Definition: uigraphicsscene.h:157
uiGraphicsScene::getPixelDensity
float getPixelDensity() const
Definition: uigraphicsscene.h:102
uiGraphicsScene::pixeldensity_
float pixeldensity_
Definition: uigraphicsscene.h:121
uiGraphicsScene::removeAllItems
void removeAllItems()
uiGraphicsSceneChanger::group_
uiGraphicsItemGroup * group_
Definition: uigraphicsscene.h:166
uiGraphicsScene::removeItem
uiGraphicsItem * removeItem(uiGraphicsItem *)
uiGraphicsScene::items_
ObjectSet< uiGraphicsItem > items_
Definition: uigraphicsscene.h:110
uiGraphicsItemSet
Definition: uigraphicsitem.h:152
uiGraphicsScene::setMouseEventActive
void setMouseEventActive(bool yn)
Definition: uigraphicsscene.h:91
uiGraphicsScene::width
double width() const
File::remove
bool remove(const char *)
uiGraphicsScene::addPolyLine
uiPolyLineItem * addPolyLine(const TypeSet< uiPoint > &)
Task
Generalization of something (e.g. a computation) that needs to be done in multiple steps.
Definition: task.h:28
uiGraphicsScene::mousehandler_
MouseEventHandler mousehandler_
Definition: uigraphicsscene.h:114
mClass
#define mClass(module)
Definition: commondefs.h:181
uiGraphicsScene::saveAsImage
void saveAsImage(const char *, int, int, int)
uigraphicsitem.h
ArrowStyle
Definition: draw.h:184
uiObjectItem
Definition: uigraphicsitemimpl.h:52
uiGraphicsScene::addItems
uiGraphicsItemSet * addItems(uiGraphicsItemSet *)
uiPolygonItem
Definition: uigraphicsitemimpl.h:192
Notifier< uiGraphicsScene >
uiGraphicsSceneChanger::execute
bool execute()
uiGraphicsScene::addPolygon
uiPolygonItem * addPolygon(const TypeSet< uiPoint > &, bool fill)
uiGraphicsScene::setBackGroundColor
void setBackGroundColor(const Color &)
uiGraphicsSceneChanger::scene_
uiGraphicsScene * scene_
Definition: uigraphicsscene.h:165
uiGraphicsScene::addItemGrp
uiGraphicsItemGroup * addItemGrp(uiGraphicsItemGroup *)
uiSize
Definition: uigeom.h:25
uiGraphicsScene::mQtclass
mQtclass(QGraphicsScene *) qGraphicsScene()
Definition: uigraphicsscene.h:93
uiGraphicsScene::pixelDensityChange
Notifier< uiGraphicsScene > pixelDensityChange
Definition: uigraphicsscene.h:105
uiGraphicsScene::nrItems
int nrItems() const
uiGraphicsScene::queueid_
int queueid_
Definition: uigraphicsscene.h:120
uiGraphicsScene::itemAt
uiGraphicsItem * itemAt(const Geom::Point2D< float > &)
uiGraphicsScene::setSceneRect
void setSceneRect(float x, float y, float w, float h)
MarkerStyle2D
Definition: draw.h:60
uiGraphicsScene::sceneRect
uiRect sceneRect()
uiGraphicsSceneChanger::itm_
uiGraphicsItem & itm_
Definition: uigraphicsscene.h:167
MouseEventHandler
Definition: mouseevent.h:189
uiGraphicsScene::addRect
uiRectItem * addRect(float x, float y, float w, float h)
uiGraphicsScene::removeItems
uiGraphicsItemSet * removeItems(uiGraphicsItemSet *)
uiRectItem
Definition: uigraphicsitemimpl.h:255
bufstringset.h
uiGraphicsObjectScene::layoutSize
const uiSize layoutSize() const
mQtclass
#define mQtclass(cls)
Definition: commondefs.h:234
Geom::Point2D< float >
uiGraphicsSceneChanger::uiGraphicsSceneChanger
uiGraphicsSceneChanger(uiGraphicsItemGroup &, uiGraphicsItem &, bool remove)
uiGraphicsScene::odgraphicsscene_
ODGraphicsScene * odgraphicsscene_
Definition: uigraphicsscene.h:111
uiGraphicsScene::addItem
T * addItem(T *)
Item becomes mine.
Definition: uigraphicsscene.h:126
uiGraphicsScene::ismouseeventactive_
bool ismouseeventactive_
Definition: uigraphicsscene.h:115
uiGraphicsScene::isMouseEventActive
bool isMouseEventActive() const
Definition: uigraphicsscene.h:89
uiGraphicsScene::CtrlCPressedCB
void CtrlCPressedCB(CallBacker *)
uiGraphicsScene::doAddItem
uiGraphicsItem * doAddItem(uiGraphicsItem *)
uiGraphicsScene
Definition: uigraphicsscene.h:39
color.h
uiGraphicsObjectScene::removeObjectItem
void removeObjectItem(uiObjectItem *)
uiGraphicsScene::setSelectionArea
void setSelectionArea(const uiRect &)
uiGraphicsScene::saveAsPS
void saveAsPS(const char *, int w, int h, int r)
uiGraphicsScene::getItem
const uiGraphicsItem * getItem(int id) const
uiGraphicsObjectScene::addObjectItem
void addObjectItem(uiObjectItem *)
uiGraphicsItemGroup
Definition: uigraphicsitem.h:165
uiGraphicsScene::indexOf
int indexOf(int id) const
uiGraphicsScene::translateText
void translateText()
Color
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer,...
Definition: color.h:26
uiGraphicsObjectScene::resizeLayoutToContent
void resizeLayoutToContent()
uiGraphicsObjectScene::insertObjectItem
void insertObjectItem(int, uiObjectItem *)
Alignment
Definition: draw.h:21
uiGraphicsScene::executePendingUpdates
bool executePendingUpdates()
uiGraphicsObjectScene::setLayoutPos
void setLayoutPos(const uiPoint &)
uiGraphicsObjectScene
Definition: uigraphicsscene.h:133
mFDQtclass
mFDQtclass(QGraphicsScene) mFDQtclass(QGraphicsLinearLayout) mFDQtclass(QGraphicsWidget) mFDQtclass(ODGraphicsScene) class ArrowStyle
TypeSet
Sets of (small) copyable elements.
Definition: commontypes.h:29

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2021