OpendTect  6.3
uiattribfactory.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: September 2006
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uiattributesmod.h"
14 #include "bufstringset.h"
15 
16 class uiAttrDescEd;
17 class uiParent;
18 
22 typedef uiAttrDescEd* (*uiAttrDescEdCreateFunc)(uiParent*,bool);
23 
25 {
26 public:
27  virtual ~uiAttributeFactory();
28 
29  int add(const char* displaynm,const char* attrnm,
30  const char* grpnm,uiAttrDescEdCreateFunc,
31  int,int,bool);
32  uiAttrDescEd* create(uiParent*,const char* nm, bool,
33  bool dispnm=true) const;
34 
35  int size() const { return entries_.size(); }
36  const char* getAttribName( int idx ) const
37  { return entries_[idx]->attrnm_; }
38  const char* getDisplayName( int idx ) const
39  { return entries_[idx]->dispnm_; }
40  const char* getGroupName( int idx ) const
41  { return entries_[idx]->grpnm_; }
42  int domainType( int idx ) const
43  { return entries_[idx]->domtyp_; }
46  int dimensionType( int idx ) const
47  { return entries_[idx]->dimtyp_; }
50  bool isSyntheticSupported(int idx) const
51  { return entries_[idx]->supportsynthetic_; }
52 
53  const char* dispNameOf(const char*) const;
54  const char* attrNameOf(const char*) const;
55  bool isPresent(const char*,bool dispnm) const;
56 
57 protected:
58 
59  struct Entry
60  {
61  Entry( const char* dn, const char* an,
62  const char* gn,
64  int dt, int dimtyp, bool supsynth )
65  : dispnm_(dn)
66  , attrnm_(an)
67  , grpnm_(gn)
68  , domtyp_(dt)
69  , dimtyp_(dimtyp)
70  , supportsynthetic_(supsynth)
71  , crfn_(fn) {}
72 
76  int domtyp_;
77  int dimtyp_;
80  };
81 
83 
84  Entry* getEntry(const char*,bool) const;
85 
86  friend mGlobal(uiAttributes) uiAttributeFactory& uiAF();
87  void fillStd();
88 };
89 
90 mGlobal(uiAttributes) uiAttributeFactory& uiAF();
#define mExpClass(module)
Definition: commondefs.h:157
int dimensionType(int idx) const
Definition: uiattribfactory.h:46
Definition: uiattribfactory.h:24
#define mGlobal(module)
Definition: commondefs.h:160
const char * getGroupName(int idx) const
Definition: uiattribfactory.h:40
Attribute description editor.
Definition: uiattrdesced.h:80
Entry(const char *dn, const char *an, const char *gn, uiAttrDescEdCreateFunc fn, int dt, int dimtyp, bool supsynth)
Definition: uiattribfactory.h:61
int size() const
Definition: uiattribfactory.h:35
Definition: uiparent.h:24
BufferString attrnm_
Definition: uiattribfactory.h:74
bool isSyntheticSupported(int idx) const
Definition: uiattribfactory.h:50
uiAttrDescEdCreateFunc crfn_
Definition: uiattribfactory.h:79
BufferString grpnm_
Definition: uiattribfactory.h:75
const char * getAttribName(int idx) const
Definition: uiattribfactory.h:36
BufferString dispnm_
Definition: uiattribfactory.h:73
Definition: uiattribfactory.h:59
bool supportsynthetic_
Definition: uiattribfactory.h:78
uiAttributeFactory & uiAF()
int domtyp_
Definition: uiattribfactory.h:76
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
const char * getDisplayName(int idx) const
Definition: uiattribfactory.h:38
static uiHor3DInterpol * create(uiParent *)
int domainType(int idx) const
Definition: uiattribfactory.h:42
ObjectSet< Entry > entries_
Definition: uiattribfactory.h:82
uiAttrDescEd *(* uiAttrDescEdCreateFunc)(uiParent *, bool)
Factory for attrib editors.
Definition: uiattribfactory.h:22
int dimtyp_
Definition: uiattribfactory.h:77

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