MCPcopy Create free account
hub / github.com/NatLabRockies/SAM / SetData

Method SetData

src/widgets.cpp:2400–2475  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2398 }
2399
2400 void SetData(const std::vector<double> &data)
2401 {
2402 mData = data;
2403
2404 if (GridTable) GridTable->SetArray(NULL);
2405 Grid->SetTable(NULL);
2406
2407 GridTable = new AFDataLifetimeArrayTable(&mData, mMode, mColumnLabel);
2408 GridTable->SetAttrProvider(new wxExtGridCellAttrProvider);
2409
2410 Grid->SetTable(GridTable, true);
2411 Grid->SetColSize(0, (int)(130 * wxGetScreenHDScale()));
2412 Grid->Layout();
2413 Grid->Refresh();
2414
2415
2416
2417 // determine mode from data
2418 size_t dataSize = mData.size();
2419 if (dataSize < 1)
2420 {
2421 mData.push_back(0.0);
2422 dataSize = 1;
2423 }
2424 if (dataSize == 1)
2425 mMode = DATA_LIFETIME_ARRAY_SINGLEVALUE;
2426 else if (dataSize == (mAnalysisPeriod))
2427 mMode = DATA_LIFETIME_ARRAY_ANNUAL;
2428 else if (dataSize == (mAnalysisPeriod * 12))
2429 mMode = DATA_LIFETIME_ARRAY_MONTHLY;
2430 else if (dataSize == (mAnalysisPeriod * 52))
2431 mMode = DATA_LIFETIME_ARRAY_WEEKLY;
2432 else if (dataSize == (mAnalysisPeriod * 365))
2433 mMode = DATA_LIFETIME_ARRAY_DAILY;
2434 else if (dataSize == (mAnalysisPeriod * 8760))
2435 mMode = DATA_LIFETIME_ARRAY_HOURLY;
2436 else if (dataSize == (mAnalysisPeriod * 2920))
2437 mMode = DATA_LIFETIME_ARRAY_THREEHOURLY;
2438 else
2439 {
2440 mMode = DATA_LIFETIME_ARRAY_SUBHOURLY;
2441 size_t stepsPerHour = dataSize / (mAnalysisPeriod * 8760);
2442 switch (stepsPerHour)
2443 {
2444 case 2: // 30 minute
2445 Timesteps->SetSelection(5);
2446 break;
2447 case 3: // 20 minute
2448 Timesteps->SetSelection(4);
2449 break;
2450 case 4: // 15 minute
2451 Timesteps->SetSelection(3);
2452 break;
2453 case 6: // 10 minute
2454 Timesteps->SetSelection(2);
2455 break;
2456 case 12: // 5 minute
2457 Timesteps->SetSelection(1);

Callers

nothing calls this directly

Calls 4

sizeMethod · 0.80
SetSelectionMethod · 0.80
SetArrayMethod · 0.45
GetNumberColsMethod · 0.45

Tested by

no test coverage detected