OpendTect  6.6
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  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "uiiomod.h"
15 #include "uibuttongroup.h"
16 
17 class IOObj;
18 class IOStream;
19 class Translator;
20 class uiToolButton;
21 class IODirEntryList;
22 class BufferStringSet;
23 
24 
27 public:
29  : uiButtonGroup(p,"ManipButtons",OD::Vertical)
30  { altbutdata.allowNull(); }
32  { deepErase(butdata); deepErase(altbutdata); }
33 
34  enum Type { FileLocation, Rename, Remove, ReadOnly };
35 
37  uiToolButton* addButton(const char* iconfnm,const uiString& ttip,
38  const CallBack&);
39  void setAlternative(uiToolButton*,const char* icfnm,
40  const uiString& ttip);
42 
43 protected:
44 
45  mStruct(uiIo) ButData
46  {
47  ButData(uiToolButton*,const char*,const uiString&);
48  uiToolButton* but;
49  BufferString pmnm;
50  uiString tt;
51  };
52 
55 };
56 
57 
58 class uiIOObjManipGroup;
59 
60 
63 public:
65  : obj_(o), grp_(0) {}
66 
67  virtual MultiID currentID() const = 0;
68  virtual void getChosenIDs(TypeSet<MultiID>&) const = 0;
69  virtual void getChosenNames(BufferStringSet&) const = 0;
70  virtual const char* defExt() const = 0;
71  virtual const BufferStringSet& names() const = 0;
72 
73  virtual void chgsOccurred() = 0;
74  virtual void relocStart(const char*) {}
75 
78 };
79 
80 
85 public:
87  bool havereloc,
88  bool haveremove=true);
90 
91  void selChg();
92 
94 
95 protected:
96 
98 
103 
104 
107 
108  bool rmEntry(IOObj&);
112  bool readonlyEntry(IOObj&, Translator*,bool set2ro);
113 
115 
116 };
117 
118 
uiIOObjManipGroup::subj_
uiIOObjManipGroupSubj & subj_
Definition: uiioobjmanip.h:97
uiIOObjManipGroup::robut
uiToolButton * robut
Definition: uiioobjmanip.h:100
uiIOObjManipGroupSubj::chgsOccurred
virtual void chgsOccurred()=0
uiIOObjManipGroupSubj::names
virtual const BufferStringSet & names() const =0
uiIOObjManipGroup::selChg
void selChg()
uiIOObjManipGroup::triggerButton
void triggerButton(uiManipButGrp::Type)
uiIOObjManipGroup::rembut
uiToolButton * rembut
Definition: uiioobjmanip.h:102
ObjectSet< ButData >
uiIOObjManipGroup::relocEntry
bool relocEntry(IOObj &, Translator *)
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
uiIOObjManipGroupSubj::mODTextTranslationClass
mODTextTranslationClass(uiIOObjManipGroupSubj)
uiIOObjManipGroup::rmEntry
bool rmEntry(IOObj &)
OD
OpendTect.
Definition: commontypes.h:28
IODirEntryList
list of dir entries.
Definition: iodirentry.h:38
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
uiIOObjManipGroupSubj::relocStart
virtual void relocStart(const char *)
Definition: uiioobjmanip.h:74
uiIOObjManipGroupSubj
Definition: uiioobjmanip.h:62
uiIOObjManipGroup::relocCB
void relocCB(CallBacker *)
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
uiIOObjManipGroup::locbut
uiToolButton * locbut
Definition: uiioobjmanip.h:99
uiIOObjManipGroup::renbut
uiToolButton * renbut
Definition: uiioobjmanip.h:101
uiIOObjManipGroupSubj::defExt
virtual const char * defExt() const =0
uiManipButGrp::uiManipButGrp
uiManipButGrp(uiParent *p)
Definition: uiioobjmanip.h:28
uiIOObjManipGroup
Buttongroup to manipulate an IODirEntryList.
Definition: uiioobjmanip.h:84
uiManipButGrp::~uiManipButGrp
~uiManipButGrp()
Definition: uiioobjmanip.h:31
uiManipButGrp::useAlternative
void useAlternative(uiToolButton *, bool)
uiIOObjManipGroup::renameEntry
bool renameEntry(IOObj &, Translator *)
uiIOObjManipGroupSubj::uiIOObjManipGroupSubj
uiIOObjManipGroupSubj(uiObject *o)
Definition: uiioobjmanip.h:64
OD::Remove
@ Remove
Definition: oduicommon.h:92
uiManipButGrp
Definition: uiioobjmanip.h:26
uiManipButGrp::addButton
uiToolButton * addButton(const char *iconfnm, const uiString &ttip, const CallBack &)
uiManipButGrp::altbutdata
ObjectSet< ButData > altbutdata
Definition: uiioobjmanip.h:54
CallBack
CallBacks object-oriented (object + method).
Definition: callback.h:62
mStruct
#define mStruct(module)
Definition: commondefs.h:182
IOObj
Definition: ioobj.h:58
uiIOObjManipGroup::readonlyEntry
bool readonlyEntry(IOObj &, Translator *, bool set2ro)
uiManipButGrp::addButton
uiToolButton * addButton(Type, const uiString &ttip, const CallBack &)
uiIOObjManipGroup::mODTextTranslationClass
mODTextTranslationClass(uiIOObjManipGroup)
OD::Vertical
@ Vertical
Definition: oduicommon.h:25
IOStream
Definition: iostrm.h:26
MultiID
Compound key consisting of ints.
Definition: multiid.h:24
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
deepErase
void deepErase(BufferStringSet &)
uiIOObjManipGroupSubj::currentID
virtual MultiID currentID() const =0
uiIOObjManipGroup::rmEntries
bool rmEntries(ObjectSet< IOObj > &)
uiObject
The base class for most UI elements.
Definition: uiobj.h:38
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
uiManipButGrp::setAlternative
void setAlternative(uiToolButton *, const char *icfnm, const uiString &ttip)
uibuttongroup.h
uiIOObjManipGroupSubj::getChosenNames
virtual void getChosenNames(BufferStringSet &) const =0
uiIOObjManipGroup::doReloc
bool doReloc(Translator *, IOStream &, IOStream &)
uiIOObjManipGroup::~uiIOObjManipGroup
~uiIOObjManipGroup()
uiManipButGrp::Type
Type
Definition: uiioobjmanip.h:34
uiIOObjManipGroupSubj::obj_
uiObject * obj_
Definition: uiioobjmanip.h:77
Translator
I/O Interpreter class for a certain object type.
Definition: transl.h:123
uiManipButGrp::butdata
ObjectSet< ButData > butdata
Definition: uiioobjmanip.h:51
uiIOObjManipGroup::tbPush
void tbPush(CallBacker *)
OD::Rename
@ Rename
Definition: oduicommon.h:91
uiParent
Definition: uiparent.h:26
uiIOObjManipGroup::uiIOObjManipGroup
uiIOObjManipGroup(uiIOObjManipGroupSubj &, bool havereloc, bool haveremove=true)
uiManipButGrp::mODTextTranslationClass
mODTextTranslationClass(uiManipButGrp)
uiButtonGroup
Definition: uibuttongroup.h:30
uiIOObjManipGroupSubj::grp_
uiIOObjManipGroup * grp_
Definition: uiioobjmanip.h:76
uiIOObjManipGroupSubj::getChosenIDs
virtual void getChosenIDs(TypeSet< MultiID > &) const =0
uiToolButton
Definition: uitoolbutton.h:22
TypeSet< MultiID >

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