const wxArrayLong& times,
const wxString& caption,
long style)
- : wxDialog(parent, -1, caption),
+ : wxDialog(parent, -1, caption ),
m_messages(messages), m_severity(severity), m_times(times)
{
m_showingDetails = FALSE; // not initially
wxBoxSizer *sizerAll = new wxBoxSizer(wxHORIZONTAL);
wxButton *btnOk = new wxButton(this, wxID_OK, _T("Ok"));
- m_btnDetails = new wxButton(this, wxID_MORE, _T("&Details >>"));
sizerButtons->Add(btnOk, 0, wxCENTRE|wxBOTTOM, MARGIN/2);
+ m_btnDetails = new wxButton(this, wxID_MORE, _T("&Details >>"));
sizerButtons->Add(m_btnDetails, 0, wxCENTRE|wxTOP, MARGIN/2 - 1);
wxIcon icon = wxTheApp->GetStdIcon(style & wxICON_MASK);
btnOk->SetFocus();
+ if ( m_messages.GetCount() == 1 )
+ {
+ // no details... it's easier to disable a button than to change the
+ // dialog layout depending on whether we have details or not
+ m_btnDetails->Disable();
+ }
+
Centre();
}
// create it now
m_listctrl = new wxListCtrl(this, -1,
wxDefaultPosition, wxDefaultSize,
- wxLC_REPORT | wxLC_NO_HEADER);
+ wxLC_REPORT | wxLC_NO_HEADER );
m_listctrl->InsertColumn(0, _("Message"));
m_listctrl->InsertColumn(1, _("Time"));
wxDateTime((time_t)m_times[n]).Format(fmt));
}
- // let the columns size themselves (TODO does this work under GTK?)
+ // let the columns size themselves
m_listctrl->SetColumnWidth(0, wxLIST_AUTOSIZE);
m_listctrl->SetColumnWidth(1, wxLIST_AUTOSIZE);
m_showingDetails = !m_showingDetails;
// in any case, our size changed - update
+ sizer->SetSizeHints(this);
sizer->Fit(this);
}