git-svn-id: svn://db.shs.com.ru/libs@95 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -1,10 +1,28 @@
|
|||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include "piqt_connection_edit.h"
|
#include "piqt_connection_edit.h"
|
||||||
|
#include <QFileDialog>
|
||||||
|
#include <qpiconfig.h>
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char * argv[]) {
|
int main(int argc, char * argv[]) {
|
||||||
QApplication a(argc, argv);
|
QApplication a(argc, argv);
|
||||||
ConnectionEdit w;
|
ConnectionEdit w;
|
||||||
w.show();
|
if (a.arguments().size() > 1) {
|
||||||
return a.exec();
|
QPIConfig cfg(a.arguments()[1]);
|
||||||
|
QByteArray model = cfg.getValue("connectionmodel", QByteArray());
|
||||||
|
if (!model.isEmpty()) w.setModel(model);
|
||||||
|
}
|
||||||
|
if (w.exec() == QDialog::Accepted) {
|
||||||
|
QString c = QFileDialog::getSaveFileName(&w, "Save config to file", a.applicationDirPath(), "*.conf");
|
||||||
|
if (!c.isEmpty()) {
|
||||||
|
QFile f(c);
|
||||||
|
if (f.open(QIODevice::WriteOnly)) {
|
||||||
|
QTextStream ts(&f);
|
||||||
|
ts << w.configuration();
|
||||||
|
ts << "connectionmodel = " << QByteArray2QString(w.model()) << "\n";
|
||||||
|
f.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,11 +23,13 @@ ConnectionEdit::ConnectionEdit(QWidget * parent): QDialog(parent) {
|
|||||||
piForeachC (PICodeInfo::EnumeratorInfo & e, ei->members)
|
piForeachC (PICodeInfo::EnumeratorInfo & e, ei->members)
|
||||||
ui->comboMode->addItem(PI2QString(e.name + " (" + PIString::fromNumber(e.value) + ")"), QVariant::fromValue<int>(e.value));
|
ui->comboMode->addItem(PI2QString(e.name + " (" + PIString::fromNumber(e.value) + ")"), QVariant::fromValue<int>(e.value));
|
||||||
}
|
}
|
||||||
|
ui->comboMode->setCurrentIndex(ui->comboMode->count() - 1);
|
||||||
ei = PICodeInfo::enumsInfo->value("PIPacketExtractor::SplitMode");
|
ei = PICodeInfo::enumsInfo->value("PIPacketExtractor::SplitMode");
|
||||||
if (ei) {
|
if (ei) {
|
||||||
piForeachC (PICodeInfo::EnumeratorInfo & e, ei->members)
|
piForeachC (PICodeInfo::EnumeratorInfo & e, ei->members)
|
||||||
ui->comboSplit->addItem(PI2QString(e.name + " (" + PIString::fromNumber(e.value) + ")"), QVariant::fromValue<int>(e.value));
|
ui->comboSplit->addItem(PI2QString(e.name + " (" + PIString::fromNumber(e.value) + ")"), QVariant::fromValue<int>(e.value));
|
||||||
}
|
}
|
||||||
|
udevicenum = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -167,7 +169,7 @@ void ConnectionEdit::selectionChanged() {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
ui->lineDevice->setText(di->name());
|
ui->lineDevice->setText(di->name());
|
||||||
ui->linePath->setText(di->path());
|
ui->linePath->setEditText(di->path());
|
||||||
ui->spinDeviceDT->setValue(di->disconnectTimeout());
|
ui->spinDeviceDT->setValue(di->disconnectTimeout());
|
||||||
}
|
}
|
||||||
if (type == __CV_Filter) {
|
if (type == __CV_Filter) {
|
||||||
@@ -211,9 +213,13 @@ void ConnectionEdit::applyFilter(FilterItem * b) {
|
|||||||
|
|
||||||
|
|
||||||
void ConnectionEdit::applyDevice(DeviceItem * b) {
|
void ConnectionEdit::applyDevice(DeviceItem * b) {
|
||||||
b->setName(ui->lineDevice->text());
|
QString n = ui->lineDevice->text();
|
||||||
|
if (n.isEmpty()) {
|
||||||
|
n = "device" + QString::number(udevicenum);
|
||||||
|
}
|
||||||
|
b->setName(n);
|
||||||
b->setMode(PIIODevice::DeviceMode(ui->comboMode->itemData(ui->comboMode->currentIndex()).toInt()));
|
b->setMode(PIIODevice::DeviceMode(ui->comboMode->itemData(ui->comboMode->currentIndex()).toInt()));
|
||||||
b->setPath(ui->linePath->text());
|
b->setPath(ui->linePath->currentText());
|
||||||
b->setDisconnectTimeout(ui->spinDeviceDT->value());
|
b->setDisconnectTimeout(ui->spinDeviceDT->value());
|
||||||
recreateConnection();
|
recreateConnection();
|
||||||
}
|
}
|
||||||
@@ -232,7 +238,9 @@ void ConnectionEdit::recreateConnection() {
|
|||||||
if (loading) return;
|
if (loading) return;
|
||||||
ui->blockView->reconnectAll();
|
ui->blockView->reconnectAll();
|
||||||
if (conn) delete conn;
|
if (conn) delete conn;
|
||||||
conn = new PIConnection(Q2PIString(ui->lineName->text()));
|
PIString cn = Q2PIString(ui->lineName->text());
|
||||||
|
if (cn.isEmpty()) conn = new PIConnection();
|
||||||
|
else conn = new PIConnection(cn);
|
||||||
QList<BlockItem*> devs = ui->blockView->allDevices();
|
QList<BlockItem*> devs = ui->blockView->allDevices();
|
||||||
foreach (BlockItem * b, devs) {
|
foreach (BlockItem * b, devs) {
|
||||||
DeviceItem * di = (DeviceItem*)b;
|
DeviceItem * di = (DeviceItem*)b;
|
||||||
@@ -352,7 +360,15 @@ void ConnectionEdit::on_buttonFilterModify_clicked() {
|
|||||||
|
|
||||||
void ConnectionEdit::on_buttonDeviceAdd_clicked() {
|
void ConnectionEdit::on_buttonDeviceAdd_clicked() {
|
||||||
if (!conn) return;
|
if (!conn) return;
|
||||||
applyDevice(ui->blockView->addDevice(ui->lineDevice->text(), ui->linePath->text()));
|
QString n = ui->lineDevice->text();
|
||||||
|
if (n.isEmpty()) {
|
||||||
|
udevicenum++;
|
||||||
|
n = "device" + QString::number(udevicenum);
|
||||||
|
}
|
||||||
|
QString p = ui->linePath->currentText();
|
||||||
|
if (ui->linePath->findText(p) < 0) ui->linePath->addItem(p);
|
||||||
|
qDebug() << "add:" << n;
|
||||||
|
applyDevice(ui->blockView->addDevice(n, ui->linePath->currentText()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ private:
|
|||||||
Ui::ConnectionEdit * ui;
|
Ui::ConnectionEdit * ui;
|
||||||
PIConnection * conn;
|
PIConnection * conn;
|
||||||
bool loading;
|
bool loading;
|
||||||
|
int udevicenum;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void recreateRequest() {if (!loading) QMetaObject::invokeMethod(this, "recreateConnection", Qt::QueuedConnection);}
|
void recreateRequest() {if (!loading) QMetaObject::invokeMethod(this, "recreateConnection", Qt::QueuedConnection);}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>1048</width>
|
<width>794</width>
|
||||||
<height>799</height>
|
<height>799</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@@ -86,9 +86,6 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="CLineEdit" name="linePath"/>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0">
|
<item row="2" column="0">
|
||||||
<widget class="QLabel" name="labelFilter_12">
|
<widget class="QLabel" name="labelFilter_12">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@@ -126,6 +123,56 @@ timeout:</string>
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="EComboBox" name="linePath">
|
||||||
|
<property name="editable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="currentIndex">
|
||||||
|
<number>-1</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>eth://UDP:127.0.0.1:12345:127.0.0.1:12346</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>eth://TCP:127.0.0.1:16666</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>eth://UDP:192.168.0.5:16666:192.168.0.6:16667:mcast:234.0.2.1:mcast:234.0.2.2</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>file://./text.txt</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>binlog://./logs/:mylog_:1</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>ser:///dev/ttyUSB0:9600:8:N:1</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>ser://COM32:115200:8:N:1</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>usb://0bb4:0c86:1:1:2</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
@@ -163,7 +210,7 @@ timeout:</string>
|
|||||||
<string>Modify</string>
|
<string>Modify</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../../../../../mnt/data/orders/libs/piqt_tools/piconnedit.qrc">
|
<iconset resource="piconnedit.qrc">
|
||||||
<normaloff>:/icons/document-save-.png</normaloff>:/icons/document-save-.png</iconset>
|
<normaloff>:/icons/document-save-.png</normaloff>:/icons/document-save-.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
@@ -478,7 +525,7 @@ timeout:</string>
|
|||||||
<string>Modify</string>
|
<string>Modify</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../../../../../mnt/data/orders/libs/piqt_tools/piconnedit.qrc">
|
<iconset resource="piconnedit.qrc">
|
||||||
<normaloff>:/icons/document-save-.png</normaloff>:/icons/document-save-.png</iconset>
|
<normaloff>:/icons/document-save-.png</normaloff>:/icons/document-save-.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
@@ -583,7 +630,7 @@ timeout:</string>
|
|||||||
<string>Modify</string>
|
<string>Modify</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../../../../../mnt/data/orders/libs/piqt_tools/piconnedit.qrc">
|
<iconset resource="piconnedit.qrc">
|
||||||
<normaloff>:/icons/document-save-.png</normaloff>:/icons/document-save-.png</iconset>
|
<normaloff>:/icons/document-save-.png</normaloff>:/icons/document-save-.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
@@ -617,7 +664,7 @@ timeout:</string>
|
|||||||
<string>Clear</string>
|
<string>Clear</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../../../../../mnt/data/orders/libs/piqt_tools/piconnedit.qrc">
|
<iconset resource="piconnedit.qrc">
|
||||||
<normaloff>:/icons/edit-clear-.png</normaloff>:/icons/edit-clear-.png</iconset>
|
<normaloff>:/icons/edit-clear-.png</normaloff>:/icons/edit-clear-.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
@@ -665,6 +712,11 @@ timeout:</string>
|
|||||||
<extends>QLineEdit</extends>
|
<extends>QLineEdit</extends>
|
||||||
<header>clineedit.h</header>
|
<header>clineedit.h</header>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
|
<customwidget>
|
||||||
|
<class>EComboBox</class>
|
||||||
|
<extends>QComboBox</extends>
|
||||||
|
<header>ecombobox.h</header>
|
||||||
|
</customwidget>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
<class>QCodeEdit</class>
|
<class>QCodeEdit</class>
|
||||||
<extends>QWidget</extends>
|
<extends>QWidget</extends>
|
||||||
@@ -677,7 +729,7 @@ timeout:</string>
|
|||||||
</customwidget>
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
<resources>
|
<resources>
|
||||||
<include location="../../../../../mnt/data/orders/libs/piqt_tools/piconnedit.qrc"/>
|
<include location="piconnedit.qrc"/>
|
||||||
</resources>
|
</resources>
|
||||||
<connections>
|
<connections>
|
||||||
<connection>
|
<connection>
|
||||||
|
|||||||
Reference in New Issue
Block a user