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: 7306 $ * 00038 * $Author: kremer $ * 00039 * $Date: 2009-10-02 15:25:40 +0200 (Fr, 02. Okt 2009) $ * 00040 * * 00041 \*===========================================================================*/ 00042 00043 00044 00045 00046 #include "addEmptyWidget.hh" 00047 #include <OpenFlipper/common/GlobalOptions.hh> 00048 00049 addEmptyWidget::addEmptyWidget(std::vector< DataType > _types , QStringList _typeNames, QWidget *parent) 00050 : QDialog(parent), 00051 types_(_types), 00052 typeNames_(_typeNames) 00053 { 00054 setupUi(this); 00055 00056 typeBox->setDuplicatesEnabled(false); 00057 00058 for (int i=0; i < (int)types_.size(); i++) 00059 typeBox->addItem(typeNames_[i],QVariant(types_[i])); 00060 00061 //set last used DataType as currentItem 00062 for (int i=0; i < typeBox->count(); i++) 00063 if (typeBox->itemText(i) == OpenFlipper::Options::lastDataType()) 00064 typeBox->setCurrentIndex(i); 00065 00066 connect(cancelButton,SIGNAL(clicked()),this,SLOT(close())); 00067 connect(addButton,SIGNAL(clicked()),this,SLOT(slotAddEmpty())); 00068 } 00069 00070 void addEmptyWidget::slotAddEmpty(){ 00071 int index = typeBox->currentIndex(); 00072 int unused; 00073 00074 DataType type = (DataType) typeBox->itemData(index).toInt(); 00075 for (int i=0; i < (int)types_.size(); i++) 00076 if (types_[i] == type){ 00077 emit chosen(type,unused); 00078 OpenFlipper::Options::lastDataType(typeBox->currentText()); 00079 this->close(); 00080 return; 00081 } 00082 emit chosen(DATA_UNKNOWN,unused); 00083 this->close(); 00084 }