XML Mill  1.0.0
A GUI based XML editor with a memory.
gcaddsnippetsform.h
00001 /* Copyright (c) 2012 - 2013 by William Hallatt.
00002  *
00003  * This file forms part of "XML Mill".
00004  *
00005  * The official website for this project is <http://www.goblincoding.com> and,
00006  * although not compulsory, it would be appreciated if all works of whatever
00007  * nature using this source code (in whole or in part) include a reference to
00008  * this site.
00009  *
00010  * Should you wish to contact me for whatever reason, please do so via:
00011  *
00012  *                 <http://www.goblincoding.com/contact>
00013  *
00014  * This program is free software: you can redistribute it and/or modify it under
00015  * the terms of the GNU General Public License as published by the Free Software
00016  * Foundation, either version 3 of the License, or (at your option) any later
00017  * version.
00018  *
00019  * This program is distributed in the hope that it will be useful, but WITHOUT
00020  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
00021  * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
00022  *
00023  * You should have received a copy of the GNU General Public License along with
00024  * this program (GNUGPL.txt).  If not, see
00025  *
00026  *                    <http://www.gnu.org/licenses/>
00027  */
00028 
00029 #ifndef GCADDSNIPPETSFORM_H
00030 #define GCADDSNIPPETSFORM_H
00031 
00032 #include <QDialog>
00033 #include <QDomElement>
00034 
00035 namespace Ui
00036 {
00037   class GCAddSnippetsForm;
00038 }
00039 
00040 class GCTreeWidgetItem;
00041 class QTableWidgetItem;
00042 
00044 
00060 class GCAddSnippetsForm : public QDialog
00061 {
00062 Q_OBJECT
00063 
00064 public:
00070   explicit GCAddSnippetsForm( const QString& elementName, GCTreeWidgetItem* parentItem, QWidget* parent = 0 );
00071 
00073   ~GCAddSnippetsForm();
00074 
00075 signals:
00080   void snippetAdded( GCTreeWidgetItem* parent, QDomElement elementToAdd );
00081 
00082   private slots:
00085   void elementSelected( GCTreeWidgetItem* item, int column );
00086 
00089   void attributeChanged( QTableWidgetItem* item ) const;
00090 
00092   void attributeValueChanged() const;
00093 
00097   void addSnippet();
00098 
00100   void showHelp();
00101 
00102 private:
00107   void updateCheckStates( GCTreeWidgetItem* item ) const;
00108 
00109   Ui::GCAddSnippetsForm* ui;
00110   GCTreeWidgetItem* m_parentItem;
00111   bool m_treeItemActivated;
00112 };
00113 
00114 #endif // GCADDSNIPPETSFORM_H