guilayout.h File Reference
Go to the documentation of this file.
Source: include/ffw/gui/guilayout.h
/* This file is part of FineFramework project */
#ifndef FFW_GUI_LAYOUT
#define FFW_GUI_LAYOUT
#include "guiwidget.h"
namespace ffw {
class FFW_API GuiLayout: public GuiWidget {
public:
struct Style {
GuiWidget::Style self;
};
GuiLayout(GuiWindow* context, GuiOrientation orientation);
virtual ~GuiLayout();
GuiWidget* addWidget(GuiWidget* widget);
GuiWidget* addWidgetAfter(const GuiWidget* previous, GuiWidget* widget);
GuiWidget* addWidgetBefore(const GuiWidget* next, GuiWidget* widget);
void deleteWidgets();
bool deleteSingleWidget(const GuiWidget* widget);
void setOrientation(GuiOrientation orient);
ffw::Pointf getMinimumWrapSize() override;
void setStyle(const GuiLayout::Style* style, bool defaults = false);
private:
void eventRender(const ffw::Pointf& contentoffset, const ffw::Pointf& contentsize) override;
void eventThemeChanged(const GuiTheme* theme, bool defaults) override;
};
class GuiVerticalLayout: public GuiLayout {
public:
GuiVerticalLayout(GuiWindow* context):
GuiLayout(context, GuiOrientation::VERTICAL) {
}
virtual ~GuiVerticalLayout(){}
};
class GuiHorizontalLayout: public GuiLayout {
public:
GuiHorizontalLayout(GuiWindow* context):
GuiLayout(context, GuiOrientation::HORIZONTAL) {
}
virtual ~GuiHorizontalLayout(){}
};
class GuiFixedLayout: public GuiLayout {
public:
GuiFixedLayout(GuiWindow* context):
GuiLayout(context, GuiOrientation::FIXED) {
}
virtual ~GuiFixedLayout(){}
};
}
#endif