Esempio n. 1
0
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);
}
Esempio n. 2
0
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