00001 /*===========================================================================*\ 00002 * * 00003 * OpenFlipper * 00004 * Copyright (C) 2001-2009 by Computer Graphics Group, RWTH Aachen * 00005 * www.openflipper.org * 00006 * * 00007 *---------------------------------------------------------------------------* 00008 * This file is part of OpenFlipper. * 00009 * * 00010 * OpenFlipper is free software: you can redistribute it and/or modify * 00011 * it under the terms of the GNU Lesser General Public License as * 00012 * published by the Free Software Foundation, either version 3 of * 00013 * the License, or (at your option) any later version with the * 00014 * following exceptions: * 00015 * * 00016 * If other files instantiate templates or use macros * 00017 * or inline functions from this file, or you compile this file and * 00018 * link it with other files to produce an executable, this file does * 00019 * not by itself cause the resulting executable to be covered by the * 00020 * GNU Lesser General Public License. This exception does not however * 00021 * invalidate any other reasons why the executable file might be * 00022 * covered by the GNU Lesser General Public License. * 00023 * * 00024 * OpenFlipper is distributed in the hope that it will be useful, * 00025 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00026 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00027 * GNU Lesser General Public License for more details. * 00028 * * 00029 * You should have received a copy of the GNU LesserGeneral Public * 00030 * License along with OpenFlipper. If not, * 00031 * see <http://www.gnu.org/licenses/>. * 00032 * * 00033 \*===========================================================================*/ 00034 00035 /*===========================================================================*\ 00036 * * 00037 * $Revision: 83 $ * 00038 * $Author: moebius $ * 00039 * $Date: 2009-02-27 17:31:45 +0100 (Fr, 27. Feb 2009) $ * 00040 * * 00041 \*===========================================================================*/ 00042 00043 00044 00045 //== INCLUDES ================================================================= 00046 00047 #include <QVBoxLayout> 00048 00049 #include "SideArea.hh" 00050 #include "SideElement.hh" 00051 00052 //== IMPLEMENTATION ========================================================== 00053 00054 SideArea::SideArea (QWidget *_parent) : 00055 QWidget (_parent) 00056 { 00057 00058 layout_ = new QVBoxLayout; 00059 layout_->setSpacing (0); 00060 00061 QVBoxLayout *l = new QVBoxLayout; 00062 l->addLayout (layout_); 00063 l->addStretch(1); 00064 00065 setLayout (l); 00066 } 00067 00068 //----------------------------------------------------------------------------- 00069 00070 void SideArea::addItem (QWidget *_w, QString _name) 00071 { 00072 SideElement *e = new SideElement (this, _w, _name); 00073 layout_->addWidget (e); 00074 items_.push_back (e); 00075 } 00076 00077 //----------------------------------------------------------------------------- 00078 00079 void SideArea::clear () 00080 { 00081 foreach (SideElement *e, items_) 00082 { 00083 layout_->removeWidget (e); 00084 delete e; 00085 } 00086 items_.clear (); 00087 } 00088 00089 //----------------------------------------------------------------------------- 00090 00091 void SideArea::saveState (QSettings &_settings) 00092 { 00093 _settings.beginGroup ("SideArea"); 00094 foreach (SideElement *e, items_) 00095 { 00096 e->saveState (_settings); 00097 } 00098 _settings.endGroup (); 00099 } 00100 00101 //----------------------------------------------------------------------------- 00102 void SideArea::restoreState (QSettings &_settings) 00103 { 00104 _settings.beginGroup ("SideArea"); 00105 foreach (SideElement *e, items_) 00106 { 00107 e->restoreState (_settings); 00108 } 00109 _settings.endGroup (); 00110 } 00111 00112 //============================================================================= 00113 //=============================================================================