Хранилища Subversion OpenInventory

Редакция

Редакция 54 | Редакция 56 | К новейшей редакции | Только различия | Не учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS

Редакция 54 Редакция 55
1
#include "classeditor.h"
1
#include "classeditor.h"
2
#include "ui_classeditor.h"
2
#include "ui_classeditor.h"
3
3
4
4
5
ClassEditor::ClassEditor(QWidget *parent) :
5
ClassEditor::ClassEditor(QWidget *parent) :
6
    QMainWindow(parent),
6
    QMainWindow(parent),
7
    ui(new Ui::ClassEditor)
7
    ui(new Ui::ClassEditor)
8
{
8
{
9
    ui->setupUi(this);
9
    ui->setupUi(this);
10
//    settdialog = new SettingsDialog(this);
10
//    settdialog = new SettingsDialog(this);
11
    settdialog.show();
11
    settdialog.show();
12
    sql.setDatabaseName(tr("an_db"));
12
    sql.setDatabaseName(tr("an_db"));
13
    field = new TableField(tr("Ñîòðóäíèêè"), this);
13
    field = new TableField(tr("Ñîòðóäíèêè"), this);
14
    field->setNotNull(true);
14
    field->setNotNull(true);
15
    field->setDefaultValue(tr("ñîòðóäíèê"));
15
    field->setDefaultValue(tr("ñîòðóäíèê"));
16
16
17
    table = new SqlTable (tr("NewTable"), this);
17
    table = new SqlTable (tr("NewTable"), this);
18
    table->setName(tr("NewTable"));
18
    table->setName(tr("NewTable"));
19
    table->fields().at(0)->setNotNull(true);
19
    table->fields().at(0)->setNotNull(true);
20
    if (!(table->setPrimaryKey(tr("ID")))) {
20
    if (!(table->setPrimaryKey(tr("ID")))) {
21
         ui->label_3->setText(table->lastError());
21
         ui->label_3->setText(table->lastError());
22
    }
22
    }
23
    else  ui->label_3->setText(table->primaryKey());
23
    else  ui->label_3->setText(table->primaryKey());
24
    table->append(field);
24
    table->append(field);
25
25
26
    field = new TableField(tr("Êîìïüþòåðû"), this);
26
    field = new TableField(tr("Êîìïüþòåðû"), this);
27
    field->setNotNull(true);
27
    field->setNotNull(true);
28
    field->setDefaultValue(tr("êîìïüþòåð"));
28
    field->setDefaultValue(tr("êîìïüþòåð"));
29
    table->append(field);
29
    table->append(field);
30
30
31
    field = new TableField(tr("Ìîíèòîðû"), this);
31
    field = new TableField(tr("Ìîíèòîðû"), this);
32
    field->setNotNull(true);
32
    field->setNotNull(true);
33
    field->setDefaultValue(tr("ìîíèòîð"));
33
    field->setDefaultValue(tr("ìîíèòîð"));
34
    table->append(field);
34
    table->append(field);
35
35
36
    field = new TableField(tr("Êîëè÷åñòâî (øòóê)"), this);
36
    field = new TableField(tr("Êîëè÷åñòâî (øòóê)"), this);
37
    field->setNotNull(true);
37
    field->setNotNull(true);
38
    field->setType(tr("INTEGER"));
38
    field->setType(tr("INTEGER"));
39
    field->setDefaultValue(tr("1"));
39
    field->setDefaultValue(tr("1"));
40
    table->append(field);
40
    table->append(field);
41
41
42
    field = new TableField(tr("Äåíü ðîæäåíèÿ"), this);
42
    field = new TableField(tr("Äåíü ðîæäåíèÿ"), this);
43
    field->setNotNull(false);
43
    field->setNotNull(false);
44
    field->setType(tr("DATE"));
44
    field->setType(tr("DATE"));
45
    field->setDefaultValue(tr("NULL"));
45
    field->setDefaultValue(tr("NULL"));
46
    table->append(field);
46
    table->append(field);
47
47
48
    ui->label_2->setText(table->name());
48
    ui->label_2->setText(table->name());
49
    ui->label->setText(table->fields().at(0)->sqlString());
49
    ui->label->setText(table->fields().at(0)->sqlString());
50
    ui->label_4->setText(table->sqlString());
50
    ui->label_4->setText(table->sqlString());
51
   ////// ui->lineEdit->insert(table->sqlString());
51
   ////// ui->lineEdit->insert(table->sqlString());
52
52
53
53
54
    /**********************************************
54
    /**********************************************
55

55

56
    QTextDocument *document;
56
    QTextDocument *document;
57
    // = ui->textEdit->document();
57
    // = ui->textEdit->document();
58
    QTextCursor *cursor;
58
    QTextCursor *cursor;
59

59

60
    document = ui->textEdit->document();
60
    document = ui->textEdit->document();
61
    cursor = new QTextCursor(document);
61
    cursor = new QTextCursor(document);
62
    cursor->movePosition(QTextCursor::Start);
62
    cursor->movePosition(QTextCursor::Start);
63
QTextCharFormat format(cursor->charFormat());
63
QTextCharFormat format(cursor->charFormat());
64
//format.setFontFamily("Courier");
64
//format.setFontFamily("Courier");
65
format.setFontFamily("Arial");
65
format.setFontFamily("Arial");
66
//format.setFontItalic(false);
66
//format.setFontItalic(false);
67

67

68
format.setFontWeight(QFont::Normal);
68
format.setFontWeight(QFont::Normal);
69
QTextCharFormat boldFormat = format;
69
QTextCharFormat boldFormat = format;
70
boldFormat.setFontWeight(QFont::Bold);
70
boldFormat.setFontWeight(QFont::Bold);
71

71

72
QTextCharFormat italicFormat = format;
72
QTextCharFormat italicFormat = format;
73
//format.setFontFamily("Courier");
73
//format.setFontFamily("Courier");
74
//     format.setFontFamily("Arial");
74
//     format.setFontFamily("Arial");
75
italicFormat.setFontItalic(true);
75
italicFormat.setFontItalic(true);
76

76

77
cursor->insertText(table->sqlString(), format);
77
cursor->insertText(table->sqlString(), format);
78

78

79
****************************************************/
79
****************************************************/
80
80
81
QString errorString;
81
QString errorString;
82
82
83
sql.setDatabaseName(tr("an_db"));
83
sql.setDatabaseName(tr("an_db"));
84
sql.setHostName(tr("localhost"));
84
sql.setHostName(tr("localhost"));
85
sql.setUserName(tr("an"));
85
sql.setUserName(tr("an"));
86
sql.setPassword(tr("393939"));
86
sql.setPassword(tr("393939"));
87
87
88
bool ok;
88
bool ok;
89
ok = sql.connect();
89
ok = sql.connect();
90
if (!ok) {
90
if (!ok) {
91
                            QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
91
                            QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
92
                                                                            this,                      // Ðîäèòåëüñêèé âèäæåò.
92
                                                                            this,                      // Ðîäèòåëüñêèé âèäæåò.
93
                                                                            QObject::tr("Database Error"),   // Çàãîëîâîê.
93
                                                                            QObject::tr("Database Error"),   // Çàãîëîâîê.
94
                                                                            sql.lasError());         // Òåêñò ñîîáùåíèÿ.
94
                                                                            sql.lasError());         // Òåêñò ñîîáùåíèÿ.
95
95
96
                     }
96
                     }
97
else {
97
else {
98
98
99
    QMessageBox::information( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
99
    QMessageBox::information( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
100
                                                    this,                      // Ðîäèòåëüñêèé âèäæåò.
100
                                                    this,                      // Ðîäèòåëüñêèé âèäæåò.
101
                                                    QObject::tr("Database Connect"),   // Çàãîëîâîê.
101
                                                    QObject::tr("Database Connect"),   // Çàãîëîâîê.
102
                                                    QObject::tr("Ñîåäèíåíèå ñ áàçîé äàííûõ óñïåøíî óñòàíîâëåíî."));         // Òåêñò ñîîáùåíèÿ.
102
                                                    QObject::tr("Ñîåäèíåíèå ñ áàçîé äàííûõ óñïåøíî óñòàíîâëåíî."));         // Òåêñò ñîîáùåíèÿ.
103
103
104
104
105
105
106
106
107
107
108
}
108
}
109
109
110
110
111
ok = sql.createTable(table);
111
ok = sql.createTable(table);
112
if (!ok) {
112
if (!ok) {
113
                            QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
113
                            QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
114
                                                                            this,                      // Ðîäèòåëüñêèé âèäæåò.
114
                                                                            this,                      // Ðîäèòåëüñêèé âèäæåò.
115
                                                                            QObject::tr("Database Error"),   // Çàãîëîâîê.
115
                                                                            QObject::tr("Database Error"),   // Çàãîëîâîê.
116
                                                                            sql.lasError());         // Òåêñò ñîîáùåíèÿ.
116
                                                                            sql.lasError());         // Òåêñò ñîîáùåíèÿ.
117
         }
117
         }
118
else {
118
else {
119
119
120
    QMessageBox::information( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
120
    QMessageBox::information( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
121
                                                    this,                      // Ðîäèòåëüñêèé âèäæåò.
121
                                                    this,                      // Ðîäèòåëüñêèé âèäæåò.
122
                                                    QObject::tr("Database Connect"),   // Çàãîëîâîê.
122
                                                    QObject::tr("Database Connect"),   // Çàãîëîâîê.
123
                                                    QObject::tr("Òàáëèöà â áàçå äàííûõ óñïåøíî ñîçäàíà."));         // Òåêñò ñîîáùåíèÿ.
123
                                                    QObject::tr("Òàáëèöà â áàçå äàííûõ óñïåøíî ñîçäàíà."));         // Òåêñò ñîîáùåíèÿ.
124
     }
124
     }
125
125
126
126
127
127
128
128
129
129
130
ok = sql.createDataBase();
130
ok = sql.createDataBase();
131
131
132
if (!ok) {
132
if (!ok) {
133
                            QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
133
                            QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
134
                                                                            this,                      // Ðîäèòåëüñêèé âèäæåò.
134
                                                                            this,                      // Ðîäèòåëüñêèé âèäæåò.
135
                                                                            QObject::tr("Database Error"),   // Çàãîëîâîê.
135
                                                                            QObject::tr("Database Error"),   // Çàãîëîâîê.
136
                                                                            sql.lasError());         // Òåêñò ñîîáùåíèÿ.
136
                                                                            sql.lasError());         // Òåêñò ñîîáùåíèÿ.
137
137
138
                     }
138
                     }
139
else {
139
else {
140
140
141
    QMessageBox::information( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
141
    QMessageBox::information( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
142
                                                    this,                      // Ðîäèòåëüñêèé âèäæåò.
142
                                                    this,                      // Ðîäèòåëüñêèé âèäæåò.
143
                                                    QObject::tr("Database Create"),   // Çàãîëîâîê.
143
                                                    QObject::tr("Database Create"),   // Çàãîëîâîê.
144
                                                    QObject::tr("Áàçà äàííûõ óñïåøíî ñîçäàíà."));         // Òåêñò ñîîáùåíèÿ.
144
                                                    QObject::tr("Áàçà äàííûõ óñïåøíî ñîçäàíà."));         // Òåêñò ñîîáùåíèÿ.
145
    }
145
    }
146
146
147
147
148
model = new QSqlTableModel(this);
148
model = new QSqlTableModel(this);
149
mymodel = new MyModel(this);
149
mymodel = new MyModel(this);
150
150
151
151
152
model->setTable(tr("ListOfClasses"));
152
model->setTable(tr("ListOfClasses"));
153
mymodel->setTable(tr("ListOfClasses"));
153
mymodel->setTable(tr("ListOfClasses"));
154
154
155
/////model->setEditStrategy(QSqlTableModel::OnManualSubmit);
155
/////model->setEditStrategy(QSqlTableModel::OnManualSubmit);
156
156
157
/*
157
/*
158
model->setEditStrategy(QSqlTableModel::OnFieldChange);
158
model->setEditStrategy(QSqlTableModel::OnFieldChange);
159
mymodel->setEditStrategy(QSqlTableModel::OnFieldChange);
159
mymodel->setEditStrategy(QSqlTableModel::OnFieldChange);
160
*/
160
*/
161
161
162
162
163
model->setSort(0, Qt::AscendingOrder);
163
model->setSort(0, Qt::AscendingOrder);
164
mymodel->setSort(0, Qt::AscendingOrder);
164
mymodel->setSort(0, Qt::AscendingOrder);
165
165
166
//       model->setFilter(tr("Èäåíòèôèêàòîð_ñèñòåìíîãî_áëîêà = '7' and Èíâåíòàðíûé_íîìåð = 'i09090909'"));
166
//       model->setFilter(tr("Èäåíòèôèêàòîð_ñèñòåìíîãî_áëîêà = '7' and Èíâåíòàðíûé_íîìåð = 'i09090909'"));
167
model->select();
167
model->select();
168
mymodel->select();
168
mymodel->select();
169
169
170
model->setHeaderData(1, Qt::Horizontal, tr("Èìÿ êëàññà"));
170
model->setHeaderData(1, Qt::Horizontal, tr("Èìÿ êëàññà"));
171
mymodel->setHeaderData(1, Qt::Horizontal, tr("Èìÿ êëàññà"));
171
mymodel->setHeaderData(1, Qt::Horizontal, tr("Èìÿ êëàññà"));
172
172
173
173
174
174
175
model->setHeaderData(2, Qt::Horizontal, tr("Ïñåâäîíèì êëàññà"));
175
model->setHeaderData(2, Qt::Horizontal, tr("Ïñåâäîíèì êëàññà"));
176
mymodel->setHeaderData(2, Qt::Horizontal, tr("Ïñåâäîíèì êëàññà"));
176
mymodel->setHeaderData(2, Qt::Horizontal, tr("Ïñåâäîíèì êëàññà"));
177
177
178
//ui->tableView->setModel(model);
178
//ui->tableView->setModel(model);
179
ui->tableView->setModel(mymodel);
179
ui->tableView->setModel(mymodel);
180
180
181
181
182
182
183
183
184
ui->tableView->setAlternatingRowColors(true);
184
ui->tableView->setAlternatingRowColors(true);
185
ui->tableView->resizeColumnsToContents();
185
ui->tableView->resizeColumnsToContents();
186
//ui->tableView->hideColumn(0);
186
ui->tableView->hideColumn(0);
187
-
 
-
 
187
ui->tableView->hideColumn(3);
188
188
189
189
-
 
190
//connect(ui->tableView, SIGNAL(clicked(const QModelIndex)), this, SLOT(on_tableView_clicked(const QModelIndex)));
190
}
191
}
191
192
192
193
193
194
194
195
195
196
196
197
197
198
198
199
199
200
200
201
201
202
202
ClassEditor::~ClassEditor()
203
ClassEditor::~ClassEditor()
203
{
204
{
204
    delete ui;
205
    delete ui;
205
 //    delete field;
206
 //    delete field;
206
   // delete settdialog;
207
   // delete settdialog;
207
}
208
}
208
209
209
void ClassEditor::changeEvent(QEvent *e)
210
void ClassEditor::changeEvent(QEvent *e)
210
{
211
{
211
    QMainWindow::changeEvent(e);
212
    QMainWindow::changeEvent(e);
212
    switch (e->type()) {
213
    switch (e->type()) {
213
    case QEvent::LanguageChange:
214
    case QEvent::LanguageChange:
214
        ui->retranslateUi(this);
215
        ui->retranslateUi(this);
215
        break;
216
        break;
216
    default:
217
    default:
217
        break;
218
        break;
218
    }
219
    }
219
}
220
}
220
221
221
222
222
223
223
void  ClassEditor::addNewClass(){
224
void  ClassEditor::addNewClass(){
224
225
225
    int row = model->rowCount();
226
    int row = model->rowCount();
226
227
227
    model->insertRows(row, 1);
228
    model->insertRows(row, 1);
228
    model->setData(model->index(row, 1), tr("New class")); // ïðèñâàèâàåì íîâîå çíà÷åíèå ïîëþ "èìÿ êëàññà"
229
    model->setData(model->index(row, 1), tr("New class")); // ïðèñâàèâàåì íîâîå çíà÷åíèå ïîëþ "èìÿ êëàññà"
229
230
230
231
231
    // model->setData(model->index(row, 1), tr("Âàñÿ Ïóïê  èí"));
232
    // model->setData(model->index(row, 1), tr("Âàñÿ Ïóïê  èí"));
232
    // model->setData(model->index(row, 2) , tr("Ìóõîñðà  íñê, Çàæîïèíñêèå âûñåëêè ä 1"));
233
    // model->setData(model->index(row, 2) , tr("Ìóõîñðà  íñê, Çàæîïèíñêèå âûñåëêè ä 1"));
233
234
234
235
235
    model->submitAll();
236
    model->submitAll();
236
237
237
    row = model->rowCount();
238
    row = model->rowCount();
238
    QString tmp_str;
239
    QString tmp_str;
239
    int i_tmp;
240
    int i_tmp;
240
    i_tmp = model->data(model->index(row-1, 0)).toInt();
241
    i_tmp = model->data(model->index(row-1, 0)).toInt();
241
    tmp_str = model->data(model->index(row-1, 0)).toString(); // ãåíåðèì èìÿ òàáëèöû-õðàíèëèùà îáúåêòîâ êëàññà
242
    tmp_str = model->data(model->index(row-1, 0)).toString(); // ãåíåðèì èìÿ òàáëèöû-õðàíèëèùà îáúåêòîâ êëàññà
242
243
243
    tmp_str.append(tr("_Inctance"));
244
    tmp_str.append(tr("_Inctance"));
244
    model->setData(model->index(row-1, 3), tmp_str );  // è çàíîñèì çíà÷åíèå â òàáëèöó
245
    model->setData(model->index(row-1, 3), tmp_str );  // è çàíîñèì çíà÷åíèå â òàáëèöó
245
246
246
    model->submitAll();
247
    model->submitAll();
247
    mymodel->select();
248
    mymodel->select();
248
249
249
250
250
}
251
}
251
252
252
253
253
void  ClassEditor::addNewClass_new(){
254
void  ClassEditor::addNewClass_new(){
254
255
255
    int row = mymodel->rowCount();
256
    int row = mymodel->rowCount();
256
257
257
    mymodel->insertRows(row, 1);
258
    mymodel->insertRows(row, 1);
258
    mymodel->setData(mymodel->index(row, 1), QVariant(tr("New classs")), Qt::EditRole); // ïðèñâàèâàåì íîâîå çíà÷åíèå ïîëþ "èìÿ êëàññà"
259
    mymodel->setData(mymodel->index(row, 1), QVariant(tr("New classs")), Qt::EditRole); // ïðèñâàèâàåì íîâîå çíà÷åíèå ïîëþ "èìÿ êëàññà"
259
260
260
    mymodel->submitAll();
261
    mymodel->submitAll();
261
262
262
    row = mymodel->rowCount();
263
    row = mymodel->rowCount();
263
    QString tmp_str1;
264
    QString tmp_str1;
264
    int i_tmp1;
265
    int i_tmp1;
265
    i_tmp1 = mymodel->data(mymodel->index(row-1, 0)).toInt();
266
    i_tmp1 = mymodel->data(mymodel->index(row-1, 0)).toInt();
266
    tmp_str1 = mymodel->data(mymodel->index(row-1, 0)).toString(); // ãåíåðèì èìÿ òàáëèöû-õðàíèëèùà îáúåêòîâ êëàññà
267
    tmp_str1 = mymodel->data(mymodel->index(row-1, 0)).toString(); // ãåíåðèì èìÿ òàáëèöû-õðàíèëèùà îáúåêòîâ êëàññà
267
268
268
    tmp_str1.append(tr("_Inctance"));
269
    tmp_str1.append(tr("_Inctance"));
269
    mymodel->setData(mymodel->index(row-1, 3), QVariant(tmp_str1), Qt::EditRole);  // è çàíîñèì çíà÷åíèå â òàáëèöó
270
    mymodel->setData(mymodel->index(row-1, 3), QVariant(tmp_str1), Qt::EditRole);  // è çàíîñèì çíà÷åíèå â òàáëèöó
270
271
271
    // model->setData(model->index(row, 1), tr("Âàñÿ Ïóïê  èí"));
272
    // model->setData(model->index(row, 1), tr("Âàñÿ Ïóïê  èí"));
272
    // model->setData(model->index(row, 2) , tr("Ìóõîñðà  íñê, Çàæîïèíñêèå âûñåëêè ä 1"));
273
    // model->setData(model->index(row, 2) , tr("Ìóõîñðà  íñê, Çàæîïèíñêèå âûñåëêè ä 1"));
273
274
274
275
275
    mymodel->submitAll();
276
    mymodel->submitAll();
276
277
277
    //row = mymodel->rowCount();
278
    //row = mymodel->rowCount();
278
279
279
280
280
  mymodel->select();
281
  mymodel->select();
281
282
282
283
283
}
284
}
284
285
285
286
286
void ClassEditor::on_pushButton_clicked(){
287
void ClassEditor::on_pushButton_clicked(){
287
//int i;
288
//int i;
288
//i++;
289
//i++;
289
/////ClassEditor::addNewClass();
290
/////ClassEditor::addNewClass();
290
ClassEditor::addNewClass_new();
291
ClassEditor::addNewClass_new();
291
 mymodel->select();
292
 mymodel->select();
292
//ui->tableView->setModel(mymodel);
293
//ui->tableView->setModel(mymodel);
293
294
294
}
295
}
295
296
-
 
297
void ClassEditor::on_tableView_clicked(const QModelIndex & index ){
-
 
298
    int i, row, column;
-
 
299
    i++;
-
 
300
    row = index.row();
-
 
301
    column = index.column();
-
 
302
}
296
303
297
 
304