vdk 2.4.0
vdkdockable.h
00001 /*
00002  * ===========================
00003  * VDK Visual Development Kit
00004  * Version 2.0.2
00005  * April 2002
00006  * ===========================
00007  *
00008  * Copyright (C) 1998, Mario Motta
00009  * Developed by Mario Motta <mmotta@guest.net>
00010  *
00011  * This library is free software; you can redistribute it and/or
00012  * modify it under the terms of the GNU Library General Public
00013  * License as published by the Free Software Foundation; either
00014  * version 2 of the License, or (at your option) any later version.
00015  *
00016  * This library is distributed in the hope that it will be useful,
00017  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00018  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00019  * Library General Public License for more details.
00020  *
00021  * You should have received a copy of the GNU Library General Public
00022  * License along with this library; if not, write to the Free Software
00023  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
00024  * 02111-1307, USA.
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