OpendTect  6.6
treeitem.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 2005
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 #include "uioddisplaytreeitem.h"
16 #include "color.h"
17 
18 namespace Pick { class Set; }
19 
20 namespace Annotations
21 {
22 
24 {
25 public:
28 
29  int sceneID() const;
30 
31 protected:
32  bool init();
33  const char* parentType() const;
34  virtual bool rightClick(uiTreeViewItem*);
35 };
36 
37 
39 {
40 public:
41  const char* name() const { return getName(); }
42  static const char* getName() { return typeid(TreeItemFactory).name();}
43  uiTreeItem* create() const { return new ParentTreeItem; }
45 };
46 
47 
49 {
51 public:
52  AnnotTreeItem(const char*);
54 
56 
57 protected:
59  virtual const char* parentType() const;
60  virtual bool init();
62  virtual bool showSubMenu();
63  virtual int defScale() const { return -1; }
64 
65  virtual uiTreeItem* createSubItem(int,Pick::Set&) = 0;
66  virtual const char* managerName() const = 0;
67  virtual const char* oldSelKey() const = 0;
68 
69 
70 
72  void addPickSet(Pick::Set* ps);
74 
76 };
77 
78 
79 
81 {
82 public:
83  static bool doesNameExist(const char*);
84  static char createIOEntry(const char* nm,bool overwrite,
85  MultiID&,const char* mannm);
90  Pick::Set* getSet() { return set_; }
91 
92 protected:
93  SubItem(Pick::Set&,int displayid=-1);
95  virtual ~SubItem();
97  void removeStuff();
98  bool init();
99  virtual const char* parentType() const =0;
100  virtual void fillStoragePar(IOPar&) const {}
101 
102  virtual void clickCB(CallBacker*) {}
103  virtual void mouseMoveCB(CallBacker*) {}
104  virtual void rightclickCB(CallBacker*) {}
105 
106  virtual void createMenu(MenuHandler*,bool istb);
107  virtual void handleMenuCB(CallBacker*);
108 
109  virtual bool hasScale() const { return false; }
110  virtual void setScale(float);
113 
114  void store() const;
115  void storeAs( bool trywithoutdlg=false ) const;
116 
117  virtual const char* managerName() const = 0;
118 
119  float defscale_;
120 
125 };
126 
127 
129 {
130 public:
131  TextSubItem(Pick::Set& pck,int displayid=-1);
132  bool init();
133  static const char* sKeyManager() { return "TextAnnotations"; }
134 
135 protected:
136  ~TextSubItem() { removeStuff(); }
137 
138  virtual const char* parentType() const;
139  virtual void pickAddedCB(CallBacker*);
140  const char* managerName() const { return sKeyManager(); }
141 
142  void createMenu(MenuHandler*,bool istb);
144 
146  bool& enab);
147  void fillStoragePar(IOPar&) const;
150 
151  static const char* sKeyBoxColor() { return "Box Color"; }
152 
153  bool hasScale() const { return true; }
154  void setScale(float);
155 
158 };
159 
160 
162 {
163 public:
164 
165  ArrowSubItem(Pick::Set& pck,int displayid=-1);
166  bool init();
167 
168  static const char* sKeyManager() { return "ArrowAnnotations"; }
169 
170 protected:
171  ~ArrowSubItem() { removeStuff(); }
172  virtual const char* parentType() const;
173 
174  void fillStoragePar(IOPar&) const;
175  void createMenu(MenuHandler*,bool istb);
178 
181 
182  bool hasScale() const { return false; }
183  const char* managerName() const { return sKeyManager(); }
184 
185  static const char* sKeyArrowType() { return "Arrow Type"; }
186  static const char* sKeyLineWidth() { return "Line width"; }
187 
188 };
189 
190 
192 {
193 public:
194  ImageSubItem(Pick::Set&,int displayid=-1);
195  bool init();
196  static const char* sKeyManager() { return "ImageAnnotations"; }
197 
198 protected:
199  ~ImageSubItem() { removeStuff(); }
200  const char* parentType() const;
201  void fillStoragePar(IOPar&) const;
202 
203  void createMenu(MenuHandler*,bool istb);
205 
207 
208  void updateColumnText(int col);
209 
210  bool hasScale() const { return true; }
211  const char* managerName() const { return sKeyManager();}
212 
213  void selectFileName() const;
214 
216 };
217 
218 
220 {
221 public:
222  ScaleBarSubItem(Pick::Set&,int displayid=-1);
223  bool init();
224  static const char* sKeyManager() { return "ScaleBarAnnotations"; }
225 
226 protected:
227  ~ScaleBarSubItem() { removeStuff(); }
228 
229  const char* parentType() const;
230  void fillStoragePar(IOPar&) const;
231 
232  void createMenu(MenuHandler*,bool istb);
235 
236  const char* managerName() const { return sKeyManager();}
237 
239 
240 };
241 
242 
243 #define mDefineParentItem(type,typestr,defsz) \
244 class type##ParentItem : public AnnotTreeItem \
245 { \
246 public: \
247  type##ParentItem() \
248  : AnnotTreeItem(typestr) {} \
249 protected: \
250  uiTreeItem* createSubItem(int di,Pick::Set& pck) \
251  { return new type##SubItem(pck,di); } \
252  const char* managerName() const { return type##SubItem::sKeyManager(); } \
253  const char* oldSelKey() const { return typestr; } \
254  int defScale() const { return defsz; } \
255 }
256 
258 mDefineParentItem(Arrow,"Arrows",1000);
259 mDefineParentItem(Image,"Image",1000);
260 mDefineParentItem(ScaleBar,"ScaleBar",1000);
261 
262 
263 }; // namespace Annotations
264 
Annotations::SubItem::parentType
virtual const char * parentType() const =0
Annotations::ArrowSubItem::createMenu
void createMenu(MenuHandler *, bool istb)
Annotations::SubItem::~SubItem
virtual ~SubItem()
Annotations::AnnotTreeItem::inheritedClass
uiODTreeItem inheritedClass
Definition: treeitem.h:50
Annotations::SubItem::storeAs
void storeAs(bool trywithoutdlg=false) const
Annotations::TextSubItem::handleMenuCB
void handleMenuCB(CallBacker *)
Annotations
Definition: treeitem.h:21
Annotations::ParentTreeItem::~ParentTreeItem
~ParentTreeItem()
Annotations::AnnotTreeItem::createSubItem
virtual uiTreeItem * createSubItem(int, Pick::Set &)=0
Pick::Set
Set of picks with something in common.
Definition: pickset.h:34
uiTreeItem
Definition: uitreeitemmanager.h:34
Annotations::SubItem::handleMenuCB
virtual void handleMenuCB(CallBacker *)
Annotations::ArrowSubItem::~ArrowSubItem
~ArrowSubItem()
Definition: treeitem.h:171
Annotations::SubItem::SubItem
SubItem(Pick::Set &, int displayid=-1)
Pickset becomes mine, if it's not in the mgr.
Annotations::TreeItemFactory::create
uiTreeItem * create(int, uiTreeItem *) const
Annotations::SubItem::defscale_
float defscale_
Definition: treeitem.h:119
Annotations::ScaleBarSubItem::handleMenuCB
void handleMenuCB(CallBacker *)
Annotations::ArrowSubItem::sKeyManager
static const char * sKeyManager()
Definition: treeitem.h:168
Annotations::SubItem::set_
Pick::Set * set_
Definition: treeitem.h:124
Annotations::TextSubItem::TextSubItem
TextSubItem(Pick::Set &pck, int displayid=-1)
Annotations::ScaleBarSubItem::init
bool init()
Annotations::SubItem::doesNameExist
static bool doesNameExist(const char *)
Annotations::TextSubItem::prevtxt_
BufferString prevtxt_
Definition: treeitem.h:148
Annotations::AnnotTreeItem::prepareForShutdown
void prepareForShutdown()
Annotations::ParentTreeItem
Definition: treeitem.h:24
Annotations::TextSubItem::createMenu
void createMenu(MenuHandler *, bool istb)
MenuHandler
Definition: menuhandler.h:187
Annotations::AnnotTreeItem::parentType
virtual const char * parentType() const
uiODTreeItemFactory
Definition: uiodtreeitem.h:101
Annotations::SubItem::mouseMoveCB
virtual void mouseMoveCB(CallBacker *)
Definition: treeitem.h:103
Annotations::SubItem::getSet
Pick::Set * getSet()
Definition: treeitem.h:90
uioddisplaytreeitem.h
Pick
Definition: picklocation.h:21
Annotations::AnnotTreeItem::readPicks
bool readPicks(Pick::Set &)
Annotations::TextSubItem::editText
bool editText(BufferString &str, BufferString &url, bool &enab)
MenuItem
Definition: menuhandler.h:76
Annotations::ScaleBarSubItem::fillStoragePar
void fillStoragePar(IOPar &) const
Annotations::TextSubItem::pickAddedCB
virtual void pickAddedCB(CallBacker *)
uiODTreeItem
Definition: uiodtreeitem.h:27
Annotations::Image
Definition: visannotimage.h:61
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
Annotations::AnnotTreeItem::managerName
virtual const char * managerName() const =0
Annotations::ArrowSubItem
Definition: treeitem.h:162
Annotations::ImageSubItem::fillStoragePar
void fillStoragePar(IOPar &) const
Annotations::TextSubItem::hasScale
bool hasScale() const
Definition: treeitem.h:153
Annotations::ParentTreeItem::rightClick
virtual bool rightClick(uiTreeViewItem *)
File::Text
@ Text
Definition: file.h:122
Annotations::ArrowSubItem::sKeyArrowType
static const char * sKeyArrowType()
Definition: treeitem.h:185
Annotations::ScaleBarSubItem::ScaleBarSubItem
ScaleBarSubItem(Pick::Set &, int displayid=-1)
Annotations::SubItem::setColor
void setColor(Color)
Annotations::SubItem::scaleChg
void scaleChg(CallBacker *)
Annotations::SubItem::removeStuff
void removeStuff()
Annotations::ImageSubItem::handleMenuCB
void handleMenuCB(CallBacker *)
Annotations::ImageSubItem::~ImageSubItem
~ImageSubItem()
Definition: treeitem.h:199
Annotations::ArrowSubItem::hasScale
bool hasScale() const
Definition: treeitem.h:182
Annotations::ScaleBar
ScaleBar base object.
Definition: plugins/Annotations/visscalebar.h:27
Annotations::ParentTreeItem::parentType
const char * parentType() const
Annotations::ImageSubItem::managerName
const char * managerName() const
Definition: treeitem.h:211
Annotations::TextSubItem::changecolormnuitem_
MenuItem changecolormnuitem_
Definition: treeitem.h:157
Annotations::ArrowSubItem::init
bool init()
Annotations::ParentTreeItem::ParentTreeItem
ParentTreeItem()
Annotations::ScaleBarSubItem::sKeyManager
static const char * sKeyManager()
Definition: treeitem.h:224
Annotations::ImageSubItem
Definition: treeitem.h:192
Annotations::ImageSubItem::sKeyManager
static const char * sKeyManager()
Definition: treeitem.h:196
Annotations::ArrowSubItem::managerName
const char * managerName() const
Definition: treeitem.h:183
Annotations::SubItem::setScale
virtual void setScale(float)
Annotations::SubItem::clickCB
virtual void clickCB(CallBacker *)
Definition: treeitem.h:102
mClass
#define mClass(module)
Definition: commondefs.h:181
Annotations::ArrowSubItem::parentType
virtual const char * parentType() const
Annotations::SubItem::store
void store() const
Annotations::ParentTreeItem::init
bool init()
Annotations::TextSubItem::parentType
virtual const char * parentType() const
Annotations::TreeItemFactory::getName
static const char * getName()
Definition: treeitem.h:42
Annotations::SubItem::prepareForShutdown
void prepareForShutdown()
Annotations::TreeItemFactory
Definition: treeitem.h:39
uiODDisplayTreeItem
Definition: uioddisplaytreeitem.h:24
Annotations::ArrowSubItem::handleMenuCB
void handleMenuCB(CallBacker *)
Annotations::ScaleBarSubItem::parentType
const char * parentType() const
Annotations::ArrowSubItem::propertyChange
void propertyChange(CallBacker *)
Annotations::ParentTreeItem::sceneID
int sceneID() const
Annotations::ImageSubItem::selectFileName
void selectFileName() const
Annotations::ArrowSubItem::fillStoragePar
void fillStoragePar(IOPar &) const
Annotations::ScaleBarSubItem::propertyChange
void propertyChange(CallBacker *)
Annotations::SubItem::createMenu
virtual void createMenu(MenuHandler *, bool istb)
Annotations::TextSubItem::setScale
void setScale(float)
Annotations::AnnotTreeItem::mMenuOnAnyButton
mMenuOnAnyButton
Definition: treeitem.h:55
MultiID
Compound key consisting of ints.
Definition: multiid.h:24
Annotations::ArrowSubItem::arrowtype_
int arrowtype_
Definition: treeitem.h:180
Annotations::AnnotTreeItem::oldSelKey
virtual const char * oldSelKey() const =0
Annotations::TextSubItem::boxcolor_
Color boxcolor_
Definition: treeitem.h:149
Annotations::SubItem::managerName
virtual const char * managerName() const =0
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
Annotations::ScaleBarSubItem::managerName
const char * managerName() const
Definition: treeitem.h:236
Annotations::AnnotTreeItem::typestr_
BufferString typestr_
Definition: treeitem.h:75
Annotations::AnnotTreeItem::showSubMenu
virtual bool showSubMenu()
Annotations::SubItem::createIOEntry
static char createIOEntry(const char *nm, bool overwrite, MultiID &, const char *mannm)
Annotations::AnnotTreeItem::setRemovedCB
void setRemovedCB(CallBacker *)
Annotations::AnnotTreeItem::removePickSet
void removePickSet(Pick::Set *ps)
Annotations::TreeItemFactory::create
uiTreeItem * create() const
Definition: treeitem.h:43
Annotations::SubItem
Definition: treeitem.h:81
Annotations::ImageSubItem::createMenu
void createMenu(MenuHandler *, bool istb)
Annotations::TextSubItem::~TextSubItem
~TextSubItem()
Definition: treeitem.h:136
Annotations::ScaleBarSubItem::~ScaleBarSubItem
~ScaleBarSubItem()
Definition: treeitem.h:227
Annotations::TreeItemFactory::name
const char * name() const
Definition: treeitem.h:41
Annotations::TextSubItem::managerName
const char * managerName() const
Definition: treeitem.h:140
Annotations::AnnotTreeItem
Definition: treeitem.h:49
Annotations::SubItem::fillStoragePar
virtual void fillStoragePar(IOPar &) const
Definition: treeitem.h:100
Annotations::ImageSubItem::retrieveFileName
void retrieveFileName(CallBacker *)
Annotations::ImageSubItem::init
bool init()
Annotations::ImageSubItem::hasScale
bool hasScale() const
Definition: treeitem.h:210
Annotations::SubItem::init
bool init()
color.h
Annotations::TextSubItem::init
bool init()
mDefineParentItem
#define mDefineParentItem(type, typestr, defsz)
Definition: treeitem.h:243
Annotations::TextSubItem
Definition: treeitem.h:129
Annotations::SubItem::rightclickCB
virtual void rightclickCB(CallBacker *)
Definition: treeitem.h:104
Annotations::ArrowSubItem::ArrowSubItem
ArrowSubItem(Pick::Set &pck, int displayid=-1)
Annotations::ArrowSubItem::propmnuitem_
MenuItem propmnuitem_
Definition: treeitem.h:179
Annotations::ImageSubItem::updateColumnText
void updateColumnText(int col)
Annotations::SubItem::hasScale
virtual bool hasScale() const
Definition: treeitem.h:109
Annotations::SubItem::storeasmnuitem_
MenuItem storeasmnuitem_
Definition: treeitem.h:123
Annotations::ArrowSubItem::sKeyLineWidth
static const char * sKeyLineWidth()
Definition: treeitem.h:186
Annotations::AnnotTreeItem::init
virtual bool init()
Annotations::ImageSubItem::filemnuitem_
MenuItem filemnuitem_
Definition: treeitem.h:215
Color
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer,...
Definition: color.h:26
Annotations::SubItem::scalemnuitem_
MenuItem scalemnuitem_
Definition: treeitem.h:121
Annotations::SubItem::storemnuitem_
MenuItem storemnuitem_
Definition: treeitem.h:122
Annotations::AnnotTreeItem::~AnnotTreeItem
~AnnotTreeItem()
Annotations::TextSubItem::changetextmnuitem_
MenuItem changetextmnuitem_
Definition: treeitem.h:156
Annotations::ScaleBarSubItem::propmnuitem_
MenuItem propmnuitem_
Definition: treeitem.h:238
Annotations::TextSubItem::fillStoragePar
void fillStoragePar(IOPar &) const
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
Annotations::TextSubItem::sKeyBoxColor
static const char * sKeyBoxColor()
Definition: treeitem.h:151
Annotations::ScaleBarSubItem
Definition: treeitem.h:220
Annotations::AnnotTreeItem::addPickSet
void addPickSet(Pick::Set *ps)
Annotations::ImageSubItem::ImageSubItem
ImageSubItem(Pick::Set &, int displayid=-1)
Annotations::AnnotTreeItem::AnnotTreeItem
AnnotTreeItem(const char *)
Annotations::ScaleBarSubItem::createMenu
void createMenu(MenuHandler *, bool istb)
Annotations::AnnotTreeItem::defScale
virtual int defScale() const
Definition: treeitem.h:63
uiTreeViewItem
Definition: uitreeview.h:202
Annotations::TextSubItem::sKeyManager
static const char * sKeyManager()
Definition: treeitem.h:133
Annotations::ImageSubItem::parentType
const char * parentType() const

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