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