DbModel Pile   version 0.0.1
DbModel pile.
dbmodeltbl.h
1 /* ========================================================================= */
2 /* ------------------------------------------------------------------------- *//*
11 
12  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13  Please read COPYING and README files in root folder
14  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15 */
16 /* ------------------------------------------------------------------------- */
17 /* ========================================================================= */
18 #ifndef DBMODELTBL_H
19 #define DBMODELTBL_H
20 //
21 //
22 //
23 //
24 /* INCLUDES ------------------------------------------------------------ */
25 
26 #include <dbmodel/dbmodel-config.h>
27 #include <dbstruct/dbtaew.h>
28 #include <dbstruct/dbcolumn.h>
29 #include <assert.h>
30 
31 /* INCLUDES ============================================================ */
32 //
33 //
34 //
35 //
36 /* DEFINITIONS --------------------------------------------------------- */
37 
38 /* DEFINITIONS ========================================================= */
39 //
40 //
41 //
42 //
43 /* CLASS --------------------------------------------------------------- */
44 
46 class DBMODEL_EXPORT DbModelTbl
47 {
48  //
49  //
50  //
51  //
52  /* DEFINITIONS ----------------------------------------------------- */
53 
54  /* DEFINITIONS ===================================================== */
55  //
56  //
57  //
58  //
59  /* DATA ------------------------------------------------------------ */
60 
61  DbTaew * meta_;
62  QList<DbColumn> columns_;
63  QSqlTableModel * model_;
65  /* DATA ============================================================ */
66  //
67  //
68  //
69  //
70  /* FUNCTIONS ------------------------------------------------------- */
71 
72 public:
73 
76 
78  DbModelTbl (
79  DbTaew * meta_part,
80  QSqlTableModel * model_part);
81 
84 
86  bool
87  isValid () const {
88  return model_ != NULL;
89  }
90 
92  DbTaew * metadata () const {
93  return meta_; }
94 
96  void setMetadata (DbTaew * value) {
97  meta_ = value;
98  constructColumns ();
99  }
100 
102  QSqlTableModel * sqlModel () const {
103  return model_; }
104 
106  void setSqlModel (QSqlTableModel * value) {
107  model_ = value;
108  }
109 
111  const DbColumn & column (int colidx) const {
112  assert((colidx >= 0) && (colidx < columns_.count()));
113  return columns_.at (colidx);
114  }
115 
117  const QString & columnLabel (int colidx) const {
118  assert((colidx >= 0) && (colidx < columns_.count()));
119  return columns_.at (colidx).col_label_;
120  }
121 
123  bool
124  setColumnCallback (
125  int column_index,
126  DbColumn::Callback value);
127 
129  DbColumn::Callback
130  columnCallback (
131  int column_index) const;
132 
134  QString tableName () const {
135  if (meta_ == NULL) return QString ();
136  return meta_->tableName();
137  }
138 
140  int
141  rowCount () const;
142 
144  QVariant
145  data (
146  int row,
147  int column,
148  int role = Qt::DisplayRole) const;
149 
151  int
152  toRealIndex (
153  int value) const;
154 
156  void
157  destroy ();
158 
159 private:
160 
162  void
163  constructColumns ();
164 
165  /* FUNCTIONS ======================================================= */
166  //
167  //
168  //
169  //
170 }; /* class DbModelTbl */
171 
172 /* CLASS =============================================================== */
173 //
174 //
175 //
176 //
177 
178 
179 #endif // DBMODELTBL_H
180 /* ------------------------------------------------------------------------- */
181 /* ========================================================================= */
182 
183 
QSqlTableModel * sqlModel() const
The undelying model.
Definition: dbmodeltbl.h:102
const DbColumn & column(int colidx) const
Get the column for a particular index.
Definition: dbmodeltbl.h:111
QString tableName() const
Get the column for a particular index.
Definition: dbmodeltbl.h:134
DbModelTbl()
Constructor.
Definition: dbmodeltbl.h:75
void setMetadata(DbTaew *value)
Set metadata about main table or view.
Definition: dbmodeltbl.h:96
DbTaew * metadata() const
Metadata about main table or view.
Definition: dbmodeltbl.h:92
const QString & columnLabel(int colidx) const
Get the column for a particular index.
Definition: dbmodeltbl.h:117
file dbmodeltbl.h date November 2015 author Nicu Tofan
Definition: dbmodeltbl.h:46
~DbModelTbl()
destructor
Definition: dbmodeltbl.h:83
void setSqlModel(QSqlTableModel *value)
Set the undelying model.
Definition: dbmodeltbl.h:106
bool isValid() const
Tell if this instance is valid (found in database).
Definition: dbmodeltbl.h:87