chunkstream version fixedleaselication

git-svn-id: svn://db.shs.com.ru/libs@3 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
2015-03-24 11:04:36 +00:00
parent b3e47dfc99
commit b068a301bf
29 changed files with 406 additions and 95 deletions

View File

@@ -1,4 +1,5 @@
#include <QScrollBar>
#include <QMessageBox>
#include <math.h>
#include "kx_pult.h"
#include "ui_kx_pult.h"
@@ -186,7 +187,8 @@ void KX_Pult::timerEvent(QTimerEvent * e) {
static QString sPI = QString::number(atan(1) * 4., 'f', 14).leftJustified(14);
static int cnt = 0;
int si = qMax<int>(cnt - 6, 0);
cnt = (++cnt) % 23;
++cnt;
cnt %= 23;
ui->labelWait->setText(QString(si, QChar(' ')) + sPI.mid(cnt - 6, 6).trimmed());
if (!coeffs.isReady()) return;
//ui->table->setK(coeffsK.k()->data(), coeffsK.count());
@@ -399,7 +401,7 @@ void KX_Pult::on_buttonSetDesc_clicked() {
QString ret = QFileDialog::getOpenFileName(this, trUtf8("Select *.h file with K description"), kdesc_file, "C/C++ header files(*.h *.hpp);;All files(*)");
if (ret.isEmpty()) return;
kdesc_file = QDir::current().relativeFilePath(ret);
updateKDesc();
updateKDesc(true);
}
@@ -478,7 +480,7 @@ void KX_Pult::updateDiag() {
}
void KX_Pult::updateKDesc() {
void KX_Pult::updateKDesc(bool ask_move) {
kdesc.clear();
QFile f(kdesc_file);
if (!f.open(QIODevice::ReadOnly)) {
@@ -532,7 +534,10 @@ void KX_Pult::updateKDesc() {
ui->spinSize->setValue(cind);
ui->spinSize->setStyleSheet("background-color: rgb(220, 220, 255);");
}
updateTree();
bool move = false;
if (ask_move)
move = (QMessageBox::question(this, "KX Pult", "Save values at associated names?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes) == QMessageBox::Yes);
updateTree(move);
}
@@ -542,12 +547,21 @@ bool stringComp(const QString & s1, const QString & s2) {
return s1 > s2;
}
void KX_Pult::updateTree() {
void KX_Pult::updateTree(bool move) {
int sp = ui->treeK->verticalScrollBar()->value();
ui->treeK->clear();
ui->treeK->setUpdatesEnabled(false);
QApplication::setOverrideCursor(Qt::WaitCursor);
//qDebug() << "fill tree ...";
QMap<QString, QString> prev_val;
if (move) {
for (int i = 0; i < ui->treeK->topLevelItemCount(); ++i) {
QTreeWidgetItem * ti = ui->treeK->topLevelItem(i);
if (!ti->text(1).isEmpty())
prev_val[ti->text(1)] = ti->text(2);
}
}
ui->treeK->clear();
ui->treeK->setUpdatesEnabled(false);
eval.clearCustomVariables();
for (int i = 0; i < K.size_s(); ++i) {
QTreeWidgetItem * ti = new QTreeWidgetItem();
@@ -562,6 +576,10 @@ void KX_Pult::updateTree() {
knames_sort << kd.name;
eval.content.addVariable(kd.name, 0., false);
}
if (move && !kd.name.isEmpty()) {
if (prev_val.contains(kd.name))
coeffs.setFormula(i, Q2PIString(prev_val[kd.name]));
}
ti->setText(0, QString::number(i));
ti->setText(1, kd.name);
ti->setText(2, PI2QString(coeffs.formula(i)));