frontengine-dev 0.0.57__py3-none-any.whl → 0.0.59__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. frontengine/__init__.py +1 -2
  2. frontengine/show/scene/extend_graphic_scene.py +0 -1
  3. frontengine/show/scene/extend_graphic_view.py +2 -1
  4. frontengine/show/scene/scene.py +23 -41
  5. frontengine/show/text/draw_text.py +28 -3
  6. frontengine/show/video/video_player.py +2 -3
  7. frontengine/show/web/webview.py +10 -1
  8. frontengine/ui/dialog/choose_file_dialog.py +0 -9
  9. frontengine/ui/main_ui.py +2 -0
  10. frontengine/ui/menu/how_to_menu.py +13 -2
  11. frontengine/ui/menu/language_menu.py +45 -0
  12. frontengine/ui/page/control_center/control_center_ui.py +2 -6
  13. frontengine/ui/page/gif/gif_setting_ui.py +16 -4
  14. frontengine/ui/page/image/image_setting_ui.py +15 -3
  15. frontengine/ui/page/scene_setting/scene_manager.py +96 -0
  16. frontengine/ui/page/scene_setting/scene_page/gif.py +102 -0
  17. frontengine/ui/page/scene_setting/scene_page/image.py +83 -0
  18. frontengine/ui/page/scene_setting/scene_page/sound.py +84 -0
  19. frontengine/ui/page/scene_setting/scene_page/text.py +93 -0
  20. frontengine/ui/page/scene_setting/scene_page/video.py +122 -0
  21. frontengine/ui/page/scene_setting/scene_page/web.py +66 -0
  22. frontengine/ui/page/scene_setting/scene_setting_ui.py +30 -23
  23. frontengine/ui/page/sound_player/sound_player_setting_ui.py +0 -1
  24. frontengine/ui/page/text/text_setting_ui.py +35 -7
  25. frontengine/ui/page/utils.py +23 -0
  26. frontengine/ui/page/video/video_setting_ui.py +18 -7
  27. frontengine/ui/page/web/web_setting_ui.py +19 -5
  28. frontengine/user_setting/scene_setting.py +34 -0
  29. frontengine/utils/multi_language/english.py +15 -3
  30. frontengine/utils/multi_language/france.py +137 -0
  31. frontengine/utils/multi_language/germany.py +137 -0
  32. frontengine/utils/multi_language/italy.py +137 -0
  33. frontengine/utils/multi_language/language_wrapper.py +17 -2
  34. frontengine/utils/multi_language/russian.py +137 -0
  35. frontengine/utils/multi_language/simplified_chinese.py +137 -0
  36. frontengine/utils/multi_language/traditional_chinese.py +16 -3
  37. {frontengine_dev-0.0.57.dist-info → frontengine_dev-0.0.59.dist-info}/METADATA +1 -1
  38. {frontengine_dev-0.0.57.dist-info → frontengine_dev-0.0.59.dist-info}/RECORD +42 -49
  39. frontengine/ui/page/scene_setting/scene_tabs/Image.py +0 -61
  40. frontengine/ui/page/scene_setting/scene_tabs/gif.py +0 -74
  41. frontengine/ui/page/scene_setting/scene_tabs/scene_control.py +0 -78
  42. frontengine/ui/page/scene_setting/scene_tabs/sound.py +0 -44
  43. frontengine/ui/page/scene_setting/scene_tabs/tableview_model.py +0 -65
  44. frontengine/ui/page/scene_setting/scene_tabs/text.py +0 -77
  45. frontengine/ui/page/scene_setting/scene_tabs/ui.py +0 -56
  46. frontengine/ui/page/scene_setting/scene_tabs/video.py +0 -88
  47. frontengine/ui/page/scene_setting/scene_tabs/web.py +0 -74
  48. frontengine/user_setting/gif/__init__.py +0 -0
  49. frontengine/user_setting/gif/gif_setting.py +0 -5
  50. frontengine/user_setting/image/__init__.py +0 -0
  51. frontengine/user_setting/image/image_setting.py +0 -4
  52. frontengine/user_setting/sound/__init__.py +0 -0
  53. frontengine/user_setting/sound/sound_setting.py +0 -4
  54. frontengine/user_setting/text/__init__.py +0 -0
  55. frontengine/user_setting/text/text_setting.py +0 -5
  56. frontengine/user_setting/video/__init__.py +0 -0
  57. frontengine/user_setting/video/video_setting.py +0 -6
  58. frontengine/user_setting/web/__init__.py +0 -0
  59. frontengine/user_setting/web/web_setting.py +0 -4
  60. /frontengine/ui/page/scene_setting/{scene_tabs → scene_page}/__init__.py +0 -0
  61. {frontengine_dev-0.0.57.dist-info → frontengine_dev-0.0.59.dist-info}/LICENSE +0 -0
  62. {frontengine_dev-0.0.57.dist-info → frontengine_dev-0.0.59.dist-info}/WHEEL +0 -0
  63. {frontengine_dev-0.0.57.dist-info → frontengine_dev-0.0.59.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,4 @@
1
- frontengine/__init__.py,sha256=bfPIO2Y3oRwkh7NaTch9vZ9780VWTvqmPQBcWZpG6H8,2049
1
+ frontengine/__init__.py,sha256=kRQu2NKQX6VjF70N7Alqp31mxqJ5SRZL1Ri4abYvz0c,1938
2
2
  frontengine/show/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  frontengine/show/gif/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  frontengine/show/gif/paint_gif.py,sha256=N_jj4wf5sPYj1vEjFFqlBDcjCD8hxF45ipRJ5yO6XOs,3024
@@ -7,72 +7,60 @@ frontengine/show/image/paint_image.py,sha256=BtKyFJP7UdOLMBsCoQ1fnT8ft-cUxDaufFz
7
7
  frontengine/show/load/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
8
  frontengine/show/load/load_someone_make_ui.py,sha256=yjMrkA76VEYkKXygwKmoKaADymjjDlebI-7PNa6DrEo,1010
9
9
  frontengine/show/scene/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- frontengine/show/scene/extend_graphic_scene.py,sha256=YfxAvMllAOS67XtyEoTiVWultD_NamWdH2plV75QcQ0,150
11
- frontengine/show/scene/extend_graphic_view.py,sha256=RHchIGI3UWjmrpAo9aIfyTvCV_ENGIbn_FOrq-nZ46w,1935
12
- frontengine/show/scene/scene.py,sha256=BZVNgeXR46p6hfHusUEX7dVCoxk9eUA0vksuWafLr8c,5337
10
+ frontengine/show/scene/extend_graphic_scene.py,sha256=7UiEr_kRbhheGOj_rYeq3fAUtRacq2WH8fQZV0Q-tA4,148
11
+ frontengine/show/scene/extend_graphic_view.py,sha256=b5yAA_PqMTCnn7-63Q8Fhm9HBiWfjo48_1xjh2nP67I,1999
12
+ frontengine/show/scene/scene.py,sha256=3DkiM0-JT2RT-1aAXz5imHd8pg6ngt7Pv7QniZUvAs8,4420
13
13
  frontengine/show/sound_player/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  frontengine/show/sound_player/sound_effect.py,sha256=pHsf0DC1cHwo66neudKzIUqiuWihlXR1a34-_AQrbo0,2032
15
15
  frontengine/show/sound_player/sound_player.py,sha256=VOXwKI6-VdMH18u__atCay3wVJFu3TTHiygnQ8MNCTE,2135
16
16
  frontengine/show/text/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
- frontengine/show/text/draw_text.py,sha256=YPTSbz8c2dTDD-qZ6kT-HpfmF5d_1prxSA2Dv9HuHCw,2320
17
+ frontengine/show/text/draw_text.py,sha256=7uXWXDVU6TE5sfQ52bXCNkl0uBIR3dku7xyZPKOqRD4,3685
18
18
  frontengine/show/video/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
- frontengine/show/video/video_player.py,sha256=Gp1LErz7-xdPYajgEcpnLC_qOZ78NcgDI8AHG8TIF6c,3321
19
+ frontengine/show/video/video_player.py,sha256=_Sjbcy0KwY3hdr5JIYDIFtnmeDj2EUP0A8w_nSDPnu0,3358
20
20
  frontengine/show/web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
- frontengine/show/web/webview.py,sha256=ScRoJ43ftjUoU-qdrtsPv4QIywEtdseAPpj1Seqk_xY,2450
21
+ frontengine/show/web/webview.py,sha256=2-7HW395Fp0SZnjUcrTGW-AWk_5OAAyzgjoXnnPpQoE,2842
22
22
  frontengine/system_tray/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
23
  frontengine/system_tray/extend_system_tray.py,sha256=k4u2lEox-fCwmQKy1qnek9SGoqUkMFv8Av_DcNanwcE,1595
24
24
  frontengine/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
- frontengine/ui/main_ui.py,sha256=LP99Hbh48YMmw9z0BbKCilXhSCyjq0npzzk8kqVBtxo,7488
25
+ frontengine/ui/main_ui.py,sha256=geyNI7dI5pbnRBvAoRVVEYUtfmQp5pk3w1Xf_BXj93k,7584
26
26
  frontengine/ui/color/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  frontengine/ui/color/global_color.py,sha256=Rh-R-X2BHVjcK5MTBZ1nEMVHgLj1rP4nk-wTQKbiwFA,125
28
28
  frontengine/ui/dialog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
- frontengine/ui/dialog/choose_file_dialog.py,sha256=2axmBspnOgiKIoEkc7XICPc40HQeZbqEQ6TltNovMFI,3456
29
+ frontengine/ui/dialog/choose_file_dialog.py,sha256=Xu7c_2cQav3LyQF9S2HEW_PBEvJNaZCYPcliiteQpV8,3036
30
30
  frontengine/ui/dialog/save_file_dialog.py,sha256=e-sgUsmEAU1JSvzzmTmc2pf9rnW61alOgd48ESTYG1I,373
31
31
  frontengine/ui/menu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
32
  frontengine/ui/menu/help_menu.py,sha256=_eNm60mrilBCVXumxnFuWDR48IONDjN5CDMAAgcyhAY,965
33
- frontengine/ui/menu/how_to_menu.py,sha256=kBhfAeFM2GK61OO5kqWlxFo8Pz2LUoSaNfkwsbneF1Y,499
34
- frontengine/ui/menu/language_menu.py,sha256=--9_RxoeefPlCx8i9q7PoRDCmQp9715hpWyMaegJWGE,1953
33
+ frontengine/ui/menu/how_to_menu.py,sha256=s1azoiD8H2lApbFPcrv8QvsR1mwh6O_gFHRngQ7bsbc,952
34
+ frontengine/ui/menu/language_menu.py,sha256=p0nA4bgxc7CIX8_WxUKlnjNLFyvmqCx-h6GXSazlVeM,4271
35
35
  frontengine/ui/page/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
+ frontengine/ui/page/utils.py,sha256=UxHVStfVg-6563T20pEjnVMYzMvy9JePAj1VOm8HX_g,1103
36
37
  frontengine/ui/page/control_center/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
- frontengine/ui/page/control_center/control_center_ui.py,sha256=kkzoaFsjLuYMExgNITuWk1n5iwY5RZnPKWkOoKUrWwY,8157
38
+ frontengine/ui/page/control_center/control_center_ui.py,sha256=zyFdFML00ZHcC8NV2Lws95EssIDM_WUMU6h3qePhU7Y,7992
38
39
  frontengine/ui/page/gif/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
- frontengine/ui/page/gif/gif_setting_ui.py,sha256=Sr8lJk2lq5kOhATP9Cz2fgFzjXgWqbV2zLuwSVDttng,6103
40
+ frontengine/ui/page/gif/gif_setting_ui.py,sha256=HherbCmOJgO5TLXHt9sflTspmCQh1pv1IGyfKmp7kog,6908
40
41
  frontengine/ui/page/image/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
- frontengine/ui/page/image/image_setting_ui.py,sha256=4lPtOwx15ZWhxu9fI-k55AFWXZoZC4FDC8h_LiK1PNM,5232
42
+ frontengine/ui/page/image/image_setting_ui.py,sha256=0in02Swq_qM-jZNevgoZe0QzjbnAl5L0ZMHOTHzQbrQ,6038
42
43
  frontengine/ui/page/scene_setting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
- frontengine/ui/page/scene_setting/scene_setting_ui.py,sha256=ikmicNQ3zwvn-L_NIuNQ6xScPamFQF_O4b3Ds8Wj764,2540
44
- frontengine/ui/page/scene_setting/scene_tabs/Image.py,sha256=qMJ4y8wg_xJ6jMJe_1xGqz6Yo8fJDFR37-mRFNku9-U,3131
45
- frontengine/ui/page/scene_setting/scene_tabs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
- frontengine/ui/page/scene_setting/scene_tabs/gif.py,sha256=SFOWlwV_Z5izG7X5UrYOhK-t14AOyVSkU28yThfY3ec,3785
47
- frontengine/ui/page/scene_setting/scene_tabs/scene_control.py,sha256=jG7EXU5S2YyViPQy9fyn68SQkYs-2cAds3FBn8j8E00,4019
48
- frontengine/ui/page/scene_setting/scene_tabs/sound.py,sha256=FFi58AvQ6BbDAT1WxujMpHznSIpqX0GYze3rCpYJbPc,2032
49
- frontengine/ui/page/scene_setting/scene_tabs/tableview_model.py,sha256=vt3sNwWs7w05wjDadU0pupmsP7S5qnCYWZQ_ppkU27k,2810
50
- frontengine/ui/page/scene_setting/scene_tabs/text.py,sha256=Tj6Dqa-p1siHWihz4G-6e5SN037KRcpKJ6c08q16EFg,3937
51
- frontengine/ui/page/scene_setting/scene_tabs/ui.py,sha256=457znYe0QyzjwkdWHr19i1vRF5IMT_i__a4fv_-Pr9c,2849
52
- frontengine/ui/page/scene_setting/scene_tabs/video.py,sha256=5KW1s4O3n6_NJyOdlIm8HXpEVaeOhl5isUMPatYH6Rc,4586
53
- frontengine/ui/page/scene_setting/scene_tabs/web.py,sha256=PyKQaZrgurQ0OG8OOMgrePm_xU2MY7jVssXh4iD0tFA,3875
44
+ frontengine/ui/page/scene_setting/scene_manager.py,sha256=XrdIAWCxTDqrCXOiFCEOI6BSpD3nv3qSpkG7JFM9JD4,4675
45
+ frontengine/ui/page/scene_setting/scene_setting_ui.py,sha256=jc6BGKHJGmPbFxChyILW3BBU_EF1yT0l63OJNqJYWSM,2590
46
+ frontengine/ui/page/scene_setting/scene_page/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
+ frontengine/ui/page/scene_setting/scene_page/gif.py,sha256=DS6HHx-SRtliWwr-KD8UpH6lxufeudyUVQgv41iMdE0,4436
48
+ frontengine/ui/page/scene_setting/scene_page/image.py,sha256=vBOG6kgNEsQU5DEivrwvP2tzq4KkTW5EkKIRe7XDKUI,3495
49
+ frontengine/ui/page/scene_setting/scene_page/sound.py,sha256=KeVUQ-B5hg1BkdBNUl1oRRcT6dZuL5s4_g8trwS_tDg,3637
50
+ frontengine/ui/page/scene_setting/scene_page/text.py,sha256=uWLobsSK0S8qDVQARghGs-mQNZT0c7zXC43tJM8UGFQ,4358
51
+ frontengine/ui/page/scene_setting/scene_page/video.py,sha256=b1oI57ZDA3R__AD6JxKT1Mvs2FR1Vaxni82ZTgkbiYk,5517
52
+ frontengine/ui/page/scene_setting/scene_page/web.py,sha256=vYBbPvPHJqw3FjeImDj4y8YWLV4FpTLZnrbK3_RbBAY,2845
54
53
  frontengine/ui/page/sound_player/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
- frontengine/ui/page/sound_player/sound_player_setting_ui.py,sha256=mu7c0DtkKrvGgH2VTDY-W5N1BAK6oJewT-_5qYgeZFM,6038
54
+ frontengine/ui/page/sound_player/sound_player_setting_ui.py,sha256=OFRxUyUXVj3-PiHezjnspVqW-uabAd2vKu1ipEy-4p0,6000
56
55
  frontengine/ui/page/text/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
- frontengine/ui/page/text/text_setting_ui.py,sha256=vuvag85AAfPJ5vYulv923ggcFWTunf6SLOkiqK5l6ho,4778
56
+ frontengine/ui/page/text/text_setting_ui.py,sha256=nSrXkezs7X9-7Kd16raaz3WZJFwyL4cuz3j74VQIS9U,6317
58
57
  frontengine/ui/page/video/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
- frontengine/ui/page/video/video_setting_ui.py,sha256=QIIQR-uXxha3Eeb5JtV6SqdbrY7iopszgNcJNGMt2g4,7404
58
+ frontengine/ui/page/video/video_setting_ui.py,sha256=vKSKQwWnT5Fnd94h2XTC-Pye495WlZyY5m1vQDeMvf8,8120
60
59
  frontengine/ui/page/web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
- frontengine/ui/page/web/web_setting_ui.py,sha256=y1Wr33YDX6Xe_robfSi_2b6p4aIowbS_Z2pw8ySB9kI,4823
60
+ frontengine/ui/page/web/web_setting_ui.py,sha256=FgTCn68WTeFp197mhvilWKK25m0xF0gSZ9b7hfG2ELQ,5596
62
61
  frontengine/user_setting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
+ frontengine/user_setting/scene_setting.py,sha256=lTIDCWN3e2zQJJ5XMQRQlvHDHCsj5Opl6ek5geOEgfk,1211
63
63
  frontengine/user_setting/user_setting_file.py,sha256=yMAPFfzNpYv6qBcFqNoFoxc68bgo1tmaZJWP9txh_ng,635
64
- frontengine/user_setting/gif/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
- frontengine/user_setting/gif/gif_setting.py,sha256=PcZWWl2ik0cD7fXoJ3KBD-g0GDaubi-JsmyxaCGYQ64,89
66
- frontengine/user_setting/image/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
67
- frontengine/user_setting/image/image_setting.py,sha256=GkEbR2ZJCpwYAqRBfrVQbGJoTQsIhAlgqHm9RNMJkAQ,79
68
- frontengine/user_setting/sound/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
69
- frontengine/user_setting/sound/sound_setting.py,sha256=VWFNDTT2uSXjs1bxUGnOAMNWdqHT_0vgV8OAWd2E3Nc,72
70
- frontengine/user_setting/text/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
- frontengine/user_setting/text/text_setting.py,sha256=AxCajm83JfL-TBpVgAaDvJlpV1FsfNCKBTVUsC8Zk98,98
72
- frontengine/user_setting/video/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
- frontengine/user_setting/video/video_setting.py,sha256=LIPZpUBNMTPhW_gbH3g8rUqZ1rsqXcUZu5BFmhrCB-o,118
74
- frontengine/user_setting/web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
- frontengine/user_setting/web/web_setting.py,sha256=9Nn0AXvYtOvucWB0DtsM_DTYyxUuFMarmKT0VODMETI,72
76
64
  frontengine/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
77
65
  frontengine/utils/browser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
66
  frontengine/utils/browser/browser.py,sha256=BQBjJpbTubqruUvg75O21SUhawFdVhDmuYxtd_FN1Gs,85
@@ -91,13 +79,18 @@ frontengine/utils/json_format/json_process.py,sha256=xJt_4Hm_o3sNDoeGtRW9Q7fsRj3
91
79
  frontengine/utils/logging/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
80
  frontengine/utils/logging/loggin_instance.py,sha256=Zjr384o2q8x0QWv_hNoHIM_zCp5-HFgW14t-d30GUcQ,598
93
81
  frontengine/utils/multi_language/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
- frontengine/utils/multi_language/english.py,sha256=RQjFPbw_gGtrecjqWOB2fvbGrxen9IzbQZOn3LA9BIg,5249
95
- frontengine/utils/multi_language/language_wrapper.py,sha256=KBqsG6ng5LSJkGqmu_YDxI8yAjXwgHM12DOzVgh_HXI,848
96
- frontengine/utils/multi_language/traditional_chinese.py,sha256=UsxnYM22Q1HQ5pPs5gsR69VVLK6N6zdrAbOE7JYTjpM,5411
82
+ frontengine/utils/multi_language/english.py,sha256=Nz1nWzI5YqOIw1KrA7DY4HEfpbKWKo5oGodbQRoqO6M,5731
83
+ frontengine/utils/multi_language/france.py,sha256=O8H8qA1MRScLwqjdBQ9JThbmGfjUnv0iE60kX8_pekM,6657
84
+ frontengine/utils/multi_language/germany.py,sha256=rpB048Oao2Fc2l1NTBmvHLjB4Cid_hpRDGY6HBcoDLM,6387
85
+ frontengine/utils/multi_language/italy.py,sha256=rTTGQZnY0NJsHyVcM4fXtxRnzsF-SJjWi_RE4hYhey4,6426
86
+ frontengine/utils/multi_language/language_wrapper.py,sha256=GpQxvMlDMiHOAp71Ki0bOM0sL5kiI9tszpE1fQCZC14,1588
87
+ frontengine/utils/multi_language/russian.py,sha256=A_E3IN6u6DHObzb_TMjarGcFJfvZJYVC51IKaTDLvEY,8147
88
+ frontengine/utils/multi_language/simplified_chinese.py,sha256=MN4X42_LlpCRJTzkN94jcMcRSEA9rAq2rApjqqGiXzU,5956
89
+ frontengine/utils/multi_language/traditional_chinese.py,sha256=NlrP2akyUjhqAxNcm3tPt8hDDe6Xu8fzOy7GIEfQgq8,5963
97
90
  frontengine/utils/redirect_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
98
91
  frontengine/utils/redirect_manager/redirect_manager_class.py,sha256=zGJeVpjRU12MCnhVAdksAIhK_IhddI4cNKVb7DMgOZA,1888
99
- frontengine_dev-0.0.57.dist-info/LICENSE,sha256=b3VlPBXnrDylKGffOEOLWMgOX-yfd65XC7PA1_sox2o,1085
100
- frontengine_dev-0.0.57.dist-info/METADATA,sha256=Tey1Y8hDW8E61BOMrvZ287r96WVPe9l9lUpFfzGp5KQ,2165
101
- frontengine_dev-0.0.57.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
102
- frontengine_dev-0.0.57.dist-info/top_level.txt,sha256=btCybScN_ubeQ8phsSDBB0T-HyHjqt7b-WPy61uTox0,12
103
- frontengine_dev-0.0.57.dist-info/RECORD,,
92
+ frontengine_dev-0.0.59.dist-info/LICENSE,sha256=b3VlPBXnrDylKGffOEOLWMgOX-yfd65XC7PA1_sox2o,1085
93
+ frontengine_dev-0.0.59.dist-info/METADATA,sha256=l6A-EcteDj3xZUdbY6s5XQQNhXEUHBQsJ_7MLT34ouY,2165
94
+ frontengine_dev-0.0.59.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
95
+ frontengine_dev-0.0.59.dist-info/top_level.txt,sha256=btCybScN_ubeQ8phsSDBB0T-HyHjqt7b-WPy61uTox0,12
96
+ frontengine_dev-0.0.59.dist-info/RECORD,,
@@ -1,61 +0,0 @@
1
- from PySide6.QtCore import Qt
2
- from PySide6.QtGui import QIntValidator
3
- from PySide6.QtWidgets import QWidget, QBoxLayout, QPushButton, QSlider, QLabel, QLineEdit, QHBoxLayout
4
- from frontengine.utils.multi_language.language_wrapper import language_wrapper
5
-
6
- from frontengine.ui.dialog.choose_file_dialog import choose_image
7
- from frontengine.ui.page.scene_setting.scene_tabs.tableview_model import add_row_data
8
- from frontengine.utils.logging.loggin_instance import front_engine_logger
9
-
10
-
11
- class ImageSceneSettingUI(QWidget):
12
-
13
- def __init__(self):
14
- super().__init__()
15
- self.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose)
16
- self.box_layout = QBoxLayout(QBoxLayout.Direction.TopToBottom)
17
- # Image button
18
- self.image_button = QPushButton(
19
- language_wrapper.language_word_dict.get("scene_add_image")
20
- )
21
- self.image_button.clicked.connect(self.add_image)
22
- # Opacity slider
23
- self.opacity_slider = QSlider()
24
- self.opacity_slider.setMinimum(1)
25
- self.opacity_slider.setMaximum(100)
26
- self.opacity_slider.setTickInterval(1)
27
- self.opacity_slider.setValue(20)
28
- self.opacity_slider.setOrientation(Qt.Orientation.Horizontal)
29
- self.opacity_label = QLabel()
30
- self.opacity_label.setText(language_wrapper.language_word_dict.get("Opacity"))
31
- self.opacity_box_h_layout = QHBoxLayout()
32
- self.opacity_box_h_layout.addWidget(self.opacity_label)
33
- self.opacity_box_h_layout.addWidget(self.opacity_slider)
34
- # Position x input
35
- self.position_x_input_label = QLabel(language_wrapper.language_word_dict.get("position_x"))
36
- self.position_x_input = QLineEdit()
37
- self.position_x_input.setValidator(QIntValidator(0, 999999, self))
38
- self.position_x_layout = QHBoxLayout()
39
- self.position_x_layout.addWidget(self.position_x_input_label)
40
- self.position_x_layout.addWidget(self.position_x_input)
41
- # Position y input
42
- self.position_y_input_label = QLabel(language_wrapper.language_word_dict.get("position_y"))
43
- self.position_y_input = QLineEdit()
44
- self.position_y_input.setValidator(QIntValidator(0, 999999, self))
45
- self.position_y_layout = QHBoxLayout()
46
- self.position_y_layout.addWidget(self.position_y_input_label)
47
- self.position_y_layout.addWidget(self.position_y_input)
48
- # Set UI
49
- self.box_layout.addLayout(self.opacity_box_h_layout)
50
- self.box_layout.addLayout(self.position_x_layout)
51
- self.box_layout.addLayout(self.position_y_layout)
52
- self.box_layout.addWidget(self.image_button)
53
- self.setLayout(self.box_layout)
54
-
55
- def add_image(self) -> None:
56
- image_path = choose_image(self)
57
- if image_path is not None:
58
- row_data = ["IMAGE", image_path, "", "", str(self.opacity_slider.value()), "", "", "", "", "", "",
59
- self.position_x_input.text(), self.position_y_input.text()]
60
- front_engine_logger.info(f"add image, param: {row_data}")
61
- add_row_data(row_data)
@@ -1,74 +0,0 @@
1
- from PySide6.QtCore import Qt
2
- from PySide6.QtGui import QIntValidator
3
- from PySide6.QtWidgets import QWidget, QBoxLayout, QPushButton, QSlider, QLabel, QLineEdit, QHBoxLayout
4
- from frontengine.utils.multi_language.language_wrapper import language_wrapper
5
-
6
- from frontengine.ui.dialog.choose_file_dialog import choose_gif
7
- from frontengine.ui.page.scene_setting.scene_tabs.tableview_model import add_row_data
8
- from frontengine.utils.logging.loggin_instance import front_engine_logger
9
-
10
-
11
- class GIFSceneSettingUI(QWidget):
12
-
13
- def __init__(self):
14
- super().__init__()
15
- self.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose)
16
- self.box_layout = QBoxLayout(QBoxLayout.Direction.TopToBottom)
17
- # GIF button
18
- self.gif_button = QPushButton(
19
- language_wrapper.language_word_dict.get("scene_add_gif")
20
- )
21
- self.gif_button.clicked.connect(self.add_gif)
22
- # Opacity slider
23
- self.opacity_slider = QSlider()
24
- self.opacity_slider.setMinimum(1)
25
- self.opacity_slider.setMaximum(100)
26
- self.opacity_slider.setTickInterval(1)
27
- self.opacity_slider.setValue(20)
28
- self.opacity_slider.setOrientation(Qt.Orientation.Horizontal)
29
- self.opacity_label = QLabel()
30
- self.opacity_label.setText(language_wrapper.language_word_dict.get("Opacity"))
31
- self.opacity_box_h_layout = QHBoxLayout()
32
- self.opacity_box_h_layout.addWidget(self.opacity_label)
33
- self.opacity_box_h_layout.addWidget(self.opacity_slider)
34
- # Speed slider
35
- self.speed_slider = QSlider()
36
- self.speed_slider.setMinimum(1)
37
- self.speed_slider.setMaximum(100)
38
- self.speed_slider.setTickInterval(1)
39
- self.speed_slider.setValue(100)
40
- self.speed_slider.setOrientation(Qt.Orientation.Horizontal)
41
- self.speed_label = QLabel()
42
- self.speed_label.setText(language_wrapper.language_word_dict.get("Speed"))
43
- self.speed_box_h_layout = QHBoxLayout()
44
- self.speed_box_h_layout.addWidget(self.speed_label)
45
- self.speed_box_h_layout.addWidget(self.speed_slider)
46
- # Position x input
47
- self.position_x_input_label = QLabel(language_wrapper.language_word_dict.get("position_x"))
48
- self.position_x_input = QLineEdit()
49
- self.position_x_input.setValidator(QIntValidator(0, 999999, self))
50
- self.position_x_layout = QHBoxLayout()
51
- self.position_x_layout.addWidget(self.position_x_input_label)
52
- self.position_x_layout.addWidget(self.position_x_input)
53
- # Position y input
54
- self.position_y_input_label = QLabel(language_wrapper.language_word_dict.get("position_y"))
55
- self.position_y_input = QLineEdit()
56
- self.position_y_input.setValidator(QIntValidator(0, 999999, self))
57
- self.position_y_layout = QHBoxLayout()
58
- self.position_y_layout.addWidget(self.position_y_input_label)
59
- self.position_y_layout.addWidget(self.position_y_input)
60
- # Set UI
61
- self.box_layout.addLayout(self.opacity_box_h_layout)
62
- self.box_layout.addLayout(self.speed_box_h_layout)
63
- self.box_layout.addLayout(self.position_x_layout)
64
- self.box_layout.addLayout(self.position_y_layout)
65
- self.box_layout.addWidget(self.gif_button)
66
- self.setLayout(self.box_layout)
67
-
68
- def add_gif(self) -> None:
69
- gif_path = choose_gif(self)
70
- if gif_path is not None:
71
- row_data = ["GIF", gif_path, "", "", str(self.opacity_slider.value()), str(self.speed_slider.value()),
72
- "", "", "", "", "", self.position_x_input.text(), self.position_y_input.text()]
73
- front_engine_logger.info(f"add gif, param: {row_data}")
74
- add_row_data(row_data)
@@ -1,78 +0,0 @@
1
- from typing import Dict, Callable
2
-
3
- from PySide6.QtCore import Qt
4
- from PySide6.QtWidgets import QWidget, QGridLayout, QPushButton, QHeaderView, QTableView, QScrollArea
5
-
6
- from frontengine.show.scene.scene import SceneManager
7
- from frontengine.ui.page.scene_setting.scene_tabs.tableview_model import tableview_model, output_scene_as_json, \
8
- load_scene_json
9
- from frontengine.utils.logging.loggin_instance import front_engine_logger
10
- from frontengine.utils.multi_language.language_wrapper import language_wrapper
11
-
12
-
13
- class SceneControlSettingUI(QWidget):
14
-
15
- def __init__(self):
16
- super().__init__()
17
- self.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose)
18
- self.grad_layout = QGridLayout()
19
- self.param_key_name_list = [
20
- "widget_type", "file_path", "url", "text", "opacity", "speed", "volume", "font_size", "play_rate",
21
- "web_setting_open_local_file", "web_setting_open_enable_input", "position_x", "position_y"
22
- ]
23
- # Use to build component
24
- self.scene = SceneManager()
25
- self.scene_component: Dict[str, Callable] = {
26
- "IMAGE": self.scene.add_image,
27
- "GIF": self.scene.add_gif,
28
- "SOUND": self.scene.add_sound,
29
- "TEXT": self.scene.add_text,
30
- "VIDEO": self.scene.add_video,
31
- "WEB": self.scene.add_web,
32
- "EXTEND_UI_FILE": self.scene.add_extend_ui_file
33
- }
34
- # Tableview
35
- self.scene_table_view = QTableView()
36
- self.scene_table_view_scroll_area = QScrollArea()
37
- self.scene_table_view_scroll_area.setWidgetResizable(True)
38
- self.scene_table_view_scroll_area.setViewportMargins(0, 0, 0, 0)
39
- self.scene_table_view_scroll_area.setWidget(self.scene_table_view)
40
- # Set resize as content
41
- self.scene_table_view.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeMode.ResizeToContents)
42
- self.scene_table_view.verticalHeader().setSectionResizeMode(QHeaderView.ResizeMode.ResizeToContents)
43
- self.scene_table_view.setModel(tableview_model)
44
- # Scene output & input
45
- self.scene_output_button = QPushButton(language_wrapper.language_word_dict.get("scene_output"))
46
- self.scene_output_button.clicked.connect(output_scene_as_json)
47
- self.scene_input_button = QPushButton(language_wrapper.language_word_dict.get("scene_input"))
48
- self.scene_input_button.clicked.connect(load_scene_json)
49
- # Start button
50
- self.start_button = QPushButton(
51
- language_wrapper.language_word_dict.get("scene_setting_start_scene_button")
52
- )
53
- self.start_button.clicked.connect(self.start_scene)
54
- # Add to layout
55
- self.grad_layout.addWidget(self.scene_input_button, 0, 0)
56
- self.grad_layout.addWidget(self.scene_output_button, 0, 1)
57
- self.grad_layout.addWidget(self.start_button, 0, 2)
58
- self.grad_layout.addWidget(self.scene_table_view_scroll_area, 1, 0, -1, -1)
59
- self.setLayout(self.grad_layout)
60
-
61
- def close_scene(self) -> None:
62
- self.scene.widget_list.clear()
63
- if self.scene.graphic_view.isEnabled() and self.scene.graphic_view.isVisible():
64
- self.scene.graphic_view.close()
65
-
66
- def start_scene(self) -> None:
67
- front_engine_logger.info("start_scene")
68
- for row in range(tableview_model.rowCount()):
69
- widget_type_text = tableview_model.item(row, 0).text()
70
- add_widget_function = self.scene_component.get(widget_type_text)
71
- param_dict: Dict[str, str] = dict()
72
- for column in range(1, tableview_model.columnCount()):
73
- param = tableview_model.item(row, column).text()
74
- if param != "":
75
- param_dict.update({self.param_key_name_list[column]: param})
76
- add_widget_function(param_dict)
77
- front_engine_logger.info(f"start_scene type: {widget_type_text}, param: {param_dict}")
78
- self.scene.show()
@@ -1,44 +0,0 @@
1
- from PySide6.QtCore import Qt
2
- from PySide6.QtWidgets import QWidget, QBoxLayout, QSlider, QLabel, QHBoxLayout, QPushButton
3
-
4
- from frontengine.ui.dialog.choose_file_dialog import choose_player_sound
5
- from frontengine.ui.page.scene_setting.scene_tabs.tableview_model import add_row_data
6
- from frontengine.utils.logging.loggin_instance import front_engine_logger
7
- from frontengine.utils.multi_language.language_wrapper import language_wrapper
8
-
9
-
10
- class SoundSceneSettingUI(QWidget):
11
-
12
- def __init__(self):
13
- super().__init__()
14
- self.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose)
15
- self.box_layout = QBoxLayout(QBoxLayout.Direction.TopToBottom)
16
- # Volume
17
- self.volume_slider = QSlider()
18
- self.volume_slider.setMinimum(1)
19
- self.volume_slider.setMaximum(100)
20
- self.volume_slider.setTickInterval(1)
21
- self.volume_slider.setValue(100)
22
- self.volume_slider.setOrientation(Qt.Orientation.Horizontal)
23
- self.volume_label = QLabel()
24
- self.volume_label.setText(language_wrapper.language_word_dict.get("Volume"))
25
- self.volume_box_h_layout = QHBoxLayout()
26
- self.volume_box_h_layout.addWidget(self.volume_label)
27
- self.volume_box_h_layout.addWidget(self.volume_slider)
28
- # SOUND button
29
- self.sound_button = QPushButton(
30
- language_wrapper.language_word_dict.get("scene_add_sound")
31
- )
32
- self.sound_button.clicked.connect(self.add_sound)
33
- # Set UI
34
- self.box_layout.addLayout(self.volume_box_h_layout)
35
- self.box_layout.addWidget(self.sound_button)
36
- self.setLayout(self.box_layout)
37
-
38
- def add_sound(self) -> None:
39
- sound_path = choose_player_sound(self)
40
- if sound_path is not None:
41
- row_data = ["SOUND", sound_path, "", "", "", "", str(self.volume_slider.value()),
42
- "", "", "", "", "", ""]
43
- front_engine_logger.info(f"add sound, param: {row_data}")
44
- add_row_data(row_data)
@@ -1,65 +0,0 @@
1
- from pathlib import Path
2
- from typing import List
3
-
4
- from PySide6.QtGui import QStandardItemModel, QStandardItem
5
- from PySide6.QtWidgets import QMessageBox
6
-
7
- from frontengine.ui.dialog.choose_file_dialog import choose_scene_json
8
- from frontengine.ui.dialog.save_file_dialog import choose_file_get_save_filename
9
- from frontengine.utils.json.json_file import write_json, read_json
10
- from frontengine.utils.multi_language.language_wrapper import language_wrapper
11
-
12
- tableview_model = QStandardItemModel()
13
-
14
- # Set horizontal label
15
- label_list = [
16
- language_wrapper.language_word_dict.get("scene_table_view_type"),
17
- language_wrapper.language_word_dict.get("scene_file_path"),
18
- language_wrapper.language_word_dict.get("url"),
19
- language_wrapper.language_word_dict.get("text"),
20
- language_wrapper.language_word_dict.get("Opacity"),
21
- language_wrapper.language_word_dict.get("Speed"),
22
- language_wrapper.language_word_dict.get("Volume"),
23
- language_wrapper.language_word_dict.get("Font size"),
24
- language_wrapper.language_word_dict.get("Play rate"),
25
- language_wrapper.language_word_dict.get("web_setting_open_local_file"),
26
- language_wrapper.language_word_dict.get("web_setting_open_enable_input"),
27
- language_wrapper.language_word_dict.get("position_x"),
28
- language_wrapper.language_word_dict.get("position_y"),
29
- ]
30
- tableview_model.setHorizontalHeaderLabels(label_list)
31
-
32
-
33
- def add_row_data(data_list: List):
34
- row = tableview_model.rowCount()
35
- for index, data in enumerate(data_list):
36
- tableview_model.setItem(row, index, QStandardItem(str(data)))
37
-
38
-
39
- def output_scene_as_json(parent_qt_widget):
40
- output_dict = dict()
41
- output_setting = list()
42
- for row in range(tableview_model.rowCount()):
43
- settings = list()
44
- for column in range(tableview_model.columnCount()):
45
- settings.append(tableview_model.item(row, column).text())
46
- output_setting.append(settings)
47
- output_dict.update({"settings": output_setting})
48
- file_path = choose_file_get_save_filename(parent_qt_widget)
49
- if file_path is not None and file_path != "":
50
- file_path = Path(file_path)
51
- file_path = file_path.with_suffix(".json")
52
- write_json(str(file_path), output_dict)
53
- else:
54
- choose_path_to_output_message_box = QMessageBox(parent_qt_widget)
55
- choose_path_to_output_message_box.setText(
56
- language_wrapper.language_word_dict.get("scene_choose_output_path_message_box"))
57
-
58
-
59
- def load_scene_json(parent_qt_widget):
60
- scene_file = choose_scene_json(parent_qt_widget)
61
- if scene_file is not None:
62
- scene_setting: dict = read_json(scene_file)
63
- scene_setting = scene_setting.get("settings")
64
- for setting in scene_setting:
65
- add_row_data(setting)
@@ -1,77 +0,0 @@
1
- from PySide6.QtCore import Qt
2
- from PySide6.QtGui import QIntValidator
3
- from PySide6.QtWidgets import QWidget, QBoxLayout, QLineEdit, QPushButton, QSlider, QLabel, QHBoxLayout
4
- from frontengine.utils.multi_language.language_wrapper import language_wrapper
5
-
6
- from frontengine.ui.page.scene_setting.scene_tabs.tableview_model import add_row_data
7
- from frontengine.utils.logging.loggin_instance import front_engine_logger
8
-
9
-
10
- class TextSceneSettingUI(QWidget):
11
-
12
- def __init__(self):
13
- super().__init__()
14
- self.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose)
15
- self.box_layout = QBoxLayout(QBoxLayout.Direction.TopToBottom)
16
- # Text button
17
- self.text_input = QLineEdit()
18
- self.text_input.setText(
19
- language_wrapper.language_word_dict.get("text")
20
- )
21
- self.text_button = QPushButton(
22
- language_wrapper.language_word_dict.get("scene_add_text")
23
- )
24
- self.text_button.clicked.connect(self.add_text)
25
- # Opacity slider
26
- self.opacity_slider = QSlider()
27
- self.opacity_slider.setMinimum(1)
28
- self.opacity_slider.setMaximum(100)
29
- self.opacity_slider.setTickInterval(1)
30
- self.opacity_slider.setValue(20)
31
- self.opacity_slider.setOrientation(Qt.Orientation.Horizontal)
32
- self.opacity_label = QLabel()
33
- self.opacity_label.setText(language_wrapper.language_word_dict.get("Opacity"))
34
- self.opacity_box_h_layout = QHBoxLayout()
35
- self.opacity_box_h_layout.addWidget(self.opacity_label)
36
- self.opacity_box_h_layout.addWidget(self.opacity_slider)
37
- # Font size slider
38
- self.font_size_slider = QSlider()
39
- self.font_size_slider = QSlider()
40
- self.font_size_slider.setMinimum(1)
41
- self.font_size_slider.setMaximum(100)
42
- self.font_size_slider.setTickInterval(1)
43
- self.font_size_slider.setValue(100)
44
- self.font_size_slider.setOrientation(Qt.Orientation.Horizontal)
45
- self.front_size_label = QLabel()
46
- self.front_size_label.setText(language_wrapper.language_word_dict.get("Font size"))
47
- self.font_size_box_h_layout = QHBoxLayout()
48
- self.font_size_box_h_layout.addWidget(self.front_size_label)
49
- self.font_size_box_h_layout.addWidget(self.font_size_slider)
50
- # Position x input
51
- self.position_x_input_label = QLabel(language_wrapper.language_word_dict.get("position_x"))
52
- self.position_x_input = QLineEdit()
53
- self.position_x_input.setValidator(QIntValidator(0, 999999, self))
54
- self.position_x_layout = QHBoxLayout()
55
- self.position_x_layout.addWidget(self.position_x_input_label)
56
- self.position_x_layout.addWidget(self.position_x_input)
57
- # Position y input
58
- self.position_y_input_label = QLabel(language_wrapper.language_word_dict.get("position_y"))
59
- self.position_y_input = QLineEdit()
60
- self.position_y_input.setValidator(QIntValidator(0, 999999, self))
61
- self.position_y_layout = QHBoxLayout()
62
- self.position_y_layout.addWidget(self.position_y_input_label)
63
- self.position_y_layout.addWidget(self.position_y_input)
64
- # Set UI
65
- self.box_layout.addLayout(self.opacity_box_h_layout)
66
- self.box_layout.addLayout(self.font_size_box_h_layout)
67
- self.box_layout.addLayout(self.position_x_layout)
68
- self.box_layout.addLayout(self.position_y_layout)
69
- self.box_layout.addWidget(self.text_button)
70
- self.setLayout(self.box_layout)
71
-
72
- def add_text(self) -> None:
73
- row_data = ["TEXT", "", "", self.text_input.text(), str(self.opacity_slider.value()), "", "",
74
- str(self.font_size_slider.value()), "", "", "",
75
- self.position_x_input.text(), self.position_y_input.text()]
76
- front_engine_logger.info(f"add text, param: {row_data}")
77
- add_row_data(row_data)
@@ -1,56 +0,0 @@
1
- from PySide6.QtGui import QIntValidator, Qt
2
- from PySide6.QtWidgets import QWidget, QBoxLayout, QMessageBox, QPushButton, QLineEdit, QLabel, QHBoxLayout
3
-
4
- from frontengine import load_ui_file
5
- from frontengine.ui.page.scene_setting.scene_tabs.tableview_model import add_row_data
6
- from frontengine.utils.logging.loggin_instance import front_engine_logger
7
- from frontengine.utils.multi_language.language_wrapper import language_wrapper
8
-
9
-
10
- class UISceneSettingUI(QWidget):
11
-
12
- def __init__(self):
13
- super().__init__()
14
- self.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose)
15
- self.box_layout = QBoxLayout(QBoxLayout.Direction.TopToBottom)
16
- # UI button
17
- self.ui_button = QPushButton(
18
- language_wrapper.language_word_dict.get("scene_add_UI")
19
- )
20
- self.ui_path_input = QLineEdit()
21
- self.ui_path_input.setText(
22
- language_wrapper.language_word_dict.get("ui_path")
23
- )
24
- self.ui_button.clicked.connect(self.add_extend_ui_file)
25
- # Position x input
26
- self.position_x_input_label = QLabel(language_wrapper.language_word_dict.get("position_x"))
27
- self.position_x_input = QLineEdit()
28
- self.position_x_input.setValidator(QIntValidator(0, 999999, self))
29
- self.position_x_layout = QHBoxLayout()
30
- self.position_x_layout.addWidget(self.position_x_input_label)
31
- self.position_x_layout.addWidget(self.position_x_input)
32
- # Position y input
33
- self.position_y_input_label = QLabel(language_wrapper.language_word_dict.get("position_y"))
34
- self.position_y_input = QLineEdit()
35
- self.position_y_input.setValidator(QIntValidator(0, 999999, self))
36
- self.position_y_layout = QHBoxLayout()
37
- self.position_y_layout.addWidget(self.position_y_input_label)
38
- self.position_y_layout.addWidget(self.position_y_input)
39
- # Set UI
40
- self.box_layout.addLayout(self.position_x_layout)
41
- self.box_layout.addLayout(self.position_y_layout)
42
- self.box_layout.addWidget(self.ui_path_input)
43
- self.box_layout.addWidget(self.ui_button)
44
- self.setLayout(self.box_layout)
45
-
46
- def add_extend_ui_file(self) -> None:
47
- if load_ui_file(self.ui_path_input.text()):
48
- add_row_data(
49
- ["EXTEND_UI_FILE", self.ui_path_input.text(), "", "", "", "", "",
50
- "", "", "", "", self.position_x_input.text(), self.position_y_input.text()])
51
- else:
52
- ui_not_found_message = QMessageBox(self)
53
- ui_not_found_message.setText(
54
- language_wrapper.language_word_dict.get("cant_find_extend_ui_message_box_text"))
55
- ui_not_found_message.show()
56
- front_engine_logger.error(language_wrapper.language_word_dict.get("cant_find_extend_ui_message_box_text"))