Rapicorn - Experimental UI Toolkit - Source Code
13.07.0
|
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__ */