правки по ShutDown

This commit is contained in:
2026-02-18 10:47:59 +03:00
parent 1fee25a38c
commit d810a48b68
6 changed files with 883 additions and 740 deletions

View File

@@ -45,7 +45,8 @@ SOURCES += main.cpp\
checkboxmod.cpp \ checkboxmod.cpp \
grairobject.cpp \ grairobject.cpp \
vvod2z.cpp \ vvod2z.cpp \
table2z.cpp table2z.cpp \
graphicscrossitem.cpp
HEADERS += widget.h \ HEADERS += widget.h \
zerkus.h \ zerkus.h \
@@ -82,7 +83,8 @@ HEADERS += widget.h \
checkboxmod.h \ checkboxmod.h \
grairobject.h \ grairobject.h \
vvod2z.h \ vvod2z.h \
table2z.h table2z.h \
graphicscrossitem.h
FORMS += widget.ui \ FORMS += widget.ui \
zerkus.ui \ zerkus.ui \

View File

@@ -17,5 +17,6 @@
</qresource> </qresource>
<qresource prefix="/fon"> <qresource prefix="/fon">
<file>pics/loading.png</file> <file>pics/loading.png</file>
<file>pics/shutdown.png</file>
</qresource> </qresource>
</RCC> </RCC>

BIN
pics/dead_end.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 KiB

BIN
pics/shutdown.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -7,8 +7,7 @@
Widget::Widget(QWidget *parent) : Widget::Widget(QWidget *parent) :
QWidget(parent), QWidget(parent),
ui(new Ui::Widget) ui(new Ui::Widget) {
{
ui->setupUi(this); ui->setupUi(this);
// connect(qApp, SIGNAL(focusChanged(QWidget*, QWidget*)), this, SLOT(focusSS(QWidget*, QWidget*))); // connect(qApp, SIGNAL(focusChanged(QWidget*, QWidget*)), this, SLOT(focusSS(QWidget*, QWidget*)));
@@ -70,9 +69,8 @@ Widget::Widget(QWidget *parent) :
connect(tmrReport, SIGNAL(timeout()), this, SLOT(sendReport())); connect(tmrReport, SIGNAL(timeout()), this, SLOT(sendReport()));
tmrReport->start(55); tmrReport->start(55);
tmrFocus = new QTimer();
connect(tmrFocus, SIGNAL(timeout()), this, SLOT(getFocus()));
showSplash(3); showSplash(3);
@@ -82,23 +80,27 @@ Widget::Widget(QWidget *parent) :
// ASnumTarget = 1; // ASnumTarget = 1;
} }
Widget::~Widget() Widget::~Widget() {
{
delete ui; delete ui;
} }
void Widget::setGrabFocus(int d) {
void Widget::getFocus() if (d)
{ tmrFocus->start(1000);
else
tmrFocus->stop();
}
void Widget::getFocus() {
if (!openWidget) {
// -- ïëàòôîðìîçàâèñèìûé êóñîê. Íóæåí äëÿ ãàðàíòèðîâàííîãî ïîëó÷åíèÿ ôîêóñà â îñíîâíîå îêíî. // -- ïëàòôîðìîçàâèñèìûé êóñîê. Íóæåí äëÿ ãàðàíòèðîâàííîãî ïîëó÷åíèÿ ôîêóñà â îñíîâíîå îêíî.
HWND id = GetForegroundWindow(); HWND fgW = GetForegroundWindow();
int iMyTID = GetCurrentThreadId(); int iMyTID = GetCurrentThreadId();
int iCurrTID = GetWindowThreadProcessId(id,0); int iCurrTID = GetWindowThreadProcessId(fgW, 0);
AttachThreadInput(iMyTID, iCurrTID, TRUE); AttachThreadInput(iMyTID, iCurrTID, TRUE);
SetForegroundWindow(winId()); SetForegroundWindow(winId());
AttachThreadInput(iMyTID, iCurrTID, FALSE); AttachThreadInput(iMyTID, iCurrTID, FALSE);
// -- // --
}
} }
void Widget::activateWindow(int c) void Widget::activateWindow(int c)
@@ -180,7 +182,6 @@ void Widget::process_CU_KRU_KDG() {
setSector(zoneType, anglStart, anglEnd); setSector(zoneType, anglStart, anglEnd);
} }
} }
} }
void Widget::setSector(qint8 zoneType, float anglStart, float anglEnd) { void Widget::setSector(qint8 zoneType, float anglStart, float anglEnd) {
@@ -418,9 +419,19 @@ void Widget::sendReport()
tWord = 0; tWord = 0;
d << tWord; d << tWord;
// ðåçåðâ 4x áàéò è 9 õ ðåàë // âñòàâêà ðåæèìà ðàáîòû ÈÑÕ, ÁÐ, ÔÊ èëè ÒÐÓ
if ((cvsRezhim>0)&&(cvsRezhim<5))
tByte = cvsRezhim;
else tByte = -1;
for (i=0; i<4; i++) d << tByte;
tBool = systemHalt;
d << tBool;
// ðåçåðâ 2x áàéò è 9 õ ðåàë
for (i=0; i<2; i++)
{ {
tByte = i*10+i; tByte = i*10+i;
d << tByte; d << tByte;
@@ -443,16 +454,6 @@ void Widget::synhrTimeout()
buf.resize(2); buf.resize(2);
buf[0] = 35; buf[0] = 35;
buf[1] = currentTaskNum; buf[1] = currentTaskNum;
//QString dbgStr;
//QByteArray dbgBuf;
//dbgStr = QString(" +++++++++++++ writed to udp = ")+QString::number(currentTaskNum);
//dbgBuf = dbgStr.toLocal8Bit();
//processSendingDatagrams(dbgBuf, 45011);
// udpSend->writeDatagram(buf.data(), buf.size(), QHostAddress("127.0.0.1"), 6600);
if (!silentMode) if (!silentMode)
udpSend->writeDatagram(buf.data(), buf.size(), QHostAddress("192.168.0.255"), 6600); udpSend->writeDatagram(buf.data(), buf.size(), QHostAddress("192.168.0.255"), 6600);
} }
@@ -494,6 +495,7 @@ void Widget::newTaskReadDatagrams()
if (tByte==0) {QTimer::singleShot(100, this, SLOT(close()));} if (tByte==0) {QTimer::singleShot(100, this, SLOT(close()));}
if (tByte==1) // âûêëþ÷åíèå if (tByte==1) // âûêëþ÷åíèå
{ {
writeFile();
QString program = "c:/Shilka_exe/shutdown.exe"; QString program = "c:/Shilka_exe/shutdown.exe";
QStringList arguments; QStringList arguments;
QProcess *myProcess = new QProcess(this); QProcess *myProcess = new QProcess(this);
@@ -502,6 +504,7 @@ void Widget::newTaskReadDatagrams()
} }
if (tByte==2) // ïåðåçàãðóçêà if (tByte==2) // ïåðåçàãðóçêà
{ {
writeFile();
QString program = "c:/Shilka_exe/reboot.exe"; QString program = "c:/Shilka_exe/reboot.exe";
QStringList arguments; QStringList arguments;
QProcess *myProcess = new QProcess(this); QProcess *myProcess = new QProcess(this);
@@ -516,7 +519,10 @@ void Widget::newTaskReadDatagrams()
// qDebug("---%d", tByte); // qDebug("---%d", tByte);
if (tByte==2) if (tByte==2)
{ {
if (splashIsOn==13)
rebootSlot();
else
{
currentNum = 0; currentNum = 0;
VCUnumTarget=-1; VCUnumTarget=-1;
ASnumTarget=-1; ASnumTarget=-1;
@@ -524,7 +530,7 @@ void Widget::newTaskReadDatagrams()
{ {
targetsIds[i]=0; targetsIds[i]=0;
grAir[i]->setNull(); grAir[i]->setNull();
}
} }
} }
} }
@@ -606,21 +612,11 @@ void Widget::newTaskReadDatagrams()
d.setFloatingPointPrecision(QDataStream::SinglePrecision); d.setFloatingPointPrecision(QDataStream::SinglePrecision);
d >> tFloat; // UgolM Gun d >> tFloat; // UgolM Gun
// if (fabs(tFloat-ugolGUNprev)<1)
ugolGUN = tFloat; ugolGUN = tFloat;
// ugolGUNprev = tFloat;
// dbgStr = QString("ugolGUN = ")+QString::number(tFloat, 'f', 4);
// dbgBuf = dbgStr.toLocal8Bit();
// processSendingDatagrams(dbgBuf, 45011);
d >> tFloat; // Azim Gun d >> tFloat; // Azim Gun
// if (fabs(tFloat-azimutGUNprev)<1)
azimutGUN = tFloat;
// azimutGUNprev = tFloat;
// dbgStr = QString("azimutGUN = ")+QString::number(tFloat, 'f', 4);
// dbgBuf = dbgStr.toLocal8Bit();
// processSendingDatagrams(dbgBuf, 45011);
azimutGUN = tFloat;
d.setFloatingPointPrecision(QDataStream::DoublePrecision); d.setFloatingPointPrecision(QDataStream::DoublePrecision);
@@ -738,66 +734,26 @@ void Widget::keybReadDatagrams(int d1, int d2, int d3, int d4, int d5)
flAlt = true; flAlt = true;
buf1[i]=0; buf1[i]=0;
} }
} }
// åñëè ðàáîòàåì â ðåæèìå èíòåðôåéñà èëè ââîäà äàòû èëè ââîäà ëîãèíà èëè ïàðîëÿ
if ((splashIsOn==0)||(splashIsOn==4)||(splashIsOn==7)||(splashIsOn==8)) {
// åñëè åñòü êîä îòëè÷íûé îò 0 // åñëè åñòü êîä îòëè÷íûé îò 0
if (buf1[0]+buf1[1]+buf1[2]+buf1[3]) if (buf1[0]+buf1[1]+buf1[2]+buf1[3]) {
{
// if (splashIsOn==0)
{
for (i=0; i<4; i++) for (i=0; i<4; i++)
{
if (buf1[i]!=0) if (buf1[i]!=0)
{
//qDebug("----- %d [17]=%d [18]=%d ", buf1[0], pressedKey[17], pressedKey[18]);
if ((pressedKey[buf1[i]]==0)||(pressedKey[buf1[i]]>keybMaxDelay)) if ((pressedKey[buf1[i]]==0)||(pressedKey[buf1[i]]>keybMaxDelay))
keybd_event(winCode[buf1[i]],0,0,0); keybd_event(winCode[buf1[i]],0,0,0);
}
}
//qDebug("[][][] %d %d %d %d ", buf1[0], buf1[1], buf1[2], buf1[3]); //qDebug("[][][] %d %d %d %d ", buf1[0], buf1[1], buf1[2], buf1[3]);
for (i=1; i<29; i++) for (i=1; i<29; i++)
{
if ((buf1[0]!=i)&&(buf1[1]!=i)&&(buf1[2]!=i)&&(buf1[3]!=i)) if ((buf1[0]!=i)&&(buf1[1]!=i)&&(buf1[2]!=i)&&(buf1[3]!=i))
{
pressedKey[i]=0; pressedKey[i]=0;
}
else else
{
pressedKey[i]++; pressedKey[i]++;
}
}
// for (i=0; i<4; i++)
// if (buf1[i]!=0) keybd_event(winCode[buf1[i]],0,KEYEVENTF_KEYUP,0);
// if (flCtrl) keybd_event(VK_CONTROL, 0,KEYEVENTF_KEYUP,0);
// if (flAlt) keybd_event(VK_MENU, 0,KEYEVENTF_KEYUP,0);
}
// if (splashIsOn==4)
// for (i=0; i<4; i++)
// if (buf1[i]==16)
// {
// hideSplash();
// ui->graphicsView->centerOn(0,0);
// }
} // if (buf1[0]+buf1[1]+buf1[2]+buf1[3]) } // if (buf1[0]+buf1[1]+buf1[2]+buf1[3])
else else
{
for (i=0; i<29; i++) pressedKey[i]=0; for (i=0; i<29; i++) pressedKey[i]=0;
} }
// ----- ïëàòôîðìîçàâèñèìûé êóñîê - ðåàëèçàöèÿ äëÿ Âèí
// keybd_event(keyWin, 0,0,0);
// keybd_event(keyWin, 0, KEYEVENTF_KEYUP, 0);
// }
} }
void Widget::processPendingDatagrams() // ñîîáùåíèå î öåëÿõ void Widget::processPendingDatagrams() // ñîîáùåíèå î öåëÿõ
@@ -894,7 +850,10 @@ void Widget::processPendingDatagrams() //
//qDebug(" ugolRLS: %f", tFloat); //qDebug(" ugolRLS: %f", tFloat);
d.setFloatingPointPrecision(QDataStream::DoublePrecision); d.setFloatingPointPrecision(QDataStream::DoublePrecision);
d>>tByte>>tByte>>tByte; d>>tByte>>tByte;
// if (tByte==36)
// showSplash(13);
d>>tByte;
d >> tReal; // ýêâèâàëåíò 2 ñèíãë azMetkaCURLS è dalnMetkaCURLS d >> tReal; // ýêâèâàëåíò 2 ñèíãë azMetkaCURLS è dalnMetkaCURLS
@@ -930,17 +889,19 @@ void Widget::processPendingDatagrams() //
if (pwrCVS[0]==1) if (pwrCVS[0]==1)
{ {
if (openWidget) openWidget->close(); if (openWidget) openWidget->close();
if (splashIsOn==15)
{
loadScreenTmr->stop();
tmpGS->clear();
tmpGS->addPixmap(QPixmap(":/fon/pics/loading.png"));
}
showSplash(1); showSplash(1);
} }
else else
{ {
if ((pwrCVS[0]==2)&&(splashIsOn==1)) if ((pwrCVS[0]==2)&&(splashIsOn==1))
{ {
rebootSlot();
showSplash(3);
tmpGS->clear();
tmpGS->addPixmap(QPixmap(":/fon/pics/loading.png"));
// qDebug("power"); // qDebug("power");
} }
} }
@@ -958,10 +919,7 @@ void Widget::processPendingDatagrams() //
//-- //--
if (tByte==2) if (tByte==2)
{ {
showSplash(3); rebootSlot();
tmpGS->clear();
tmpGS->addPixmap(QPixmap(":/fon/pics/loading.png"));
// qDebug("reboot"); // qDebug("reboot");
} }
@@ -1067,14 +1025,17 @@ void Widget::processPendingDatagrams() //
break; break;
} }
qreal crossD, crossAn;
d.setFloatingPointPrecision(QDataStream::SinglePrecision); d.setFloatingPointPrecision(QDataStream::SinglePrecision);
d >> AS_t1 >> AS_t2 >> VCU_t1 >> VCU_t2; d >> AS_t1 >> AS_t2 >> VCU_t1 >> VCU_t2;
d >> R_N_t1 >> R_N_t2 >> R_V_t1 >> R_V_t2; d >> R_N_t1 >> R_N_t2 >> R_V_t1 >> R_V_t2;
d >> tFloat >> tFloat; d >> crossD >> crossAn;
d >> AS_par; d >> AS_par; // Param
ui->lineEdit_5->setText(QString::number(AS_par)); ui->lineEdit_5->setText(QString::number(AS_par));
d >> tFloat; d >> tFloat;
d.setFloatingPointPrecision(QDataStream::DoublePrecision); d.setFloatingPointPrecision(QDataStream::DoublePrecision);
grCross->setPosPolar(crossD/100, crossAn);
d >> tByte; // ðåçåðâ d >> tByte; // ðåçåðâ
d >> tWord; // ðåçåðâ d >> tWord; // ðåçåðâ
@@ -1128,10 +1089,9 @@ void Widget::processPendingDatagrams() //
d.setFloatingPointPrecision(QDataStream::DoublePrecision); d.setFloatingPointPrecision(QDataStream::DoublePrecision);
if (fl_target) if (fl_target && !MRUmode) {
{ addTarget(id, aType, gType, cX, cY, cH, vX, vY);
if (!MRUmode) addTarget(id, aType, gType, cX, cY, cH, vX, vY); subAr[findTargetFromId(id)]=true;
if (!MRUmode) subAr[findTargetFromId(id)]=true;
} }
} }
if (!MRUmode) clearOldTarget(subAr); if (!MRUmode) clearOldTarget(subAr);
@@ -1315,7 +1275,10 @@ void Widget::msTickGraph()
grAzimutGUN->setText(str); grAzimutGUN->setText(str);
aRLSmdu = int((ugolGUN)*6000/360) % 6000; if ((ugolGUN<90)&&(ugolGUN>-90))
aRLSmdu = int((ugolGUN)*50/3) % 6000;
else
aRLSmdu=0;
str.clear(); str.clear();
if (ugolGUN<0) { str = QString("-"); aRLSmdu = -aRLSmdu;} if (ugolGUN<0) { str = QString("-"); aRLSmdu = -aRLSmdu;}
@@ -1478,12 +1441,8 @@ void Widget::setGraph()
grAzimutRLS->setColor(Qt::blue); grAzimutRLS->setColor(Qt::blue);
gsc->addItem((QGraphicsItem*)grAzimutRLS); gsc->addItem((QGraphicsItem*)grAzimutRLS);
grCross = new graphicsCrossItem(grCrossX, grCrossY);
gsc->addItem((QGraphicsItem*)grCross);
gV = new GraphicsViewMod(ui->lupa); gV = new GraphicsViewMod(ui->lupa);
gV->setFocusPolicy(Qt::NoFocus); gV->setFocusPolicy(Qt::NoFocus);
@@ -1550,6 +1509,11 @@ void Widget::setGraph()
ui->graphicsView->hide(); ui->graphicsView->hide();
curPosition = 3012; curPosition = 3012;
blackRect = new QGraphicsRectItem();
blackRect->setRect(-1, -1, 801, 601);
blackRect->setPen(QPen(Qt::black));
blackRect->setBrush(QBrush(Qt::SolidPattern));
blackRect->setBrush(QBrush(QColor(0,0,0)));
QGraphicsScene *tmpGS1 = new QGraphicsScene(this); QGraphicsScene *tmpGS1 = new QGraphicsScene(this);
@@ -1564,6 +1528,7 @@ void Widget::putDate()
{ {
QFont font("Consolas", 11, QFont::DemiBold); QFont font("Consolas", 11, QFont::DemiBold);
keyPressEnabled = true;
grLoadDate = new QGraphicsTextItem(); grLoadDate = new QGraphicsTextItem();
tmpGS->addItem(grLoadDate); tmpGS->addItem(grLoadDate);
grLoadDate->setDefaultTextColor(QColor(193, 193, 193)); grLoadDate->setDefaultTextColor(QColor(193, 193, 193));
@@ -1603,6 +1568,7 @@ void Widget::putLogin()
grLoadLogin->setZValue(1000); grLoadLogin->setZValue(1000);
grLoadLogin->setFont(font); grLoadLogin->setFont(font);
strLoadLogin = "login: "; strLoadLogin = "login: ";
keyPressEnabled = true;
grLoadLogin->setPlainText(strLoadLogin); grLoadLogin->setPlainText(strLoadLogin);
grLoadLogin->setPos(-3, curPosition); grLoadLogin->setPos(-3, curPosition);
getFocus(); getFocus();
@@ -1891,6 +1857,8 @@ void Widget::writeFile()
void Widget::initParams() void Widget::initParams()
{ {
systemHalt=false;
keyPressEnabled = false;
int i; int i;
// quickLoad = true; // quickLoad = true;
@@ -1909,6 +1877,9 @@ void Widget::initParams()
basePoxod = 0; basePoxod = 0;
targetsCount = 0; targetsCount = 0;
GAGmdu = GAGdu = GAGmdu0 = GAGdu0 = 0;
cvsRezhim = 2;
AS_t1 = AS_t2 = VCU_t1 = VCU_t2 = R_N_t1 = R_N_t2 = R_V_t1 = R_V_t2 = 0; AS_t1 = AS_t2 = VCU_t1 = VCU_t2 = R_N_t1 = R_N_t2 = R_V_t1 = R_V_t2 = 0;
rezhimGAGtxt[0] = QString::fromLocal8Bit("ÃÀÃäâ"); rezhimGAGtxt[0] = QString::fromLocal8Bit("ÃÀÃäâ");
@@ -2029,7 +2000,8 @@ void Widget::initParams()
} }
azimutKurs = 0; azimutKurs = 0;
ugolGUN = 0;
grCrossX = grCrossY = 0;
} }
void Widget::initBtnUIDs() void Widget::initBtnUIDs()
@@ -2086,6 +2058,10 @@ void Widget::keyPressEvent ( QKeyEvent *e )
bool fl; bool fl;
fl = true; fl = true;
if (!keyPressEnabled)
return;
if ((splashIsOn==0)||(splashIsOn==4)||(splashIsOn==7)||(splashIsOn==8))
{
if (e->modifiers() & Qt::ControlModifier) if (e->modifiers() & Qt::ControlModifier)
{ {
@@ -2114,6 +2090,9 @@ void Widget::keyPressEvent ( QKeyEvent *e )
case 25: case 25:
msGKToGK(); msGKToGK();
break; break;
case 91:
rebootSlot();
break;
default: default:
break; break;
} }
@@ -2197,7 +2176,7 @@ void Widget::keyPressEvent ( QKeyEvent *e )
if (splashIsOn==7) if (splashIsOn==7)
{ {
if (c == Qt::Key_NumLock) strLoadLogin.append("n"); if (c == Qt::Key_NumLock || c==Qt::Key_N) strLoadLogin.append("n");
if ((c==Qt::Key_Backspace)&&(strLoadLogin.length()>7)) if ((c==Qt::Key_Backspace)&&(strLoadLogin.length()>7))
strLoadLogin = strLoadLogin.left(strLoadLogin.length()-1); strLoadLogin = strLoadLogin.left(strLoadLogin.length()-1);
if ((c>=Qt::Key_0)&&(c<=Qt::Key_9)) if ((c>=Qt::Key_0)&&(c<=Qt::Key_9))
@@ -2254,7 +2233,7 @@ void Widget::keyPressEvent ( QKeyEvent *e )
if ((c==Qt::Key_Right)&&(ui->pushButton_14->hasFocus())) fl = false; if ((c==Qt::Key_Right)&&(ui->pushButton_14->hasFocus())) fl = false;
if (fl) QWidget::keyPressEvent(e); if (fl) QWidget::keyPressEvent(e);
}
} }
@@ -2348,9 +2327,13 @@ void Widget::createActions()
connect(m6AutoZA, SIGNAL(triggered()), this, SLOT(msVvodAutoZA())); connect(m6AutoZA, SIGNAL(triggered()), this, SLOT(msVvodAutoZA()));
m7Default = new QAction(QString::fromLocal8Bit("Èñõîäíîå ñîñò"), this); m7Default = new QAction(QString::fromLocal8Bit("Èñõîäíîå ñîñò"), this);
connect(m7Default, SIGNAL(triggered()), this, SLOT(on_pushButton_3_clicked()));
m7BR = new QAction(QString::fromLocal8Bit("ÁÐ"), this); m7BR = new QAction(QString::fromLocal8Bit("ÁÐ"), this);
connect(m7BR, SIGNAL(triggered()), this, SLOT(on_pushButton_4_clicked()));
m7FK = new QAction(QString::fromLocal8Bit("ÔÊ"), this); m7FK = new QAction(QString::fromLocal8Bit("ÔÊ"), this);
connect(m7FK, SIGNAL(triggered()), this, SLOT(on_pushButton_5_clicked()));
m7TRU = new QAction(QString::fromLocal8Bit("ÒÐÓ"), this); m7TRU = new QAction(QString::fromLocal8Bit("ÒÐÓ"), this);
connect(m7TRU, SIGNAL(triggered()), this, SLOT(on_pushButton_6_clicked()));
m7CU = new QAction(QString::fromLocal8Bit("ÖÓ_N/ÖÓ_B"), this); m7CU = new QAction(QString::fromLocal8Bit("ÖÓ_N/ÖÓ_B"), this);
connect(m7CU, SIGNAL(triggered()), this, SLOT(msVvodCU_N())); connect(m7CU, SIGNAL(triggered()), this, SLOT(msVvodCU_N()));
m7CUDenied = new QAction(QString::fromLocal8Bit("Îòêàç îò ÂÖÓ"), this); m7CUDenied = new QAction(QString::fromLocal8Bit("Îòêàç îò ÂÖÓ"), this);
@@ -2363,6 +2346,7 @@ void Widget::createActions()
m9View = new QAction(QString::fromLocal8Bit("Ïðîñìîòð ÖÀÏ/ÀÖÏ"), this); m9View = new QAction(QString::fromLocal8Bit("Ïðîñìîòð ÖÀÏ/ÀÖÏ"), this);
m0Reboot = new QAction(QString::fromLocal8Bit("Ïåðåçàïóñê ÏÎ Ctrl+91"), this); m0Reboot = new QAction(QString::fromLocal8Bit("Ïåðåçàïóñê ÏÎ Ctrl+91"), this);
connect(m0Reboot, SIGNAL(triggered()), this, SLOT(rebootSlot()));
m0Shutdown = new QAction(QString::fromLocal8Bit("Âûêëþ÷åíèå Ctrl+92"), this); m0Shutdown = new QAction(QString::fromLocal8Bit("Âûêëþ÷åíèå Ctrl+92"), this);
connect(m0Shutdown, SIGNAL(triggered()), this, SLOT(closeSlot())); connect(m0Shutdown, SIGNAL(triggered()), this, SLOT(closeSlot()));
} }
@@ -2983,7 +2967,8 @@ void Widget::reCalculate()
mdu = int((angle)*3000) % 6000; mdu = int((angle)*3000) % 6000;
if (mdu<0) mdu+=6000; if (mdu<0) mdu+=6000;
du = mdu / 100; mdu %= 100; du = mdu / 100; mdu %= 100;
ui->lineEdit_24->setText(QString::number(du)); if (du>30) {du=du-59;mdu=100-mdu; str = "-";} else str="";
ui->lineEdit_24->setText(str+QString::number(du));
ui->lineEdit_25->setText(QString::number(mdu)); ui->lineEdit_25->setText(QString::number(mdu));
ui->lineEdit_18->setText(QString::number(VCU_t1, 'f', 1)); ui->lineEdit_18->setText(QString::number(VCU_t1, 'f', 1));
@@ -3003,12 +2988,7 @@ void Widget::reCalculate()
ui->lineEdit_17->setText("0"); ui->lineEdit_17->setText("0");
ui->lineEdit_18->setText("0"); ui->lineEdit_18->setText("0");
} }
} }
@@ -3049,12 +3029,34 @@ void Widget::on_pushButton_11_clicked()
msVvod2z(); msVvod2z();
} }
void Widget::on_pushButton_3_clicked()
{
ui->lineEdit->setText(QString::fromLocal8Bit("ÈÑÕ"));
cvsRezhim = 1;
}
void Widget::on_pushButton_4_clicked() void Widget::on_pushButton_4_clicked()
{ {
ui->lineEdit->setText(QString::fromLocal8Bit("ÁÐ"));
cvsRezhim = 2;
} }
void Widget::on_pushButton_5_clicked()
{
ui->lineEdit->setText(QString::fromLocal8Bit("ÔÊ"));
cvsRezhim = 3;
}
void Widget::on_pushButton_6_clicked()
{
ui->lineEdit->setText(QString::fromLocal8Bit("ÒÐÓ"));
cvsRezhim = 4;
// showSplash(15);
}
void Widget::on_comboBox_2_currentIndexChanged(int index) void Widget::on_comboBox_2_currentIndexChanged(int index)
{ {
// ñìåíà Zoom // ñìåíà Zoom
@@ -3093,46 +3095,49 @@ void Widget::on_comboBox_2_currentIndexChanged(int index)
} }
ui->label->setText(str); ui->label->setText(str);
qreal t = 1/(gV->scMeter)*zoomKoef[index]; qreal t = zoomKoef[index]/(gV->scMeter);
globalScale = t; qreal t_1 = 1/t;
gV->scale(t, t); gV->scale(t, t);
gV->scMeter = zoomKoef[index]; gV->scMeter = zoomKoef[index];
qreal z1 = 1/zoomKoef[index];
grOwnSect->setRadius(223/zoomKoef[index]); grOwnSect->setRadius(223*z1);
grKzsSect->setRadius(223/zoomKoef[index]); grKzsSect->setRadius(223*z1);
grAzimutGUN->setLength(28/zoomKoef[index]); grAzimutGUN->setLength(28*z1);
grAzimutGUN->setWidth(5/zoomKoef[index]); grAzimutGUN->setWidth(5*z1);
grAzimutGUN->setTextSize(10/zoomKoef[index]); grAzimutGUN->setTextSize(10*z1);
grAzimutGUN->setTextSize(10/zoomKoef[index], 1); grAzimutGUN->setTextSize(10*z1, 1);
grAzimutGUN->setTextPos(QPointF(-10/zoomKoef[index], -20/zoomKoef[index])); grAzimutGUN->setTextPos(QPointF(-10*z1, -20*z1));
grAzimutGUN->setTextPos(QPointF(-10/zoomKoef[index], -9/zoomKoef[index]), 1); grAzimutGUN->setTextPos(QPointF(-10*z1, -9*z1), 1);
qreal tDU = (qreal((GAGdu-GAGdu0)*100+(GAGmdu-GAGmdu0))) *6/100; qreal tDU = (qreal((GAGdu-GAGdu0)*100+(GAGmdu-GAGmdu0))) *6/100;
grAzimutKurs->setPos0(QPointF(-200*sin((azimutKurs+tDU)*M_PI/180)/zoomKoef[index], -200*cos((azimutKurs+tDU)*M_PI/180)/zoomKoef[index])); grAzimutKurs->setPos0(QPointF(-200*sin((azimutKurs+tDU)*M_PI/180)*z1, -200*cos((azimutKurs+tDU)*M_PI/180)*z1));
grAzimutKurs->setAngle(-azimutKurs-tDU+90); grAzimutKurs->setAngle(-azimutKurs-tDU+90);
grAzimutKurs->setWidth(3/zoomKoef[index]); grAzimutKurs->setWidth(3*z1);
grAzimutKurs->setLength(20/zoomKoef[index]); grAzimutKurs->setLength(20*z1);
grAzimutKurs->setTextPos(QPointF((-185*sin((azimutKurs+tDU)*M_PI/180)+10)/zoomKoef[index], -185*cos((azimutKurs+tDU)*M_PI/180)/zoomKoef[index])); grAzimutKurs->setTextPos(QPointF((-185*sin((azimutKurs+tDU)*M_PI/180)+10)*z1, -185*cos((azimutKurs+tDU)*M_PI/180)*z1));
grAzimutKurs->setTextSize(10/zoomKoef[index]); grAzimutKurs->setTextSize(10*z1);
grAzimutRLS->setLength(219/zoomKoef[index]); grAzimutRLS->setLength(219*z1);
grAzimutRLS->setWidth(2/zoomKoef[index]); grAzimutRLS->setWidth(2*z1);
for (int i=0; i<100; i++) for (int i=0; i<100; i++)
{ {
// if (grAir[i]->exist) // if (grAir[i]->exist)
{ {
grAir[i]->setScaleIndex(1/zoomKoef[index]); grAir[i]->setScaleIndex(z1);
grAir[i]->scale(1/t,1/t); grAir[i]->scale(t_1,t_1);
} }
} }
grVCU->setWidth(1/zoomKoef[index]); grVCU->setWidth(z1);
grAzimutRLSnormal->setWidth(1/zoomKoef[index]); grAzimutRLSnormal->setWidth(z1);
grCross->setScaleIndex(z1);
} }
@@ -3146,16 +3151,14 @@ void Widget::on_comboBox_currentIndexChanged(int index)
void Widget::showSplash(int d) void Widget::showSplash(int d)
{ {
// qDebug("show splash%d", d);
if (d==1) // âûêëþ÷åíà
if (d==1)
{ {
loadingPos = 0; loadingPos = 0;
ui->graphicsView->centerOn(0,loadingPos); ui->graphicsView->centerOn(0,loadingPos);
ui->graphicsView->show(); ui->graphicsView->show();
} }
if (d==0) if (d==0) // Ðàáîòà ñ ÖÂÑ
{ {
if (loadScreenTmr->isActive()) loadScreenTmr->stop(); if (loadScreenTmr->isActive()) loadScreenTmr->stop();
loadingPos=0; loadingPos=0;
@@ -3174,6 +3177,83 @@ void Widget::showSplash(int d)
// d=0; // d=0;
// ui->graphicsView->hide(); // ui->graphicsView->hide();
} }
if (d == 13) // óáèëè ÖÂÑ
{
// qDebug("code 13");
udpOptServer->abort();
udpSocket->abort();
udpOptServer2->abort();
tmpGS->clear();
tmpGS->addPixmap(QPixmap(":/fon/pics/dead_end.png"));
ui->graphicsView->show();
ui->graphicsView->centerOn(0,0);
}
if (d == 15) // øòàòíîå âûêëþ÷åíèå - âûãðóçêà ÎÑ
{
if (openWidget)
openWidget->close();
udpOptServer->abort();
// udpSocket->abort();
udpOptServer2->abort();
tmpGS->clear();
tmpGS->addPixmap(QPixmap(":/fon/pics/shutdown.png"));
tmpGS->addItem((QGraphicsItem*)blackRect);
QRectF rF = blackRect->rect();
rF.moveTop(92);
blackRect->setRect(rF);
ui->graphicsView->show();
ui->graphicsView->centerOn(0,0);
loadScreenTmr->start(1000);
}
if (d==0)
{
ui->pushButton->show();
ui->comboBox->show();
ui->comboBox_2->show();
ui->pushButton_3->show();
ui->pushButton_4->show();
ui->pushButton_5->show();
ui->pushButton_6->show();
ui->pushButton_7->show();
ui->pushButton_8->show();
ui->pushButton_9->show();
ui->pushButton_10->show();
ui->pushButton_11->show();
ui->pushButton_12->show();
ui->pushButton_13->show();
ui->pushButton_14->show();
menu->show();
menu1->show();
}
else
{
ui->pushButton->hide();
ui->comboBox->hide();
ui->comboBox_2->hide();
menu->hide();
menu1->hide();
ui->pushButton_3->hide();
ui->pushButton_4->hide();
ui->pushButton_5->hide();
ui->pushButton_6->hide();
ui->pushButton_7->hide();
ui->pushButton_8->hide();
ui->pushButton_9->hide();
ui->pushButton_10->hide();
ui->pushButton_11->hide();
ui->pushButton_12->hide();
ui->pushButton_13->hide();
ui->pushButton_14->hide();
}
splashIsOn = d; splashIsOn = d;
} }
@@ -3182,14 +3262,29 @@ void Widget::loadScreenTick()
{ {
QString strTab; QString strTab;
QGraphicsTextItem *ti; QGraphicsTextItem *ti;
QRectF rF;
static int shDwn = 0;
int shDwn_coords[30] = { 123, 141, 158, 173, 190, 221, 238, 254, 271, 287,
302, 317, 334, 351, 366, 383, 399, 415, 431, 447,
463, 479, 495, 510, 526, 541, 560, 580, 580, 580 };
if (quickLoad) if (quickLoad && splashIsOn!=15)
{
showSplash(0); showSplash(0);
if (splashIsOn==15)
{
if (quickLoad)
shDwn=27;
keyPressEnabled=false;
rF = blackRect->rect();
rF.moveTop(shDwn_coords[shDwn]);
blackRect->setRect(rF);
shDwn++;
if (shDwn>=27) { loadScreenTmr->stop(); systemHalt=true;}
} }
if (splashIsOn==3) if (splashIsOn==3)
{ {
keyPressEnabled=false;
ui->graphicsView->centerOn(0, loadingPos); ui->graphicsView->centerOn(0, loadingPos);
loadingPos+=loadingShift; loadingPos+=loadingShift;
// qDebug("%d\n", loadingPos); // qDebug("%d\n", loadingPos);
@@ -3204,6 +3299,7 @@ void Widget::loadScreenTick()
} }
if (splashIsOn==5) if (splashIsOn==5)
{ {
keyPressEnabled=false;
ti = tmpGS->addText(QString::fromLocal8Bit(" ÁÒ23-206 èñïðàâåí"), QFont("Consolas", 11)); ti = tmpGS->addText(QString::fromLocal8Bit(" ÁÒ23-206 èñïðàâåí"), QFont("Consolas", 11));
ti->setDefaultTextColor(QColor(193, 193, 193)); ti->setDefaultTextColor(QColor(193, 193, 193));
curPosition+=12; curPosition+=12;
@@ -3257,10 +3353,10 @@ void Widget::loadScreenTick()
splashIsOn = 6; splashIsOn = 6;
QTimer::singleShot(1000, this, SLOT(loadScreenTick())); QTimer::singleShot(1000, this, SLOT(loadScreenTick()));
} else }
if (splashIsOn==6) if (splashIsOn==6) {
{
// if (loadScreenTmr->isActive()) loadScreenTmr->stop(); // if (loadScreenTmr->isActive()) loadScreenTmr->stop();
keyPressEnabled=false;
curPosition+=36; curPosition+=36;
ti = tmpGS->addText(QString::fromLocal8Bit("ÖÅËÎÑÒÍÎÑÒÜ ÏÎ ÍÅ ÍÀÐÓØÅÍÀ"), QFont("Consolas", 11)); ti = tmpGS->addText(QString::fromLocal8Bit("ÖÅËÎÑÒÍÎÑÒÜ ÏÎ ÍÅ ÍÀÐÓØÅÍÀ"), QFont("Consolas", 11));
@@ -3277,17 +3373,14 @@ void Widget::loadScreenTick()
QTimer::singleShot(5000, this, SLOT(loadScreenTick())); QTimer::singleShot(5000, this, SLOT(loadScreenTick()));
} else
if (splashIsOn==7)
{
putLogin();
} }
if (splashIsOn==7)
putLogin();
} }
void Widget::changeOpenWidget(QObject *p) void Widget::changeOpenWidget(QObject *p)
{ {
if (openWidget) openWidget->close();
openWidget = (QWidget*)p; openWidget = (QWidget*)p;
} }
@@ -3305,5 +3398,42 @@ void Widget::on_pushButton_9_clicked()
{ {
ui->radioButton_set1->setChecked(ui->pushButton_9->isChecked()); ui->radioButton_set1->setChecked(ui->pushButton_9->isChecked());
grCross->setVisible(ui->pushButton_9->isChecked());
} }
void Widget::MyClose() {
showSplash(15);
}
void Widget::rebootSlot()
{
static int flag = 1;
flag++;
if (flag==2)
{
udpSocket->abort();
udpNewTask->abort();
udpOptServer->abort();
udpOptServer2->abort();
udpSend->abort();
udpCU->abort();
udpTarget->abort();
tmrReport->stop();
tmrSyncr->stop();
writeFile();
QString program = "c:/Shilka_exe/sh3.exe";
QStringList arguments = (QStringList() << QString::number(currentTaskNum));
QProcess *myProcess = new QProcess(this);
myProcess->startDetached(program, arguments);
QTimer::singleShot(1000, this, SLOT(close()));
}
}

View File

@@ -16,6 +16,7 @@
#include "graphicsviewmod.h" #include "graphicsviewmod.h"
#include "graphicsarcitem.h" #include "graphicsarcitem.h"
#include "graphicslineitem.h" #include "graphicslineitem.h"
#include "graphicscrossitem.h"
#include <QGraphicsColorizeEffect> #include <QGraphicsColorizeEffect>
#include "grairobject.h" #include "grairobject.h"
@@ -180,6 +181,10 @@ public:
void initParams(); void initParams();
void setGraph(); void setGraph();
void setGrabFocus(int d);
QTimer *tmrFocus;
QTimer *tmrSyncr, *tmrReport;
void setVCU(int id); void setVCU(int id);
void clearVCU(); void clearVCU();
int findTargetFromId(int id); int findTargetFromId(int id);
@@ -216,7 +221,7 @@ public:
bool resetCVS[3]; bool resetCVS[3];
int splashIsOn; int splashIsOn;
bool systemHalt;
bool meteoAvtonom, meteoSred; bool meteoAvtonom, meteoSred;
void setMeteo(bool m1, bool m2); void setMeteo(bool m1, bool m2);
@@ -228,6 +233,7 @@ public:
void setRezhimGAG(int pos); void setRezhimGAG(int pos);
int rezhimZerk; int rezhimZerk;
int cvsRezhim;
T_geoPoint ts, reper; T_geoPoint ts, reper;
T_metAv metAv; T_metAv metAv;
@@ -264,10 +270,6 @@ public:
qreal AS_t1, AS_t2, VCU_t1, VCU_t2, R_N_t1, R_N_t2, R_V_t1, R_V_t2; qreal AS_t1, AS_t2, VCU_t1, VCU_t2, R_N_t1, R_N_t2, R_V_t1, R_V_t2;
qreal AS_par; qreal AS_par;
// qreal grCrossAzim, grCrossDist;
// QGraphicsItem grCross;
qreal azimutRLS; qreal azimutRLS;
graphicsLineItem *grAzimutRLS; graphicsLineItem *grAzimutRLS;
graphicsLineItem *grAzimutRLSnormal; graphicsLineItem *grAzimutRLSnormal;
@@ -285,6 +287,8 @@ public:
graphicsLineItem *grVCU; graphicsLineItem *grVCU;
int lastKO; int lastKO;
graphicsCrossItem *grCross;
qreal grCrossX, grCrossY;
bool autoZAdefault; bool autoZAdefault;
@@ -297,6 +301,7 @@ public:
QTimer *loadScreenTmr; QTimer *loadScreenTmr;
QGraphicsRectItem *blackRect;
int loadingPos; int loadingPos;
int loadingShift; int loadingShift;
@@ -317,7 +322,7 @@ public slots:
void switchWidget(int); void switchWidget(int);
void showSplash(int d=1); void showSplash(int d=1);
void hideSplash() {showSplash(0);}; void hideSplash() {showSplash(0);}
void msMeteoSredShow(void); void msMeteoSredShow(void);
void msVvodMA(void); void msVvodMA(void);
@@ -360,6 +365,8 @@ public slots:
void closeSlot(); void closeSlot();
void MyClose();
void rebootSlot();
void reCalculate(); void reCalculate();
void processSendingDatagrams(QByteArray buf, int port=45460); void processSendingDatagrams(QByteArray buf, int port=45460);
@@ -398,6 +405,9 @@ private slots:
void on_comboBox_2_currentIndexChanged(int index); void on_comboBox_2_currentIndexChanged(int index);
void on_pushButton_4_clicked(); void on_pushButton_4_clicked();
void on_pushButton_3_clicked();
void on_pushButton_5_clicked();
void on_pushButton_6_clicked();
void on_comboBox_currentIndexChanged(int index); void on_comboBox_currentIndexChanged(int index);
@@ -418,7 +428,7 @@ private slots:
private: private:
void putDate(); void putDate();
bool keyPressEnabled;
virtual void keyPressEvent ( QKeyEvent * e ); virtual void keyPressEvent ( QKeyEvent * e );
Ui::Widget *ui; Ui::Widget *ui;