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 UDESKTOPPANE_HPP
00029
#define UDESKTOPPANE_HPP
00030
00031
#include "ulayeredpane.hpp"
00032
00033
namespace ufo {
00034
00035
class UInternalFrame;
00036
class UDockWidget;
00037
00047 class UFO_EXPORT UDesktopPane :
public ULayeredPane {
00048 UFO_DECLARE_CLASS(UDesktopPane)
00049
public:
00050 UDesktopPane();
00051
virtual ~UDesktopPane();
00052
00053
public:
00056
virtual void addFrame(
UInternalFrame * frame);
00060
virtual bool removeFrame(
UInternalFrame * frame);
00061
00064
virtual void maximize(
UInternalFrame * frame);
00065
virtual bool isMaximized(
UInternalFrame * frame);
00067
virtual void minimize(
UInternalFrame * frame);
00068
virtual bool isMinimized(
UInternalFrame * frame);
00070
virtual void restore(
UInternalFrame * frame);
00074
virtual void close(
UInternalFrame * frame);
00075
00076
virtual void raise(
UInternalFrame * frame);
00077
virtual void lower(
UInternalFrame * frame);
00078
virtual bool isActive(
UInternalFrame * frame);
00079
00081
virtual void setTitle(
UInternalFrame * frame,
const std::string & title);
00082
virtual std::string getTitle(
UInternalFrame * frame);
00083
00084
virtual void addDockWidget(
UDockWidget * w, DockWidgetArea area);
00085
virtual void removeDockWidget(
UDockWidget * w);
00086
00087
virtual void dragDockWidget(
UDockWidget * w,
const UPoint & pos);
00088
virtual void dropDockWidget(
UDockWidget * w,
const UPoint & pos);
00089
00090
virtual UInsets getContentsInsets()
const;
00091
00092
protected:
00093
virtual void eventListener(
UEvent * e);
00094
void moveDockWidget(
UDockWidget * w, DockWidgetArea newArea);
00095
protected:
00096
virtual void validateSelf();
00097
virtual void processWidgetEvent(
UWidgetEvent * e);
00098
virtual UDimension getContentsSize(
const UDimension & maxSize)
const;
00099
private:
00100
UWidget * m_topDock;
00101
UWidget * m_leftDock;
00102
UWidget * m_bottomDock;
00103
UWidget * m_rightDock;
00104 };
00105
00106 }
00107
00108
#endif // UDESKTOPPANE_HPP