00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
#ifndef ULAYEREDPANE_HPP
00029
#define ULAYEREDPANE_HPP
00030
00031
#include "uwidget.hpp"
00032
00033
#include "../util/uinteger.hpp"
00034
00035
namespace ufo {
00036
00048 class UFO_EXPORT ULayeredPane :
public UWidget {
00049 UFO_DECLARE_DYNAMIC_CLASS(ULayeredPane)
00050
public:
00051 ULayeredPane();
00052
00059
void putLayerProperty(
UWidget * w,
int layer);
00060
00064
void setLayer(
UWidget * w,
int layer);
00073
void setLayer(
UWidget * w,
int layer,
int position);
00078
int getLayer(
const UWidget * w)
const;
00079
00083
void setPosition(
UWidget * w,
int position);
00087
int getPosition(
const UWidget * w)
const;
00088
00091
void moveToFront(
UWidget * w);
00094
void moveToBack(
UWidget * w);
00095
00096
00100
int getLayerBegin(
int layer)
const;
00104
int getLayerEnd(
int layer)
const;
00111
int indexForLayer(
int layer,
int position)
const;
00112
00113
00114
protected:
00122
void addImpl(
UWidget * w,
UObject * constraints,
int index);
00123
00124
00125
public:
00126
static const UInteger * DefaultLayer;
00127
static const UInteger * FrameLayer;
00128
static const UInteger * PopupLayer;
00129
00130
00131
static const UInteger * DragLayer;
00132
00133
static const UInteger * RootPaneLayer;
00134
00135
private:
00136
static const std::string LayerProperty;
00137 };
00138
00139 }
00140
00141
#endif // ULAYEREDPANE_HPP