Center the ExtendedInfoWindow on the screen.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31990 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Clemens Zeidler 2009-07-30 18:28:29 +00:00
parent a072a79b65
commit 8b24b02f06
2 changed files with 16 additions and 1 deletions

View File

@ -12,6 +12,7 @@
#include <GroupLayout.h>
#include <GroupView.h>
#include <SpaceLayoutItem.h>
#include <Screen.h>
#include <String.h>
@ -77,6 +78,19 @@ BatteryInfoView::GetPreferredSize(float *width, float *height)
}
void
BatteryInfoView::AttachedToWindow()
{
BRect rect = BScreen().Frame();
BRect windowFrame = Window()->Frame();
BPoint position;
// center window on screen
position.x = (rect.Width() - windowFrame.Width()) / 2;
position.y = (rect.Height() - windowFrame.Height()) / 2;
Window()->MoveTo(position);
}
BSize
BatteryInfoView::_MeasureString(const BString& string)
{

View File

@ -38,7 +38,8 @@ class BatteryInfoView : public BView
acpi_extended_battery_info& extInfo);
virtual void Draw(BRect updateRect);
virtual void GetPreferredSize(float *width, float *height);
virtual void AttachedToWindow();
private:
BSize _MeasureString(const BString& string);
void _FillStringList();