Хранилища Subversion OpenInventory

Редакция

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

Редакция Автор № строки Строка
24 pingvin 1
#include "classeditor.h"
2
#include "ui_classeditor.h"
3
 
45 pingvin 4
 
24 pingvin 5
ClassEditor::ClassEditor(QWidget *parent) :
6
    QMainWindow(parent),
7
    ui(new Ui::ClassEditor)
8
{
9
    ui->setupUi(this);
10
//    settdialog = new SettingsDialog(this);
11
    settdialog.show();
12
    sql.setDatabaseName(tr("an_db"));
56 pingvin 13
 
35 pingvin 14
    field = new TableField(tr(""), this);
38 pingvin 15
    field->setNotNull(true);
35 pingvin 16
    field->setDefaultValue(tr(""));
33 pingvin 17
 
38 pingvin 18
    table = new SqlTable (tr("NewTable"), this);
19
    table->setName(tr("NewTable"));
39 pingvin 20
    table->fields().at(0)->setNotNull(true);
21
    if (!(table->setPrimaryKey(tr("ID")))) {
22
         ui->label_3->setText(table->lastError());
23
    }
24
    else  ui->label_3->setText(table->primaryKey());
25
    table->append(field);
26
 
27
    field = new TableField(tr(""), this);
28
    field->setNotNull(true);
29
    field->setDefaultValue(tr(""));
30
    table->append(field);
31
 
40 pingvin 32
    field = new TableField(tr(""), this);
33
    field->setNotNull(true);
34
    field->setDefaultValue(tr(""));
35
    table->append(field);
36
 
37
    field = new TableField(tr(" ()"), this);
38
    field->setNotNull(true);
39
    field->setType(tr("INTEGER"));
40
    field->setDefaultValue(tr("1"));
41
    table->append(field);
42
 
43
    field = new TableField(tr(" "), this);
44
    field->setNotNull(false);
45
    field->setType(tr("DATE"));
46
    field->setDefaultValue(tr("NULL"));
47
    table->append(field);
48
 
38 pingvin 49
    ui->label_2->setText(table->name());
50
    ui->label->setText(table->fields().at(0)->sqlString());
39 pingvin 51
    ui->label_4->setText(table->sqlString());
40 pingvin 52
   ////// ui->lineEdit->insert(table->sqlString());
38 pingvin 53
 
45 pingvin 54
 
55
    /**********************************************
56
 
40 pingvin 57
    QTextDocument *document;
58
    // = ui->textEdit->document();
59
    QTextCursor *cursor;
45 pingvin 60
 
40 pingvin 61
    document = ui->textEdit->document();
62
    cursor = new QTextCursor(document);
63
    cursor->movePosition(QTextCursor::Start);
64
QTextCharFormat format(cursor->charFormat());
65
//format.setFontFamily("Courier");
66
format.setFontFamily("Arial");
67
//format.setFontItalic(false);
68
 
69
format.setFontWeight(QFont::Normal);
70
QTextCharFormat boldFormat = format;
71
boldFormat.setFontWeight(QFont::Bold);
72
 
73
QTextCharFormat italicFormat = format;
74
//format.setFontFamily("Courier");
75
//     format.setFontFamily("Arial");
76
italicFormat.setFontItalic(true);
77
 
78
cursor->insertText(table->sqlString(), format);
41 pingvin 79
 
45 pingvin 80
****************************************************/
81
 
41 pingvin 82
QString errorString;
83
 
84
sql.setDatabaseName(tr("an_db"));
85
sql.setHostName(tr("localhost"));
86
sql.setUserName(tr("an"));
87
sql.setPassword(tr("393939"));
88
 
89
bool ok;
44 pingvin 90
ok = sql.connect();
41 pingvin 91
if (!ok) {
92
                            QMessageBox::critical( //     .
93
                                                                            this,                      //  .
94
                                                                            QObject::tr("Database Error"),   // .
45 pingvin 95
                                                                            sql.lasError());         //  .
41 pingvin 96
 
97
                     }
98
else {
99
 
100
    QMessageBox::information( //     .
101
                                                    this,                      //  .
102
                                                    QObject::tr("Database Connect"),   // .
103
                                                    QObject::tr("     ."));         //  .
104
 
105
 
106
 
107
 
108
 
24 pingvin 109
}
110
 
42 pingvin 111
 
44 pingvin 112
ok = sql.createTable(table);
42 pingvin 113
if (!ok) {
114
                            QMessageBox::critical( //     .
115
                                                                            this,                      //  .
116
                                                                            QObject::tr("Database Error"),   // .
45 pingvin 117
                                                                            sql.lasError());         //  .
118
         }
42 pingvin 119
else {
120
 
121
    QMessageBox::information( //     .
122
                                                    this,                      //  .
123
                                                    QObject::tr("Database Connect"),   // .
124
                                                    QObject::tr("     ."));         //  .
45 pingvin 125
     }
42 pingvin 126
 
127
 
128
 
129
 
130
 
56 pingvin 131
ok = sql.createListOfClassesTable();
41 pingvin 132
 
45 pingvin 133
if (!ok) {
134
                            QMessageBox::critical( //     .
135
                                                                            this,                      //  .
136
                                                                            QObject::tr("Database Error"),   // .
137
                                                                            sql.lasError());         //  .
138
 
139
                     }
140
else {
141
 
142
    QMessageBox::information( //     .
143
                                                    this,                      //  .
144
                                                    QObject::tr("Database Create"),   // .
145
                                                    QObject::tr("   ."));         //  .
146
    }
147
 
148
 
56 pingvin 149
 
150
 
151
ok = sql.createDescriptionOfClassesTable();
152
 
153
if (!ok) {
154
                            QMessageBox::critical( //     .
155
                                                                            this,                      //  .
156
                                                                            QObject::tr("Database Error"),   // .
157
                                                                            sql.lasError());         //  .
158
 
159
                     }
160
else {
161
 
162
    QMessageBox::information( //     .
163
                                                    this,                      //  .
164
                                                    QObject::tr("Database Create"),   // .
165
                                                    QObject::tr("   ."));         //  .
166
    }
167
 
168
 
169
 
170
 
171
 
172
 
173
 
174
/////////////////model = new QSqlTableModel(this);
50 pingvin 175
mymodel = new MyModel(this);
56 pingvin 176
modelForDescription = new QSqlTableModel(this);
50 pingvin 177
 
56 pingvin 178
/////////////////model->setTable(tr("ListOfClasses"));
50 pingvin 179
mymodel->setTable(tr("ListOfClasses"));
56 pingvin 180
modelForDescription->setTable(tr("DescriptionOfClasses"));
181
modelForDescription->setEditStrategy(QSqlTableModel::OnFieldChange);
50 pingvin 182
 
45 pingvin 183
/////model->setEditStrategy(QSqlTableModel::OnManualSubmit);
50 pingvin 184
 
185
/*
45 pingvin 186
model->setEditStrategy(QSqlTableModel::OnFieldChange);
50 pingvin 187
mymodel->setEditStrategy(QSqlTableModel::OnFieldChange);
188
*/
189
 
190
 
56 pingvin 191
//////////////////model->setSort(0, Qt::AscendingOrder);
50 pingvin 192
mymodel->setSort(0, Qt::AscendingOrder);
56 pingvin 193
modelForDescription->setSort(0, Qt::AscendingOrder);
50 pingvin 194
 
56 pingvin 195
 
45 pingvin 196
//       model->setFilter(tr("__ = '7' and _ = 'i09090909'"));
56 pingvin 197
////////////////////model->select();
50 pingvin 198
mymodel->select();
56 pingvin 199
modelForDescription->setFilter(tr("ClassIdentifer = 1"));
200
modelForDescription->select();
50 pingvin 201
 
56 pingvin 202
 
203
/////////////////////////model->setHeaderData(1, Qt::Horizontal, tr(" "));
50 pingvin 204
mymodel->setHeaderData(1, Qt::Horizontal, tr(" "));
205
 
206
 
207
 
56 pingvin 208
////////////////////////model->setHeaderData(2, Qt::Horizontal, tr(" "));
50 pingvin 209
mymodel->setHeaderData(2, Qt::Horizontal, tr(" "));
210
 
211
//ui->tableView->setModel(model);
212
ui->tableView->setModel(mymodel);
56 pingvin 213
//tableForDescription = new QTableView();
214
ui->tableView_2->setModel(modelForDescription);
215
ui->tableView_2->setAlternatingRowColors(true);
216
ui->tableView_2->resizeColumnsToContents();
217
//tableForDescription->show();
50 pingvin 218
 
219
 
45 pingvin 220
ui->tableView->setAlternatingRowColors(true);
221
ui->tableView->resizeColumnsToContents();
56 pingvin 222
//ui->tableView->hideColumn(0);
55 pingvin 223
ui->tableView->hideColumn(3);
45 pingvin 224
 
225
 
55 pingvin 226
//connect(ui->tableView, SIGNAL(clicked(const QModelIndex)), this, SLOT(on_tableView_clicked(const QModelIndex)));
42 pingvin 227
}
228
 
45 pingvin 229
 
230
 
231
 
232
 
233
 
234
 
235
 
236
 
237
 
238
 
24 pingvin 239
ClassEditor::~ClassEditor()
240
{
241
    delete ui;
38 pingvin 242
 //    delete field;
24 pingvin 243
   // delete settdialog;
244
}
245
 
246
void ClassEditor::changeEvent(QEvent *e)
247
{
248
    QMainWindow::changeEvent(e);
249
    switch (e->type()) {
250
    case QEvent::LanguageChange:
251
        ui->retranslateUi(this);
252
        break;
253
    default:
254
        break;
255
    }
256
}
51 pingvin 257
 
258
 
259
 
260
void  ClassEditor::addNewClass(){
261
 
262
    int row = model->rowCount();
263
 
264
    model->insertRows(row, 1);
54 pingvin 265
    model->setData(model->index(row, 1), tr("New class")); //     " "
51 pingvin 266
 
267
 
268
    // model->setData(model->index(row, 1), tr("   "));
269
    // model->setData(model->index(row, 2) , tr("  ,    1"));
270
 
271
 
272
    model->submitAll();
273
 
274
    row = model->rowCount();
275
    QString tmp_str;
276
    int i_tmp;
277
    i_tmp = model->data(model->index(row-1, 0)).toInt();
278
    tmp_str = model->data(model->index(row-1, 0)).toString(); //   -  
279
 
280
    tmp_str.append(tr("_Inctance"));
281
    model->setData(model->index(row-1, 3), tmp_str );  //     
282
 
283
    model->submitAll();
284
    mymodel->select();
285
 
286
 
287
}
288
 
289
 
54 pingvin 290
void  ClassEditor::addNewClass_new(){
291
 
292
    int row = mymodel->rowCount();
293
 
294
    mymodel->insertRows(row, 1);
295
    mymodel->setData(mymodel->index(row, 1), QVariant(tr("New classs")), Qt::EditRole); //     " "
296
 
297
    mymodel->submitAll();
298
 
299
    row = mymodel->rowCount();
300
    QString tmp_str1;
301
    int i_tmp1;
302
    i_tmp1 = mymodel->data(mymodel->index(row-1, 0)).toInt();
303
    tmp_str1 = mymodel->data(mymodel->index(row-1, 0)).toString(); //   -  
304
 
305
    tmp_str1.append(tr("_Inctance"));
306
    mymodel->setData(mymodel->index(row-1, 3), QVariant(tmp_str1), Qt::EditRole);  //     
307
 
308
    // model->setData(model->index(row, 1), tr("   "));
309
    // model->setData(model->index(row, 2) , tr("  ,    1"));
310
 
311
 
56 pingvin 312
    //mymodel->submitAll();
54 pingvin 313
 
314
    //row = mymodel->rowCount();
315
 
316
 
56 pingvin 317
  //mymodel->select();
54 pingvin 318
 
319
 
320
}
321
 
322
 
51 pingvin 323
void ClassEditor::on_pushButton_clicked(){
54 pingvin 324
//int i;
325
//i++;
326
/////ClassEditor::addNewClass();
327
ClassEditor::addNewClass_new();
328
 mymodel->select();
329
//ui->tableView->setModel(mymodel);
330
 
51 pingvin 331
}
54 pingvin 332
 
55 pingvin 333
void ClassEditor::on_tableView_clicked(const QModelIndex & index ){
334
    int i, row, column;
335
    i++;
336
    row = index.row();
337
    column = index.column();
56 pingvin 338
   QModelIndex index_tmp;
339
    QString tmp_str, filter_str;
340
   index_tmp = ui->tableView->model()->index(row, 0);
341
   tmp_str = ui->tableView->model()->data(index_tmp).toString();
342
   ui->label->setText(tmp_str);
343
   filter_str = tr("ClassIdentifer = ");
344
   filter_str.append(tmp_str);
345
   modelForDescription->setFilter(filter_str);
346
   i++;
55 pingvin 347
}
54 pingvin 348
 
59 pingvin 349
 
350
 
351
void ClassEditor::on_pushButton_2_clicked(){
352
    int i;
353
    i++;
354
 
355
}
356
 
357
void ClassEditor::on_pushButton_3_clicked(){         //    " "
358
    int i;
359
    i++;
360
}
361
void ClassEditor::on_pushButton_4_clicked(){         //    " "
362
    int i;
363
    i++;
364
}