Rapicorn - Experimental UI Toolkit - Source Code  13.07.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
sizegroup.hh
Go to the documentation of this file.
00001  // Licensed GNU LGPL v3 or later: http://www.gnu.org/licenses/lgpl.html
00002 #ifndef __RAPICORN_SIZE_GROUP_HH__
00003 #define __RAPICORN_SIZE_GROUP_HH__
00004 
00005 #include <ui/widget.hh>
00006 
00007 namespace Rapicorn {
00008 
00009 /* --- SizeGroup --- */
00010 class SizeGroup : public virtual ReferenceCountable {
00011   friend            class ClassDoctor;
00012   friend            class WidgetImpl;
00013 protected:
00014   void                size_request_widgets (const vector<WidgetImpl*> widgets,
00015                                           Requisition        &max_requisition);
00016   virtual Requisition group_requisition  () = 0;
00017   static void         delete_widget        (WidgetImpl &widget);
00018   static void         invalidate_widget    (WidgetImpl &widget);
00019   static Requisition  widget_requisition   (WidgetImpl &widget);
00020 public:
00021   static SizeGroup*   create_hgroup      ();
00022   static SizeGroup*   create_vgroup      ();
00023   virtual bool        active             () const = 0;
00024   virtual void        active             (bool isactive) = 0;
00025   virtual void        add_widget           (WidgetImpl &widget) = 0;
00026   virtual void        remove_widget        (WidgetImpl &widget) = 0;
00027 };
00028 
00029 } // Rapicorn
00030 
00031 #endif  /* __RAPICORN_SIZE_GROUP_HH__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines