#include <lib/gdi/epng.h>
-eWindow::eWindow(eWidgetDesktop *desktop): eWidget(0)
+eWindow::eWindow(eWidgetDesktop *desktop, int z): eWidget(0)
{
m_flags = 0;
+ m_desktop = desktop;
/* ask style manager for current style */
ePtr<eWindowStyleManager> mgr;
eWindowStyleManager::getInstance(mgr);
style = new eWindowStyleSimple();
setStyle(style);
+
+ setZPosition(z); /* must be done before addRootWidget */
/* we are the parent for the child window. */
/* as we are in the constructor, this is thread safe. */
m_child = this;
m_child = new eWidget(this);
- desktop->addRootWidget(this, 0);
+ desktop->addRootWidget(this);
}
eWindow::~eWindow()
{
- getDesktop()->removeRootWidget(this);
+ m_desktop->removeRootWidget(this);
+ m_child->destruct();
}
void eWindow::setTitle(const std::string &string)
return m_title;
}
+void eWindow::setBackgroundColor(const gRGB &col)
+{
+ /* set background color for child, too */
+ eWidget::setBackgroundColor(col);
+ m_child->setBackgroundColor(col);
+}
+
void eWindow::setFlag(int flags)
{
m_flags |= flags;