Редакция 82 | Редакция 87 | К новейшей редакции | Авторство | Сравнить с предыдущей | Последнее изменение | Открыть журнал | Скачать | RSS
#ifndef CLASSEDITOR_H
#define CLASSEDITOR_H
#include <QMainWindow>
#include "mysql.h"
#include "mymodel.h"
#include "modelfordescriptiontable.h"
#include "delegateforclassestable.h"
#include "modelforpointers.h"
#include <QTreeView>
namespace Ui {
class ClassEditor;
}
class ClassEditor : public QMainWindow {
Q_OBJECT
public:
ClassEditor(QWidget *parent = 0);
~ClassEditor();
protected:
void changeEvent(QEvent *e);
private:
Ui::ClassEditor *ui;
MySql sql;
SettingsDialog settdialog;
TableField *field;
SqlTable *table;
QModelIndex currIndexOfClassesTable; // ïåðåìåííàÿ õðàíèò òåêóùèé èíäåêñ òàáëèöû êëàññîâ
QString currClassID; // òåêóùèé èäåíòèôèêàòîð êëàññà
QString currInctanceTable; // èìÿ òàáëèöû-õðàíèëèùà îáúåêòîâ äëÿ âûáðàííîãî êëàññà
QSqlTableModel* model;
// QSqlTableModel* modelForPointers; // ìîäåëü äëÿ òàáëèöû ñ óêàçàòåëÿìè
ModelForPointers* modelForPointers; // ìîäåëü äëÿ òàáëèöû ñ óêàçàòåëÿìè
// QSqlTableModel* modelForDescription;
ModelForDescriptionTable* modelForDescription;
QSqlTableModel* Inctance_model;
QTableView* tableForDescription;
MyModel* mymodel;
QTableView* tableForInstance; // çäåñü áóäåì îòîáðàæàòü òàáëèöó-õðàíèëèùå îáúåêòîà êëàññà
QTableView tableForInstance_new; // çäåñü áóäåì îòîáðàæàòü òàáëèöó-õðàíèëèùå îáúåêòîà êëàññà
DelegateForClassesTable classTableDelegate;
// void addNewClass(); // äîáàâèì íîâûé êëàññ
void addNewClass_new();
void addNewField(); // äîáàâëÿåì íîâîå ïîëå ê êëàññó
void addNewPointer();//äîáîâëÿåì íîâîå ïîëå, ãäå áóäóò õðàíèòüñÿ óêàçàòåëè íà îáúåêòû êëàññà-êîíòåéíåðà
void refreshInctance(); // îáíîâèì ìîäåëü òàáëèöû-õðàíèëèùà
private slots:
void on_pushButton_clicked(); // îáðàáîò÷èê íàæàòèÿ êíîïêè "Íîâûé êëàññ"
void on_pushButton_2_clicked(); // îáðàáîò÷èê íàæàòèÿ êíîïêè "Óäàëèòü êëàññ"
void on_pushButton_3_clicked(); // îáðàáîò÷èê íàæàòèÿ êíîïêè "Íîâîå ïîëå"
void on_pushButton_4_clicked(); // îáðàáîò÷èê íàæàòèÿ êíîïêè "Óäàëèòü ïîëå"
void on_pushButton_5_clicked(); // îáðàáîò÷èê íàæàòèÿ êíîïêè "Óäàëèòü âñå ïîëÿ"
void on_action_ID_triggered(bool is_checked); // îáðàáàòûâàåì âûáîð â ìåíþ "Ïîêàçûâàòü ID"
void on_action_showAlias_triggered(bool is_checked); // îáðàáàòûâàåì âûáîð â ìåíþ "Ïîêàçûâàòü ïñåâäîíèì"
void on_action_showInstance_triggered(bool is_checked); // ... ïîêàçûâàòü õðàíèëèùà îáúåêòîâ
void on_tableView_clicked(const QModelIndex & index );
void on_myModel_dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight );
void on_modelForDescription_dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight );
void on_action_removeAllClasses(); // óäàëèòü âñå êëàññû
void removeClass(int class_row); // ôóíêöèÿ óäàëÿåò êëàññ, íàõîäÿùèéñÿ â ñòðîêå ñ íîìåðîì class_row
void on_field_changed(); // ïîìåíÿëîñü èìÿ ïîëÿ
void on_action_newPointer(); // äîáàâèòü íîâûé óêàçàòåëü íà êëàññ-êîíòåéíåð
};
#endif // CLASSEDITOR_H