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 #ifndef _vdkdockable_h
00027 #define _vdkdockable_h
00028 #include <vdk/boxes.h>
00029 #include <vdk/forms.h>
00030
00031 #define docked_signal 2048
00032 #define undocked_signal 2049
00033
00034 class VDKDockerBoxForm;
00040 class VDKDockerBox : public VDKBox
00041 {
00042 void Dock ();
00043 void Undock ();
00044 int justify, fill, expand, padding;
00045 friend class VDKObjectContainer;
00046 friend class VDKDockerBoxForm;
00047 void SetDocked (bool flag);
00048 bool GetDocked ();
00049
00050 protected:
00051
00052 VDKDockerBoxForm* dock_form;
00053 public:
00057 VDKReadWriteValueProp <VDKDockerBox, bool> Docked;
00063 VDKDockerBox (VDKForm* owner, int mode = v_box);
00067 virtual ~VDKDockerBox ();
00068
00069 VDKDockerBoxForm* DockForm() { return dock_form; }
00070
00071 };
00072
00073 class VDKDockerBoxForm: public VDKForm
00074 {
00075 friend class VDKDockerBox;
00076 VDKObjectContainer* box_from;
00077 VDKDockerBox* docker;
00078 VDKDockerBoxForm (VDKForm* owner, char* title = NULL);
00079 ~VDKDockerBoxForm ();
00080 void Setup ();
00081 bool CanClose ();
00082 };
00083 #endif