OpendTect  6.6
uiodannottreeitem.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 #include "uiodmainmod.h"
15 
16 #include "uioddisplaytreeitem.h"
17 #include "color.h"
18 #include "pickset.h"
19 
22 public:
25 
26  int sceneID() const;
27 
28 protected:
29  bool init();
30  const char* parentType() const;
31  virtual bool rightClick(uiTreeViewItem*);
32 };
33 
34 
37 public:
38  const char* name() const { return getName(); }
39  static const char* getName()
40  { return typeid(uiODAnnotTreeItemFactory).name();}
41  uiTreeItem* create() const { return new uiODAnnotParentTreeItem; }
43 };
44 
45 
48 public:
50 
51 protected:
53 
55  virtual const char* parentType() const;
56  virtual bool init();
58  virtual bool showSubMenu();
59  virtual int defScale() const { return -1; }
60 
61  virtual uiTreeItem* createSubItem(int,Pick::Set&) = 0;
62  virtual const char* managerName() const = 0;
63  virtual const char* oldSelKey() const = 0;
64 
65 
66 
68  void addPickSet(Pick::Set* ps);
70 
72 };
73 
74 
75 
78 public:
79  static bool doesNameExist(const char*);
80  static char createIOEntry(const char* nm,bool overwrite,
81  MultiID&,const char* mannm);
86  Pick::Set* getSet() { return set_; }
87 
88 protected:
89  uiODAnnotSubItem(Pick::Set&,int displayid=-1);
91  virtual ~uiODAnnotSubItem();
93  void removeStuff();
94  bool init();
95  virtual const char* parentType() const =0;
96  virtual void fillStoragePar(IOPar&) const {}
97 
98  virtual void clickCB(CallBacker*) {}
99  virtual void mouseMoveCB(CallBacker*) {}
100  virtual void rightclickCB(CallBacker*) {}
101 
102  virtual void createMenu(MenuHandler*,bool istb);
103  virtual void handleMenuCB(CallBacker*);
104 
105  virtual bool hasScale() const { return false; }
106  virtual void setScale(float);
109 
110  void store() const;
111  void storeAs( bool trywithoutdlg=false ) const;
112 
113  virtual const char* managerName() const = 0;
114 
115  float defscale_;
116 
121 };
122 
123 
126 public:
127  ScaleBarSubItem(Pick::Set&,int displayid=-1);
128  bool init();
129  static const char* sKeyManager() { return "ScaleBarAnnotations"; }
130 
131 protected:
132  ~ScaleBarSubItem() { removeStuff(); }
133 
134  const char* parentType() const;
135  void fillStoragePar(IOPar&) const;
136 
137  void createMenu(MenuHandler*,bool istb);
140 
141  const char* managerName() const { return sKeyManager();}
142 
144 
145 };
146 
149 public:
150 
151  ArrowSubItem(Pick::Set& pck,int displayid=-1);
152  bool init();
153 
154  static const char* sKeyManager() { return "ArrowAnnotations"; }
155 
156 protected:
157  ~ArrowSubItem() { removeStuff(); }
158  virtual const char* parentType() const;
159 
160  void fillStoragePar(IOPar&) const;
161  void createMenu(MenuHandler*,bool istb);
164 
167 
168  bool hasScale() const { return false; }
169  const char* managerName() const { return sKeyManager(); }
170 
171  static const char* sKeyArrowType() { return "Arrow Type"; }
172  static const char* sKeyLineWidth() { return "Line width"; }
173 
174 };
175 
176 
179 public:
180  ImageSubItem(Pick::Set&,int displayid=-1);
181  bool init();
182  static const char* sKeyManager() { return "ImageAnnotations"; }
183 
184 protected:
185  ~ImageSubItem() { removeStuff(); }
186  const char* parentType() const;
187  void fillStoragePar(IOPar&) const;
188 
189  void createMenu(MenuHandler*,bool istb);
191 
193 
194  void updateColumnText(int col);
195 
196  bool hasScale() const { return true; }
197  const char* managerName() const { return sKeyManager();}
198 
199  void selectFileName() const;
200 
202 };
203 
204 
205 #define mDefineParentItem(type,typestr,defsz,inm) \
206 class type##ParentItem : public uiODAnnotTreeItem \
207 { \
208 public: \
209  type##ParentItem() \
210  : uiODAnnotTreeItem(typestr)\
211  { \
212  mAttachCB( Pick::Mgr().setToBeRemoved, \
213  type##ParentItem::setRemovedCB ); \
214  } \
215 protected: \
216  uiTreeItem* createSubItem(int di,Pick::Set& pck) \
217  { return new type##SubItem(pck,di); } \
218  const char* managerName() const { return type##SubItem::sKeyManager(); } \
219  const char* oldSelKey() const { return typestr.getFullString().buf(); } \
220  int defScale() const { return defsz; } \
221  void setRemovedCB(CallBacker*); \
222  const char* iconName() const { return inm; } \
223 }; \
224 
225 
226 mDefineParentItem(Arrow,mToUiStringTodo("Arrows"),1000,"tree-arrows");
227 mDefineParentItem(Image,mToUiStringTodo("Image"),1000,"tree-image");
228 mDefineParentItem(ScaleBar,mToUiStringTodo("Scale Bar"),1000,"tree-scalebar");
229 
230 
uiODAnnotTreeItem::createSubItem
virtual uiTreeItem * createSubItem(int, Pick::Set &)=0
uiODAnnotSubItem::set_
Pick::Set * set_
Definition: uiodannottreeitem.h:120
ArrowSubItem::mODTextTranslationClass
mODTextTranslationClass(ArrowSubItem)
Pick::Set
Set of picks with something in common.
Definition: pickset.h:34
uiTreeItem
Definition: uitreeitemmanager.h:34
ScaleBarSubItem::propmnuitem_
MenuItem propmnuitem_
Definition: uiodannottreeitem.h:143
uiODAnnotSubItem::storeAs
void storeAs(bool trywithoutdlg=false) const
uiODAnnotSubItem::fillStoragePar
virtual void fillStoragePar(IOPar &) const
Definition: uiodannottreeitem.h:96
uiODAnnotSubItem::createMenu
virtual void createMenu(MenuHandler *, bool istb)
ImageSubItem::sKeyManager
static const char * sKeyManager()
Definition: uiodannottreeitem.h:182
uiODAnnotSubItem
Definition: uiodannottreeitem.h:77
uiODAnnotTreeItem::prepareForShutdown
void prepareForShutdown()
ArrowSubItem::sKeyArrowType
static const char * sKeyArrowType()
Definition: uiodannottreeitem.h:171
MenuHandler
Definition: menuhandler.h:187
ArrowSubItem::sKeyManager
static const char * sKeyManager()
Definition: uiodannottreeitem.h:154
uiODAnnotSubItem::setScale
virtual void setScale(float)
ScaleBarSubItem::handleMenuCB
void handleMenuCB(CallBacker *)
ImageSubItem::parentType
const char * parentType() const
uiODAnnotTreeItem::readPicks
bool readPicks(Pick::Set &)
uiODTreeItemFactory
Definition: uiodtreeitem.h:101
uiODAnnotTreeItem
Definition: uiodannottreeitem.h:47
uiODParentTreeItem
Definition: uiodtreeitem.h:81
uiODAnnotTreeItem::defScale
virtual int defScale() const
Definition: uiodannottreeitem.h:59
uioddisplaytreeitem.h
ImageSubItem::managerName
const char * managerName() const
Definition: uiodannottreeitem.h:197
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
ImageSubItem::createMenu
void createMenu(MenuHandler *, bool istb)
ScaleBarSubItem::managerName
const char * managerName() const
Definition: uiodannottreeitem.h:141
uiODAnnotTreeItemFactory::mODTextTranslationClass
mODTextTranslationClass(uiODAnnotTreeItemFactory) public
Definition: uiodannottreeitem.h:36
ArrowSubItem::createMenu
void createMenu(MenuHandler *, bool istb)
ArrowSubItem::ArrowSubItem
ArrowSubItem(Pick::Set &pck, int displayid=-1)
ScaleBarSubItem::fillStoragePar
void fillStoragePar(IOPar &) const
uiODAnnotTreeItem::removePickSet
void removePickSet(Pick::Set *ps)
uiODAnnotSubItem::managerName
virtual const char * managerName() const =0
MenuItem
Definition: menuhandler.h:76
uiODAnnotTreeItem::showSubMenu
virtual bool showSubMenu()
uiODAnnotTreeItemFactory::create
uiTreeItem * create() const
Definition: uiodannottreeitem.h:41
uiODAnnotSubItem::removeStuff
void removeStuff()
ImageSubItem
Definition: uiodannottreeitem.h:178
uiODAnnotParentTreeItem::parentType
const char * parentType() const
uiODAnnotTreeItemFactory::create
uiTreeItem * create(int, uiTreeItem *) const
uiODAnnotSubItem::uiODAnnotSubItem
uiODAnnotSubItem(Pick::Set &, int displayid=-1)
Pickset becomes mine, if it's not in the mgr.
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
ArrowSubItem::hasScale
bool hasScale() const
Definition: uiodannottreeitem.h:168
ArrowSubItem::arrowtype_
int arrowtype_
Definition: uiodannottreeitem.h:166
uiODAnnotTreeItem::parentType
virtual const char * parentType() const
mODTextTranslationClass
#define mODTextTranslationClass(clss)
Definition: uistring.h:40
uiODAnnotSubItem::clickCB
virtual void clickCB(CallBacker *)
Definition: uiodannottreeitem.h:98
ScaleBarSubItem::createMenu
void createMenu(MenuHandler *, bool istb)
uiODAnnotSubItem::store
void store() const
mDefineParentItem
#define mDefineParentItem(type, typestr, defsz, inm)
Definition: uiodannottreeitem.h:205
ArrowSubItem::handleMenuCB
void handleMenuCB(CallBacker *)
uiODAnnotSubItem::parentType
virtual const char * parentType() const =0
ArrowSubItem::init
bool init()
ScaleBarSubItem::~ScaleBarSubItem
~ScaleBarSubItem()
Definition: uiodannottreeitem.h:132
ScaleBarSubItem::mODTextTranslationClass
mODTextTranslationClass(ScaleBarSubItem)
uiODAnnotSubItem::defscale_
float defscale_
Definition: uiodannottreeitem.h:115
uiODAnnotSubItem::getSet
Pick::Set * getSet()
Definition: uiodannottreeitem.h:86
uiODAnnotSubItem::createIOEntry
static mODTextTranslationClass(uiODAnnotSubItem) public char createIOEntry(const char *nm, bool overwrite, MultiID &, const char *mannm)
ArrowSubItem::fillStoragePar
void fillStoragePar(IOPar &) const
uiODAnnotParentTreeItem::init
bool init()
ImageSubItem::selectFileName
void selectFileName() const
uiODAnnotTreeItem::oldSelKey
virtual const char * oldSelKey() const =0
uiODAnnotSubItem::prepareForShutdown
void prepareForShutdown()
uiODAnnotSubItem::storemnuitem_
MenuItem storemnuitem_
Definition: uiodannottreeitem.h:118
uiODAnnotTreeItem::uiODAnnotTreeItem
uiODAnnotTreeItem(const uiString &)
ScaleBarSubItem::parentType
const char * parentType() const
ScaleBarSubItem::ScaleBarSubItem
ScaleBarSubItem(Pick::Set &, int displayid=-1)
uiODAnnotParentTreeItem::rightClick
virtual bool rightClick(uiTreeViewItem *)
ScaleBarSubItem::sKeyManager
static const char * sKeyManager()
Definition: uiodannottreeitem.h:129
ArrowSubItem::parentType
virtual const char * parentType() const
uiODAnnotTreeItem::setRemovedCB
void setRemovedCB(CallBacker *)
ImageSubItem::hasScale
bool hasScale() const
Definition: uiodannottreeitem.h:196
ImageSubItem::filemnuitem_
MenuItem filemnuitem_
Definition: uiodannottreeitem.h:201
uiODDisplayTreeItem
Definition: uioddisplaytreeitem.h:24
ImageSubItem::handleMenuCB
void handleMenuCB(CallBacker *)
ArrowSubItem::sKeyLineWidth
static const char * sKeyLineWidth()
Definition: uiodannottreeitem.h:172
uiODAnnotSubItem::~uiODAnnotSubItem
virtual ~uiODAnnotSubItem()
ArrowSubItem::propertyChange
void propertyChange(CallBacker *)
uiODAnnotTreeItem::init
virtual bool init()
ArrowSubItem::managerName
const char * managerName() const
Definition: uiodannottreeitem.h:169
pickset.h
uiODMain
OpendTect application top level object.
Definition: uiodmain.h:42
uiODAnnotSubItem::rightclickCB
virtual void rightclickCB(CallBacker *)
Definition: uiodannottreeitem.h:100
MultiID
Compound key consisting of ints.
Definition: multiid.h:24
uiODAnnotSubItem::scaleChg
void scaleChg(CallBacker *)
ImageSubItem::init
mODTextTranslationClass(ImageSubItem) public bool init()
uiODAnnotSubItem::scalemnuitem_
MenuItem scalemnuitem_
Definition: uiodannottreeitem.h:117
uiODAnnotTreeItemFactory
Definition: uiodannottreeitem.h:36
ImageSubItem::retrieveFileName
void retrieveFileName(CallBacker *)
mToUiStringTodo
#define mToUiStringTodo(i)
Definition: uistring.h:366
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
ScaleBarSubItem::init
bool init()
uiODAnnotTreeItem::typestr_
uiString typestr_
Definition: uiodannottreeitem.h:71
ScaleBarSubItem::propertyChange
void propertyChange(CallBacker *)
ImageSubItem::fillStoragePar
void fillStoragePar(IOPar &) const
uiODAnnotSubItem::mouseMoveCB
virtual void mouseMoveCB(CallBacker *)
Definition: uiodannottreeitem.h:99
ArrowSubItem
Definition: uiodannottreeitem.h:148
ArrowSubItem::~ArrowSubItem
~ArrowSubItem()
Definition: uiodannottreeitem.h:157
uiODAnnotSubItem::storeasmnuitem_
MenuItem storeasmnuitem_
Definition: uiodannottreeitem.h:119
color.h
uiODAnnotSubItem::init
bool init()
uiODAnnotSubItem::hasScale
virtual bool hasScale() const
Definition: uiodannottreeitem.h:105
ImageSubItem::~ImageSubItem
~ImageSubItem()
Definition: uiodannottreeitem.h:185
uiODAnnotSubItem::setColor
void setColor(Color)
uiODAnnotParentTreeItem::sceneID
int sceneID() const
uiODAnnotSubItem::handleMenuCB
virtual void handleMenuCB(CallBacker *)
Color
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer,...
Definition: color.h:26
ImageSubItem::updateColumnText
void updateColumnText(int col)
uiODAnnotParentTreeItem::~uiODAnnotParentTreeItem
mODTextTranslationClass(uiODAnnotParentTreeItem) public ~uiODAnnotParentTreeItem()
ArrowSubItem::propmnuitem_
MenuItem propmnuitem_
Definition: uiodannottreeitem.h:165
uiODAnnotTreeItem::addPickSet
void addPickSet(Pick::Set *ps)
uiODAnnotTreeItem::managerName
virtual const char * managerName() const =0
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
uiODAnnotParentTreeItem
Definition: uiodannottreeitem.h:21
uiTreeViewItem
Definition: uitreeview.h:202
ScaleBarSubItem
Definition: uiodannottreeitem.h:125

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