OpendTect  6.3
uibuildlistfromlist.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: Bert
8  Date: June 2011
9 ________________________________________________________________________
10 
11 -*/
12 
13 
14 #include "uitoolsmod.h"
15 #include "uigroup.h"
16 #include "bufstringset.h"
17 
18 class uiListBox;
19 class uiToolButton;
20 
50 public:
51 
52  mExpClass(uiTools) Setup
53  {
54  public:
55  Setup(bool itemsmovable,const char* avitmtyp,
56  const char* defitmtyp);
57 
58  mDefSetupMemb(bool,movable);
59  mDefSetupMemb(bool,withio); // default: true
60  mDefSetupMemb(bool,withtitles); // default: false
61  mDefSetupMemb(bool,singleuse); // default: false
62  mDefSetupMemb(BufferString,avitemtype);
63  mDefSetupMemb(BufferString,defitemtype);
64  mDefSetupMemb(BufferString,avtitle); // titles
65  mDefSetupMemb(BufferString,deftitle);
66  mDefSetupMemb(uiString,addtt); // tooltips
67  mDefSetupMemb(uiString,edtt);
68  mDefSetupMemb(uiString,rmtt);
69 
70  };
71 
73  const char* grpnm=0);
74  bool haveUserChange() const { return usrchg_; }
75 
76 protected:
77 
79  bool usrchg_;
80 
88 
89  uiToolButton* lowestStdBut();
90  const char* curAvSel() const;
91  const char* curDefSel() const;
92  void setCurDefSel(const char*);
93 
94  virtual void editReq(bool isadd) = 0;
95  virtual void removeReq() = 0;
96  virtual const char* avFromDef(const char*) const = 0;
97  virtual bool ioReq( bool forsave ) { return false; }
98  virtual void itemSwitch(const char*,const char*) {}
99  virtual void defSelChg();
100 
101  void setAvailable(const BufferStringSet&);
102  void removeItem();
103  void removeAll();
104  void setItemName(const char*);
105  void addItem(const char*);
106  void handleSuccessfullEdit( bool isadd, const char* itmnm )
107  { isadd ? addItem( itmnm ) : setItemName( itmnm ); }
108 
109  void defSelCB( CallBacker* ) { defSelChg(); }
110  void addCB( CallBacker* ) { editReq( true ); }
111  void edCB( CallBacker* ) { editReq( false ); }
112  void rmCB( CallBacker* ) { removeReq(); }
113  void openCB(CallBacker*);
114  void saveCB(CallBacker*);
115  void moveCB(CallBacker*);
116 
117  void rmItm(int,bool);
118 
119 };
Definition: uigroup.h:53
#define mExpClass(module)
Definition: commondefs.h:157
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
void rmCB(CallBacker *)
Definition: uibuildlistfromlist.h:112
FixedString Setup()
Definition: keystrs.h:113
void defSelCB(CallBacker *)
Definition: uibuildlistfromlist.h:109
Base class for element allowing the building of lists of items from available 'ingredients'.
Definition: uibuildlistfromlist.h:48
uiToolButton * movedownbut_
Definition: uibuildlistfromlist.h:87
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
bool haveUserChange() const
Definition: uibuildlistfromlist.h:74
bool usrchg_
Definition: uibuildlistfromlist.h:79
void addCB(CallBacker *)
Definition: uibuildlistfromlist.h:110
Definition: uistring.h:88
Definition: uiparent.h:24
uiToolButton * rmbut_
Definition: uibuildlistfromlist.h:84
Set of BufferString objects.
Definition: bufstringset.h:25
uiToolButton * savebut_
Definition: uibuildlistfromlist.h:85
uiToolButton * edbut_
Definition: uibuildlistfromlist.h:83
List Box.
Definition: uilistbox.h:73
Definition: uibuildlistfromlist.h:52
void removeAll()
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:129
uiListBox * avfld_
Definition: uibuildlistfromlist.h:81
Setup setup_
Definition: uibuildlistfromlist.h:78
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
virtual bool ioReq(bool forsave)
Definition: uibuildlistfromlist.h:97
Definition: uitoolbutton.h:20
uiToolButton * moveupbut_
Definition: uibuildlistfromlist.h:86
void handleSuccessfullEdit(bool isadd, const char *itmnm)
Definition: uibuildlistfromlist.h:106
virtual void itemSwitch(const char *, const char *)
Definition: uibuildlistfromlist.h:98
uiListBox * deffld_
Definition: uibuildlistfromlist.h:82
void edCB(CallBacker *)
Definition: uibuildlistfromlist.h:111

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