OpendTect  6.3
uiioobjmanip.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: A.H. Bril
8  Date: May 2003
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uiiocommon.h"
14 #include "uibuttongroup.h"
15 #include "dbkey.h"
16 
17 class IOObj;
18 class IOStream;
19 class Translator;
20 class uiToolButton;
21 class BufferStringSet;
22 
23 
26 public:
28  : uiButtonGroup(p,"ManipButtons",OD::Vertical)
29  { altbutdata.allowNull(); }
31  { deepErase(butdata); deepErase(altbutdata); }
32 
33  enum Type { FileLocation, Rename, Remove, ReadOnly };
34 
35  uiToolButton* addButton(Type,const uiString& ttip,const CallBack&);
36  uiToolButton* addButton(const char* iconfnm,const uiString& ttip,
37  const CallBack&);
38  void setAlternative(uiToolButton*,const char* icfnm,
39  const uiString& ttip);
40  void useAlternative(uiToolButton*,bool);
41 
42 protected:
43 
44  mStruct(uiIo) ButData
45  {
46  ButData(uiToolButton*,const char*,const uiString&);
47  uiToolButton* but;
48  BufferString pmnm;
49  uiString tt;
50  };
51 
54 };
55 
56 
57 class uiIOObjManipGroup;
58 
59 
62 public:
64  : obj_(o), grp_(0) {}
65 
66  virtual DBKey currentID() const = 0;
67  virtual void getChosenIDs(DBKeySet&) const = 0;
68  virtual void getChosenNames(BufferStringSet&) const = 0;
69  virtual const char* defExt() const = 0;
70  virtual const BufferStringSet& names() const = 0;
71 
72  virtual void chgsOccurred() = 0;
73  virtual void relocStart(const char*) {}
74 
77 };
78 
79 
84 public:
86  bool havereloc,
87  bool haveremove=true);
89 
90  void selChg();
91 
93 
94 protected:
95 
97 
102 
103 
104  void tbPush(CallBacker*);
105  void relocCB(CallBacker*);
106 
107  bool rmEntry(IOObj&);
109  bool renameEntry(IOObj&,Translator*);
110  bool relocEntry(IOObj&,Translator*);
111  bool readonlyEntry(IOObj&, Translator*,bool set2ro);
112 
114 
115 };
#define mExpClass(module)
Definition: commondefs.h:157
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
uiIOObjManipGroupSubj(uiObject *o)
Definition: uiioobjmanip.h:63
~uiManipButGrp()
Definition: uiioobjmanip.h:30
uiIOObjManipGroupSubj & subj_
Definition: uiioobjmanip.h:96
uiToolButton * rembut
Definition: uiioobjmanip.h:101
Definition: ioobj.h:57
Definition: iostrm.h:24
uiToolButton * robut
Definition: uiioobjmanip.h:99
uiIOObjManipGroup * grp_
Definition: uiioobjmanip.h:75
void relocCB(CallBacker *)
#define mStruct(module)
Definition: commondefs.h:162
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
uiToolButton * renbut
Definition: uiioobjmanip.h:100
virtual void relocStart(const char *)
Definition: uiioobjmanip.h:73
uiManipButGrp(uiParent *p)
Definition: uiioobjmanip.h:27
Definition: dbkey.h:98
bool rmEntry(IOObj &)
The base class for most UI elements.
Definition: uiobj.h:35
Definition: uistring.h:88
Definition: uiparent.h:24
Type
Definition: uiioobjmanip.h:33
Set of BufferString objects.
Definition: bufstringset.h:25
ObjectSet< ButData > altbutdata
Definition: uiioobjmanip.h:53
Definition: uiioobjmanip.h:60
bool readonlyEntry(IOObj &, Translator *, bool set2ro)
uiToolButton * locbut
Definition: uiioobjmanip.h:98
Buttongroup to manipulate an IODirEntryList.
Definition: uiioobjmanip.h:82
ObjectSet< ButData > butdata
Definition: uiioobjmanip.h:50
Definition: uiioobjmanip.h:24
uiObject * obj_
Definition: uiioobjmanip.h:76
bool renameEntry(IOObj &, Translator *)
Definition: oduicommon.h:24
bool doReloc(Translator *, IOStream &, IOStream &)
Definition: uibuttongroup.h:28
I/O Interpreter class for a certain object type.
Definition: transl.h:122
bool rmEntries(ObjectSet< IOObj > &)
void tbPush(CallBacker *)
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
Definition: uitoolbutton.h:20
OpendTect.
Definition: commontypes.h:25
Definition: oduicommon.h:73
uiIOObjManipGroup(uiIOObjManipGroupSubj &, bool havereloc, bool haveremove=true)
Full key to any object in the OpendTect data store.
Definition: dbkey.h:36
Definition: oduicommon.h:72
CallBacks object-oriented (object + method).
Definition: callback.h:62
void triggerButton(uiManipButGrp::Type)
bool relocEntry(IOObj &, Translator *)
void deepErase(ObjectSet< T > &os)
empty the ObjectSet deleting all objects pointed to.
Definition: objectset.h:122

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