From bb56d0eea06da62ed4d68fa22736f956b5b9c017 Mon Sep 17 00:00:00 2001 From: Denis Khachko Date: Mon, 19 Sep 2016 20:02:54 +0300 Subject: [PATCH] Vodoley mutex lock --- src/actors/robot/robot.json | 18 +++++++++--------- src/actors/robot/robotmodule.cpp | 14 +++++++------- src/actors/vodoley/vodoleymodule.cpp | 25 +++++++++++++++++++------ src/actors/vodoley/vodoleymodule.h | 1 + testing/prg/scripts/kumirutils.pyc | Bin 8046 -> 8804 bytes testing/scripts/runtest_r.py | 2 +- 6 files changed, 37 insertions(+), 23 deletions(-) diff --git a/src/actors/robot/robot.json b/src/actors/robot/robot.json index db704bf4..2317c976 100644 --- a/src/actors/robot/robot.json +++ b/src/actors/robot/robot.json @@ -203,7 +203,7 @@ "order": 1, "type": "color", "default": "#FFFFFF", - "title": {"ascii": "Text color", "ru_RU": "Цвет смиволов"} + "title": {"ascii": "Text color", "ru_RU": "Цвет символов"} }, "LineColor": { "order": 2, @@ -232,50 +232,50 @@ "EditColor": { "order": 6, "type": "color", - "default": "#00008C", + "default": "#6496ff", "title": {"ascii": "Background color (edit mode)", "ru_RU": "Цвет поля (редактирование)"} }, "LettShift": { "order": 7, "type": "int", - "default": "0", + "default": "2", "title": {"ascii": "Letters Shift", "ru_RU": "Сдвиг символов вверх/вниз"} }, "MarkShift": { "order": 8, "type": "int", - "default": "0", + "default": "3", "title": {"ascii": "Marks Shift", "ru_RU": "Сдвиг точки вверх/вниз"} }, "MarkShiftLeft": { "order": 9, "type": "int", - "default": "0", + "default": "6", "title": {"ascii": "Letters Shift", "ru_RU": "Сдвиг точки право/лево"} }, "ImageSize": { "order": 10, "type": "double", - "default": "50", + "default": "100", "maximum": "5000", "title": {"ascii": "ImageSize", "ru_RU": "Пикселей/клетку при сохранении картинки"} }, "BortW": { "order": 11, "type": "int", - "default": "4", + "default": "6", "title": {"ascii": "BortW", "ru_RU": "Толщина борта"} }, "StW": { "order": 12, "type": "int", - "default": "2", + "default": "1", "title": {"ascii": "BortW", "ru_RU": "Толщина линий"} }, "WallW": { "order": 13, "type": "int", - "default": "3", + "default": "4", "title": {"ascii": "BortW", "ru_RU": "Толщина стен"} }, "FillColor": { diff --git a/src/actors/robot/robotmodule.cpp b/src/actors/robot/robotmodule.cpp index 54e58167..83eb8fc8 100644 --- a/src/actors/robot/robotmodule.cpp +++ b/src/actors/robot/robotmodule.cpp @@ -343,7 +343,7 @@ namespace ActorRobot { if (upChar.isPrint() && upChar!=' ') { upCharItm=Scene->addText(upChar,font); upCharItm->setDefaultTextColor(TextColor); - float lettShift=sett->value("LettShift","1").toFloat(); + float lettShift=sett->value("LettShift","2").toFloat(); upCharItm->setPos(upLeftCornerX,upLeftCornerY-2-lettShift); upCharItm->setZValue(1); } @@ -382,8 +382,8 @@ namespace ActorRobot { delete markItm; markItm = NULL; } - float xshift=sett->value("MarkShiftLeft","1").toFloat(); - float yshift=sett->value("MarkShift","1").toFloat(); + float xshift=sett->value("MarkShiftLeft","6").toFloat(); + float yshift=sett->value("MarkShift","3").toFloat(); // markItm=Scene->addText(QChar(9787),font); markItm=Scene->addText(QChar(9679),font); markItm->setDefaultTextColor(TextColor); @@ -772,7 +772,7 @@ namespace ActorRobot { LineColor = QColor(sett->value("LineColor","#C8C800").toString()); EditLineColor = QColor(sett->value("LineColorEdit","#C8C800").toString()); WallColor=QColor(sett->value("WallColor","#C8C800").toString()); - EditColor=QColor(sett->value("EditColor","#00008C").toString()); + EditColor=QColor(sett->value("EditColor","#6496ff").toString()); NormalColor=QColor(sett->value("NormalColor","#289628").toString()); showLine=QPen(QColor(0,255,0,125)); showLine.setWidth(3); @@ -1067,12 +1067,12 @@ namespace ActorRobot { drawNet(); BortLine = QPen(WallColor,4); - BortLine.setWidth(sett->value("BortW","4").toInt()); + BortLine.setWidth(sett->value("BortW","6").toInt()); StLine=QPen(gridColor,3); - StLine.setWidth(sett->value("StW","2").toInt()); + StLine.setWidth(sett->value("StW","1").toInt()); WallLine=QPen(WallColor,3); - WallLine.setWidth(sett->value("WallW","2").toInt()); + WallLine.setWidth(sett->value("WallW","4").toInt()); qDebug()<<"Rows"<MoveFromTo(0,3);//Move water from A to .... - + mutex.unlock(); } /* public slot */ void VodoleyModule::runEmptyB() { /* алг вылей B */ // TODO implement me + mutex.lock(); MainWindow->MoveFromTo(1,3); - + mutex.unlock(); } /* public slot */ void VodoleyModule::runEmptyC() { /* алг вылей C */ // TODO implement me + mutex.lock(); MainWindow->MoveFromTo(1,3); - + mutex.unlock(); } /* public slot */ void VodoleyModule::runFromAToB() { /* алг перелей из A в B */ // TODO implement me + mutex.lock(); MainWindow->MoveFromTo(0,1); - + mutex.unlock(); } /* public slot */ void VodoleyModule::runFromAToC() { /* алг перелей из A в C */ // TODO implement me + mutex.lock(); MainWindow->MoveFromTo(0,2); + mutex.unlock(); } /* public slot */ void VodoleyModule::runFromBToA() { /* алг перелей из B в A */ // TODO implement me + mutex.lock(); MainWindow->MoveFromTo(1,0); + mutex.unlock(); } /* public slot */ void VodoleyModule::runFromBToC() { /* алг перелей из B в C */ // TODO implement me + mutex.lock(); MainWindow->MoveFromTo(1,2); - + mutex.unlock(); } /* public slot */ void VodoleyModule::runFromCToB() { /* алг перелей из C в B */ // TODO implement me + mutex.lock(); MainWindow->MoveFromTo(2,1); + mutex.unlock(); } /* public slot */ void VodoleyModule::runFromCToA() { /* алг перелей из C в A */ // TODO implement me + mutex.lock(); MainWindow->MoveFromTo(2,0); - + mutex.unlock(); } /* public slot */ bool VodoleyModule::runTaskComplited() diff --git a/src/actors/vodoley/vodoleymodule.h b/src/actors/vodoley/vodoleymodule.h index 8c518b47..9b38748b 100644 --- a/src/actors/vodoley/vodoleymodule.h +++ b/src/actors/vodoley/vodoleymodule.h @@ -66,6 +66,7 @@ public slots: private: void createGui(); + QMutex mutex; void createRescentMenu(); Vodoley *MainWindow; ExtensionSystem::SettingsPtr my_settings; diff --git a/testing/prg/scripts/kumirutils.pyc b/testing/prg/scripts/kumirutils.pyc index 96de28ead2f4f8e001e3542b50ee0cd7a7e26315..02e6033d750d5418adc85487baaf78fb74c17b04 100644 GIT binary patch literal 8804 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 diff --git a/testing/scripts/runtest_r.py b/testing/scripts/runtest_r.py index 1eb3fa45..85a5da43 100755 --- a/testing/scripts/runtest_r.py +++ b/testing/scripts/runtest_r.py @@ -7,7 +7,7 @@ import os.path import os import kumirutils -TEST_DIRS = [ "tLeonovKarpov","tErrors","tKushnirenko","tKushnirenko_Nov","tOur","tTOS" ] +TEST_DIRS = [ "../prg/tOurNew","tErrors","tKushnirenko","tKushnirenko_Nov","tOur","tTOS" ] out = sys.stdout -- GitLab