Хранилища Subversion OpenInventory

Редакция

Редакция 50 | Редакция 54 | К новейшей редакции | Содержимое файла | Сравнить с предыдущей | Последнее изменение | Открыть журнал | 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"));
35 pingvin 13
    field = new TableField(tr(""), this);
38 pingvin 14
    field->setNotNull(true);
35 pingvin 15
    field->setDefaultValue(tr(""));
33 pingvin 16
 
38 pingvin 17
    table = new SqlTable (tr("NewTable"), this);
18
    table->setName(tr("NewTable"));
39 pingvin 19
    table->fields().at(0)->setNotNull(true);
20
    if (!(table->setPrimaryKey(tr("ID")))) {
21
         ui->label_3->setText(table->lastError());
22
    }
23
    else  ui->label_3->setText(table->primaryKey());
24
    table->append(field);
25
 
26
    field = new TableField(tr(""), this);
27
    field->setNotNull(true);
28
    field->setDefaultValue(tr(""));
29
    table->append(field);
30
 
40 pingvin 31
    field = new TableField(tr(""), this);
32
    field->setNotNull(true);
33
    field->setDefaultValue(tr(""));
34
    table->append(field);
35
 
36
    field = new TableField(tr(" ()"), this);
37
    field->setNotNull(true);
38
    field->setType(tr("INTEGER"));
39
    field->setDefaultValue(tr("1"));
40
    table->append(field);
41
 
42
    field = new TableField(tr(" "), this);
43
    field->setNotNull(false);
44
    field->setType(tr("DATE"));
45
    field->setDefaultValue(tr("NULL"));
46
    table->append(field);
47
 
38 pingvin 48
    ui->label_2->setText(table->name());
49
    ui->label->setText(table->fields().at(0)->sqlString());
39 pingvin 50
    ui->label_4->setText(table->sqlString());
40 pingvin 51
   ////// ui->lineEdit->insert(table->sqlString());
38 pingvin 52
 
45 pingvin 53
 
54
    /**********************************************
55
 
40 pingvin 56
    QTextDocument *document;
57
    // = ui->textEdit->document();
58
    QTextCursor *cursor;
45 pingvin 59
 
40 pingvin 60
    document = ui->textEdit->document();
61
    cursor = new QTextCursor(document);
62
    cursor->movePosition(QTextCursor::Start);
63
QTextCharFormat format(cursor->charFormat());
64
//format.setFontFamily("Courier");
65
format.setFontFamily("Arial");
66
//format.setFontItalic(false);
67
 
68
format.setFontWeight(QFont::Normal);
69
QTextCharFormat boldFormat = format;
70
boldFormat.setFontWeight(QFont::Bold);
71
 
72
QTextCharFormat italicFormat = format;
73
//format.setFontFamily("Courier");
74
//     format.setFontFamily("Arial");
75
italicFormat.setFontItalic(true);
76
 
77
cursor->insertText(table->sqlString(), format);
41 pingvin 78
 
45 pingvin 79
****************************************************/
80
 
41 pingvin 81
QString errorString;
82
 
83
sql.setDatabaseName(tr("an_db"));
84
sql.setHostName(tr("localhost"));
85
sql.setUserName(tr("an"));
86
sql.setPassword(tr("393939"));
87
 
88
bool ok;
44 pingvin 89
ok = sql.connect();
41 pingvin 90
if (!ok) {
91
                            QMessageBox::critical( //     .
92
                                                                            this,                      //  .
93
                                                                            QObject::tr("Database Error"),   // .
45 pingvin 94
                                                                            sql.lasError());         //  .
41 pingvin 95
 
96
                     }
97
else {
98
 
99
    QMessageBox::information( //     .
100
                                                    this,                      //  .
101
                                                    QObject::tr("Database Connect"),   // .
102
                                                    QObject::tr("     ."));         //  .
103
 
104
 
105
 
106
 
107
 
24 pingvin 108
}
109
 
42 pingvin 110
 
44 pingvin 111
ok = sql.createTable(table);
42 pingvin 112
if (!ok) {
113
                            QMessageBox::critical( //     .
114
                                                                            this,                      //  .
115
                                                                            QObject::tr("Database Error"),   // .
45 pingvin 116
                                                                            sql.lasError());         //  .
117
         }
42 pingvin 118
else {
119
 
120
    QMessageBox::information( //     .
121
                                                    this,                      //  .
122
                                                    QObject::tr("Database Connect"),   // .
123
                                                    QObject::tr("     ."));         //  .
45 pingvin 124
     }
42 pingvin 125
 
126
 
127
 
128
 
129
 
45 pingvin 130
ok = sql.createDataBase();
41 pingvin 131
 
45 pingvin 132
if (!ok) {
133
                            QMessageBox::critical( //     .
134
                                                                            this,                      //  .
135
                                                                            QObject::tr("Database Error"),   // .
136
                                                                            sql.lasError());         //  .
137
 
138
                     }
139
else {
140
 
141
    QMessageBox::information( //     .
142
                                                    this,                      //  .
143
                                                    QObject::tr("Database Create"),   // .
144
                                                    QObject::tr("   ."));         //  .
145
    }
146
 
147
 
148
model = new QSqlTableModel(this);
50 pingvin 149
mymodel = new MyModel(this);
150
 
151
 
45 pingvin 152
model->setTable(tr("ListOfClasses"));
50 pingvin 153
mymodel->setTable(tr("ListOfClasses"));
154
 
45 pingvin 155
/////model->setEditStrategy(QSqlTableModel::OnManualSubmit);
50 pingvin 156
 
157
/*
45 pingvin 158
model->setEditStrategy(QSqlTableModel::OnFieldChange);
50 pingvin 159
mymodel->setEditStrategy(QSqlTableModel::OnFieldChange);
160
*/
161
 
162
 
45 pingvin 163
model->setSort(0, Qt::AscendingOrder);
50 pingvin 164
mymodel->setSort(0, Qt::AscendingOrder);
165
 
45 pingvin 166
//       model->setFilter(tr("__ = '7' and _ = 'i09090909'"));
167
model->select();
50 pingvin 168
mymodel->select();
169
 
46 pingvin 170
model->setHeaderData(1, Qt::Horizontal, tr(" "));
50 pingvin 171
mymodel->setHeaderData(1, Qt::Horizontal, tr(" "));
172
 
173
 
174
 
46 pingvin 175
model->setHeaderData(2, Qt::Horizontal, tr(" "));
50 pingvin 176
mymodel->setHeaderData(2, Qt::Horizontal, tr(" "));
177
 
178
//ui->tableView->setModel(model);
179
ui->tableView->setModel(mymodel);
180
 
181
 
182
 
183
 
45 pingvin 184
ui->tableView->setAlternatingRowColors(true);
185
ui->tableView->resizeColumnsToContents();
51 pingvin 186
//ui->tableView->hideColumn(0);
45 pingvin 187
 
188
 
51 pingvin 189
 
42 pingvin 190
}
191
 
45 pingvin 192
 
193
 
194
 
195
 
196
 
197
 
198
 
199
 
200
 
201
 
24 pingvin 202
ClassEditor::~ClassEditor()
203
{
204
    delete ui;
38 pingvin 205
 //    delete field;
24 pingvin 206
   // delete settdialog;
207
}
208
 
209
void ClassEditor::changeEvent(QEvent *e)
210
{
211
    QMainWindow::changeEvent(e);
212
    switch (e->type()) {
213
    case QEvent::LanguageChange:
214
        ui->retranslateUi(this);
215
        break;
216
    default:
217
        break;
218
    }
219
}
51 pingvin 220
 
221
 
222
 
223
void  ClassEditor::addNewClass(){
224
 
225
    int row = model->rowCount();
226
 
227
    model->insertRows(row, 1);
228
    model->setData(model->index(row, 1), tr("New class")); //     " "
229
 
230
 
231
    // model->setData(model->index(row, 1), tr("   "));
232
    // model->setData(model->index(row, 2) , tr("  ,    1"));
233
 
234
 
235
    model->submitAll();
236
 
237
    row = model->rowCount();
238
    QString tmp_str;
239
    int i_tmp;
240
    i_tmp = model->data(model->index(row-1, 0)).toInt();
241
    tmp_str = model->data(model->index(row-1, 0)).toString(); //   -  
242
 
243
    tmp_str.append(tr("_Inctance"));
244
    model->setData(model->index(row-1, 3), tmp_str );  //     
245
 
246
    model->submitAll();
247
    mymodel->select();
248
 
249
 
250
}
251
 
252
 
253
void ClassEditor::on_pushButton_clicked(){
254
int i;
255
i++;
256
ClassEditor::addNewClass();
257
mymodel->select();
258
ui->tableView->setModel(mymodel);
259
}