FEAT: 更新2.0.3版本
This commit is contained in:
parent
eac75df634
commit
603b2d06aa
|
@ -28,3 +28,4 @@ doc/
|
|||
**/process_full/
|
||||
**/machine_full/
|
||||
**/filament_full/
|
||||
**/.idea/
|
||||
|
|
|
@ -7,7 +7,7 @@ msgstr ""
|
|||
"Project-Id-Version: Slic3rPE\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-24 10:10+0800\n"
|
||||
"PO-Revision-Date: 2025-02-20 20:32+0800\n"
|
||||
"PO-Revision-Date: 2025-06-03 17:26+0800\n"
|
||||
"Last-Translator: Jiang Yue <maze1024@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: zh_CN\n"
|
||||
|
@ -13140,8 +13140,7 @@ msgstr ""
|
|||
"分盘打印\n"
|
||||
"您知道吗?您可以把一个有很多零件的模型安排到多个独立的分盘,然后打印出来,这将简化对所有零件的管理。"
|
||||
|
||||
#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer
|
||||
#: Height]
|
||||
#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer Height]
|
||||
msgid ""
|
||||
"Speed up your print with Adaptive Layer Height\n"
|
||||
"Did you know that you can print a model even faster, by using the Adaptive Layer Height option? Check it out!"
|
||||
|
@ -13213,8 +13212,7 @@ msgstr ""
|
|||
"提高强度\n"
|
||||
"您知道吗?你可以使用更多的墙层数和更高的疏散填充密度来提高模型的强度。"
|
||||
|
||||
#: resources/data/hints.ini: [hint:When need to print with the printer door
|
||||
#: opened]
|
||||
#: resources/data/hints.ini: [hint:When need to print with the printer door opened]
|
||||
msgid ""
|
||||
"When need to print with the printer door opened\n"
|
||||
"Did you know that opening the printer door can reduce the probability of extruder/hotend clogging when printing lower temperature filament with a higher enclosure temperature. More info about this in the Wiki."
|
||||
|
@ -13230,6 +13228,23 @@ msgstr ""
|
|||
"避免翘曲\n"
|
||||
"您知道吗?打印ABS这类易翘曲材料时,适当提高热床温度可以降低翘曲的概率。"
|
||||
|
||||
msgid "Ui title"
|
||||
msgstr "连续纤维复材打印路径规划软件"
|
||||
|
||||
msgid "Default print speed"
|
||||
msgstr "普通打印速度"
|
||||
|
||||
msgid "Configuration"
|
||||
msgstr "配置"
|
||||
|
||||
msgid "Configuration settings"
|
||||
msgstr "配置设置"
|
||||
|
||||
msgid "Fiber Spiral"
|
||||
msgstr "连续纤维-双线桥接螺旋填充"
|
||||
|
||||
|
||||
|
||||
#~ msgid "Prefer to use high performance GPU (Effective after manual restart Bambu Studio)"
|
||||
#~ msgstr "优先使用高性能显卡 (手动重启 Bambu Studio 后生效)"
|
||||
|
||||
|
|
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
After Width: | Height: | Size: 649 KiB |
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Creator: CorelDRAW 2020 (64-Bit 评估版) -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="35.7338mm" height="36.4897mm" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd"
|
||||
viewBox="0 0 2014.15 2056.75"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xodm="http://www.corel.com/coreldraw/odm/2003">
|
||||
<defs>
|
||||
<style type="text/css">
|
||||
<![CDATA[
|
||||
.fil0 {fill:#332C2B}
|
||||
]]>
|
||||
</style>
|
||||
</defs>
|
||||
<g id="图层_x0020_1">
|
||||
<metadata id="CorelCorpID_0Corel-Layer"/>
|
||||
<path class="fil0" d="M1894.43 1937.72l0 -148.83c-10.22,10.3 -21.46,20.03 -33.81,29.11 -114.98,84.54 -255.66,64.93 -358.46,-51.4 -89.28,-100.78 -78.46,-269.18 -75.75,-425.42 3.38,-166.38 5.41,-331.41 8.12,-496.43 2.03,-158.94 31.79,-342.23 -64.25,-434.89 -89.28,-85.9 -252.95,-48.7 -287.45,127.15 -17.59,88.6 2.03,846.11 -4.73,994.9 -4.06,79.81 -35.84,136.62 -66.28,185.99 -68.31,112.95 -236.72,157.59 -352.37,90.63 -210.34,-121.74 -163.67,-367.25 -169.76,-582.33 -4.73,-164.36 -4.06,-334.12 -4.73,-501.17 -0.68,-78.45 4.73,-163 -16.91,-232.66 -47.34,-150.15 -226.57,-175.17 -307.06,-64.93 -23.02,31.69 -35.01,58.61 -41.26,88.96l0 1421.31 1774.72 0zm0 -805.21l0 -46.3 0 -8.79 0 -8.79 0 -8.79 0 -940.79 -1774.72 0 0 178.31c11.22,-9.34 23.37,-18.25 36.52,-26.81 173.14,-112.94 397.69,5.41 430.83,244.84 13.53,94.68 10.15,624.26 11.5,744.65 1.35,155.56 -23,340.2 87.25,416.63 133.91,92.66 273.24,-19.62 283.39,-158.94 8.11,-106.86 -3.38,-369.28 -3.38,-496.43 0.68,-156.91 -2.03,-342.9 10.82,-495.76 5.41,-66.96 41.26,-138.65 71.02,-179.91 80.48,-110.24 234.69,-150.82 351.02,-69.66 188.02,131.21 144.73,376.05 142.03,601.94 -2.71,167.06 -6.76,330.73 -9.47,496.44 -0.68,78.45 -10.15,171.11 14.88,239.42 55.46,151.5 226.58,162.32 302.33,43.96 41.25,-64.93 39.22,-123.1 41.25,-211.7 1.72,-105.29 2.89,-209.22 4.73,-313.51zm119.71 924.24l-2014.15 0 0 -2056.75 2014.15 0 0 2056.75 0 0z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.1 KiB |
|
@ -34,14 +34,14 @@
|
|||
<img src="img/project_new.svg" /><span class="trans" tid='t32'>Create new project</span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="HotModel_Search_Bar">
|
||||
<div id="HotModel_Search_Btn" >
|
||||
<img src="img/search.svg" />
|
||||
</div>
|
||||
<div id="HotModel_Search_InputArea">
|
||||
<input id="HotModel_Search_Input" maxlength="1000" placeholder="" />
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div id="HotModel_Search_Bar">-->
|
||||
<!-- <div id="HotModel_Search_Btn" >-->
|
||||
<!-- <img src="img/search.svg" />-->
|
||||
<!-- </div> -->
|
||||
<!-- <div id="HotModel_Search_InputArea">-->
|
||||
<!-- <input id="HotModel_Search_Input" maxlength="1000" placeholder="" />-->
|
||||
<!-- </div>-->
|
||||
<!-- </div> -->
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -97,227 +97,227 @@
|
|||
</div>
|
||||
|
||||
<!----------Online Models--------->
|
||||
<div id="HotModelArea">
|
||||
<div id="Online_Models_Bar" class="Title_Bar">
|
||||
<div class="Title_Left_Area">
|
||||
<img class="TitleSmallIcon" src="./img/fire.svg" />
|
||||
<div class="Content-Title trans TextS1" tid="t107">Online Models</div>
|
||||
</div>
|
||||
<div class="Right_Title_More TextS1" onClick="SwtichLeftMenu('online')"><span class="trans" tid="t108">MORE</span> ></div>
|
||||
</div>
|
||||
<div id="ForU_Models_Bar" class="Title_Bar">
|
||||
<div class="Title_Left_Area">
|
||||
<img class="TitleSmallIcon" src="./img/foru.svg" />
|
||||
<div class="Content-Title trans TextS1" tid="t107">Online Models</div>
|
||||
</div>
|
||||
<div class="Right_Title_More TextS1" onClick="SwtichLeftMenu('online')"><span class="trans" tid="t108">MORE</span> ></div>
|
||||
</div>
|
||||
<div id="HotModelList" class="SingleGuideBar">
|
||||
<!-- <div class="HotModelPiece GuideBlock" onClick="OpenOneStaffPickModel(1)">
|
||||
<div class="HotModel_PrevBlock">
|
||||
<img class="HotModel_PrevImg" src="img/a.jpg" />
|
||||
</div>
|
||||
<div class="HotModel_Designer_Info">
|
||||
<div class="HotModel_Author_HeadIcon">
|
||||
<img src="img/a.jpg" />
|
||||
</div>
|
||||
<div class="HotModel_Right_1">
|
||||
<div class="HotModel_Name TextS1">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
|
||||
<div class="HotModel_Right_1_2">
|
||||
<div class="HotModel_Author_Name TextS2">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaaaaaaaaaaaaa</div>
|
||||
<div class="HotModel_click_info TextS2">
|
||||
<div class="Model_Click_Number"><img src="img/zan.svg"><span>1.7m</span></div>
|
||||
<div class="Model_Click_Number"><img src="img/xia.svg"><span>2.8k</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="HotModelPiece GuideBlock" onClick="OpenOneStaffPickModel(1)">
|
||||
<div class="HotModel_PrevBlock">
|
||||
<img class="HotModel_PrevImg" src="img/a.jpg" />
|
||||
</div>
|
||||
<div class="HotModel_Designer_Info">
|
||||
<div class="HotModel_Author_HeadIcon">
|
||||
<img src="img/a.jpg" />
|
||||
</div>
|
||||
<div class="HotModel_Right_1">
|
||||
<div class="HotModel_Name TextS1">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
|
||||
<div class="HotModel_Right_1_2">
|
||||
<div class="HotModel_Author_Name TextS2">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaaaaaaaaaaaaa</div>
|
||||
<div class="HotModel_click_info TextS2">
|
||||
<div class="Model_Click_Number"><img src="img/zan.svg"><span>1.7m</span></div>
|
||||
<div class="Model_Click_Number"><img src="img/xia.svg"><span>2.8k</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="HotModelPiece GuideBlock" onClick="OpenOneStaffPickModel(1)">
|
||||
<div class="HotModel_PrevBlock">
|
||||
<img class="HotModel_PrevImg" src="img/a.jpg" />
|
||||
</div>
|
||||
<div class="HotModel_Designer_Info">
|
||||
<div class="HotModel_Author_HeadIcon">
|
||||
<img src="img/a.jpg" />
|
||||
</div>
|
||||
<div class="HotModel_Right_1">
|
||||
<div class="HotModel_Name TextS1">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
|
||||
<div class="HotModel_Right_1_2">
|
||||
<div class="HotModel_Author_Name TextS2">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaaaaaaaaaaaaa</div>
|
||||
<div class="HotModel_click_info TextS2">
|
||||
<div class="Model_Click_Number"><img src="img/zan.svg"><span>1.7m</span></div>
|
||||
<div class="Model_Click_Number"><img src="img/xia.svg"><span>2.8k</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="HotModelPiece GuideBlock" onClick="OpenOneStaffPickModel(1)">
|
||||
<div class="HotModel_PrevBlock">
|
||||
<img class="HotModel_PrevImg" src="img/a.jpg" />
|
||||
</div>
|
||||
<div class="HotModel_Designer_Info">
|
||||
<div class="HotModel_Author_HeadIcon">
|
||||
<img src="img/a.jpg" />
|
||||
</div>
|
||||
<div class="HotModel_Right_1">
|
||||
<div class="HotModel_Name TextS1">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
|
||||
<div class="HotModel_Right_1_2">
|
||||
<div class="HotModel_Author_Name TextS2">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaaaaaaaaaaaaa</div>
|
||||
<div class="HotModel_click_info TextS2">
|
||||
<div class="Model_Click_Number"><img src="img/zan.svg"><span>1.7m</span></div>
|
||||
<div class="Model_Click_Number"><img src="img/xia.svg"><span>2.8k</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="HotModelPiece GuideBlock" onClick="OpenOneStaffPickModel(1)">
|
||||
<div class="HotModel_PrevBlock">
|
||||
<img class="HotModel_PrevImg" src="img/a.jpg" />
|
||||
</div>
|
||||
<div class="HotModel_Designer_Info">
|
||||
<div class="HotModel_Author_HeadIcon">
|
||||
<img src="img/a.jpg" />
|
||||
</div>
|
||||
<div class="HotModel_Right_1">
|
||||
<div class="HotModel_Name TextS1">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
|
||||
<div class="HotModel_Right_1_2">
|
||||
<div class="HotModel_Author_Name TextS2">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaaaaaaaaaaaaa</div>
|
||||
<div class="HotModel_click_info TextS2">
|
||||
<div class="Model_Click_Number"><img src="img/zan.svg"><span>1.7m</span></div>
|
||||
<div class="Model_Click_Number"><img src="img/xia.svg"><span>2.8k</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="HotModelPiece GuideBlock" onClick="OpenOneStaffPickModel(1)">
|
||||
<div class="HotModel_PrevBlock">
|
||||
<img class="HotModel_PrevImg" src="img/a.jpg" />
|
||||
</div>
|
||||
<div class="HotModel_Designer_Info">
|
||||
<div class="HotModel_Author_HeadIcon">
|
||||
<img src="img/a.jpg" />
|
||||
</div>
|
||||
<div class="HotModel_Right_1">
|
||||
<div class="HotModel_Name TextS1">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
|
||||
<div class="HotModel_Right_1_2">
|
||||
<div class="HotModel_Author_Name TextS2">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaaaaaaaaaaaaa</div>
|
||||
<div class="HotModel_click_info TextS2">
|
||||
<div class="Model_Click_Number"><img src="img/zan.svg"><span>1.7m</span></div>
|
||||
<div class="Model_Click_Number"><img src="img/xia.svg"><span>2.8k</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="HotModelPiece GuideBlock" onClick="OpenOneStaffPickModel(1)">
|
||||
<div class="HotModel_PrevBlock">
|
||||
<img class="HotModel_PrevImg" src="img/a.jpg" />
|
||||
</div>
|
||||
<div class="HotModel_Designer_Info">
|
||||
<div class="HotModel_Author_HeadIcon">
|
||||
<img src="img/a.jpg" />
|
||||
</div>
|
||||
<div class="HotModel_Right_1">
|
||||
<div class="HotModel_Name TextS1">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>
|
||||
<div class="HotModel_Right_1_2">
|
||||
<div class="HotModel_Author_Name TextS2">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaaaaaaaaaaaaa</div>
|
||||
<div class="HotModel_click_info TextS2">
|
||||
<div class="Model_Click_Number"><img src="img/zan.svg"><span>1.7m</span></div>
|
||||
<div class="Model_Click_Number"><img src="img/xia.svg"><span>2.8k</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div id="HotModelArea">-->
|
||||
<!-- <div id="Online_Models_Bar" class="Title_Bar">-->
|
||||
<!-- <div class="Title_Left_Area">-->
|
||||
<!-- <img class="TitleSmallIcon" src="./img/fire.svg" />-->
|
||||
<!-- <div class="Content-Title trans TextS1" tid="t107">Online Models</div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="Right_Title_More TextS1" onClick="SwtichLeftMenu('online')"><span class="trans" tid="t108">MORE</span> ></div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div id="ForU_Models_Bar" class="Title_Bar">-->
|
||||
<!-- <div class="Title_Left_Area">-->
|
||||
<!-- <img class="TitleSmallIcon" src="./img/foru.svg" />-->
|
||||
<!-- <div class="Content-Title trans TextS1" tid="t107">Online Models</div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="Right_Title_More TextS1" onClick="SwtichLeftMenu('online')"><span class="trans" tid="t108">MORE</span> ></div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div id="HotModelList" class="SingleGuideBar">-->
|
||||
<!--<!– <div class="HotModelPiece GuideBlock" onClick="OpenOneStaffPickModel(1)">-->
|
||||
<!-- <div class="HotModel_PrevBlock">-->
|
||||
<!-- <img class="HotModel_PrevImg" src="img/a.jpg" />-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="HotModel_Designer_Info">-->
|
||||
<!-- <div class="HotModel_Author_HeadIcon">-->
|
||||
<!-- <img src="img/a.jpg" />-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="HotModel_Right_1">-->
|
||||
<!-- <div class="HotModel_Name TextS1">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>-->
|
||||
<!-- <div class="HotModel_Right_1_2">-->
|
||||
<!-- <div class="HotModel_Author_Name TextS2">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaaaaaaaaaaaaa</div>-->
|
||||
<!-- <div class="HotModel_click_info TextS2">-->
|
||||
<!-- <div class="Model_Click_Number"><img src="img/zan.svg"><span>1.7m</span></div>-->
|
||||
<!-- <div class="Model_Click_Number"><img src="img/xia.svg"><span>2.8k</span></div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="HotModelPiece GuideBlock" onClick="OpenOneStaffPickModel(1)">-->
|
||||
<!-- <div class="HotModel_PrevBlock">-->
|
||||
<!-- <img class="HotModel_PrevImg" src="img/a.jpg" />-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="HotModel_Designer_Info">-->
|
||||
<!-- <div class="HotModel_Author_HeadIcon">-->
|
||||
<!-- <img src="img/a.jpg" />-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="HotModel_Right_1">-->
|
||||
<!-- <div class="HotModel_Name TextS1">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>-->
|
||||
<!-- <div class="HotModel_Right_1_2">-->
|
||||
<!-- <div class="HotModel_Author_Name TextS2">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaaaaaaaaaaaaa</div>-->
|
||||
<!-- <div class="HotModel_click_info TextS2">-->
|
||||
<!-- <div class="Model_Click_Number"><img src="img/zan.svg"><span>1.7m</span></div>-->
|
||||
<!-- <div class="Model_Click_Number"><img src="img/xia.svg"><span>2.8k</span></div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="HotModelPiece GuideBlock" onClick="OpenOneStaffPickModel(1)">-->
|
||||
<!-- <div class="HotModel_PrevBlock">-->
|
||||
<!-- <img class="HotModel_PrevImg" src="img/a.jpg" />-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="HotModel_Designer_Info">-->
|
||||
<!-- <div class="HotModel_Author_HeadIcon">-->
|
||||
<!-- <img src="img/a.jpg" />-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="HotModel_Right_1">-->
|
||||
<!-- <div class="HotModel_Name TextS1">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>-->
|
||||
<!-- <div class="HotModel_Right_1_2">-->
|
||||
<!-- <div class="HotModel_Author_Name TextS2">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaaaaaaaaaaaaa</div>-->
|
||||
<!-- <div class="HotModel_click_info TextS2">-->
|
||||
<!-- <div class="Model_Click_Number"><img src="img/zan.svg"><span>1.7m</span></div>-->
|
||||
<!-- <div class="Model_Click_Number"><img src="img/xia.svg"><span>2.8k</span></div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="HotModelPiece GuideBlock" onClick="OpenOneStaffPickModel(1)">-->
|
||||
<!-- <div class="HotModel_PrevBlock">-->
|
||||
<!-- <img class="HotModel_PrevImg" src="img/a.jpg" />-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="HotModel_Designer_Info">-->
|
||||
<!-- <div class="HotModel_Author_HeadIcon">-->
|
||||
<!-- <img src="img/a.jpg" />-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="HotModel_Right_1">-->
|
||||
<!-- <div class="HotModel_Name TextS1">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>-->
|
||||
<!-- <div class="HotModel_Right_1_2">-->
|
||||
<!-- <div class="HotModel_Author_Name TextS2">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaaaaaaaaaaaaa</div>-->
|
||||
<!-- <div class="HotModel_click_info TextS2">-->
|
||||
<!-- <div class="Model_Click_Number"><img src="img/zan.svg"><span>1.7m</span></div>-->
|
||||
<!-- <div class="Model_Click_Number"><img src="img/xia.svg"><span>2.8k</span></div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="HotModelPiece GuideBlock" onClick="OpenOneStaffPickModel(1)">-->
|
||||
<!-- <div class="HotModel_PrevBlock">-->
|
||||
<!-- <img class="HotModel_PrevImg" src="img/a.jpg" />-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="HotModel_Designer_Info">-->
|
||||
<!-- <div class="HotModel_Author_HeadIcon">-->
|
||||
<!-- <img src="img/a.jpg" />-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="HotModel_Right_1">-->
|
||||
<!-- <div class="HotModel_Name TextS1">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>-->
|
||||
<!-- <div class="HotModel_Right_1_2">-->
|
||||
<!-- <div class="HotModel_Author_Name TextS2">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaaaaaaaaaaaaa</div>-->
|
||||
<!-- <div class="HotModel_click_info TextS2">-->
|
||||
<!-- <div class="Model_Click_Number"><img src="img/zan.svg"><span>1.7m</span></div>-->
|
||||
<!-- <div class="Model_Click_Number"><img src="img/xia.svg"><span>2.8k</span></div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="HotModelPiece GuideBlock" onClick="OpenOneStaffPickModel(1)">-->
|
||||
<!-- <div class="HotModel_PrevBlock">-->
|
||||
<!-- <img class="HotModel_PrevImg" src="img/a.jpg" />-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="HotModel_Designer_Info">-->
|
||||
<!-- <div class="HotModel_Author_HeadIcon">-->
|
||||
<!-- <img src="img/a.jpg" />-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="HotModel_Right_1">-->
|
||||
<!-- <div class="HotModel_Name TextS1">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>-->
|
||||
<!-- <div class="HotModel_Right_1_2">-->
|
||||
<!-- <div class="HotModel_Author_Name TextS2">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaaaaaaaaaaaaa</div>-->
|
||||
<!-- <div class="HotModel_click_info TextS2">-->
|
||||
<!-- <div class="Model_Click_Number"><img src="img/zan.svg"><span>1.7m</span></div>-->
|
||||
<!-- <div class="Model_Click_Number"><img src="img/xia.svg"><span>2.8k</span></div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="HotModelPiece GuideBlock" onClick="OpenOneStaffPickModel(1)">-->
|
||||
<!-- <div class="HotModel_PrevBlock">-->
|
||||
<!-- <img class="HotModel_PrevImg" src="img/a.jpg" />-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="HotModel_Designer_Info">-->
|
||||
<!-- <div class="HotModel_Author_HeadIcon">-->
|
||||
<!-- <img src="img/a.jpg" />-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="HotModel_Right_1">-->
|
||||
<!-- <div class="HotModel_Name TextS1">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</div>-->
|
||||
<!-- <div class="HotModel_Right_1_2">-->
|
||||
<!-- <div class="HotModel_Author_Name TextS2">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaaaaaaaaaaaaa</div>-->
|
||||
<!-- <div class="HotModel_click_info TextS2">-->
|
||||
<!-- <div class="Model_Click_Number"><img src="img/zan.svg"><span>1.7m</span></div>-->
|
||||
<!-- <div class="Model_Click_Number"><img src="img/xia.svg"><span>2.8k</span></div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div> –> -->
|
||||
<!-- </div>-->
|
||||
<!-- </div> -->
|
||||
|
||||
<!----------Makerlab--------->
|
||||
<div id="MakerlabArea">
|
||||
<div id="RecentTitleBlock">
|
||||
<div id="Recent_LEFT_Title">
|
||||
<img class="TitleSmallIcon" src="./img/ml.svg" />
|
||||
<div id="RecentTitle" class="Content-Title trans TextS1" tid="">MakerLab</div>
|
||||
</div>
|
||||
<div class="Right_Title_More TextS1" onClick="SwtichLeftMenu('makerlab')"><span class="trans" tid="t108">MORE</span> ></div>
|
||||
</div>
|
||||
<div id="LabList" class="SingleGuideBar">
|
||||
<!--
|
||||
<div class="MakerlabItem GuideBlock" onClick="OnOpenOneMakerlab('aaaa')" >
|
||||
<div class="MakerlabImg"><img src="img/ml1.jpg"/></div>
|
||||
<div class="MakerlabTextBlock">
|
||||
<div class="MakerlabName">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
|
||||
<div class="MakerlabDesc">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
|
||||
<div class="MakerlabAuthor">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="MakerlabItem GuideBlock" onClick="OnOpenOneMakerlab('aaaa')" >
|
||||
<div class="MakerlabImg"><img src="img/ml1.jpg"/></div>
|
||||
<div class="MakerlabTextBlock">
|
||||
<div class="MakerlabName">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
|
||||
<div class="MakerlabDesc">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
|
||||
<div class="MakerlabAuthor">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="MakerlabItem GuideBlock" onClick="OnOpenOneMakerlab('aaaa')" >
|
||||
<div class="MakerlabImg"><img src="img/ml1.jpg"/></div>
|
||||
<div class="MakerlabTextBlock">
|
||||
<div class="MakerlabName">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
|
||||
<div class="MakerlabDesc">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
|
||||
<div class="MakerlabAuthor">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="MakerlabItem GuideBlock" onClick="OnOpenOneMakerlab('aaaa')" >
|
||||
<div class="MakerlabImg"><img src="img/ml1.jpg"/></div>
|
||||
<div class="MakerlabTextBlock">
|
||||
<div class="MakerlabName">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
|
||||
<div class="MakerlabDesc">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
|
||||
<div class="MakerlabAuthor">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="MakerlabItem GuideBlock" onClick="OnOpenOneMakerlab('aaaa')" >
|
||||
<div class="MakerlabImg"><img src="img/ml1.jpg"/></div>
|
||||
<div class="MakerlabTextBlock">
|
||||
<div class="MakerlabName">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
|
||||
<div class="MakerlabDesc">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
|
||||
<div class="MakerlabAuthor">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="MakerlabItem GuideBlock" onClick="OnOpenOneMakerlab('aaaa')" >
|
||||
<div class="MakerlabImg"><img src="img/ml1.jpg"/></div>
|
||||
<div class="MakerlabTextBlock">
|
||||
<div class="MakerlabName">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
|
||||
<div class="MakerlabDesc">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
|
||||
<div class="MakerlabAuthor">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div id="MakerlabArea">-->
|
||||
<!-- <div id="RecentTitleBlock">-->
|
||||
<!-- <div id="Recent_LEFT_Title">-->
|
||||
<!-- <img class="TitleSmallIcon" src="./img/ml.svg" />-->
|
||||
<!-- <div id="RecentTitle" class="Content-Title trans TextS1" tid="">MakerLab</div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="Right_Title_More TextS1" onClick="SwtichLeftMenu('makerlab')"><span class="trans" tid="t108">MORE</span> ></div> -->
|
||||
<!-- </div>-->
|
||||
<!-- <div id="LabList" class="SingleGuideBar">-->
|
||||
<!--<!–-->
|
||||
<!-- <div class="MakerlabItem GuideBlock" onClick="OnOpenOneMakerlab('aaaa')" >-->
|
||||
<!-- <div class="MakerlabImg"><img src="img/ml1.jpg"/></div>-->
|
||||
<!-- <div class="MakerlabTextBlock">-->
|
||||
<!-- <div class="MakerlabName">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>-->
|
||||
<!-- <div class="MakerlabDesc">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>-->
|
||||
<!-- <div class="MakerlabAuthor">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="MakerlabItem GuideBlock" onClick="OnOpenOneMakerlab('aaaa')" >-->
|
||||
<!-- <div class="MakerlabImg"><img src="img/ml1.jpg"/></div>-->
|
||||
<!-- <div class="MakerlabTextBlock">-->
|
||||
<!-- <div class="MakerlabName">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>-->
|
||||
<!-- <div class="MakerlabDesc">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>-->
|
||||
<!-- <div class="MakerlabAuthor">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="MakerlabItem GuideBlock" onClick="OnOpenOneMakerlab('aaaa')" >-->
|
||||
<!-- <div class="MakerlabImg"><img src="img/ml1.jpg"/></div>-->
|
||||
<!-- <div class="MakerlabTextBlock">-->
|
||||
<!-- <div class="MakerlabName">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>-->
|
||||
<!-- <div class="MakerlabDesc">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>-->
|
||||
<!-- <div class="MakerlabAuthor">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="MakerlabItem GuideBlock" onClick="OnOpenOneMakerlab('aaaa')" >-->
|
||||
<!-- <div class="MakerlabImg"><img src="img/ml1.jpg"/></div>-->
|
||||
<!-- <div class="MakerlabTextBlock">-->
|
||||
<!-- <div class="MakerlabName">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>-->
|
||||
<!-- <div class="MakerlabDesc">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>-->
|
||||
<!-- <div class="MakerlabAuthor">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="MakerlabItem GuideBlock" onClick="OnOpenOneMakerlab('aaaa')" >-->
|
||||
<!-- <div class="MakerlabImg"><img src="img/ml1.jpg"/></div>-->
|
||||
<!-- <div class="MakerlabTextBlock">-->
|
||||
<!-- <div class="MakerlabName">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>-->
|
||||
<!-- <div class="MakerlabDesc">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>-->
|
||||
<!-- <div class="MakerlabAuthor">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="MakerlabItem GuideBlock" onClick="OnOpenOneMakerlab('aaaa')" >-->
|
||||
<!-- <div class="MakerlabImg"><img src="img/ml1.jpg"/></div>-->
|
||||
<!-- <div class="MakerlabTextBlock">-->
|
||||
<!-- <div class="MakerlabName">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>-->
|
||||
<!-- <div class="MakerlabDesc">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>-->
|
||||
<!-- <div class="MakerlabAuthor">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div> -->
|
||||
<!--–>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div> -->
|
||||
|
||||
<!-------------Print History-------------->
|
||||
<div id="PrintHistoryArea">
|
||||
|
|
|
@ -49,28 +49,28 @@
|
|||
<div class="BtnIcon "><img class="LeftIcon" src="img/left_recent.svg" /></div>
|
||||
<div class="BtnText trans" tid="t35">Recent</div>
|
||||
</div>
|
||||
<div menu="online" class="BtnItem" onClick="GotoMenu('online')">
|
||||
<div class="BtnIcon"><img class="LeftIcon" src="img/left_online.svg" /></div>
|
||||
<div class="BtnText trans" tid="t107">Online Models</div>
|
||||
<div id="OnlineNewTag" class="BtnNewIcon">New</div>
|
||||
</div>
|
||||
<div menu="makerlab" class="BtnItem" onClick="GotoMenu('makerlab')">
|
||||
<div class="BtnIcon "><img class="LeftIcon" src="img/left_ml.svg" /></div>
|
||||
<div class="BtnText trans" tid="">MakerLab</div>
|
||||
<div id="MakerlabNewTag" class="BtnNewIcon">New</div>
|
||||
</div>
|
||||
<div menu="makersupply" class="BtnItem" onClick="GotoMenu('makersupply')">
|
||||
<div class="BtnIcon "><img class="LeftIcon" src="img/left_ms.svg" /></div>
|
||||
<div class="BtnText trans" tid="t125">Maker’s Supply</div>
|
||||
</div>
|
||||
<div menu="printhistory" class="BtnItem" onClick="GotoMenu('printhistory')">
|
||||
<div class="BtnIcon "><img class="LeftIcon" src="img/left_ph.svg" /></div>
|
||||
<div class="BtnText trans" tid="t117">Print History</div>
|
||||
</div>
|
||||
<div menu="manual" class="BtnItem" onClick="GotoMenu('manual')">
|
||||
<div class="BtnIcon "><img class="LeftIcon" src="img/left_manual.svg" /></div>
|
||||
<div class="BtnText trans" tid="t87">User Manual</div>
|
||||
</div>
|
||||
<!-- <div menu="online" class="BtnItem" onClick="GotoMenu('online')">-->
|
||||
<!-- <div class="BtnIcon"><img class="LeftIcon" src="img/left_online.svg" /></div>-->
|
||||
<!-- <div class="BtnText trans" tid="t107">Online Models</div> -->
|
||||
<!-- <div id="OnlineNewTag" class="BtnNewIcon">New</div>-->
|
||||
<!-- </div> -->
|
||||
<!-- <div menu="makerlab" class="BtnItem" onClick="GotoMenu('makerlab')">-->
|
||||
<!-- <div class="BtnIcon "><img class="LeftIcon" src="img/left_ml.svg" /></div>-->
|
||||
<!-- <div class="BtnText trans" tid="">MakerLab</div>-->
|
||||
<!-- <div id="MakerlabNewTag" class="BtnNewIcon">New</div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div menu="makersupply" class="BtnItem" onClick="GotoMenu('makersupply')">-->
|
||||
<!-- <div class="BtnIcon "><img class="LeftIcon" src="img/left_ms.svg" /></div>-->
|
||||
<!-- <div class="BtnText trans" tid="t125">Maker’s Supply</div>-->
|
||||
<!-- </div> -->
|
||||
<!-- <div menu="printhistory" class="BtnItem" onClick="GotoMenu('printhistory')">-->
|
||||
<!-- <div class="BtnIcon "><img class="LeftIcon" src="img/left_ph.svg" /></div>-->
|
||||
<!-- <div class="BtnText trans" tid="t117">Print History</div>-->
|
||||
<!-- </div> -->
|
||||
<!-- <div menu="manual" class="BtnItem" onClick="GotoMenu('manual')">-->
|
||||
<!-- <div class="BtnIcon "><img class="LeftIcon" src="img/left_manual.svg" /></div>-->
|
||||
<!-- <div class="BtnText trans" tid="t87">User Manual</div>-->
|
||||
<!-- </div> -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1364,6 +1364,7 @@ void AppConfig::reset_selections()
|
|||
it->second.erase("sla_material");
|
||||
it->second.erase(PRESET_PRINTER_NAME);
|
||||
it->second.erase("physical_printer");
|
||||
it->second.erase(PRESET_CONFIG_NAME);
|
||||
m_dirty = true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -80,6 +80,8 @@ set(lisbslic3r_sources
|
|||
FileParserError.hpp
|
||||
Fill/Fill.cpp
|
||||
Fill/Fill.hpp
|
||||
Fill/Bridge.hpp
|
||||
Fill/Bridge.cpp
|
||||
Fill/Fill3DHoneycomb.cpp
|
||||
Fill/Fill3DHoneycomb.hpp
|
||||
Fill/FillAdaptive.cpp
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,230 @@
|
|||
//
|
||||
// Created by ylzha on 2025/2/25.
|
||||
//
|
||||
#ifndef slic3r_Bridge_hpp_
|
||||
#define slic3r_Bridge_hpp_
|
||||
|
||||
#include "../libslic3r.h"
|
||||
#include <boost/geometry.hpp>
|
||||
|
||||
#include "FillBase.hpp"
|
||||
|
||||
namespace bg = boost::geometry;
|
||||
|
||||
namespace Slic3r{
|
||||
|
||||
class Surface;
|
||||
|
||||
// 定义点类型
|
||||
typedef bg::model::d2::point_xy<double> Point_t;
|
||||
|
||||
//定义线段
|
||||
typedef bg::model::segment<Point_t> Segment;
|
||||
|
||||
// 定义多边形类型
|
||||
typedef bg::model::polygon<Point_t> Polygon_t;
|
||||
|
||||
// 多边形集合
|
||||
typedef bg::model::multi_polygon<Polygon_t> MultiPolygon;
|
||||
|
||||
// 定义环类型
|
||||
typedef bg::model::ring<Point_t> Ring;
|
||||
|
||||
// 定义折线类型(用于表示直线)
|
||||
typedef bg::model::linestring<Point_t> Linestring;
|
||||
|
||||
|
||||
// 定义多边形的外边界和内边界
|
||||
struct PolygonBoundaries {
|
||||
Ring outerBoundary; // 外边界
|
||||
std::vector<Ring> innerBoundaries; // 内边界(可能有多个)
|
||||
};
|
||||
|
||||
struct IdIndex {
|
||||
size_t id{};
|
||||
size_t index{};
|
||||
// 定义小于运算符
|
||||
bool operator<(const IdIndex& other) const {
|
||||
return id < other.id;
|
||||
}
|
||||
IdIndex(const size_t id, const size_t index) : id(id), index(index) {}
|
||||
|
||||
bool operator==(const IdIndex& ii) const {
|
||||
return id == ii.id && index == ii.index;
|
||||
}
|
||||
};
|
||||
|
||||
//环路径树结构中节点类型
|
||||
struct RingNode {
|
||||
IdIndex id;
|
||||
Ring ring; //当前环
|
||||
int orientation{}; //方向 -1 向内 1 向外
|
||||
std::vector<RingNode> children; //子节点集
|
||||
RingNode* parent; //父节点
|
||||
bool isHide{ false }; //在最终路径中是否呈现 false 呈现 true 不呈现
|
||||
|
||||
// 构造函数,方便初始化
|
||||
RingNode(const IdIndex id, const Ring& ring, const int orientation = 0)
|
||||
: id(id), ring(ring), orientation(orientation), parent(nullptr) {
|
||||
}
|
||||
|
||||
// 重载==运算符方便比较
|
||||
bool operator==(const RingNode& other) const {
|
||||
return id.id == other.id.id && id.index == other.id.index;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
//桥接映射
|
||||
struct BridgeMap {
|
||||
Point_t from;
|
||||
Point_t to;
|
||||
Point_t from2;
|
||||
Point_t to2;
|
||||
IdIndex from_ii;
|
||||
IdIndex to_ii;
|
||||
size_t edge_index;
|
||||
BridgeMap(Point_t from, Point_t to, Point_t from2, Point_t to2, IdIndex from_ii, IdIndex to_ii, size_t edge_index) :
|
||||
from(from), to(to), from2(from2), to2(to2), from_ii(from_ii), to_ii(to_ii), edge_index(edge_index) { }
|
||||
};
|
||||
|
||||
//合并映射
|
||||
struct MergeMap {
|
||||
IdIndex ii1; //环1
|
||||
IdIndex ii2; //环2
|
||||
std::vector<IdIndex> nodes; //产生的环集
|
||||
// 构造函数
|
||||
MergeMap(const IdIndex& i1, const IdIndex& i2, const std::vector<IdIndex>& nodeList)
|
||||
: ii1(i1), ii2(i2), nodes(nodeList) {
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
//struct PointHash {
|
||||
// std::size_t operator()(const Point_t& p) const {
|
||||
// std::size_t seed = 0;
|
||||
// boost::hash_combine(seed, bg::get<0>(p));
|
||||
// boost::hash_combine(seed, bg::get<1>(p));
|
||||
// return seed;
|
||||
// }
|
||||
//};
|
||||
|
||||
//struct PointEqual {
|
||||
// bool operator()(const Point_t& a, const Point_t& b) const {
|
||||
// return bg::equals(a, b);
|
||||
// }
|
||||
//};
|
||||
|
||||
struct PointIndex {
|
||||
size_t index0;
|
||||
size_t index1;
|
||||
Point_t point0;
|
||||
Point_t point1;
|
||||
|
||||
PointIndex(const size_t index0, const size_t index1, const Point_t point0, const Point_t point1) :
|
||||
index0(index0), index1(index1), point0(point0), point1(point1) { }
|
||||
};
|
||||
|
||||
class Bridge : public Fill {
|
||||
public:
|
||||
~Bridge() override = default;
|
||||
bool is_self_crossing() override { return false; }
|
||||
protected:
|
||||
Fill* clone() const override { return new Bridge(*this); }
|
||||
Polylines fill_surface(const Surface* surface, const FillParams& params) override;
|
||||
private:
|
||||
//计算多边形的外边界和内边界
|
||||
void computePolygonBoundaries(const Polygon_t& polygon);
|
||||
|
||||
// 判断两个环是否相交(不包括包含关系)
|
||||
bool ringsIntersect(const Ring& ring1, const Ring& ring2);
|
||||
|
||||
//获取环偏移后的环(可能为空)
|
||||
std::vector<Ring> offsetRing(const Ring& ring, double distance);
|
||||
|
||||
// 查找环非邻边的相交点
|
||||
std::vector<Point_t> findNonAdjacentIntersections(const Ring& ring);
|
||||
// 将环拆分成多个环
|
||||
std::vector<Ring> split(const Ring& ring, const std::vector<Point_t>& intersections);
|
||||
// 合并两个环
|
||||
std::vector<Ring> merge(const RingNode& ring1, const RingNode& ring2);
|
||||
//生成环集
|
||||
void generateRings();
|
||||
//形成节点
|
||||
RingNode formatNode(size_t id, size_t index, const Ring& ring, int orientation);
|
||||
void addNode(RingNode& node);
|
||||
void removeNode(IdIndex id);
|
||||
//查找节点
|
||||
RingNode& findNode(IdIndex ii);
|
||||
//形成树
|
||||
void formatTree();
|
||||
// 深度优先搜索遍历树
|
||||
void dfs(RingNode& node, std::vector<IdIndex>& visited, size_t& edge);
|
||||
|
||||
//找到多边形环第 N 条边的中心点
|
||||
Point_t findCenterPointOnEdge(Ring& ring, size_t N, double d0, size_t& e_index);
|
||||
|
||||
// 在环上按顺时针方向查找距离给定点d的另一个点
|
||||
Point_t find_point_at_distance_clockwise(Ring& ring, const Point_t& start_point, double d, size_t& e_index);
|
||||
|
||||
size_t findLongestEdgeIndex(const Ring& ring);
|
||||
|
||||
//在第N条边上进行内外环桥接,并插入桥接点
|
||||
//o_ii 外环IdIndex i_ii 内环IdIndex
|
||||
void handleBridge(IdIndex o_ii, IdIndex i_ii, double _offset);
|
||||
|
||||
//递归遍历环
|
||||
void traverseRing(
|
||||
RingNode& node,
|
||||
IdIndex parent,
|
||||
Point_t& start,
|
||||
Point_t& end,
|
||||
bool isOutermostLayer //是否最外层
|
||||
);
|
||||
|
||||
//输出所有环
|
||||
void printRings();
|
||||
|
||||
//sf::VertexArray convertToSFML(const Polygon_t& poly, const sf::Color& color);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public:
|
||||
|
||||
//输出树结构
|
||||
void printTree();
|
||||
//画路径 SFML顶点数组集
|
||||
//std::vector<sf::Vertex> outputPaths();
|
||||
|
||||
//std::vector<sf::VertexArray> convert2vertex();
|
||||
//std::vector<sf::VertexArray> verteies;
|
||||
//std::vector<sf::VertexArray> convertBridge();
|
||||
|
||||
|
||||
private:
|
||||
|
||||
size_t maxRid = 1; //最大环类型ID值
|
||||
double offset; //偏移距离
|
||||
Polygon_t polygon; //2D多边形
|
||||
double area_threshold; //面积阈值
|
||||
|
||||
PolygonBoundaries boundaries; //外/内边界
|
||||
std::map<size_t, std::vector<RingNode>> ringNodes; //存储不同环类型的节点集合 size_t 环类型id
|
||||
std::vector<RingNode> nodeHandles; //当前需进行自交或互交处理的节点集合
|
||||
std::map<IdIndex, std::vector<IdIndex>> splitMap; //分裂映射集
|
||||
std::vector<MergeMap> mergeMap; //合并映射集
|
||||
std::map<IdIndex, std::vector<IdIndex>> offsetMap; //偏移后产生的分裂映射集
|
||||
|
||||
std::vector<BridgeMap> bridges; //桥接映射
|
||||
|
||||
//std::vector<sf::Vertex> path; // 路径
|
||||
std::vector<Point_t> path; // 路径
|
||||
bool isFront{ false };
|
||||
size_t sel_edge_index{ 1 }; //选择桥接边的索引
|
||||
|
||||
|
||||
};
|
||||
}; // namespace Slic3r
|
||||
#endif // slic3r_Bridge_hpp_
|
|
@ -684,7 +684,9 @@ Polylines Layer::generate_sparse_infill_polylines_for_anchoring(FillAdaptive::Oc
|
|||
case ipArchimedeanChords:
|
||||
case ipOctagramSpiral:
|
||||
case ipZigZag:
|
||||
case ipCrossZag: break;
|
||||
case ipCrossZag:
|
||||
case ipFiberSpiral:
|
||||
break;
|
||||
}
|
||||
|
||||
// Create the filler object.
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
#include "FillConcentricInternal.hpp"
|
||||
#include "FillCrossHatch.hpp"
|
||||
#include "FillFloatingConcentric.hpp"
|
||||
#include "Bridge.hpp"
|
||||
|
||||
// #define INFILL_DEBUG_OUTPUT
|
||||
|
||||
|
@ -60,6 +61,7 @@ Fill* Fill::new_from_type(const InfillPattern type)
|
|||
case ipZigZag: return new FillZigZag();
|
||||
case ipCrossZag: return new FillCrossZag();
|
||||
case ipFloatingConcentric: return new FillFloatingConcentric();
|
||||
case ipFiberSpiral: return new FillLine();
|
||||
default: throw Slic3r::InvalidArgument("unknown type");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4655,7 +4655,7 @@ double GCode::get_path_speed(const ExtrusionPath &path)
|
|||
// cap speed with max_volumetric_speed anyway (even if user is not using autospeed)
|
||||
speed = std::min(speed, extrude_speed);
|
||||
}
|
||||
|
||||
//speed = m_config.get_abs_value("default_print_speed");
|
||||
return speed;
|
||||
}
|
||||
|
||||
|
@ -5799,6 +5799,9 @@ std::string GCode::travel_to(const Point &point, ExtrusionRole role, std::string
|
|||
// No extra movements emitted by avoid_crossing_perimeters, simply move to the end point with z change
|
||||
const auto &dest2d = this->point_to_gcode(travel.points.back());
|
||||
Vec3d dest3d(dest2d(0), dest2d(1), z == DBL_MAX ? m_nominal_z : z);
|
||||
//zheli****************************************************************************
|
||||
//*******************************************************************************
|
||||
//auto dE = m_extruder->E();
|
||||
gcode += m_writer.travel_to_xyz(dest3d, comment);
|
||||
} else {
|
||||
// Extra movements emitted by avoid_crossing_perimeters, lift the z to normal height at the beginning, then apply the z
|
||||
|
|
|
@ -551,6 +551,7 @@ std::string GCodeWriter::travel_to_xyz(const Vec3d &point, const std::string &co
|
|||
m_lifted = 0.;
|
||||
//BBS
|
||||
this->set_current_position_clear(true);
|
||||
//return this->travel_to_xy_test(to_2d(point));
|
||||
return this->travel_to_xy(to_2d(point));
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -381,6 +381,8 @@ std::string Preset::get_type_string(Preset::Type type)
|
|||
return "physical_printer";
|
||||
case Preset::Type::TYPE_INVALID:
|
||||
return "invalid";
|
||||
case Preset::Type::TYPE_CONFIG:
|
||||
return PRESET_CONFIG_NAME;
|
||||
default:
|
||||
return "invalid";
|
||||
}
|
||||
|
@ -859,7 +861,7 @@ static std::vector<std::string> s_Preset_print_options {
|
|||
#endif /* HAS_PRESSURE_EQUALIZER */
|
||||
"inner_wall_speed", "outer_wall_speed", "sparse_infill_speed", "internal_solid_infill_speed",
|
||||
"top_surface_speed", "support_speed", "support_object_xy_distance", "support_object_first_layer_gap","support_interface_speed",
|
||||
"bridge_speed", "gap_infill_speed", "travel_speed", "travel_speed_z", "initial_layer_speed", "outer_wall_acceleration",
|
||||
"bridge_speed", "gap_infill_speed", "travel_speed", "travel_speed_z", "initial_layer_speed", "outer_wall_acceleration","default_print_speed",
|
||||
"initial_layer_acceleration", "top_surface_acceleration", "default_acceleration", "travel_acceleration", "initial_layer_travel_acceleration", "inner_wall_acceleration", "sparse_infill_acceleration",
|
||||
"accel_to_decel_enable", "accel_to_decel_factor", "skirt_loops", "skirt_distance",
|
||||
"skirt_height", "draft_shield",
|
||||
|
@ -1058,6 +1060,9 @@ static std::vector<std::string> s_Preset_sla_printer_options {
|
|||
"min_initial_exposure_time", "max_initial_exposure_time",
|
||||
"inherits"
|
||||
};
|
||||
static std::vector<std::string> s_Preset_config_options{
|
||||
"initial_layer_line_width","outer_wall_line_width","inner_wall_line_width","top_surface_line_width","sparse_infill_line_width","support_line_width","resolution","wall_sequence"
|
||||
};
|
||||
|
||||
const std::vector<std::string>& Preset::print_options() { return s_Preset_print_options; }
|
||||
const std::vector<std::string>& Preset::filament_options() { return s_Preset_filament_options; }
|
||||
|
@ -1068,6 +1073,7 @@ const std::vector<std::string>& Preset::nozzle_options() { return print_
|
|||
const std::vector<std::string>& Preset::sla_print_options() { return s_Preset_sla_print_options; }
|
||||
const std::vector<std::string>& Preset::sla_material_options() { return s_Preset_sla_material_options; }
|
||||
const std::vector<std::string>& Preset::sla_printer_options() { return s_Preset_sla_printer_options; }
|
||||
const std::vector<std::string>& Preset::config_options() { return s_Preset_print_options; }
|
||||
|
||||
const std::vector<std::string>& Preset::printer_options()
|
||||
{
|
||||
|
@ -3116,6 +3122,7 @@ std::string PresetCollection::name() const
|
|||
//case Preset::TYPE_SLA_PRINT: return L("SLA print");
|
||||
//case Preset::TYPE_SLA_MATERIAL: return L("SLA material");
|
||||
case Preset::TYPE_PRINTER: return L(PRESET_PRINTER_NAME);
|
||||
case Preset::TYPE_CONFIG: return L(PRESET_CONFIG_NAME);
|
||||
default: return "invalid";
|
||||
}
|
||||
}
|
||||
|
@ -3129,6 +3136,7 @@ std::string PresetCollection::section_name() const
|
|||
//case Preset::TYPE_SLA_PRINT: return PRESET_SLA_PRINT_NAME;
|
||||
//case Preset::TYPE_SLA_MATERIAL: return PRESET_SLA_MATERIALS_NAME;
|
||||
case Preset::TYPE_PRINTER: return PRESET_PRINTER_NAME;
|
||||
case Preset::TYPE_CONFIG: return PRESET_CONFIG_NAME;
|
||||
default: return "invalid";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,11 +26,14 @@
|
|||
#define PRESET_PROFILES_TEMOLATE_DIR "profiles_template"
|
||||
#define PRESET_TEMPLATE_DIR "Template"
|
||||
#define PRESET_CUSTOM_VENDOR "Custom"
|
||||
#define PRESET_CONFIG_NAME "config"
|
||||
|
||||
|
||||
//BBS: iot preset type strings
|
||||
#define PRESET_IOT_PRINTER_TYPE "printer"
|
||||
#define PRESET_IOT_FILAMENT_TYPE "filament"
|
||||
#define PRESET_IOT_PRINT_TYPE "print"
|
||||
#define PRESET_IOT_CONFIG_TYPE "config"
|
||||
|
||||
|
||||
//BBS: add json support
|
||||
|
@ -180,6 +183,7 @@ public:
|
|||
TYPE_FILAMENT,
|
||||
TYPE_SLA_MATERIAL,
|
||||
TYPE_PRINTER,
|
||||
TYPE_CONFIG,
|
||||
TYPE_COUNT,
|
||||
// This type is here to support PresetConfigSubstitutions for physical printers, however it does not belong to the Preset class,
|
||||
// PhysicalPrinter class is used instead.
|
||||
|
@ -340,6 +344,7 @@ public:
|
|||
static const std::vector<std::string>& sla_printer_options();
|
||||
static const std::vector<std::string>& sla_material_options();
|
||||
static const std::vector<std::string>& sla_print_options();
|
||||
static const std::vector<std::string>& config_options();
|
||||
|
||||
static void update_suffix_modified(const std::string& new_suffix_modified);
|
||||
static const std::string& suffix_modified();
|
||||
|
|
|
@ -61,6 +61,7 @@ PresetBundle::PresetBundle()
|
|||
, sla_materials(Preset::TYPE_SLA_MATERIAL, Preset::sla_material_options(), static_cast<const SLAMaterialConfig &>(SLAFullPrintConfig::defaults()))
|
||||
, sla_prints(Preset::TYPE_SLA_PRINT, Preset::sla_print_options(), static_cast<const SLAPrintObjectConfig &>(SLAFullPrintConfig::defaults()))
|
||||
, printers(Preset::TYPE_PRINTER, Preset::printer_options(), static_cast<const PrintRegionConfig &>(FullPrintConfig::defaults()), "Default Printer")
|
||||
, configs(Preset::TYPE_CONFIG, Preset::config_options(), static_cast<const PrintRegionConfig&>(FullPrintConfig::defaults()), "Default Config")
|
||||
, physical_printers(PhysicalPrinter::printer_options())
|
||||
{
|
||||
// The following keys are handled by the UI, they do not have a counterpart in any StaticPrintConfig derived classes,
|
||||
|
@ -114,7 +115,7 @@ PresetBundle::PresetBundle()
|
|||
this->filaments.select_preset(0);
|
||||
this->sla_materials.select_preset(0);
|
||||
this->printers.select_preset(0);
|
||||
|
||||
this->configs.select_preset(0);
|
||||
this->project_config.apply_only(FullPrintConfig::defaults(), s_project_options);
|
||||
}
|
||||
|
||||
|
@ -131,6 +132,7 @@ PresetBundle& PresetBundle::operator=(const PresetBundle &rhs)
|
|||
sla_materials = rhs.sla_materials;
|
||||
printers = rhs.printers;
|
||||
physical_printers = rhs.physical_printers;
|
||||
configs = rhs.configs;
|
||||
|
||||
filament_presets = rhs.filament_presets;
|
||||
project_config = rhs.project_config;
|
||||
|
@ -143,6 +145,7 @@ PresetBundle& PresetBundle::operator=(const PresetBundle &rhs)
|
|||
filaments .update_vendor_ptrs_after_copy(this->vendors);
|
||||
sla_materials.update_vendor_ptrs_after_copy(this->vendors);
|
||||
printers .update_vendor_ptrs_after_copy(this->vendors);
|
||||
configs.update_vendor_ptrs_after_copy(this->vendors);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
@ -156,6 +159,7 @@ void PresetBundle::reset(bool delete_files)
|
|||
this->filaments .reset(delete_files);
|
||||
this->sla_materials.reset(delete_files);
|
||||
this->printers .reset(delete_files);
|
||||
this->configs.reset(delete_files);
|
||||
// BBS: filament_presets is load from project config, not handled here
|
||||
//this->filament_presets.clear();
|
||||
if (this->filament_presets.empty())
|
||||
|
@ -165,6 +169,7 @@ void PresetBundle::reset(bool delete_files)
|
|||
this->obsolete_presets.filaments.clear();
|
||||
this->obsolete_presets.sla_materials.clear();
|
||||
this->obsolete_presets.printers.clear();
|
||||
this->obsolete_presets.configs.clear();
|
||||
}
|
||||
|
||||
void PresetBundle::setup_directories()
|
||||
|
@ -228,7 +233,8 @@ void PresetBundle::copy_files(const std::string& from)
|
|||
// Store the print/filament/printer presets at the same location as the upstream Slic3r.
|
||||
from_data_dir / PRESET_PRINT_NAME,
|
||||
from_data_dir / PRESET_FILAMENT_NAME,
|
||||
from_data_dir / PRESET_PRINTER_NAME
|
||||
from_data_dir / PRESET_PRINTER_NAME,
|
||||
from_data_dir / PRESET_CONFIG_NAME
|
||||
};
|
||||
// copy recursively all files
|
||||
//BBS: change directoties by design
|
||||
|
@ -287,6 +293,9 @@ Preset* PresetBundle::get_preset_differed_for_save(Preset& preset)
|
|||
case Preset::TYPE_FILAMENT:
|
||||
preset_collection = &(this->filaments);
|
||||
break;
|
||||
case Preset::TYPE_CONFIG:
|
||||
preset_collection = &(this->configs);
|
||||
break;
|
||||
default:
|
||||
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format(" invalid type %1%, return directly")%preset.type;
|
||||
return nullptr;
|
||||
|
@ -309,6 +318,9 @@ int PresetBundle::get_differed_values_to_update(Preset& preset, std::map<std::st
|
|||
case Preset::TYPE_FILAMENT:
|
||||
preset_collection = &(this->filaments);
|
||||
break;
|
||||
case Preset::TYPE_CONFIG:
|
||||
preset_collection = &(this->configs);
|
||||
break;
|
||||
default:
|
||||
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format(" invalid type %1%, return directly")%preset.type;
|
||||
return -1;
|
||||
|
@ -385,6 +397,12 @@ PresetsConfigSubstitutions PresetBundle::load_project_embedded_presets(std::vect
|
|||
} catch (const std::runtime_error &err) {
|
||||
errors_cummulative += err.what();
|
||||
}
|
||||
try {
|
||||
this->configs.load_project_embedded_presets(project_presets, PRESET_CONFIG_NAME, substitutions, substitution_rule);
|
||||
}
|
||||
catch (const std::runtime_error& err) {
|
||||
errors_cummulative += err.what();
|
||||
}
|
||||
|
||||
//this->update_multi_material_filament_presets();
|
||||
//this->update_compatible(PresetSelectCompatibleType::Never);
|
||||
|
@ -410,6 +428,9 @@ std::vector<Preset*> PresetBundle::get_current_project_embedded_presets()
|
|||
auto printer_presets = this->printers.get_project_embedded_presets();
|
||||
if (!printer_presets.empty())
|
||||
std::copy(printer_presets.begin(), printer_presets.end(), std::back_inserter(project_presets));
|
||||
auto config_presets = this->configs.get_project_embedded_presets();
|
||||
if (!config_presets.empty())
|
||||
std::copy(config_presets.begin(), config_presets.end(), std::back_inserter(project_presets));
|
||||
|
||||
BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << boost::format(" finished, returned project_presets count %1%")%project_presets.size();
|
||||
return project_presets;
|
||||
|
@ -428,6 +449,7 @@ void PresetBundle::reset_project_embedded_presets()
|
|||
bool printer_reselect = this->printers.reset_project_embedded_presets();
|
||||
bool filament_reselect = this->filaments.reset_project_embedded_presets();
|
||||
bool print_reselect = this->prints.reset_project_embedded_presets();
|
||||
bool config_reselect = this->configs.reset_project_embedded_presets();
|
||||
|
||||
if (printer_reselect) {
|
||||
if (!prefer_printer.empty())
|
||||
|
@ -438,7 +460,7 @@ void PresetBundle::reset_project_embedded_presets()
|
|||
//this->update_multi_material_filament_presets();
|
||||
this->update_compatible(PresetSelectCompatibleType::Never);
|
||||
}
|
||||
else if (filament_reselect || print_reselect) {
|
||||
else if (filament_reselect || print_reselect || config_reselect) {
|
||||
//Preset& current_printer = this->printers.get_selected_preset();
|
||||
/*if (filament_reselect) {
|
||||
const std::vector<std::string> &prefered_filament_profiles = current_printer.config.option<ConfigOptionStrings>("default_filament_profile")->values;
|
||||
|
@ -592,6 +614,14 @@ PresetsConfigSubstitutions PresetBundle::load_user_presets(std::string user, For
|
|||
} catch (const std::runtime_error &err) {
|
||||
errors_cummulative += err.what();
|
||||
}
|
||||
try {
|
||||
std::string config_selected_preset_name = configs.get_selected_preset().name;
|
||||
this->configs.load_presets(dir_user_presets, PRESET_CONFIG_NAME, substitutions, substitution_rule);
|
||||
configs.select_preset_by_name(config_selected_preset_name, false);
|
||||
}
|
||||
catch (const std::runtime_error& err) {
|
||||
errors_cummulative += err.what();
|
||||
}
|
||||
if (!errors_cummulative.empty()) throw Slic3r::RuntimeError(errors_cummulative);
|
||||
this->update_multi_material_filament_presets();
|
||||
this->update_compatible(PresetSelectCompatibleType::Never);
|
||||
|
@ -608,7 +638,7 @@ PresetsConfigSubstitutions PresetBundle::load_user_presets(AppConfig &
|
|||
// First load the vendor specific system presets.
|
||||
PresetsConfigSubstitutions substitutions;
|
||||
std::string errors_cummulative;
|
||||
bool process_added = false, filament_added = false, machine_added = false;
|
||||
bool process_added = false, filament_added = false, machine_added = false, config_added = false;
|
||||
|
||||
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format(" enter, substitution_rule %1%, preset toltal count %2%")%substitution_rule%my_presets.size();
|
||||
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format(" print's selected_idx %1%, selected_name %2%") %prints.get_selected_idx() %prints.get_selected_preset_name();
|
||||
|
@ -648,6 +678,10 @@ PresetsConfigSubstitutions PresetBundle::load_user_presets(AppConfig &
|
|||
preset_collection = &(this->printers);
|
||||
machine_added |= preset_collection->load_user_preset(name, value_map, substitutions, substitution_rule);
|
||||
}
|
||||
else if (type_iter->second == PRESET_IOT_CONFIG_TYPE) {
|
||||
preset_collection = &(this->configs);
|
||||
config_added |= preset_collection->load_user_preset(name, value_map, substitutions, substitution_rule);
|
||||
}
|
||||
else {
|
||||
BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format("invalid type %1% for setting %2%") %type_iter->second %name;
|
||||
continue;
|
||||
|
@ -890,6 +924,7 @@ void PresetBundle::save_user_presets(AppConfig& config, std::vector<std::string>
|
|||
this->prints.save_user_presets(dir_user_presets, PRESET_PRINT_NAME, need_to_delete_list);
|
||||
this->filaments.save_user_presets(dir_user_presets, PRESET_FILAMENT_NAME, need_to_delete_list);
|
||||
this->printers.save_user_presets(dir_user_presets, PRESET_PRINTER_NAME, need_to_delete_list);
|
||||
this->configs.save_user_presets(dir_user_presets, PRESET_CONFIG_NAME, need_to_delete_list);
|
||||
BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << boost::format(" finished");
|
||||
}
|
||||
|
||||
|
@ -912,6 +947,7 @@ void PresetBundle::update_user_presets_directory(const std::string preset_folder
|
|||
this->prints.update_user_presets_directory(dir_user_presets, PRESET_PRINT_NAME);
|
||||
this->filaments.update_user_presets_directory(dir_user_presets, PRESET_FILAMENT_NAME);
|
||||
this->printers.update_user_presets_directory(dir_user_presets, PRESET_PRINTER_NAME);
|
||||
this->configs.update_user_presets_directory(dir_user_presets, PRESET_CONFIG_NAME);
|
||||
BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << boost::format(" finished");
|
||||
}
|
||||
|
||||
|
@ -1401,15 +1437,18 @@ std::vector<std::string> PresetBundle::merge_presets(PresetBundle &&other)
|
|||
std::vector<std::string> duplicate_filaments = this->filaments .merge_presets(std::move(other.filaments), this->vendors);
|
||||
std::vector<std::string> duplicate_sla_materials = this->sla_materials.merge_presets(std::move(other.sla_materials), this->vendors);
|
||||
std::vector<std::string> duplicate_printers = this->printers .merge_presets(std::move(other.printers), this->vendors);
|
||||
std::vector<std::string> duplicate_configs = this->configs.merge_presets(std::move(other.configs), this->vendors);
|
||||
append(this->obsolete_presets.prints, std::move(other.obsolete_presets.prints));
|
||||
append(this->obsolete_presets.sla_prints, std::move(other.obsolete_presets.sla_prints));
|
||||
append(this->obsolete_presets.filaments, std::move(other.obsolete_presets.filaments));
|
||||
append(this->obsolete_presets.sla_materials, std::move(other.obsolete_presets.sla_materials));
|
||||
append(this->obsolete_presets.printers, std::move(other.obsolete_presets.printers));
|
||||
append(this->obsolete_presets.configs, std::move(other.obsolete_presets.configs));
|
||||
append(duplicate_prints, std::move(duplicate_sla_prints));
|
||||
append(duplicate_prints, std::move(duplicate_filaments));
|
||||
append(duplicate_prints, std::move(duplicate_sla_materials));
|
||||
append(duplicate_prints, std::move(duplicate_printers));
|
||||
append(duplicate_configs, std::move(duplicate_configs));
|
||||
return duplicate_prints;
|
||||
}
|
||||
|
||||
|
@ -1421,10 +1460,13 @@ void PresetBundle::update_system_maps()
|
|||
this->sla_materials.update_map_system_profile_renamed();
|
||||
this->printers .update_map_system_profile_renamed();
|
||||
|
||||
this->configs .update_map_system_profile_renamed();
|
||||
|
||||
this->prints .update_map_alias_to_profile_name();
|
||||
this->sla_prints .update_map_alias_to_profile_name();
|
||||
this->filaments .update_map_alias_to_profile_name();
|
||||
this->sla_materials.update_map_alias_to_profile_name();
|
||||
this->configs.update_map_alias_to_profile_name();
|
||||
}
|
||||
|
||||
static inline std::string remove_ini_suffix(const std::string &name)
|
||||
|
@ -1444,7 +1486,12 @@ void PresetBundle::load_installed_printers(const AppConfig &config)
|
|||
for (auto &preset : printers)
|
||||
preset.set_visible_from_appconfig(config);
|
||||
}
|
||||
|
||||
void PresetBundle::load_installed_configs(const AppConfig& config)
|
||||
{
|
||||
this->update_system_maps();
|
||||
for (auto& preset : configs)
|
||||
preset.set_visible_from_appconfig(config);
|
||||
}
|
||||
const std::string& PresetBundle::get_preset_name_by_alias( const Preset::Type& preset_type, const std::string& alias) const
|
||||
{
|
||||
// there are not aliases for Printers profiles
|
||||
|
@ -1454,6 +1501,7 @@ const std::string& PresetBundle::get_preset_name_by_alias( const Preset::Type& p
|
|||
const PresetCollection& presets = preset_type == Preset::TYPE_PRINT ? prints :
|
||||
preset_type == Preset::TYPE_SLA_PRINT ? sla_prints :
|
||||
preset_type == Preset::TYPE_FILAMENT ? filaments :
|
||||
preset_type == Preset::TYPE_CONFIG ? configs :
|
||||
sla_materials;
|
||||
|
||||
return presets.get_preset_name_by_alias(alias);
|
||||
|
@ -1488,7 +1536,8 @@ void PresetBundle::save_changes_for_preset(const std::string& new_name, Preset::
|
|||
PresetCollection& presets = type == Preset::TYPE_PRINT ? prints :
|
||||
type == Preset::TYPE_SLA_PRINT ? sla_prints :
|
||||
type == Preset::TYPE_FILAMENT ? filaments :
|
||||
type == Preset::TYPE_SLA_MATERIAL ? sla_materials : printers;
|
||||
type == Preset::TYPE_SLA_MATERIAL ? sla_materials :
|
||||
type == Preset::TYPE_CONFIG ? configs : printers;
|
||||
|
||||
// if we want to save just some from selected options
|
||||
if (!unselected_options.empty()) {
|
||||
|
@ -1604,6 +1653,7 @@ void PresetBundle::load_selections(AppConfig &config, const PresetPreferences& p
|
|||
// Update visibility of filament and sla material presets
|
||||
this->load_installed_filaments(config);
|
||||
this->load_installed_sla_materials(config);
|
||||
this->load_installed_configs(config);
|
||||
|
||||
// Parse the initial print / filament / printer profile names.
|
||||
std::string initial_print_profile_name = remove_ini_suffix(config.get("presets", PRESET_PRINT_NAME));
|
||||
|
@ -1611,6 +1661,7 @@ void PresetBundle::load_selections(AppConfig &config, const PresetPreferences& p
|
|||
std::string initial_filament_profile_name = remove_ini_suffix(config.get("presets", PRESET_FILAMENT_NAME));
|
||||
std::string initial_sla_material_profile_name = remove_ini_suffix(config.get("presets", PRESET_SLA_MATERIALS_NAME));
|
||||
std::string initial_printer_profile_name = remove_ini_suffix(config.get("presets", PRESET_PRINTER_NAME));
|
||||
std::string initial_config_profile_name = remove_ini_suffix(config.get("presets", PRESET_CONFIG_NAME));
|
||||
|
||||
// Activate print / filament / printer profiles from either the config,
|
||||
// or from the preferred_model_id suggestion passed in by ConfigWizard.
|
||||
|
@ -1641,6 +1692,7 @@ void PresetBundle::load_selections(AppConfig &config, const PresetPreferences& p
|
|||
filaments.select_preset_by_name_strict(initial_filament_profile_name);
|
||||
sla_prints.select_preset_by_name_strict(initial_sla_print_profile_name);
|
||||
sla_materials.select_preset_by_name_strict(initial_sla_material_profile_name);
|
||||
configs.select_preset_by_name_strict(initial_config_profile_name);
|
||||
|
||||
// Load the names of the other filament profiles selected for a multi-material printer.
|
||||
// Load it even if the current printer technology is SLA.
|
||||
|
@ -2404,6 +2456,7 @@ DynamicPrintConfig PresetBundle::full_fff_config(bool apply_extruder, std::optio
|
|||
// Add the default filament preset to have the "filament_preset_id" defined.
|
||||
out.apply(this->filaments.default_preset().config);
|
||||
out.apply(this->printers.get_edited_preset().config);
|
||||
out.apply(this->configs.get_edited_preset().config);
|
||||
out.apply(this->project_config);
|
||||
|
||||
// BBS
|
||||
|
|
|
@ -166,6 +166,7 @@ public:
|
|||
PresetCollection prints;
|
||||
PresetCollection sla_prints;
|
||||
PresetCollection filaments;
|
||||
PresetCollection configs;
|
||||
PresetCollection sla_materials;
|
||||
PresetCollection& materials(PrinterTechnology pt) { return pt == ptFFF ? this->filaments : this->sla_materials; }
|
||||
const PresetCollection& materials(PrinterTechnology pt) const { return pt == ptFFF ? this->filaments : this->sla_materials; }
|
||||
|
@ -199,11 +200,12 @@ public:
|
|||
std::vector<std::string> filaments;
|
||||
std::vector<std::string> sla_materials;
|
||||
std::vector<std::string> printers;
|
||||
std::vector<std::string> configs;
|
||||
};
|
||||
ObsoletePresets obsolete_presets;
|
||||
|
||||
bool has_defauls_only() const
|
||||
{ return prints.has_defaults_only() && filaments.has_defaults_only() && printers.has_defaults_only(); }
|
||||
{ return prints.has_defaults_only() && filaments.has_defaults_only() && printers.has_defaults_only() && configs.has_defaults_only();}
|
||||
|
||||
DynamicPrintConfig full_config(bool apply_extruder = true, std::optional<std::vector<int>>filament_maps = std::nullopt) const;
|
||||
// full_config() with the some "useless" config removed.
|
||||
|
@ -287,6 +289,7 @@ public:
|
|||
// based on the user configuration.
|
||||
// If the "vendor" section is missing, enable all models and variants of the particular vendor.
|
||||
void load_installed_printers(const AppConfig &config);
|
||||
void load_installed_configs(const AppConfig& config);
|
||||
|
||||
const std::string& get_preset_name_by_alias(const Preset::Type& preset_type, const std::string& alias) const;
|
||||
|
||||
|
|
|
@ -157,7 +157,9 @@ static t_config_enum_values s_keys_map_InfillPattern {
|
|||
{ "lightning", ipLightning },
|
||||
{ "crosshatch", ipCrossHatch},
|
||||
{ "zigzag", ipZigZag },
|
||||
{ "crosszag", ipCrossZag }
|
||||
{ "crosszag", ipCrossZag },
|
||||
//xiamian+
|
||||
{ "fiberspiral", ipFiberSpiral }
|
||||
};
|
||||
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(InfillPattern)
|
||||
|
||||
|
@ -1155,7 +1157,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def->enum_labels.emplace_back(L("No-brim"));
|
||||
|
||||
def->mode = comSimple;
|
||||
def->set_default_value(new ConfigOptionEnum<BrimType>(btAutoBrim));
|
||||
def->set_default_value(new ConfigOptionEnum<BrimType>(btOuterOnly));
|
||||
|
||||
def = this->add("brim_object_gap", coFloat);
|
||||
def->label = L("Brim-object gap");
|
||||
|
@ -1425,6 +1427,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def->enum_values.push_back("hilbertcurve");
|
||||
def->enum_values.push_back("archimedeanchords");
|
||||
def->enum_values.push_back("octagramspiral");
|
||||
def->enum_values.push_back("fiberspiral");
|
||||
def->enum_labels.push_back(L("Concentric"));
|
||||
def->enum_labels.push_back(L("Rectilinear"));
|
||||
def->enum_labels.push_back(L("Monotonic"));
|
||||
|
@ -1433,6 +1436,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def->enum_labels.push_back(L("Hilbert Curve"));
|
||||
def->enum_labels.push_back(L("Archimedean Chords"));
|
||||
def->enum_labels.push_back(L("Octagram Spiral"));
|
||||
def->enum_labels.push_back(L("Fiber Spiral"));
|
||||
def->set_default_value(new ConfigOptionEnum<InfillPattern>(ipRectilinear));
|
||||
|
||||
def = this->add("bottom_surface_pattern", coEnum);
|
||||
|
@ -2060,6 +2064,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def->enum_values.push_back("crosshatch");
|
||||
def->enum_values.push_back("zigzag");
|
||||
def->enum_values.push_back("crosszag");
|
||||
def->enum_values.push_back("fiberspiral");
|
||||
def->enum_labels.push_back(L("Concentric"));
|
||||
def->enum_labels.push_back(L("Rectilinear"));
|
||||
def->enum_labels.push_back(L("Grid"));
|
||||
|
@ -2080,6 +2085,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def->enum_labels.push_back(L("Cross Hatch"));
|
||||
def->enum_labels.push_back(L("Zig Zag"));
|
||||
def->enum_labels.push_back(L("Cross Zag"));
|
||||
def->enum_labels.push_back(L("Fiber Spiral"));
|
||||
def->set_default_value(new ConfigOptionEnum<InfillPattern>(ipCubic));
|
||||
|
||||
def = this->add("top_surface_acceleration", coFloats);
|
||||
|
@ -2224,6 +2230,14 @@ void PrintConfigDef::init_fff_params()
|
|||
// "Note that this option only takes effect if no prime tower is generated in current plate.");
|
||||
//def->set_default_value(new ConfigOptionBool(0));
|
||||
|
||||
def = this->add("default_print_speed", coFloat);
|
||||
def->label = L("Default print speed");
|
||||
//def->tooltip = L("Speed of initial layer except the solid infill part");
|
||||
def->sidetext = L("mm/s");
|
||||
def->min = 0;
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionFloat(30));
|
||||
|
||||
def = this->add("initial_layer_speed", coFloats);
|
||||
def->label = L("Initial layer");
|
||||
def->tooltip = L("Speed of initial layer except the solid infill part");
|
||||
|
@ -3613,7 +3627,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def->min = 0;
|
||||
def->max = 10;
|
||||
def->mode = comSimple;
|
||||
def->set_default_value(new ConfigOptionInt(1));
|
||||
def->set_default_value(new ConfigOptionInt(2));
|
||||
|
||||
def = this->add("slow_down_layer_time", coInts);
|
||||
def->label = L("Layer time");
|
||||
|
@ -5488,6 +5502,7 @@ void PrintConfigDef::handle_legacy(t_config_option_key &opt_key, std::string &va
|
|||
} else if (opt_key == "support_material_enforce_layers") {
|
||||
opt_key = "enforce_support_layers";
|
||||
} else if ((opt_key == "initial_layer_print_height" ||
|
||||
opt_key == "default_print_speed" ||
|
||||
opt_key == "initial_layer_speed" ||
|
||||
opt_key == "internal_solid_infill_speed" ||
|
||||
opt_key == "top_surface_speed" ||
|
||||
|
|
|
@ -56,6 +56,8 @@ enum InfillPattern : int {
|
|||
ipHilbertCurve, ipArchimedeanChords, ipOctagramSpiral, ipSupportCubic, ipSupportBase, ipConcentricInternal,
|
||||
ipLightning, ipCrossHatch, ipZigZag, ipCrossZag,ipFloatingConcentric,
|
||||
ipCount,
|
||||
//xiamian+
|
||||
ipFiberSpiral
|
||||
};
|
||||
|
||||
enum EnsureVerticalThicknessLevel{
|
||||
|
@ -1180,6 +1182,7 @@ PRINT_CONFIG_CLASS_DERIVED_DEFINE(
|
|||
((ConfigOptionFloat, initial_layer_line_width))
|
||||
((ConfigOptionFloat, initial_layer_print_height))
|
||||
((ConfigOptionFloatsNullable, initial_layer_speed))
|
||||
((ConfigOptionFloat, default_print_speed))
|
||||
//BBS
|
||||
((ConfigOptionFloatsNullable, initial_layer_infill_speed))
|
||||
((ConfigOptionIntsNullable, nozzle_temperature_initial_layer))
|
||||
|
|
|
@ -47,9 +47,11 @@ void AMSMaterialsSetting::create()
|
|||
|
||||
m_button_confirm = new Button(this, _L("Confirm"));
|
||||
m_btn_bg_green = StateColor(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
//std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
m_button_confirm->SetBackgroundColor(m_btn_bg_green);
|
||||
m_button_confirm->SetBorderColor(wxColour(0, 174, 66));
|
||||
//m_button_confirm->SetBorderColor(wxColour(0x9A5F21));
|
||||
m_button_confirm->SetBorderColor(wxColour(0x9A5F21));
|
||||
m_button_confirm->SetTextColor(wxColour("#FFFFFE"));
|
||||
m_button_confirm->SetMinSize(AMS_MATERIALS_SETTING_BUTTON_SIZE);
|
||||
m_button_confirm->SetCornerRadius(FromDIP(12));
|
||||
|
@ -151,7 +153,8 @@ void AMSMaterialsSetting::create_panel_normal(wxWindow* parent)
|
|||
|
||||
// make the style the same with disable m_input_k_val, FIXME
|
||||
m_readonly_filament = new TextInput(parent, wxEmptyString, "", "", wxDefaultPosition, AMS_MATERIALS_SETTING_COMBOX_WIDTH, wxTE_CENTRE | wxTE_PROCESS_ENTER);
|
||||
m_readonly_filament->SetBorderColor(StateColor(std::make_pair(0xDBDBDB, (int)StateColor::Focused), std::make_pair(0x00AE42, (int)StateColor::Hovered),
|
||||
//m_readonly_filament->SetBorderColor(StateColor(std::make_pair(0xDBDBDB, (int)StateColor::Focused), std::make_pair(0x00AE42, (int)StateColor::Hovered),
|
||||
m_readonly_filament->SetBorderColor(StateColor(std::make_pair(0xDBDBDB, (int)StateColor::Focused), std::make_pair(0x215F9A, (int)StateColor::Hovered),
|
||||
std::make_pair(0xDBDBDB, (int)StateColor::Normal)));
|
||||
m_readonly_filament->SetFont(::Label::Body_14);
|
||||
m_readonly_filament->SetLabelColor(AMS_MATERIALS_SETTING_GREY800);
|
||||
|
@ -1182,7 +1185,8 @@ void AMSMaterialsSetting::on_select_filament(wxCommandEvent &evt)
|
|||
}
|
||||
else {
|
||||
m_button_confirm->SetBackgroundColor(m_btn_bg_green);
|
||||
m_button_confirm->SetBorderColor(wxColour(0, 174, 66));
|
||||
//m_button_confirm->SetBorderColor(wxColour(0x9A5F21));
|
||||
m_button_confirm->SetBorderColor(wxColour(0x9A5F21));
|
||||
m_button_confirm->SetTextColor(wxColour("#FFFFFE"));
|
||||
m_button_confirm->Enable(true);
|
||||
}
|
||||
|
|
|
@ -2194,7 +2194,8 @@ void AmsReplaceMaterialDialog::create()
|
|||
std::pair<wxColour, int>(wxColour(38, 46, 48), StateColor::Enabled));
|
||||
|
||||
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
//StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
m_button_sizer->Add( 0, 0, 1, wxEXPAND, 0 );
|
||||
|
||||
m_main_sizer->Add(0,0,0, wxTOP, FromDIP(12));
|
||||
|
|
|
@ -51,7 +51,8 @@
|
|||
#define AUFILE_GREY500 wxColour(158, 158, 158)
|
||||
#define AUFILE_GREY300 wxColour(238, 238, 238)
|
||||
#define AUFILE_GREY200 wxColour(248, 248, 248)
|
||||
#define AUFILE_BRAND wxColour(0, 174, 66)
|
||||
//#define AUFILE_BRAND wxColour(0x9A5F21)
|
||||
#define AUFILE_BRAND wxColour(0x9A5F21)
|
||||
#define AUFILE_BRAND_TRANSPARENT wxColour(215, 232, 222)
|
||||
//#define AUFILE_PICTURES_SIZE wxSize(FromDIP(300), FromDIP(300))
|
||||
//#define AUFILE_PICTURES_PANEL_SIZE wxSize(FromDIP(300), FromDIP(340))
|
||||
|
|
|
@ -71,7 +71,7 @@ BBLStatusBarPrint::BBLStatusBarPrint(wxWindow *parent, int id)
|
|||
|
||||
m_sizer_status_text = new wxBoxSizer(wxHORIZONTAL);
|
||||
m_link_show_error = new Label(top_panel, _L("Check the reason"));
|
||||
m_link_show_error->SetForegroundColour(wxColour(0x00ae42));
|
||||
m_link_show_error->SetForegroundColour(wxColour(0x9A5F21));
|
||||
m_link_show_error->SetFont(::Label::Head_13);
|
||||
m_link_show_error->Bind(wxEVT_ENTER_WINDOW, [this](auto &e) { this->m_self->SetCursor(wxCURSOR_HAND); });
|
||||
m_link_show_error->Bind(wxEVT_LEAVE_WINDOW, [this](auto &e) { this->m_self->SetCursor(wxCURSOR_ARROW); });
|
||||
|
|
|
@ -139,7 +139,8 @@ PingCodeBindDialog::PingCodeBindDialog(Plater* plater /*= nullptr*/)
|
|||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(206, 206, 206), StateColor::Disabled),
|
||||
std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
//std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
m_button_bind->SetBackgroundColor(btn_bg_green);
|
||||
m_button_bind->SetBorderColor(*wxWHITE);
|
||||
m_button_bind->SetTextColor(wxColour("#FFFFFE"));
|
||||
|
@ -480,7 +481,8 @@ PingCodeBindDialog::~PingCodeBindDialog() {
|
|||
m_link_Terms_title->SetFont(Label::Head_13);
|
||||
m_link_Terms_title->SetMaxSize(wxSize(FromDIP(450), -1));
|
||||
m_link_Terms_title->Wrap(FromDIP(450));
|
||||
m_link_Terms_title->SetForegroundColour(wxColour(0x00AE42));
|
||||
//m_link_Terms_title->SetForegroundColour(wxColour(0x9A5F21));
|
||||
m_link_Terms_title->SetForegroundColour(wxColour(0x9A5F21));
|
||||
m_link_Terms_title->Bind(wxEVT_LEFT_DOWN, [this](auto& e) {
|
||||
wxString txt = _L("Thank you for purchasing a Bambu Lab device.Before using your Bambu Lab device, please read the termsand conditions.By clicking to agree to use your Bambu Lab device, you agree to abide by the Privacy Policy and Terms of Use(collectively, the \"Terms\"). If you do not comply with or agree to the Bambu Lab Privacy Policy, please do not use Bambu Lab equipment and services.");
|
||||
ConfirmBeforeSendDialog confirm_dlg(this, wxID_ANY, _L("Terms and Conditions"), ConfirmBeforeSendDialog::ButtonStyle::ONLY_CONFIRM);
|
||||
|
@ -499,7 +501,8 @@ PingCodeBindDialog::~PingCodeBindDialog() {
|
|||
m_link_privacy_title->SetFont(Label::Head_13);
|
||||
m_link_privacy_title->SetMaxSize(wxSize(FromDIP(450), -1));
|
||||
m_link_privacy_title->Wrap(FromDIP(450));
|
||||
m_link_privacy_title->SetForegroundColour(wxColour(0x00AE42));
|
||||
//m_link_privacy_title->SetForegroundColour(wxColour(0x9A5F21));
|
||||
m_link_privacy_title->SetForegroundColour(wxColour(0x9A5F21));
|
||||
m_link_privacy_title->Bind(wxEVT_LEFT_DOWN, [this](auto& e) {
|
||||
std::string url;
|
||||
std::string country_code = Slic3r::GUI::wxGetApp().app_config->get_country_code();
|
||||
|
@ -539,7 +542,8 @@ PingCodeBindDialog::~PingCodeBindDialog() {
|
|||
m_link_notice_title->SetFont(Label::Head_13);
|
||||
m_link_notice_title->SetMaxSize(wxSize(FromDIP(450), -1));
|
||||
m_link_notice_title->Wrap(FromDIP(450));
|
||||
m_link_notice_title->SetForegroundColour(wxColour(0x00AE42));
|
||||
//m_link_notice_title->SetForegroundColour(wxColour(0x9A5F21));
|
||||
m_link_notice_title->SetForegroundColour(wxColour(0x9A5F21));
|
||||
m_link_notice_title->Bind(wxEVT_ENTER_WINDOW, [this](auto& e) {SetCursor(wxCURSOR_HAND); });
|
||||
m_link_notice_title->Bind(wxEVT_LEAVE_WINDOW, [this](auto& e) {SetCursor(wxCURSOR_ARROW); });
|
||||
m_link_notice_title->Bind(wxEVT_LEFT_DOWN, [this](auto& e) {
|
||||
|
@ -678,7 +682,8 @@ PingCodeBindDialog::~PingCodeBindDialog() {
|
|||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(206, 206, 206), StateColor::Disabled),
|
||||
std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
//std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
m_button_bind->SetBackgroundColor(btn_bg_green);
|
||||
m_button_bind->SetBorderColor(*wxWHITE);
|
||||
m_button_bind->SetTextColor(wxColour("#FFFFFE"));
|
||||
|
@ -1032,9 +1037,11 @@ UnBindMachineDialog::UnBindMachineDialog(Plater *plater /*= nullptr*/)
|
|||
m_sizer_button->Add(0, 0, 1, wxEXPAND, 5);
|
||||
m_button_unbind = new Button(this, _L("Confirm"));
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
//std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
m_button_unbind->SetBackgroundColor(btn_bg_green);
|
||||
m_button_unbind->SetBorderColor(wxColour(0, 174, 66));
|
||||
//m_button_unbind->SetBorderColor(wxColour(0x9A5F21));
|
||||
m_button_unbind->SetBorderColor(wxColour(0x9A5F21));
|
||||
m_button_unbind->SetTextColor(wxColour("#FFFFFE"));
|
||||
m_button_unbind->SetSize(BIND_DIALOG_BUTTON_SIZE);
|
||||
m_button_unbind->SetMinSize(BIND_DIALOG_BUTTON_SIZE);
|
||||
|
|
|
@ -85,7 +85,8 @@ BonjourDialog::BonjourDialog(wxWindow *parent, Slic3r::PrinterTechnology tech)
|
|||
auto button_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
//std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
StateColor btn_bg_white(std::pair<wxColour, int>(wxColour(206, 206, 206), StateColor::Pressed), std::pair<wxColour, int>(wxColour(238, 238, 238), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(*wxWHITE, StateColor::Normal));
|
||||
|
|
|
@ -94,10 +94,12 @@ HistoryWindow::HistoryWindow(wxWindow* parent, const std::vector<PACalibResult>&
|
|||
|
||||
Button * mew_btn = new Button(scroll_window, _L("New"));
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
//std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
mew_btn->SetBackgroundColour(*wxWHITE);
|
||||
mew_btn->SetBackgroundColor(btn_bg_green);
|
||||
mew_btn->SetBorderColor(wxColour(0, 174, 66));
|
||||
//mew_btn->SetBorderColor(wxColour(0x9A5F21));
|
||||
mew_btn->SetBorderColor(wxColour(0x9A5F21));
|
||||
mew_btn->SetTextColor(wxColour("#FFFFFE"));
|
||||
mew_btn->SetMinSize(wxSize(FromDIP(100), FromDIP(24)));
|
||||
mew_btn->SetMaxSize(wxSize(FromDIP(100), FromDIP(24)));
|
||||
|
@ -108,7 +110,7 @@ HistoryWindow::HistoryWindow(wxWindow* parent, const std::vector<PACalibResult>&
|
|||
scroll_sizer->AddSpacer(FromDIP(15));
|
||||
|
||||
m_extruder_switch_btn = new SwitchButton(scroll_window);
|
||||
m_extruder_switch_btn->SetBackgroundColour(wxColour(0, 174, 66));
|
||||
m_extruder_switch_btn->SetBackgroundColour(wxColour(0x9A5F21));
|
||||
m_extruder_switch_btn->SetMinSize(wxSize(FromDIP(120), FromDIP(24)));
|
||||
m_extruder_switch_btn->SetMaxSize(wxSize(FromDIP(120), FromDIP(24)));
|
||||
m_extruder_switch_btn->SetLabels(_L("Left Nozzle"), _L("Right Nozzle"));
|
||||
|
@ -395,10 +397,12 @@ void HistoryWindow::sync_history_data() {
|
|||
auto edit_button = new Button(m_history_data_panel, _L("Edit"));
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
//std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
edit_button->SetBackgroundColour(*wxWHITE);
|
||||
edit_button->SetBackgroundColor(btn_bg_green);
|
||||
edit_button->SetBorderColor(wxColour(0, 174, 66));
|
||||
//edit_button->SetBorderColor(wxColour(0x9A5F21));
|
||||
edit_button->SetBorderColor(wxColour(0x9A5F21));
|
||||
edit_button->SetTextColor(wxColour("#FFFFFE"));
|
||||
edit_button->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||
edit_button->SetCornerRadius(FromDIP(12));
|
||||
|
@ -564,10 +568,12 @@ EditCalibrationHistoryDialog::EditCalibrationHistoryDialog(wxWindow
|
|||
Button* save_btn = new Button(top_panel, _L("Save"));
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
//std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
save_btn->SetBackgroundColour(*wxWHITE);
|
||||
save_btn->SetBackgroundColor(btn_bg_green);
|
||||
save_btn->SetBorderColor(wxColour(0, 174, 66));
|
||||
//save_btn->SetBorderColor(wxColour(0x9A5F21));
|
||||
save_btn->SetBorderColor(wxColour(0x9A5F21));
|
||||
save_btn->SetTextColor(wxColour("#FFFFFE"));
|
||||
save_btn->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||
save_btn->SetCornerRadius(FromDIP(12));
|
||||
|
@ -824,10 +830,12 @@ NewCalibrationHistoryDialog::NewCalibrationHistoryDialog(wxWindow *parent, const
|
|||
auto btn_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
Button * ok_btn = new Button(top_panel, _L("Ok"));
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
//std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
ok_btn->SetBackgroundColour(*wxWHITE);
|
||||
ok_btn->SetBackgroundColor(btn_bg_green);
|
||||
ok_btn->SetBorderColor(wxColour(0, 174, 66));
|
||||
//ok_btn->SetBorderColor(wxColour(0x9A5F21));
|
||||
ok_btn->SetBorderColor(wxColour(0x9A5F21));
|
||||
ok_btn->SetTextColor(wxColour("#FFFFFE"));
|
||||
ok_btn->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||
ok_btn->SetCornerRadius(FromDIP(12));
|
||||
|
|
|
@ -149,7 +149,8 @@ CaliPageButton::CaliPageButton(wxWindow* parent, CaliPageActionType type, wxStri
|
|||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(206, 206, 206), StateColor::Disabled),
|
||||
std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
//std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
StateColor btn_bg_white(std::pair<wxColour, int>(wxColour(206, 206, 206), StateColor::Disabled),
|
||||
std::pair<wxColour, int>(wxColour(206, 206, 206), StateColor::Pressed),
|
||||
|
@ -157,7 +158,8 @@ CaliPageButton::CaliPageButton(wxWindow* parent, CaliPageActionType type, wxStri
|
|||
std::pair<wxColour, int>(wxColour(255, 255, 255), StateColor::Normal));
|
||||
|
||||
StateColor btn_bd_green(std::pair<wxColour, int>(wxColour(255, 255, 254), StateColor::Disabled),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Enabled));
|
||||
//std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Enabled));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Enabled));
|
||||
|
||||
StateColor btn_bd_white(std::pair<wxColour, int>(wxColour(255, 255, 254), StateColor::Disabled),
|
||||
std::pair<wxColour, int>(wxColour(38, 46, 48), StateColor::Enabled));
|
||||
|
|
|
@ -565,7 +565,7 @@ void CalibrationPresetPage::create_selection_panel(wxWindow* parent)
|
|||
m_btn_sync->SetCornerRadius(8);
|
||||
StateColor btn_sync_bg_col(std::pair<wxColour, int>(wxColour(0xCECECE), StateColor::Pressed), std::pair<wxColour, int>(wxColour(0xF8F8F8), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0xF8F8F8), StateColor::Normal));
|
||||
StateColor btn_sync_bd_col(std::pair<wxColour, int>(wxColour(0x00AE42), StateColor::Pressed), std::pair<wxColour, int>(wxColour(0x00AE42), StateColor::Hovered),
|
||||
StateColor btn_sync_bd_col(std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Pressed), std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0xEEEEEE), StateColor::Normal));
|
||||
m_btn_sync->SetBackgroundColor(btn_sync_bg_col);
|
||||
m_btn_sync->SetBorderColor(btn_sync_bd_col);
|
||||
|
|
|
@ -33,6 +33,7 @@ public:
|
|||
SP_FILAMENTS,
|
||||
SP_MATERIALS,
|
||||
SP_CUSTOM,
|
||||
SP_CONFIGS
|
||||
};
|
||||
|
||||
ConfigWizard(wxWindow *parent);
|
||||
|
|
|
@ -55,10 +55,12 @@ ConnectPrinterDialog::ConnectPrinterDialog(wxWindow *parent, wxWindowID id, cons
|
|||
StateColor btn_bg(
|
||||
std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal)
|
||||
//std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal)
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal)
|
||||
);
|
||||
|
||||
StateColor btn_bd(std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
//StateColor btn_bd(std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
StateColor btn_bd(std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
StateColor btn_text(std::pair<wxColour, int>(wxColour(255, 255, 255), StateColor::Normal));
|
||||
|
||||
|
|
|
@ -30,7 +30,8 @@
|
|||
#define STATIC_TEXT_COLOUR wxColour("#363636")
|
||||
#define PRINTER_LIST_COLOUR wxColour("#EEEEEE")
|
||||
#define FILAMENT_OPTION_COLOUR wxColour("#D9D9D9")
|
||||
#define SELECT_ALL_OPTION_COLOUR wxColour("#00AE42")
|
||||
//#define SELECT_ALL_OPTION_COLOUR wxColour("#00AE42")
|
||||
#define SELECT_ALL_OPTION_COLOUR wxColour("#009FF3")
|
||||
#define DEFAULT_PROMPT_TEXT_COLOUR wxColour("#ACACAC")
|
||||
|
||||
namespace Slic3r {
|
||||
|
@ -923,7 +924,8 @@ wxBoxSizer *CreateFilamentPresetDialog::create_button_item()
|
|||
bSizer_button->Add(0, 0, 1, wxEXPAND, 0);
|
||||
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
|
||||
m_button_create = new Button(this, _L("Create"));
|
||||
m_button_create->SetBackgroundColor(btn_bg_green);
|
||||
|
@ -1911,7 +1913,8 @@ wxBoxSizer *CreatePrinterPresetDialog::create_hot_bed_stl_item(wxWindow *parent)
|
|||
StateColor flush_bg_col(std::pair<wxColour, int>(wxColour(219, 253, 231), StateColor::Pressed), std::pair<wxColour, int>(wxColour(238, 238, 238), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(238, 238, 238), StateColor::Normal));
|
||||
|
||||
StateColor flush_bd_col(std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Pressed), std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Hovered),
|
||||
//StateColor flush_bd_col(std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Pressed), std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Hovered),
|
||||
StateColor flush_bd_col(std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Pressed), std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(172, 172, 172), StateColor::Normal));
|
||||
|
||||
m_button_bed_stl = new Button(parent, _L("Load stl"));
|
||||
|
@ -1948,7 +1951,8 @@ wxBoxSizer *CreatePrinterPresetDialog::create_hot_bed_svg_item(wxWindow *parent)
|
|||
StateColor flush_bg_col(std::pair<wxColour, int>(wxColour(219, 253, 231), StateColor::Pressed), std::pair<wxColour, int>(wxColour(238, 238, 238), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(238, 238, 238), StateColor::Normal));
|
||||
|
||||
StateColor flush_bd_col(std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Pressed), std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Hovered),
|
||||
//StateColor flush_bd_col(std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Pressed), std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Hovered),
|
||||
StateColor flush_bd_col(std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Pressed), std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(172, 172, 172), StateColor::Normal));
|
||||
|
||||
m_button_bed_svg = new Button(parent, _L("Load svg"));
|
||||
|
@ -1996,7 +2000,7 @@ wxBoxSizer *CreatePrinterPresetDialog::create_page1_btns_item(wxWindow *parent)
|
|||
bSizer_button->Add(0, 0, 1, wxEXPAND, 0);
|
||||
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
m_button_OK = new Button(parent, _L("OK"));
|
||||
m_button_OK->SetBackgroundColor(btn_bg_green);
|
||||
|
@ -2667,7 +2671,7 @@ wxBoxSizer *CreatePrinterPresetDialog::create_page2_btns_item(wxWindow *parent)
|
|||
bSizer_button->Add(0, 0, 1, wxEXPAND, 0);
|
||||
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
StateColor btn_bg_white(std::pair<wxColour, int>(wxColour(206, 206, 206), StateColor::Pressed), std::pair<wxColour, int>(wxColour(238, 238, 238), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(*wxWHITE, StateColor::Normal));
|
||||
|
@ -3440,7 +3444,7 @@ CreatePresetSuccessfulDialog::CreatePresetSuccessfulDialog(wxWindow *parent, con
|
|||
break;
|
||||
}
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
StateColor btn_bg_white(std::pair<wxColour, int>(wxColour(206, 206, 206), StateColor::Pressed), std::pair<wxColour, int>(wxColour(238, 238, 238), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(*wxWHITE, StateColor::Normal));
|
||||
|
@ -4309,7 +4313,7 @@ wxBoxSizer *ExportConfigsDialog::create_button_item(wxWindow* parent)
|
|||
bSizer_button->Add(0, 0, 1, wxEXPAND, 0);
|
||||
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
m_button_ok = new Button(this, _L("OK"));
|
||||
m_button_ok->SetBackgroundColor(btn_bg_green);
|
||||
|
@ -4818,7 +4822,8 @@ wxBoxSizer *EditFilamentPresetDialog::create_add_filament_btn()
|
|||
StateColor flush_fg_col(std::pair<wxColour, int>(wxColour(107, 107, 106), StateColor::Pressed), std::pair<wxColour, int>(wxColour(107, 107, 106), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(107, 107, 106), StateColor::Normal));
|
||||
|
||||
StateColor flush_bd_col(std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Pressed), std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Hovered),
|
||||
//StateColor flush_bd_col(std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Pressed), std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Hovered),
|
||||
StateColor flush_bd_col(std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Pressed), std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(172, 172, 172), StateColor::Normal));
|
||||
|
||||
m_add_filament_btn->SetBackgroundColor(flush_bg_col);
|
||||
|
@ -4878,7 +4883,7 @@ wxBoxSizer *EditFilamentPresetDialog::create_button_sizer()
|
|||
bSizer_button->Add(0, 0, 1, wxEXPAND, 0);
|
||||
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
m_ok_btn = new Button(this, _L("OK"));
|
||||
m_ok_btn->SetBackgroundColor(btn_bg_green);
|
||||
|
@ -5078,7 +5083,7 @@ wxBoxSizer *CreatePresetForPrinterDialog::create_button_sizer()
|
|||
bSizer_button->Add(0, 0, 1, wxEXPAND, 0);
|
||||
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
m_ok_btn = new Button(this, _L("OK"));
|
||||
m_ok_btn->SetBackgroundColor(btn_bg_green);
|
||||
|
@ -5224,11 +5229,11 @@ wxPanel *PresetTree::get_child_item(wxPanel *parent, std::shared_ptr<Preset> pre
|
|||
StateColor flush_fg_col(std::pair<wxColour, int>(wxColour(107, 107, 106), StateColor::Pressed), std::pair<wxColour, int>(wxColour(107, 107, 106), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(107, 107, 106), StateColor::Normal));
|
||||
|
||||
StateColor flush_bd_col(std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Pressed), std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Hovered),
|
||||
StateColor flush_bd_col(std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Pressed), std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(172, 172, 172), StateColor::Normal));
|
||||
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
Button *edit_preset_btn = new Button(panel, _L("Edit Preset"));
|
||||
edit_preset_btn->SetFont(Label::Body_10);
|
||||
|
|
|
@ -485,7 +485,8 @@ void DailyTipsPanel::render_controller_buttons(const ImVec2& pos, const ImVec2&
|
|||
button_text = ImGui::PrevArrowBtnIcon;
|
||||
if (ImGui::IsMouseHoveringRect(prev_button_pos, prev_button_pos + button_size, true))
|
||||
{
|
||||
button_text_color = ImColor(0, 174, 66, (int)(255 * m_fade_opacity));
|
||||
//button_text_color = ImColor(33, 95, 154, (int)(255 * m_fade_opacity));
|
||||
button_text_color = ImColor(33, 95, 154, (int)(255 * m_fade_opacity));
|
||||
if (ImGui::IsMouseClicked(ImGuiMouseButton_Left))
|
||||
retrieve_data_from_hint_database(HintDataNavigation::Prev);
|
||||
}
|
||||
|
@ -500,7 +501,8 @@ void DailyTipsPanel::render_controller_buttons(const ImVec2& pos, const ImVec2&
|
|||
button_text = ImGui::NextArrowBtnIcon;
|
||||
if (ImGui::IsMouseHoveringRect(next_button_pos, next_button_pos + button_size, true))
|
||||
{
|
||||
button_text_color = ImColor(0, 174, 66, (int)(255 * m_fade_opacity));
|
||||
//button_text_color = ImColor(33, 95, 154, (int)(255 * m_fade_opacity));
|
||||
button_text_color = ImColor(33, 95, 154, (int)(255 * m_fade_opacity));
|
||||
if (ImGui::IsMouseClicked(ImGuiMouseButton_Left))
|
||||
retrieve_data_from_hint_database(HintDataNavigation::Next);
|
||||
}
|
||||
|
|
|
@ -172,10 +172,10 @@ void ExtrusionCalibration::create()
|
|||
|
||||
m_button_cali = new Button(m_step_1_panel, _L("Start calibration"));
|
||||
m_btn_bg_green = StateColor(std::pair<wxColour, int>(wxColour(238, 238, 238), StateColor::Disabled), std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
m_button_cali->SetBackgroundColor(m_btn_bg_green);
|
||||
m_button_cali->SetFont(Label::Body_13);
|
||||
m_button_cali->SetBorderColor({ std::pair<wxColour, int>(wxColour(238, 238, 238), StateColor::Disabled), std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Enabled) });
|
||||
m_button_cali->SetBorderColor({ std::pair<wxColour, int>(wxColour(238, 238, 238), StateColor::Disabled), std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Enabled) });
|
||||
m_button_cali->SetTextColor({ std::pair<wxColour, int>(wxColour(172, 172, 172), StateColor::Disabled), std::pair<wxColour, int>(EXTRUSION_CALIBRATION_GREY200, StateColor::Enabled) });
|
||||
m_button_cali->SetCornerRadius(FromDIP(12));
|
||||
m_button_cali->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||
|
@ -183,9 +183,9 @@ void ExtrusionCalibration::create()
|
|||
|
||||
m_cali_cancel = new Button(m_step_1_panel, _L("Cancel"));
|
||||
m_btn_bg_green = StateColor(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
m_cali_cancel->SetBackgroundColor(m_btn_bg_green);
|
||||
m_cali_cancel->SetBorderColor(wxColour(0, 174, 66));
|
||||
m_cali_cancel->SetBorderColor(wxColour(0x9A5F21));
|
||||
m_cali_cancel->SetTextColor(EXTRUSION_CALIBRATION_GREY200);
|
||||
m_cali_cancel->SetMinSize(EXTRUSION_CALIBRATION_BUTTON_SIZE);
|
||||
m_cali_cancel->SetCornerRadius(FromDIP(12));
|
||||
|
@ -258,10 +258,10 @@ void ExtrusionCalibration::create()
|
|||
// save button
|
||||
m_button_save_result = new Button(m_step_2_panel, _L("Save"));
|
||||
m_btn_bg_green = StateColor(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
m_button_save_result->SetBackgroundColor(m_btn_bg_green);
|
||||
m_button_save_result->SetFont(Label::Body_13);
|
||||
m_button_save_result->SetBorderColor(wxColour(0, 174, 66));
|
||||
m_button_save_result->SetBorderColor(wxColour(0x9A5F21));
|
||||
m_button_save_result->SetTextColor(EXTRUSION_CALIBRATION_GREY200);
|
||||
m_button_save_result->SetMinSize(EXTRUSION_CALIBRATION_BUTTON_SIZE);
|
||||
m_button_save_result->SetCornerRadius(FromDIP(12));
|
||||
|
|
|
@ -112,9 +112,9 @@ bool try_pop_up_before_slice(bool is_slice_all, Plater* plater_ref, PartPlate* p
|
|||
|
||||
static const StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
static const StateColor btn_bd_green(std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
static const StateColor btn_bd_green(std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
static const StateColor btn_text_green(std::pair<wxColour, int>(wxColour(255, 255, 254), StateColor::Normal));
|
||||
|
||||
|
|
|
@ -594,8 +594,10 @@ void GCodeViewer::SequentialView::GCodeWindow::render(float top, float bottom, f
|
|||
return ret;
|
||||
};
|
||||
|
||||
static const ImVec4 LINE_NUMBER_COLOR = { 0, 174.0f / 255.0f, 66.0f / 255.0f, 1.0f };
|
||||
static const ImVec4 SELECTION_RECT_COLOR = { 0, 174.0f / 255.0f, 66.0f / 255.0f, 1.0f };
|
||||
//static const ImVec4 LINE_NUMBER_COLOR = { 0, 174.0f / 255.0f, 66.0f / 255.0f, 1.0f };
|
||||
static const ImVec4 LINE_NUMBER_COLOR = { 33.0f / 255.0f, 95.0f / 255.0f, 154.0f / 255.0f, 1.0f };
|
||||
//static const ImVec4 SELECTION_RECT_COLOR = { 0, 174.0f / 255.0f, 66.0f / 255.0f, 1.0f };
|
||||
static const ImVec4 SELECTION_RECT_COLOR = { 33.0f / 255.0f, 95.0f / 255.0f, 154.0f / 255.0f, 1.0f };
|
||||
static const ImVec4 COMMAND_COLOR = m_is_dark ? ImVec4( 240.0f / 255.0f, 240.0f / 255.0f, 240.0f / 255.0f, 1.0f ) : ImVec4( 1.0f, 1.0f, 1.0f, 1.0f );
|
||||
static const ImVec4 PARAMETERS_COLOR = m_is_dark ? ImVec4( 179.0f / 255.0f, 179.0f / 255.0f, 179.0f / 255.0f, 1.0f ) : ImVec4( 206.0f / 255.0f, 206.0f / 255.0f, 206.0f / 255.0f, 1.0f );
|
||||
static const ImVec4 COMMENT_COLOR = m_is_dark ? ImVec4(129.0f / 255.0f, 129.0f / 255.0f, 129.0f / 255.0f, 1.0f) : ImVec4( 172.0f / 255.0f, 172.0f / 255.0f, 172.0f / 255.0f, 1.0f );
|
||||
|
@ -4675,7 +4677,7 @@ void GCodeViewer::render_legend_color_arr_recommen(float window_padding)
|
|||
auto link_text = [&](const std::string &label) {
|
||||
ImVec2 wiki_part_size = ImGui::CalcTextSize(label.c_str());
|
||||
|
||||
ImColor HyperColor = ImColor(0, 174, 66, 255).Value;
|
||||
ImColor HyperColor = ImColor(33, 95, 154, 255).Value;
|
||||
ImGui::PushStyleColor(ImGuiCol_Text, HyperColor.Value);
|
||||
imgui.text(label.c_str());
|
||||
ImGui::PopStyleColor();
|
||||
|
@ -4701,7 +4703,7 @@ void GCodeViewer::render_legend_color_arr_recommen(float window_padding)
|
|||
auto link_text_set_to_optional = [&](const std::string &label) {
|
||||
ImVec2 wiki_part_size = ImGui::CalcTextSize(label.c_str());
|
||||
|
||||
ImColor HyperColor = ImColor(0, 174, 66, 255).Value;
|
||||
ImColor HyperColor = ImColor(33, 95, 154, 255).Value;
|
||||
ImGui::PushStyleColor(ImGuiCol_Text, HyperColor.Value);
|
||||
imgui.text(label.c_str());
|
||||
ImGui::PopStyleColor();
|
||||
|
@ -4729,7 +4731,7 @@ void GCodeViewer::render_legend_color_arr_recommen(float window_padding)
|
|||
auto link_filament_group_wiki = [&](const std::string& label) {
|
||||
ImVec2 wiki_part_size = ImGui::CalcTextSize(label.c_str());
|
||||
|
||||
ImColor HyperColor = ImColor(0, 174, 66, 255).Value;
|
||||
ImColor HyperColor = ImColor(33, 95, 154, 255).Value;
|
||||
ImGui::PushStyleColor(ImGuiCol_Text, HyperColor.Value);
|
||||
imgui.text(label.c_str());
|
||||
ImGui::PopStyleColor();
|
||||
|
|
|
@ -277,6 +277,7 @@ void GLCanvas3D::LayersEditing::render_variable_layer_height_dialog(const GLCanv
|
|||
ImGuiWrapper& imgui = *wxGetApp().imgui();
|
||||
const Size& cnv_size = canvas.get_canvas_size();
|
||||
float zoom = (float)wxGetApp().plater()->get_camera().get_zoom();
|
||||
// todo
|
||||
float left_pos = canvas.m_main_toolbar.get_item("layersediting")->render_left_pos;
|
||||
float x = 0.5 * cnv_size.get_width() + left_pos * zoom;
|
||||
|
||||
|
|
|
@ -97,6 +97,7 @@ GLToolbarItem::GLToolbarItem(GLToolbarItem::EType type, const GLToolbarItem::Dat
|
|||
, m_highlight_state(NotHighlighted)
|
||||
{
|
||||
render_left_pos = 0.0f;
|
||||
render_top_pos = 0.0f;
|
||||
}
|
||||
|
||||
void GLToolbarItem::set_state(EState state)
|
||||
|
@ -1467,6 +1468,7 @@ void GLToolbar::render_horizontal(const GLCanvas3D& parent,GLToolbarItem::EType
|
|||
left += separator_stride;
|
||||
else
|
||||
{
|
||||
item->render_top_pos = top;
|
||||
//BBS GUI refactor
|
||||
item->render_left_pos = left;
|
||||
if (!item->is_action_with_text_image()) {
|
||||
|
@ -1522,6 +1524,8 @@ void GLToolbar::render_vertical(const GLCanvas3D& parent)
|
|||
if (item->is_separator())
|
||||
top -= separator_stride;
|
||||
else {
|
||||
item->render_left_pos = left;
|
||||
item->render_top_pos = top;
|
||||
unsigned int tex_id;
|
||||
int tex_width, tex_height;
|
||||
if (item->is_action_with_text_image()) {
|
||||
|
|
|
@ -184,6 +184,8 @@ public:
|
|||
// remember left position for rendering menu
|
||||
mutable float render_left_pos;
|
||||
|
||||
mutable float render_top_pos;
|
||||
|
||||
std::chrono::system_clock::time_point get_start_time_point() const { return start; }
|
||||
|
||||
GLToolbarItem(EType type, const Data& data);
|
||||
|
|
|
@ -374,6 +374,7 @@ void show_substitutions_info(const PresetsConfigSubstitutions& presets_config_su
|
|||
case Preset::TYPE_FILAMENT: return _L("Filament");
|
||||
// BBS: remove TYPE_SLA_MATERIAL
|
||||
case Preset::TYPE_PRINTER: return _L("Machine");
|
||||
case Preset::TYPE_CONFIG: return _L("Configuration");
|
||||
// BBS: remove TYPE_PHYSICAL_PRINTER
|
||||
default: assert(false); return wxString();
|
||||
}
|
||||
|
|
|
@ -345,12 +345,15 @@ public:
|
|||
wxRect title_rect(wxPoint(0, top_margin), wxPoint(split_width - text_padding, top_margin + title_height));
|
||||
memDc.SetTextForeground(StateColor::darkModeColorFor(wxColour(38, 46, 48)));
|
||||
memDc.SetFont(m_constant_text.title_font);
|
||||
memDc.DrawLabel(m_constant_text.title, title_rect, wxALIGN_RIGHT | wxALIGN_BOTTOM);
|
||||
//memDc.DrawLabel(m_constant_text.title, title_rect, wxALIGN_RIGHT | wxALIGN_BOTTOM);
|
||||
memDc.DrawLabel(_L("Ui title"), title_rect, wxALIGN_CENTER_VERTICAL);
|
||||
//BBS align bottom of title and version text
|
||||
wxRect version_rect(wxPoint(split_width + text_padding, top_margin), wxPoint(width, top_margin + title_height - text_padding));
|
||||
//wxRect version_rect(wxPoint(split_width + text_padding, top_margin), wxPoint(width, top_margin + title_height - text_padding));
|
||||
wxRect version_rect(wxPoint(split_width + text_padding, top_margin + 10), wxPoint(width + 10, top_margin + title_height - text_padding));
|
||||
memDc.SetFont(m_constant_text.version_font);
|
||||
memDc.SetTextForeground(StateColor::darkModeColorFor(wxColor(134, 134, 134)));
|
||||
memDc.DrawLabel(m_constant_text.version, version_rect, wxALIGN_LEFT | wxALIGN_BOTTOM);
|
||||
//memDc.DrawLabel(m_constant_text.version, version_rect, wxALIGN_LEFT | wxALIGN_BOTTOM);
|
||||
//memDc.DrawLabel(m_constant_text.version, version_rect, wxALIGN_TOP | wxALIGN_LEFT);
|
||||
|
||||
#if BBL_INTERNAL_TESTING
|
||||
wxString versionText = BBL_INTERNAL_TESTING == 1 ? _L("Internal Version") : _L("Beta Version");
|
||||
|
@ -367,7 +370,8 @@ public:
|
|||
int logo_margin = FromDIP(72 * m_scale);
|
||||
int logo_size = FromDIP(122 * m_scale);
|
||||
int logo_width = FromDIP(94 * m_scale);
|
||||
wxBitmap logo_bmp = *bmp_cache.load_svg("splash_logo", logo_size, logo_size);
|
||||
//wxBitmap logo_bmp = *bmp_cache.load_svg("splash_logo", logo_size, logo_size);
|
||||
wxBitmap logo_bmp = *bmp_cache.load_svg("machine_logo", logo_size, logo_size);
|
||||
int logo_y = top_margin + title_rect.GetHeight() + logo_margin;
|
||||
memDc.DrawBitmap(logo_bmp, (width - logo_width) / 2, logo_y, true);
|
||||
|
||||
|
@ -802,7 +806,7 @@ static const FileWildcards file_wildcards_by_type[FT_SIZE] = {
|
|||
/* FT_MODEL */
|
||||
{"Supported files"sv, {".3mf"sv, ".stl"sv, ".oltp"sv, ".stp"sv, ".step"sv, ".svg"sv, ".amf"sv, ".obj"sv}},
|
||||
#endif
|
||||
/* FT_PROJECT */ { "Project files"sv, { ".3mf"sv} },
|
||||
/* FT_PROJECT */ { "Project files"sv, { ".3mf"sv, ".stl"sv} },
|
||||
/* FT_GALLERY */ { "Known files"sv, { ".stl"sv, ".obj"sv } },
|
||||
|
||||
/* FT_INI */ { "INI files"sv, { ".ini"sv } },
|
||||
|
|
|
@ -648,7 +648,7 @@ void GLGizmoBrimEars::on_render_input_window(float x, float y, float bottom_limi
|
|||
if (glb_cfg.opt_enum<BrimType>("brim_type") != btBrimEars) {
|
||||
ImGui::SameLine();
|
||||
auto link_text = [&]() {
|
||||
ImColor HyperColor = m_link_text_hover ? ImColor(0, 240, 91).Value : ImColor(0, 174, 66).Value;
|
||||
ImColor HyperColor = m_link_text_hover ? ImColor(0, 240, 91).Value : ImColor(33, 95, 154).Value;
|
||||
ImGui::PushStyleColor(ImGuiCol_Text, ImGuiWrapper::to_ImVec4(ColorRGB::WARNING()));
|
||||
float parent_width = ImGui::GetContentRegionAvail().x;
|
||||
m_imgui->text_wrapped(_L("Warning: The brim type is not set to \"painted\",the brim ears will not take effect !"), parent_width);
|
||||
|
|
|
@ -2031,7 +2031,8 @@ void GLGizmoMeasure::show_face_face_assembly_common() {
|
|||
m_imgui->disabled_begin(!(action.can_set_to_center_coincidence));
|
||||
{
|
||||
ImGui::PushItemWidth(set_to_center_coincidence_size);
|
||||
ImGui::PushStyleColor(ImGuiCol_Button, m_is_dark_mode ? ImVec4(0 / 255.0, 174 / 255.0, 66 / 255.0, 1.0) : ImVec4(0 / 255.0, 174 / 255.0, 66 / 255.0, 1.0));
|
||||
//ImGui::PushStyleColor(ImGuiCol_Button, m_is_dark_mode ? ImVec4(0 / 255.0, 174 / 255.0, 66 / 255.0, 1.0) : ImVec4(0 / 255.0, 174 / 255.0, 66 / 255.0, 1.0));
|
||||
ImGui::PushStyleColor(ImGuiCol_Button, m_is_dark_mode ? ImVec4(33.0f / 255.0f, 95.0f / 255.0f, 154.0f / 255.0f, 1.0) : ImVec4(33.0f / 255.0f, 95.0f / 255.0f, 154.0f / 255.0f, 1.0));
|
||||
ImGui::PushStyleColor(ImGuiCol_ButtonHovered,
|
||||
m_is_dark_mode ? ImVec4(50 / 255.0f, 238 / 255.0f, 61 / 255.0f, 1.00f) : ImVec4(50 / 255.0f, 238 / 255.0f, 61 / 255.0f, 1.00f));
|
||||
ImGui::PushStyleColor(ImGuiCol_ButtonActive,
|
||||
|
|
|
@ -247,13 +247,21 @@ void GLGizmoMeshBoolean::on_render_input_window(float x, float y, float bottom_l
|
|||
|
||||
if (selected || hovered) {
|
||||
ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(1.f, 1.f, 1.f, 1.0f));
|
||||
ImGui::PushStyleColor(ImGuiCol_Button, { 0, 174.0f / 255.0f, 66.0f / 255.0f, 1.0f });
|
||||
/*ImGui::PushStyleColor(ImGuiCol_Button, { 0, 174.0f / 255.0f, 66.0f / 255.0f, 1.0f });
|
||||
ImGui::PushStyleColor(ImGuiCol_ButtonActive, { 0, 174.0f / 255.0f, 66.0f / 255.0f, 1.0f });
|
||||
ImGui::PushStyleColor(ImGuiCol_ButtonHovered, { 0, 174.0f / 255.0f, 66.0f / 255.0f, 1.0f });
|
||||
ImGui::PushStyleColor(ImGuiCol_ButtonHovered, { 0, 174.0f / 255.0f, 66.0f / 255.0f, 1.0f });*/
|
||||
//ImGui::PushStyleColor(ImGuiCol_Button, { 0, 174.0f / 255.0f, 66.0f / 255.0f, 1.0f });
|
||||
ImGui::PushStyleColor(ImGuiCol_Button, { 33.0f / 255.0f, 95.0f / 255.0f, 154.0f / 255.0f, 1.0f });
|
||||
//ImGui::PushStyleColor(ImGuiCol_ButtonActive, { 0, 174.0f / 255.0f, 66.0f / 255.0f, 1.0f });
|
||||
ImGui::PushStyleColor(ImGuiCol_ButtonActive, { 33.0f / 255.0f, 95.0f / 255.0f, 154.0f / 255.0f, 1.0f });
|
||||
//ImGui::PushStyleColor(ImGuiCol_ButtonHovered, { 0, 174.0f / 255.0f, 66.0f / 255.0f, 1.0f });
|
||||
ImGui::PushStyleColor(ImGuiCol_ButtonHovered, { 33.0f / 255.0f, 95.0f / 255.0f, 154.0f / 255.0f, 1.0f });
|
||||
}
|
||||
else {
|
||||
ImGui::PushStyleColor(ImGuiCol_ButtonActive, { 0, 174.0f / 255.0f, 66.0f / 255.0f, 1.0f });
|
||||
ImGui::PushStyleColor(ImGuiCol_ButtonHovered, { 0, 174.0f / 255.0f, 66.0f / 255.0f, 1.0f });
|
||||
//ImGui::PushStyleColor(ImGuiCol_ButtonActive, { 0, 174.0f / 255.0f, 66.0f / 255.0f, 1.0f });
|
||||
ImGui::PushStyleColor(ImGuiCol_ButtonActive, { 33.0f / 255.0f, 95.0f / 255.0f, 154.0f / 255.0f, 1.0f });
|
||||
//ImGui::PushStyleColor(ImGuiCol_ButtonHovered, { 0, 174.0f / 255.0f, 66.0f / 255.0f, 1.0f });
|
||||
ImGui::PushStyleColor(ImGuiCol_ButtonHovered, { 33.0f / 255.0f, 95.0f / 255.0f, 154.0f / 255.0f, 1.0f });
|
||||
}
|
||||
|
||||
bool res = ImGui::Button(label.c_str(), size_arg);
|
||||
|
|
|
@ -25,7 +25,8 @@ static const ImU32 BACKGROUND_COLOR_DARK = IM_COL32(65, 65, 71, 255);
|
|||
static const ImU32 BACKGROUND_COLOR_LIGHT = IM_COL32(255, 255, 255, 255);
|
||||
static const ImU32 GROOVE_COLOR_DARK = IM_COL32(45, 45, 49, 255);
|
||||
static const ImU32 GROOVE_COLOR_LIGHT = IM_COL32(206, 206, 206, 255);
|
||||
static const ImU32 BRAND_COLOR = IM_COL32(0, 174, 66, 255);
|
||||
//static const ImU32 BRAND_COLOR = IM_COL32(0, 174, 66, 255);
|
||||
static const ImU32 BRAND_COLOR = IM_COL32(33, 95, 154, 255);
|
||||
|
||||
|
||||
static int m_tick_value = -1;
|
||||
|
|
|
@ -1349,6 +1349,8 @@ void MainFrame::create_preset_tabs()
|
|||
//add_created_tab(new TabSLAPrint(m_param_panel));
|
||||
//add_created_tab(new TabSLAMaterial(m_param_panel));
|
||||
add_created_tab(new TabPrinter(m_param_dialog->panel()), "printer");
|
||||
//todo
|
||||
//add_created_tab(new TabConfig(m_param_dialog->panel()), "config");
|
||||
|
||||
m_param_panel->rebuild_panels();
|
||||
m_param_dialog->panel()->rebuild_panels();
|
||||
|
@ -1765,12 +1767,12 @@ wxBoxSizer* MainFrame::create_side_tools()
|
|||
if(m_slice_option_pop_up)
|
||||
delete m_slice_option_pop_up;
|
||||
m_slice_option_pop_up = new SidePopup(this);
|
||||
SideButton* slice_all_btn = new SideButton(m_slice_option_pop_up, _L("Slice all"), "");
|
||||
slice_all_btn->SetCornerRadius(0);
|
||||
//SideButton* slice_all_btn = new SideButton(m_slice_option_pop_up, _L("Slice all"), "");
|
||||
//slice_all_btn->SetCornerRadius(0);
|
||||
SideButton* slice_plate_btn = new SideButton(m_slice_option_pop_up, _L("Slice plate"), "");
|
||||
slice_plate_btn->SetCornerRadius(0);
|
||||
|
||||
slice_all_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) {
|
||||
/*slice_all_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) {
|
||||
m_slice_btn->SetLabel(_L("Slice all"));
|
||||
m_slice_select = eSliceAll;
|
||||
m_slice_enable = get_enable_slice_status();
|
||||
|
@ -1778,7 +1780,7 @@ wxBoxSizer* MainFrame::create_side_tools()
|
|||
this->Layout();
|
||||
if(m_slice_option_pop_up)
|
||||
m_slice_option_pop_up->Dismiss();
|
||||
});
|
||||
});*/
|
||||
|
||||
slice_plate_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent&) {
|
||||
m_slice_btn->SetLabel(_L("Slice plate"));
|
||||
|
@ -1789,7 +1791,7 @@ wxBoxSizer* MainFrame::create_side_tools()
|
|||
if(m_slice_option_pop_up)
|
||||
m_slice_option_pop_up->Dismiss();
|
||||
});
|
||||
m_slice_option_pop_up->append_button(slice_all_btn);
|
||||
//m_slice_option_pop_up->append_button(slice_all_btn);
|
||||
m_slice_option_pop_up->append_button(slice_plate_btn);
|
||||
m_slice_option_pop_up->Popup(m_slice_btn);
|
||||
}
|
||||
|
@ -1837,25 +1839,25 @@ wxBoxSizer* MainFrame::create_side_tools()
|
|||
p->Dismiss();
|
||||
});*/
|
||||
|
||||
p->append_button(send_gcode_btn);
|
||||
//p->append_button(send_gcode_btn);
|
||||
//p->append_button(upload_gcode_btn);
|
||||
p->append_button(export_gcode_btn);
|
||||
}
|
||||
else {
|
||||
//Bambu Studio Buttons
|
||||
SideButton* print_plate_btn = new SideButton(p, _L("Print plate"), "");
|
||||
print_plate_btn->SetCornerRadius(0);
|
||||
//SideButton* print_plate_btn = new SideButton(p, _L("Print plate"), "");
|
||||
//print_plate_btn->SetCornerRadius(0);
|
||||
|
||||
SideButton* send_to_printer_btn = new SideButton(p, _L("Send"), "");
|
||||
send_to_printer_btn->SetCornerRadius(0);
|
||||
//SideButton* send_to_printer_btn = new SideButton(p, _L("Send"), "");
|
||||
//send_to_printer_btn->SetCornerRadius(0);
|
||||
|
||||
SideButton* export_sliced_file_btn = new SideButton(p, _L("Export plate sliced file"), "");
|
||||
export_sliced_file_btn->SetCornerRadius(0);
|
||||
//SideButton* export_sliced_file_btn = new SideButton(p, _L("Export plate sliced file"), "");
|
||||
//export_sliced_file_btn->SetCornerRadius(0);
|
||||
|
||||
SideButton* export_all_sliced_file_btn = new SideButton(p, _L("Export all sliced file"), "");
|
||||
export_all_sliced_file_btn->SetCornerRadius(0);
|
||||
//SideButton* export_all_sliced_file_btn = new SideButton(p, _L("Export all sliced file"), "");
|
||||
//export_all_sliced_file_btn->SetCornerRadius(0);
|
||||
|
||||
print_plate_btn->Bind(wxEVT_BUTTON, [this, p](wxCommandEvent&) {
|
||||
/*print_plate_btn->Bind(wxEVT_BUTTON, [this, p](wxCommandEvent&) {
|
||||
m_print_btn->SetLabel(_L("Print plate"));
|
||||
m_print_select = ePrintPlate;
|
||||
m_print_enable = get_enable_print_status();
|
||||
|
@ -1911,17 +1913,26 @@ wxBoxSizer* MainFrame::create_side_tools()
|
|||
m_print_btn->Enable(m_print_enable);
|
||||
this->Layout();
|
||||
p->Dismiss();
|
||||
});*/
|
||||
SideButton* export_gcode_btn = new SideButton(p, _L("Export G-code file"), "");
|
||||
export_gcode_btn->SetCornerRadius(0);
|
||||
export_gcode_btn->Bind(wxEVT_BUTTON, [this, p](wxCommandEvent&) {
|
||||
m_print_btn->SetLabel(_L("Export G-code file"));
|
||||
m_print_select = eExportGcode;
|
||||
m_print_enable = get_enable_print_status();
|
||||
m_print_btn->Enable(m_print_enable);
|
||||
this->Layout();
|
||||
p->Dismiss();
|
||||
});
|
||||
|
||||
p->append_button(print_plate_btn);
|
||||
/* p->append_button(print_plate_btn);
|
||||
p->append_button(print_all_btn);
|
||||
p->append_button(send_to_printer_btn);
|
||||
p->append_button(send_to_printer_all_btn);
|
||||
p->append_button(export_sliced_file_btn);
|
||||
p->append_button(export_all_sliced_file_btn);
|
||||
p->append_button(export_all_sliced_file_btn);*/
|
||||
p->append_button(export_gcode_btn);
|
||||
|
||||
|
||||
if (check_bbl_farm_client_installed()) {
|
||||
/* if (check_bbl_farm_client_installed()) {
|
||||
SideButton *send_to_multi_app_btn = new SideButton(p, _L("Send to Bambu Farm Manager Client"), "");
|
||||
send_to_multi_app_btn->SetCornerRadius(0);
|
||||
p->append_button(send_to_multi_app_btn);
|
||||
|
@ -1949,7 +1960,7 @@ wxBoxSizer* MainFrame::create_side_tools()
|
|||
p->Dismiss();
|
||||
});
|
||||
p->append_button(print_multi_machine_btn);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
p->Popup(m_print_btn);
|
||||
|
@ -2123,8 +2134,10 @@ void MainFrame::update_side_button_style()
|
|||
m_slice_btn->SetBottomColour(wxColour(0x3B4446));*/
|
||||
StateColor m_btn_bg_enable = StateColor(
|
||||
std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(48, 221, 112), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal)
|
||||
//std::pair<wxColour, int>(wxColour(48, 221, 112), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(0x0073BC, StateColor::Hovered),
|
||||
//std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal)
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal)
|
||||
);
|
||||
|
||||
m_slice_btn->SetTextLayout(SideButton::EHorizontalOrientation::HO_Left, FromDIP(15));
|
||||
|
@ -3754,24 +3767,30 @@ void MainFrame::on_config_changed(DynamicPrintConfig* config) const
|
|||
|
||||
void MainFrame::set_print_button_to_default(PrintSelectType select_type)
|
||||
{
|
||||
if (select_type == PrintSelectType::ePrintPlate) {
|
||||
m_print_btn->SetLabel(_L("Print plate"));
|
||||
m_print_select = ePrintPlate;
|
||||
if (m_print_enable)
|
||||
m_print_enable = get_enable_print_status();
|
||||
m_print_btn->Enable(m_print_enable);
|
||||
this->Layout();
|
||||
} else if (select_type == PrintSelectType::eSendGcode) {
|
||||
m_print_btn->SetLabel(_L("Print"));
|
||||
m_print_select = eSendGcode;
|
||||
if (m_print_enable)
|
||||
m_print_enable = get_enable_print_status() && can_send_gcode();
|
||||
m_print_btn->Enable(m_print_enable);
|
||||
this->Layout();
|
||||
} else {
|
||||
//unsupport
|
||||
return;
|
||||
}
|
||||
//if (select_type == PrintSelectType::ePrintPlate) {
|
||||
// m_print_btn->SetLabel(_L("Print plate"));
|
||||
// m_print_select = ePrintPlate;
|
||||
// if (m_print_enable)
|
||||
// m_print_enable = get_enable_print_status();
|
||||
// m_print_btn->Enable(m_print_enable);
|
||||
// this->Layout();
|
||||
//} else if (select_type == PrintSelectType::eSendGcode) {
|
||||
// m_print_btn->SetLabel(_L("Print"));
|
||||
// m_print_select = eSendGcode;
|
||||
// if (m_print_enable)
|
||||
// m_print_enable = get_enable_print_status() && can_send_gcode();
|
||||
// m_print_btn->Enable(m_print_enable);
|
||||
// this->Layout();
|
||||
//} else {
|
||||
// //unsupport
|
||||
// return;
|
||||
//}
|
||||
m_print_btn->SetLabel(_L("Export G-code file"));
|
||||
m_print_select = eExportGcode;
|
||||
if (m_print_enable)
|
||||
m_print_enable = get_enable_print_status();
|
||||
m_print_btn->Enable(m_print_enable);
|
||||
this->Layout();
|
||||
}
|
||||
|
||||
void MainFrame::add_to_recent_projects(const wxString& filename)
|
||||
|
@ -4035,6 +4054,8 @@ void MainFrame::update_side_preset_ui()
|
|||
//BBS: update the preset
|
||||
m_plater->sidebar().update_presets(Preset::TYPE_PRINTER);
|
||||
m_plater->sidebar().update_presets(Preset::TYPE_FILAMENT);
|
||||
//todo
|
||||
//m_plater->sidebar().update_presets(Preset::TYPE_CONFIG);
|
||||
|
||||
|
||||
//take off multi machine
|
||||
|
|
|
@ -152,11 +152,11 @@ Button* MsgDialog::add_button(wxWindowID btn_id, bool set_focus /*= false*/, con
|
|||
StateColor btn_bg_green(
|
||||
std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal)
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal)
|
||||
);
|
||||
|
||||
StateColor btn_bd_green(
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal)
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal)
|
||||
);
|
||||
|
||||
StateColor btn_text_green(
|
||||
|
@ -606,7 +606,7 @@ wxBoxSizer *Newer3mfVersionDialog::get_btn_sizer()
|
|||
wxBoxSizer *horizontal_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
horizontal_sizer->Add(0, 0, 1, wxEXPAND, 0);
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
StateColor btn_bg_white(std::pair<wxColour, int>(wxColour(206, 206, 206), StateColor::Pressed), std::pair<wxColour, int>(wxColour(238, 238, 238), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(*wxWHITE, StateColor::Normal));
|
||||
bool file_version_newer = (*m_file_version) > (*m_cloud_version);
|
||||
|
@ -724,7 +724,7 @@ NetworkErrorDialog::NetworkErrorDialog(wxWindow* parent)
|
|||
});
|
||||
|
||||
auto bt_enable = StateColor(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
m_button_confirm = new Button(this, _L("Confirm"));
|
||||
m_button_confirm->SetBackgroundColor(bt_enable);
|
||||
|
|
|
@ -186,7 +186,7 @@ void MultiMachineItem::doRender(wxDC& dc)
|
|||
}
|
||||
else if (state_device > 2 && state_device < 7) {
|
||||
dc.SetFont(Label::Body_12);
|
||||
dc.SetTextForeground(wxColour(0, 174, 66));
|
||||
dc.SetTextForeground(wxColour(0x9A5F21));
|
||||
if (obj_->get_curr_stage().IsEmpty() && obj_->subtask_) {
|
||||
//wxString layer_info = wxString::Format(_L("Layer: %d/%d"), obj_->curr_layer, obj_->total_layers);
|
||||
wxString progress_info = wxString::Format("%d", obj_->subtask_->task_progress);
|
||||
|
@ -199,8 +199,8 @@ void MultiMachineItem::doRender(wxDC& dc)
|
|||
dc.SetBrush(wxBrush(wxColour(233,233,233)));
|
||||
dc.DrawRoundedRectangle(left, FromDIP(30), FromDIP(DEVICE_LEFT_PRO_INFO), FromDIP(10), 2);
|
||||
|
||||
dc.SetPen(wxPen(wxColour(0, 174, 66)));
|
||||
dc.SetBrush(wxBrush(wxColour(0, 174, 66)));
|
||||
dc.SetPen(wxPen(wxColour(0x9A5F21)));
|
||||
dc.SetBrush(wxBrush(wxColour(0x9A5F21)));
|
||||
dc.DrawRoundedRectangle(left, FromDIP(30), FromDIP(DEVICE_LEFT_PRO_INFO) * (static_cast<float>(obj_->subtask_->task_progress) / 100.0f), FromDIP(10), 2);
|
||||
}
|
||||
else {
|
||||
|
@ -226,7 +226,7 @@ void MultiMachineItem::doRender(wxDC& dc)
|
|||
}
|
||||
|
||||
if (m_hover) {
|
||||
dc.SetPen(wxPen(wxColour(0, 174, 66)));
|
||||
dc.SetPen(wxPen(wxColour(0x9A5F21)));
|
||||
dc.SetBrush(*wxTRANSPARENT_BRUSH);
|
||||
dc.DrawRoundedRectangle(0, 0, size.x, size.y, 3);
|
||||
}
|
||||
|
@ -283,7 +283,7 @@ MultiMachineManagerPage::MultiMachineManagerPage(wxWindow* parent)
|
|||
auto m_btn_bg_enable = StateColor(
|
||||
std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal)
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal)
|
||||
);
|
||||
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ MultiTaskItem::MultiTaskItem(wxWindow* parent, MachineObject* obj, int type)
|
|||
auto m_btn_bg_enable = StateColor(
|
||||
std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal)
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal)
|
||||
);
|
||||
|
||||
m_button_resume = new Button(this, _L("Resume"));
|
||||
|
@ -376,7 +376,7 @@ void MultiTaskItem::doRender(wxDC& dc)
|
|||
DrawTextWithEllipsis(dc, get_state_device(), FromDIP(DEVICE_LEFT_PRO_INFO), left);
|
||||
}
|
||||
else if (state_device == 1) {
|
||||
dc.SetTextForeground(wxColour(0, 174, 66));
|
||||
dc.SetTextForeground(wxColour(0x9A5F21));
|
||||
DrawTextWithEllipsis(dc, get_state_device(), FromDIP(DEVICE_LEFT_PRO_INFO), left);
|
||||
}
|
||||
else if (state_device == 2)
|
||||
|
@ -386,7 +386,7 @@ void MultiTaskItem::doRender(wxDC& dc)
|
|||
}
|
||||
else if (state_device > 2 && state_device < 7) {
|
||||
dc.SetFont(Label::Body_12);
|
||||
dc.SetTextForeground(wxColour(0, 174, 66));
|
||||
dc.SetTextForeground(wxColour(0x9A5F21));
|
||||
if (obj_->get_curr_stage().IsEmpty()) {
|
||||
//wxString layer_info = wxString::Format(_L("Layer: %d/%d"), obj_->curr_layer, obj_->total_layers);
|
||||
wxString progress_info = wxString::Format("%d", obj_->subtask_->task_progress);
|
||||
|
@ -398,8 +398,8 @@ void MultiTaskItem::doRender(wxDC& dc)
|
|||
dc.SetBrush(wxBrush(wxColour(233, 233, 233)));
|
||||
dc.DrawRoundedRectangle(left, FromDIP(30), FromDIP(TASK_LEFT_PRO_INFO), FromDIP(10), 2);
|
||||
|
||||
dc.SetPen(wxPen(wxColour(0, 174, 66)));
|
||||
dc.SetBrush(wxBrush(wxColour(0, 174, 66)));
|
||||
dc.SetPen(wxPen(wxColour(0x9A5F21)));
|
||||
dc.SetBrush(wxBrush(wxColour(0x9A5F21)));
|
||||
dc.DrawRoundedRectangle(left, FromDIP(30), FromDIP(TASK_LEFT_PRO_INFO) * (static_cast<float>(obj_->subtask_->task_progress) / 100.0f), FromDIP(10), 2);
|
||||
}
|
||||
else {
|
||||
|
@ -422,8 +422,8 @@ void MultiTaskItem::doRender(wxDC& dc)
|
|||
dc.SetBrush(wxBrush(wxColour(233, 233, 233)));
|
||||
dc.DrawRoundedRectangle(left, FromDIP(30), FromDIP(TASK_LEFT_PRO_INFO), FromDIP(10), 2);
|
||||
|
||||
dc.SetPen(wxPen(wxColour(0, 174, 66)));
|
||||
dc.SetBrush(wxBrush(wxColour(0, 174, 66)));
|
||||
dc.SetPen(wxPen(wxColour(0x9A5F21)));
|
||||
dc.SetBrush(wxBrush(wxColour(0x9A5F21)));
|
||||
dc.DrawRoundedRectangle(left, FromDIP(30), FromDIP(TASK_LEFT_PRO_INFO) * (static_cast<float>(m_sending_percent) / 100.0f), FromDIP(10), 2);
|
||||
}
|
||||
/*else {
|
||||
|
@ -449,7 +449,7 @@ void MultiTaskItem::doRender(wxDC& dc)
|
|||
left += FromDIP(TASK_LEFT_SEND_TIME);
|
||||
|
||||
if (m_hover) {
|
||||
dc.SetPen(wxPen(wxColour(0, 174, 66)));
|
||||
dc.SetPen(wxPen(wxColour(0x9A5F21)));
|
||||
dc.SetBrush(*wxTRANSPARENT_BRUSH);
|
||||
dc.DrawRoundedRectangle(0, 0, size.x, size.y, 3);
|
||||
}
|
||||
|
|
|
@ -157,7 +157,7 @@ void ButtonsListCtrl::SetSelection(int sel)
|
|||
m_selection = sel;
|
||||
|
||||
StateColor bg_color = StateColor(
|
||||
std::pair{wxColour(0, 174, 66), (int) StateColor::Hovered},
|
||||
std::pair{wxColour(0x9A5F21), (int) StateColor::Hovered},
|
||||
std::pair{wxColour(0,174, 66), (int) StateColor::Normal});
|
||||
m_pageButtons[m_selection]->SetBackgroundColor(bg_color);
|
||||
|
||||
|
|
|
@ -865,13 +865,13 @@ private:
|
|||
// non-static so its not loaded too early. If static, the translations wont load correctly.
|
||||
const std::vector<NotificationData> basic_notifications = {
|
||||
NotificationData{NotificationType::Mouse3dDisconnected, NotificationLevel::RegularNotificationLevel, 10, _u8L("3D Mouse disconnected.")},
|
||||
NotificationData{NotificationType::PresetUpdateAvailable, NotificationLevel::ImportantNotificationLevel, BBL_NOTICE_MAX_INTERVAL, _u8L("Configuration can update now."), _u8L("Detail."),
|
||||
[](wxEvtHandler* evnthndlr) {
|
||||
if (evnthndlr != nullptr)
|
||||
wxPostEvent(evnthndlr, PresetUpdateAvailableClickedEvent(EVT_PRESET_UPDATE_AVAILABLE_CLICKED));
|
||||
return true;
|
||||
}
|
||||
},
|
||||
// NotificationData{NotificationType::PresetUpdateAvailable, NotificationLevel::ImportantNotificationLevel, BBL_NOTICE_MAX_INTERVAL, _u8L("Configuration can update now."), _u8L("Detail."),
|
||||
// [](wxEvtHandler* evnthndlr) {
|
||||
// if (evnthndlr != nullptr)
|
||||
// wxPostEvent(evnthndlr, PresetUpdateAvailableClickedEvent(EVT_PRESET_UPDATE_AVAILABLE_CLICKED));
|
||||
// return true;
|
||||
// }
|
||||
// },
|
||||
NotificationData{NotificationType::EmptyColorChangeCode, NotificationLevel::PrintInfoNotificationLevel, 10,
|
||||
std::string(_devL("value can not be empty when you add a G-code for color change.\nPlease check the \"Color Change G-code\" in \"Printer Settings > Custom G-code\"").mb_str())},
|
||||
NotificationData{NotificationType::EmptyAutoColorChange, NotificationLevel::PrintInfoNotificationLevel, 10,
|
||||
|
|
|
@ -42,7 +42,7 @@ static const char g_min_cluster_color = 1;
|
|||
static const char g_max_color = (int) EnforcerBlockerType::ExtruderMax;
|
||||
const StateColor ok_btn_bg(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
const StateColor ok_btn_disable_bg(std::pair<wxColour, int>(wxColour(205, 201, 201), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(205, 201, 201), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(205, 201, 201), StateColor::Normal));
|
||||
|
@ -72,7 +72,7 @@ wxBoxSizer* ObjColorDialog::create_btn_sizer(long flags,bool exist_error)
|
|||
btn_sizer->AddStretchSpacer();
|
||||
|
||||
StateColor ok_btn_bd(
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal)
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal)
|
||||
);
|
||||
StateColor ok_btn_text(
|
||||
std::pair<wxColour, int>(wxColour(255, 255, 254), StateColor::Normal)
|
||||
|
@ -91,10 +91,10 @@ wxBoxSizer* ObjColorDialog::create_btn_sizer(long flags,bool exist_error)
|
|||
StateColor calc_btn_bg(
|
||||
std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal)
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal)
|
||||
);
|
||||
StateColor calc_btn_bd(
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal)
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal)
|
||||
);
|
||||
StateColor calc_btn_text(
|
||||
std::pair<wxColour, int>(wxColour(255, 255, 254), StateColor::Normal)
|
||||
|
@ -558,8 +558,8 @@ wxBoxSizer *ObjColorPanel::create_approximate_match_btn_sizer(wxWindow *parent)
|
|||
{
|
||||
auto btn_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
StateColor calc_btn_bg(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
StateColor calc_btn_bd(std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
StateColor calc_btn_bd(std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
StateColor calc_btn_text(std::pair<wxColour, int>(wxColour(255, 255, 254), StateColor::Normal));
|
||||
//create btn
|
||||
m_quick_approximate_match_btn = new Button(parent, _L("Color match"));
|
||||
|
@ -584,8 +584,8 @@ wxBoxSizer *ObjColorPanel::create_add_btn_sizer(wxWindow *parent)
|
|||
{
|
||||
auto btn_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
StateColor calc_btn_bg(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
StateColor calc_btn_bd(std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
StateColor calc_btn_bd(std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
StateColor calc_btn_text(std::pair<wxColour, int>(wxColour(255, 255, 254), StateColor::Normal));
|
||||
// create btn
|
||||
m_quick_add_btn = new Button(parent, _L("Append"));
|
||||
|
@ -610,8 +610,8 @@ wxBoxSizer *ObjColorPanel::create_reset_btn_sizer(wxWindow *parent)
|
|||
{
|
||||
auto btn_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
StateColor calc_btn_bg(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
StateColor calc_btn_bd(std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
StateColor calc_btn_bd(std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
StateColor calc_btn_text(std::pair<wxColour, int>(wxColour(255, 255, 254), StateColor::Normal));
|
||||
// create btn
|
||||
m_quick_reset_btn = new Button(parent, _L("Reset"));
|
||||
|
|
|
@ -133,9 +133,9 @@ Button *TipsDialog::add_button(wxWindowID btn_id, const wxString &label, bool se
|
|||
Button* btn = new Button(this, label, "", 0, 0, btn_id);
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
StateColor btn_bd_green(std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
StateColor btn_bd_green(std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
StateColor btn_text_green(std::pair<wxColour, int>(wxColour(255, 255, 254), StateColor::Normal));
|
||||
|
||||
|
@ -276,21 +276,23 @@ ParamsPanel::ParamsPanel( wxWindow* parent, wxWindowID id, const wxPoint& pos, c
|
|||
m_top_panel->SetBackgroundColor2(0xF1F1F1);
|
||||
|
||||
m_process_icon = new ScalableButton(m_top_panel, wxID_ANY, "process");
|
||||
|
||||
m_process_icon->Hide();
|
||||
m_title_label = new Label(m_top_panel, _L("Process"));
|
||||
|
||||
m_title_label->Hide();
|
||||
//int width, height;
|
||||
// BBS: new layout
|
||||
m_mode_region = new SwitchButton(m_top_panel);
|
||||
m_mode_region->SetMaxSize({em_unit(this) * 12, -1});
|
||||
m_mode_region->SetLabels(_L("Global"), _L("Objects"));
|
||||
//m_mode_region->Hide();
|
||||
//m_mode_region->GetSize(&width, &height);
|
||||
m_tips_arrow = new ScalableButton(m_top_panel, wxID_ANY, "tips_arrow");
|
||||
m_tips_arrow->Hide();
|
||||
|
||||
m_title_view = new Label(m_top_panel, _L("Advance"));
|
||||
m_mode_view = new SwitchButton(m_top_panel, wxID_ABOUT);
|
||||
|
||||
m_title_view->Hide();
|
||||
m_mode_view->Hide();
|
||||
// BBS: new layout
|
||||
//m_search_btn = new ScalableButton(m_top_panel, wxID_ANY, "search", wxEmptyString, wxDefaultSize, wxDefaultPosition, wxBU_EXACTFIT | wxNO_BORDER, true);
|
||||
//m_search_btn->SetToolTip(format_wxstr(_L("Search in settings [%1%]"), "Ctrl+F"));
|
||||
|
@ -299,11 +301,11 @@ ParamsPanel::ParamsPanel( wxWindow* parent, wxWindowID id, const wxPoint& pos, c
|
|||
m_compare_btn = new ScalableButton(m_top_panel, wxID_ANY, "compare", wxEmptyString, wxDefaultSize, wxDefaultPosition, wxBU_EXACTFIT | wxNO_BORDER, true);
|
||||
m_compare_btn->SetToolTip(_L("Compare presets"));
|
||||
m_compare_btn->Bind(wxEVT_BUTTON, ([this](wxCommandEvent e) { wxGetApp().mainframe->diff_dialog.show(); }));
|
||||
|
||||
m_compare_btn->Hide();
|
||||
m_setting_btn = new ScalableButton(m_top_panel, wxID_ANY, "table", wxEmptyString, wxDefaultSize, wxDefaultPosition, wxBU_EXACTFIT | wxNO_BORDER, true);
|
||||
m_setting_btn->SetToolTip(_L("View all object's settings"));
|
||||
m_setting_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent &) { wxGetApp().plater()->PopupObjectTable(-1, -1, {0, 0}); });
|
||||
|
||||
m_setting_btn->Hide();
|
||||
m_highlighter.set_timer_owner(this, 0);
|
||||
this->Bind(wxEVT_TIMER, [this](wxTimerEvent &)
|
||||
{
|
||||
|
@ -422,21 +424,21 @@ void ParamsPanel::create_layout()
|
|||
if (m_top_panel) {
|
||||
m_mode_sizer = new wxBoxSizer( wxHORIZONTAL );
|
||||
m_mode_sizer->AddSpacer(FromDIP(10));
|
||||
m_mode_sizer->Add(m_process_icon, 0, wxALIGN_CENTER);
|
||||
m_mode_sizer->AddSpacer(FromDIP(10));
|
||||
m_mode_sizer->Add( m_title_label, 0, wxALIGN_CENTER );
|
||||
m_mode_sizer->AddStretchSpacer(2);
|
||||
//m_mode_sizer->Add(m_process_icon, 0, wxALIGN_CENTER);
|
||||
//m_mode_sizer->AddSpacer(FromDIP(10));
|
||||
//m_mode_sizer->Add( m_title_label, 0, wxALIGN_CENTER );
|
||||
//m_mode_sizer->AddStretchSpacer(2);
|
||||
m_mode_sizer->Add(m_mode_region, 0, wxALIGN_CENTER);
|
||||
m_mode_sizer->AddStretchSpacer(1);
|
||||
m_mode_sizer->Add(m_tips_arrow, 0, wxALIGN_CENTER);
|
||||
m_mode_sizer->AddStretchSpacer(12);
|
||||
m_mode_sizer->Add( m_title_view, 0, wxALIGN_CENTER );
|
||||
m_mode_sizer->AddSpacer(FromDIP(2));
|
||||
m_mode_sizer->Add(m_mode_view, 0, wxALIGN_CENTER);
|
||||
m_mode_sizer->AddSpacer(FromDIP(10));
|
||||
m_mode_sizer->Add(m_setting_btn, 0, wxALIGN_CENTER);
|
||||
m_mode_sizer->AddSpacer(FromDIP(12));
|
||||
m_mode_sizer->Add(m_compare_btn, 0, wxALIGN_CENTER);
|
||||
//m_mode_sizer->Add(m_tips_arrow, 0, wxALIGN_CENTER);
|
||||
//m_mode_sizer->AddStretchSpacer(12);
|
||||
//m_mode_sizer->Add( m_title_view, 0, wxALIGN_CENTER );
|
||||
//m_mode_sizer->AddSpacer(FromDIP(2));
|
||||
//m_mode_sizer->Add(m_mode_view, 0, wxALIGN_CENTER);
|
||||
//m_mode_sizer->AddSpacer(FromDIP(10));
|
||||
//m_mode_sizer->Add(m_setting_btn, 0, wxALIGN_CENTER);
|
||||
//m_mode_sizer->AddSpacer(FromDIP(12));
|
||||
//m_mode_sizer->Add(m_compare_btn, 0, wxALIGN_CENTER);
|
||||
m_mode_sizer->AddSpacer(FromDIP(16));
|
||||
//m_mode_sizer->Add( m_search_btn, 0, wxALIGN_CENTER );
|
||||
//m_mode_sizer->AddSpacer(16);
|
||||
|
@ -467,6 +469,9 @@ void ParamsPanel::create_layout()
|
|||
if (m_tab_print_layer) {
|
||||
m_left_sizer->Add(m_tab_print_layer, 0, wxEXPAND);
|
||||
}
|
||||
if (m_tab_config) {
|
||||
m_left_sizer->Add(m_tab_config, 0, wxEXPAND);
|
||||
}
|
||||
|
||||
if (m_tab_filament) {
|
||||
//m_filament_sizer = new wxBoxSizer( wxVERTICAL );
|
||||
|
@ -541,6 +546,9 @@ void ParamsPanel::refresh_tabs()
|
|||
case Preset::TYPE_PRINTER:
|
||||
m_tab_printer = tab;
|
||||
break;
|
||||
case Preset::TYPE_CONFIG:
|
||||
m_tab_config = tab;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -569,7 +577,7 @@ void ParamsPanel::OnActivate()
|
|||
BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << boost::format(": first time opened, set current tab to print");
|
||||
// BBS: open/close tab
|
||||
//m_current_tab = m_tab_print;
|
||||
set_active_tab(m_tab_print ? m_tab_print : m_tab_filament);
|
||||
set_active_tab(m_tab_print ? m_tab_print : m_tab_filament ? m_tab_filament : m_tab_config);
|
||||
}
|
||||
Tab* cur_tab = dynamic_cast<Tab *> (m_current_tab);
|
||||
if (cur_tab)
|
||||
|
@ -647,7 +655,8 @@ void ParamsPanel::set_active_tab(wxPanel* tab)
|
|||
{m_tab_print_layer, nullptr},
|
||||
{m_tab_print_plate, nullptr},
|
||||
{m_tab_filament, m_staticline_filament},
|
||||
{m_tab_printer, m_staticline_printer}})) {
|
||||
{m_tab_printer, m_staticline_printer},
|
||||
{m_tab_config, m_staticline_config} })) {
|
||||
if (!t.first) continue;
|
||||
t.first->Show(tab == t.first);
|
||||
if (!t.second) continue;
|
||||
|
@ -656,7 +665,16 @@ void ParamsPanel::set_active_tab(wxPanel* tab)
|
|||
}
|
||||
m_left_sizer->Layout();
|
||||
if (auto dialog = dynamic_cast<wxDialog*>(GetParent())) {
|
||||
wxString title = cur_tab->type() == Preset::TYPE_FILAMENT ? _L("Filament settings") : _L("Printer settings");
|
||||
wxString title;
|
||||
if (cur_tab->type() == Preset::TYPE_FILAMENT) {
|
||||
title = _L("Filament settings");
|
||||
}
|
||||
else if (cur_tab->type() == Preset::TYPE_PRINTER) {
|
||||
title = _L("Printer settings");
|
||||
}
|
||||
else {
|
||||
title = _L("Configuration settings");
|
||||
}
|
||||
dialog->SetTitle(title);
|
||||
}
|
||||
}
|
||||
|
@ -709,7 +727,7 @@ void ParamsPanel::msw_rescale()
|
|||
((SwitchButton* )m_mode_region)->Rescale();
|
||||
if (m_mode_view)
|
||||
((SwitchButton* )m_mode_view)->Rescale();
|
||||
for (auto tab : {m_tab_print, m_tab_print_plate, m_tab_print_object, m_tab_print_part, m_tab_print_layer, m_tab_filament, m_tab_printer}) {
|
||||
for (auto tab : {m_tab_print, m_tab_print_plate, m_tab_print_object, m_tab_print_part, m_tab_print_layer, m_tab_filament, m_tab_printer, m_tab_config}) {
|
||||
if (tab) dynamic_cast<Tab*>(tab)->msw_rescale();
|
||||
}
|
||||
//((Button*)m_export_to_file)->Rescale();
|
||||
|
@ -831,6 +849,11 @@ void ParamsPanel::delete_subwindows()
|
|||
delete m_staticline_print_part;
|
||||
m_staticline_print_part = nullptr;
|
||||
}
|
||||
if (m_staticline_config)
|
||||
{
|
||||
delete m_staticline_config;
|
||||
m_staticline_config = nullptr;
|
||||
}
|
||||
|
||||
if (m_staticline_print_object)
|
||||
{
|
||||
|
|
|
@ -104,6 +104,8 @@ class ParamsPanel : public wxPanel
|
|||
wxStaticLine* m_staticline_printer { nullptr };
|
||||
//wxBoxSizer* m_printer_sizer { nullptr };
|
||||
wxPanel* m_tab_printer { nullptr };
|
||||
wxStaticLine* m_staticline_config{ nullptr };
|
||||
wxPanel* m_tab_config{ nullptr };
|
||||
//wxStaticLine* m_staticline_buttons { nullptr };
|
||||
// BBS: new layout
|
||||
wxBoxSizer* m_button_sizer { nullptr };
|
||||
|
|
|
@ -369,7 +369,7 @@ void PhysicalPrinterDialog::update_preset_input() {
|
|||
}
|
||||
|
||||
if (m_valid_type == Valid &&
|
||||
(m_preset_name == "Default Setting" || m_preset_name == "Default Filament" || m_preset_name == "Default Printer")) {
|
||||
(m_preset_name == "Default Setting" || m_preset_name == "Default Filament" || m_preset_name == "Default Printer" || m_preset_name == "Default Config")) {
|
||||
info_line = _L("Name is unavailable.");
|
||||
m_valid_type = NoValid;
|
||||
}
|
||||
|
|
|
@ -451,7 +451,7 @@ PlateSettingsDialog::PlateSettingsDialog(wxWindow* parent, const wxString& title
|
|||
|
||||
auto sizer_button = new wxBoxSizer(wxHORIZONTAL);
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
StateColor btn_bg_white(std::pair<wxColour, int>(wxColour(206, 206, 206), StateColor::Pressed), std::pair<wxColour, int>(wxColour(238, 238, 238), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(*wxWHITE, StateColor::Normal));
|
||||
|
@ -656,7 +656,7 @@ PlateNameEditDialog::PlateNameEditDialog(wxWindow *parent, wxWindowID id, const
|
|||
|
||||
auto sizer_button = new wxBoxSizer(wxHORIZONTAL);
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
StateColor btn_bg_white(std::pair<wxColour, int>(wxColour(206, 206, 206), StateColor::Pressed), std::pair<wxColour, int>(wxColour(238, 238, 238), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(*wxWHITE, StateColor::Normal));
|
||||
|
|
|
@ -1534,8 +1534,8 @@ Sidebar::Sidebar(Plater *parent)
|
|||
p->m_panel_printer_content = new wxPanel(p->scrolled, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL);
|
||||
p->m_panel_printer_content->SetBackgroundColour(wxColour(255, 255, 255));
|
||||
|
||||
StateColor panel_bd_col(std::pair<wxColour, int>(wxColour(0x00AE42), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(0x00AE42), StateColor::Hovered),
|
||||
StateColor panel_bd_col(std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0xEEEEEE), StateColor::Normal));
|
||||
|
||||
p->panel_printer_preset = new StaticBox(p->m_panel_printer_content);
|
||||
|
@ -1679,8 +1679,8 @@ Sidebar::Sidebar(Plater *parent)
|
|||
std::pair<wxColour, int>(wxColour(0xF8F8F8), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0xF8F8F8), StateColor::Normal));
|
||||
StateColor btn_sync_bd_col(
|
||||
std::pair<wxColour, int>(wxColour(0x00AE42), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(0x00AE42), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0xEEEEEE), StateColor::Normal));
|
||||
btn_sync->SetBackgroundColor(btn_sync_bg_col);
|
||||
btn_sync->SetBorderColor(btn_sync_bd_col);
|
||||
|
@ -1774,8 +1774,8 @@ Sidebar::Sidebar(Plater *parent)
|
|||
std::pair<wxColour, int>(wxColour(107, 107, 106), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(107, 107, 106), StateColor::Normal));
|
||||
|
||||
StateColor flush_bd_col(std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Hovered),
|
||||
StateColor flush_bd_col(std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(172, 172, 172), StateColor::Normal));
|
||||
|
||||
p->m_flushing_volume_btn->SetBackgroundColor(flush_bg_col);
|
||||
|
@ -2208,6 +2208,10 @@ void Sidebar::update_all_preset_comboboxes()
|
|||
p->combo_printer->update();
|
||||
update_printer_thumbnail();
|
||||
}
|
||||
|
||||
//todo
|
||||
/*if (p->combo_config)
|
||||
p->combo_config->update();*/
|
||||
}
|
||||
|
||||
void Sidebar::update_presets(Preset::Type preset_type)
|
||||
|
@ -2256,6 +2260,18 @@ void Sidebar::update_presets(Preset::Type preset_type)
|
|||
}
|
||||
break;
|
||||
}
|
||||
case Preset::TYPE_CONFIG:
|
||||
//wxGetApp().mainframe->m_param_panel;
|
||||
//p->combo_print->update();
|
||||
{
|
||||
/* Tab* config_tab = wxGetApp().get_tab(Preset::TYPE_CONFIG);
|
||||
if (config_tab) {
|
||||
config_tab->get_combo_box()->update();
|
||||
}*/
|
||||
// todo
|
||||
//p->combo_config->update();
|
||||
break;
|
||||
}
|
||||
case Preset::TYPE_SLA_PRINT:
|
||||
;// p->combo_sla_print->update();
|
||||
break;
|
||||
|
@ -4406,7 +4422,8 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame)
|
|||
panel_sizer->Add(preview, 1, wxEXPAND | wxALL, 0);
|
||||
panel_sizer->Add(assemble_view, 1, wxEXPAND | wxALL, 0);
|
||||
vsizer->Add(panel_sizer, 1, wxEXPAND | wxALL, 0);
|
||||
hsizer->Add(vsizer, 1, wxEXPAND | wxALL, 0);
|
||||
//hsizer->Add(vsizer, 1, wxEXPAND | wxALL, 0);
|
||||
hsizer->Insert(0, vsizer, 1, wxEXPAND | wxALL, 0);
|
||||
|
||||
q->SetSizer(hsizer);
|
||||
|
||||
|
@ -11651,6 +11668,8 @@ void Plater::_calib_pa_pattern(const Calib_Params ¶ms)
|
|||
|
||||
wxGetApp().get_tab(Preset::TYPE_PRINT)->update_dirty();
|
||||
wxGetApp().get_tab(Preset::TYPE_PRINT)->reload_config();
|
||||
wxGetApp().get_tab(Preset::TYPE_CONFIG)->update_dirty();
|
||||
wxGetApp().get_tab(Preset::TYPE_CONFIG)->reload_config();
|
||||
|
||||
const DynamicPrintConfig full_config = wxGetApp().preset_bundle->full_config();
|
||||
PresetBundle * preset_bundle = wxGetApp().preset_bundle;
|
||||
|
@ -11706,6 +11725,8 @@ void Plater::_calib_pa_tower(const Calib_Params ¶ms)
|
|||
wxGetApp().get_tab(Preset::TYPE_PRINT)->reload_config();
|
||||
wxGetApp().get_tab(Preset::TYPE_FILAMENT)->reload_config();
|
||||
wxGetApp().get_tab(Preset::TYPE_PRINTER)->reload_config();
|
||||
wxGetApp().get_tab(Preset::TYPE_CONFIG)->update_dirty();
|
||||
wxGetApp().get_tab(Preset::TYPE_CONFIG)->reload_config();
|
||||
|
||||
auto new_height = std::ceil((params.end - params.start) / params.step) + 1;
|
||||
auto obj_bb = model().objects[0]->bounding_box();
|
||||
|
@ -11820,6 +11841,8 @@ void Plater::calib_flowrate(int pass)
|
|||
wxGetApp().get_tab(Preset::TYPE_PRINT)->reload_config();
|
||||
wxGetApp().get_tab(Preset::TYPE_FILAMENT)->reload_config();
|
||||
wxGetApp().get_tab(Preset::TYPE_PRINTER)->reload_config();
|
||||
wxGetApp().get_tab(Preset::TYPE_CONFIG)->update_dirty();
|
||||
wxGetApp().get_tab(Preset::TYPE_CONFIG)->reload_config();
|
||||
|
||||
try {
|
||||
json js;
|
||||
|
@ -11873,6 +11896,8 @@ void Plater::calib_temp(const Calib_Params ¶ms)
|
|||
wxGetApp().get_tab(Preset::TYPE_FILAMENT)->update_dirty();
|
||||
wxGetApp().get_tab(Preset::TYPE_PRINT)->reload_config();
|
||||
wxGetApp().get_tab(Preset::TYPE_FILAMENT)->reload_config();
|
||||
wxGetApp().get_tab(Preset::TYPE_CONFIG)->update_dirty();
|
||||
wxGetApp().get_tab(Preset::TYPE_CONFIG)->reload_config();
|
||||
|
||||
// cut upper
|
||||
auto obj_bb = model().objects[0]->bounding_box();
|
||||
|
@ -11963,6 +11988,8 @@ void Plater::calib_max_vol_speed(const Calib_Params ¶ms)
|
|||
wxGetApp().get_tab(Preset::TYPE_PRINT)->reload_config();
|
||||
wxGetApp().get_tab(Preset::TYPE_FILAMENT)->reload_config();
|
||||
wxGetApp().get_tab(Preset::TYPE_PRINTER)->reload_config();
|
||||
wxGetApp().get_tab(Preset::TYPE_CONFIG)->update_dirty();
|
||||
wxGetApp().get_tab(Preset::TYPE_CONFIG)->reload_config();
|
||||
|
||||
// cut upper
|
||||
auto obj_bb = obj->bounding_box();
|
||||
|
@ -12070,6 +12097,8 @@ void Plater::calib_VFA(const Calib_Params ¶ms)
|
|||
wxGetApp().get_tab(Preset::TYPE_FILAMENT)->update_dirty();
|
||||
wxGetApp().get_tab(Preset::TYPE_PRINT)->update_ui_from_settings();
|
||||
wxGetApp().get_tab(Preset::TYPE_FILAMENT)->update_ui_from_settings();
|
||||
wxGetApp().get_tab(Preset::TYPE_CONFIG)->update_dirty();
|
||||
wxGetApp().get_tab(Preset::TYPE_CONFIG)->update_ui_from_settings();
|
||||
|
||||
// cut upper
|
||||
auto obj_bb = model().objects[0]->bounding_box();
|
||||
|
@ -12444,10 +12473,10 @@ ProjectDropDialog::ProjectDropDialog(const std::string &filename)
|
|||
|
||||
m_confirm = new Button(this, _L("OK"));
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
m_confirm->SetBackgroundColor(btn_bg_green);
|
||||
m_confirm->SetBorderColor(wxColour(0, 174, 66));
|
||||
m_confirm->SetBorderColor(wxColour(0x9A5F21));
|
||||
m_confirm->SetTextColor(wxColour("#FFFFFE"));
|
||||
m_confirm->SetSize(PROJECT_DROP_DIALOG_BUTTON_SIZE);
|
||||
m_confirm->SetMinSize(PROJECT_DROP_DIALOG_BUTTON_SIZE);
|
||||
|
|
|
@ -109,6 +109,11 @@ PresetComboBox::PresetComboBox(wxWindow* parent, Preset::Type preset_type, const
|
|||
m_main_bitmap_name = "printer";
|
||||
break;
|
||||
}
|
||||
case Preset::TYPE_CONFIG: {
|
||||
m_collection = &m_preset_bundle->configs;
|
||||
m_main_bitmap_name = "config";
|
||||
break;
|
||||
}
|
||||
default: break;
|
||||
}
|
||||
|
||||
|
@ -852,6 +857,15 @@ PlaterPresetComboBox::PlaterPresetComboBox(wxWindow *parent, Preset::Type preset
|
|||
}
|
||||
});
|
||||
}
|
||||
else if (m_type == Preset::TYPE_CONFIG) {
|
||||
edit_btn = new ScalableButton(parent, wxID_ANY, "config");
|
||||
edit_btn->SetToolTip(_L("Click to edit preset"));
|
||||
|
||||
edit_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent)
|
||||
{
|
||||
show_edit_menu();
|
||||
});
|
||||
}
|
||||
else {
|
||||
edit_btn = new ScalableButton(parent, wxID_ANY, "cog");
|
||||
edit_btn->SetToolTip(_L("Click to edit preset"));
|
||||
|
@ -1296,7 +1310,7 @@ void PlaterPresetComboBox::update()
|
|||
}
|
||||
}*/
|
||||
|
||||
if (m_type == Preset::TYPE_PRINTER || m_type == Preset::TYPE_FILAMENT || m_type == Preset::TYPE_SLA_MATERIAL) {
|
||||
if (m_type == Preset::TYPE_PRINTER || m_type == Preset::TYPE_FILAMENT || m_type == Preset::TYPE_SLA_MATERIAL || m_type == Preset::TYPE_CONFIG) {
|
||||
wxBitmap* bmp = get_bmp("edit_preset_list", wide_icons, "edit_uni");
|
||||
assert(bmp);
|
||||
|
||||
|
@ -1304,6 +1318,8 @@ void PlaterPresetComboBox::update()
|
|||
set_label_marker(Append(separator(L("Add/Remove filaments")), *bmp), LABEL_ITEM_WIZARD_FILAMENTS);
|
||||
else if (m_type == Preset::TYPE_SLA_MATERIAL)
|
||||
set_label_marker(Append(separator(L("Add/Remove materials")), *bmp), LABEL_ITEM_WIZARD_MATERIALS);
|
||||
else if (m_type == Preset::TYPE_CONFIG)
|
||||
set_label_marker(Append(separator(L("Add/Remove filaments")), *bmp), LABEL_ITEM_WIZARD_FILAMENTS);
|
||||
else {
|
||||
set_label_marker(Append(separator(L("Select/Remove printers(system presets)")), *bmp), LABEL_ITEM_WIZARD_PRINTERS);
|
||||
set_label_marker(Append(separator(L("Create printer")), *bmp), LABEL_ITEM_WIZARD_ADD_PRINTERS);
|
||||
|
|
|
@ -48,7 +48,7 @@ public:
|
|||
LABEL_ITEM_WIZARD_FILAMENTS,
|
||||
LABEL_ITEM_WIZARD_MATERIALS,
|
||||
LABEL_ITEM_WIZARD_ADD_PRINTERS,
|
||||
|
||||
LABEL_ITEM_WIZARD_CONFIGS,
|
||||
LABEL_ITEM_MAX,
|
||||
};
|
||||
|
||||
|
|
|
@ -67,7 +67,7 @@ PrivacyUpdateDialog::PrivacyUpdateDialog(wxWindow* parent, wxWindowID id, const
|
|||
|
||||
auto sizer_button = new wxBoxSizer(wxHORIZONTAL);
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
StateColor btn_bg_white(std::pair<wxColour, int>(wxColour(206, 206, 206), StateColor::Pressed), std::pair<wxColour, int>(wxColour(220, 220, 220), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(238, 238, 238), StateColor::Normal));
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
#define AUFILE_GREY500 wxColour(158, 158, 158)
|
||||
#define AUFILE_GREY300 wxColour(238, 238, 238)
|
||||
#define AUFILE_GREY200 wxColour(248, 248, 248)
|
||||
#define AUFILE_BRAND wxColour(0, 174, 66)
|
||||
#define AUFILE_BRAND wxColour(0x9A5F21)
|
||||
#define AUFILE_BRAND_TRANSPARENT wxColour(215, 232, 222)
|
||||
//#define AUFILE_PICTURES_SIZE wxSize(FromDIP(300), FromDIP(300))
|
||||
//#define AUFILE_PICTURES_PANEL_SIZE wxSize(FromDIP(300), FromDIP(340))
|
||||
|
|
|
@ -95,7 +95,7 @@ PublishDialog::PublishDialog(Plater *plater)
|
|||
std::pair<wxColour, int>(TEXT_LIGHT_GRAY, StateColor::Normal));
|
||||
m_btn_cancel->SetFont(Label::Body_12);
|
||||
m_btn_cancel->SetBackgroundColor(btn_bg_green);
|
||||
m_btn_cancel->SetBorderColor(wxColour(0, 174, 66));
|
||||
m_btn_cancel->SetBorderColor(wxColour(0x9A5F21));
|
||||
m_btn_cancel->SetTextColor(text_color);
|
||||
m_btn_cancel->SetSize(wxSize(FromDIP(60), FromDIP(20)));
|
||||
m_btn_cancel->SetMinSize(wxSize(FromDIP(60), FromDIP(20)));
|
||||
|
|
|
@ -35,9 +35,9 @@ RecenterDialog::RecenterDialog(wxWindow* parent, wxWindowID id, const wxString&
|
|||
m_button_confirm->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||
m_button_confirm->SetCornerRadius(FromDIP(12));
|
||||
StateColor confirm_btn_bg(std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
m_button_confirm->SetBackgroundColor(confirm_btn_bg);
|
||||
m_button_confirm->SetBorderColor(wxColour(0, 174, 66));
|
||||
m_button_confirm->SetBorderColor(wxColour(0x9A5F21));
|
||||
m_button_confirm->SetTextColor(*wxWHITE);
|
||||
|
||||
m_button_close = new Button(this, _L("Close"));
|
||||
|
|
|
@ -1562,7 +1562,7 @@ InputIpAddressDialog::InputIpAddressDialog(wxWindow *parent)
|
|||
comfirm_last_enter_text = _L("3. Please obtain the device SN from the printer side; it is usually found in the device information on the printer screen.");
|
||||
|
||||
Label *wiki = new Label(this, ::Label::Body_13, _L("View wiki"), LB_AUTO_WRAP);
|
||||
wiki->SetForegroundColour(wxColour(0, 174, 66));
|
||||
wiki->SetForegroundColour(wxColour(0x9A5F21));
|
||||
wiki->Bind(wxEVT_ENTER_WINDOW, [this](auto &e) {SetCursor(wxCURSOR_HAND);});
|
||||
wiki->Bind(wxEVT_LEAVE_WINDOW, [this](auto &e) {SetCursor(wxCURSOR_ARROW);});
|
||||
wiki->Bind(wxEVT_LEFT_DOWN, [this](auto &e) {
|
||||
|
|
|
@ -202,7 +202,7 @@ void SavePresetDialog::Item::update()
|
|||
}
|
||||
|
||||
if (m_valid_type == Valid &&
|
||||
(m_preset_name == "Default Setting" || m_preset_name == "Default Filament" || m_preset_name == "Default Printer")) {
|
||||
(m_preset_name == "Default Setting" || m_preset_name == "Default Filament" || m_preset_name == "Default Printer" || m_preset_name == "Default Config")) {
|
||||
info_line = _L("Name is unavailable.");
|
||||
m_valid_type = NoValid;
|
||||
}
|
||||
|
@ -352,9 +352,9 @@ void SavePresetDialog::build(std::vector<Preset::Type> types, std::string suffix
|
|||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(144, 144, 144), StateColor::Disabled),
|
||||
std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
StateColor btn_br_green(std::pair<wxColour, int>(wxColour(144, 144, 144), StateColor::Disabled),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
m_confirm->SetBackgroundColor(btn_bg_green);
|
||||
m_confirm->SetBorderColor(btn_br_green);
|
||||
m_confirm->SetTextColor(wxColour("#FFFFFE"));
|
||||
|
|
|
@ -330,7 +330,7 @@ SelectMachineDialog::SelectMachineDialog(Plater *plater)
|
|||
// if (m_print_type != PrintFromType::FROM_SDCARD_VIEW) {e.Skip();}
|
||||
//});
|
||||
m_btn_bg_enable = StateColor(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
m_button_refresh = new ScalableButton(printer_staticbox, wxID_ANY, "refresh_printer", wxEmptyString, wxDefaultSize, wxDefaultPosition, wxBU_EXACTFIT | wxNO_BORDER,true);
|
||||
m_button_refresh->Bind(wxEVT_BUTTON, &SelectMachineDialog::on_refresh, this);
|
||||
|
@ -425,7 +425,7 @@ SelectMachineDialog::SelectMachineDialog(Plater *plater)
|
|||
m_sizer_autorefill = new wxBoxSizer(wxHORIZONTAL);
|
||||
m_ams_backup_tip = new Label(m_scroll_area, _L("Auto Refill"));
|
||||
m_ams_backup_tip->SetFont(::Label::Head_12);
|
||||
m_ams_backup_tip->SetForegroundColour(wxColour(0x00AE42));
|
||||
m_ams_backup_tip->SetForegroundColour(wxColour(0x9A5F21));
|
||||
m_ams_backup_tip->SetBackgroundColour(*wxWHITE);
|
||||
img_ams_backup = new wxStaticBitmap(m_scroll_area, wxID_ANY, create_scaled_bitmap("automatic_material_renewal", this, 16), wxDefaultPosition, wxSize(FromDIP(16), FromDIP(16)), 0);
|
||||
img_ams_backup->SetBackgroundColour(*wxWHITE);
|
||||
|
@ -699,7 +699,7 @@ SelectMachineDialog::SelectMachineDialog(Plater *plater)
|
|||
|
||||
m_statictext_finish = new wxStaticText(m_panel_finish, wxID_ANY, L("send completed"), wxDefaultPosition, wxDefaultSize, 0);
|
||||
m_statictext_finish->Wrap(-1);
|
||||
m_statictext_finish->SetForegroundColour(wxColour(0, 174, 66));
|
||||
m_statictext_finish->SetForegroundColour(wxColour(0x9A5F21));
|
||||
m_sizer_finish_h->Add(m_statictext_finish, 0, wxALIGN_CENTER | wxALL, FromDIP(5));
|
||||
|
||||
m_sizer_finish_v->Add(m_sizer_finish_h, 1, wxALIGN_CENTER, 0);
|
||||
|
@ -2494,7 +2494,7 @@ void SelectMachineDialog::save_option_vals(MachineObject *obj) {
|
|||
void SelectMachineDialog::Enable_Auto_Refill(bool enable)
|
||||
{
|
||||
if (enable) {
|
||||
m_ams_backup_tip->SetForegroundColour(wxColour(0x00AE42));
|
||||
m_ams_backup_tip->SetForegroundColour(wxColour(0x9A5F21));
|
||||
}
|
||||
else {
|
||||
m_ams_backup_tip->SetForegroundColour(wxColour(0x90, 0x90, 0x90));
|
||||
|
|
|
@ -883,9 +883,9 @@ EditDevNameDialog::EditDevNameDialog(Plater *plater /*= nullptr*/)
|
|||
|
||||
|
||||
m_button_confirm = new Button(this, _L("Confirm"));
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
m_button_confirm->SetBackgroundColor(btn_bg_green);
|
||||
m_button_confirm->SetBorderColor(wxColour(0, 174, 66));
|
||||
m_button_confirm->SetBorderColor(wxColour(0x9A5F21));
|
||||
m_button_confirm->SetTextColor(wxColour(255, 255, 255));
|
||||
m_button_confirm->SetSize(wxSize(FromDIP(72), FromDIP(24)));
|
||||
m_button_confirm->SetMinSize(wxSize(FromDIP(72), FromDIP(24)));
|
||||
|
|
|
@ -71,7 +71,7 @@ wxDECLARE_EVENT(EVT_BIND_MACHINE, wxCommandEvent);
|
|||
#define SELECT_MACHINE_GREY900 wxColour(38, 46, 48)
|
||||
#define SELECT_MACHINE_GREY600 wxColour(144, 144, 144)
|
||||
#define SELECT_MACHINE_GREY400 wxColour(206, 206, 206)
|
||||
#define SELECT_MACHINE_BRAND wxColour(0, 174, 66)
|
||||
#define SELECT_MACHINE_BRAND wxColour(0x9A5F21)
|
||||
#define SELECT_MACHINE_REMIND wxColour(255, 111, 0)
|
||||
#define SELECT_MACHINE_LIGHT_GREEN wxColour(219, 253, 231)
|
||||
|
||||
|
|
|
@ -208,7 +208,7 @@ void SendDeviceItem::doRender(wxDC& dc)
|
|||
|
||||
//device state
|
||||
if (state_printable <= 2) {
|
||||
dc.SetTextForeground(wxColour(0, 174, 66));
|
||||
dc.SetTextForeground(wxColour(0x9A5F21));
|
||||
}
|
||||
else {
|
||||
dc.SetTextForeground(wxColour(208, 27, 27));
|
||||
|
@ -233,7 +233,7 @@ void SendDeviceItem::doRender(wxDC& dc)
|
|||
}
|
||||
|
||||
if (m_hover) {
|
||||
dc.SetPen(wxPen(wxColour(0, 174, 66)));
|
||||
dc.SetPen(wxPen(wxColour(0x9A5F21)));
|
||||
dc.SetBrush(*wxTRANSPARENT_BRUSH);
|
||||
dc.DrawRoundedRectangle(0, 0, size.x, size.y, 3);
|
||||
}
|
||||
|
@ -1323,7 +1323,7 @@ wxPanel* SendMultiMachinePage::create_page()
|
|||
auto m_btn_bg_enable = StateColor(
|
||||
std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal)
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal)
|
||||
);
|
||||
|
||||
m_button_add = new Button(main_page, _L("Add"));
|
||||
|
@ -1384,7 +1384,7 @@ wxPanel* SendMultiMachinePage::create_page()
|
|||
|
||||
// add send button
|
||||
btn_bg_enable = StateColor(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
m_button_send = new Button(main_page, _L("Send"));
|
||||
m_button_send->SetBackgroundColor(btn_bg_enable);
|
||||
|
|
|
@ -258,7 +258,7 @@ SendToPrinterDialog::SendToPrinterDialog(Plater *plater)
|
|||
|
||||
m_sizer_printer->Add(m_comboBox_printer, 1, wxEXPAND | wxRIGHT, FromDIP(5));
|
||||
btn_bg_enable = StateColor(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
m_button_refresh = new Button(this, _L("Refresh"));
|
||||
m_button_refresh->SetBackgroundColor(btn_bg_enable);
|
||||
|
@ -330,7 +330,7 @@ SendToPrinterDialog::SendToPrinterDialog(Plater *plater)
|
|||
|
||||
m_statictext_finish = new wxStaticText(m_panel_finish, wxID_ANY, L("send completed"), wxDefaultPosition, wxDefaultSize, 0);
|
||||
m_statictext_finish->Wrap(-1);
|
||||
m_statictext_finish->SetForegroundColour(wxColour(0, 174, 66));
|
||||
m_statictext_finish->SetForegroundColour(wxColour(0x9A5F21));
|
||||
m_sizer_finish_h->Add(m_statictext_finish, 0, wxALIGN_CENTER | wxALL, FromDIP(5));
|
||||
|
||||
m_sizer_finish_v->Add(m_sizer_finish_h, 1, wxALIGN_CENTER, 0);
|
||||
|
|
|
@ -366,7 +366,7 @@ void Slic3r::GUI::NotificationManager::SlicingProgressNotification::render_bar(c
|
|||
|
||||
ImGuiWrapper& imgui = *wxGetApp().imgui();
|
||||
|
||||
ImColor progress_color = ImColor(0, 174, 66, (int)(255 * m_current_fade_opacity));
|
||||
ImColor progress_color = ImColor(33, 95, 154, (int)(255 * m_current_fade_opacity));
|
||||
ImColor bg_color = ImColor(217, 217, 217, (int)(255 * m_current_fade_opacity));
|
||||
|
||||
ImVec2 lineStart = pos;
|
||||
|
|
|
@ -46,13 +46,13 @@ static const wxColour STATIC_BOX_LINE_COL = wxColour(238, 238, 238);
|
|||
static const wxColour BUTTON_NORMAL1_COL = wxColour(238, 238, 238);
|
||||
static const wxColour BUTTON_NORMAL2_COL = wxColour(206, 206, 206);
|
||||
static const wxColour BUTTON_PRESS_COL = wxColour(172, 172, 172);
|
||||
static const wxColour BUTTON_HOVER_COL = wxColour(0, 174, 66);
|
||||
static const wxColour BUTTON_HOVER_COL = wxColour(0x9A5F21);
|
||||
|
||||
static const wxColour DISCONNECT_TEXT_COL = wxColour(171, 172, 172);
|
||||
static const wxColour NORMAL_TEXT_COL = wxColour(48,58,60);
|
||||
static const wxColour NORMAL_FAN_TEXT_COL = wxColour(107, 107, 107);
|
||||
static const wxColour WARNING_INFO_BG_COL = wxColour(255, 111, 0);
|
||||
static const wxColour STAGE_TEXT_COL = wxColour(0, 174, 66);
|
||||
static const wxColour STAGE_TEXT_COL = wxColour(0x9A5F21);
|
||||
|
||||
static const wxColour GROUP_STATIC_LINE_COL = wxColour(206, 206, 206);
|
||||
|
||||
|
@ -715,12 +715,12 @@ void PrintingTaskPanel::create_panel(wxWindow* parent)
|
|||
m_staticText_progress_percent = new wxStaticText(penel_text, wxID_ANY, "0", wxDefaultPosition, wxDefaultSize, 0);
|
||||
m_staticText_progress_percent->SetFont(::Label::Head_18);
|
||||
m_staticText_progress_percent->SetMaxSize(wxSize(-1, FromDIP(20)));
|
||||
m_staticText_progress_percent->SetForegroundColour(wxColour(0, 174, 66));
|
||||
m_staticText_progress_percent->SetForegroundColour(wxColour(0x9A5F21));
|
||||
|
||||
m_staticText_progress_percent_icon = new wxStaticText(penel_text, wxID_ANY, "%", wxDefaultPosition, wxDefaultSize, 0);
|
||||
m_staticText_progress_percent_icon->SetFont(::Label::Body_11);
|
||||
m_staticText_progress_percent_icon->SetMaxSize(wxSize(-1, FromDIP(13)));
|
||||
m_staticText_progress_percent_icon->SetForegroundColour(wxColour(0, 174, 66));
|
||||
m_staticText_progress_percent_icon->SetForegroundColour(wxColour(0x9A5F21));
|
||||
|
||||
sizer_percent->Add(m_staticText_progress_percent, 0, 0, 0);
|
||||
|
||||
|
@ -1705,7 +1705,7 @@ wxBoxSizer *StatusBasePanel::create_misc_control(wxWindow *parent)
|
|||
StateColor(std::make_pair(DISCONNECT_TEXT_COL, (int)StateColor::Disabled), std::make_pair(NORMAL_FAN_TEXT_COL, (int)StateColor::Normal)));
|
||||
|
||||
m_switch_fan->Bind(wxEVT_ENTER_WINDOW, [this](auto& e) {
|
||||
m_fan_panel->SetBackgroundColor(wxColour(0, 174, 66));
|
||||
m_fan_panel->SetBackgroundColor(wxColour(0x9A5F21));
|
||||
});
|
||||
|
||||
m_switch_fan->Bind(wxEVT_LEAVE_WINDOW, [this, parent](auto& e) {
|
||||
|
|
|
@ -123,7 +123,7 @@ StepMeshDialog::StepMeshDialog(wxWindow* parent, Slic3r::Step& file, double line
|
|||
wxStaticText *tips = new wxStaticText(this, wxID_ANY, _L("View Wiki for more information"));
|
||||
wxFont font(10, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false);
|
||||
font.SetUnderlined(true);
|
||||
tips->SetForegroundColour(StateColor::darkModeColorFor(wxColour(0, 174, 66)));
|
||||
tips->SetForegroundColour(StateColor::darkModeColorFor(wxColour(0x9A5F21)));
|
||||
tips->SetFont(font);
|
||||
tips->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent& e) {
|
||||
wxLaunchDefaultBrowser("https://wiki.bambulab.com/en/software/bambu-studio/step");
|
||||
|
|
|
@ -2101,7 +2101,7 @@ void SyncAmsInfoDialog::Enable_Auto_Refill(bool enable)
|
|||
{
|
||||
if (!m_ams_backup_tip) { return; }
|
||||
if (enable) {
|
||||
m_ams_backup_tip->SetForegroundColour(wxColour(0x00AE42));
|
||||
m_ams_backup_tip->SetForegroundColour(wxColour(0x9A5F21));
|
||||
} else {
|
||||
m_ams_backup_tip->SetForegroundColour(wxColour(0x90, 0x90, 0x90));
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ EVT_PAINT(TabButton::paintEvent)
|
|||
|
||||
END_EVENT_TABLE()
|
||||
|
||||
static wxColour BORDER_HOVER_COL = wxColour(0, 174, 66);
|
||||
static wxColour BORDER_HOVER_COL = wxColour(0x9A5F21);
|
||||
|
||||
const static wxColour TAB_BUTTON_BG = wxColour("#FEFFFF");
|
||||
const static wxColour TAB_BUTTON_SEL = wxColour(219, 253, 213, 255);
|
||||
|
|
|
@ -1011,7 +1011,7 @@ void UnsavedChangesDialog::build(Preset::Type type, PresetCollection *dependent_
|
|||
// Add Buttons
|
||||
wxFont btn_font = this->GetFont().Scaled(1.4f);
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
auto add_btn = [this, m_sizer_button, btn_font, dependent_presets, btn_bg_green](Button **btn, int &btn_id, Action close_act, const wxString &label,
|
||||
bool focus, bool process_enable = true) {
|
||||
|
@ -1019,7 +1019,7 @@ void UnsavedChangesDialog::build(Preset::Type type, PresetCollection *dependent_
|
|||
|
||||
if (focus) {
|
||||
(*btn)->SetBackgroundColor(btn_bg_green);
|
||||
(*btn)->SetBorderColor(wxColour(0, 174, 66));
|
||||
(*btn)->SetBorderColor(wxColour(0x9A5F21));
|
||||
(*btn)->SetTextColor(wxColour("#FFFFFE"));
|
||||
} else {
|
||||
(*btn)->SetTextColor(wxColour(107, 107, 107));
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
namespace Slic3r {
|
||||
namespace GUI {
|
||||
|
||||
static const wxColour TEXT_NORMAL_CLR = wxColour(0, 174, 66);
|
||||
static const wxColour TEXT_NORMAL_CLR = wxColour(0x9A5F21);
|
||||
static const wxColour TEXT_FAILED_CLR = wxColour(255, 111, 0);
|
||||
|
||||
static const std::unordered_map<wxString, wxString> ACCESSORY_DISPLAY_STR = {
|
||||
|
@ -224,9 +224,12 @@ MachineInfoPanel::MachineInfoPanel(wxWindow* parent, wxWindowID id, const wxPoin
|
|||
|
||||
m_button_upgrade_firmware = new Button(this, _L("Update firmware"));
|
||||
StateColor btn_bg(std::pair<wxColour, int>(wxColour(255, 255, 255), StateColor::Disabled), std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered), std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Enabled),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
StateColor btn_bd(std::pair<wxColour, int>(wxColour(144, 144, 144), StateColor::Disabled), std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Enabled));
|
||||
//std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered), std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Enabled),
|
||||
std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered), std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Enabled),
|
||||
//std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
//StateColor btn_bd(std::pair<wxColour, int>(wxColour(144, 144, 144), StateColor::Disabled), std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Enabled));
|
||||
StateColor btn_bd(std::pair<wxColour, int>(wxColour(144, 144, 144), StateColor::Disabled), std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Enabled));
|
||||
StateColor btn_text(std::pair<wxColour, int>(wxColour(144, 144, 144), StateColor::Disabled), std::pair<wxColour, int>(wxColour(255, 255, 255), StateColor::Enabled));
|
||||
m_button_upgrade_firmware->SetBackgroundColor(btn_bg);
|
||||
m_button_upgrade_firmware->SetBorderColor(btn_bd);
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
#include <wx/dynarray.h>
|
||||
|
||||
|
||||
#define AMS_CONTROL_BRAND_COLOUR wxColour(0, 174, 66)
|
||||
#define AMS_CONTROL_BRAND_COLOUR wxColour(0x9A5F21)
|
||||
#define AMS_CONTROL_GRAY700 wxColour(107, 107, 107)
|
||||
#define AMS_CONTROL_GRAY800 wxColour(50, 58, 61)
|
||||
#define AMS_CONTROL_GRAY500 wxColour(172, 172, 172)
|
||||
|
|
|
@ -9,7 +9,8 @@ StateColor blank_bg(StateColor(std::make_pair(wxColour("#FFFFFF"), (int)StateCol
|
|||
static const wxColour BUTTON_BG_COL = wxColour("#EEEEEE");
|
||||
static const wxColour BUTTON_IN_BG_COL = wxColour("#CECECE");
|
||||
|
||||
static const wxColour bd = wxColour(0, 174, 66);
|
||||
//static const wxColour bd = wxColour(0x9A5F21);
|
||||
static const wxColour bd = wxColour(0x9A5F21);
|
||||
static const wxColour text_num_color = wxColour(0x898989);
|
||||
static const wxColour BUTTON_PRESS_COL = wxColour(172, 172, 172);
|
||||
static const double sqrt2 = std::sqrt(2);
|
||||
|
|
|
@ -31,7 +31,8 @@ Button::Button()
|
|||
background_color = StateColor(
|
||||
std::make_pair(0xF0F0F1, (int) StateColor::Disabled),
|
||||
std::make_pair(0x37EE7C, (int) StateColor::Hovered | StateColor::Checked),
|
||||
std::make_pair(0x00AE42, (int) StateColor::Checked),
|
||||
//std::make_pair(0x00AE42, (int) StateColor::Checked),
|
||||
std::make_pair(0x215F9A, (int)StateColor::Checked),
|
||||
std::make_pair(*wxLIGHT_GREY, (int) StateColor::Hovered),
|
||||
std::make_pair(*wxWHITE, (int) StateColor::Normal));
|
||||
text_color = StateColor(
|
||||
|
|
|
@ -52,7 +52,8 @@ ComboBox::ComboBox(wxWindow *parent,
|
|||
GetTextCtrl()->Hide();
|
||||
TextInput::SetFont(Label::Body_14);
|
||||
TextInput::SetBorderColor(StateColor(std::make_pair(0xDBDBDB, (int) StateColor::Disabled),
|
||||
std::make_pair(0x00AE42, (int) StateColor::Hovered),
|
||||
//std::make_pair(0x00AE42, (int) StateColor::Hovered),
|
||||
std::make_pair(0x215F9A, (int)StateColor::Hovered),
|
||||
std::make_pair(0xDBDBDB, (int) StateColor::Normal)));
|
||||
TextInput::SetBackgroundColor(StateColor(std::make_pair(0xF0F0F1, (int) StateColor::Disabled),
|
||||
std::make_pair(0xEDFAF2, (int) StateColor::Focused),
|
||||
|
|
|
@ -37,7 +37,8 @@ DropDown::DropDown(std::vector<Item> &items)
|
|||
, state_handler(this)
|
||||
, border_color(0xDBDBDB)
|
||||
, text_color(0x363636)
|
||||
, selector_border_color(std::make_pair(0x00AE42, (int) StateColor::Hovered),
|
||||
//, selector_border_color(std::make_pair(0x00AE42, (int) StateColor::Hovered),
|
||||
, selector_border_color(std::make_pair(0x215F9A, (int)StateColor::Hovered),
|
||||
std::make_pair(*wxWHITE, (int) StateColor::Normal))
|
||||
, selector_background_color(std::make_pair(0xEDFAF2, (int) StateColor::Checked),
|
||||
std::make_pair(*wxWHITE, (int) StateColor::Normal))
|
||||
|
|
|
@ -375,7 +375,7 @@ FanControlNew::FanControlNew(wxWindow *parent, const AirDuctData &fan_data, int
|
|||
sizer_control->Add(sizer_control_top, 0, wxEXPAND, 0);
|
||||
|
||||
m_static_status_name = new wxStaticText(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxST_ELLIPSIZE_END | wxALIGN_CENTER_HORIZONTAL);
|
||||
m_static_status_name->SetForegroundColour(wxColour(0x00AE42));
|
||||
m_static_status_name->SetForegroundColour(wxColour(0x9A5F21));
|
||||
m_static_status_name->SetBackgroundColour(wxColour(248, 248, 248));
|
||||
m_static_status_name->SetFont(Label::Head_18);
|
||||
m_static_status_name->SetMinSize(wxSize(FromDIP(100), -1));
|
||||
|
|
|
@ -27,7 +27,8 @@ EVT_PAINT(FanSwitchButton::paintEvent)
|
|||
|
||||
END_EVENT_TABLE()
|
||||
|
||||
static const wxColour DEFAULT_HOVER_COL = wxColour(0, 174, 66);
|
||||
//static const wxColour DEFAULT_HOVER_COL = wxColour(0x9A5F21);
|
||||
static const wxColour DEFAULT_HOVER_COL = wxColour(0x9A5F21);
|
||||
static const wxColour DEFAULT_PRESS_COL = wxColour(238, 238, 238);
|
||||
|
||||
ImageSwitchButton::ImageSwitchButton(wxWindow *parent, ScalableBitmap &img_on, ScalableBitmap &img_off, long style)
|
||||
|
|
|
@ -45,7 +45,7 @@ void ProgressBar::create(wxWindow *parent, wxWindowID id, const wxPoint &pos, w
|
|||
auto m_progress_bk = new StaticBox(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL);
|
||||
m_progress_bk->SetBackgroundColour(wxColour(238, 130, 238));
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(27, 136, 68), StateColor::Pressed), std::pair<wxColour, int>(wxColour(61, 203, 115), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 174, 66), StateColor::Normal));
|
||||
std::pair<wxColour, int>(wxColour(0x9A5F21), StateColor::Normal));
|
||||
|
||||
wxBoxSizer *m_sizer_progress= new wxBoxSizer(wxHORIZONTAL);
|
||||
|
||||
|
|
|
@ -30,7 +30,8 @@ public:
|
|||
double m_radius = {7};
|
||||
double m_proportion = {0};
|
||||
wxColour m_progress_background_colour = {233, 233, 233};
|
||||
wxColour m_progress_colour = {0, 174, 66};
|
||||
//wxColour m_progress_colour = {0, 174, 66};
|
||||
wxColour m_progress_colour = { 33, 95, 154 };
|
||||
wxColour m_progress_colour_disable = {255, 111, 0};
|
||||
wxString m_disable_text;
|
||||
|
||||
|
|
|
@ -28,8 +28,10 @@ SideButton::SideButton(wxWindow* parent, wxString text, wxString icon, long stly
|
|||
|
||||
border_color.append(0x6B6B6B, StateColor::Disabled);
|
||||
border_color.append(wxColour(23, 129, 63), StateColor::Pressed);
|
||||
border_color.append(wxColour(48,221,112), StateColor::Hovered);
|
||||
border_color.append(0x00AE42, StateColor::Normal);
|
||||
//border_color.append(wxColour(48,221,112), StateColor::Hovered);
|
||||
border_color.append(0x0073BC, StateColor::Hovered);
|
||||
//border_color.append(0x00AE42, StateColor::Normal);
|
||||
border_color.append(0x215F9A, StateColor::Normal);
|
||||
border_color.setTakeFocusedAsHovered(false);
|
||||
|
||||
text_color.append(0xACACAC, StateColor::Disabled);
|
||||
|
@ -39,8 +41,12 @@ SideButton::SideButton(wxWindow* parent, wxString text, wxString icon, long stly
|
|||
|
||||
background_color.append(0x6B6B6B, StateColor::Disabled);
|
||||
background_color.append(wxColour(23, 129, 63), StateColor::Pressed);
|
||||
background_color.append(wxColour(48, 221, 112), StateColor::Hovered);
|
||||
background_color.append(0x00AE42, StateColor::Normal);
|
||||
/*background_color.append(wxColour(48, 221, 112), StateColor::Hovered);
|
||||
background_color.append(0x00AE42, StateColor::Normal);*/
|
||||
//background_color.append(wxColour(48, 221, 112), StateColor::Hovered);
|
||||
background_color.append(0x0073BC, StateColor::Hovered);
|
||||
//background_color.append(0x00AE42, StateColor::Normal);
|
||||
background_color.append(0x215F9A, StateColor::Normal);
|
||||
background_color.setTakeFocusedAsHovered(false);
|
||||
|
||||
SetBottomColour(wxColour("#3B4446"));
|
||||
|
|
|
@ -528,8 +528,10 @@ void SideTools::show_status(int status)
|
|||
else if ((status & (int)MonitorStatus::MONITOR_CONNECTING) != 0) {
|
||||
m_hyperlink->Hide();
|
||||
m_connection_info->SetLabel(_L("Connecting..."));
|
||||
m_connection_info->SetBackgroundColor(0x00AE42);
|
||||
m_connection_info->SetBorderColor(0x00AE42);
|
||||
//m_connection_info->SetBackgroundColor(0x00AE42);
|
||||
m_connection_info->SetBackgroundColor(0x9A5F21);
|
||||
//m_connection_info->SetBorderColor(0x00AE42);
|
||||
m_connection_info->SetBorderColor(0x9A5F21);
|
||||
m_connection_info->Show();
|
||||
m_more_button->Hide();
|
||||
m_side_error_panel->Hide();
|
||||
|
|
|
@ -14,7 +14,8 @@
|
|||
#define SIDE_TOOLS_GREY900 wxColour(38, 46, 48)
|
||||
#define SIDE_TOOLS_GREY600 wxColour(144, 144, 144)
|
||||
#define SIDE_TOOLS_GREY400 wxColour(206, 206, 206)
|
||||
#define SIDE_TOOLS_BRAND wxColour(0, 174, 66)
|
||||
//#define SIDE_TOOLS_BRAND wxColour(0x9A5F21)
|
||||
#define SIDE_TOOLS_BRAND wxColour(0x9A5F21)
|
||||
#define SIDE_TOOLS_LIGHT_GREEN wxColour(219, 253, 231)
|
||||
|
||||
enum WifiSignal {
|
||||
|
|
|
@ -26,7 +26,8 @@ SpinInput::SpinInput()
|
|||
{
|
||||
radius = 0;
|
||||
border_width = 1;
|
||||
border_color = StateColor(std::make_pair(0xDBDBDB, (int) StateColor::Disabled), std::make_pair(0x00AE42, (int) StateColor::Hovered),
|
||||
//border_color = StateColor(std::make_pair(0xDBDBDB, (int) StateColor::Disabled), std::make_pair(0x00AE42, (int) StateColor::Hovered),
|
||||
border_color = StateColor(std::make_pair(0xDBDBDB, (int)StateColor::Disabled), std::make_pair(0x0073BC, (int)StateColor::Hovered),
|
||||
std::make_pair(0xDBDBDB, (int) StateColor::Normal));
|
||||
background_color = StateColor(std::make_pair(0xF0F0F1, (int) StateColor::Disabled), std::make_pair(*wxWHITE, (int) StateColor::Normal));
|
||||
}
|
||||
|
|
|
@ -23,7 +23,8 @@ StepCtrlBase::StepCtrlBase(wxWindow * parent,
|
|||
, font_tip(Label::Body_14)
|
||||
, clr_bar(0xACACAC)
|
||||
, clr_step(0xACACAC)
|
||||
, clr_text(std::make_pair(0x00AE42, (int) StateColor::Checked),
|
||||
//, clr_text(std::make_pair(0x00AE42, (int) StateColor::Checked),
|
||||
, clr_text(std::make_pair(0x215F9A, (int)StateColor::Checked),
|
||||
std::make_pair(0x6B6B6B, (int) StateColor::Normal))
|
||||
, clr_tip(0x828280)
|
||||
{
|
||||
|
@ -256,7 +257,8 @@ StepIndicator::StepIndicator(wxWindow *parent, wxWindowID id, const wxPoint &pos
|
|||
clr_bar = 0xE1E1E1;
|
||||
clr_step = StateColor(
|
||||
std::make_pair(0xACACAC, (int) StateColor::Disabled),
|
||||
std::make_pair(0x00AE42, 0));
|
||||
//std::make_pair(0x00AE42, 0));
|
||||
std::make_pair(0x215F9A, 0));
|
||||
clr_text = StateColor(
|
||||
std::make_pair(0xACACAC, (int) StateColor::Disabled),
|
||||
std::make_pair(0x323A3D, (int) StateColor::Checked),
|
||||
|
@ -404,7 +406,7 @@ void FilamentStepIndicator::doRender(wxDC& dc)
|
|||
}
|
||||
|
||||
dc.SetFont(::Label::Head_16);
|
||||
dc.SetTextForeground(wxColour(0, 174, 66));
|
||||
dc.SetTextForeground(wxColour(0x9A5F21));
|
||||
int circleX = 20;
|
||||
int circleY = 20;
|
||||
wxSize sz = dc.GetTextExtent(L"Loading");
|
||||
|
|
|
@ -21,7 +21,7 @@ SwitchButton::SwitchButton(wxWindow* parent, wxWindowID id)
|
|||
, m_off(this, "toggle_off", 16)
|
||||
, text_color(std::pair{0xfffffe, (int) StateColor::Checked}, std::pair{0x6B6B6B, (int) StateColor::Normal})
|
||||
, track_color(0xD9D9D9)
|
||||
, thumb_color(std::pair{0x00AE42, (int) StateColor::Checked}, std::pair{0xD9D9D9, (int) StateColor::Normal})
|
||||
, thumb_color(std::pair{0x009FF3, (int) StateColor::Checked}, std::pair{0xD9D9D9, (int) StateColor::Normal})
|
||||
{
|
||||
SetBackgroundColour(StaticBox::GetParentBackgroundColor(parent));
|
||||
Bind(wxEVT_TOGGLEBUTTON, [this](auto& e) { update(); e.Skip(); });
|
||||
|
@ -251,7 +251,7 @@ void SwitchBoard::doRender(wxDC &dc)
|
|||
|
||||
/*left*/
|
||||
if (switch_left) {
|
||||
is_enable ? dc.SetBrush(wxBrush(wxColour(0, 174, 66))) : dc.SetBrush(disable_color);
|
||||
is_enable ? dc.SetBrush(wxBrush(wxColour(0x9A5F21))) : dc.SetBrush(disable_color);
|
||||
dc.DrawRoundedRectangle(0, 0, GetSize().x / 2, GetSize().y, 8);
|
||||
}
|
||||
|
||||
|
@ -269,7 +269,7 @@ void SwitchBoard::doRender(wxDC &dc)
|
|||
|
||||
/*right*/
|
||||
if (switch_right) {
|
||||
if (is_enable) {dc.SetBrush(wxBrush(wxColour(0, 174, 66)));
|
||||
if (is_enable) {dc.SetBrush(wxBrush(wxColour(0x9A5F21)));
|
||||
} else {dc.SetBrush(disable_color);}
|
||||
dc.DrawRoundedRectangle(GetSize().x / 2, 0, GetSize().x / 2, GetSize().y, 8);
|
||||
}
|
||||
|
|
|
@ -305,7 +305,8 @@ void TabCtrl::doRender(wxDC& dc)
|
|||
#else
|
||||
dc.SetPen(wxPen(border_color.colorForStates(states), border_width));
|
||||
dc.DrawLine(0, size.y - BS2, size.x, size.y - BS2);
|
||||
wxColor c(0x42AE00);
|
||||
//wxColor c(0x42AE00);
|
||||
wxColor c(0x9A5F21);
|
||||
dc.SetPen(wxPen(c, 1));
|
||||
dc.SetBrush(c);
|
||||
dc.DrawRoundedRectangle(x1 - radius, size.y - BS2 - border_width * 3, x2 + radius * 2 - x1, border_width * 3, radius);
|
||||
|
|
|
@ -25,7 +25,8 @@ TempInput::TempInput()
|
|||
{
|
||||
hover = false;
|
||||
radius = 0;
|
||||
border_color = StateColor(std::make_pair(*wxWHITE, (int) StateColor::Disabled), std::make_pair(0x00AE42, (int) StateColor::Focused), std::make_pair(0x00AE42, (int) StateColor::Hovered),
|
||||
//border_color = StateColor(std::make_pair(*wxWHITE, (int) StateColor::Disabled), std::make_pair(0x00AE42, (int) StateColor::Focused), std::make_pair(0x00AE42, (int) StateColor::Hovered),
|
||||
border_color = StateColor(std::make_pair(*wxWHITE, (int)StateColor::Disabled), std::make_pair(0x215F9A, (int)StateColor::Focused), std::make_pair(0x215F9A, (int)StateColor::Hovered),
|
||||
std::make_pair(*wxWHITE, (int) StateColor::Normal));
|
||||
background_color = StateColor(std::make_pair(*wxWHITE, (int) StateColor::Disabled), std::make_pair(*wxWHITE, (int) StateColor::Normal));
|
||||
SetFont(Label::Body_12);
|
||||
|
@ -426,8 +427,10 @@ void TempInput::render(wxDC &dc)
|
|||
if (warning_mode) {
|
||||
border_color = wxColour(255, 111, 0);
|
||||
} else {
|
||||
border_color = StateColor(std::make_pair(*wxWHITE, (int) StateColor::Disabled), std::make_pair(0x00AE42, (int) StateColor::Focused),
|
||||
std::make_pair(0x00AE42, (int) StateColor::Hovered), std::make_pair(*wxWHITE, (int) StateColor::Normal));
|
||||
//border_color = StateColor(std::make_pair(*wxWHITE, (int) StateColor::Disabled), std::make_pair(0x00AE42, (int) StateColor::Focused),
|
||||
border_color = StateColor(std::make_pair(*wxWHITE, (int)StateColor::Disabled), std::make_pair(0x215F9A, (int)StateColor::Focused),
|
||||
//std::make_pair(0x00AE42, (int) StateColor::Hovered), std::make_pair(*wxWHITE, (int) StateColor::Normal));
|
||||
std::make_pair(0x215F9A, (int)StateColor::Hovered), std::make_pair(*wxWHITE, (int)StateColor::Normal));
|
||||
}
|
||||
|
||||
dc.SetBrush(*wxTRANSPARENT_BRUSH);
|
||||
|
|
|
@ -25,7 +25,8 @@ TextInput::TextInput()
|
|||
{
|
||||
radius = 0;
|
||||
border_width = 1;
|
||||
border_color = StateColor(std::make_pair(0xDBDBDB, (int) StateColor::Disabled), std::make_pair(0x00AE42, (int) StateColor::Hovered),
|
||||
//border_color = StateColor(std::make_pair(0xDBDBDB, (int) StateColor::Disabled), std::make_pair(0x00AE42, (int) StateColor::Hovered),
|
||||
border_color = StateColor(std::make_pair(0xDBDBDB, (int)StateColor::Disabled), std::make_pair(0x215F9A, (int)StateColor::Hovered),
|
||||
std::make_pair(0xDBDBDB, (int) StateColor::Normal));
|
||||
background_color = StateColor(std::make_pair(0xF0F0F1, (int) StateColor::Disabled), std::make_pair(*wxWHITE, (int) StateColor::Normal));
|
||||
SetFont(Label::Body_12);
|
||||
|
|
|
@ -108,8 +108,10 @@ PA_Calibration_Dlg::PA_Calibration_Dlg(wxWindow* parent, wxWindowID id, Plater*
|
|||
m_btnStart = new Button(this, _L("OK"));
|
||||
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(23, 129, 63), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(48, 221, 112), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(0x00AE42, StateColor::Normal));
|
||||
//std::pair<wxColour, int>(wxColour(48, 221, 112), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(0x0073BC, StateColor::Hovered),
|
||||
//std::pair<wxColour, int>(0x00AE42, StateColor::Normal));
|
||||
std::pair<wxColour, int>(0x215F9A, StateColor::Normal));
|
||||
|
||||
m_btnStart->SetBackgroundColor(btn_bg_green);
|
||||
m_btnStart->SetBorderColor(wxColour(0, 150, 136));
|
||||
|
@ -317,8 +319,10 @@ Temp_Calibration_Dlg::Temp_Calibration_Dlg(wxWindow* parent, wxWindowID id, Plat
|
|||
v_sizer->Add(0, FromDIP(10), 0, wxEXPAND, 5);
|
||||
m_btnStart = new Button(this, _L("OK"));
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(23, 129, 63), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(48, 221, 112), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(0x00AE42, StateColor::Normal));
|
||||
//std::pair<wxColour, int>(wxColour(48, 221, 112), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(0x0073BC, StateColor::Hovered),
|
||||
//std::pair<wxColour, int>(0x00AE42, StateColor::Normal));
|
||||
std::pair<wxColour, int>(0x215F9A, StateColor::Normal));
|
||||
|
||||
m_btnStart->SetBackgroundColor(btn_bg_green);
|
||||
m_btnStart->SetBorderColor(wxColour(0, 150, 136));
|
||||
|
@ -489,8 +493,10 @@ MaxVolumetricSpeed_Test_Dlg::MaxVolumetricSpeed_Test_Dlg(wxWindow* parent, wxWin
|
|||
v_sizer->Add(0, FromDIP(10), 0, wxEXPAND, 5);
|
||||
m_btnStart = new Button(this, _L("OK"));
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(23, 129, 63), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(48, 221, 112), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(0x00AE42, StateColor::Normal));
|
||||
//std::pair<wxColour, int>(wxColour(48, 221, 112), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(0x0073BC, StateColor::Hovered),
|
||||
//std::pair<wxColour, int>(0x00AE42, StateColor::Normal));
|
||||
std::pair<wxColour, int>(0x215F9A, StateColor::Normal));
|
||||
|
||||
m_btnStart->SetBackgroundColor(btn_bg_green);
|
||||
m_btnStart->SetBorderColor(wxColour(0, 150, 136));
|
||||
|
@ -594,8 +600,10 @@ VFA_Test_Dlg::VFA_Test_Dlg(wxWindow* parent, wxWindowID id, Plater* plater)
|
|||
v_sizer->Add(0, FromDIP(10), 0, wxEXPAND, 5);
|
||||
m_btnStart = new Button(this, _L("OK"));
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(23, 129, 63), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(48, 221, 112), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(0x00AE42, StateColor::Normal));
|
||||
//std::pair<wxColour, int>(wxColour(48, 221, 112), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(0x0073BC, StateColor::Hovered),
|
||||
//std::pair<wxColour, int>(0x00AE42, StateColor::Normal));
|
||||
std::pair<wxColour, int>(0x215F9A, StateColor::Normal));
|
||||
|
||||
m_btnStart->SetBackgroundColor(btn_bg_green);
|
||||
m_btnStart->SetBorderColor(wxColour(0, 150, 136));
|
||||
|
@ -700,8 +708,10 @@ Retraction_Test_Dlg::Retraction_Test_Dlg(wxWindow* parent, wxWindowID id, Plater
|
|||
v_sizer->Add(0, FromDIP(10), 0, wxEXPAND, 5);
|
||||
m_btnStart = new Button(this, _L("OK"));
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(23, 129, 63), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(48, 221, 112), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(0x00AE42, StateColor::Normal));
|
||||
//std::pair<wxColour, int>(wxColour(48, 221, 112), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(0x0073BC, StateColor::Hovered),
|
||||
//std::pair<wxColour, int>(0x00AE42, StateColor::Normal));
|
||||
std::pair<wxColour, int>(0x215F9A, StateColor::Normal));
|
||||
|
||||
m_btnStart->SetBackgroundColor(btn_bg_green);
|
||||
m_btnStart->SetBorderColor(wxColour(0, 150, 136));
|
||||
|
|
|
@ -609,6 +609,7 @@ bool CalibUtils::calib_flowrate(int pass, const CalibInfo &calib_info, wxString
|
|||
DynamicPrintConfig print_config = calib_info.print_prest->config;
|
||||
DynamicPrintConfig filament_config = calib_info.filament_prest->config;
|
||||
DynamicPrintConfig printer_config = calib_info.printer_prest->config;
|
||||
DynamicConfig config_config = calib_info.config_prest->config;
|
||||
|
||||
/// --- scale ---
|
||||
// model is created for a 0.4 nozzle, scale z with nozzle size.
|
||||
|
|
|
@ -24,6 +24,7 @@ public:
|
|||
Preset* printer_prest;
|
||||
Preset* filament_prest;
|
||||
Preset* print_prest;
|
||||
Preset* config_prest;
|
||||
BedType bed_type;
|
||||
std::string dev_id;
|
||||
std::string select_ams;
|
||||
|
|
Loading…
Reference in New Issue