Files
sqlitebrowser/src/EditTableDialog.h
Peinthor Rene 05da4bfe8e Rework the create/modify table dialog.
In the crusade to remove the ugly edit field dialog.
Editing tables does currently not work because of a locking issue.
2013-03-16 20:22:23 +01:00

60 lines
1.2 KiB
C++

#ifndef __EDITTABLEDIALOG_H__
#define __EDITTABLEDIALOG_H__
#include <QDialog>
class DBBrowserDB;
class SQLiteSyntaxHighlighter;
class QTreeWidgetItem;
namespace sqlb {
class Table;
}
namespace Ui {
class EditTableDialog;
}
class EditTableDialog : public QDialog
{
Q_OBJECT
public:
explicit EditTableDialog(DBBrowserDB* pdb, const QString& tableName, QWidget* parent = 0);
~EditTableDialog();
private:
enum Columns {
kName = 0,
kType = 1,
kNotNull = 2,
kPrimaryKey = 3,
kAutoIncrement = 4
};
void updateColumnWidth();
void updateTableObject();
void updateSqlText();
private slots:
virtual void populateFields();
virtual void addField();
virtual void removeField();
virtual void fieldSelectionChanged();
virtual void accept();
virtual void reject();
virtual void checkInput();
virtual void itemChanged(QTreeWidgetItem* item, int column);
virtual void updateTypes();
private:
Ui::EditTableDialog* ui;
DBBrowserDB* pdb;
QString curTable;
sqlb::Table* m_table;
QStringList types;
QStringList fields;
SQLiteSyntaxHighlighter* m_sqliteSyntaxHighlighter;
};
#endif