Mercurial > hg > svcore
comparison data/model/DenseThreeDimensionalModel.h @ 1171:fa1bec83441e
Fix display of 3d model data in data editor, by adding start frame offset (formerly ignored)
author | Chris Cannam |
---|---|
date | Fri, 04 Mar 2016 09:50:09 +0000 |
parents | cc27f35aa75c |
children | abb78e824820 |
comparison
equal
deleted
inserted
replaced
1158:d9c766274c8b | 1171:fa1bec83441e |
---|---|
151 | 151 |
152 virtual QVariant getData(int row, int column, int) const | 152 virtual QVariant getData(int row, int column, int) const |
153 { | 153 { |
154 switch (column) { | 154 switch (column) { |
155 case 0: { | 155 case 0: { |
156 RealTime rt = RealTime::frame2RealTime(row * getResolution(), | 156 RealTime rt = RealTime::frame2RealTime |
157 getSampleRate()); | 157 (row * getResolution() + getStartFrame(), getSampleRate()); |
158 return rt.toText().c_str(); | 158 return rt.toText().c_str(); |
159 } | 159 } |
160 case 1: | 160 case 1: |
161 return int(row * getResolution()); | 161 return int(row * getResolution() + getStartFrame()); |
162 default: | 162 default: |
163 return getValueAt(row, column - 2); | 163 return getValueAt(row, column - 2); |
164 } | 164 } |
165 } | 165 } |
166 | 166 |
170 virtual SortType getSortType(int) const { | 170 virtual SortType getSortType(int) const { |
171 return SortNumeric; | 171 return SortNumeric; |
172 } | 172 } |
173 | 173 |
174 virtual sv_frame_t getFrameForRow(int row) const { | 174 virtual sv_frame_t getFrameForRow(int row) const { |
175 return sv_frame_t(row) * getResolution(); | 175 return sv_frame_t(row) * getResolution() + getStartFrame(); |
176 } | 176 } |
177 virtual int getRowForFrame(sv_frame_t frame) const { | 177 virtual int getRowForFrame(sv_frame_t frame) const { |
178 return int(frame / getResolution()); | 178 return int((frame - getStartFrame()) / getResolution()); |
179 } | 179 } |
180 | 180 |
181 protected: | 181 protected: |
182 DenseThreeDimensionalModel() { } | 182 DenseThreeDimensionalModel() { } |
183 }; | 183 }; |