1 // $Id: traitmodel_interface.h,v 1.5 2011/03/07 06:08:53 bobgian Exp $
2 
3 /*
4  *  Copyright 2002  Peter Beerli, Mary Kuhner, Jon Yamato and Joseph Felsenstein
5  *
6  *  This software is distributed free of charge for non-commercial use
7  *  and is copyrighted.  Of course, we do not guarantee that the software
8  *  works, and are not responsible for any damage you may cause or have.
9  *
10  */
11 
12 #ifndef TRAITMODEL_INTERFACE_H
13 #define TRAITMODEL_INTERFACE_H
14 
15 #include <string>
16 #include "setget.h"
17 #include "rangex.h"
18 
19 class UIVars;
20 
21 class uiTraitModelName : public GetString
22 {
23   public:
24     uiTraitModelName();
25     virtual ~uiTraitModelName();
26     virtual std::string Get(UIVars& vars, UIId id);
27 };
28 
29 class SetRangepair : public SetGetTemplate<rangepair>
30 {
31   public:
32     SetRangepair(const string& key);
33     virtual ~SetRangepair();
34     virtual rangepair Get(UIVars& vars, UIId id); //throws
35     virtual rangepair GetValFromString(UIVars& vars, string val);
36 };
37 
38 class uiAddRangeForTraitModel : public SetRangepair
39 {
40   public:
41     uiAddRangeForTraitModel();
42     virtual ~uiAddRangeForTraitModel();
43     virtual void Set(UIVars& vars, UIId id, rangepair val);
44 };
45 
46 class uiRemoveRangeForTraitModel : public SetRangepair
47 {
48   public:
49     uiRemoveRangeForTraitModel();
50     virtual ~uiRemoveRangeForTraitModel();
51     virtual void Set(UIVars& vars, UIId id, rangepair val);
52 };
53 
54 class uiSetTraitModelRangeToPoint : public SetGetLong
55 {
56   public:
57     uiSetTraitModelRangeToPoint();
58     virtual ~uiSetTraitModelRangeToPoint();
59     virtual void Set(UIVars& vars, UIId id, long val);
60     virtual long Get(UIVars& vars, UIId id); //throws!
61 };
62 
63 class uiValidMovingLoci : public GetUIIdVec1d
64 {
65   public:
66     uiValidMovingLoci();
67     virtual ~uiValidMovingLoci();
68     virtual UIIdVec1d Get(UIVars& vars, UIId id);
69 };
70 
71 class uiTraitModelFloat : public SetGetNoval
72 {
73   public:
74     uiTraitModelFloat();
75     virtual ~uiTraitModelFloat();
76     virtual void Set(UIVars& vars, UIId id, noval val);
77 };
78 
79 class uiTraitModelJump : public SetGetNoval
80 {
81   public:
82     uiTraitModelJump();
83     virtual ~uiTraitModelJump();
84     virtual void Set(UIVars& vars, UIId id, noval val);
85 };
86 
87 class uiTraitModelData : public SetGetNoval
88 {
89   public:
90     uiTraitModelData();
91     virtual ~uiTraitModelData();
92     virtual void Set(UIVars& vars, UIId id, noval val);
93 };
94 
95 class uiTraitModelPartition : public SetGetNoval
96 {
97   public:
98     uiTraitModelPartition();
99     virtual ~uiTraitModelPartition();
100     virtual void Set(UIVars& vars, UIId id, noval val);
101 };
102 
103 #endif  // DATAMODEL_INTERFACE_H
104 
105 //____________________________________________________________________________________
106