Here is an example:
Code: Select all
/*gs = wxGridSizer
pb = wxButton
sb = wxStaticBoxSizer
eb = wxTextCtrl (derived from anyway)
lb = wxListBox
cb = wxComboBox or derived wxOwnerDrawnComboBox
hs = wxBoxSizer (horizontal)
vs = wxBoxSizer (vertical)
st = wxStaticText
fs = wxFlexGridSizer
ch = wxCheckBox
w = wxPanel, wxFrame, wxWindow, wxScrolledWindow
*/
gsMainResearchB->Add(pbMainResearchAdd, 1, wxEXPAND);
// gsMainResearchB->Add(pbMainResearchInsert, 1, wxEXPAND);
gsMainResearchB->Add(pbMainResearchDelete, 1, wxEXPAND);
// gsMainResearchB->Add(pbMainResearchDefault, 1, wxEXPAND);
gsMainResearchB->Add(pbMainResearchCopy, 1, wxEXPAND);
gsMainResearchB->Add(pbMainResearchPaste, 1, wxEXPAND);
sbMainResearchList->Add(ebMainResearchSearch, 0, wxEXPAND);
// sbMainResearchList->Add(ebMainResearchRSearch, 0, wxEXPAND);
sbMainResearchList->Add(-1, 2);
sbMainResearchList->Add(lbMainResearchList, 1, wxEXPAND);
sbMainResearchList->Add(-1, 2);
sbMainResearchList->Add(gsMainResearchB, 0, wxEXPAND);
// sbMainResearchList->Add(pbMainResearchRestore, 0, wxEXPAND);
sbMainResearchList->Add(pbMainResearchExport, 0, wxEXPAND);
vsMainResearchA->Add(-1, 15);
vsMainResearchA->Add(sbMainResearchList, 1, wxEXPAND);
vsMainResearchA->Add(-1, 15);
hsMainResearchSimple[0]->Add(cbMainResearchRequiredTechs[0], 1, wxEXPAND);
hsMainResearchSimple[0]->Add(ebMainResearchRequiredTechs[0], 1, wxEXPAND);
hsMainResearchSimple[1]->Add(cbMainResearchRequiredTechs[1], 1, wxEXPAND);
hsMainResearchSimple[1]->Add(ebMainResearchRequiredTechs[1], 1, wxEXPAND);
hsMainResearchSimple[2]->Add(cbMainResearchRequiredTechs[2], 1, wxEXPAND);
hsMainResearchSimple[2]->Add(ebMainResearchRequiredTechs[2], 1, wxEXPAND);
hsMainResearchSimple[3]->Add(cbMainResearchRequiredTechs[3], 1, wxEXPAND);
hsMainResearchSimple[3]->Add(ebMainResearchRequiredTechs[3], 1, wxEXPAND);
hsMainResearchSimple[4]->Add(cbMainResearchRequiredTechs[4], 1, wxEXPAND);
hsMainResearchSimple[4]->Add(ebMainResearchRequiredTechs[4], 1, wxEXPAND);
hsMainResearchSimple[5]->Add(cbMainResearchRequiredTechs[5], 1, wxEXPAND);
hsMainResearchSimple[5]->Add(ebMainResearchRequiredTechs[5], 1, wxEXPAND);
sbMainResearchRequiredTechs->Add(hsMainResearchSimple[0], 1, wxEXPAND);
sbMainResearchRequiredTechs->Add(5, -1);
sbMainResearchRequiredTechs->Add(hsMainResearchSimple[1], 1, wxEXPAND);
sbMainResearchRequiredTechs->Add(5, -1);
sbMainResearchRequiredTechs->Add(hsMainResearchSimple[2], 1, wxEXPAND);
sbMainResearchRequiredTechs->Add(5, -1);
sbMainResearchRequiredTechs->Add(hsMainResearchSimple[3], 1, wxEXPAND);
sbMainResearchRequiredTechs->Add(5, -1);
sbMainResearchRequiredTechs->Add(hsMainResearchSimple[4], 1, wxEXPAND);
sbMainResearchRequiredTechs->Add(5, -1);
sbMainResearchRequiredTechs->Add(hsMainResearchSimple[5], 1, wxEXPAND);
hsMainResearchSimple[6]->Add(chMainResearchUsed[0], 1, wxEXPAND);
hsMainResearchSimple[6]->Add(ebMainResearchUsed[0], 1, wxEXPAND);
hsMainResearchSimple[7]->Add(chMainResearchUsed[1], 1, wxEXPAND);
hsMainResearchSimple[7]->Add(ebMainResearchUsed[1], 1, wxEXPAND);
hsMainResearchSimple[8]->Add(chMainResearchUsed[2], 1, wxEXPAND);
hsMainResearchSimple[8]->Add(ebMainResearchUsed[2], 1, wxEXPAND);
fsMainResearchCost[0]->Add(stMainResearchResources[0], 1, wxEXPAND);
fsMainResearchCost[0]->Add(ebMainResearchResources[0], 1, wxEXPAND);
fsMainResearchCost[0]->Add(stMainResearchAmount[0], 1, wxEXPAND);
fsMainResearchCost[0]->Add(ebMainResearchAmount[0], 1, wxEXPAND);
fsMainResearchCost[0]->Add(stMainResearchUsed[0], 1, wxEXPAND);
fsMainResearchCost[0]->Add(hsMainResearchSimple[6], 1, wxEXPAND);
fsMainResearchCost[1]->Add(stMainResearchResources[1], 1, wxEXPAND);
fsMainResearchCost[1]->Add(ebMainResearchResources[1], 1, wxEXPAND);
fsMainResearchCost[1]->Add(stMainResearchAmount[1], 1, wxEXPAND);
fsMainResearchCost[1]->Add(ebMainResearchAmount[1], 1, wxEXPAND);
fsMainResearchCost[1]->Add(stMainResearchUsed[1], 1, wxEXPAND);
fsMainResearchCost[1]->Add(hsMainResearchSimple[7], 1, wxEXPAND);
fsMainResearchCost[2]->Add(stMainResearchResources[2], 1, wxEXPAND);
fsMainResearchCost[2]->Add(ebMainResearchResources[2], 1, wxEXPAND);
fsMainResearchCost[2]->Add(stMainResearchAmount[2], 1, wxEXPAND);
fsMainResearchCost[2]->Add(ebMainResearchAmount[2], 1, wxEXPAND);
fsMainResearchCost[2]->Add(stMainResearchUsed[2], 1, wxEXPAND);
fsMainResearchCost[2]->Add(hsMainResearchSimple[8], 1, wxEXPAND);
fsMainResearchCost[0]->AddGrowableCol(0);
fsMainResearchCost[0]->AddGrowableCol(1);
fsMainResearchCost[0]->AddGrowableRow(0);
fsMainResearchCost[0]->AddGrowableRow(1);
fsMainResearchCost[0]->AddGrowableRow(2);
fsMainResearchCost[1]->AddGrowableCol(0);
fsMainResearchCost[1]->AddGrowableCol(1);
fsMainResearchCost[1]->AddGrowableRow(0);
fsMainResearchCost[1]->AddGrowableRow(1);
fsMainResearchCost[1]->AddGrowableRow(2);
fsMainResearchCost[2]->AddGrowableCol(0);
fsMainResearchCost[2]->AddGrowableCol(1);
fsMainResearchCost[2]->AddGrowableRow(0);
fsMainResearchCost[2]->AddGrowableRow(1);
fsMainResearchCost[2]->AddGrowableRow(2);
sbMainResearchCost[0]->Add(fsMainResearchCost[0], 1, wxEXPAND);
sbMainResearchCost[1]->Add(fsMainResearchCost[1], 1, wxEXPAND);
sbMainResearchCost[2]->Add(fsMainResearchCost[2], 1, wxEXPAND);
hsMainResearchCost->Add(sbMainResearchCost[0], 1, wxEXPAND);
hsMainResearchCost->Add(5, -1);
hsMainResearchCost->Add(sbMainResearchCost[1], 1, wxEXPAND);
hsMainResearchCost->Add(5, -1);
hsMainResearchCost->Add(sbMainResearchCost[2], 1, wxEXPAND);
hsMainResearchSimple[9]->Add(cbMainResearchCiv, 1, wxEXPAND);
hsMainResearchSimple[9]->Add(ebMainResearchCiv, 1, wxEXPAND);
hsMainResearchSimple[10]->Add(chMainResearchFullTechMode, 1, wxEXPAND);
hsMainResearchSimple[10]->Add(ebMainResearchFullTechMode, 1, wxEXPAND);
hsMainResearchSimple[11]->Add(cbMainResearchResearchLocation, 1, wxEXPAND);
hsMainResearchSimple[11]->Add(ebMainResearchResearchLocation, 1, wxEXPAND);
sbMainResearchRequiredTechCount->Add(ebMainResearchRequiredTechCount, 1, wxEXPAND);
sbMainResearchCiv->Add(hsMainResearchSimple[9], 1, wxEXPAND);
sbMainResearchFullTechMode->Add(hsMainResearchSimple[10], 1, wxEXPAND);
sbMainResearchResearchLocation->Add(hsMainResearchSimple[11], 1, wxEXPAND);
hsMainResearchD->Add(sbMainResearchRequiredTechCount, 1, wxEXPAND);
hsMainResearchD->Add(5, -1);
hsMainResearchD->Add(sbMainResearchCiv, 1, wxEXPAND);
hsMainResearchD->Add(5, -1);
hsMainResearchD->Add(sbMainResearchFullTechMode, 1, wxEXPAND);
hsMainResearchD->Add(5, -1);
hsMainResearchD->Add(sbMainResearchResearchLocation, 1, wxEXPAND);
sbMainResearchLanguageDllName->Add(ebMainResearchLanguageDllName, 0, wxEXPAND);
sbMainResearchLanguageDllName->Add(-1, 5);
sbMainResearchLanguageDllName->Add(stMainResearchLanguageDllName, 0, wxEXPAND);
sbMainResearchLanguageDllDescription->Add(ebMainResearchLanguageDllDescription, 0, wxEXPAND);
sbMainResearchLanguageDllDescription->Add(-1, 5);
sbMainResearchLanguageDllDescription->Add(stMainResearchLanguageDllDescription, 0, wxEXPAND);
hsMainResearchE->Add(sbMainResearchLanguageDllName, 1, wxEXPAND);
hsMainResearchE->Add(5, -1);
hsMainResearchE->Add(sbMainResearchLanguageDllDescription, 1, wxEXPAND);
hsMainResearchSimple[12]->Add(cbMainResearchTechageID, 1, wxEXPAND);
hsMainResearchSimple[12]->Add(ebMainResearchTechageID, 1, wxEXPAND);
sbMainResearchResearchTime->Add(ebMainResearchResearchTime, 1, wxEXPAND);
sbMainResearchTechageID->Add(hsMainResearchSimple[12], 1, wxEXPAND);
sbMainResearchType->Add(ebMainResearchType, 1, wxEXPAND);
sbMainResearchIconID->Add(ebMainResearchIconID, 1, wxEXPAND);
sbMainResearchButtonID->Add(ebMainResearchButtonID, 1, wxEXPAND);
hsMainResearchF->Add(sbMainResearchResearchTime, 1, wxEXPAND);
hsMainResearchF->Add(5, -1);
hsMainResearchF->Add(sbMainResearchTechageID, 1, wxEXPAND);
hsMainResearchF->Add(5, -1);
hsMainResearchF->Add(sbMainResearchType, 1, wxEXPAND);
hsMainResearchF->Add(5, -1);
hsMainResearchF->Add(sbMainResearchIconID, 1, wxEXPAND);
hsMainResearchF->Add(5, -1);
hsMainResearchF->Add(sbMainResearchButtonID, 1, wxEXPAND);
sbMainResearchPointers[0]->Add(ebMainResearchPointers[0], 1, wxEXPAND);
sbMainResearchPointers[1]->Add(ebMainResearchPointers[1], 1, wxEXPAND);
sbMainResearchPointers[2]->Add(ebMainResearchPointers[2], 1, wxEXPAND);
hsMainResearchG->Add(sbMainResearchPointers[0], 1, wxEXPAND);
hsMainResearchG->Add(5, -1);
hsMainResearchG->Add(sbMainResearchPointers[1], 1, wxEXPAND);
hsMainResearchG->Add(5, -1);
hsMainResearchG->Add(sbMainResearchPointers[2], 1, wxEXPAND);
sbMainResearchName[0]->Add(ebMainResearchName[0], 1, wxEXPAND);
sbMainResearchName[1]->Add(ebMainResearchName[1], 1, wxEXPAND);
hsMainResearchH->Add(sbMainResearchName[0], 1, wxEXPAND);
hsMainResearchH->Add(5, -1);
hsMainResearchH->Add(sbMainResearchName[1], 1, wxEXPAND);
vsMainResearchC->Add(sbMainResearchRequiredTechs, 0, wxEXPAND);
vsMainResearchC->Add(-1, 10);
vsMainResearchC->Add(hsMainResearchD, 0, wxEXPAND);
vsMainResearchC->Add(-1, 10);
vsMainResearchC->Add(hsMainResearchCost, 0, wxEXPAND);
vsMainResearchC->Add(-1, 10);
vsMainResearchC->Add(hsMainResearchE, 0, wxEXPAND);
vsMainResearchC->Add(-1, 10);
vsMainResearchC->Add(hsMainResearchF, 0, wxEXPAND);
vsMainResearchC->Add(-1, 10);
vsMainResearchC->Add(hsMainResearchG, 0, wxEXPAND);
vsMainResearchC->Add(-1, 10);
vsMainResearchC->Add(hsMainResearchH, 0, wxEXPAND);
// vsMainResearchC->Add(-1, -1);
hsMainResearchJ->Add(10, -1);
hsMainResearchJ->Add(vsMainResearchC, 1, wxEXPAND);
hsMainResearchJ->Add(10, -1);
wResearchScroller->SetSizer(hsMainResearchJ);
wResearchScroller->SetScrollRate(0, 15);
vsMainResearchI->Add(-1, 15);
vsMainResearchI->Add(wResearchScroller, 1, wxEXPAND);
vsMainResearchI->Add(-1, 15);
hsMainResearch->Add(15, -1);
hsMainResearch->Add(vsMainResearchA, 1, wxEXPAND);
hsMainResearch->Add(15, -1);
hsMainResearch->Add(vsMainResearchI, 3, wxEXPAND);
hsMainResearch->Add(5, -1);