MCPcopy Create free account
hub / github.com/CE-Programming/CEmu / data

Method data

gui/qt/vartablemodel.cpp:181–234  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

179}
180
181QVariant VarTableModel::data(const QModelIndex &index, int role) const {
182 if (!index.isValid()) {
183 return QVariant();
184 }
185 VarData &var = vars[index.row()];
186 if (index.column() == VAR_PREVIEW_COL && var.previewState == PreviewState::Outdated) {
187 var.updatePreview();
188 }
189 switch (role) {
190 case Qt::DisplayRole:
191 switch (index.column()) {
192 case VAR_NAME_COL:
193 return QString::fromUtf8(calc_var_name_to_utf8(var.info.name, var.info.namelen, var.info.named));
194 case VAR_LOCATION_COL:
195 return var.info.archived ? tr("Archive") : QStringLiteral("RAM");
196 case VAR_TYPE_COL:
197 {
198 // Do not translate - things rely on those names.
199 QString var_type_str = calc_var_type_names[var.info.type];
200 if (calc_var_is_asmprog(&var.info)) {
201 var_type_str += QStringLiteral(" (ASM)");
202 } else if (calc_var_is_python_appvar(&var.info)) {
203 var_type_str += QStringLiteral(" (Python)");
204 }
205 return var_type_str;
206 }
207 case VAR_SIZE_COL:
208 return var.info.size;
209 case VAR_PREVIEW_COL:
210 return var.preview;
211 default:
212 return QVariant();
213 };
214 case Qt::FontRole:
215 if (index.column() == VAR_PREVIEW_COL) {
216 return var.previewState == PreviewState::Invalid ? varPreviewItalicFont : varPreviewCEFont;
217 }
218 return QVariant();
219 case Qt::ForegroundRole:
220 if (index.column() == VAR_PREVIEW_COL && var.previewState == PreviewState::Invalid) {
221 return QBrush(Qt::gray);
222 }
223 return QVariant();
224 case Qt::CheckStateRole:
225 if (index.column() == VAR_NAME_COL) {
226 return var.checked ? Qt::Checked : Qt::Unchecked;
227 }
228 return QVariant();
229 case Qt::UserRole:
230 return QVariant::fromValue(var.info);
231 default:
232 return QVariant();
233 };
234}
235
236bool VarTableModel::setData(const QModelIndex &index, const QVariant &value, int role) {
237 if (index.isValid() && index.column() == VAR_NAME_COL && role == Qt::CheckStateRole) {

Callers 15

parse_stringMethod · 0.45
stateSaveInfoMethod · 0.45
filterAcceptsRowMethod · 0.45
flashSyncPressedMethod · 0.45
ramSyncPressedMethod · 0.45
memSyncEditMethod · 0.45
varPressedMethod · 0.45
varSaveSelectedMethod · 0.45
varSaveSelectedFilesMethod · 0.45
contextVarsMethod · 0.45
stateAddMethod · 0.45
stateEditMethod · 0.45

Calls 5

calc_var_name_to_utf8Function · 0.85
calc_var_is_asmprogFunction · 0.85
rowMethod · 0.80
updatePreviewMethod · 0.80

Tested by

no test coverage detected