diff --git a/code/TabRunner.cpp b/code/TabRunner.cpp index 0919d77..776ba3b 100644 --- a/code/TabRunner.cpp +++ b/code/TabRunner.cpp @@ -53,7 +53,7 @@ #include "RunnerDB.h" int SportIdentCB(gdioutput *gdi, GuiEventType type, BaseInfo *data); -shared_ptr TabRunner::rankFormatter; +//shared_ptr TabRunner::rankFormatter; TabRunner::TabRunner(oEvent *poe):TabBase(poe) { clearCompetitionData(); @@ -111,7 +111,8 @@ void TabRunner::enableControlButtons(gdioutput &gdi, bool enable, bool vacant) } void TabRunner::selectRunner(gdioutput &gdi, pRunner r) { - if (gdioutput* gdi_comments = getExtraWindow("comments", false); gdi_comments) + gdioutput* gdi_comments = getExtraWindow("comments", false); + if ( gdi_comments) gdi_comments->closeWindow(); if (!r) { @@ -1426,10 +1427,12 @@ int TabRunner::runnerCB(gdioutput &gdi, GuiEventType type, BaseInfo* data) { } } else if (type==GUI_CLEAR) { - if (gdioutput* gdi_settings = getExtraWindow("ecosettings", false); gdi_settings) + gdioutput* gdi_settings = getExtraWindow("ecosettings", false); + if ( gdi_settings) gdi_settings->closeWindow(); - - if (gdioutput* gdi_settings = getExtraWindow("comments", false); gdi_settings) + + /*gdioutput**/ gdi_settings = getExtraWindow("comments", false); + if ( gdi_settings) gdi_settings->closeWindow(); if (runnerId>0 && currentMode == 0) @@ -3261,20 +3264,26 @@ int TabRunner::addExtraFields(const oEvent &oe, gdioutput& gdi, oEvent::ExtraFie newLine(); } - if (auto res = extraFields.find(oEvent::ExtraFields::DataA); res != extraFields.end()) { - addLabel(L"#" + ensureEndingColon(res->second)); - gdi.addInput("DataA", L"", 8); - colCount++; - newLine(); + { + auto res = extraFields.find(oEvent::ExtraFields::DataA); + if (res != extraFields.end()) { + addLabel(L"#" + ensureEndingColon(res->second)); + gdi.addInput("DataA", L"", 8); + colCount++; + newLine(); + } } - if (auto res = extraFields.find(oEvent::ExtraFields::DataB); res != extraFields.end()) { - addLabel(L"#" + ensureEndingColon(res->second)); - gdi.addInput("DataB", L"", 8, nullptr); - colCount++; - newLine(); + { + auto res = extraFields.find(oEvent::ExtraFields::DataB); + if ( res != extraFields.end()) { + addLabel(L"#" + ensureEndingColon(res->second)); + gdi.addInput("DataB", L"", 8, nullptr); + colCount++; + newLine(); + } } - + if (extraFields.count(oEvent::ExtraFields::Nationality)) { addLabel(L"Nationalitet:"); gdi.addInput("Nationality", L"", 8); @@ -3289,15 +3298,19 @@ int TabRunner::addExtraFields(const oEvent &oe, gdioutput& gdi, oEvent::ExtraFie newLine(); } - if (auto res = extraFields.find(oEvent::ExtraFields::TextA); res != extraFields.end()) { - if (colCount > 0) - colCount++; - newLine(); + { + auto res = extraFields.find(oEvent::ExtraFields::TextA); + if (res != extraFields.end()) { + if (colCount > 0) + colCount++; - addLabel(L"#" + ensureEndingColon(res->second)); - gdi.addInput("TextA", L"", 20); - colCount = 2; + newLine(); + + addLabel(L"#" + ensureEndingColon(res->second)); + gdi.addInput("TextA", L"", 20); + colCount = 2; + } } if (colCount > 0) @@ -3329,12 +3342,12 @@ void TabRunner::loadExtraFields(gdioutput& gdi, const oBase* r) { if (gdi.hasWidget("Phone")) gdi.setText("Phone", r ? r->getDCI().getString("Phone") : L""); - if (gdi.hasWidget("Rank")) { - wstring out; - if (r) - out = rankFormatter->formatData(r); - gdi.setText("Rank", out); - } + //if (gdi.hasWidget("Rank")) { + // wstring out; + // if (r) + // out = rankFormatter->formatData(r); + // gdi.setText("Rank", out); + //} } void TabRunner::saveExtraFields(gdioutput& gdi, oBase &r) { @@ -3361,10 +3374,10 @@ void TabRunner::saveExtraFields(gdioutput& gdi, oBase &r) { if (gdi.hasWidget("Phone")) di.setString("Phone", gdi.getText("Phone")); - if (gdi.hasWidget("Rank")) { - wstring out; - rankFormatter->setData(&r, gdi.getText("Rank"), out, 0); - } + //if (gdi.hasWidget("Rank")) { + // wstring out; + // rankFormatter->setData(&r, gdi.getText("Rank"), out, 0); + //} // di.setInt("Rank", gdi.getTextNo("Rank")); } @@ -3552,7 +3565,7 @@ void TabRunner::clearCompetitionData() { timeToFill = 0; ownWindow = false; listenToPunches = false; - rankFormatter = make_shared(); + //rankFormatter = make_shared(); } void TabRunner::autoGrowCourse(gdioutput &gdi) { diff --git a/code/TabRunner.h b/code/TabRunner.h index ecddb18..144073c 100644 --- a/code/TabRunner.h +++ b/code/TabRunner.h @@ -27,7 +27,7 @@ class Table; struct AutoCompleteRecord; -class RankScoreFormatter; +//class RankScoreFormatter; class TabRunner : public TabBase, AutoCompleteHandler @@ -88,7 +88,7 @@ private: bool savePunchTime(pRunner r, gdioutput &gdi); PrinterObject splitPrinter; - static shared_ptr rankFormatter; + //static shared_ptr rankFormatter; void showRunnerReport(gdioutput &gdi); diff --git a/code/oEvent.cpp b/code/oEvent.cpp index c50f13c..71d9e4a 100644 --- a/code/oEvent.cpp +++ b/code/oEvent.cpp @@ -263,7 +263,7 @@ oEvent::oEvent(gdioutput &gdi):oBase(0), gdibase(gdi) oRunnerData->addVariableCurrency("Taxable", "Skattad avgift"); oRunnerData->addVariableInt("BirthYear", oDataContainer::oISDateOrYear, "RunnerBirthDate"); oRunnerData->addVariableString("Bib", 8, "Nummerlapp").zeroSortPadding = 5; - oRunnerData->addVariableInt("Rank", oDataContainer::oIS32, "Ranking", make_shared()); + //oRunnerData->addVariableInt("Rank", oDataContainer::oIS32, "Ranking", make_shared()); oRunnerData->addVariableDate("EntryDate", "Anm. datum"); oRunnerData->addVariableInt("EntryTime", oDataContainer::oISTime, "Anm. tid", make_shared("EntryTime")); @@ -6801,13 +6801,16 @@ void oEvent::updateExtraFields(ExtraFieldContext context, const mapsecond.empty()) - w2 += L";" + res->second; - spOut.push_back(w2); - used.insert(cc.second); + else { + auto res = fields.find(cc.second); + if (res != fields.end()) { + // Update definition + wstring w2 = itow(encodeExtra(cc.first, cc.second)); + if (!res->second.empty()) + w2 += L";" + res->second; + spOut.push_back(w2); + used.insert(cc.second); + } } }