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

Method updateInfo

gui/qt/vartablemodel.cpp:36–63  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

34}
35
36uint8_t VarTableModel::VarData::updateInfo(const calc_var_t &var) {
37 uint8_t changed = 0;
38 if (var.namelen != info.namelen ||
39 0 != memcmp(var.name, info.name, var.namelen)) {
40 changed |= (1 << VAR_NAME_COL);
41 }
42 if (var.archived != info.archived) {
43 changed |= (1 << VAR_LOCATION_COL);
44 }
45 if (var.type != info.type) {
46 changed |= (1 << VAR_TYPE_COL);
47 }
48 uint8_t *data = info.data;
49 if (var.size != info.size) {
50 changed |= (1 << VAR_TYPE_COL) | (1 << VAR_SIZE_COL) | (1 << VAR_PREVIEW_COL);
51 data = new uint8_t[var.size];
52 delete[] info.data;
53 } else if (0 != memcmp(var.data, data, var.size)) {
54 changed |= (1 << VAR_TYPE_COL) | (1 << VAR_PREVIEW_COL);
55 }
56 info = var;
57 info.data = data;
58 if (changed & (1 << VAR_PREVIEW_COL)) {
59 memcpy(info.data, var.data, var.size);
60 previewState = PreviewState::Outdated;
61 }
62 return changed;
63}
64
65void VarTableModel::VarData::updatePreview() {
66 previewState = PreviewState::Valid;

Callers 1

refreshMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected