Code: Select all
wxBoxSizer *main_sizer = new wxBoxSizer( wxVERTICAL );
wxFlexGridSizer *participant_info = new wxFlexGridSizer(EVENT_INFO_FIELD_HIGHEST, 2,5,5);
participant_info->SetFlexibleDirection(wxVERTICAL);
participant_info->AddGrowableCol(1, 1);
//every text is created the same way, without any further modifications - difference is only in label
text = new wxStaticText(frame, wxID_ANY, wxT("Nazwa"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT, wxT(""));
[...]
participant_info->Add(text, 0, wxFIXED_MINSIZE);
participant_info->Add(input, 1, wxEXPAND);
[...]
participant_info->Add(text, 0, wxFIXED_MINSIZE);
participant_info->Add(choice, 1, wxFIXED_MINSIZE);
[...]
//and now tricky one -- HERE IS MAIN PROBLEM, above code is given only to be more precise
text = new wxStaticText(frame, wxID_ANY, wxT("Start"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT, wxT(""));
wxBoxSizer *time_sizer = new wxBoxSizer(wxHORIZONTAL);
wxDatePickerCtrl *pick_start_date = new wxDatePickerCtrl(frame, wxID_ANY);
time_sizer->Add(pick_start_date, 0, wxFIXED_MINSIZE);
//HERE GOES CODE FROM NEXT "CODE" SECTION
time_sizer->Show(true);
participant_info->Add(text, 0, wxFIXED_MINSIZE);
participant_info->Add(time_sizer, 1, wxEXPAND);
participant_info->Show(true);
main_sizer->Add(participant_info, 1, wxEXPAND);

So now I will expand my wxBoxSizer with two spins:
Code: Select all
wxSpinCtrl *spin;
spin = new wxSpinCtrl(frame, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 23, 0);
spin->SetId(EVENT_INFO_FIELD_START_HOUR);
time_sizer->Add(spin, 0, wxFIXED_MINSIZE);
spin = new wxSpinCtrl(frame, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 59, 0);
spin->SetId(EVENT_INFO_FIELD_START_MINUTES);
time_sizer->Add(spin, 0, wxFIXED_MINSIZE);

