示例#1
0
void ListPop::SetListText(gedString text)
{
	int width = Width() - 20, n;
	KrRect rect;
	gedString s(text);

	rect.Set(0, 0, 0, 0);
	
	if(s.length() > 5)
	{
		for(n = 1; n <= text.length() && rect.Width() < width; n++)
		{
			s = text.substr(0, n);
			rect = Text::GetDimensions(s);		
		}
		
		if(s.length() != text.length() && n > 3)
		{
			s = s.substr(0, s.length() - 3) + "...";
			SetToolTip(text);
		}
	}
	
	SetText(s);
	selectedText = text;
}