- m_clientData = NULL;
-
- // calc the message size
- // ---------------------
-
- wxArrayString lines;
- wxSize sizeText = SplitTextMessage(message, &lines);
- long heightTextMax = sizeText.GetHeight(),
- widthTextMax = sizeText.GetWidth();
- size_t nLineCount = lines.Count();
- long hTotalMsg = heightTextMax*nLineCount;
-
- // calc the button size
- // --------------------
-
- // always create the OK button - the code below supposes we do have buttons
- // and besides the user should have some way to close this dialog
- wxASSERT_MSG( style & wxOK, _T("this dialog should have OK button") );
-
- bool hasCancel = (style & wxCANCEL) != 0;
-
- wxSize sizeButtons = GetStandardButtonSize(hasCancel);
-
- long wButton = sizeButtons.GetWidth(),
- hButton = sizeButtons.GetHeight();
-
- long wTotalButtons = wButton;
- if ( hasCancel )
- {
- wTotalButtons *= 2; // second button
- wTotalButtons += MARGIN_BETWEEN_BUTTONS; // margin between the 2
- }
-
- // listbox and stat line
- // ---------------------
-
- // make the listbox at least as tall as the message - otherwise it looks
- // ugly (the lower limit of 300 for the width is arbitrary OTOH)
- //
- // NB: we write "n + 2" because the horiz. scrollbar also takes some place
- long hListbox = wxMax((n + 2) * heightTextMax, hTotalMsg),
- wListbox = wxMax(300, wxMax(wTotalButtons, widthTextMax));