Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members

uelem.hpp

00001 /* ==================================================== ======== ======= *
00002  *
00003  *  uelem.hh
00004  *  Ubit Project  [Elc][2003]
00005  *  Author: Eric Lecolinet
00006  *
00007  *  Part of the Ubit Toolkit: A Brick Construction Game Model for Creating GUIs
00008  *
00009  *  (C) 1999-2003 Eric Lecolinet @ ENST Paris
00010  *  WWW: http://www.enst.fr/~elc/ubit   Email: elc@enst.fr (subject: ubit)
00011  *
00012  * ***********************************************************************
00013  * COPYRIGHT NOTICE : 
00014  * THIS PROGRAM IS DISTRIBUTED WITHOUT ANY WARRANTY AND WITHOUT EVEN THE 
00015  * IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 
00016  * YOU CAN REDISTRIBUTE IT AND/OR MODIFY IT UNDER THE TERMS OF THE GNU 
00017  * GENERAL PUBLIC LICENSE AS PUBLISHED BY THE FREE SOFTWARE FOUNDATION; 
00018  * EITHER VERSION 2 OF THE LICENSE, OR (AT YOUR OPTION) ANY LATER VERSION.
00019  * SEE FILES 'COPYRIGHT' AND 'COPYING' FOR MORE DETAILS.
00020  * ***********************************************************************
00021  *
00022  * ==================================================== [Elc:03] ======= *
00023  * ==================================================== ======== ======= */
00024 
00025 #ifndef _uelem_hh
00026 #define _uelem_hh
00027 #include <ubit/ubrick.hpp>
00028 #include <ubit/ucall.hpp>
00029 //pragma ident  "@(#)uelem.hh   ubit:03.04.00"
00030 
00031 
00041 class UElem: public UBrick {
00042 public:
00043   UElem(u_modes b_modes = 0): UBrick(b_modes) {};
00044 
00045   virtual class UElem* elemCast()  {return this;}
00047 
00048   // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00049   // callbacks
00050 
00051   virtual void onChange(UCall&);
00053 
00054   virtual void changed(bool update_now);
00062   // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00063 
00064   virtual void update() = 0;
00066 
00067 #ifndef NO_DOC
00068   friend class UArgs;
00069   friend class UBox;
00070   virtual void getSize(UContext*, u_dim *w, u_dim *h) const = 0;
00071   virtual void paint(UWinGraph&, UContext*, const URegion &r) const = 0;
00072 #endif
00073 };
00074 
00075 #endif
00076 /* ==================================================== [TheEnd] ======= */
00077 /* ==================================================== [Elc:03] ======= */

Generated on Tue Mar 8 22:31:23 2005 for Ubit[Eric.Lecolinet@enst.fr] by  doxygen 1.4.1