From bd3ca921717cfc27c462d39a2b6fba15aa35d41a Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 24 Dec 2024 17:24:54 +0300 Subject: [PATCH] =?UTF-8?q?dev:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20user=20friendly=20=D0=BD=D0=B0=D0=B7=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B5=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../settings_window.cpython-310.pyc | Bin 7053 -> 9310 bytes src/gui/settings_window.py | 53 +++++++++++++++++- 2 files changed, 50 insertions(+), 3 deletions(-) diff --git a/src/gui/__pycache__/settings_window.cpython-310.pyc b/src/gui/__pycache__/settings_window.cpython-310.pyc index 2621f252dd0343fb2c045c67d6438a12a5ac9122..ee28745f9d379592021063e16734021455addb76 100644 GIT binary patch delta 4368 zcmbtXYit}>6`r{}`Cs3EQS_vI#0GA!_9~2@ z+gT8TweFd7&;9P1d(NEu-RoB#`{kLmlS-)){C@hwmCE>`@1$iSzsxgaqD8}Icq#Ux zv?S9AjlPgvjL;Dpr|JvJVidFlO@bDqF+dTTqG{;G!9GAUpsAn@(ky5R(00)rXi3oW zv;bNPv>`eSTKYvvkroFoNTpFf?V6rv*%kM)WmAXWA;bIpu&vij*9hYZ+dtF^v=B7+ z4F3fw4=PPbi#4Uq_-#p+;Hlmn4K2uWg0Co-vV)rLx{hn0`46f_q{)o4U+|B;BypANtIsZlWds^wa?>*=;(`U;R~NIEdO_5PSK2=26W ze*JjG^v>!`uep!h{V@7{S>D6%#y8{%eng#+$M`w*xID>ks!!&&&tv<**Af0J^{G}8 zv^X@8*5_nN`m(elxq~3(O+w|{vWymaGZg5QT#!7)3nS`=Ovw$hAvfV!m)OJqaZUth zH02SPwLt=;2euZv>Aj>$P#47)qRI;~oU|FeEuF+^Au%o13?asgQ(OcT=__PIfnK!R z3qucQ24fLV1zp-q+y);frDsn(LpGw&VjFQ!ZMNdVm;r;jk-$lt$!4^vdMPj6Ox%!R zaUof{y6z2N&&#Y5_NqV)0!q0}V9aTcWnt{~?pQb&>-Hl-AM;m=*H1&n?|t>&x9{=S zlV@56q`mvY8dsq0g63jrR-m+>jc&-`N+j?Wxe881C6r`V1VoAWWcsilS~b_VR0$TI zuO6>ju4g#4wG+=l-$m~QsZs9K7w$R!QaYQPK3;VUz3QF-r89&7E?J6*+MD3xsd89> z7r1;rHOlSO(Im#;E8hB=$!7SsQe&}GU??ToB)^y19rvTlrcO=f@^@25XU`#4Uhx&E z?OIU8qMXI%_yi2jLvxRTh=h`IQdZ+45wPJ*)vYv z_Sjjlh%LqDa4gJpyJE7ZP**(jy2noOCo;pId<0?RAWCYmQ)9MyO~c*l$HARu2xpfN z^(2VJ7;}PQcA4|c-knpMxdr)S{71QmTf#4v1$zhuGN7O;a2n~sCr zLnlBM>0Xfg=p^0WqEoMhz99pRNH?TS;Ik%ahG2Iqc&e-r;JyP$IaGqZdvKoNXKbh* z(+#t@rhCha`I=)}p2M{I8kCc%!H%#T+8CS*%y7091Ct-swVHliJJJ}M)2|n+mR-~h z!)#THr)CcoYmd60FZJBzz74!AF$YiKV71aV zmfJ?0wc4uq$yIGxXVf;ug#4MdUNjtYNz9yow6+aYZtMV|Cjo*)T&D_b|Gdu4^tR=QTq{iP5w91Ag3x-aL8f_|f3q-U zRzPFRC@d5rXdGoLD0G0_02pe z@8Ov$+=GFHghAAJr@kLRm;0iF3Qtn2)!sA6D&yy!E5(}gyje4C??K;y?t;tz9^7@^ z23NteAVyZOcHOvWw^eh_kk4+AbDOFlCo; z%$zHZr**Q{C~V6iA_8#6xw2vcNqNhbv5KVJC|q{f>RQV(;n3+?;mq)pOAZ4TgKrK0 z3p55Uif2(6fsp-FFx;k&MrJ19kS?H+x@fvpy=VkAf}h{Q@7eB)V8ogPumwmL*xhWH zU1Ynz0|~$&WtA?l-QNP7YQGHffnVBliZ#WJGw;|v iSNO=-bf&i`p&jIx$EF4kW%gvoV!4>C!XNyDasOZ3tbk(x delta 2170 zcmaJ?-ES0C6rVdgJ3Bl3(b=;7qPDc#Vp##jf?`CaP(UKk5-MmmHJf4X-OaSyUAS`_ zsO+XDCGsL6nCLloY6}~5H}|){d%otJbI;s; zdh+JMY$KDgHTXP!JXbwdxSu6D`CK~sj#|aMp;ZWtQ}cSd6sNt^qRHz<$pmK86tDzM zFsq`|G|j*+3GyuM0A>SoXbxBkSSQ^EEDbDAyMSeYb<-YT*&CXnl{#j$VxPRLkM(;7 z=CScXuEUDK3XaO(_3@OpYOQHRYig^>_1&>)LTq`>IKL-TYq+!=Fd_VUH3+S;U-w0M z(Z6SeM!;$no`(>;3!z))dd^@8=7kOBEL*&>5-*4{z3%clJfDadc_Bl+k3_z=X}C$p)Kms7x! zuqI&zQ$&Lf&S^mokgV#ItP$)f@L0sDKBEak#L;SnP<=&jktX~uLVo}2W1>fs^nq7P zk1PeqmNCrMLz?;~PoM)HDoR9>#?XlxH}zHwc9=l4Ghm0oqg`Cs$}hDBagS-Ayf>@2 zOjwDQ1sY4q9M~sYXh&APbkl4mMMh+s_6mViVnn-qNp#>&IP*HcrOa|*6EN zXG?M_`$ifMBs9d*CB_fSTiO26qaY}z)XX& zL$IrYAC-G^y@&Ro*-HRLI~sqh&aRa46$q0MF3O6ZMYkAcYw<>;=I7*Rx#9M?+z*DA z<%8U>BlyOsWM4G*`~YabSbx;{gt#99EjoMv?LPtt6MjJbsxSCq6k%ojJi>8=t+KEQ z9GlE9AWR{o0YVe1V|B{^?YI0TKas);_$N?p5408?e_Oi4B zvA5Y)*02qGz#g^xJLPP5br~YMMi29v5!ohTZ- z2TY^1v8SPplL|N9#Tw(os8VUD`$Xk}1wMoo;PV{fkWYJNmIA@#{q1iJDzg_{T&mJX zGSRS{*Jo(4St4@1A<*w14xmO&^F|52rZ1|>$ G@z*~Z^uxOV diff --git a/src/gui/settings_window.py b/src/gui/settings_window.py index 30040f9..3e97925 100644 --- a/src/gui/settings_window.py +++ b/src/gui/settings_window.py @@ -10,7 +10,7 @@ from utils.json_tools import read_json, write_json from utils import qt_settings as qts class settingsWindow(QWidget): - def __init__(self, path: str, name: str, upd_func: Callable[[], None]): + def __init__(self, path: str, name: str, upd_func: Callable[[], None], names: dict): """ Окно настроек для редактирования параметров. :param path: Путь к файлу настроек (JSON). @@ -25,6 +25,7 @@ class settingsWindow(QWidget): self._num_points: Optional[QLineEdit] = None self._param_table: Optional[QTableWidget] = None + self._assosiated_names = names self.load_settings() self._init_ui() @@ -92,7 +93,8 @@ class settingsWindow(QWidget): column_count = len(self._data[first_key]) self._param_table.setRowCount(len(self._data)) self._param_table.setColumnCount(column_count) - self._param_table.setVerticalHeaderLabels(self._data.keys()) + headers = [self._assosiated_names[key] for key in self._data.keys()] + self._param_table.setVerticalHeaderLabels(headers) int_delegate = ValidatorDelegate(data_type='int', parent=self._param_table) float_delegate = ValidatorDelegate(data_type='float', parent=self._param_table) @@ -180,13 +182,58 @@ class settingsWindow(QWidget): class SystemSettings(settingsWindow): def __init__(self, path, name, upd_func): - super().__init__(path, name, upd_func) + assosiated_names = { + "trace_storage_path": "trace path", + "monitor_update_period": "Monitoring period", + "a_max_1": "Max lin accel FE, m/s^2", + "v_max_1": "Max lin speed FE, m/s", + "a_max_2":"Max lin accel ME, m/s^2", + "v_max_2": "Max lin speed FE, m/s", + "mass_1": "Mass FE, kg", + "mass_2": "Mass ME, kg", + "k_hardness_1": "Hardness coef FE, N/m", + "k_hardness_2": "Hardness coef ME, N/m", + "torque_max_1": "Max torque FE, N*m", + "torque_max_2": "Max torque ME, N*m", + "transmission_ratio_1": "Transmission ratio FE", + "transmission_ratio_2": "Transmission ratio ME", + "contact_distance_1": "Contact distance FE, m", + "contact_distance_2": "Contact distance ME, m", + "k_prop": "Proportionality factor", + "time_capture": "Calculated points per sec", + "UML_time_scaler": "UML_time_scaler", + "Range ME, mm": "Range ME, mm" + } + super().__init__(path, name, upd_func, assosiated_names) self._num_points.setVisible(False) def _expand(self): pass class OperatorSettings(settingsWindow): + def __init__(self, path, name, upd_func): + assosiated_names = { + "distance_h_start_1": "Closing start dist FE, m" , + "distance_h_start_2": "Closing start dist ME, m", + "distance_s_1": "Rob movement start dist FE, m", + "distance_s_2": "Rob movement start dist ME, m", + "distance_l_1": "Max oncoming dist FE, m", + "distance_l_2": "Max oncoming dist ME, m", + "distance_h_end1": "Oncoming end dist FE, m", + "distance_h_end2": "Oncoming end dist FE, m", + "time_wielding": "Time of welding, sec", + "time_command": "Communication time compensator, sec", + "time_robot_movement": "Rob movement time, sec", + "object_thickness": "Workpiece thickness, m", + "force_target": "Target force, N", + "force_capture": "Capture force, N", + "Tesla closing": "Client closing time, sec", + "Tesla squeeze": "Client squeeze time, sec", + "Tesla welding": "Client welding time, sec", + "Tesla oncomming_relief": "Client moving to next point time, sec", + "Tesla summary time": "Client summary time, sec" + } + super().__init__(path, name, upd_func, assosiated_names) pass