Редакция 161 | К новейшей редакции | Авторство | Сравнить с предыдущей | Последнее изменение | Открыть журнал | Скачать | 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 "delegate.h"
#include "settingform.h"
#include <QTreeView>
#include <QFileDialog>
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;
settingForm setFrm;
IconForm iconFrm;
QString baseName;
QString hostName;
QString userName;
QString password;
QString tableName;
void readSettings();
void writeSettings();
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;
SpinBoxDelegate delegateForDefaultValueColomn;
// void addNewClass(); // äîáàâèì íîâûé êëàññ
void addNewClass_new();
void addNewField(); // äîáàâëÿåì íîâîå ïîëå ê êëàññó
void addNewPointer();//äîáîâëÿåì íîâîå ïîëå, ãäå áóäóò õðàíèòüñÿ óêàçàòåëè íà îáúåêòû êëàññà-êîíòåéíåðà
void refreshInctance(); // îáíîâèì ìîäåëü òàáëèöû-õðàíèëèùà
void initDataBase(); // íàñòðîéêà ïàðàìåòðîâ ñîåäèíåíèÿ è óñòàíîâêà ñîåäèíåíèÿ
void createMainTables();// ñîçäàåì ñòðóêòóðó áàçû äàííûõ - òàáëèöû DescriptionOfClasses è ListOfClasses
void initClassListTable(); // íàñòðàèâàåì òàáëèöó äëÿ îòîáðàæåíèÿ ñïèñêà ñóùåñòâóþùèõ êëàññîâ
void initFieldsTable(); // íàñòðàèâàåì òàáëèöó äëÿ îòîáðàæåíèÿ ñïèñêà ïîëåé êëàññà
void initPointersTable(); // íàñòðàèâàåì òàáëèöó äëÿ îòîáðàæåíèÿ ñïèñêà ïîëåé-óêàçàòåëåé êëàññà
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_pushButton_6_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 on_action_removeSelectedPointers(); // óäàëèòü âûäåëåííûå óêàçàòåëè
void removeClass(int class_row); // ôóíêöèÿ óäàëÿåò êëàññ, íàõîäÿùèéñÿ â ñòðîêå ñ íîìåðîì class_row
void on_field_changed(); // ïîìåíÿëîñü èìÿ ïîëÿ
void on_action_newPointer(); // äîáàâèòü íîâûé óêàçàòåëü íà êëàññ-êîíòåéíåð
void applySetting();
void getSetting(); // îòêðîåì îêíî íàñòðîåê
};
#endif // CLASSEDITOR_H