Хранилища Subversion OpenInventory

Редакция

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