1 #include <lib/gui/statusbar.h>
3 #include <lib/system/init.h>
4 #include <lib/system/init_num.h>
5 #include <lib/gui/eskin.h>
6 #include <lib/gdi/font.h>
8 eStatusBar::eStatusBar( eWidget
* parent
, const char *deco
)
9 :eLabel(parent
, 0, 0, deco
), current(0)
11 setFont( eSkin::getActive()->queryFont("eStatusBar") );
12 setForegroundColor ( eSkin::getActive()->queryColor("eStatusBar.foreground") );
13 setBackgroundColor ( eSkin::getActive()->queryColor("eStatusBar.background") );
14 eLabel::setFlags( RS_WRAP
| eLabel::flagVCenter
);
19 void eStatusBar::initialize()
23 if ( flags
& flagOwnerDraw
)
25 if ( conn
.connected() )
29 conn
= CONNECT( parent
->focusChanged
, eStatusBar::update
);
33 void eStatusBar::update( const eWidget
* p
)
38 setText( current
->getHelpText() );
42 void eStatusBar::setFlags( int fl
)
48 int eStatusBar::setProperty(const eString
&prop
, const eString
&value
)
50 if (prop
=="ownerDraw")
51 flags
|= flagOwnerDraw
;
53 return eLabel::setProperty(prop
, value
);
60 static eWidget
*create_eStatusBar(eWidget
*parent
)
62 return new eStatusBar(parent
);
65 class eStatusBarSkinInit
70 eSkin::addWidgetCreator("eStatusBar", create_eStatusBar
);
74 eSkin::removeWidgetCreator("eStatusBar", create_eStatusBar
);
78 eAutoInitP0
<eStatusBarSkinInit
> init_eStatusBarSkinInit(eAutoInitNumbers::guiobject
, "eStatusBar");