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 UINTERNALFRAME_HPP
00029
#define UINTERNALFRAME_HPP
00030
00031
#include "uwidget.hpp"
00032
00033
00034
namespace ufo {
00035
00036
class URootPane;
00037
class ULayeredPane;
00038
class UDesktopPane;
00039
00046 class UFO_EXPORT UInternalFrame :
public UWidget {
00047 UFO_DECLARE_DYNAMIC_CLASS(UInternalFrame)
00048 UFO_UI_CLASS(UInternalFrameUI)
00049 UFO_STYLE_TYPE(UStyle::CE_InternalFrame)
00050
public:
00052 UInternalFrame();
00056 UInternalFrame(
const std::string & title);
00061 UInternalFrame(uint32_t frameStyle);
00066 UInternalFrame(
const std::string & title, uint32_t frameStyle);
00067
00068
friend class UDesktopPane;
00069
public:
00072
virtual URootPane * getRootPane()
const;
00075
virtual UWidget * getContentPane()
const;
00078
virtual ULayeredPane * getLayeredPane()
const;
00079
00080
virtual void setTitle(
const std::string & title);
00081
virtual std::string getTitle();
00082
00087
virtual void pack();
00088
00089
00090
00091
00092
00093 FrameStyle getFrameStyle()
const;
00094
void setFrameStyle(
int frameStyle);
00095
00096 FrameState getFrameState()
const;
00100
void setFrameState(
int frameState);
00101
00104
void maximize();
00105
bool isMaximized()
const;
00106
00107
void minimize();
00108
bool isMinimized()
const;
00109
00113
void restore();
00114
00118
virtual void setResizable(
bool b);
00119
bool isResizable()
const;
00120
00121
public:
00123
virtual bool isActive()
const;
00124
virtual UDimension getContentsSize(
const UDimension & maxSize)
const;
00125
virtual void processMouseEvent(
UMouseEvent * e);
00126
virtual void processWidgetEvent(
UWidgetEvent * e);
00127
virtual void processStateChangeEvent(uint32_t state);
00128
00129
protected:
00130
UDesktopPane * getDesktopPane();
00131
00132
protected:
00133
UDesktopPane * m_desktop;
00135 URootPane * m_rootPane;
00136 std::string m_title;
00137
00138 uint32_t m_frameStyle;
00139 uint32_t m_frameState;
00140
URectangle m_restoreBounds;
00141 };
00142
00143 }
00144
00145
#endif // UINTERNALFRAME_HPP