void CGoToLine::Layout(void) { fLine->ResizeLocalized("Line:"); fCancelButton->ResizeLocalized("Cancel"); fOkButton->ResizeLocalized("Ok"); float div = fLine->StringWidth("Line:")+20; fLine->SetDivider(div); fLine->SetWidth(div+fLine->TextView()->StringWidth("1234567")+10); //### Layout float dx = fMainView->StringWidth("m"); float dy = fMainView->StringWidth("n"); fLine->MoveTo(dx, dy); fOkButton->MoveTo(fMainView->Right()-fOkButton->Width()-dx, fMainView->Bottom()-dy-fOkButton->Height()); fCancelButton->MoveTo(fOkButton->Left()-fCancelButton->Width()-dx, fMainView->Bottom()-dy-fCancelButton->Height()); float minW = fOkButton->Width()+fCancelButton->Width()+3*dx; float minH = fLine->Bottom()+fOkButton->Height()+4*dy; ResizeToLimits(minW, minW, minH, minH); }
void CFtpDialog::Layout(void) { fServerName->ResizeLocalized("Host:"); fUserName->ResizeLocalized("Username:"******"Password:"******"Passive mode"); fConnectButton->ResizeLocalized("Connect"); fCancelButton->ResizeLocalized("Cancel"); fOkButton->ResizeLocalized("Open"); fShowDotted->ResizeLocalized("Show all!"); fDirectoryField->ResizeLocalized(); fFileName->ResizeLocalized(); //### Layout float dx = fMainView->StringWidth("m"); float dy = fMainView->StringWidth("n"); // Server-Box // fServerName->MoveTo(dx, dy); fUserName->MoveTo(dx, fServerName->Bottom()+dy); fPassword->MoveTo(dx, fUserName->Bottom()+dy); fUsePassive->MoveTo(dx, fPassword->Bottom()+dy); fConnectButton->MoveTo(2*dx, fUsePassive->Bottom()+dy); // float bw = std::max(std::max(dx*10, fCancelButton->Width()), fOkButton->Width()); bw = std::max(bw, fServerName->Right()); bw = std::max(bw, fUserName->Right()); bw = std::max(bw, fPassword->Right()); bw = std::max(bw, fUsePassive->Right()); bw = std::max(bw, fConnectButton->Right()+2*dx); // fServerName->SetWidth(bw); fUserName->SetWidth(bw); fPassword->SetWidth(bw); fUsePassive->SetWidth(bw); fConnectButton->SetWidth(bw-2*dx); // fLoginBox->MoveTo(fMainView->Right()-bw-3*dx, dy); fLoginBox->ResizeTo(bw+2*dx, fConnectButton->Bottom()+dy); // Buttons fOkButton->MoveTo(fLoginBox->Left()+dx, fMainView->Bottom()-dy-fOkButton->Height()); fOkButton->SetWidth(bw); // fCancelButton->MoveTo(fOkButton->Left(), fOkButton->Top()-dy-fCancelButton->Height()); fCancelButton->SetWidth(bw); // List fDirectoryField->MoveTo(dx, dy); fShowDotted->MoveTo(fLoginBox->Left()-fShowDotted->Width()-dx, dy); // fScrollView->MoveTo(dx, fDirectoryField->Bottom()+dy); fScrollView->ResizeTo(fShowDotted->Right()-dx, Frame().Height()-fDirectoryField->Bottom()-2*dy); // fFileName->MoveTo(dx, fScrollView->Bottom()-fFileName->Height()); fFileName->SetWidth(fScrollView->Width()); // float minW = 200; float minH = 100; minW = std::max(minW, bw + 3*dx + fShowDotted->Width() + fDirectoryField->Width()); minH = std::max(minH, fLoginBox->Bottom()+2*fOkButton->Height()+3*dy); ResizeToLimits(minW, 99999, minH, 99999); } // CFtpDialog::Layout