Skip to content

Commit

Permalink
Merge branch 'hybrids' of https://github.com/NREL/SAM into hybrids
Browse files Browse the repository at this point in the history
  • Loading branch information
cpaulgilman committed Aug 22, 2023
2 parents 3d493e0 + 29fbd17 commit 77efd6c
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 6 deletions.
18 changes: 15 additions & 3 deletions src/casewin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ BEGIN_EVENT_TABLE( CaseWindow, wxSplitterWindow )
EVT_DATAVIEW_SELECTION_CHANGED(ID_TechTree, CaseWindow::OnTechTree)
EVT_DATAVIEW_ITEM_START_EDITING(ID_TechTree, CaseWindow::OnTreeActivated)
EVT_DATAVIEW_ITEM_ACTIVATED(ID_TechTree, CaseWindow::OnTreeActivated)
EVT_LISTBOX( ID_TechTree, CaseWindow::OnCommand)
//EVT_LISTBOX( ID_TechTree, CaseWindow::OnCommand)
EVT_BUTTON( ID_EXCL_BUTTON, CaseWindow::OnCommand )
EVT_LISTBOX( ID_EXCL_RADIO, CaseWindow::OnCommand)
EVT_CHECKBOX( ID_COLLAPSE, CaseWindow::OnCommand )
Expand Down Expand Up @@ -405,13 +405,16 @@ CaseWindow::CaseWindow( wxWindow *parent, Case *c )
wxDataViewItemArray dvic;
m_navigationMenu->GetModel()->GetChildren(dvia[0], dvic);
m_navigationMenu->SetCurrentItem(dvic[0]);
SwitchToInputPage(m_navigationMenu->GetItemText(m_navigationMenu->GetCurrentItem()));
}
else if (m_navigationMenu->IsContainer(dvia[1])) {
m_navigationMenu->Expand(dvia[1]);
wxDataViewItemArray dvic;
m_navigationMenu->GetModel()->GetChildren(dvia[1], dvic);
m_navigationMenu->SetCurrentItem(dvic[0]);
SwitchToInputPage(m_navigationMenu->GetItemText(m_navigationMenu->GetCurrentItem()));
}
m_previousPage = m_navigationMenu->GetCurrentItem();
/*for (int i = 0; i < m_pageGroups.size(); i++) {
bin_name = m_pageGroups[i]->BinName;
if (Ts_lower.Contains(bin_name.Lower()) && bin_name != "") {
Expand Down Expand Up @@ -742,12 +745,21 @@ void CaseWindow::OnTechTree(wxDataViewEvent&)
m_pageFlipper->SetSelection(0);
if (m_navigationMenu->IsContainer(m_navigationMenu->GetCurrentItem()))
{

wxDataViewItemArray dvic;
bool keep_open = false;
m_navigationMenu->GetModel()->GetChildren(m_navigationMenu->GetCurrentItem(), dvic);
int children_count = dvic.Count();
for (int i = 0; i < dvic.Count(); i++) {
if (dvic[1] == m_previousPage)
if (dvic[i] == m_previousPage) {
keep_open = true;
m_navigationMenu->SetCurrentItem(m_previousPage);
return;
}
}
if (!keep_open && m_navigationMenu->IsExpanded(m_navigationMenu->GetCurrentItem())) {
m_navigationMenu->Collapse(m_navigationMenu->GetCurrentItem());
m_navigationMenu->SetCurrentItem(m_previousPage);
return;
}
m_navigationMenu->Expand(m_navigationMenu->GetCurrentItem());
m_navigationMenu->SetCurrentItem(m_previousPage);
Expand Down
9 changes: 6 additions & 3 deletions src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -500,17 +500,20 @@ CaseWindow *MainWindow::CreateCaseWindow( Case *c )

// when creating a new case, at least
// show the first input page
/*
wxArrayString pages = win->GetInputPages();
if (pages.size() > 0) {
if (c->GetConfiguration()->Technology.size() > 1) { // hybrid
// TODO: hybrids - trigger onload event for all technologies first page (specifically update wind resource file to run without selecting page)
for (int i = c->GetConfiguration()->Technology.size() - 1; i >= 0; i--)
win->SwitchToInputPage(c->GetConfiguration()->InputPageGroups[i][0]->SideBarLabel);
for (int i = c->GetConfiguration()->Technology.size() - 1; i >= 0; i--) {
win->SwitchToInputPage(c->GetConfiguration()->InputPageGroups[i][0]->SideBarLabel);
//win->SwitchToInputPage(win->m_navigationMenu->GetItemText(win->m_navigationMenu->GetCurrentSelection())
}
}
else {
win->SwitchToInputPage(pages[0]);
}
}
}*/ //mp trying to not overwrite first page switch at start
return win;
}

Expand Down

0 comments on commit 77efd6c

Please sign in to comment.