Go to the documentation of this file.00001 #ifndef TABLEEDITOR_H
00002 #define TABLEEDITOR_H
00003
00004 #include <QMainWindow>
00005 #include <QtSql>
00006 #include <QtGui>
00007 #include <QMap>
00008 #include <QHash>
00009
00010 namespace Ui {
00011 class tableEditor;
00012 }
00013
00018
00019 class tableEditor : public QMainWindow
00020 {
00021 Q_OBJECT
00022
00023 public:
00024 explicit tableEditor(QWidget *parent = 0);
00025 ~tableEditor();
00027 QSqlDatabase db;
00028
00030 QIcon dbIcon;
00031
00033 void loadDatabaseList(QString defaultDb);
00034
00037 bool isEditing;
00038
00052 void addColumn(QString strColName, QString length, QString datType, QString isNull, QString strAutoInc,
00053 QString primaryKey, QString strDefault, bool specifiedPosition, int position);
00054
00056 void saveTable();
00057
00059 void saveEditedTable();
00060 void editTable();
00061 void startEdit(QString tableName, QString dbName);
00062 QHash<int, QCheckBox*> notNulls;
00063 QHash<int, QCheckBox*> autoIncrements;
00064 QHash<int, QComboBox*> dataTypes;
00065 QHash<int, QCheckBox*> primaryKeys;
00066 QHash<int, QString> m_originalName;
00067 QHash<int, bool*> toDelete;
00068 QHash<int, QString> m_originalNotNull;
00069 QHash<int, QString> m_originalAutoInc;
00070 QHash<int, QString> m_originalPrimKey;
00071 QHash<int, QString> m_originalDataType;
00072 QHash<int, QString> m_originalDefault;
00073 QHash<int, QString> m_originalLength;
00074 void updateEdit();
00075 void insertColumn(QString after);
00076 QMdiArea *par;
00077 protected:
00078 void changeEvent(QEvent *e);
00079 private:
00080 Ui::tableEditor *ui;
00081 QStringList columnNames;
00082 public slots:
00083 void generateQuery();
00084 signals:
00085 void closeMe();
00086 private slots:
00087 void on_tblColumns_currentCellChanged(int currentRow, int currentColumn, int previousRow, int previousColumn);
00088 void on_tblColumns_cellChanged(int row, int column);
00089 void on_tblColumns_currentItemChanged(QTableWidgetItem* current, QTableWidgetItem* previous);
00090 void on_tblColumns_itemChanged(QTableWidgetItem* item);
00091 void on_tblColumns_itemClicked(QTableWidgetItem* item);
00092 void on_cmdDeleteColumn_clicked();
00093 void on_cmdCancel_clicked();
00094 void on_cmdCreateTable_clicked();
00095 void on_btn_AddColumn_clicked();
00096 };
00097
00098 #endif // TABLEEDITOR_H