- wxChar *copyMessage = copystring(message);
- size_t i = 0;
- size_t len = wxStrlen(copyMessage);
- wxChar *currentMessage = copyMessage;
-
-// wxWindow *lastWindow = parent;
-
- while (i < len) {
- while ((i < len) && (copyMessage[i] != _T('\n'))) i++;
- if (i < len) copyMessage[i] = 0;
- wxStaticText *mess = new wxStaticText(parent, -1, currentMessage);
-
-/*
- wxLayoutConstraints *c = new wxLayoutConstraints;
- c->left.SameAs (parent, wxLeft, 10);
- c->top.SameAs (lastWindow, wxBottom, 5);
- c->right.AsIs ();
- c->height.AsIs ();
-
- mess->SetConstraints(c);
-*/
- sizer->AddSizerChild(mess);
-
- messageList->Append(mess);
-
- currentMessage = copyMessage + i + 1;
- }
- delete[] copyMessage;
+ int y = 10;
+ int w = 50;
+ wxString line( _T("") );
+ for (uint pos = 0; pos < message.Len(); pos++)
+ {
+ if (message[pos] == _T('\n'))
+ {
+ if (!line.IsEmpty())
+ {
+ wxStaticText *s1 = new wxStaticText( parent, -1, line, wxPoint(15,y) );
+ wxSize size1( s1->GetSize() );
+ if (size1.x > w) w = size1.x;
+ line = _T("");
+ }
+ y += 18;
+ }
+ else
+ {
+ line += message[pos];
+ }
+ }
+
+ if (!line.IsEmpty())
+ {
+ wxStaticText *s2 = new wxStaticText( parent, -1, line, wxPoint(15,y) );
+ wxSize size2( s2->GetSize() );
+ if (size2.x > w) w = size2.x;
+ }
+
+ y += 18;
+
+ return wxSize(w+30,y);