|
Rapicorn - Experimental UI Toolkit - Source Code 10.08.1
|
00001 /* Rapicorn 00002 * Copyright (C) 2008 Tim Janik 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Lesser General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2.1 of the License, or (at your option) any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Lesser General Public License for more details. 00013 * 00014 * A copy of the GNU Lesser General Public License should ship along 00015 * with this library; if not, see http://www.gnu.org/copyleft/. 00016 */ 00017 #ifndef __RAPICORN_SIZE_GROUP_HH__ 00018 #define __RAPICORN_SIZE_GROUP_HH__ 00019 00020 #include <ui/item.hh> 00021 00022 namespace Rapicorn { 00023 00024 /* --- SizeGroup --- */ 00025 class SizeGroup : public virtual BaseObject { 00026 friend class ClassDoctor; 00027 friend class ItemImpl; 00028 protected: 00029 void size_request_items (const vector<ItemImpl*> items, 00030 Requisition &max_requisition); 00031 virtual Requisition group_requisition () = 0; 00032 static void delete_item (ItemImpl &item); 00033 static void invalidate_item (ItemImpl &item); 00034 static Requisition item_requisition (ItemImpl &item); 00035 public: 00036 static SizeGroup* create_hgroup (); 00037 static SizeGroup* create_vgroup (); 00038 virtual bool active () const = 0; 00039 virtual void active (bool isactive) = 0; 00040 virtual void add_item (ItemImpl &item) = 0; 00041 virtual void remove_item (ItemImpl &item) = 0; 00042 }; 00043 00044 } // Rapicorn 00045 00046 #endif /* __RAPICORN_SIZE_GROUP_HH__ */
1.7.4