00001 /* 00002 00003 Copyright (C) 2006-2007 by Peter Dimov. 00004 00005 This file is part of Calitko (http://www.calitko.org). 00006 00007 Calitko is free software; you can redistribute it and/or modify 00008 it under the terms of the GNU General Public License as published by 00009 the Free Software Foundation; either version 2 of the License, or 00010 (at your option) any later version. 00011 00012 Calitko is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 GNU General Public License for more details. 00016 00017 You should have received a copy of the GNU General Public License 00018 along with Calitko; if not, write to the Free Software 00019 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00020 00021 */ 00022 #ifndef UIS__SEARCHING__ADVANCED_SEARCH_WIDGET_H 00023 #define UIS__SEARCHING__ADVANCED_SEARCH_WIDGET_H 00024 00025 #include "SearchModel.h" 00026 00027 namespace UIs 00028 { 00029 namespace Searching 00030 { 00032 00033 class AdvancedSearchWidget : 00034 public QGroupBox 00035 { 00036 Q_OBJECT 00037 00038 QDomDocument outputDoc; 00039 QMap <QWidget *, 00040 QString> elementToString; 00041 00042 QGridLayout *CreateWidgetForType (const QDomDocument & schema, const QString &typeName); 00043 void CreateWidget (const QDomDocument & schema); 00044 public: 00045 AdvancedSearchWidget (const QString &schemaFileName, QWidget * parent = 0); 00046 ~AdvancedSearchWidget (); 00047 const QDomDocument *XMLRequest () const; 00048 00049 private slots: 00050 void elementEditingFinished (); 00051 }; 00052 00053 } // namespace Searching 00054 } // namespace UIs 00056 #endif // UIS__SEARCHING__ADVANCED_SEARCH_WIDGET_H