From 9ef0c8d34fa51829e1ef1b509dcabe1e40d1f377 Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 24 Dec 2024 10:37:34 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=B3=D1=80=D0=B0=D1=84=D0=B8=D0=BA=D0=BE=D0=B2?= =?UTF-8?q?=20=D0=BF=D1=80=D0=B8=20=D1=81=D0=BC=D0=B5=D0=BD=D0=B5=20=D1=80?= =?UTF-8?q?=D0=B5=D0=B6=D0=B8=D0=BC=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../__pycache__/controller.cpython-310.pyc | Bin 1271 -> 1584 bytes .../__pycache__/mediator.cpython-310.pyc | Bin 1337 -> 1311 bytes .../__pycache__/monitor.cpython-310.pyc | Bin 2791 -> 3053 bytes src/controller/controller.py | 13 +++++++-- src/controller/mediator.py | 1 - src/controller/monitor.py | 10 ++++++- src/gui/__pycache__/mainGui.cpython-310.pyc | Bin 8767 -> 9091 bytes src/gui/__pycache__/reportGui.cpython-310.pyc | Bin 6212 -> 6128 bytes src/gui/mainGui.py | 27 ++++++++++++------ src/main.py | 4 ++- .../base/__pycache__/base.cpython-310.pyc | Bin 20605 -> 20848 bytes src/utils/base/base.py | 8 +++++- 12 files changed, 47 insertions(+), 16 deletions(-) diff --git a/src/controller/__pycache__/controller.cpython-310.pyc b/src/controller/__pycache__/controller.cpython-310.pyc index e534f39e3f9de20bbe035a3964dcadcee2852092..d35f37158fa2f09bc365ab90cdd43740ccb38472 100644 GIT binary patch delta 620 zcmZutzfaph6!zV@#BprL;4~rW4@AXckPt{Lh^a!XUAjd`R+M){ZWBAYxI$t9305TF z_zMsV8;BLL_h0bVy;}!5_B|_v2=%P{^xgZud+$3xm2Vv{bzR%Qb=CdW`zg-7Yj$yd zA0A3^Y_#nHE5M{Fou&aC#GVNzyg4!3F3e!nn^a3+VYLc#PzD>BkE{X?vRQCtX?)j% zDpuxD^I;ZQ0OG3=2D!bRCYeh6eW~)&ehhkxJuqMYWtS|_r+lf^WfXF}h;!WAxc}%~ z(bB*8JiF0nqTZ;e&M;M3G)O_#NhhPn^s-ntRn0K;Kzv$Jq$qa+9(8Qf zNZAZkMhJNxjA#8ALMM~au%Bk5V%-0OPumu#4Fx}FOpTg$VB`|&U&2~$MN!fj$SBJ7 zZ?Umi#C%H)isyeMM!!#05pomaZl(e{Hwan;9|#uoj=9*Rvt?M^ViubzzB;c9TiANv GJo*Q8g^!E? delta 257 zcmX|)J5B>Z42IX^ncdmhoykMVJ}5v)G}DC>P$GenCS7VThzeIFvprq1{aXKb*^qv}g}-cR@x zPx8qDhZ1~^=dk8)b;M8DLgZtt_yc`W%W$nE0`Lx7C-<3ji#X)HzDTFSea&;zrqux( Y-kX}AjT?=nwTV?0ETmAWinr$B7oS=*i2wiq diff --git a/src/controller/__pycache__/mediator.cpython-310.pyc b/src/controller/__pycache__/mediator.cpython-310.pyc index bb4e17d76ac97189ade6f447462ed24277e554f1..e1b40d974cb7bd586351746f8c847417bfaab152 100644 GIT binary patch delta 66 zcmdnVHJ^(&pO=@50SN9UXQg*<gArEN) delta 120 zcmbQwwUdiCpO=@50SJ8EGt)P2bEbUywkj1coc_9NMLkdGMLlF;9i6+Y} zj`-aCyv&mPqFel>1u2Oosqw|BB_)}8>BU8YKoz%mprQpi`6b1Z7cr}HvH^v87f;Uh8h2q=LT5(}tCiC{q&g|FN_k`o6QWnAGU0&5)tK&SuY3HRlm1QF= z-8L#V%d%0HL6l^PGI4XSz0Y`Y0S5wdMHsmSo)y605kN6os0UG}s{wY)(RQ`NO5(P~ zj&3~R8hjFm-(xM_XbPF8D@ls~7Es86(UT>*y}#904UXGY}LMvxY^Gf$b2w1V|l?pKBtD(T}5tMt~89(khDWiwiDJ zE?OQJZj37_zKBKIbp9dgo%5)>^J4aV!+%o4EujsaZQ? m>qxxozTkWV5#LlLFORLcTv{C^RHOE|Lo-gyN;p)ut?Cbq@pZ@m delta 332 zcmaDW{#=wVpO=@50SJ8EGt(V7C-Ti;44SyygI_R(KSiL0C5k(RJ(xjLXfp@n12!Wi zpt>4{EQS<@QpO^FAd7JUQw>;TArm7|G#HGF&s7 zTn@Vs7qBS{7#1=xg7kvSU|h%uWHW-zl>mw{FJJ+h%b3mxGZ!Y7!hjHi*uz?+4YKDG zhc~wckWmcs3 None: self.signal_widgets.emit(widgets) @@ -17,12 +19,17 @@ class Controller(BaseController): def update_settings(self, settings: list[dict]) -> None: self.signal_settings.emit(settings) - def raport_mode(self, filepath: str) -> None: - self.signal_raport_mode.emit(filepath) + def raport_mode(self) -> None: + self.signal_raport_mode.emit() def seeking_mode(self) -> None: self.signal_seeking_mode.emit() + def open_file(self, filepath: str) -> None: + self.signal_open_file.emit(filepath) + + def update_plots(self) -> None: + self.signal_update_plots.emit() \ No newline at end of file diff --git a/src/controller/mediator.py b/src/controller/mediator.py index 38e4657..8587b17 100644 --- a/src/controller/mediator.py +++ b/src/controller/mediator.py @@ -29,6 +29,5 @@ class Mediator(BaseMediator): def update_settings(self, settings: list[dict]): self._monitor.update_settings(settings) self._passportFormer.update_settings(settings) - self._monitor.update_plots() diff --git a/src/controller/monitor.py b/src/controller/monitor.py index ee1bed6..cac2975 100644 --- a/src/controller/monitor.py +++ b/src/controller/monitor.py @@ -51,18 +51,26 @@ class DirectoryMonitor(BaseDirectoryMonitor): def update_plots(self): if self._files is not None: + print("updPlot") self._mediator.notify(self, self._files) def custom_csv_extract_only(self, path: str): - self.stop() self._files.append(path) if path is not None: self._mediator.notify(self, [path]) else: self._mediator.notify(self, [None]) + + def start_raport(self) -> None: + print("startRaport") + self.stop() + self._files = [] + print(self._files) + self._mediator.notify(self, [None]) def start_seeking(self) -> None: + print("startSeeking") self._init_state() self.start() diff --git a/src/gui/__pycache__/mainGui.cpython-310.pyc b/src/gui/__pycache__/mainGui.cpython-310.pyc index df10a6fda581b79a2f504bf9417a7e8c11608be2..0765f31c05729d155c9dde577609fbfd8e70c121 100644 GIT binary patch delta 2856 zcmaJ?U2Ggz6`nhPyF2^q^?JSb`e&Wyr<-4=O=v^fw54qdYU36fCF-iMtbNDMOxC;R z&e$c^nvEJuK~x~2E44fT8oyNH1yT8lr}EMVgb*Nss0IlM5rKH91X9JnWWF=A*$}s? zt$X&n=bm%#opZi(?z_+2dM?+^W-SGOH@UmAa_pVl71lq%6vb8=j4KT_#rP?%+M2CT zC|u)gS--6;Gp=)EJKHe$JU4k_TW^>^NuB~q09iZ@lmyD~EKmx2av@3&)9O8$enZVi+{vgmK*KF;mU7b*tRbJ;up_<~y`0;I} zF%6>={3J9pw-sG!%)YGDPw#$JtuU68-`3829zjzyjHfZYPeb@hz;=|L(o}njs|E<( z4r7?Rs;dVEe$C-L5zUh{=L$Af7cSRR@@wWs{|8KrV=pl|6jh)w-*h^T-@M#fyz1~3 z+b0_@31P7eE3gvVoV?U>I#-C-qV9pPm9bHcWleR0cCFC0JCQX<2)U$7;dp= z`W1JAXTFJR_Kct?|D<0voEmZ?FBl(YCPf-w8D^X7Yg|5Uo*xU%=2F{kiO>|b=WN=7 z!Xf`_9x}uX(C%D9WuwzT-aJGB;Z3rnnqj+-B@e3XsBBp;9zTYaFfHu0uJD_@yL4R~ zCrz>G+3~!&Y`6S%93bZ8@2zq6#O~j%_nCPRR^pKSb;f_-If7A|=Y}ZCb@H)xYju&g zE(m!&+dK0-trj5as(69$Q$zFn9mORqY|!F@tmdBisN-ip$#FAwl(~n}6b11RiHGGc zb3r~jhOQ>c5MSEu=T&y-3Sh%>yyk}EIg4$3A7i7d-j;6{e!-rU8zYz575TG~bH?Z3 z^(~nyzRk|b9~GZ9PGJ6){CDx${!JhdP8kpnl@t+BrC(nQbTERbXT((njR_4=EfEt4 znj{B-Krh7wSs`PF#IuN6wBlMl&Cj@5u0?zSd4oL8=*NYqFNnjq$Y#3RX*(Uew%X;k zI08+*An2~*00h$Pi&n>5wgu(ecRDLxL?Us9OwN*cgv6sHs5OXlBtAugh$Re&(0Z!v ztaQHMtX%WODCH*1c(#2VyEW<9x*m6e$I0OWEgQb$e>BjPsPAKV6^JC0H%le?X6e!X z`lHpEzx&2vM<%(|VDrzUO?B-+KF8nuWXrhkw>ne0zfbjS&u${(X>!WfI|PMg<_mIaxc;YVu0$OrN@;D3KT=LAi=6>PbS; zYegMDF1q+d!8Fv{j_1cMa)XvPNf2@3TvC!k&FT0NF$Kjh)Zic}exgQ#ZW3nYUhVJ; zSwN49HL0kozGpIZPi471D`lD10c*BgFDHN#R-sb0iWw7Hv#48IQBNj{2|?Zq^^zdI MiH=;I`xVpw2lJ?P`v3p{ delta 2462 zcmaJ?OKcle6rDFekH_CQiQ`Y4I6o36{WmSNA(aYE3oS|`no?x71UGMzdg>(Z^CXbq z$f6AtRb};9RD8rl0v0SlRW`7K1uOxvLC8V~@sX%lut60cp>ppVld7d6(cHQ3{@$DO z&b_{LI%`qtFE4w^yzp!q;EX#g|>GJ}@iHoZI=qTw|yAGpgJp;52~A*+eTAS*;` zTWB+F0W}Q9RvHH_Lffn;lxq6-5HvxPV2?pWil#wp7RPF*nKdKd0@e=N3D#Dcwc?HK zyJ$C9+Q8RCdqGQ31wJd8lxAewNACkmiuTiiH7TA?Lr{(mf~ozoq)PeB2`RUA zB*@=Zh9f=zOoiuRcq%EvquOB2@wvvjRF$UuRmt|dCe_vnfwk?o18xxBq0MzztRvpq zjjl^Xg6t-$uai|$C2oxRgpb(GBC-WnBEo2B^_mwFUzb*us^Yd$zbK)& zi7MIDqhWyWHB(l^2f)g_~@PfeGs0^@J_ z`ZhlI$s`#^1owi7k|;5VNrLbOP2Tvy=#@ziHv-28d$C-AS>*-hOwonu^Q_O?pkjIJ zsTr%_EHbOYT{W(=R`8B&ycYPH=owI12VV|3J%>}ZYSj(|}+F`I>;qS%XA$$4B<}qyu)||iDJXTu+ zttz<^atz)?a7}g}p^^X6YVXz~ZAo7a)^l8!mDhs3G`_D?udm*#4^G z1neMH1U)1-1hYY1N2*A6*sVoyL%|hooOQxsRssw2rQ*Dmom-$5%Yx-bRspP|3=hq^ zQDAGaohWvp7)G%N#r-IdEo?W6eiRyrx_PivoSlEXID5{i>%fEJip842!GCIr>-#Zm zgp<}(H-h{sJe33p0|;lxrl6fEhk<%A=st;G07JF3YaMr z8cN`(B6@&=+=zhAg&vk&f1^Q7KneYd8`x~nfQPG7ligsWLqlGNLSh&P%BlvNMIc48 zqaxi~d8I(N169pwvSUl<$FWieejz0sekGv-|c9irc!^HE!M@dkXWW z_@D97A@9C$T|gl^PYBTxJHYlXJQeI3PTP7_92px|+8!cgn17b&2#DPTU;6pY#LhiW zLSS8kSu|_09OyZdwZV(cfXD~Rr3Gi|nIfIF9F|A(EQ)jdbaI4z!mlM?fBF;{a=yB9 z-dgt9rXRDGrw;G&_=nY58HK2=irRI#u!B|5=%Bds6Y3$TGyyEFj4fI7&R6`E)Wuj2 z#MQOw(n7^zIPX{=A4s<+pG6hP>eUbkJO|5f_?dJqgYaPzj8rBH_~9!i#6V`f{Ezg6 zhW+$CA8+5zqnT0C&&M5Zlj84|Cz65${Mpk<-cb#8U^JSp6d8fy9nB^To8?`$@ zVuN722~Q;m!i3f|;h(3nZ;&ViNo@xQX$^vhV}0^i=1)~7-JTjCR4 zBcy|0?HcBvcD0-yMgLJ0I4(T~dqWqNb+uHiINqpPME5cZL|Tlbx>B5X#04`%rLI6M zLsY~u*)-qZJ@g3v>Q#`Qh9t}CEuF}>WD>q*nr5Hb8PCOirr-3L(L~CO1$9%8>827> X4PVU1LXb3`Yhf~0oa5KKza;WM#*7&C diff --git a/src/gui/__pycache__/reportGui.cpython-310.pyc b/src/gui/__pycache__/reportGui.cpython-310.pyc index 844c044f8c0a8734643113e599aa23b47e0bc26d..26aef5c9d02a84cb098c59313388c728177e7e3d 100644 GIT binary patch delta 1553 zcmZ`(UvC>l5WhX&ozLewc2dVNAd$rV$3fN55=tqhEg`f?iY#cGRzzv9XW!yna(1k_ z3#2G0LLd?leOg|T5{Z|H7r=rKfIxzNf@=8;NW3BSp<-rFG{{md`FFE3v-5xU*BAeu zD6AF=j)uRVJ`Y72Hm*)g{DU4~zCTiazV{bMV!ma_p1^bIS>+{=8yw%M}1liSj^ z*p|MPdEW?(!2HZ6ZyUz4BfiZ@6Kpd4i7`A;L}Jf?A^bp@V2~hBKq8=krF|~)+l|0K zUlYF>7g=6d=9qZFT)9Ph(hNHRUr#TRodu`sgWvWN;2cIt!)UAqcT;=M;5jvFHrB!@ zDBwAM8o|~rW;2KB%+A@&cvLcb|CqNJ8x`}}%SV+XqwR+sX*QSeUTW=ei0~|$I4XY0 zN;WLMv8${iezqqLsXQnnnE@X6-x){2q_A^;Z4M*#(7DR}XsjEpCNWGR11iML&j$PK z)5vjkcm+SQ>@|V=3HL%$@S1Dz0gv5GT02$GGh{@CxF2T?c^8QPD#AxcuJZ0GBqDKs zzezDDmo7FaOn5s^{aAjt%R7NM@h zxv!E1BMRe0mi|j5=1CHES}|Nip_@(pO(U)R!5c(PAxJCs+uex6o5bl$kZLoJ|M&oc zVU}2x4KXoUIKrlS3xy$OjnJj4fPoYFl%(?&@!i02RuvBh#tSpZkY)qc;w6|9R`FCx zwUImn$>64#DV{0!`Mrb^UwmD>#LB%ti(~BgDN=oj;AMid1g{aCBTx;dcGg`3PKslL zCq}3)u9If1wjf;!5e=R_Ot~-QsMcN(Hk1COX@J*z_XodZi?c|=+XU|tTtnE?VUFlU z0!C0rsG~2{ij%~-LU5hnJp`F;uS`(^q=QYl5yoKy%Y8$9f3Ui!iqRy^fZ%ag;4&RO zy6r?^hkGA}L9zsQhE5vwGoUlyNI|M2=HQGfD%bo^DZx1vOcExj*8QVq*m+zohubkd=Nk&T#;{>!; zX$Um*YH`3IN|lu6Q66{)H+$Mo{8{WG(71q3K)nOXUb&J5&ud1095;CsdEWo3L@$+k mxge`yj1)~wsoL5As~FBx;=)MGu8ZD?SK1%Vbn!*4TKgAL|2mrh delta 1621 zcmZ`(OKclO7~a{JH|s~7q_z`UBIf~OMb!ohrH{~r5|XC0R-tMFA!S*67kiVnW6f+z zTe->s5C*9d(%g`c5^>5A%#AB&1S+TD!Vw7}6^T<1i2t9JYGkRl{P};)_dn+G@Z^tk z*_~|GR^apZr(wPLZT1maKL%Q?e5~w~4mlu1iB+HY>V48tT+LUmD~?tP|Iif0AtKfE zZnN-i;ON3&yX}Aq%XPz67`rYtfkxPF>{Z>G#~J~DK@ChDj2XheQg4ti`9pQ)a))%a zE&Y~4kK%uaOepuv)^JzbH@fNp`1Z}NazN_pJ+osb5%Wr%+On{uj_GUnwa-bHYz^(( zd_gObG+)=m$|0#had~&Q?R#KFp&SBhl}8JQc1pLjF#oUj?xmYGnvFRX{D~6I z#j%sFk>bH^;^|_#>n143w7{RoS`QcE6);L!4x6F7J!pZ z=Ga8Tlj@`qdS!vKwnbF)3d}w!4xb(B1ANVYEnKpWf&^FV2%jyU-g_Q>WrP_7yh}+5 zcuOpy`$K@OeM0eTZ=r#YC#miYu!I(ISi2{ kr4*>q0+lrYEG0*Zx?SLZ78zONZpqE}7fES^|5Td(4{# None: @@ -18,17 +20,19 @@ class MainWindow(BaseMainWindow): self._init_menu() - - def _init_startUI(self) -> None: - self.operSettings = OperatorSettings("params/operator_params.json", 'Operator', self._transfer_settings) - self.sysSettings = SystemSettings("params/system_params.json", 'System', self._transfer_settings) - self.repSettings = ReportSettings() + def _init_TabWidget(self) -> None: self.tabWidget = QtWidgets.QTabWidget() self.tabWidget.setTabsClosable(True) self.tabWidget.tabCloseRequested.connect(self._close_tab) self.tabWidget.currentChanged.connect(self._on_tab_changed) + def _init_startUI(self) -> None: + self.operSettings = OperatorSettings("params/operator_params.json", 'Operator', self._upd_settings) + self.sysSettings = SystemSettings("params/system_params.json", 'System', self._upd_settings) + self.repSettings = ReportSettings() + self._clear() + self.resize(800,800) seeking_mode_btn = QtWidgets.QPushButton("Real time folder scanning") seeking_mode_btn.setFixedWidth(300) seeking_mode_btn.clicked.connect(self._init_seekingUI) @@ -153,6 +157,7 @@ class MainWindow(BaseMainWindow): def _init_seekingUI(self) -> None: self._clear() + self._init_TabWidget() self._transfer_settings() button_layout = QtWidgets.QHBoxLayout() @@ -164,11 +169,11 @@ class MainWindow(BaseMainWindow): self._central_layout.addWidget(self.tabWidget) self._central_layout.addWidget(button_widget) self._central_layout.addWidget(title, alignment=Qt.AlignRight) - self.resize(800,800) self._controller.seeking_mode() def _init_raportUI(self) -> None: self._clear() + self._init_TabWidget() self._transfer_settings() save_screen_btn = QtWidgets.QPushButton("Save state") @@ -190,8 +195,8 @@ class MainWindow(BaseMainWindow): self._central_layout.addWidget(self.tabWidget) self._central_layout.addWidget(button_widget) self._central_layout.addWidget(title, alignment=Qt.AlignRight) - self.resize(800,800) - self._controller.raport_mode(None) + + self._controller.raport_mode() def show_plot_tabs(self, plot_widgets: list[QtWidgets.QWidget]) -> None: for plot_widget in plot_widgets: @@ -229,12 +234,16 @@ class MainWindow(BaseMainWindow): system_params = self.sysSettings.getParams() self._controller.update_settings([operator_params, system_params]) + def _upd_settings(self) -> None: + self._transfer_settings() + self._controller.update_plots() + def _close_tab(self, index:int) -> None: self.tabWidget.removeTab(index) def _open_file(self) -> None: path = self._select_csv() - self._controller.raport_mode(path) + self._controller.open_file(path) def _select_csv(self) -> Optional[str]: CSV_path, _ = QtWidgets.QFileDialog.getOpenFileName(self,"Select csv file", "", "CSV Files (*.csv)") diff --git a/src/main.py b/src/main.py index 06e3e3a..018ac49 100644 --- a/src/main.py +++ b/src/main.py @@ -25,8 +25,10 @@ def main(): controller.signal_widgets.connect(window.show_plot_tabs) controller.signal_settings.connect(mediator.update_settings) - controller.signal_raport_mode.connect(monitor.custom_csv_extract_only) + controller.signal_open_file.connect(monitor.custom_csv_extract_only) + controller.signal_raport_mode.connect(monitor.start_raport) controller.signal_seeking_mode.connect(monitor.start_seeking) + controller.signal_update_plots.connect(monitor.update_plots) sys.exit(app.exec_()) diff --git a/src/utils/base/__pycache__/base.cpython-310.pyc b/src/utils/base/__pycache__/base.cpython-310.pyc index 61a7458f287df13111a0cfa9195e91f9e129a351..600bf3faba5ca77fc88e32d66652564f4c6d67cc 100644 GIT binary patch delta 1210 zcmZvbO-xi*6vyX0W**F^3L`ip0|69yFvDY<$q*~}!8Zy6hCm~Ws`U<*GIb_TNUAhy zv^GsKE;xx{Q$tq;DpRBhI{Q_|DVM(k=6M5`cW98`DIuT zX@gg|I}(OdI39^^n&(B=5j541yST~$xs^Xy$-~cbUU^r)L~FDh^=Ogv1=qe}yv5gb z0Zd1&Fkp^EX8;gmv7>Mne~fixtGp{4;AAWx&Y2~(AKG9F57vbh3*h;>&uok2Fpfp_ zK3E)I7BGA3hZMMvvzxEO?|5>{IkgT{} zTxixIfNNWh)1UmI00BiShX4Qo delta 1108 zcmZvbT}V@57{~X_o#R~2ugz@vl^N*U2bUBwB)E0t~{q9EvI7hzgyM&Cs#XuZ!F*-g9n@!#|Lp67ku&o^Q12AF%z zW|NNnRs!;g%zNhDLYc_^9oMykq-)np2@)sqmkjL@l0}M=OiURht7Mj9nBt^FDOQSO zikIS>bi!u!s$c~i&fg1jIP0|FV%{Y7+6z2_L78Jkl`=vp;Q*nDL5NiHN!tkpgqH+? z@QN^x+ZvN_)owDY)Xc`V^ni)Yd>qqgV~;q>>nJsMcLA9NfZgk4yhshu1wl z+&Z(5Vtly`*002-s@`(H9^T;neUITa4(z`TPcWzADJpgy699yt)=PAYOBC`5(JS#Y*GgSS!0R$Qtsge2T@aFE^d_`zxC zH|p@6@RRU^@QbiUpoy{#(@vE|1r~6`>jno-d#AvIXAb#UnT%))M@zL&T{|=dV8RDA zg;0ZwH7CUa%CS)qeRxARk-zT=oBem&}hj(jbsKms&5jc#Kb$)0? zv(E=d@QBY3o%qP-7>H&mY-HNBwDs3UW~JgYRD718J&8n$;Uivar~@-DH59=*CO0;4F>&^U@;_xw6axSN diff --git a/src/utils/base/base.py b/src/utils/base/base.py index 9306920..65f5096 100644 --- a/src/utils/base/base.py +++ b/src/utils/base/base.py @@ -343,12 +343,18 @@ class BaseController(QObject): def update_settings(self, settings: list[dict]) -> None: ... - def raport_mode (self, filepath: str) -> None: + def raport_mode (self) -> None: ... def seeking_mode(self) -> None: ... + def open_file(self, filepath: str) -> None: + ... + + def update_plots(self) -> None: + ... + class BaseIdealDataBuilder(OptAlgorithm): def __init__(self, params: list[dict]):