Merge branch 'main' into feat/configurable-bambu-network-lib
|
|
@ -14346,7 +14346,7 @@ msgid ""
|
|||
"\n"
|
||||
"Using a non-zero value is useful if the printer is set up to print without a "
|
||||
"prime line.\n"
|
||||
"Final number of loops is not taking into account while arranging or "
|
||||
"Final number of loops is not taken into account while arranging or "
|
||||
"validating objects distance. Increase loop number in such case."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
|||
BIN
resources/handy_models/calicat.stl
Normal file
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M10.2,13.8A20.875,20.875,0,0,1,6.376,8.5C4.305,4.673,3.353,1.124,4.25.572" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><path d="M1.781,6.381A18.541,18.541,0,0,1,8,5.5c4.142,0,7.5.9,7.5,2" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><path d="M12.017,2.314A21.814,21.814,0,0,1,9.624,8.5c-2.071,3.826-4.477,6.48-5.374,5.927" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><path d="M15.5,7.5c0,1.1-3.358,2-7.5,2S.5,8.6.5,7.5c0-.414.472-.8,1.281-1.118" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><path d="M4.25,14.426c-.9-.552.055-4.1,2.126-7.927S10.853.02,11.75.572c.336.207.413.835.267,1.742" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><path d="M4.25.572c.9-.552,3.3,2.1,5.374,5.927s3.023,7.375,2.126,7.927c-.336.207-.885-.036-1.548-.624" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><circle cx="12" cy="2.804" r="1" style="fill:#009688;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><circle cx="9.6" cy="13.196" r="1" style="fill:#009688;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><circle cx="2.5" cy="6.499" r="1" style="fill:#009688;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M2.21,8.77c1.38.44,3.46.73,5.79.73,4.14,0,7.5-.9,7.5-2s-3.36-2-7.5-2S.5,6.4.5,7.5c0,.48.64.93,1.71,1.27" style="fill:none; stroke:#949494; stroke-linecap:round; stroke-linejoin:round; stroke-width:.8px;"/><circle cx="1.5" cy="7.5" r="1" style="fill:#009688; stroke:#009688; stroke-linecap:round; stroke-linejoin:round;"/><path d="M12,11.88c-.3-1.41-1.1-3.36-2.26-5.38C7.66,2.91,5.21.45,4.25,1s-.05,3.91,2.02,7.5,4.53,6.05,5.48,5.5c.42-.24.48-1.02.25-2.12" style="fill:none; stroke:#949494; stroke-linecap:round; stroke-linejoin:round; stroke-width:.8px;"/><circle cx="11.25" cy="13.13" r="1" style="fill:#009688; stroke:#009688; stroke-linecap:round; stroke-linejoin:round;"/><path d="M9.79,1.85c-1.07.97-2.36,2.63-3.52,4.65-2.07,3.59-2.97,6.94-2.02,7.5s3.41-1.91,5.48-5.5,2.97-6.94,2.02-7.5c-.42-.24-1.12.09-1.96.85" style="fill:none; stroke:#949494; stroke-linecap:round; stroke-linejoin:round; stroke-width:.8px;"/><circle cx="11.25" cy="1.87" r="1" style="fill:#009688; stroke:#009688; stroke-linecap:round; stroke-linejoin:round;"/></svg>
|
||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.2 KiB |
|
|
@ -1,5 +1 @@
|
|||
<svg width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M5.88312 4.68555C5.88312 4.13326 6.33083 3.68555 6.88312 3.68555H13.5059C14.0582 3.68555 14.5059 4.13326 14.5059 4.68555V10.3887H5.88312V4.68555Z" stroke="#6B6B6B"/>
|
||||
<rect x="3.8725" y="10.3887" width="12.7037" height="7.55371" rx="1.2" stroke="#6B6B6B"/>
|
||||
<path d="M8.21991 5.65234C8.21991 5.3762 8.44377 5.15234 8.71991 5.15234H11.7288C12.005 5.15234 12.2288 5.3762 12.2288 5.65234V10.3887H8.21991V5.65234Z" stroke="#6B6B6B"/>
|
||||
</svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="44" height="44" viewBox="0 0 44 44"><rect x="19" y="15" width="1" height="14" style="fill:#009688; opacity:.5;"/><rect x="20" y="15" width="1" height="14" style="fill:#009688;"/><rect x="21" y="15" width="1" height="14" style="fill:#009688; opacity:.5;"/><rect x="22" y="15" width="1" height="14" style="fill:#009688;"/><rect x="23" y="15" width="1" height="14" style="fill:#009688; opacity:.5;"/><rect x="24" y="15" width="1" height="14" style="fill:#009688;"/><rect x="25" y="15" width="1" height="14" style="fill:#009688; opacity:.5;"/><line x1="26.5" y1="14" x2="26.5" y2="30" style="fill:none; stroke:#949494;"/><line x1="18.5" y1="14" x2="18.5" y2="30" style="fill:none; stroke:#949494;"/><path d="M28.5,23v-9.5c0-1.66-1.34-3-3-3h-6c-1.66,0-3,1.34-3,3v9.5" style="fill:none; stroke:#949494;"/><path d="M15,23v11h15v-11h-15ZM21,26v-1c0-.55.45-1,1-1h1c.55,0,1,.45,1,1v1c0,.55-.45,1-1,1h-1c-.55,0-1-.45-1-1Z" style="fill:#949494; opacity:.7;"/></svg>
|
||||
|
Before Width: | Height: | Size: 540 B After Width: | Height: | Size: 1 KiB |
|
|
@ -1,8 +1 @@
|
|||
<svg width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M4.26813 4.73877C4.26813 4.18648 4.71584 3.73877 5.26813 3.73877H15.2681C15.8204 3.73877 16.2681 4.18648 16.2681 4.73877V10.4419H4.26813V4.73877Z" stroke="#6B6B6B"/>
|
||||
<rect x="2.00372" y="10.4419" width="16.5289" height="7.55371" rx="1.2" stroke="#6B6B6B"/>
|
||||
<path d="M5.95978 6.13135C5.95978 5.85521 6.18364 5.63135 6.45978 5.63135H13.9891C14.2652 5.63135 14.4891 5.85521 14.4891 6.13135V10.4413H5.95978V6.13135Z" stroke="#6B6B6B"/>
|
||||
<line x1="8.26813" y1="9.96484" x2="8.26813" y2="6.10772" stroke="#6B6B6B"/>
|
||||
<line x1="10.3477" y1="9.96484" x2="10.3477" y2="6.10772" stroke="#6B6B6B"/>
|
||||
<line x1="12.4274" y1="9.96484" x2="12.4274" y2="6.10772" stroke="#6B6B6B"/>
|
||||
</svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="44" height="44" viewBox="0 0 44 44"><rect x="5" y="15" width="1" height="14" style="fill:#009688; opacity:.5;"/><rect x="6" y="15" width="1" height="14" style="fill:#009688;"/><rect x="7" y="15" width="1" height="14" style="fill:#009688; opacity:.5;"/><rect x="8" y="15" width="1" height="14" style="fill:#009688;"/><rect x="9" y="15" width="1" height="14" style="fill:#009688; opacity:.5;"/><rect x="10" y="15" width="1" height="14" style="fill:#009688;"/><rect x="11" y="15" width="1" height="14" style="fill:#009688; opacity:.5;"/><rect x="14" y="15" width="1" height="14" style="fill:#009688; opacity:.5;"/><rect x="15" y="15" width="1" height="14" style="fill:#009688;"/><rect x="16" y="15" width="1" height="14" style="fill:#009688; opacity:.5;"/><rect x="17" y="15" width="1" height="14" style="fill:#009688;"/><rect x="18" y="15" width="1" height="14" style="fill:#009688; opacity:.5;"/><rect x="19" y="15" width="1" height="14" style="fill:#009688;"/><rect x="20" y="15" width="1" height="14" style="fill:#009688; opacity:.5;"/><rect x="23" y="15" width="1" height="14" style="fill:#009688; opacity:.5;"/><rect x="24" y="15" width="1" height="14" style="fill:#009688;"/><rect x="25" y="15" width="1" height="14" style="fill:#009688; opacity:.5;"/><rect x="26" y="15" width="1" height="14" style="fill:#009688;"/><rect x="27" y="15" width="1" height="14" style="fill:#009688; opacity:.5;"/><rect x="28" y="15" width="1" height="14" style="fill:#009688;"/><rect x="29" y="15" width="1" height="14" style="fill:#009688; opacity:.5;"/><rect x="32" y="15" width="1" height="14" style="fill:#009688; opacity:.5;"/><rect x="33" y="15" width="1" height="14" style="fill:#009688;"/><rect x="34" y="15" width="1" height="14" style="fill:#009688; opacity:.5;"/><rect x="35" y="15" width="1" height="14" style="fill:#009688;"/><rect x="36" y="15" width="1" height="14" style="fill:#009688; opacity:.5;"/><rect x="37" y="15" width="1" height="14" style="fill:#009688;"/><rect x="38" y="15" width="1" height="14" style="fill:#009688; opacity:.5;"/><line x1="39.5" y1="14" x2="39.5" y2="30" style="fill:none; stroke:#949494;"/><line x1="31.5" y1="14" x2="31.5" y2="30" style="fill:none; stroke:#949494;"/><line x1="30.5" y1="14" x2="30.5" y2="30" style="fill:none; stroke:#949494;"/><line x1="22.5" y1="14" x2="22.5" y2="30" style="fill:none; stroke:#949494;"/><line x1="21.5" y1="14" x2="21.5" y2="30" style="fill:none; stroke:#949494;"/><line x1="13.5" y1="14" x2="13.5" y2="30" style="fill:none; stroke:#949494;"/><line x1="12.5" y1="14" x2="12.5" y2="30" style="fill:none; stroke:#949494;"/><line x1="4.5" y1="14" x2="4.5" y2="30" style="fill:none; stroke:#949494;"/><path d="M41.5,23v-9.5c0-1.66-1.34-3-3-3H5.5c-1.66,0-3,1.34-3,3v9.5" style="fill:none; stroke:#949494;"/><path d="M39,23H1v11h42v-11h-4ZM7,26v-1c0-.55.45-1,1-1h1c.55,0,1,.45,1,1v1c0,.55-.45,1-1,1h-1c-.55,0-1-.45-1-1ZM16,26v-1c0-.55.45-1,1-1h1c.55,0,1,.45,1,1v1c0,.55-.45,1-1,1h-1c-.55,0-1-.45-1-1ZM25,26v-1c0-.55.45-1,1-1h1c.55,0,1,.45,1,1v1c0,.55-.45,1-1,1h-1c-.55,0-1-.45-1-1ZM34,26v-1c0-.55.45-1,1-1h1c.55,0,1,.45,1,1v1c0,.55-.45,1-1,1h-1c-.55,0-1-.45-1-1Z" style="fill:#949494; opacity:.7;"/></svg>
|
||||
|
Before Width: | Height: | Size: 775 B After Width: | Height: | Size: 3.2 KiB |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M10.2,13.8A20.875,20.875,0,0,1,6.376,8.5C4.305,4.673,3.353,1.124,4.25.572" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><path d="M1.781,6.381A18.541,18.541,0,0,1,8,5.5c4.142,0,7.5.9,7.5,2" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><path d="M12.017,2.314A21.814,21.814,0,0,1,9.624,8.5c-2.071,3.826-4.477,6.48-5.374,5.927" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><path d="M15.5,7.5c0,1.1-3.358,2-7.5,2S.5,8.6.5,7.5c0-.414.472-.8,1.281-1.118" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><path d="M4.25,14.426c-.9-.552.055-4.1,2.126-7.927S10.853.02,11.75.572c.336.207.413.835.267,1.742" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><path d="M4.25.572c.9-.552,3.3,2.1,5.374,5.927s3.023,7.375,2.126,7.927c-.336.207-.885-.036-1.548-.624" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><circle cx="12" cy="2.804" r="1" style="fill:#009688;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><circle cx="9.6" cy="13.196" r="1" style="fill:#009688;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><circle cx="2.5" cy="6.499" r="1" style="fill:#009688;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M2.21,8.77c1.38.44,3.46.73,5.79.73,4.14,0,7.5-.9,7.5-2s-3.36-2-7.5-2S.5,6.4.5,7.5c0,.48.64.93,1.71,1.27" style="fill:none; stroke:#949494; stroke-linecap:round; stroke-linejoin:round; stroke-width:.8px;"/><circle cx="1.5" cy="7.5" r="1" style="fill:#009688; stroke:#009688; stroke-linecap:round; stroke-linejoin:round;"/><path d="M12,11.88c-.3-1.41-1.1-3.36-2.26-5.38C7.66,2.91,5.21.45,4.25,1c-.96.55-.05,3.91,2.02,7.5s4.53,6.05,5.48,5.5c.42-.24.48-1.02.25-2.12" style="fill:none; stroke:#949494; stroke-linecap:round; stroke-linejoin:round; stroke-width:.8px;"/><circle cx="11.25" cy="13.13" r="1" style="fill:#009688; stroke:#009688; stroke-linecap:round; stroke-linejoin:round;"/><path d="M9.79,1.85c-1.07.97-2.36,2.63-3.52,4.65-2.07,3.59-2.97,6.94-2.02,7.5.95.56,3.41-1.91,5.48-5.5s2.97-6.94,2.02-7.5c-.42-.24-1.12.09-1.96.85" style="fill:none; stroke:#949494; stroke-linecap:round; stroke-linejoin:round; stroke-width:.8px;"/><circle cx="11.25" cy="1.87" r="1" style="fill:#009688; stroke:#009688; stroke-linecap:round; stroke-linejoin:round;"/></svg>
|
||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.2 KiB |
|
|
@ -1,5 +1 @@
|
|||
<svg width="52" height="32" viewBox="0 0 52 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M4 0C1.79086 0 0 1.79086 0 4V28C0 30.2091 1.79086 32 4 32H48C50.2091 32 52 30.2091 52 28V4C52 1.79086 50.2091 0 48 0H4ZM44 8H8V24H44V8Z" fill="white"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M36.5 16H33.5V18.2617C33.5 19.9186 32.1569 21.2617 30.5 21.2617C28.8431 21.2617 27.5 19.9186 27.5 18.2617V16H24.5V18.2617C24.5 19.9186 23.1569 21.2617 21.5 21.2617C19.8431 21.2617 18.5 19.9186 18.5 18.2617V16H15.5V18.2617C15.5 19.9186 14.1569 21.2617 12.5 21.2617C10.8432 21.2617 9.5 19.9186 9.5 18.2617V16H4V28H48V16H42.5V18.2617C42.5 19.9186 41.1569 21.2617 39.5 21.2617C37.8431 21.2617 36.5 19.9186 36.5 18.2617V16Z" fill="#CECECE"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M6 9.18382C6 6.32088 8.32088 4 11.1838 4H40.8162C43.6791 4 46 6.32088 46 9.18382V16H42.5V12.2617C42.5 10.6049 41.1569 9.26172 39.5 9.26172C37.8431 9.26172 36.5 10.6049 36.5 12.2617V16H33.5V12.2617C33.5 10.6049 32.1569 9.26172 30.5 9.26172C28.8431 9.26172 27.5 10.6049 27.5 12.2617V16H24.5V12.2617C24.5 10.6049 23.1569 9.26172 21.5 9.26172C19.8431 9.26172 18.5 10.6049 18.5 12.2617V16H15.5V12.2617C15.5 10.6049 14.1569 9.26172 12.5 9.26172C10.8432 9.26172 9.5 10.6049 9.5 12.2617V16H6V9.18382Z" fill="#EEEEEE"/>
|
||||
</svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="52" height="32" viewBox="0 0 52 32"><line x1="43.5" y1="8" x2="43.5" y2="24" style="fill:none; stroke:#949494;"/><line x1="35.5" y1="8" x2="35.5" y2="24" style="fill:none; stroke:#949494;"/><line x1="34.5" y1="8" x2="34.5" y2="24" style="fill:none; stroke:#949494;"/><line x1="26.5" y1="8" x2="26.5" y2="24" style="fill:none; stroke:#949494;"/><line x1="25.5" y1="8" x2="25.5" y2="24" style="fill:none; stroke:#949494;"/><line x1="17.5" y1="8" x2="17.5" y2="24" style="fill:none; stroke:#949494;"/><line x1="16.5" y1="8" x2="16.5" y2="24" style="fill:none; stroke:#949494;"/><line x1="8.5" y1="8" x2="8.5" y2="24" style="fill:none; stroke:#949494;"/><path d="M45.5,17V7.5c0-1.66-1.34-3-3-3H9.5c-1.66,0-3,1.34-3,3v9.5" style="fill:none; stroke:#949494;"/><path d="M43,17H5v11h42v-11h-4ZM11,20v-1c0-.55.45-1,1-1h1c.55,0,1,.45,1,1v1c0,.55-.45,1-1,1h-1c-.55,0-1-.45-1-1ZM20,20v-1c0-.55.45-1,1-1h1c.55,0,1,.45,1,1v1c0,.55-.45,1-1,1h-1c-.55,0-1-.45-1-1ZM29,20v-1c0-.55.45-1,1-1h1c.55,0,1,.45,1,1v1c0,.55-.45,1-1,1h-1c-.55,0-1-.45-1-1ZM38,20v-1c0-.55.45-1,1-1h1c.55,0,1,.45,1,1v1c0,.55-.45,1-1,1h-1c-.55,0-1-.45-1-1Z" style="fill:#949494; opacity:.7;"/></svg>
|
||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.2 KiB |
|
|
@ -1,12 +1 @@
|
|||
<svg width="52" height="32" viewBox="0 0 52 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_21155_56752)">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M4 0C1.79086 0 0 1.79086 0 4V28C0 30.2091 1.79086 32 4 32H48C50.2091 32 52 30.2091 52 28V4C52 1.79086 50.2091 0 48 0H4ZM44 8H8V24H44V8Z" fill="#2F2E33"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M36.5 16H33.5V18.2617C33.5 19.9186 32.1569 21.2617 30.5 21.2617C28.8431 21.2617 27.5 19.9186 27.5 18.2617V16H24.5V18.2617C24.5 19.9186 23.1569 21.2617 21.5 21.2617C19.8431 21.2617 18.5 19.9186 18.5 18.2617V16H15.5V18.2617C15.5 19.9186 14.1569 21.2617 12.5 21.2617C10.8432 21.2617 9.5 19.9186 9.5 18.2617V16H4V28H48V16H42.5V18.2617C42.5 19.9186 41.1569 21.2617 39.5 21.2617C37.8431 21.2617 36.5 19.9186 36.5 18.2617V16Z" fill="#767676"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M6 9.18382C6 6.32088 8.32088 4 11.1838 4H40.8162C43.6791 4 46 6.32088 46 9.18382V16H42.5V12.2617C42.5 10.6049 41.1569 9.26172 39.5 9.26172C37.8431 9.26172 36.5 10.6049 36.5 12.2617V16H33.5V12.2617C33.5 10.6049 32.1569 9.26172 30.5 9.26172C28.8431 9.26172 27.5 10.6049 27.5 12.2617V16H24.5V12.2617C24.5 10.6049 23.1569 9.26172 21.5 9.26172C19.8431 9.26172 18.5 10.6049 18.5 12.2617V16H15.5V12.2617C15.5 10.6049 14.1569 9.26172 12.5 9.26172C10.8432 9.26172 9.5 10.6049 9.5 12.2617V16H6V9.18382Z" fill="#BFBFBF"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_21155_56752">
|
||||
<rect width="52" height="32" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="52" height="32" viewBox="0 0 52 32"><line x1="43.5" y1="8" x2="43.5" y2="24" style="fill:none; stroke:#949494;"/><line x1="35.5" y1="8" x2="35.5" y2="24" style="fill:none; stroke:#949494;"/><line x1="34.5" y1="8" x2="34.5" y2="24" style="fill:none; stroke:#949494;"/><line x1="26.5" y1="8" x2="26.5" y2="24" style="fill:none; stroke:#949494;"/><line x1="25.5" y1="8" x2="25.5" y2="24" style="fill:none; stroke:#949494;"/><line x1="17.5" y1="8" x2="17.5" y2="24" style="fill:none; stroke:#949494;"/><line x1="16.5" y1="8" x2="16.5" y2="24" style="fill:none; stroke:#949494;"/><line x1="8.5" y1="8" x2="8.5" y2="24" style="fill:none; stroke:#949494;"/><path d="M45.5,17V7.5c0-1.66-1.34-3-3-3H9.5c-1.66,0-3,1.34-3,3v9.5" style="fill:none; stroke:#949494;"/><path d="M43,17H5v11h42v-11h-4ZM11,20v-1c0-.55.45-1,1-1h1c.55,0,1,.45,1,1v1c0,.55-.45,1-1,1h-1c-.55,0-1-.45-1-1ZM20,20v-1c0-.55.45-1,1-1h1c.55,0,1,.45,1,1v1c0,.55-.45,1-1,1h-1c-.55,0-1-.45-1-1ZM29,20v-1c0-.55.45-1,1-1h1c.55,0,1,.45,1,1v1c0,.55-.45,1-1,1h-1c-.55,0-1-.45-1-1ZM38,20v-1c0-.55.45-1,1-1h1c.55,0,1,.45,1,1v1c0,.55-.45,1-1,1h-1c-.55,0-1-.45-1-1Z" style="fill:#949494; opacity:.7;"/></svg>
|
||||
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.2 KiB |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><polyline points="0.5 2.5 0.5 5.5 3.5 5.5" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><path d="M6.51,14.43A7,7,0,0,1,.571,8.5" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><path d="M.79,5.5a7,7,0,0,1,13.639,1" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><line x1="11.5" y1="14.5" x2="11.5" y2="11.5" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><line x1="8.5" y1="9.5" x2="11.5" y2="11.5" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><polygon points="11.5 7.5 14.5 9.5 14.5 12.5 11.5 14.5 8.5 12.5 8.5 9.5 11.5 7.5" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><line x1="14.5" y1="9.5" x2="11.5" y2="11.5" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><polyline points="1.5 1.5 1.5 5.5 5.5 5.5" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><line x1="10.5" y1="13.5" x2="10.5" y2="10.5" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><line x1="7.5" y1="8.5" x2="10.5" y2="10.5" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><polygon points="10.5 6.5 13.5 8.5 13.5 11.5 10.5 13.5 7.5 11.5 7.5 8.5 10.5 6.5" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><line x1="13.5" y1="8.5" x2="10.5" y2="10.5" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><path d="M6.02,13.31c-2.26-.58-4.01-2.44-4.42-4.76" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><path d="M1.84,5.5c.82-2.33,3.05-4,5.66-4,2.17,0,4.07,1.15,5.13,2.88" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/></svg>
|
||||
|
Before Width: | Height: | Size: 967 B After Width: | Height: | Size: 1.1 KiB |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><polyline points="0.5 2.5 0.5 5.5 3.5 5.5" style="fill:none;stroke:#ff6f00;stroke-linecap:round;stroke-linejoin:round"/><path d="M6.51,14.43A7,7,0,0,1,.571,8.5" style="fill:none;stroke:#ff6f00;stroke-linecap:round;stroke-linejoin:round"/><path d="M.79,5.5a7,7,0,0,1,13.639,1" style="fill:none;stroke:#ff6f00;stroke-linecap:round;stroke-linejoin:round"/><line x1="11.5" y1="14.5" x2="11.5" y2="11.5" style="fill:none;stroke:#ff6f00;stroke-linecap:round;stroke-linejoin:round"/><line x1="8.5" y1="9.5" x2="11.5" y2="11.5" style="fill:none;stroke:#ff6f00;stroke-linecap:round;stroke-linejoin:round"/><polygon points="11.5 7.5 14.5 9.5 14.5 12.5 11.5 14.5 8.5 12.5 8.5 9.5 11.5 7.5" style="fill:none;stroke:#ff6f00;stroke-linecap:round;stroke-linejoin:round"/><line x1="14.5" y1="9.5" x2="11.5" y2="11.5" style="fill:none;stroke:#ff6f00;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><polyline points="1.5 1.5 1.5 5.5 5.5 5.5" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><line x1="10.5" y1="13.5" x2="10.5" y2="10.5" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><line x1="7.5" y1="8.5" x2="10.5" y2="10.5" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><polygon points="10.5 6.5 13.5 8.5 13.5 11.5 10.5 13.5 7.5 11.5 7.5 8.5 10.5 6.5" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><line x1="13.5" y1="8.5" x2="10.5" y2="10.5" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><path d="M6.02,13.31c-2.26-.58-4.01-2.44-4.42-4.76" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><path d="M1.84,5.5c.82-2.33,3.05-4,5.66-4,2.17,0,4.07,1.15,5.13,2.88" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/></svg>
|
||||
|
Before Width: | Height: | Size: 967 B After Width: | Height: | Size: 1.1 KiB |
1
resources/images/obj_variable_layer_height.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><line x1="14.5" y1="14.5" x2=".55" y2="14.48" style="fill:none; stroke:#949494; stroke-linecap:square; stroke-linejoin:round;"/><line x1="14.5" y1="8.5" x2=".55" y2="8.48" style="fill:none; stroke:#009688; stroke-linecap:square; stroke-linejoin:round;"/><line x1="14.5" y1="12.5" x2=".55" y2="12.48" style="fill:none; stroke:#009688; stroke-linecap:square; stroke-linejoin:round;"/><line x1="14.5" y1="5.5" x2=".55" y2="5.48" style="fill:none; stroke:#009688; stroke-linecap:square; stroke-linejoin:round;"/><line x1="14.5" y1="2.5" x2=".55" y2="2.48" style="fill:none; stroke:#949494; stroke-linecap:square; stroke-linejoin:round;"/><line x1="14.5" y1=".5" x2=".55" y2=".48" style="fill:none; stroke:#949494; stroke-linecap:square; stroke-linejoin:round;"/></svg>
|
||||
|
After Width: | Height: | Size: 892 B |
|
|
@ -1,3 +1 @@
|
|||
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M6.99984 11.7394C5.74282 11.7394 4.53729 11.2401 3.64845 10.3512C2.7596 9.46238 2.26025 8.25685 2.26025 6.99984C2.26025 5.74282 2.7596 4.53729 3.64845 3.64845C4.53729 2.7596 5.74282 2.26025 6.99984 2.26025C8.25685 2.26025 9.46238 2.7596 10.3512 3.64845C11.2401 4.53729 11.7394 5.74282 11.7394 6.99984C11.7394 8.25685 11.2401 9.46238 10.3512 10.3512C9.46238 11.2401 8.25685 11.7394 6.99984 11.7394ZM6.99984 1.1665C5.45274 1.1665 3.96901 1.78109 2.87505 2.87505C1.78109 3.96901 1.1665 5.45274 1.1665 6.99984C1.1665 8.54693 1.78109 10.0307 2.87505 11.1246C3.96901 12.2186 5.45274 12.8332 6.99984 12.8332C8.54693 12.8332 10.0307 12.2186 11.1246 11.1246C12.2186 10.0307 12.8332 8.54693 12.8332 6.99984C12.8332 5.45274 12.2186 3.96901 11.1246 2.87505C10.0307 1.78109 8.54693 1.1665 6.99984 1.1665ZM4.24268 6.65804L6.61247 9.02783C6.82666 9.24202 7.17301 9.24202 7.38493 9.02783L9.757 6.65804C9.97119 6.44385 9.97119 6.09749 9.757 5.88558C9.54281 5.67367 9.19645 5.67139 8.98454 5.88558L7.00212 7.868L5.01969 5.88558C4.8055 5.67139 4.45915 5.67139 4.24723 5.88558C4.03532 6.09977 4.03304 6.44613 4.24723 6.65804H4.24268Z" fill="#6B6B6B"/>
|
||||
</svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"><circle cx="7" cy="7" r="5.5" style="fill:none; stroke:#949494; stroke-miterlimit:10; stroke-width:1px;"/><polyline points="4.5 6.5 7 8.5 9.5 6.5" style="fill:none; stroke:#949494; stroke-linecap:round; stroke-linejoin:round; stroke-width:1px;"/></svg>
|
||||
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 380 B |
|
|
@ -1,3 +1 @@
|
|||
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M6.99984 2.26025C8.25685 2.26025 9.46238 2.7596 10.3512 3.64845C11.2401 4.53729 11.7394 5.74282 11.7394 6.99984C11.7394 8.25685 11.2401 9.46238 10.3512 10.3512C9.46238 11.2401 8.25685 11.7394 6.99984 11.7394C5.74282 11.7394 4.53729 11.2401 3.64845 10.3512C2.7596 9.46238 2.26025 8.25685 2.26025 6.99984C2.26025 5.74282 2.7596 4.53729 3.64845 3.64845C4.53729 2.7596 5.74282 2.26025 6.99984 2.26025ZM6.99984 12.8332C8.54693 12.8332 10.0307 12.2186 11.1246 11.1246C12.2186 10.0307 12.8332 8.54693 12.8332 6.99984C12.8332 5.45274 12.2186 3.96901 11.1246 2.87505C10.0307 1.78109 8.54693 1.1665 6.99984 1.1665C5.45274 1.1665 3.96901 1.78109 2.87505 2.87505C1.78109 3.96901 1.1665 5.45274 1.1665 6.99984C1.1665 8.54693 1.78109 10.0307 2.87505 11.1246C3.96901 12.2186 5.45274 12.8332 6.99984 12.8332ZM9.757 7.34163L7.38721 4.97184C7.17301 4.75765 6.82666 4.75765 6.61475 4.97184L4.24268 7.34163C4.02848 7.55583 4.02848 7.90218 4.24268 8.11409C4.45687 8.32601 4.80322 8.32829 5.01514 8.11409L6.99756 6.13167L8.97998 8.11409C9.19417 8.32829 9.54053 8.32829 9.75244 8.11409C9.96436 7.8999 9.96663 7.55355 9.75244 7.34163H9.757Z" fill="#6B6B6B"/>
|
||||
</svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"><circle cx="7" cy="7" r="5.5" style="fill:none; stroke:#949494; stroke-miterlimit:10; stroke-width:1px;"/><polyline points="9.5 7.5 7 5.5 4.5 7.5" style="fill:none; stroke:#949494; stroke-linecap:round; stroke-linejoin:round; stroke-width:1px;"/></svg>
|
||||
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 380 B |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><path d="M10.848,14.8a21.022,21.022,0,0,1-4.08-5.3C4.559,5.674,3.543,2.124,4.5,1.572" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><path d="M1.866,7.382A21,21,0,0,1,8.5,6.5c4.418,0,8,.895,8,2" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><path d="M12.785,3.314A20.98,20.98,0,0,1,10.232,9.5C8.023,13.326,5.457,15.98,4.5,15.428" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><circle cx="2.5" cy="7.5" r="1" style="fill:#009688;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><path d="M16.5,8.5c0,1.105-3.582,2-8,2s-8-.895-8-2c0-.414.5-.8,1.366-1.118" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><circle cx="12.366" cy="3.804" r="1" style="fill:#009688;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><path d="M4.5,15.428c-.957-.552.059-4.1,2.268-7.928S11.543,1.02,12.5,1.572c.359.207.44.836.285,1.742" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><circle cx="10.634" cy="14.196" r="1" style="fill:#009688;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><path d="M4.5,1.572c.957-.552,3.523,2.1,5.732,5.928s3.225,7.376,2.268,7.928c-.359.207-.944-.036-1.652-.624" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><path d="M2.21,9.77c1.38.44,3.46.73,5.79.73,4.14,0,7.5-.9,7.5-2s-3.36-2-7.5-2S.5,7.4.5,8.5c0,.48.64.93,1.71,1.27" style="fill:none; stroke:#949494; stroke-linecap:round; stroke-linejoin:round; stroke-width:.8px;"/><circle cx="1.5" cy="8.5" r="1" style="fill:#009688; stroke:#009688; stroke-linecap:round; stroke-linejoin:round;"/><path d="M12,12.88c-.3-1.41-1.1-3.36-2.26-5.38C7.66,3.91,5.21,1.45,4.25,2c-.96.55-.05,3.91,2.02,7.5s4.53,6.05,5.48,5.5c.42-.24.48-1.02.25-2.12" style="fill:none; stroke:#949494; stroke-linecap:round; stroke-linejoin:round; stroke-width:.8px;"/><circle cx="11.25" cy="14.13" r="1" style="fill:#009688; stroke:#009688; stroke-linecap:round; stroke-linejoin:round;"/><path d="M9.79,2.85c-1.07.97-2.36,2.63-3.52,4.65-2.07,3.59-2.97,6.94-2.02,7.5.95.56,3.41-1.91,5.48-5.5s2.97-6.94,2.02-7.5c-.42-.24-1.12.09-1.96.85" style="fill:none; stroke:#949494; stroke-linecap:round; stroke-linejoin:round; stroke-width:.8px;"/><circle cx="11.25" cy="2.87" r="1" style="fill:#009688; stroke:#009688; stroke-linecap:round; stroke-linejoin:round;"/></svg>
|
||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.2 KiB |
|
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M15.5,22.5l-14-14m21,7-14-14m0,21-7-7m21-7-7-7M2.086,2.086,21.914,21.914" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round;opacity:0.75"/><path d="M8.5,22.5l14-14m-21,7,14-14m0,21,7-7m-21-7,7-7m13.414.586L2.086,21.914" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><path d="M3.5,1.5h17a2,2,0,0,1,2,2v17a2,2,0,0,1-2,2H3.5a2,2,0,0,1-2-2V3.5A2,2,0,0,1,3.5,1.5Z" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
||||
|
Before Width: | Height: | Size: 591 B |
|
|
@ -1,3 +1 @@
|
|||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M3.54857 9.22868C3.11861 9.22868 2.77271 8.88275 2.77271 8.45275V3.79717C2.77271 3.36718 3.11861 3.02124 3.54857 3.02124C3.97852 3.02124 4.32443 3.36718 4.32443 3.79717V6.38684L4.97098 5.62707C6.29641 4.03642 8.29749 3.02124 10.5313 3.02124C14.5302 3.02124 17.7727 6.26398 17.7727 10.2633C17.7727 14.2625 14.5302 17.5053 10.5313 17.5053C8.90202 17.5053 7.39555 16.9654 6.1865 16.0569C5.84383 15.7982 5.77594 15.3133 6.03133 14.9706C6.28671 14.6279 6.77486 14.56 7.11753 14.8154C8.06796 15.5299 9.24792 15.9534 10.5313 15.9534C13.6736 15.9534 16.221 13.4058 16.221 10.2633C16.221 7.12074 13.6736 4.5731 10.5313 4.5731C8.77594 4.5731 7.20482 5.36843 6.16064 6.62285L6.1574 6.62932L5.26516 7.67682H8.20374C8.6337 7.67682 8.9796 8.02276 8.9796 8.45275C8.9796 8.88275 8.6337 9.22868 8.20374 9.22868H3.54857Z" fill="#6B6B6B"/>
|
||||
</svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"><polyline points=".5 .5 .5 4.5 4.5 4.5" style="fill:none; stroke:#949494; stroke-linecap:round; stroke-linejoin:round;"/><path d="M.84,4.5C1.67,2.17,3.89.5,6.5.5c3.31,0,6,2.69,6,6s-2.69,6-6,6c-2.95,0-5.41-2.13-5.91-4.94" style="fill:none; stroke:#949494; stroke-linecap:round; stroke-linejoin:round;"/></svg>
|
||||
|
Before Width: | Height: | Size: 933 B After Width: | Height: | Size: 436 B |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M13.914,6.45A6.5,6.5,0,0,0,2,4.044V1.5a.5.5,0,0,0-1,0v4a.5.5,0,0,0,.5.5h4a.5.5,0,0,0,0-1H2.612a5.477,5.477,0,1,1-.54,3.388.5.5,0,1,0-.987.162,6.5,6.5,0,0,0,11.693,2.743A6.459,6.459,0,0,0,13.914,6.45Z" style="fill:#ff6f00"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><polyline points="1.5 1.5 1.5 5.5 5.5 5.5" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><path d="M1.84,5.5c.82-2.33,3.05-4,5.66-4,3.31,0,6,2.69,6,6s-2.69,6-6,6c-2.95,0-5.41-2.13-5.91-4.94" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/></svg>
|
||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 440 B |
|
|
@ -1,12 +1 @@
|
|||
<svg width="29" height="33" viewBox="0 0 29 33" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.77881 0.447754C2.56967 0.447754 0.778809 2.23861 0.778809 4.44775V28.4478C0.778809 30.6569 2.56967 32.4478 4.77881 32.4478H24.7788C26.9879 32.4478 28.7788 30.6569 28.7788 28.4478V4.44775C28.7788 2.23861 26.9879 0.447754 24.7788 0.447754H4.77881ZM21.125 8.44775H9.41602V24.4478H21.125V8.44775Z" fill="white"/>
|
||||
<g clip-path="url(#clip0_20951_60572)">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.7788 16.7349H4.77881V28.7349H24.7788V16.7349H17.7788V18.9966C17.7788 20.6535 16.4357 21.9966 14.7788 21.9966C13.122 21.9966 11.7788 20.6535 11.7788 18.9966V16.7349Z" fill="#CECECE"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.9626 4.73486C9.09969 4.73486 6.77881 7.05574 6.77881 9.91868V16.7349H11.7788V12.9966C11.7788 11.3397 13.122 9.99658 14.7788 9.99658C16.4357 9.99658 17.7788 11.3397 17.7788 12.9966V16.7349H22.7788V9.91868C22.7788 7.05574 20.4579 4.73486 17.595 4.73486H11.9626Z" fill="#EEEEEE"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_20951_60572">
|
||||
<rect width="20" height="25" fill="white" transform="translate(4.77881 3.94775)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="28" height="32" viewBox="0 0 28 32"><line x1="17.5" y1="8" x2="17.5" y2="24" style="fill:none; stroke:#949494;"/><line x1="9.5" y1="8" x2="9.5" y2="24" style="fill:none; stroke:#949494;"/><path d="M19.5,17V7.5c0-1.66-1.34-3-3-3h-6c-1.66,0-3,1.34-3,3v9.5" style="fill:none; stroke:#949494;"/><path d="M6,17v11h15v-11H6ZM12,20v-1c0-.55.45-1,1-1h1c.55,0,1,.45,1,1v1c0,.55-.45,1-1,1h-1c-.55,0-1-.45-1-1Z" style="fill:#949494; opacity:.7;"/></svg>
|
||||
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 534 B |
|
|
@ -1,15 +1 @@
|
|||
<svg width="29" height="33" xmlns="http://www.w3.org/2000/svg" fill="none">
|
||||
<defs>
|
||||
<clipPath id="clip0_20951_60572">
|
||||
<rect id="svg_1" x="4.77881" y="3.94775" fill="white" height="25" width="20"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g>
|
||||
<title _mstTextHash="5637814" _mstHash="1">第 1 层</title>
|
||||
<path id="svg_2" fill="#2d2d31" d="m4.77881,0.44775c-2.20914,0 -4,1.79086 -4,4l0,24.00005c0,2.2091 1.79086,4 4,4l19.99999,0c2.2091,0 4,-1.7909 4,-4l0,-24.00005c0,-2.20914 -1.7909,-4 -4,-4l-19.99999,0zm16.34619,8l-11.70898,0l0,16.00005l11.70898,0l0,-16.00005z" clip-rule="evenodd" fill-rule="evenodd"/>
|
||||
<g id="svg_3" clip-path="url(#clip0_20951_60572)">
|
||||
<path id="svg_4" fill="#CECECE" d="m11.7788,16.7349l-6.99999,0l0,12l19.99999,0l0,-12l-7,0l0,2.2617c0,1.6569 -1.3431,3 -3,3c-1.6568,0 -3,-1.3431 -3,-3l0,-2.2617z" clip-rule="evenodd" fill-rule="evenodd"/>
|
||||
<path id="svg_5" fill="#EEEEEE" d="m11.9626,4.73486c-2.86291,0 -5.18379,2.32088 -5.18379,5.18382l0,6.81622l4.99999,0l0,-3.7383c0,-1.6569 1.3432,-3.00002 3,-3.00002c1.6569,0 3,1.34312 3,3.00002l0,3.7383l5,0l0,-6.81622c0,-2.86294 -2.3209,-5.18382 -5.1838,-5.18382l-5.6324,0z" clip-rule="evenodd" fill-rule="evenodd"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="28" height="32" viewBox="0 0 28 32"><line x1="17.5" y1="8" x2="17.5" y2="24" style="fill:none; stroke:#949494;"/><line x1="9.5" y1="8" x2="9.5" y2="24" style="fill:none; stroke:#949494;"/><path d="M19.5,17V7.5c0-1.66-1.34-3-3-3h-6c-1.66,0-3,1.34-3,3v9.5" style="fill:none; stroke:#949494;"/><path d="M6,17v11h15v-11H6ZM12,20v-1c0-.55.45-1,1-1h1c.55,0,1,.45,1,1v1c0,.55-.45,1-1,1h-1c-.55,0-1-.45-1-1Z" style="fill:#949494; opacity:.7;"/></svg>
|
||||
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 534 B |
|
|
@ -1,4 +1 @@
|
|||
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M11.1861 5.32812H15.3642V14.5094H8.01917V13.5548M11.6917 5.65603V8.60717M11.1517 11.5583H13.2656" stroke="white"/>
|
||||
<path d="M6.30876 3.82009V6.77123M4.73482 9.72237H7.8827M2.63623 3.49219H9.98128V12.6735H2.63623V3.49219Z" stroke="white"/>
|
||||
</svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><line x1="4.5" y1="14.5" x2="10.5" y2="14.5" style="fill:none; stroke:#fff; stroke-linecap:square; stroke-miterlimit:10;"/><polyline points="8.5 10.5 7.5 11.5 6.5 10.5" style="fill:none; stroke:#fff; stroke-linecap:round; stroke-linejoin:round;"/><line x1="4.5" y1="9.5" x2="6" y2="9.5" style="fill:none; stroke:#fff; stroke-linecap:square; stroke-miterlimit:10;"/><line x1="9.5" y1="9.5" x2="10.5" y2="9.5" style="fill:none; stroke:#fff; stroke-linecap:square; stroke-miterlimit:10;"/><rect x="6.5" y="8.5" width="2" height="2" rx=".27" ry=".27" style="fill:none; stroke:#fff; stroke-miterlimit:10;"/><rect x="1.5" y="6.5" width="12" height="11" rx="1" ry="1" style="fill:none; stroke:#fff; stroke-miterlimit:10;"/><path d="M5.5,5v-1.5c0-.55.45-1,1-1h10c.55,0,1,.45,1,1v9c0,.55-.45,1-1,1h-1.5" style="fill:none; stroke:#fff; stroke-miterlimit:10;"/></svg>
|
||||
|
Before Width: | Height: | Size: 351 B After Width: | Height: | Size: 984 B |
|
|
@ -1,8 +1 @@
|
|||
<svg width="251" height="252" viewBox="0 0 251 252" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M8.53636 72.2536L67.482 9.08624" stroke="black" stroke-width="17.0079" stroke-miterlimit="10" stroke-linecap="round"/>
|
||||
<path d="M128.055 72.2536L67.482 9.08624" stroke="black" stroke-width="17.0079" stroke-miterlimit="10" stroke-linecap="round"/>
|
||||
<path d="M67.9763 243.004V8.79553" stroke="#161615" stroke-width="17.0079" stroke-miterlimit="10" stroke-linecap="round"/>
|
||||
<path d="M239.519 180L180.573 243.167" stroke="black" stroke-width="17.0079" stroke-miterlimit="10" stroke-linecap="round"/>
|
||||
<path d="M120 180L180.573 243.167" stroke="black" stroke-width="17.0079" stroke-miterlimit="10" stroke-linecap="round"/>
|
||||
<path d="M182.91 242.655V8.79999" stroke="#161615" stroke-width="17.0079" stroke-miterlimit="10" stroke-linecap="round"/>
|
||||
</svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><polyline points=".5 3.5 3.5 .5 6.5 3.5" style="fill:none; stroke:#949494; stroke-linecap:round; stroke-linejoin:round;"/><line x1="3.5" y1=".5" x2="3.5" y2="14.5" style="fill:none; stroke:#949494; stroke-linecap:round; stroke-linejoin:round;"/><polyline points="14.5 11.5 11.5 14.5 8.5 11.5" style="fill:none; stroke:#949494; stroke-linecap:round; stroke-linejoin:round;"/><line x1="11.5" y1="14.5" x2="11.5" y2=".5" style="fill:none; stroke:#949494; stroke-linecap:round; stroke-linejoin:round;"/></svg>
|
||||
|
Before Width: | Height: | Size: 854 B After Width: | Height: | Size: 633 B |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"><path d="M13.914,6.45A6.5,6.5,0,0,0,2,4.044V1.5a.5.5,0,0,0-1,0v4a.5.5,0,0,0,.5.5h4a.5.5,0,0,0,0-1H2.612a5.477,5.477,0,1,1-.54,3.388.5.5,0,1,0-.987.162,6.5,6.5,0,0,0,11.693,2.743A6.459,6.459,0,0,0,13.914,6.45Z" style="fill:#ff6f00"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><polyline points="1.5 1.5 1.5 5.5 5.5 5.5" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><path d="M1.84,5.5c.82-2.33,3.05-4,5.66-4,3.31,0,6,2.69,6,6s-2.69,6-6,6c-2.95,0-5.41-2.13-5.91-4.94" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/></svg>
|
||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 440 B |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"><path d="M13.914,6.45A6.5,6.5,0,0,0,2,4.044V1.5a.5.5,0,0,0-1,0v4a.5.5,0,0,0,.5.5h4a.5.5,0,0,0,0-1H2.612a5.477,5.477,0,1,1-.54,3.388.5.5,0,1,0-.987.162,6.5,6.5,0,0,0,11.693,2.743A6.459,6.459,0,0,0,13.914,6.45Z" style="fill:#ff6f00"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><polyline points="1.5 1.5 1.5 5.5 5.5 5.5" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><path d="M1.84,5.5c.82-2.33,3.05-4,5.66-4,3.31,0,6,2.69,6,6s-2.69,6-6,6c-2.95,0-5.41-2.13-5.91-4.94" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/></svg>
|
||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 440 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"><rect x="9.5" y="7.5" width="4" height="6" rx="1" ry="1" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><polyline points="1.5 1.5 1.5 5.5 5.5 5.5" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><path d="M6.79,13.46c-2.59-.31-4.77-2.29-5.21-4.99" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><path d="M2.03,5.03c.8-1.77,2.44-3.12,4.5-3.46,2.73-.45,5.33,1.03,6.43,3.43" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><rect x="9.5" y="7.5" width="4" height="6" rx="1" ry="1" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><polyline points="1.5 1.5 1.5 5.5 5.5 5.5" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><path d="M6.53,13.42c-2.51-.41-4.49-2.37-4.93-4.86" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><path d="M1.84,5.5c.82-2.33,3.05-4,5.66-4,2.17,0,4.07,1.15,5.13,2.88" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/></svg>
|
||||
|
Before Width: | Height: | Size: 687 B After Width: | Height: | Size: 680 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"><rect x="9.5" y="7.5" width="4" height="6" rx="1" ry="1" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><polyline points="1.5 1.5 1.5 5.5 5.5 5.5" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><path d="M6.79,13.46c-2.59-.31-4.77-2.29-5.21-4.99" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><path d="M2.03,5.03c.8-1.77,2.44-3.12,4.5-3.46,2.73-.45,5.33,1.03,6.43,3.43" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><rect x="9.5" y="7.5" width="4" height="6" rx="1" ry="1" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><polyline points="1.5 1.5 1.5 5.5 5.5 5.5" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><path d="M6.53,13.42c-2.51-.41-4.49-2.37-4.93-4.86" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><path d="M1.84,5.5c.82-2.33,3.05-4,5.66-4,2.17,0,4.07,1.15,5.13,2.88" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/></svg>
|
||||
|
Before Width: | Height: | Size: 687 B After Width: | Height: | Size: 680 B |
|
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M13.914,6.45A6.5,6.5,0,0,0,2,4.044V1.5a.5.5,0,0,0-1,0v4a.5.5,0,0,0,.5.5h4a.5.5,0,0,0,0-1H2.612a5.477,5.477,0,1,1-.54,3.388.5.5,0,1,0-.987.162,6.5,6.5,0,0,0,11.693,2.743A6.459,6.459,0,0,0,13.914,6.45Z" style="fill:#ff6f00"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><polyline points="1.5 1.5 1.5 5.5 5.5 5.5" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/><path d="M1.84,5.5c.82-2.33,3.05-4,5.66-4,3.31,0,6,2.69,6,6s-2.69,6-6,6c-2.95,0-5.41-2.13-5.91-4.94" style="fill:none; stroke:#ff6f00; stroke-linecap:round; stroke-linejoin:round;"/></svg>
|
||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 440 B |
|
|
@ -41,7 +41,7 @@
|
|||
"before_layer_change_gcode": "; BEFORE_LAYER_CHANGE [layer_num] @ [layer_z]mm",
|
||||
"best_object_pos": "0.5,0.5",
|
||||
"change_extrusion_role_gcode": "",
|
||||
"change_filament_gcode": "",
|
||||
"change_filament_gcode": "; FLUSH_START\n;;; M400 P0\nT[next_extruder] ; change extruder\n; 1\n;;; G90\n;;; G1 Z{toolchange_z+2} F480\n;;; G1 X261 Y25 F12000\n;;; G1 Y1 F600\n;;; M400 P2730\n;;; G1 Y25 F3000\n;;; M400 P76250\n;;; M400 P35780\n; 2.1\n;;; G90\n;;; G1 Z{toolchange_z+2} F480\n;;; G1 X47 Y230 F12000\n;;; M400 P0\n; 2.2\n;;; G1 X47 Y276 F600\n;;; G1 X47 Y230 F12000\n;;; G1 X47 Y276 F600\n;;; G1 X47 Y230 F12000\n; 3.1\n;;; G1 F36000\n;;; G1 Y250\n;;; G1 F8000\n;;; G1 X81\n;;; G1 Y273\n; 3.2\n;;; G1 F8000\n;;; G1 X96\n;;; G1 X81\n;;; G1 F8000\n;;; G1 X96\n;;; G1 X81\n;;; G1 F8000\n;;; G1 X96\n;;; G1 X81\n;;; G1 X96\n;;; G1 X81\n;;; G1 X96\n;;; G1 X81\n;;; G1 X96\n;;; G1 X81\n; 3.3\n;;; G1 X72\n;;; G1 X77\n;;; G1 Z{toolchange_z}\n;;; M400 P0\n; FLUSH_END",
|
||||
"cooling_tube_length": "0",
|
||||
"cooling_tube_retraction": "0",
|
||||
"deretraction_speed": [
|
||||
|
|
@ -228,4 +228,4 @@
|
|||
"Slope Lift"
|
||||
],
|
||||
"z_offset": "0"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -137,40 +137,6 @@
|
|||
display: inline-block;
|
||||
}
|
||||
|
||||
.btn {
|
||||
display: inline-block;
|
||||
padding: 6px 9px;
|
||||
border: 2px solid transparent;
|
||||
border-radius: 12px;
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
|
||||
.btn-ok {
|
||||
color: #fff;
|
||||
background-color: #009688;
|
||||
}
|
||||
.btn-ok:hover {
|
||||
background-color: #26A69A;
|
||||
}
|
||||
|
||||
.btn-cancel {
|
||||
color: black;
|
||||
background-color: white;
|
||||
border: 1px solid black;
|
||||
}
|
||||
.btn-cancel:hover {
|
||||
background-color: #eeeeee;
|
||||
}
|
||||
|
||||
body.dark-mode button.btn-cancel {
|
||||
background-color: #2d2d31;
|
||||
color: #e0e0e0;
|
||||
border: 1px solid #e0e0e0;
|
||||
}
|
||||
|
||||
select {
|
||||
padding: 6px 9px;
|
||||
border: 1px solid #dbdbdb;
|
||||
|
|
@ -197,7 +163,7 @@
|
|||
.button-container {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
gap: 0px;
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
|
|
@ -266,15 +232,6 @@
|
|||
position: sticky;
|
||||
z-index: 11;
|
||||
}
|
||||
|
||||
body.dark-mode .btn-ok {
|
||||
background-color: #009688;
|
||||
}
|
||||
|
||||
body.dark-mode .btn-dark {
|
||||
background-color: #34495e;
|
||||
}
|
||||
|
||||
body.dark-mode select {
|
||||
background-color: #2d2d31;
|
||||
color: white;
|
||||
|
|
@ -295,6 +252,8 @@
|
|||
</style>
|
||||
</head>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="../include/global.css" /> <!-- ORCA One for all-->
|
||||
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="tip-panel" id="auto_flush_tip">
|
||||
|
|
@ -303,14 +262,14 @@
|
|||
in Orca Slicer > Preferences.
|
||||
</div>
|
||||
|
||||
<div style="margin-bottom: 10px; ">
|
||||
<button
|
||||
class="btn btn-ok"
|
||||
<div style="margin-bottom: 10px; display: flex; align-items: center;">
|
||||
<div
|
||||
class="ButtonStyleConfirm ButtonTypeWindow"
|
||||
onclick="calcFlushingVolumes()"
|
||||
id="calc_btn"
|
||||
>
|
||||
Re-Calculate
|
||||
</button>
|
||||
</div>
|
||||
<select
|
||||
id="extruders"
|
||||
onchange="handleExtruderSelect(document.getElementById('extruders').value)"
|
||||
|
|
@ -366,12 +325,12 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="button-container" style="padding: 0px; margin: 0px;">
|
||||
<button class="btn btn-ok" id="ok_btn" style="width: 60px; height: 30px; font-size: 12px; text-align: center;" onclick="storeData()">
|
||||
<div class="ButtonStyleConfirm ButtonTypeChoice" id="ok_btn" onclick="storeData()">
|
||||
Save
|
||||
</button>
|
||||
<button class="btn btn-cancel" id="cancel_btn" style="width: 60px; height: 30px; font-size: 12px; text-align: center;" onclick="quit()">
|
||||
</div>
|
||||
<div class="ButtonStyleRegular ButtonTypeChoice" id="cancel_btn" onclick="quit()">
|
||||
Cancel
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
<meta charset="utf-8">
|
||||
<meta http-equiv="Cache-Control" content="max-age=7200" />
|
||||
<title>引导_P1</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../include/global.css" /> <!-- ORCA One for all-->
|
||||
<link rel="stylesheet" type="text/css" href="../css/common.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../css/dark.css" />
|
||||
<link rel="stylesheet" type="text/css" href="1.css" />
|
||||
|
|
@ -19,7 +20,7 @@
|
|||
<div id="Title" class="trans" tid="t1">Welcome to Orca Slicer</div>
|
||||
<div id="STip" class="trans" tid="t2">Orca Slicer will be setup in several steps. Let's start!</div>
|
||||
<div id="BtnArea">
|
||||
<a id="StartBtn" class="NormalBtn swiper-button-next trans" tid="t24" href="../11/index.html">Get Started</a>
|
||||
<a id="StartBtn" class="ButtonStyleConfirm ButtonTypeChoice trans" tid="t24" href="../11/index.html">Get Started</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
<meta charset="utf-8">
|
||||
<meta http-equiv="Cache-Control" content="max-age=7200" />
|
||||
<title>引导_P21</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../include/global.css" /> <!-- ORCA One for all-->
|
||||
<link rel="stylesheet" type="text/css" href="../css/common.css" />
|
||||
<link rel="stylesheet" type="text/css" href="11.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../css/dark.css" />
|
||||
|
|
@ -33,7 +34,7 @@
|
|||
</div>-->
|
||||
</div>
|
||||
<div id="AcceptArea">
|
||||
<div class="NormalBtn trans" id="AcceptBtn" tid="t9" onclick="GotoPolicyPage()">Next</div>
|
||||
<div class="ButtonStyleConfirm ButtonTypeChoice trans" id="AcceptBtn" tid="t9" onclick="GotoPolicyPage()">Next</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -25,10 +25,6 @@
|
|||
margin-right: 0px; /* ORCA align buttons with end of horizontal separator/line */
|
||||
}
|
||||
|
||||
.BannerBtns>.SmallBtn_Green.trans{
|
||||
margin-right: 7px; /* ORCA adds a small gap between buttons */
|
||||
}
|
||||
|
||||
.BlockBanner a
|
||||
{
|
||||
display: inline-block;
|
||||
|
|
@ -149,7 +145,7 @@ img.ModelThumbnail
|
|||
{
|
||||
margin-top: 4mm;
|
||||
display: flex;
|
||||
justify-content:space-around;
|
||||
justify-content:flex-end;
|
||||
}
|
||||
|
||||
.search {
|
||||
|
|
|
|||
|
|
@ -91,8 +91,8 @@ function HandleModelList( pVal )
|
|||
'<div class="BlockBanner">'+
|
||||
' <a>'+sVV+'</a>'+
|
||||
' <div class="BannerBtns">'+
|
||||
' <div class="SmallBtn_Green trans" tid="t11" onClick="SelectPrinterAll('+"\'"+strVendor+"\'"+')">all</div>'+
|
||||
' <div class="SmallBtn trans" tid="t12" onClick="SelectPrinterNone('+"\'"+strVendor+"\'"+')">none</div>'+
|
||||
' <div class="ButtonStyleConfirm ButtonTypeWindow trans" tid="t11" onClick="SelectPrinterAll('+"\'"+strVendor+"\'"+')">all</div>'+
|
||||
' <div class="ButtonStyleRegular ButtonTypeWindow trans" tid="t12" onClick="SelectPrinterNone('+"\'"+strVendor+"\'"+')">none</div>'+
|
||||
' </div>'+
|
||||
'</div>'+
|
||||
'<div class="PrinterArea"> '+
|
||||
|
|
@ -210,8 +210,8 @@ function FilterModelList(keyword) {
|
|||
'<div class="BlockBanner">' +
|
||||
' <a>' + sVV + '</a>' +
|
||||
' <div class="BannerBtns">' +
|
||||
' <div class="SmallBtn_Green trans" tid="t11" onClick="SelectPrinterAll(' + "\'" + strVendor + "\'" + ')">all</div>' +
|
||||
' <div class="SmallBtn trans" tid="t12" onClick="SelectPrinterNone(' + "\'" + strVendor + "\'" + ')">none</div>' +
|
||||
' <div class="ButtonStyleConfirm ButtonTypeWindow trans" tid="t11" onClick="SelectPrinterAll(' + "\'" + strVendor + "\'" + ')">all</div>' +
|
||||
' <div class="ButtonStyleRegular ButtonTypeWindow trans" tid="t12" onClick="SelectPrinterNone(' + "\'" + strVendor + "\'" + ')">none</div>' +
|
||||
' </div>' +
|
||||
'</div>' +
|
||||
'<div class="PrinterArea"> ' +
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
<meta charset="utf-8">
|
||||
<meta http-equiv="Cache-Control" content="max-age=7200" />
|
||||
<title>引导_P21</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../include/global.css" /> <!-- ORCA One for all-->
|
||||
<link rel="stylesheet" type="text/css" href="../css/common.css" />
|
||||
<link rel="stylesheet" type="text/css" href="21.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../css/dark.css" />
|
||||
|
|
@ -34,8 +35,8 @@
|
|||
<div class="BlockBanner">
|
||||
<a>BBL-3DP</a>
|
||||
<div class="BannerBtns">
|
||||
<div class="SmallBtn_Green trans" onClick="SelectPrinterAll('BBL')">所有</div>
|
||||
<div class="SmallBtn trans" onClick="SelectPrinterNone('BBL')">无</div>
|
||||
<div class="ButtonStyleConfirm ButtonTypeWindow trans" onClick="SelectPrinterAll('BBL')">所有</div>
|
||||
<div class="ButtonStyleRegular ButtonTypeWindow trans" onClick="SelectPrinterNone('BBL')">无</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -120,8 +121,8 @@
|
|||
|
||||
</div>
|
||||
<div id="AcceptArea">
|
||||
<div class="GrayBtn trans" id="PreBtn" tid="t8" onclick="window.open('../1/index.html','_self')">Back</div>
|
||||
<div class="NormalBtn trans" id="AcceptBtn" tid="t9" onclick="GotoFilamentPage()">Next</div>
|
||||
<div class="ButtonStyleRegular ButtonTypeChoice trans" id="PreBtn" tid="t8" onclick="window.open('../1/index.html','_self')">Back</div>
|
||||
<div class="ButtonStyleConfirm ButtonTypeChoice trans" id="AcceptBtn" tid="t9" onclick="GotoFilamentPage()">Next</div>
|
||||
</div>
|
||||
|
||||
<div id="NoticeMask"></div>
|
||||
|
|
@ -130,7 +131,7 @@
|
|||
<div id="NoticeContent">
|
||||
<div id="NoticeText" class="trans" tid="t37">At least one printer must be selected.</div>
|
||||
<div id="NoticeBtns">
|
||||
<div class="SmallBtn trans" tid="t36" onClick="ShowNotice(0)">ok</div>
|
||||
<div class="ButtonStyleConfirm ButtonTypeChoice trans" tid="t36" onClick="ShowNotice(0)">ok</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -39,12 +39,6 @@ input
|
|||
align-items: center;
|
||||
}
|
||||
|
||||
#ItemSelectArea .SmallBtn
|
||||
{
|
||||
margin-left:5px;
|
||||
}
|
||||
|
||||
|
||||
#ItemBlockArea
|
||||
{
|
||||
flex: 1 0 236px;
|
||||
|
|
@ -110,7 +104,7 @@ input
|
|||
{
|
||||
margin-top: 4mm;
|
||||
display: flex;
|
||||
justify-content:space-around;
|
||||
justify-content:flex-end;
|
||||
}
|
||||
|
||||
#GotoNetPluginBtn
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
<meta charset="utf-8">
|
||||
<meta http-equiv="Cache-Control" content="max-age=0" />
|
||||
<title>引导_P21</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../include/global.css" /> <!-- ORCA One for all-->
|
||||
<link rel="stylesheet" type="text/css" href="../css/common.css" />
|
||||
<link rel="stylesheet" type="text/css" href="22.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../css/dark.css" />
|
||||
|
|
@ -44,17 +45,17 @@
|
|||
|
||||
|
||||
<div id="ItemSelectArea">
|
||||
<div class="SmallBtn_Green trans" tid="t11" onClick="SelectAllFilament(1)">All</div>
|
||||
<div class="SmallBtn trans" tid="t12" onClick="SelectAllFilament(0)">Clear all</div>
|
||||
<div class="ButtonStyleConfirm ButtonTypeWindow trans" tid="t11" onClick="SelectAllFilament(1)">All</div>
|
||||
<div class="ButtonStyleRegular ButtonTypeWindow trans" tid="t12" onClick="SelectAllFilament(0)">Clear all</div>
|
||||
</div>
|
||||
<div id="ItemBlockArea" class="ZScrol">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="AcceptArea">
|
||||
<div class="GrayBtn trans" tid="t8" id="PreBtn" onclick="ReturnPreviewPage()">Back</div>
|
||||
<div class="NormalBtn trans" tid="t25" id="AcceptBtn" onclick="FinishGuide()">finish</div>
|
||||
<div class="NormalBtn trans" tid="t9" id="GotoNetPluginBtn" onclick="GotoNetPluginPage()">Next</div>
|
||||
<div class="ButtonStyleRegular ButtonTypeChoice trans" tid="t8" id="PreBtn" onclick="ReturnPreviewPage()">Back</div>
|
||||
<div class="ButtonStyleRegular ButtonTypeChoice trans" tid="t25" id="AcceptBtn" onclick="FinishGuide()">finish</div>
|
||||
<div class="ButtonStyleConfirm ButtonTypeChoice trans" tid="t9" id="GotoNetPluginBtn" onclick="GotoNetPluginPage()">Next</div>
|
||||
</div>
|
||||
<div id="NoticeMask">
|
||||
</div>
|
||||
|
|
@ -64,8 +65,8 @@
|
|||
<div id="NoticeText" class="trans" tid="t19">At least one filament must be selected. </div>
|
||||
<div id="NoticeText" class="trans" tid="t20">Do you want to use default filament ?</div>
|
||||
<div id="NoticeBtns">
|
||||
<div class="SmallBtn trans" tid="t21" onClick="ChooseDefaultFilament()">Yes</div>
|
||||
<div class="SmallBtn trans" tid="t22" onClick="ShowNotice(0)">No</div>
|
||||
<div class="ButtonStyleConfirm ButtonTypeChoice trans" tid="t21" onClick="ChooseDefaultFilament()">Yes</div>
|
||||
<div class="ButtonStyleRegular ButtonTypeChoice trans" tid="t22" onClick="ShowNotice(0)">No</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -39,12 +39,6 @@ input
|
|||
align-items: center;
|
||||
}
|
||||
|
||||
#ItemSelectArea .SmallBtn
|
||||
{
|
||||
margin-left:5px;
|
||||
}
|
||||
|
||||
|
||||
#ItemBlockArea
|
||||
{
|
||||
display:flex;
|
||||
|
|
@ -111,7 +105,7 @@ input
|
|||
{
|
||||
margin-top: 4mm;
|
||||
display: flex;
|
||||
justify-content:space-around;
|
||||
justify-content:flex-end;
|
||||
}
|
||||
|
||||
#SystemFilamentsArea
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
<meta charset="utf-8">
|
||||
<meta http-equiv="Cache-Control" content="max-age=0" />
|
||||
<title>引导_P21</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../include/global.css" /> <!-- ORCA One for all-->
|
||||
<link rel="stylesheet" type="text/css" href="../css/common.css" />
|
||||
<link rel="stylesheet" type="text/css" href="23.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../css/dark.css" />
|
||||
|
|
@ -44,8 +45,8 @@
|
|||
</div>
|
||||
|
||||
<div id="ItemSelectArea">
|
||||
<div class="SmallBtn_Green trans" tid="t11" onClick="SelectAllFilament(1)">all</div>
|
||||
<div class="SmallBtn trans" tid="t12" onClick="SelectAllFilament(0)">Clear all</div>
|
||||
<div class="ButtonStyleConfirm ButtonTypeWindow trans" tid="t11" onClick="SelectAllFilament(1)">all</div>
|
||||
<div class="ButtonStyleRegular ButtonTypeWindow trans" tid="t12" onClick="SelectAllFilament(0)">Clear all</div>
|
||||
</div>
|
||||
|
||||
<div id="ItemBlockArea" class="ZScrol">
|
||||
|
|
@ -55,7 +56,7 @@
|
|||
|
||||
<div id="CustomFilamentsArea">
|
||||
<div id="CFilament_Btn_Area">
|
||||
<div class="SmallBtn_Green trans" tid="t111" onClick="OnClickCustomFilamentAdd()">Create New</div>
|
||||
<div class="ButtonStyleConfirm ButtonTypeWindow trans" tid="t111" onClick="OnClickCustomFilamentAdd()">Create New</div>
|
||||
</div>
|
||||
<div id="CFilament_List" class="ZScrol">
|
||||
</div>
|
||||
|
|
@ -63,8 +64,8 @@
|
|||
|
||||
</div>
|
||||
<div id="AcceptArea">
|
||||
<div class="NormalBtn trans" tid="t39" id="AcceptBtn" onclick="ConfirmSelect()">Confirm</div>
|
||||
<div class="GrayBtn trans" tid="t38" id="PreBtn" onclick="CancelSelect()">Cancel</div>
|
||||
<div class="ButtonStyleConfirm ButtonTypeChoice trans" tid="t39" id="AcceptBtn" onclick="ConfirmSelect()">Confirm</div>
|
||||
<div class="ButtonStyleRegular ButtonTypeChoice trans" tid="t38" id="PreBtn" onclick="CancelSelect()">Cancel</div>
|
||||
</div>
|
||||
<div id="NoticeMask">
|
||||
</div>
|
||||
|
|
@ -74,8 +75,8 @@
|
|||
<div id="NoticeText" class="trans" tid="t19">At least one filament must be selected. </div>
|
||||
<div id="NoticeText" class="trans" tid="t20">Do you want to use default filament ?</div>
|
||||
<div id="NoticeBtns">
|
||||
<div class="SmallBtn trans" tid="t21" onClick="ChooseDefaultFilament()">yes</div>
|
||||
<div class="SmallBtn trans" tid="t22" onClick="ShowNotice(0)">no</div>
|
||||
<div class="ButtonStyleConfirm ButtonTypeChoice trans" tid="t21" onClick="ChooseDefaultFilament()">yes</div>
|
||||
<div class="ButtonStyleRegular ButtonTypeChoice trans" tid="t22" onClick="ShowNotice(0)">no</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -24,10 +24,6 @@
|
|||
margin-right: 0px; /* ORCA align buttons with end of horizontal separator/line */
|
||||
}
|
||||
|
||||
.BannerBtns>.SmallBtn_Green.trans{
|
||||
margin-right: 7px; /* ORCA adds a small gap between buttons */
|
||||
}
|
||||
|
||||
/*.Banner-Btn
|
||||
{
|
||||
background-color: #C0C0C0;
|
||||
|
|
@ -174,7 +170,7 @@ img.ModelThumbnail
|
|||
{
|
||||
margin-top: 4mm;
|
||||
display: flex;
|
||||
justify-content:space-around;
|
||||
justify-content:flex-end;
|
||||
}
|
||||
|
||||
.search {
|
||||
|
|
|
|||
|
|
@ -91,8 +91,8 @@ function HandleModelList( pVal )
|
|||
'<div class="BlockBanner">'+
|
||||
' <a>'+sVV+'</a>'+
|
||||
' <div class="BannerBtns">'+
|
||||
' <div class="SmallBtn_Green trans" tid="t11" onClick="SelectPrinterAll('+"\'"+strVendor+"\'"+')">all</div>'+
|
||||
' <div class="SmallBtn trans" tid="t12" onClick="SelectPrinterNone('+"\'"+strVendor+"\'"+')">none</div>'+
|
||||
' <div class="ButtonStyleConfirm ButtonTypeWindow trans" tid="t11" onClick="SelectPrinterAll('+"\'"+strVendor+"\'"+')">all</div>'+
|
||||
' <div class="ButtonStyleRegular ButtonTypeWindow trans" tid="t12" onClick="SelectPrinterNone('+"\'"+strVendor+"\'"+')">none</div>'+
|
||||
' </div>'+
|
||||
'</div>'+
|
||||
'<div class="PrinterArea"> '+
|
||||
|
|
@ -210,8 +210,8 @@ function FilterModelList(keyword) {
|
|||
'<div class="BlockBanner">' +
|
||||
' <a>' + sVV + '</a>' +
|
||||
' <div class="BannerBtns">' +
|
||||
' <div class="SmallBtn_Green trans" tid="t11" onClick="SelectPrinterAll(' + "\'" + strVendor + "\'" + ')">all</div>' +
|
||||
' <div class="SmallBtn trans" tid="t12" onClick="SelectPrinterNone(' + "\'" + strVendor + "\'" + ')">none</div>' +
|
||||
' <div class="ButtonStyleConfirm ButtonTypeWindow trans" tid="t11" onClick="SelectPrinterAll(' + "\'" + strVendor + "\'" + ')">all</div>' +
|
||||
' <div class="ButtonStyleRegular ButtonTypeWindow trans" tid="t12" onClick="SelectPrinterNone(' + "\'" + strVendor + "\'" + ')">none</div>' +
|
||||
' </div>' +
|
||||
'</div>' +
|
||||
'<div class="PrinterArea"> ' +
|
||||
|
|
|
|||
|
|
@ -4,7 +4,8 @@
|
|||
<meta charset="utf-8">
|
||||
<meta http-equiv="Cache-Control" content="max-age=7200" />
|
||||
<title>引导_P21</title>
|
||||
<link rel="stylesheet" type="text/css" href="../css/common.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../include/global.css" /> <!-- ORCA One for all-->
|
||||
<link rel="stylesheet" type="text/css" href="../css/common.css" />
|
||||
<link rel="stylesheet" type="text/css" href="24.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../css/dark.css" />
|
||||
<!-- <script type="text/javascript" src="test.js"></script> -->
|
||||
|
|
@ -33,8 +34,8 @@
|
|||
<!--<div class="OneVendorBlock" Vendor="BBL">
|
||||
<div class="BlockBanner">
|
||||
<div class="BannerBtns">
|
||||
<div class="SmallBtn_Green" onClick="SelectPrinterAll('BBL')">所有</div>
|
||||
<div class="SmallBtn" onClick="SelectPrinterNone('BBL')">无</div>
|
||||
<div class="ButtonStyleConfirm ButtonTypeWindow" onClick="SelectPrinterAll('BBL')">所有</div>
|
||||
<div class="ButtonStyleRegular ButtonTypeWindow" onClick="SelectPrinterNone('BBL')">无</div>
|
||||
</div>
|
||||
|
||||
<a>BBL-3DP</a>
|
||||
|
|
@ -92,8 +93,8 @@
|
|||
|
||||
</div>
|
||||
<div id="AcceptArea">
|
||||
<div class="NormalBtn trans" tid="t39" id="AcceptBtn" onclick="ConfirmSelect()">Confirm</div>
|
||||
<div class="GrayBtn trans" tid="t38" id="PreBtn" onclick="CancelSelect()">Cancel</div>
|
||||
<div class="ButtonStyleConfirm ButtonTypeChoice trans" tid="t39" id="AcceptBtn" onclick="ConfirmSelect()">Confirm</div>
|
||||
<div class="ButtonStyleRegular ButtonTypeChoice trans" tid="t38" id="PreBtn" onclick="CancelSelect()">Cancel</div>
|
||||
</div>
|
||||
|
||||
<div id="NoticeMask"></div>
|
||||
|
|
@ -102,7 +103,7 @@
|
|||
<div id="NoticeContent">
|
||||
<div id="NoticeText" class="trans" tid="t37">At least one printer must be selected.</div>
|
||||
<div id="NoticeBtns">
|
||||
<div class="SmallBtn trans" tid="t36" onClick="ShowNotice(0)">ok</div>
|
||||
<div class="ButtonStyleConfirm ButtonTypeChoice trans" tid="t36" onClick="ShowNotice(0)">ok</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
<meta charset="utf-8">
|
||||
<meta http-equiv="Cache-Control" content="max-age=7200" />
|
||||
<title>引导_P1</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../include/global.css" /> <!-- ORCA One for all-->
|
||||
<link rel="stylesheet" type="text/css" href="../css/common.css" />
|
||||
<link rel="stylesheet" type="text/css" href="3.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../css/dark.css" />
|
||||
|
|
@ -32,8 +33,8 @@
|
|||
</label>
|
||||
</div>
|
||||
<div id="AcceptArea">
|
||||
<div class="GrayBtn trans" tid="t8" id="PreBtn" onclick="window.open('../11/index.html','_self')">Back</div>
|
||||
<div class="NormalBtn trans" tid="t9" id="AcceptBtn" onclick="GotoNextPage()">Next</div>
|
||||
<div class="ButtonStyleRegular ButtonTypeChoice trans" tid="t8" id="PreBtn" onclick="window.open('../11/index.html','_self')">Back</div>
|
||||
<div class="ButtonStyleConfirm ButtonTypeChoice trans" tid="t9" id="AcceptBtn" onclick="GotoNextPage()">Next</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
<meta charset="utf-8">
|
||||
<meta http-equiv="Cache-Control" content="max-age=7200" />
|
||||
<title>引导_P1</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../include/global.css" /> <!-- ORCA One for all-->
|
||||
<link rel="stylesheet" type="text/css" href="../css/common.css" />
|
||||
<link rel="stylesheet" type="text/css" href="31.css" />
|
||||
<script type="text/javascript" src="../js/jquery-2.1.1.min.js"></script>
|
||||
|
|
@ -31,8 +32,8 @@
|
|||
</label>
|
||||
</div>
|
||||
<div id="AcceptArea">
|
||||
<div class="GrayBtn trans" tid="t8" id="PreBtn" onclick="window.open('../11/index.html','_self')">Back</div>
|
||||
<div class="NormalBtn trans" tid="t9" id="AcceptBtn" onclick="GotoNextPage()">Next</div>
|
||||
<div class="ButtonStyleRegular ButtonTypeChoice trans" tid="t8" id="PreBtn" onclick="window.open('../11/index.html','_self')">Back</div>
|
||||
<div class="ButtonStyleConfirm ButtonTypeChoice trans" tid="t9" id="AcceptBtn" onclick="GotoNextPage()">Next</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
<meta charset="utf-8">
|
||||
<meta http-equiv="Cache-Control" content="max-age=7200" />
|
||||
<title>引导_P1</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../include/global.css" /> <!-- ORCA One for all-->
|
||||
<link rel="stylesheet" type="text/css" href="../css/common.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../css/dark.css" />
|
||||
<link rel="stylesheet" type="text/css" href="4orca.css" />
|
||||
|
|
@ -31,8 +32,8 @@
|
|||
|
||||
</div>
|
||||
<div id="AcceptArea">
|
||||
<div class="GrayBtn trans" tid="t8" id="PreBtn" onclick="window.history.back()">Back</div>
|
||||
<div class="NormalBtn trans" tid="t9" id="GotoNetPluginBtn" onclick="GotoNetPluginPage()">Next</div>
|
||||
<div class="ButtonStyleRegular ButtonTypeChoice trans" tid="t8" id="PreBtn" onclick="window.history.back()">Back</div>
|
||||
<div class="ButtonStyleConfirm ButtonTypeChoice trans" tid="t9" id="GotoNetPluginBtn" onclick="GotoNetPluginPage()">Next</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
<meta charset="utf-8">
|
||||
<meta http-equiv="Cache-Control" content="max-age=7200" />
|
||||
<title>引导_P1</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../include/global.css" /> <!-- ORCA One for all-->
|
||||
<link rel="stylesheet" type="text/css" href="../css/common.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../css/dark.css" />
|
||||
<link rel="stylesheet" type="text/css" href="5.css" />
|
||||
|
|
@ -37,8 +38,8 @@
|
|||
|
||||
</div>
|
||||
<div id="AcceptArea">
|
||||
<div class="GrayBtn trans" tid="t8" id="PreBtn" onclick="window.history.back()">Back</div>
|
||||
<div class="NormalBtn trans" tid="t25" id="AcceptBtn" onclick="FinishGuide()">Finish</div>
|
||||
<div class="ButtonStyleRegular ButtonTypeChoice trans" tid="t8" id="PreBtn" onclick="window.history.back()">Back</div>
|
||||
<div class="ButtonStyleConfirm ButtonTypeChoice trans" tid="t25" id="AcceptBtn" onclick="FinishGuide()">Finish</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
<meta charset="utf-8">
|
||||
<meta http-equiv="Cache-Control" content="max-age=7200" />
|
||||
<title>引导_P1</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../include/global.css" /> <!-- ORCA One for all-->
|
||||
<link rel="stylesheet" type="text/css" href="6.css" />
|
||||
<script type="text/javascript" src="../js/jquery-2.1.1.min.js"></script>
|
||||
<script type="text/javascript" src="../js/json2.js"></script>
|
||||
|
|
@ -40,9 +41,9 @@
|
|||
</div>
|
||||
|
||||
<div id="BtnBlock">
|
||||
<div id="CancelBtn" class="trans Btn_Green" tid="t38" onClick="CancelDownload()">Cancel</div>
|
||||
<div id="RestartBtn" class="Btn_Green" onClick="RestartBambuStudio()"><a class="trans" tid="t25">Finish</a></div>
|
||||
<div id="CloseBtn" class="Btn_Green" onClick="CloseDownDialog()"><a class="trans" tid="t86">Close</a></div>
|
||||
<div id="CancelBtn" class="ButtonStyleRegular ButtonTypeChoice trans" tid="t38" onClick="CancelDownload()" >Cancel</div>
|
||||
<div id="RestartBtn" class="ButtonStyleRegular ButtonTypeChoice trans" tid="t25" onClick="RestartBambuStudio()">Finish</div>
|
||||
<div id="CloseBtn" class="ButtonStyleRegular ButtonTypeChoice trans" tid="t86" onClick="CloseDownDialog()" >Close </div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -101,86 +101,16 @@ body
|
|||
|
||||
#AcceptArea
|
||||
{
|
||||
height:12%;
|
||||
padding: 0mm 10mm;
|
||||
height:var(--dialog-button-sizer-height); /*----ORCA Use fixed size to prevent position change----*/
|
||||
max-height:var(--dialog-button-sizer-height);
|
||||
min-height:var(--dialog-button-sizer-height);
|
||||
padding: 0 var(--dialog-button-gap);
|
||||
text-align: left;
|
||||
display: flex;
|
||||
justify-content:flex-end;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
|
||||
/*--Btn--*/
|
||||
.NormalBtn
|
||||
{
|
||||
padding: 3mm 9mm;
|
||||
font-size: 14px;
|
||||
text-align: center;
|
||||
background-color: #009688;
|
||||
border-radius: 16px;
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.NormalBtn:hover
|
||||
{
|
||||
background-color:#4db6ac;
|
||||
}
|
||||
|
||||
.GrayBtn
|
||||
{
|
||||
padding: 3mm 9mm;
|
||||
font-size: 14px;
|
||||
text-align: center;
|
||||
/* border: 1px solid #575757; */ /* ORCA match button style */
|
||||
border-radius: 18px;
|
||||
background-color: #D9D9D9;
|
||||
color: #000; /* ORCA match button style */
|
||||
cursor: pointer;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.GrayBtn:hover
|
||||
{
|
||||
background-color:#CCCCCC; /* ORCA match button style */
|
||||
}
|
||||
|
||||
.SmallBtn
|
||||
{
|
||||
padding: 2px 4mm;
|
||||
font-size: 14px;
|
||||
text-align: center;
|
||||
background-color: #D9D9D9;
|
||||
border-radius: 6px;
|
||||
color: #000;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.SmallBtn:hover
|
||||
{
|
||||
background-color: #CCCCCC;
|
||||
}
|
||||
|
||||
|
||||
.SmallBtn_Green
|
||||
{
|
||||
padding: 2px 4mm;
|
||||
font-size: 14px;
|
||||
text-align: center;
|
||||
background-color: #009688;
|
||||
border-radius: 6px;
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.SmallBtn_Green:hover
|
||||
{
|
||||
background-color: #4db6ac;
|
||||
}
|
||||
|
||||
/*---HyperLink---*/
|
||||
.HyperLink
|
||||
{
|
||||
|
|
@ -235,7 +165,6 @@ input[type="checkbox"]:checked::before {
|
|||
transform: scale(1);
|
||||
}
|
||||
|
||||
|
||||
/*----------------Light Mode-------------------*/
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -37,20 +37,6 @@ input[type=checkbox]:checked{
|
|||
background-color:#009688;
|
||||
}
|
||||
|
||||
/*-----Button-----*/
|
||||
.GrayBtn, .SmallBtn /* ORCA match button style GrayBtn & SmallBtn */
|
||||
{
|
||||
background-color:#3E3E45;
|
||||
/* border: 1px solid #B9B9BC; */
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.GrayBtn:hover, .SmallBtn:hover /* ORCA match button style GrayBtn & SmallBtn */
|
||||
{
|
||||
background-color:#49494E;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
/*-------Text------*/
|
||||
|
||||
.TextS1
|
||||
|
|
|
|||
|
|
@ -31,12 +31,6 @@ body
|
|||
|
||||
|
||||
/*----Left Menu Button----*/
|
||||
#LogoutBtn:hover
|
||||
{
|
||||
background: #223C3C;
|
||||
color: #efeff0;
|
||||
}
|
||||
|
||||
.BtnItem
|
||||
{
|
||||
color:#B3B3B5;
|
||||
|
|
@ -71,11 +65,6 @@ body
|
|||
background-color: #223C3C;
|
||||
}
|
||||
|
||||
#RecentClearAllBtn:hover
|
||||
{
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.FileImg
|
||||
{
|
||||
background-color: #36363C; /*ORCA use darker color for dark theme for thumbnails*/
|
||||
|
|
|
|||
|
|
@ -100,16 +100,6 @@ body
|
|||
justify-content: center; /*and use login button in new line*/
|
||||
user-select: none;
|
||||
}
|
||||
#LoginBtn
|
||||
{
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
#LoginBtn:hover
|
||||
{
|
||||
font-size:17px;
|
||||
}
|
||||
|
||||
|
||||
#NoPluginTip
|
||||
{
|
||||
|
|
@ -167,24 +157,9 @@ body
|
|||
|
||||
#LogoutBtn
|
||||
{
|
||||
font-size: 14px;
|
||||
height: 24px;
|
||||
line-height: 24px;
|
||||
color: #4db6ac;
|
||||
border: 1px solid #009688;
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
margin-top: 5px;
|
||||
padding: 0px 8px;
|
||||
}
|
||||
|
||||
#LogoutBtn:hover
|
||||
{
|
||||
background: #00f0d8;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
|
||||
/*------------------*/
|
||||
#BtnArea
|
||||
{
|
||||
|
|
@ -357,22 +332,10 @@ body
|
|||
|
||||
#RecentClearAllBtn
|
||||
{
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
padding: 0px 10px;
|
||||
border-radius: 6px;
|
||||
line-height: 26px;
|
||||
height: 26px;
|
||||
margin-left: 20px;
|
||||
cursor: pointer;
|
||||
display: none;
|
||||
}
|
||||
|
||||
#RecentClearAllBtn:hover
|
||||
{
|
||||
background-color:#CDCECE;
|
||||
}
|
||||
|
||||
#RecentTitle
|
||||
{
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
<meta http-equiv="Cache-Control" content="max-age=7200" />
|
||||
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport" />
|
||||
<title>homepage</title>
|
||||
<link rel="stylesheet" type="text/css" href="../include/global.css" /> <!-- ORCA One for all-->
|
||||
<link rel="stylesheet" type="text/css" href="./css/home.css" />
|
||||
<link rel="stylesheet" type="text/css" href="./css/dark.css" />
|
||||
|
||||
|
|
@ -23,7 +24,7 @@
|
|||
<div id="LoginArea">
|
||||
<div id="Login1">
|
||||
<div id="Icon1"><img id="BBLIcon" src="../image/logo.png" /></div> <!-- ORCA use square icon for better consistency on UI -->
|
||||
<div id="LoginBtn" class="TextS1" style="font-weight: 700;" onClick="OnLoginOrRegister()"><span class="trans" tid="t26">login</span>/<span class="trans" tid="t27">register</span></div>
|
||||
<div id="LoginBtn" class="ButtonStyleRegular ButtonTypeWindow" onClick="OnLoginOrRegister()"><span class="trans" tid="t26">login</span> / <span class="trans" tid="t27">register</span></div>
|
||||
</div>
|
||||
|
||||
<div id="Login2">
|
||||
|
|
@ -31,7 +32,7 @@
|
|||
<img id="UserAvatarIcon" src="img/c.jpg" onerror="this.onerror=null;this.src='img/c.jpg';" />
|
||||
</div>
|
||||
<div id="UserName" class="TextS1"></div>
|
||||
<div id="LogoutBtn" class="Btn trans" tid="t50" onClick="OnLogOut()">log out</div>
|
||||
<div id="LogoutBtn" class="ButtonStyleAlert ButtonTypeWindow trans" tid="t50" onClick="OnLogOut()">log out</div>
|
||||
</div>
|
||||
|
||||
<div id="NoPluginTip">
|
||||
|
|
@ -80,7 +81,7 @@
|
|||
<div id="RecentFileArea">
|
||||
<div id="RecentTitleBlock">
|
||||
<div id="RecentTitle" class="Content-Title trans TextS1" tid="t35">recent open</div>
|
||||
<div id="RecentClearAllBtn" class="trans TextS1" tid="t12" onClick="OnDeleteAllRecentFiles()">Clear all</div>
|
||||
<div id="RecentClearAllBtn" class="ButtonStyleRegular ButtonTypeWindow trans" tid="t12" onClick="OnDeleteAllRecentFiles()">Clear all</div>
|
||||
</div>
|
||||
<div id="FileList">
|
||||
<!-- <div class="FileItem" onClick="OnOpenRecentFile('aaaa')" fpath='d:\model\11.3mf'>
|
||||
|
|
|
|||
73
resources/web/include/global.css
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
/*----ORCA UNIFIED STYLING FOR ALL CONTROLS----*/
|
||||
|
||||
/*----GLOBAL VARIABLES ----*/
|
||||
:root {
|
||||
--dialog-button-sizer-height : 62px; /*----32 + 15 * 2----*/
|
||||
--dialog-button-gap : 15px;
|
||||
}
|
||||
|
||||
/*----GLOBAL COLORS ----*/
|
||||
:root {
|
||||
--main-color : #009688;
|
||||
--main-color-hover : #26A69A;
|
||||
--button-fg-light : #FEFEFE;
|
||||
--button-fg-text : #262E30;
|
||||
--button-fg-disabled : #6B6B6B;
|
||||
--button-bg-normal : #DFDFDF;
|
||||
--button-bg-hover : #D4D4D4;
|
||||
--button-bg-disabled : var(--button-bg-normal);
|
||||
--button-bg-alert : #E14747;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--main-color : #00675B;
|
||||
--main-color-hover : #008172;
|
||||
--button-fg-light : #FEFEFE;
|
||||
--button-fg-text : #EFEFF0;
|
||||
--button-fg-disabled : #818183;
|
||||
--button-bg-normal : #3E3E45;
|
||||
--button-bg-hover : #4D4D54;
|
||||
--button-bg-disabled : var(--button-bg-normal);
|
||||
--button-bg-alert : #E14747;
|
||||
}
|
||||
}
|
||||
|
||||
/*----BUTTONS ----*/
|
||||
/*----Values slightly different since renderer is different----*/
|
||||
/*----Currently no support for focus border----*/
|
||||
.ButtonTypeCompact { font-size: 11px; padding: 0px 8px ; border-radius: 12px; line-height: 23px; height: 24px; text-align: center}
|
||||
.ButtonTypeWindow { font-size: 13px; padding: 0px 11px; border-radius: 12px; line-height: 23px; height: 24px; text-align: center}
|
||||
.ButtonTypeChoice { font-size: 15px; padding: 0px 13px; border-radius: 4px ; line-height: 31px; height: 32px; text-align: center}
|
||||
.ButtonTypeParameter { font-size: 15px; padding: 0px 12px; border-radius: 4px ; line-height: 25px; height: 26px; text-align: center}
|
||||
.ButtonTypeExpanded { font-size: 15px; padding: 0px 12px; border-radius: 4px ; line-height: 31px; height: 32px; text-align: center}
|
||||
|
||||
.ButtonTypeWindow,
|
||||
.ButtonTypeCompact {
|
||||
min-width: 36px; /*----58 - 11*2(padding)----*/
|
||||
}
|
||||
|
||||
.ButtonTypeWindow.ButtonStyleConfirm { /*---- Commonly used as "All" button before "Clear All" button----*/
|
||||
margin-right:10px;
|
||||
}
|
||||
|
||||
.ButtonTypeChoice {
|
||||
min-width: 74px; /*----100 - 13*2(padding)----*/
|
||||
margin-left:var(--dialog-button-gap);
|
||||
}
|
||||
|
||||
.ButtonTypeExpanded {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.ButtonTypeExpanded {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
.ButtonStyleConfirm { background: var(--main-color ); color: var(--button-fg-light )}
|
||||
.ButtonStyleConfirm:hover { background: var(--main-color-hover ); color: var(--button-fg-light )}
|
||||
.ButtonStyleRegular { background: var(--button-bg-normal ); color: var(--button-fg-text )}
|
||||
.ButtonStyleRegular:hover { background: var(--button-bg-hover ); color: var(--button-fg-text )}
|
||||
.ButtonStyleAlert { background: var(--button-bg-normal ); color: var(--button-fg-text )}
|
||||
.ButtonStyleAlert:hover { background: var(--button-bg-alert ); color: var(--button-fg-light )}
|
||||
.ButtonStyleDisabled { background: var(--button-bg-disabled); color: var(--button-fg-disabled)}
|
||||
|
|
@ -25,18 +25,6 @@ body
|
|||
background-color: #fff;
|
||||
}
|
||||
|
||||
.NormalBtn
|
||||
{
|
||||
padding: 3mm 10mm;
|
||||
font-size: 14px;
|
||||
text-align: center;
|
||||
background-color: #009688;
|
||||
border-radius: 20px;
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
#ErrorBlock
|
||||
{
|
||||
display:flex;
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
<meta charset="utf-8">
|
||||
<meta http-equiv="Cache-Control" content="max-age=7200" />
|
||||
<title>Network Error</title>
|
||||
<link rel="stylesheet" type="text/css" href="../include/global.css" /> <!-- ORCA One for all-->
|
||||
<link rel="stylesheet" type="text/css" href="css/login.css" />
|
||||
<script type="text/javascript" src="js/jquery-3.6.0.min.js"></script>
|
||||
<script type="text/javascript" src="../data/text.js"></script>
|
||||
|
|
@ -15,7 +16,7 @@
|
|||
<div id="ErrorBlock">
|
||||
<img id="ErrorIcon" src="disconnect3.png" />
|
||||
<div id="ErrorTip" class="trans" title="t40" >Network disconnect, please check and try again later.</div>
|
||||
<div id="ErrorBtn" class="NormalBtn">Retry</div>
|
||||
<div id="ErrorBtn" class="ButtonStyleRegular ButtonTypeChoice">Retry</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -66,8 +66,3 @@ a
|
|||
{
|
||||
background-color:#36363C;
|
||||
}
|
||||
|
||||
#AddModelInfoBtn:hover
|
||||
{
|
||||
color: #000;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@
|
|||
|
||||
<link rel="stylesheet" type="text/css" href="model.css" />
|
||||
<link rel="stylesheet" type="text/css" href="./css/dark.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../include/global.css" /> <!-- ORCA One for all-->
|
||||
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
<script type="text/javascript" src="model.js"></script>
|
||||
|
|
@ -26,7 +27,7 @@
|
|||
<div id="EmptyArea">
|
||||
<div><img src="img/null.png"></div>
|
||||
<div class="Text_Title Text_Bold trans" tid='orca2'>no model information</div>
|
||||
<div id="AddModelInfoBtn" class="trans TextS1" tid='orca1' onClick="OnClickEditProjectInfo()">Edit Project Info</div>
|
||||
<div id="AddModelInfoBtn" class="ButtonStyleConfirm ButtonTypeWindow trans" tid='orca1' onClick="OnClickEditProjectInfo()">Edit Project Info</div>
|
||||
</div>
|
||||
|
||||
<div id="WholeArea">
|
||||
|
|
|
|||
|
|
@ -378,17 +378,5 @@ body
|
|||
|
||||
#AddModelInfoBtn
|
||||
{
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
padding: 0px 10px;
|
||||
border-radius: 6px;
|
||||
line-height: 26px;
|
||||
height: 26px;
|
||||
margin-top: 20px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#AddModelInfoBtn:hover
|
||||
{
|
||||
background-color:#CDCECE;
|
||||
}
|
||||
}
|
||||
|
|
@ -112,6 +112,11 @@ void AppConfig::set_defaults()
|
|||
if (get("background_processing").empty())
|
||||
set_bool("background_processing", false);
|
||||
#endif
|
||||
if (get("auto_slice_after_change").empty())
|
||||
set_bool("auto_slice_after_change", false);
|
||||
|
||||
if (get("auto_slice_change_delay_seconds").empty())
|
||||
set("auto_slice_change_delay_seconds", "1");
|
||||
|
||||
if (get("drop_project_action").empty())
|
||||
set_bool("drop_project_action", true);
|
||||
|
|
|
|||
|
|
@ -4251,8 +4251,8 @@ LayerResult GCode::process_layer(
|
|||
bool is_multi_extruder = m_config.nozzle_diameter.size() > 1;
|
||||
|
||||
bool need_insert_timelapse_gcode_for_traditional = false;
|
||||
if (!m_wipe_tower || !m_wipe_tower->enable_timelapse_print()) {
|
||||
need_insert_timelapse_gcode_for_traditional = ((is_i3_printer && !m_spiral_vase)|| is_multi_extruder);
|
||||
if ((!m_wipe_tower || !m_wipe_tower->enable_timelapse_print()) && (is_BBL_Printer() || !m_config.time_lapse_gcode.value.empty())) {
|
||||
need_insert_timelapse_gcode_for_traditional = ((is_i3_printer && !m_spiral_vase) || is_multi_extruder);
|
||||
}
|
||||
|
||||
bool has_insert_timelapse_gcode = false;
|
||||
|
|
@ -4268,19 +4268,18 @@ LayerResult GCode::process_layer(
|
|||
gcode += this->change_layer(print_z); // this will increase m_layer_index
|
||||
m_layer = &layer;
|
||||
m_object_layer_over_raft = false;
|
||||
if(is_BBL_Printer()){
|
||||
} else {
|
||||
if (!m_config.time_lapse_gcode.value.empty()) {
|
||||
DynamicConfig config;
|
||||
config.set_key_value("layer_num", new ConfigOptionInt(m_layer_index));
|
||||
config.set_key_value("layer_z", new ConfigOptionFloat(print_z));
|
||||
config.set_key_value("max_layer_z", new ConfigOptionFloat(m_max_layer_z));
|
||||
gcode += this->placeholder_parser_process("timelapse_gcode", print.config().time_lapse_gcode.value, m_writer.filament()->id(),
|
||||
&config) +
|
||||
"\n";
|
||||
}
|
||||
|
||||
if (!m_config.time_lapse_gcode.value.empty() && !is_BBL_Printer()) {
|
||||
DynamicConfig config;
|
||||
config.set_key_value("layer_num", new ConfigOptionInt(m_layer_index));
|
||||
config.set_key_value("layer_z", new ConfigOptionFloat(print_z));
|
||||
config.set_key_value("max_layer_z", new ConfigOptionFloat(m_max_layer_z));
|
||||
gcode += this->placeholder_parser_process("timelapse_gcode",
|
||||
print.config().time_lapse_gcode.value, m_writer.filament()->id(), &config)
|
||||
+ "\n";
|
||||
}
|
||||
if (! m_config.layer_change_gcode.value.empty()) {
|
||||
|
||||
if (!m_config.layer_change_gcode.value.empty()) {
|
||||
DynamicConfig config;
|
||||
config.set_key_value("most_used_physical_extruder_id", new ConfigOptionInt(m_config.physical_extruder_map.get_at(most_used_extruder)));
|
||||
config.set_key_value("layer_num", new ConfigOptionInt(m_layer_index));
|
||||
|
|
@ -4729,7 +4728,7 @@ LayerResult GCode::process_layer(
|
|||
|
||||
auto timelapse_pos=m_timelapse_pos_picker.pick_pos(ctx);
|
||||
|
||||
std::string timepals_gcode;
|
||||
std::string timelapse_gcode;
|
||||
if (!print.config().time_lapse_gcode.value.empty()) {
|
||||
DynamicConfig config;
|
||||
config.set_key_value("layer_num", new ConfigOptionInt(m_layer_index));
|
||||
|
|
@ -4740,17 +4739,18 @@ LayerResult GCode::process_layer(
|
|||
config.set_key_value("timelapse_pos_x", new ConfigOptionInt((int)timelapse_pos.x()));
|
||||
config.set_key_value("timelapse_pos_y", new ConfigOptionInt((int)timelapse_pos.y()));
|
||||
config.set_key_value("has_timelapse_safe_pos", new ConfigOptionBool(timelapse_pos != DefaultTimelapsePos));
|
||||
timepals_gcode = this->placeholder_parser_process("timelapse_gcode", print.config().time_lapse_gcode.value, m_writer.filament()->id(), &config) + "\n";
|
||||
timelapse_gcode = this->placeholder_parser_process("timelapse_gcode", print.config().time_lapse_gcode.value, m_writer.filament()->id(), &config) + "\n";
|
||||
}
|
||||
if (!timepals_gcode.empty()) {
|
||||
m_writer.set_current_position_clear(false);
|
||||
|
||||
double temp_z_after_tool_change;
|
||||
if (GCodeProcessor::get_last_z_from_gcode(timepals_gcode, temp_z_after_tool_change)) {
|
||||
Vec3d pos = m_writer.get_position();
|
||||
pos(2) = temp_z_after_tool_change;
|
||||
m_writer.set_position(pos);
|
||||
}
|
||||
if (!timelapse_gcode.empty()) {
|
||||
m_writer.set_current_position_clear(false);
|
||||
|
||||
double temp_z_after_tool_change;
|
||||
if (GCodeProcessor::get_last_z_from_gcode(timelapse_gcode, temp_z_after_tool_change)) {
|
||||
Vec3d pos = m_writer.get_position();
|
||||
pos(2) = temp_z_after_tool_change;
|
||||
m_writer.set_position(pos);
|
||||
}
|
||||
}
|
||||
|
||||
// (layer_object_label_ids.size() < 64) this restriction comes from _encode_label_ids_to_base64()
|
||||
|
|
@ -4771,13 +4771,13 @@ LayerResult GCode::process_layer(
|
|||
std::string end_str = std::string("; object ids of this layer") + std::to_string(m_layer_index + 1) + (" end: ") + oss.str() + "\n";
|
||||
end_str += "M625\n";
|
||||
|
||||
timepals_gcode = start_str + timepals_gcode + end_str;
|
||||
timelapse_gcode = start_str + timelapse_gcode + end_str;
|
||||
}
|
||||
|
||||
return timepals_gcode;
|
||||
return timelapse_gcode;
|
||||
};
|
||||
|
||||
if (!need_insert_timelapse_gcode_for_traditional) { // Equivalent to the timelapse gcode placed in layer_change_gcode
|
||||
if (!need_insert_timelapse_gcode_for_traditional && is_BBL_Printer()) { // Equivalent to the timelapse gcode placed in layer_change_gcode
|
||||
if (FILAMENT_CONFIG(retract_when_changing_layer)) {
|
||||
gcode += this->retract(false, false, auto_lift_type, true);
|
||||
}
|
||||
|
|
@ -4873,10 +4873,12 @@ LayerResult GCode::process_layer(
|
|||
|
||||
gcode_toolchange = this->set_extruder(extruder_id, print_z);
|
||||
}
|
||||
|
||||
if (!gcode_toolchange.empty()) {
|
||||
// Disable vase mode for layers that has toolchange
|
||||
result.spiral_vase_enable = false;
|
||||
}
|
||||
|
||||
gcode += std::move(gcode_toolchange);
|
||||
|
||||
// let analyzer tag generator aware of a role type change
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@ void GCodeWriter::apply_print_config(const PrintConfig &print_config)
|
|||
};
|
||||
m_max_jerk_z = print_config.machine_max_jerk_z.values.front();
|
||||
m_max_jerk_e = print_config.machine_max_jerk_e.values.front();
|
||||
m_resolution = print_config.resolution.value;
|
||||
}
|
||||
|
||||
void GCodeWriter::set_extruders(std::vector<unsigned int> extruder_ids)
|
||||
|
|
@ -787,8 +788,18 @@ std::string GCodeWriter::_spiral_travel_to_z(double z, const Vec2d &ij_offset, c
|
|||
|
||||
if (!this->config.enable_arc_fitting) { // Orca: if arc fitting is disabled, approximate the arc with small linear segments
|
||||
std::ostringstream oss;
|
||||
const double z_start = m_pos(2); // starting Z height
|
||||
const int segments = 24; // number of linear segments to use for approximating the arc
|
||||
const double z_start = m_pos(2); // starting Z height
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
// Determine number of segments based on Resolution
|
||||
// --------------------------------------------------------------------
|
||||
const double ref_resolution = 0.01; // reference resolution in mm
|
||||
const double ref_segments = 16.0; // reference number of segments at reference resolution
|
||||
|
||||
// number of linear segments to use for approximating the arc, clamp between 4 and 24
|
||||
const int segments = std::clamp(int(std::round(ref_segments * (ref_resolution / m_resolution))), 4, 24);
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
const double px = m_pos(0) - m_x_offset; // take plate offset into consideration
|
||||
const double py = m_pos(1) - m_y_offset; // take plate offset into consideration
|
||||
const double cx = px + ij_offset(0); // center x
|
||||
|
|
|
|||
|
|
@ -168,6 +168,9 @@ public:
|
|||
//BBS: x, y offset for gcode generated
|
||||
double m_x_offset{ 0 };
|
||||
double m_y_offset{ 0 };
|
||||
|
||||
// Orca: slicing resolution in mm
|
||||
double m_resolution = 0.01;
|
||||
|
||||
std::string m_gcode_label_objects_start;
|
||||
std::string m_gcode_label_objects_end;
|
||||
|
|
|
|||
|
|
@ -161,11 +161,18 @@ void extend_default_config_length(DynamicPrintConfig& config, const bool set_nil
|
|||
int process_variant_length = default_param_length;
|
||||
int machine_variant_length = default_param_length;
|
||||
|
||||
// Orca: use nozzle/extruder count as the default printer variant length
|
||||
// because non-BBL multi-extruder printers currently do not support extruder variant.
|
||||
if (config.has("nozzle_diameter")) {
|
||||
auto* nozzle_diameter = dynamic_cast<const ConfigOptionFloats*>(config.option("nozzle_diameter"));
|
||||
machine_variant_length = nozzle_diameter->values.size();
|
||||
}
|
||||
|
||||
if(config.has("filament_extruder_variant"))
|
||||
filament_variant_length = config.option<ConfigOptionStrings>("filament_extruder_variant")->size();
|
||||
if(config.has("print_extruder_variant"))
|
||||
process_variant_length = config.option<ConfigOptionStrings>("print_extruder_variant")->size();
|
||||
if(config.has("printer_extruder_variant"))
|
||||
if(config.has("printer_extruder_variant")) // Use existing variant list if specified, so BBL's multi-variant profiles still works
|
||||
machine_variant_length = config.option<ConfigOptionStrings>("printer_extruder_variant")->size();
|
||||
|
||||
auto replace_nil_and_resize = [&](const std::string & key, int length){
|
||||
|
|
|
|||
|
|
@ -7996,8 +7996,41 @@ size_t DynamicPrintConfig::get_parameter_size(const std::string& param_name, siz
|
|||
return extruder_nums;
|
||||
}
|
||||
|
||||
// Orca: Special handling for extruder variants
|
||||
// BBL printers have extruder variants pre-defined in system profiles, however for customized multi-extruder profile,
|
||||
// we need to set up these parameters automatically, otherwise per-extruder options won't work properly.
|
||||
static void extend_extruder_variant(DynamicPrintConfig& config, const unsigned int num_extruders)
|
||||
{
|
||||
// 1. Make sure the `extruder_variant_list` is the same length as extruder cnt
|
||||
auto extruder_variant_opt = dynamic_cast<ConfigOptionStrings*>(config.option("extruder_variant_list"));
|
||||
assert(extruder_variant_opt != nullptr);
|
||||
extruder_variant_opt->resize(num_extruders, extruder_variant_opt); // Use the first option as the default value, so all extruders have the same variant
|
||||
|
||||
// 2. Update `printer_extruder_variant` and `printer_extruder_id` based on `extruder_variant_list`
|
||||
auto printer_extruder_id_opt = dynamic_cast<ConfigOptionInts*>(config.option("printer_extruder_id"));
|
||||
assert(printer_extruder_id_opt != nullptr);
|
||||
printer_extruder_id_opt->values.clear();
|
||||
auto printer_extruder_variant_opt = dynamic_cast<ConfigOptionStrings*>(config.option("printer_extruder_variant"));
|
||||
assert(printer_extruder_variant_opt != nullptr);
|
||||
printer_extruder_variant_opt->values.clear();
|
||||
for (int i = 0; i < num_extruders; i++) {
|
||||
// `extruder_variant_list` specifies supported variant of each nozzle/extruder,
|
||||
// each item is a comma separated list of variants (extruder type + nozzle flow type) this extruder supported
|
||||
std::string variant = extruder_variant_opt->get_at(i);
|
||||
std::vector<std::string> variants_list;
|
||||
boost::split(variants_list, variant, boost::is_any_of(","), boost::token_compress_on);
|
||||
|
||||
if (!variants_list.empty()) {
|
||||
printer_extruder_id_opt->values.insert(printer_extruder_id_opt->values.end(), variants_list.size(), i + 1);
|
||||
printer_extruder_variant_opt->values.insert(printer_extruder_variant_opt->values.end(), variants_list.begin(), variants_list.end());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DynamicPrintConfig::set_num_extruders(unsigned int num_extruders)
|
||||
{
|
||||
extend_extruder_variant(*this, num_extruders);
|
||||
|
||||
const auto &defaults = FullPrintConfig::defaults();
|
||||
for (const std::string &key : print_config_def.extruder_option_keys()) {
|
||||
if (key == "default_filament_profile")
|
||||
|
|
|
|||
|
|
@ -2168,7 +2168,7 @@ static void triangulate_slice(
|
|||
float z,
|
||||
bool triangulate,
|
||||
bool normals_down,
|
||||
const std::map<int, Vec3f*> §ion_vertices_map)
|
||||
const std::map<int, Vec3f> §ion_vertices_map)
|
||||
{
|
||||
sort_remove_duplicates(slice_vertices);
|
||||
|
||||
|
|
@ -2240,7 +2240,7 @@ static void triangulate_slice(
|
|||
int idx = -1;
|
||||
bool exist = false;
|
||||
for (auto iter = section_vertices_map.begin(); iter != section_vertices_map.end(); iter++) {
|
||||
if (is_equal(v, *iter->second)) {
|
||||
if (is_equal(v, iter->second)) {
|
||||
idx = iter->first;
|
||||
exist = true;
|
||||
break;
|
||||
|
|
@ -2348,7 +2348,7 @@ void cut_mesh(const indexed_triangle_set& mesh, float z, indexed_triangle_set* u
|
|||
IntersectionLines upper_lines, lower_lines;
|
||||
std::vector<int> upper_slice_vertices, lower_slice_vertices;
|
||||
std::vector<Vec3i32> facets_edge_ids = its_face_edge_ids(mesh);
|
||||
std::map<int, Vec3f *> section_vertices_map;
|
||||
std::map<int, Vec3f> section_vertices_map;
|
||||
|
||||
for (int facet_idx = 0; facet_idx < int(mesh.indices.size()); ++ facet_idx) {
|
||||
const stl_triangle_vertex_indices &facet = mesh.indices[facet_idx];
|
||||
|
|
@ -2357,8 +2357,8 @@ void cut_mesh(const indexed_triangle_set& mesh, float z, indexed_triangle_set* u
|
|||
float max_z = std::max(vertices[0].z(), std::max(vertices[1].z(), vertices[2].z()));
|
||||
|
||||
for (size_t i = 0; i < 3; i++) {
|
||||
if (is_equal(z, vertices[i].z()) && section_vertices_map[facet(i)] == nullptr) {
|
||||
section_vertices_map[facet(i)] = new Vec3f(vertices[i].x(), vertices[i].y(), vertices[i].z());
|
||||
if (is_equal(z, vertices[i].z()) && section_vertices_map.find(facet(i)) == section_vertices_map.end()) {
|
||||
section_vertices_map.emplace(facet(i), vertices[i]);
|
||||
}
|
||||
}
|
||||
// intersect facet with cutting plane
|
||||
|
|
@ -2554,7 +2554,6 @@ void cut_mesh(const indexed_triangle_set& mesh, float z, indexed_triangle_set* u
|
|||
}
|
||||
#endif // NDEBUG
|
||||
}
|
||||
std::map<int, Vec3f*>().swap(section_vertices_map);
|
||||
}
|
||||
|
||||
} // namespace Slic3r
|
||||
|
|
|
|||
|
|
@ -57,32 +57,15 @@ void AMSMaterialsSetting::create()
|
|||
m_sizer_button->Add(0, 0, 1, wxEXPAND, 0);
|
||||
|
||||
m_button_confirm = new Button(this, _L("Confirm"));
|
||||
m_btn_bg_green = StateColor(std::pair<wxColour, int>(wxColour(0, 137, 123), StateColor::Pressed), std::pair<wxColour, int>(wxColour(38, 166, 154), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 150, 136), StateColor::Normal));
|
||||
m_button_confirm->SetBackgroundColor(m_btn_bg_green);
|
||||
m_button_confirm->SetBorderColor(wxColour(0, 150, 136));
|
||||
m_button_confirm->SetTextColor(wxColour("#FFFFFE"));
|
||||
m_button_confirm->SetMinSize(AMS_MATERIALS_SETTING_BUTTON_SIZE);
|
||||
m_button_confirm->SetCornerRadius(FromDIP(12));
|
||||
m_button_confirm->SetStyle(ButtonStyle::Confirm, ButtonType::Choice);
|
||||
m_button_confirm->Bind(wxEVT_BUTTON, &AMSMaterialsSetting::on_select_ok, this);
|
||||
|
||||
m_button_reset = new Button(this, _L("Reset"));
|
||||
m_btn_bg_gray = StateColor(std::pair<wxColour, int>(wxColour(206, 206, 206), StateColor::Pressed), std::pair<wxColour, int>(*wxWHITE, StateColor::Focused),
|
||||
std::pair<wxColour, int>(wxColour(238, 238, 238), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(*wxWHITE, StateColor::Normal));
|
||||
m_button_reset->SetBackgroundColor(m_btn_bg_gray);
|
||||
m_button_reset->SetBorderColor(AMS_MATERIALS_SETTING_GREY900);
|
||||
m_button_reset->SetTextColor(AMS_MATERIALS_SETTING_GREY900);
|
||||
m_button_reset->SetMinSize(AMS_MATERIALS_SETTING_BUTTON_SIZE);
|
||||
m_button_reset->SetCornerRadius(FromDIP(12));
|
||||
m_button_reset->SetStyle(ButtonStyle::Regular, ButtonType::Choice);
|
||||
m_button_reset->Bind(wxEVT_BUTTON, &AMSMaterialsSetting::on_select_reset, this);
|
||||
|
||||
m_button_close = new Button(this, _L("Close"));
|
||||
m_button_close->SetBackgroundColor(m_btn_bg_gray);
|
||||
m_button_close->SetBorderColor(AMS_MATERIALS_SETTING_GREY900);
|
||||
m_button_close->SetTextColor(AMS_MATERIALS_SETTING_GREY900);
|
||||
m_button_close->SetMinSize(AMS_MATERIALS_SETTING_BUTTON_SIZE);
|
||||
m_button_close->SetCornerRadius(FromDIP(12));
|
||||
m_button_close->SetStyle(ButtonStyle::Regular, ButtonType::Choice);
|
||||
m_button_close->Bind(wxEVT_BUTTON, &AMSMaterialsSetting::on_select_close, this);
|
||||
|
||||
m_sizer_button->Add(m_button_confirm, 0, wxALIGN_CENTER | wxRIGHT, FromDIP(20));
|
||||
|
|
@ -836,7 +819,7 @@ void AMSMaterialsSetting::update_widgets()
|
|||
bool AMSMaterialsSetting::Show(bool show)
|
||||
{
|
||||
if (show) {
|
||||
m_button_confirm->SetMinSize(AMS_MATERIALS_SETTING_BUTTON_SIZE);
|
||||
m_button_confirm->Rescale(); // ORCA re applies size
|
||||
m_input_nozzle_max->GetTextCtrl()->SetSize(wxSize(-1, FromDIP(20)));
|
||||
m_input_nozzle_min->GetTextCtrl()->SetSize(wxSize(-1, FromDIP(20)));
|
||||
//m_clr_picker->set_color(m_clr_picker->GetParent()->GetBackgroundColour());
|
||||
|
|
@ -1193,9 +1176,7 @@ void AMSMaterialsSetting::on_select_filament(wxCommandEvent &evt)
|
|||
if ( !this->obj || m_filament_selection < 0) {
|
||||
m_input_k_val->Enable(false);
|
||||
m_input_n_val->Enable(false);
|
||||
m_button_confirm->Disable();
|
||||
m_button_confirm->SetBackgroundColor(wxColour(0x90, 0x90, 0x90));
|
||||
m_button_confirm->SetBorderColor(wxColour(0x90, 0x90, 0x90));
|
||||
m_button_confirm->Disable(); // ORCA No need to change style
|
||||
m_comboBox_cali_result->Clear();
|
||||
m_comboBox_cali_result->SetValue(wxEmptyString);
|
||||
m_input_k_val->GetTextCtrl()->SetValue(wxEmptyString);
|
||||
|
|
@ -1204,10 +1185,7 @@ void AMSMaterialsSetting::on_select_filament(wxCommandEvent &evt)
|
|||
return;
|
||||
}
|
||||
else {
|
||||
m_button_confirm->SetBackgroundColor(m_btn_bg_green);
|
||||
m_button_confirm->SetBorderColor(wxColour(0, 150, 136));
|
||||
m_button_confirm->SetTextColor(wxColour("#FFFFFE"));
|
||||
m_button_confirm->Enable(true);
|
||||
m_button_confirm->Enable(true); // ORCA No need to change style
|
||||
}
|
||||
|
||||
//filament id
|
||||
|
|
@ -1357,12 +1335,9 @@ void AMSMaterialsSetting::on_dpi_changed(const wxRect &suggested_rect)
|
|||
degree->msw_rescale();
|
||||
bitmap_max_degree->SetBitmap(degree->bmp());
|
||||
bitmap_min_degree->SetBitmap(degree->bmp());
|
||||
m_button_reset->SetMinSize(AMS_MATERIALS_SETTING_BUTTON_SIZE);
|
||||
m_button_reset->SetCornerRadius(FromDIP(12));
|
||||
m_button_confirm->SetMinSize(AMS_MATERIALS_SETTING_BUTTON_SIZE);
|
||||
m_button_confirm->SetCornerRadius(FromDIP(12));
|
||||
m_button_close->SetMinSize(AMS_MATERIALS_SETTING_BUTTON_SIZE);
|
||||
m_button_close->SetCornerRadius(FromDIP(12));
|
||||
m_button_reset->Rescale(); // ORCA
|
||||
m_button_confirm->Rescale(); // ORCA
|
||||
m_button_close->Rescale(); // ORCA
|
||||
this->Refresh();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -39,25 +39,8 @@ BBLStatusBarSend::BBLStatusBarSend(wxWindow *parent, int id)
|
|||
|
||||
//StateColor btn_bd_white(std::pair<wxColour, int>(*wxWHITE, StateColor::Disabled), std::pair<wxColour, int>(wxColour(38, 46, 48), StateColor::Enabled));
|
||||
|
||||
StateColor btn_bt_white(std::pair<wxColour, int>(wxColour(0x90, 0x90, 0x90), StateColor::Disabled),
|
||||
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));
|
||||
|
||||
StateColor btn_bd_white(std::pair<wxColour, int>(wxColour(255, 255, 254), StateColor::Disabled),
|
||||
std::pair<wxColour, int>(wxColour(38, 46, 48), StateColor::Enabled));
|
||||
|
||||
|
||||
StateColor btn_txt_white(std::pair<wxColour, int>(wxColour("#FFFFFE"), StateColor::Disabled), std::pair<wxColour, int>(wxColour(38, 46, 48), StateColor::Normal));
|
||||
|
||||
m_cancelbutton = new Button(m_self, _L("Cancel"));
|
||||
m_cancelbutton->SetSize(wxSize(m_self->FromDIP(58), m_self->FromDIP(22)));
|
||||
m_cancelbutton->SetMinSize(wxSize(m_self->FromDIP(58), m_self->FromDIP(22)));
|
||||
m_cancelbutton->SetMaxSize(wxSize(m_self->FromDIP(58), m_self->FromDIP(22)));
|
||||
m_cancelbutton->SetBackgroundColor(btn_bt_white);
|
||||
m_cancelbutton->SetBorderColor(btn_bd_white);
|
||||
m_cancelbutton->SetTextColor(btn_txt_white);
|
||||
m_cancelbutton->SetCornerRadius(m_self->FromDIP(12));
|
||||
m_cancelbutton->SetStyle(ButtonStyle::Regular, ButtonType::Choice);
|
||||
m_cancelbutton->Bind(wxEVT_BUTTON,
|
||||
[this](wxCommandEvent &evt) {
|
||||
cancel();
|
||||
|
|
|
|||
|
|
@ -135,32 +135,14 @@ PingCodeBindDialog::PingCodeBindDialog(Plater* plater /*= nullptr*/)
|
|||
wxBoxSizer* m_sizer_button = new wxBoxSizer(wxHORIZONTAL);
|
||||
m_sizer_button->Add(0, 0, 1, wxEXPAND, 5);
|
||||
m_button_bind = new Button(request_bind_panel, _L("Confirm"));
|
||||
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(206, 206, 206), StateColor::Disabled),
|
||||
std::pair<wxColour, int>(wxColour(0, 137, 123), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(38, 166, 154), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 150, 136), StateColor::Normal));
|
||||
m_button_bind->SetBackgroundColor(btn_bg_green);
|
||||
m_button_bind->SetBorderColor(*wxWHITE);
|
||||
m_button_bind->SetTextColor(wxColour("#FFFFFE"));
|
||||
m_button_bind->SetSize(BIND_DIALOG_BUTTON_SIZE);
|
||||
m_button_bind->SetMinSize(BIND_DIALOG_BUTTON_SIZE);
|
||||
m_button_bind->SetCornerRadius(FromDIP(12));
|
||||
m_button_bind->SetStyle(ButtonStyle::Confirm, ButtonType::Choice);
|
||||
m_button_bind->Enable(false);
|
||||
|
||||
StateColor btn_bg_white(std::pair<wxColour, int>(wxColour(206, 206, 206), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(*wxWHITE, StateColor::Normal));
|
||||
|
||||
m_button_cancel = new Button(request_bind_panel, _L("Cancel"));
|
||||
m_button_cancel->SetBackgroundColor(btn_bg_white);
|
||||
m_button_cancel->SetBorderColor(BIND_DIALOG_GREY900);
|
||||
m_button_cancel->SetSize(BIND_DIALOG_BUTTON_SIZE);
|
||||
m_button_cancel->SetMinSize(BIND_DIALOG_BUTTON_SIZE);
|
||||
m_button_cancel->SetTextColor(BIND_DIALOG_GREY900);
|
||||
m_button_cancel->SetCornerRadius(FromDIP(12));
|
||||
m_button_cancel->SetStyle(ButtonStyle::Regular, ButtonType::Choice);
|
||||
|
||||
m_sizer_button->Add(m_button_bind, 0, wxALIGN_CENTER, 0);
|
||||
m_sizer_button->Add(0, 0, 0, wxLEFT, FromDIP(13));
|
||||
m_sizer_button->Add(0, 0, 0, wxLEFT, ButtonProps::ChoiceButtonGap());
|
||||
m_sizer_button->Add(m_button_cancel, 0, wxALIGN_CENTER, 0);
|
||||
|
||||
|
||||
|
|
@ -179,7 +161,7 @@ PingCodeBindDialog::PingCodeBindDialog(Plater* plater /*= nullptr*/)
|
|||
sizer_request->Add(0, 0, 0, wxTOP, FromDIP(5));
|
||||
sizer_request->Add(ping_code_input, 0, wxLEFT, FromDIP(10));
|
||||
sizer_request->Add(0, 0, 0, wxTOP, FromDIP(10));
|
||||
sizer_request->Add(m_sizer_button, 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM, FromDIP(15));
|
||||
sizer_request->Add(m_sizer_button, 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM, ButtonProps::ChoiceButtonGap());
|
||||
request_bind_panel->SetSizer(sizer_request);
|
||||
request_bind_panel->Layout();
|
||||
request_bind_panel->Fit();
|
||||
|
|
@ -197,12 +179,8 @@ PingCodeBindDialog::PingCodeBindDialog(Plater* plater /*= nullptr*/)
|
|||
m_sizer_binding_button->Add(0, 0, 1, wxEXPAND, 5);
|
||||
|
||||
m_button_close = new Button(binding_panel, _L("Close"));
|
||||
m_button_close->SetBackgroundColor(btn_bg_white);
|
||||
m_button_close->SetBorderColor(BIND_DIALOG_GREY900);
|
||||
m_button_close->SetSize(BIND_DIALOG_BUTTON_SIZE);
|
||||
m_button_close->SetMinSize(BIND_DIALOG_BUTTON_SIZE);
|
||||
m_button_close->SetTextColor(BIND_DIALOG_GREY900);
|
||||
m_button_close->SetCornerRadius(FromDIP(12));
|
||||
m_button_close->SetStyle(ButtonStyle::Regular, ButtonType::Choice);
|
||||
|
||||
m_sizer_binding_button->Add(m_button_close, 0, wxALIGN_CENTER, 0);
|
||||
|
||||
auto sizer_binding = new wxBoxSizer(wxVERTICAL);
|
||||
|
|
@ -211,7 +189,7 @@ PingCodeBindDialog::PingCodeBindDialog(Plater* plater /*= nullptr*/)
|
|||
sizer_binding->Add(0, 0, 0, wxTOP, FromDIP(10));
|
||||
sizer_binding->Add(m_loading_tip_txt, 0, wxALIGN_CENTER, 0);
|
||||
sizer_binding->Add(0, 0, 0, wxTOP, FromDIP(30));
|
||||
sizer_binding->Add(m_sizer_binding_button, 0, wxALIGN_RIGHT | wxRIGHT, FromDIP(20));
|
||||
sizer_binding->Add(m_sizer_binding_button, 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM, ButtonProps::ChoiceButtonGap());
|
||||
binding_panel->SetSizer(sizer_binding);
|
||||
binding_panel->Layout();
|
||||
binding_panel->Fit();
|
||||
|
|
@ -484,7 +462,7 @@ PingCodeBindDialog::~PingCodeBindDialog() {
|
|||
wxString txt = _L("Thank you for purchasing a Bambu Lab device. Before using your Bambu Lab device, please read the terms and 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);
|
||||
ConfirmBeforeSendDialog confirm_dlg(this, wxID_ANY, _L("Terms and Conditions"), ConfirmBeforeSendDialog::VisibleButtons::ONLY_CONFIRM); // ORCA VisibleButtons instead ButtonStyle
|
||||
confirm_dlg.update_text(txt);
|
||||
confirm_dlg.CenterOnParent();
|
||||
confirm_dlg.on_show();
|
||||
|
|
@ -553,7 +531,7 @@ PingCodeBindDialog::~PingCodeBindDialog() {
|
|||
"Personal Data by which an individual can be identified directly or indirectly, including "
|
||||
"without limitation names, addresses, payment information, or phone numbers. By enabling "
|
||||
"this service, you agree to these terms and the statement about Privacy Policy.");
|
||||
ConfirmBeforeSendDialog confirm_dlg(this, wxID_ANY, _L("Statement on User Experience Improvement Plan"), ConfirmBeforeSendDialog::ButtonStyle::ONLY_CONFIRM);
|
||||
ConfirmBeforeSendDialog confirm_dlg(this, wxID_ANY, _L("Statement on User Experience Improvement Plan"), ConfirmBeforeSendDialog::VisibleButtons::ONLY_CONFIRM); // ORCA VisibleButtons instead ButtonStyle
|
||||
|
||||
wxString model_id_text;
|
||||
|
||||
|
|
@ -683,35 +661,15 @@ PingCodeBindDialog::~PingCodeBindDialog() {
|
|||
auto button_panel = new wxPanel(m_simplebook, wxID_ANY, wxDefaultPosition, BIND_DIALOG_BUTTON_PANEL_SIZE);
|
||||
button_panel->SetBackgroundColour(*wxWHITE);
|
||||
wxBoxSizer *m_sizer_button = new wxBoxSizer(wxHORIZONTAL);
|
||||
m_sizer_button->Add(0, 0, 1, wxEXPAND, 5);
|
||||
m_button_bind = new Button(button_panel, _L("Confirm"));
|
||||
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(206, 206, 206), StateColor::Disabled),
|
||||
std::pair<wxColour, int>(wxColour(0, 137, 123), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(38, 166, 154), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 150, 136), StateColor::Normal));
|
||||
m_button_bind->SetBackgroundColor(btn_bg_green);
|
||||
m_button_bind->SetBorderColor(*wxWHITE);
|
||||
m_button_bind->SetTextColor(wxColour("#FFFFFE"));
|
||||
m_button_bind->SetSize(BIND_DIALOG_BUTTON_SIZE);
|
||||
m_button_bind->SetMinSize(BIND_DIALOG_BUTTON_SIZE);
|
||||
m_button_bind->SetCornerRadius(FromDIP(12));
|
||||
m_button_bind->SetStyle(ButtonStyle::Confirm, ButtonType::Choice);
|
||||
m_button_bind->Enable(false);
|
||||
|
||||
|
||||
StateColor btn_bg_white(std::pair<wxColour, int>(wxColour(206, 206, 206), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(*wxWHITE, StateColor::Normal));
|
||||
|
||||
m_button_cancel = new Button(button_panel, _L("Cancel"));
|
||||
m_button_cancel->SetBackgroundColor(btn_bg_white);
|
||||
m_button_cancel->SetBorderColor(BIND_DIALOG_GREY900);
|
||||
m_button_cancel->SetSize(BIND_DIALOG_BUTTON_SIZE);
|
||||
m_button_cancel->SetMinSize(BIND_DIALOG_BUTTON_SIZE);
|
||||
m_button_cancel->SetTextColor(BIND_DIALOG_GREY900);
|
||||
m_button_cancel->SetCornerRadius(FromDIP(12));
|
||||
m_button_cancel->SetStyle(ButtonStyle::Regular, ButtonType::Choice);
|
||||
|
||||
m_sizer_button->Add(m_button_bind, 0, wxALIGN_CENTER, 0);
|
||||
m_sizer_button->Add(0, 0, 0, wxLEFT, FromDIP(13));
|
||||
m_sizer_button->AddSpacer(ButtonProps::ChoiceButtonGap());
|
||||
m_sizer_button->Add(m_button_cancel, 0, wxALIGN_CENTER, 0);
|
||||
button_panel->SetSizer(m_sizer_button);
|
||||
button_panel->Layout();
|
||||
|
|
@ -730,8 +688,7 @@ PingCodeBindDialog::~PingCodeBindDialog() {
|
|||
m_sizer_main->Add(m_panel_agreement, 0, wxALIGN_CENTER, 0);
|
||||
m_sizer_main->Add(0, 0, 0, wxTOP, FromDIP(10));
|
||||
m_sizer_main->Add(m_sw_bind_failed_info, 0, wxALIGN_CENTER, 0);
|
||||
m_sizer_main->Add(m_simplebook, 0, wxALIGN_CENTER, 0);
|
||||
m_sizer_main->Add(0, 0, 0, wxTOP, FromDIP(20));
|
||||
m_sizer_main->Add(m_simplebook, 0, wxALIGN_RIGHT | wxRIGHT | wxBOTTOM, ButtonProps::ChoiceButtonGap());
|
||||
|
||||
SetSizer(m_sizer_main);
|
||||
Layout();
|
||||
|
|
@ -891,8 +848,8 @@ PingCodeBindDialog::~PingCodeBindDialog() {
|
|||
|
||||
void BindMachineDialog::on_dpi_changed(const wxRect &suggested_rect)
|
||||
{
|
||||
m_button_bind->SetMinSize(BIND_DIALOG_BUTTON_SIZE);
|
||||
m_button_cancel->SetMinSize(BIND_DIALOG_BUTTON_SIZE);
|
||||
m_button_bind->Rescale(); // ORCA
|
||||
m_button_cancel->Rescale(); // ORCA
|
||||
}
|
||||
|
||||
void BindMachineDialog::update_machine_info(MachineObject* info)
|
||||
|
|
@ -1040,34 +997,18 @@ 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(38, 166, 154), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 150, 136), StateColor::Normal));
|
||||
m_button_unbind->SetBackgroundColor(btn_bg_green);
|
||||
m_button_unbind->SetBorderColor(wxColour(0, 150, 136));
|
||||
m_button_unbind->SetTextColor(wxColour("#FFFFFE"));
|
||||
m_button_unbind->SetSize(BIND_DIALOG_BUTTON_SIZE);
|
||||
m_button_unbind->SetMinSize(BIND_DIALOG_BUTTON_SIZE);
|
||||
m_button_unbind->SetCornerRadius(FromDIP(12));
|
||||
|
||||
|
||||
StateColor btn_bg_white(std::pair<wxColour, int>(wxColour(206, 206, 206), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(*wxWHITE, StateColor::Normal));
|
||||
m_button_unbind->SetStyle(ButtonStyle::Confirm, ButtonType::Choice);
|
||||
|
||||
m_button_cancel = new Button(this, _L("Cancel"));
|
||||
m_button_cancel->SetBackgroundColor(btn_bg_white);
|
||||
m_button_cancel->SetBorderColor(BIND_DIALOG_GREY900);
|
||||
m_button_cancel->SetSize(BIND_DIALOG_BUTTON_SIZE);
|
||||
m_button_cancel->SetMinSize(BIND_DIALOG_BUTTON_SIZE);
|
||||
m_button_cancel->SetTextColor(BIND_DIALOG_GREY900);
|
||||
m_button_cancel->SetCornerRadius(FromDIP(12));
|
||||
m_button_cancel->SetStyle(ButtonStyle::Regular, ButtonType::Choice);
|
||||
|
||||
m_sizer_button->Add(m_button_unbind, 0, wxALIGN_CENTER, 0);
|
||||
m_sizer_button->Add(0, 0, 0, wxLEFT, FromDIP(13));
|
||||
m_sizer_button->Add(0, 0, 0, wxLEFT, ButtonProps::ChoiceButtonGap());
|
||||
m_sizer_button->Add(m_button_cancel, 0, wxALIGN_CENTER, 0);
|
||||
|
||||
m_sizer_main->Add(m_status_text, 0, wxALIGN_CENTER, 0);
|
||||
m_sizer_main->Add(0, 0, 0, wxTOP, FromDIP(10));
|
||||
m_sizer_main->Add(m_sizer_button, 0, wxEXPAND | wxLEFT | wxRIGHT, FromDIP(30));
|
||||
m_sizer_main->Add(m_sizer_button, 0, wxALIGN_RIGHT | wxRIGHT, ButtonProps::ChoiceButtonGap());
|
||||
m_sizer_main->Add(0, 0, 0, wxTOP, FromDIP(20));
|
||||
|
||||
SetSizer(m_sizer_main);
|
||||
|
|
@ -1133,8 +1074,8 @@ void UnBindMachineDialog::on_unbind_printer(wxCommandEvent &event)
|
|||
|
||||
void UnBindMachineDialog::on_dpi_changed(const wxRect &suggested_rect)
|
||||
{
|
||||
m_button_unbind->SetMinSize(BIND_DIALOG_BUTTON_SIZE);
|
||||
m_button_cancel->SetMinSize(BIND_DIALOG_BUTTON_SIZE);
|
||||
m_button_unbind->Rescale(); // ORCA
|
||||
m_button_cancel->Rescale(); // ORCA
|
||||
}
|
||||
|
||||
void UnBindMachineDialog::on_show(wxShowEvent &event)
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
#include "format.hpp"
|
||||
#include "MsgDialog.hpp"
|
||||
#include "slic3r/Utils/CalibUtils.hpp"
|
||||
#include "Widgets/DialogButtons.hpp"
|
||||
#include <wx/gbsizer.h>
|
||||
|
||||
#include "Plater.hpp"
|
||||
|
|
@ -114,15 +115,7 @@ HistoryWindow::HistoryWindow(wxWindow* parent, const std::vector<PACalibResult>&
|
|||
scroll_window->SetSizer(scroll_sizer);
|
||||
|
||||
Button * mew_btn = new Button(scroll_window, _L("New"));
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(0, 137, 123), StateColor::Pressed), std::pair<wxColour, int>(wxColour(38, 166, 154), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 150, 136), StateColor::Normal));
|
||||
mew_btn->SetBackgroundColour(*wxWHITE);
|
||||
mew_btn->SetBackgroundColor(btn_bg_green);
|
||||
mew_btn->SetBorderColor(wxColour(0, 150, 136));
|
||||
mew_btn->SetTextColor(wxColour("#FFFFFE"));
|
||||
mew_btn->SetMinSize(wxSize(FromDIP(100), FromDIP(24)));
|
||||
mew_btn->SetMaxSize(wxSize(FromDIP(100), FromDIP(24)));
|
||||
mew_btn->SetCornerRadius(FromDIP(12));
|
||||
mew_btn->SetStyle(ButtonStyle::Confirm, ButtonType::Window);
|
||||
mew_btn->Bind(wxEVT_BUTTON, &HistoryWindow::on_click_new_button, this);
|
||||
|
||||
scroll_sizer->Add(mew_btn, 0, wxLEFT, FromDIP(20));
|
||||
|
|
@ -379,9 +372,7 @@ void HistoryWindow::sync_history_data() {
|
|||
auto n_value = new Label(m_history_data_panel, n_str);
|
||||
n_value->Hide();
|
||||
auto delete_button = new Button(m_history_data_panel, _L("Delete"));
|
||||
delete_button->SetBackgroundColour(*wxWHITE);
|
||||
delete_button->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||
delete_button->SetCornerRadius(FromDIP(12));
|
||||
delete_button->SetStyle(ButtonStyle::Alert, ButtonType::Window);
|
||||
delete_button->Bind(wxEVT_BUTTON, [this, gbSizer, i, &result](auto& e) {
|
||||
if (m_ui_op_lock) {
|
||||
return;
|
||||
|
|
@ -405,15 +396,7 @@ 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(0, 137, 123), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(38, 166, 154), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 150, 136), StateColor::Normal));
|
||||
edit_button->SetBackgroundColour(*wxWHITE);
|
||||
edit_button->SetBackgroundColor(btn_bg_green);
|
||||
edit_button->SetBorderColor(wxColour(0, 150, 136));
|
||||
edit_button->SetTextColor(wxColour("#FFFFFE"));
|
||||
edit_button->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||
edit_button->SetCornerRadius(FromDIP(12));
|
||||
edit_button->SetStyle(ButtonStyle::Confirm, ButtonType::Window);
|
||||
edit_button->Bind(wxEVT_BUTTON, [this, result, k_value, name_value, edit_button](auto& e) {
|
||||
if (m_ui_op_lock) return;
|
||||
|
||||
|
|
@ -580,29 +563,11 @@ EditCalibrationHistoryDialog::EditCalibrationHistoryDialog(wxWindow
|
|||
|
||||
panel_sizer->AddSpacer(FromDIP(25));
|
||||
|
||||
auto btn_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
Button* save_btn = new Button(top_panel, _L("Save"));
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(0, 137, 123), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(38, 166, 154), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 150, 136), StateColor::Normal));
|
||||
save_btn->SetBackgroundColour(*wxWHITE);
|
||||
save_btn->SetBackgroundColor(btn_bg_green);
|
||||
save_btn->SetBorderColor(wxColour(0, 150, 136));
|
||||
save_btn->SetTextColor(wxColour("#FFFFFE"));
|
||||
save_btn->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||
save_btn->SetCornerRadius(FromDIP(12));
|
||||
Button* cancel_btn = new Button(top_panel, _L("Cancel"));
|
||||
cancel_btn->SetBackgroundColour(*wxWHITE);
|
||||
cancel_btn->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||
cancel_btn->SetCornerRadius(FromDIP(12));
|
||||
save_btn->Bind(wxEVT_BUTTON, &EditCalibrationHistoryDialog::on_save, this);
|
||||
cancel_btn->Bind(wxEVT_BUTTON, &EditCalibrationHistoryDialog::on_cancel, this);
|
||||
btn_sizer->AddStretchSpacer();
|
||||
btn_sizer->Add(save_btn);
|
||||
btn_sizer->AddSpacer(FromDIP(20));
|
||||
btn_sizer->Add(cancel_btn);
|
||||
panel_sizer->Add(btn_sizer, 0, wxEXPAND, 0);
|
||||
|
||||
auto dlg_btns = new DialogButtons(top_panel, {"OK", "Cancel"});
|
||||
dlg_btns->GetOK()->SetLabel(_L("Save"));
|
||||
dlg_btns->GetOK()->Bind(wxEVT_BUTTON, &EditCalibrationHistoryDialog::on_save, this);
|
||||
dlg_btns->GetCANCEL()->Bind(wxEVT_BUTTON, &EditCalibrationHistoryDialog::on_cancel, this);
|
||||
panel_sizer->Add(dlg_btns, 0, wxEXPAND, 0);
|
||||
|
||||
main_sizer->Add(top_panel, 1, wxEXPAND | wxALL, FromDIP(20));
|
||||
|
||||
|
|
@ -844,27 +809,10 @@ NewCalibrationHistoryDialog::NewCalibrationHistoryDialog(wxWindow *parent, const
|
|||
|
||||
panel_sizer->AddSpacer(FromDIP(25));
|
||||
|
||||
auto btn_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
Button * ok_btn = new Button(top_panel, _L("OK"));
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(0, 137, 123), StateColor::Pressed), std::pair<wxColour, int>(wxColour(38, 166, 154), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 150, 136), StateColor::Normal));
|
||||
ok_btn->SetBackgroundColour(*wxWHITE);
|
||||
ok_btn->SetBackgroundColor(btn_bg_green);
|
||||
ok_btn->SetBorderColor(wxColour(0, 150, 136));
|
||||
ok_btn->SetTextColor(wxColour("#FFFFFE"));
|
||||
ok_btn->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||
ok_btn->SetCornerRadius(FromDIP(12));
|
||||
Button *cancel_btn = new Button(top_panel, _L("Cancel"));
|
||||
cancel_btn->SetBackgroundColour(*wxWHITE);
|
||||
cancel_btn->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||
cancel_btn->SetCornerRadius(FromDIP(12));
|
||||
ok_btn->Bind(wxEVT_BUTTON, &NewCalibrationHistoryDialog::on_ok, this);
|
||||
cancel_btn->Bind(wxEVT_BUTTON, &NewCalibrationHistoryDialog::on_cancel, this);
|
||||
btn_sizer->AddStretchSpacer();
|
||||
btn_sizer->Add(ok_btn);
|
||||
btn_sizer->AddSpacer(FromDIP(20));
|
||||
btn_sizer->Add(cancel_btn);
|
||||
panel_sizer->Add(btn_sizer, 0, wxEXPAND, 0);
|
||||
auto dlg_btns = new DialogButtons(top_panel, {"OK", "Cancel"});
|
||||
dlg_btns->GetOK()->Bind(wxEVT_BUTTON, &NewCalibrationHistoryDialog::on_ok, this);
|
||||
dlg_btns->GetCANCEL()->Bind(wxEVT_BUTTON, &NewCalibrationHistoryDialog::on_cancel, this);
|
||||
panel_sizer->Add(dlg_btns, 0, wxEXPAND, 0);
|
||||
|
||||
main_sizer->Add(top_panel, 1, wxEXPAND | wxALL, FromDIP(20));
|
||||
|
||||
|
|
|
|||
|
|
@ -141,16 +141,8 @@ CalibrationDialog::CalibrationDialog(Plater *plater)
|
|||
m_calibration_flow->SetMinSize(wxSize(CALI_FLOW_CONTENT_WIDTH, FromDIP(160)));
|
||||
m_calibration_flow->SetSize(wxSize(CALI_FLOW_CONTENT_WIDTH, FromDIP(160)));
|
||||
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(AMS_CONTROL_DISABLE_COLOUR, StateColor::Disabled), std::pair<wxColour, int>(wxColour(0, 137, 123), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(38, 166, 154), StateColor::Hovered), std::pair<wxColour, int>(AMS_CONTROL_BRAND_COLOUR, StateColor::Normal));
|
||||
StateColor btn_bd_green(std::pair<wxColour, int>(AMS_CONTROL_WHITE_COLOUR, StateColor::Disabled), std::pair<wxColour, int>(AMS_CONTROL_BRAND_COLOUR, StateColor::Enabled));
|
||||
|
||||
m_calibration_btn = new Button(cali_right_panel, _L("Start Calibration"));
|
||||
m_calibration_btn->SetBackgroundColor(btn_bg_green);
|
||||
m_calibration_btn->SetBorderColor(btn_bd_green);
|
||||
m_calibration_btn->SetTextColor(wxColour("#FFFFFE"));
|
||||
m_calibration_btn->SetSize(wxSize(FromDIP(128), FromDIP(26)));
|
||||
m_calibration_btn->SetMinSize(wxSize(FromDIP(128), FromDIP(26)));
|
||||
m_calibration_btn->SetStyle(ButtonStyle::Confirm, ButtonType::Choice);
|
||||
|
||||
cali_right_sizer_v->Add(cali_text_right_top, 0, wxALIGN_CENTER, 0);
|
||||
cali_right_sizer_v->Add(0, 0, 0, wxTOP, FromDIP(7));
|
||||
|
|
|
|||
|
|
@ -42,13 +42,10 @@ CloneDialog::CloneDialog(wxWindow *parent)
|
|||
m_progress->Hide();
|
||||
bottom_sizer->Add(m_progress, 2, wxEXPAND | wxLEFT | wxALIGN_CENTER_VERTICAL, FromDIP(10));
|
||||
|
||||
// used next button to get automatic left alignment
|
||||
// will add a left_align_first_n parameter to DialogButtons. current method not good
|
||||
auto dlg_btns = new DialogButtons(this, {"Next", "OK", "Cancel"});
|
||||
auto dlg_btns = new DialogButtons(this, {"Fill", "OK", "Cancel"}, "", 1 /*left_aligned*/);
|
||||
|
||||
dlg_btns->GetNEXT()->SetLabel(_L("Fill"));
|
||||
dlg_btns->GetNEXT()->SetToolTip(_L("Fill bed with copies"));
|
||||
dlg_btns->GetNEXT()->Bind(wxEVT_BUTTON, [this](wxCommandEvent &e) {
|
||||
dlg_btns->GetFIRST()->SetToolTip(_L("Fill bed with copies"));
|
||||
dlg_btns->GetFIRST()->Bind(wxEVT_BUTTON, [this](wxCommandEvent &e) {
|
||||
m_plater->fill_bed_with_instances();
|
||||
EndModal(wxID_OK);
|
||||
});
|
||||
|
|
@ -63,7 +60,7 @@ CloneDialog::CloneDialog(wxWindow *parent)
|
|||
m_progress->Show();
|
||||
|
||||
dlg_btns->GetOK()->Hide();
|
||||
dlg_btns->GetNEXT()->Hide();
|
||||
dlg_btns->GetFIRST()->Hide();
|
||||
|
||||
this->Layout();
|
||||
v_sizer->Fit(this);
|
||||
|
|
|
|||
|
|
@ -49,24 +49,7 @@ ConnectPrinterDialog::ConnectPrinterDialog(wxWindow *parent, wxWindowID id, cons
|
|||
sizer_connect->Add(FromDIP(20), 0);
|
||||
|
||||
m_button_confirm = new Button(this, _L("Confirm"));
|
||||
m_button_confirm->SetFont(Label::Body_12);
|
||||
m_button_confirm->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||
m_button_confirm->SetCornerRadius(FromDIP(12));
|
||||
m_button_confirm->SetTextColor(wxColour("#FFFFFE"));
|
||||
|
||||
StateColor btn_bg(
|
||||
std::pair<wxColour, int>(wxColour(0, 137, 123), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(38, 166, 154), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 150, 136), StateColor::Normal)
|
||||
);
|
||||
|
||||
StateColor btn_bd(std::pair<wxColour, int>(wxColour(0, 150, 136), StateColor::Normal));
|
||||
|
||||
StateColor btn_text(std::pair<wxColour, int>(wxColour(255, 255, 255), StateColor::Normal));
|
||||
|
||||
m_button_confirm->SetBackgroundColor(btn_bg);
|
||||
m_button_confirm->SetBorderColor(btn_bd);
|
||||
m_button_confirm->SetTextColor(btn_text);
|
||||
m_button_confirm->SetStyle(ButtonStyle::Confirm, ButtonType::Choice);
|
||||
|
||||
sizer_connect->Add(m_button_confirm, 0, wxALL | wxALIGN_CENTER_VERTICAL, 0);
|
||||
|
||||
|
|
@ -193,8 +176,7 @@ void ConnectPrinterDialog::on_dpi_changed(const wxRect &suggested_rect)
|
|||
m_textCtrl_code->GetTextCtrl()->SetSize(wxSize(-1, FromDIP(22)));
|
||||
m_textCtrl_code->GetTextCtrl()->SetMinSize(wxSize(-1, FromDIP(22)));
|
||||
|
||||
m_button_confirm->SetCornerRadius(FromDIP(12));
|
||||
m_button_confirm->Rescale();
|
||||
m_button_confirm->Rescale(); // ORCA No need to set style again
|
||||
|
||||
Layout();
|
||||
this->Refresh();
|
||||
|
|
|
|||
|
|
@ -2737,7 +2737,7 @@ wxBoxSizer *CreatePrinterPresetDialog::create_presets_template_item(wxWindow *pa
|
|||
|
||||
wxWindow *CreatePrinterPresetDialog::create_page2_dialog_buttons(wxWindow *parent)
|
||||
{
|
||||
auto dlg_btns = new DialogButtons(parent, {"Return", "OK", "Cancel"});
|
||||
auto dlg_btns = new DialogButtons(parent, {"Return", "OK", "Cancel"}, "", 1 /*left_aligned*/);
|
||||
|
||||
dlg_btns->GetRETURN()->Bind(wxEVT_BUTTON, [this](wxCommandEvent &e) { show_page1(); });
|
||||
|
||||
|
|
@ -4741,9 +4741,9 @@ wxBoxSizer *EditFilamentPresetDialog::create_preset_tree_sizer()
|
|||
|
||||
wxWindow *EditFilamentPresetDialog::create_dialog_buttons()
|
||||
{
|
||||
auto dlg_btns = new DialogButtons(this, {"Delete", "OK"});
|
||||
auto dlg_btns = new DialogButtons(this, {"Delete", "OK"}, "", 1 /*left_aligned*/);
|
||||
|
||||
dlg_btns->GetButtonFromID(wxID_DELETE)->Bind(wxEVT_BUTTON, ([this](wxCommandEvent &e) {
|
||||
dlg_btns->GetFIRST()->Bind(wxEVT_BUTTON, ([this](wxCommandEvent &e) {
|
||||
WarningDialog dlg(this, _L("All the filament presets belong to this filament would be deleted.\n"
|
||||
"If you are using this filament on your printer, please reset the filament information for that slot."),
|
||||
_L("Delete filament"), wxYES | wxCANCEL | wxCANCEL_DEFAULT | wxCENTRE);
|
||||
|
|
|
|||
|
|
@ -4319,7 +4319,7 @@ int MachineObject::parse_json(std::string tunnel, std::string payload, bool key_
|
|||
void MachineObject::set_ctt_dlg( wxString text){
|
||||
if (!m_set_ctt_dlg) {
|
||||
m_set_ctt_dlg = true;
|
||||
auto print_error_dlg = new GUI::SecondaryCheckDialog(nullptr, wxID_ANY, _L("Warning"), GUI::SecondaryCheckDialog::ButtonStyle::ONLY_CONFIRM);
|
||||
auto print_error_dlg = new GUI::SecondaryCheckDialog(nullptr, wxID_ANY, _L("Warning"), GUI::SecondaryCheckDialog::VisibleButtons::ONLY_CONFIRM); // ORCA VisibleButtons instead ButtonStyle
|
||||
print_error_dlg->update_text(text);
|
||||
print_error_dlg->Bind(wxEVT_SHOW, [this](auto& e) {
|
||||
if (!e.IsShown()) {
|
||||
|
|
|
|||
|
|
@ -171,37 +171,16 @@ void ExtrusionCalibration::create()
|
|||
m_error_text->Hide();
|
||||
|
||||
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(0, 137, 123), StateColor::Pressed), std::pair<wxColour, int>(wxColour(38, 166, 154), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 150, 136), 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, 150, 136), 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)));
|
||||
m_button_cali->SetStyle(ButtonStyle::Confirm, ButtonType::Choice);
|
||||
m_button_cali->Bind(wxEVT_BUTTON, &ExtrusionCalibration::on_click_cali, this);
|
||||
|
||||
m_cali_cancel = new Button(m_step_1_panel, _L("Cancel"));
|
||||
m_btn_bg_green = StateColor(std::pair<wxColour, int>(wxColour(0, 137, 123), StateColor::Pressed), std::pair<wxColour, int>(wxColour(38, 166, 154), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 150, 136), StateColor::Normal));
|
||||
m_cali_cancel->SetBackgroundColor(m_btn_bg_green);
|
||||
m_cali_cancel->SetBorderColor(wxColour(0, 150, 136));
|
||||
m_cali_cancel->SetTextColor(EXTRUSION_CALIBRATION_GREY200);
|
||||
m_cali_cancel->SetMinSize(EXTRUSION_CALIBRATION_BUTTON_SIZE);
|
||||
m_cali_cancel->SetCornerRadius(FromDIP(12));
|
||||
m_cali_cancel->SetStyle(ButtonStyle::Regular, ButtonType::Choice);
|
||||
m_cali_cancel->Hide();
|
||||
m_cali_cancel->Bind(wxEVT_BUTTON, &ExtrusionCalibration::on_click_cancel, this);
|
||||
|
||||
m_button_next_step = new Button(m_step_1_panel, _L("Next"));
|
||||
m_btn_bg_gray = StateColor(std::pair<wxColour, int>(wxColour(206, 206, 206), StateColor::Pressed), std::pair<wxColour, int>(*wxWHITE, StateColor::Focused),
|
||||
std::pair<wxColour, int>(wxColour(238, 238, 238), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(*wxWHITE, StateColor::Normal));
|
||||
m_button_next_step->SetBackgroundColor(m_btn_bg_gray);
|
||||
m_button_next_step->SetFont(Label::Body_13);
|
||||
m_button_next_step->SetBorderColor(EXTRUSION_CALIBRATION_GREY900);
|
||||
m_button_next_step->SetTextColor(EXTRUSION_CALIBRATION_GREY900);
|
||||
m_button_next_step->SetMinSize(EXTRUSION_CALIBRATION_BUTTON_SIZE);
|
||||
m_button_next_step->SetCornerRadius(FromDIP(12));
|
||||
m_button_next_step->SetStyle(ButtonStyle::Regular, ButtonType::Choice);
|
||||
m_button_next_step->Bind(wxEVT_BUTTON, &ExtrusionCalibration::on_click_next, this);
|
||||
m_button_next_step->Hide();
|
||||
|
||||
|
|
@ -257,23 +236,11 @@ 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(0, 137, 123), StateColor::Pressed), std::pair<wxColour, int>(wxColour(38, 166, 154), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 150, 136), 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, 150, 136));
|
||||
m_button_save_result->SetTextColor(EXTRUSION_CALIBRATION_GREY200);
|
||||
m_button_save_result->SetMinSize(EXTRUSION_CALIBRATION_BUTTON_SIZE);
|
||||
m_button_save_result->SetCornerRadius(FromDIP(12));
|
||||
m_button_save_result->SetStyle(ButtonStyle::Confirm, ButtonType::Choice);
|
||||
m_button_save_result->Bind(wxEVT_BUTTON, &ExtrusionCalibration::on_click_save, this);
|
||||
|
||||
m_button_last_step = new Button(m_step_2_panel, _L("Last Step")); // Back for english
|
||||
m_button_last_step->SetBackgroundColor(m_btn_bg_gray);
|
||||
m_button_last_step->SetFont(Label::Body_13);
|
||||
m_button_last_step->SetBorderColor(EXTRUSION_CALIBRATION_GREY900);
|
||||
m_button_last_step->SetTextColor(EXTRUSION_CALIBRATION_GREY900);
|
||||
m_button_last_step->SetMinSize(EXTRUSION_CALIBRATION_BUTTON_SIZE);
|
||||
m_button_last_step->SetCornerRadius(FromDIP(12));
|
||||
m_button_last_step->SetStyle(ButtonStyle::Regular, ButtonType::Choice);
|
||||
m_button_last_step->Bind(wxEVT_BUTTON, &ExtrusionCalibration::on_click_last, this);
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -91,9 +91,6 @@ protected:
|
|||
int get_bed_temp(DynamicPrintConfig* config);
|
||||
|
||||
protected:
|
||||
StateColor m_btn_bg_green;
|
||||
StateColor m_btn_bg_gray;
|
||||
|
||||
wxPanel* m_step_1_panel;
|
||||
wxPanel* m_step_2_panel;
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
#include "Widgets/Label.hpp"
|
||||
#include "Widgets/Button.hpp"
|
||||
#include "Widgets/StateColor.hpp"
|
||||
#include "Widgets/DialogButtons.hpp"
|
||||
#include "wxExtensions.hpp"
|
||||
#include <wx/wx.h>
|
||||
#include <wx/sizer.h>
|
||||
|
|
@ -97,8 +98,11 @@ FilamentPickerDialog::FilamentPickerDialog(wxWindow *parent, const wxString& fil
|
|||
main_sizer->AddSpacer(FromDIP(8));
|
||||
|
||||
// OK / Cancel buttons
|
||||
wxBoxSizer* btn_sizer = CreateButtonPanel();
|
||||
main_sizer->Add(btn_sizer, 0, wxEXPAND | wxLEFT | wxRIGHT, FromDIP(10));
|
||||
auto dlg_btns = new DialogButtons(this, {"OK", "Cancel"});
|
||||
m_ok_btn = dlg_btns->GetOK();
|
||||
m_cancel_btn = dlg_btns->GetCANCEL();
|
||||
|
||||
main_sizer->Add(dlg_btns, 0, wxEXPAND);
|
||||
container_sizer->Add(main_sizer, 1, wxEXPAND | wxALL, FromDIP(16));
|
||||
|
||||
SetSizer(container_sizer);
|
||||
|
|
@ -542,61 +546,6 @@ void FilamentPickerDialog::CreateMoreInfoButton()
|
|||
m_more_btn->SetCornerRadius(FromDIP(0));
|
||||
}
|
||||
|
||||
wxBoxSizer* FilamentPickerDialog::CreateButtonPanel()
|
||||
{
|
||||
wxBoxSizer* btn_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
|
||||
// Add spacer to push buttons to the right
|
||||
btn_sizer->AddStretchSpacer();
|
||||
|
||||
// standard button color style
|
||||
StateColor btn_bg_green(
|
||||
std::pair<wxColour, int>(wxColour(0, 137, 123), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(38, 166, 154), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 150, 136), StateColor::Normal)
|
||||
);
|
||||
StateColor btn_bd_green(
|
||||
std::pair<wxColour, int>(wxColour(0, 150, 136), StateColor::Normal)
|
||||
);
|
||||
StateColor btn_text_green(
|
||||
std::pair<wxColour, int>(wxColour(255, 255, 254), 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>(wxColour(255, 255, 255), StateColor::Normal)
|
||||
);
|
||||
StateColor btn_bd_white(
|
||||
std::pair<wxColour, int>(wxColour(38, 46, 48), StateColor::Normal)
|
||||
);
|
||||
StateColor btn_text_white(
|
||||
std::pair<wxColour, int>(wxColour(38, 46, 48), StateColor::Normal)
|
||||
);
|
||||
|
||||
// Create Cancel button using project's Button class
|
||||
m_cancel_btn = new Button(this, _L("Cancel"), "", 0, 0, wxID_CANCEL);
|
||||
m_cancel_btn->SetMinSize(wxSize(FromDIP(55), FromDIP(24)));
|
||||
m_cancel_btn->SetCornerRadius(FromDIP(12));
|
||||
m_cancel_btn->SetBackgroundColor(btn_bg_white);
|
||||
m_cancel_btn->SetBorderColor(btn_bd_white);
|
||||
m_cancel_btn->SetTextColor(btn_text_white);
|
||||
btn_sizer->Add(m_cancel_btn, 0, wxEXPAND, 0);
|
||||
btn_sizer->AddSpacer(FromDIP(10));
|
||||
|
||||
// Create OK button using project's Button class
|
||||
m_ok_btn = new Button(this, _L("OK"), "", 0, 0, wxID_OK);
|
||||
m_ok_btn->SetMinSize(wxSize(FromDIP(55), FromDIP(24)));
|
||||
m_ok_btn->SetCornerRadius(FromDIP(12));
|
||||
m_ok_btn->SetBackgroundColor(btn_bg_green);
|
||||
m_ok_btn->SetBorderColor(btn_bd_green);
|
||||
m_ok_btn->SetTextColor(btn_text_green);
|
||||
m_ok_btn->SetFocus();
|
||||
btn_sizer->Add(m_ok_btn, 0, wxEXPAND, 0);
|
||||
|
||||
return btn_sizer;
|
||||
}
|
||||
|
||||
wxColourData FilamentPickerDialog::GetSingleColorData()
|
||||
{
|
||||
wxColourData data;
|
||||
|
|
|
|||
|
|
@ -55,7 +55,6 @@ private:
|
|||
wxScrolledWindow* CreateColorGrid();
|
||||
wxBoxSizer* CreateSeparatorLine();
|
||||
void CreateMoreInfoButton();
|
||||
wxBoxSizer* CreateButtonPanel();
|
||||
void BindEvents();
|
||||
|
||||
// Preview panel helper methods
|
||||
|
|
|
|||
|
|
@ -870,15 +870,23 @@ void GCodeViewer::init(ConfigOptionMode mode, PresetBundle* preset_bundle)
|
|||
|
||||
if (preset_bundle)
|
||||
m_nozzle_nums = preset_bundle->get_printer_extruder_count();
|
||||
bool multimaterial = preset_bundle->filament_presets.empty() ? 0 : preset_bundle->filament_presets.size() > 1;
|
||||
|
||||
// set to color print by default if use multi extruders
|
||||
if (m_nozzle_nums > 1) {
|
||||
m_view_type_sel = std::distance(view_type_items.begin(),std::find(view_type_items.begin(), view_type_items.end(), EViewType::Summary));
|
||||
m_view_type_sel = std::distance(view_type_items.begin(),
|
||||
std::find(view_type_items.begin(), view_type_items.end(), EViewType::Summary));
|
||||
set_view_type(EViewType::Summary);
|
||||
} else {
|
||||
m_view_type_sel = std::distance(view_type_items.begin(),std::find(view_type_items.begin(), view_type_items.end(), EViewType::ColorPrint));
|
||||
} else if (multimaterial) {
|
||||
m_view_type_sel = std::distance(view_type_items.begin(),
|
||||
std::find(view_type_items.begin(), view_type_items.end(), EViewType::ColorPrint));
|
||||
set_view_type(EViewType::ColorPrint);
|
||||
} else {
|
||||
m_view_type_sel = std::distance(view_type_items.begin(),
|
||||
std::find(view_type_items.begin(), view_type_items.end(), EViewType::FeatureType));
|
||||
set_view_type(EViewType::FeatureType);
|
||||
}
|
||||
|
||||
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format(": finished");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -240,6 +240,10 @@ void GLCanvas3D::LayersEditing::show_tooltip_information(const GLCanvas3D& canva
|
|||
caption_max += GImGui->Style.WindowPadding.x + imgui.scaled(1);
|
||||
|
||||
float scale = canvas.get_scale();
|
||||
#ifdef WIN32
|
||||
int dpi = get_dpi_for_window(wxGetApp().GetTopWindow());
|
||||
scale *= (float) dpi / (float) DPI_DEFAULT;
|
||||
#endif // WIN32
|
||||
ImVec2 button_size = ImVec2(25 * scale, 25 * scale); // ORCA: Use exact resolution will prevent blur on icon
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f);
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, {0, 0}); // ORCA: Dont add padding
|
||||
|
|
@ -8869,6 +8873,10 @@ float GLCanvas3D::_show_assembly_tooltip_information(float caption_max, float x,
|
|||
caption_max += imgui->calc_text_size(": "sv).x + 35.f;
|
||||
|
||||
float scale = get_scale();
|
||||
#ifdef WIN32
|
||||
int dpi = get_dpi_for_window(wxGetApp().GetTopWindow());
|
||||
scale *= (float) dpi / (float) DPI_DEFAULT;
|
||||
#endif // WIN32
|
||||
ImVec2 button_size = ImVec2(25 * scale, 25 * scale); // ORCA: Use exact resolution will prevent blur on icon
|
||||
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f);
|
||||
|
|
|
|||
|
|
@ -533,7 +533,7 @@ wxMenu* MenuFactory::append_submenu_add_generic(wxMenu* menu, ModelVolumeType ty
|
|||
wxMenu* MenuFactory::append_submenu_add_handy_model(wxMenu* menu, ModelVolumeType type) {
|
||||
auto sub_menu = new wxMenu;
|
||||
|
||||
for (auto &item : {L("Orca Cube"), L("Orca Tolerance Test"), L("3DBenchy"), L("Autodesk FDM Test"),
|
||||
for (auto &item : {L("Orca Cube"), L("Orca Tolerance Test"), L("3DBenchy"), L("Cali Cat"), L("Autodesk FDM Test"),
|
||||
L("Voron Cube"), L("Stanford Bunny"), L("Orca String Hell") }) {
|
||||
append_menu_item(
|
||||
sub_menu, wxID_ANY, _(item), "",
|
||||
|
|
@ -547,6 +547,8 @@ wxMenu* MenuFactory::append_submenu_add_handy_model(wxMenu* menu, ModelVolumeTyp
|
|||
file_name = "OrcaToleranceTest.stl";
|
||||
else if (file_name == L("3DBenchy"))
|
||||
file_name = "3DBenchy.3mf";
|
||||
else if (file_name == L("Cali Cat"))
|
||||
file_name = "calicat.stl";
|
||||
else if (file_name == L("Autodesk FDM Test"))
|
||||
file_name = "ksr_fdmtest_v4.3mf";
|
||||
else if (file_name == L("Voron Cube"))
|
||||
|
|
|
|||
|
|
@ -216,8 +216,8 @@ bool ObjectTableSettings::update_settings_list(bool is_object, bool is_multiple_
|
|||
};
|
||||
|
||||
auto optgroup = std::make_shared<ConfigOptionsGroup>(m_og->ctrl_parent(), _(cat.first), &m_current_config, false, extra_column);
|
||||
optgroup->label_width = 15;
|
||||
optgroup->sidetext_width = 5;
|
||||
optgroup->label_width = 20; // ORCA match label width with sidebar
|
||||
optgroup->sidetext_width = Field::def_width_thinner();
|
||||
optgroup->set_config_category_and_type(GUI::from_u8(group_category), Preset::TYPE_PRINT);
|
||||
|
||||
std::weak_ptr<ConfigOptionsGroup> weak_optgroup(optgroup);
|
||||
|
|
@ -246,7 +246,7 @@ bool ObjectTableSettings::update_settings_list(bool is_object, bool is_multiple_
|
|||
for (auto& opt : cat.second)
|
||||
{
|
||||
Option option = optgroup->get_option(opt.name);
|
||||
option.opt.width = 18;
|
||||
option.opt.width = Field::def_width_wider(); // ORCA match parameter box width
|
||||
if (is_extruders_cat)
|
||||
option.opt.max = wxGetApp().extruders_edited_cnt();
|
||||
optgroup->append_single_option_line(option);
|
||||
|
|
|
|||
|
|
@ -802,6 +802,10 @@ void GLGizmoBrimEars::show_tooltip_information(float x, float y)
|
|||
caption_max += m_imgui->calc_text_size(": "sv).x + 35.f;
|
||||
|
||||
float scale = m_parent.get_scale();
|
||||
#ifdef WIN32
|
||||
int dpi = get_dpi_for_window(wxGetApp().GetTopWindow());
|
||||
scale *= (float) dpi / (float) DPI_DEFAULT;
|
||||
#endif // WIN32
|
||||
ImVec2 button_size = ImVec2(25 * scale, 25 * scale); // ORCA: Use exact resolution will prevent blur on icon
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f);
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, {0, 0}); // ORCA: Dont add padding
|
||||
|
|
|
|||
|
|
@ -224,6 +224,8 @@ GLGizmoCut3D::GLGizmoCut3D(GLCanvas3D& parent, const std::string& icon_filename,
|
|||
{"Width" , _u8L("Width")},
|
||||
{"Flap Angle" , _u8L("Flap Angle")},
|
||||
{"Groove Angle" , _u8L("Groove Angle")},
|
||||
{"Cut position" , _u8L("Cut position")}, // ORCA
|
||||
{"Build Volume" , _u8L("Build Volume")}, // ORCA
|
||||
};
|
||||
|
||||
// update_connector_shape();
|
||||
|
|
@ -660,10 +662,11 @@ bool GLGizmoCut3D::render_reset_button(const std::string& label_id, const std::s
|
|||
const ImGuiStyle &style = ImGui::GetStyle();
|
||||
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, {1, style.ItemSpacing.y});
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0); // ORCA match button style
|
||||
|
||||
ImGui::PushStyleColor(ImGuiCol_Button, {0.25f, 0.25f, 0.25f, 0.0f});
|
||||
ImGui::PushStyleColor(ImGuiCol_ButtonHovered, {0.4f, 0.4f, 0.4f, 1.0f});
|
||||
ImGui::PushStyleColor(ImGuiCol_ButtonActive, {0.4f, 0.4f, 0.4f, 1.0f});
|
||||
ImGui::PushStyleColor(ImGuiCol_ButtonHovered, {0, 0, 0, 0}); // ORCA match button style
|
||||
ImGui::PushStyleColor(ImGuiCol_ButtonActive, {0, 0, 0, 0}); // ORCA match button style
|
||||
|
||||
const bool revert = m_imgui->button(wxString(ImGui::RevertBtn) + "##" + wxString::FromUTF8(label_id));
|
||||
|
||||
|
|
@ -672,7 +675,7 @@ bool GLGizmoCut3D::render_reset_button(const std::string& label_id, const std::s
|
|||
if (ImGui::IsItemHovered())
|
||||
m_imgui->tooltip(tooltip.c_str(), ImGui::GetFontSize() * 20.0f);
|
||||
|
||||
ImGui::PopStyleVar();
|
||||
ImGui::PopStyleVar(2); // ORCA
|
||||
|
||||
return revert;
|
||||
}
|
||||
|
|
@ -2254,7 +2257,7 @@ void GLGizmoCut3D::render_connectors_input_window(CutConnectors &connectors, flo
|
|||
render_flip_plane_button(m_connectors_editing && connectors.empty());
|
||||
|
||||
m_imgui->text(m_labels_map["Type"]);
|
||||
ImGuiWrapper::push_radio_style();
|
||||
ImGuiWrapper::push_radio_style(m_parent.get_scale()); // ORCA
|
||||
bool type_changed = render_connect_type_radio_button(CutConnectorType::Plug);
|
||||
type_changed |= render_connect_type_radio_button(CutConnectorType::Dowel);
|
||||
type_changed |= render_connect_type_radio_button(CutConnectorType::Snap);
|
||||
|
|
@ -2334,18 +2337,14 @@ void GLGizmoCut3D::render_connectors_input_window(CutConnectors &connectors, flo
|
|||
|
||||
void GLGizmoCut3D::render_build_size()
|
||||
{
|
||||
double koef = m_imperial_units ? GizmoObjectManipulation::mm_to_in : 1.0;
|
||||
wxString unit_str = " " + (m_imperial_units ? _L("in") : _L("mm"));
|
||||
|
||||
Vec3d tbb_sz = m_transformed_bounding_box.size();
|
||||
wxString size = "X: " + double_to_string(tbb_sz.x() * koef, 2) + unit_str +
|
||||
", Y: " + double_to_string(tbb_sz.y() * koef, 2) + unit_str +
|
||||
", Z: " + double_to_string(tbb_sz.z() * koef, 2) + unit_str;
|
||||
double koef = m_imperial_units ? GizmoObjectManipulation::mm_to_in : 1.0;
|
||||
wxString unit_str = m_imperial_units ? _L("in") : _L("mm");
|
||||
Vec3d tbb_sz = m_transformed_bounding_box.size() * koef; // ORCA
|
||||
|
||||
ImGui::AlignTextToFramePadding();
|
||||
m_imgui->text(_L("Build Volume"));
|
||||
ImGui::SameLine();
|
||||
m_imgui->text_colored(ImGuiWrapper::COL_ORANGE_LIGHT, size);
|
||||
ImGui::SameLine(m_label_width);
|
||||
ImGui::Text("%.2f x %.2f x %.2f %s", tbb_sz.x(), tbb_sz.y(), tbb_sz.z(), unit_str.ToUTF8().data()); // ORCA use regular text color and simplify format
|
||||
}
|
||||
|
||||
void GLGizmoCut3D::reset_cut_plane()
|
||||
|
|
@ -2650,8 +2649,8 @@ void GLGizmoCut3D::render_cut_plane_input_window(CutConnectors &connectors, floa
|
|||
render_build_size();
|
||||
|
||||
ImGui::AlignTextToFramePadding();
|
||||
m_imgui->text(_L("Cut position") + ": ");
|
||||
ImGui::SameLine();
|
||||
m_imgui->text(_L("Cut position"));
|
||||
ImGui::SameLine(m_label_width);
|
||||
render_move_center_input(Z);
|
||||
ImGui::SameLine();
|
||||
|
||||
|
|
@ -2933,6 +2932,10 @@ void GLGizmoCut3D::show_tooltip_information(float x, float y)
|
|||
caption_max += m_imgui->calc_text_size(std::string_view{": "}).x + 35.f;
|
||||
|
||||
float scale = m_parent.get_scale();
|
||||
#ifdef WIN32
|
||||
int dpi = get_dpi_for_window(wxGetApp().GetTopWindow());
|
||||
scale *= (float) dpi / (float) DPI_DEFAULT;
|
||||
#endif // WIN32
|
||||
ImVec2 button_size = ImVec2(25 * scale, 25 * scale); // ORCA: Use exact resolution will prevent blur on icon
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f);
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, {0, 0}); // ORCA: Dont add padding
|
||||
|
|
|
|||
|
|
@ -1535,7 +1535,7 @@ void GLGizmoEmboss::draw_text_input()
|
|||
float width = ImGui::GetContentRegionAvailWidth();
|
||||
const ImVec2& padding = style.FramePadding;
|
||||
ImVec2 icon_pos(width - m_gui_cfg->icon_width - scrollbar_width + padding.x,
|
||||
cursor.y - m_gui_cfg->icon_width - scrollbar_height - 2*padding.y);
|
||||
cursor.y - 2 * m_gui_cfg->icon_width - scrollbar_height - 2*padding.y); // ORCA fix vertical position
|
||||
|
||||
ImGui::SetCursorPos(icon_pos);
|
||||
draw(get_icon(m_icons, IconType::exclamation, IconState::hovered));
|
||||
|
|
@ -1646,7 +1646,7 @@ void GLGizmoEmboss::draw_font_list_line()
|
|||
bool exist_change_in_font = m_style_manager.is_font_changed();
|
||||
const std::string& font_text = m_gui_cfg->translations.font;
|
||||
if (exist_change_in_font || !exist_stored_style)
|
||||
ImGuiWrapper::text_colored(ImGuiWrapper::COL_ORCA, font_text);
|
||||
ImGuiWrapper::text_colored(ImGuiWrapper::COL_MODIFIED, font_text); // ORCA match color
|
||||
else
|
||||
ImGuiWrapper::text(font_text);
|
||||
|
||||
|
|
@ -1673,7 +1673,8 @@ void GLGizmoEmboss::draw_font_list_line()
|
|||
EmbossStyle &style = m_style_manager.get_style();
|
||||
if (exist_change_in_font) {
|
||||
ImGui::SameLine(ImGui::GetStyle().WindowPadding.x);
|
||||
if (draw_button(m_icons, IconType::undo)) {
|
||||
auto r_icon = get_icon(m_icons, IconType::undo, IconState::hovered);
|
||||
if (Slic3r::GUI::button(r_icon, r_icon, r_icon)) { // ORCA draw bottom with same orange color
|
||||
const EmbossStyle *stored_style = m_style_manager.get_stored_style();
|
||||
|
||||
style.path = stored_style->path;
|
||||
|
|
@ -1848,7 +1849,7 @@ void GLGizmoEmboss::draw_model_type()
|
|||
ModelVolumeType type = m_volume->type();
|
||||
|
||||
//TRN EmbossOperation
|
||||
ImGuiWrapper::push_radio_style();
|
||||
ImGuiWrapper::push_radio_style(m_parent.get_scale()); // ORCA
|
||||
if (ImGui::RadioButton(_u8L("Join").c_str(), type == part))
|
||||
new_type = part;
|
||||
else if (ImGui::IsItemHovered())
|
||||
|
|
@ -2405,7 +2406,7 @@ bool GLGizmoEmboss::revertible(const std::string &name,
|
|||
ImGui::AlignTextToFramePadding();
|
||||
bool changed = exist_change(value, default_value);
|
||||
if (changed || default_value == nullptr)
|
||||
ImGuiWrapper::text_colored(ImGuiWrapper::COL_ORCA, name);
|
||||
ImGuiWrapper::text_colored(ImGuiWrapper::COL_MODIFIED, name); // ORCA Match color
|
||||
else
|
||||
ImGuiWrapper::text(name);
|
||||
|
||||
|
|
@ -2414,7 +2415,8 @@ bool GLGizmoEmboss::revertible(const std::string &name,
|
|||
ImGuiWindow *window = ImGui::GetCurrentWindow();
|
||||
float prev_x = window->DC.CursorPosPrevLine.x;
|
||||
ImGui::SameLine(undo_offset); // change cursor postion
|
||||
if (draw_button(m_icons, IconType::undo)) {
|
||||
auto r_icon = get_icon(m_icons, IconType::undo, IconState::hovered);
|
||||
if (Slic3r::GUI::button(r_icon, r_icon, r_icon)) { // ORCA draw bottom with same orange color
|
||||
value = *default_value;
|
||||
|
||||
// !! Fix to detect change of value after revert of float-slider
|
||||
|
|
@ -2717,7 +2719,8 @@ void GLGizmoEmboss::draw_advanced()
|
|||
else if (draw_button(icons, IconType::align_horizontal_right)) { align.first=FontProp::HorizontalAlign::right; is_change = true; }
|
||||
else if (ImGui::IsItemHovered()) m_imgui->tooltip(_CTX_utf8(L_CONTEXT("Right", "Alignment"), "Alignment"), m_gui_cfg->max_tooltip_width);
|
||||
|
||||
ImGui::SameLine();
|
||||
ImGui::SameLine(0, ImGui::GetStyle().ItemSpacing.x * 2.f); // ORCA use wider spacing for separation between horizontal / vertical alignment
|
||||
|
||||
if (align.second==FontProp::VerticalAlign::top) draw(get_icon(icons, IconType::align_vertical_top, IconState::hovered));
|
||||
else if (draw_button(icons, IconType::align_vertical_top)) { align.second=FontProp::VerticalAlign::top; is_change = true; }
|
||||
else if (ImGui::IsItemHovered()) m_imgui->tooltip(_CTX_utf8(L_CONTEXT("Top", "Alignment"), "Alignment"), m_gui_cfg->max_tooltip_width);
|
||||
|
|
|
|||
|
|
@ -479,6 +479,10 @@ void GLGizmoFdmSupports::show_tooltip_information(float caption_max, float x, fl
|
|||
caption_max += m_imgui->calc_text_size(std::string_view{": "}).x + 15.f;
|
||||
|
||||
float scale = m_parent.get_scale();
|
||||
#ifdef WIN32
|
||||
int dpi = get_dpi_for_window(wxGetApp().GetTopWindow());
|
||||
scale *= (float) dpi / (float) DPI_DEFAULT;
|
||||
#endif // WIN32
|
||||
ImVec2 button_size = ImVec2(25 * scale, 25 * scale); // ORCA: Use exact resolution will prevent blur on icon
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f);
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, {0, 0}); // ORCA: Dont add padding
|
||||
|
|
|
|||
|
|
@ -88,6 +88,10 @@ void GLGizmoFuzzySkin::show_tooltip_information(float caption_max, float x, floa
|
|||
caption_max += m_imgui->calc_text_size(std::string_view{": "}).x + 15.f;
|
||||
|
||||
float scale = m_parent.get_scale();
|
||||
#ifdef WIN32
|
||||
int dpi = get_dpi_for_window(wxGetApp().GetTopWindow());
|
||||
scale *= (float) dpi / (float) DPI_DEFAULT;
|
||||
#endif // WIN32
|
||||
ImVec2 button_size = ImVec2(25 * scale, 25 * scale); // ORCA: Use exact resolution will prevent blur on icon
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f);
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, {0, 0}); // ORCA: Dont add padding
|
||||
|
|
|
|||
|
|
@ -2231,6 +2231,10 @@ void GLGizmoMeasure::show_tooltip_information(float caption_max, float x, float
|
|||
caption_max += m_imgui->calc_text_size(": "sv).x + 35.f;
|
||||
|
||||
float scale = m_parent.get_scale();
|
||||
#ifdef WIN32
|
||||
int dpi = get_dpi_for_window(wxGetApp().GetTopWindow());
|
||||
scale *= (float) dpi / (float) DPI_DEFAULT;
|
||||
#endif // WIN32
|
||||
ImVec2 button_size = ImVec2(25 * scale, 25 * scale); // ORCA: Use exact resolution will prevent blur on icon
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f);
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, { 0, 0 }); // ORCA: Dont add padding
|
||||
|
|
|
|||
|
|
@ -287,6 +287,10 @@ void GLGizmoMmuSegmentation::show_tooltip_information(float caption_max, float x
|
|||
caption_max += m_imgui->calc_text_size(std::string_view{": "}).x + 15.f;
|
||||
|
||||
float scale = m_parent.get_scale();
|
||||
#ifdef WIN32
|
||||
int dpi = get_dpi_for_window(wxGetApp().GetTopWindow());
|
||||
scale *= (float) dpi / (float) DPI_DEFAULT;
|
||||
#endif // WIN32
|
||||
ImVec2 button_size = ImVec2(25 * scale, 25 * scale); // ORCA: Use exact resolution will prevent blur on icon
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f);
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, {0, 0}); // ORCA: Dont add padding
|
||||
|
|
|
|||
|
|
@ -436,7 +436,8 @@ bool reset_button(const IconManager::VIcons &icons)
|
|||
//btn_label += ImGui::RevertButton;
|
||||
//return ImGui::Button((btn_label + "##" + label_id).c_str());
|
||||
|
||||
return draw_clickable(icons, IconType::reset_value);
|
||||
auto icon = get_icon(icons, IconType::reset_value, IconState::hovered);
|
||||
return clickable(icon, icon); // ORCA use orange color for both states
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
|
@ -1666,7 +1667,9 @@ void GLGizmoSVG::draw_depth()
|
|||
void GLGizmoSVG::draw_size()
|
||||
{
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGuiWrapper::text(m_gui_cfg->translations.size);
|
||||
bool can_reset = m_scale_width.has_value() || m_scale_height.has_value();
|
||||
ImVec4 text_color = can_reset ? ImGuiWrapper::COL_MODIFIED : ImGui::GetStyleColorVec4(ImGuiCol_Text); // ORCA use modified color on text
|
||||
ImGuiWrapper::text_colored(text_color, m_gui_cfg->translations.size);
|
||||
if (ImGui::IsItemHovered()){
|
||||
size_t count_points = 0;
|
||||
for (const auto &s : m_volume_shape.shapes_with_ids)
|
||||
|
|
@ -1770,7 +1773,7 @@ void GLGizmoSVG::draw_size()
|
|||
|
||||
|
||||
// reset button
|
||||
bool can_reset = m_scale_width.has_value() || m_scale_height.has_value();
|
||||
//bool can_reset = m_scale_width.has_value() || m_scale_height.has_value(); // ORCA update variable above if condition change
|
||||
if (can_reset) {
|
||||
if (reset_button(m_icons)) {
|
||||
new_relative_scale = Vec3d(1./m_scale_width.value_or(1.f), 1./m_scale_height.value_or(1.f), 1.);
|
||||
|
|
@ -1838,7 +1841,8 @@ void GLGizmoSVG::draw_distance()
|
|||
ScopeGuard sg([imgui = m_imgui]() { imgui->disabled_end(); });
|
||||
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGuiWrapper::text(m_gui_cfg->translations.distance);
|
||||
ImVec4 text_color = m_distance.has_value() ? ImGuiWrapper::COL_MODIFIED : ImGui::GetStyleColorVec4(ImGuiCol_Text); // ORCA use modified color on text
|
||||
ImGuiWrapper::text_colored(text_color, m_gui_cfg->translations.distance);
|
||||
ImGui::SameLine(m_gui_cfg->input_offset);
|
||||
ImGui::SetNextItemWidth(m_gui_cfg->input_width);
|
||||
|
||||
|
|
@ -1881,7 +1885,8 @@ void GLGizmoSVG::draw_distance()
|
|||
void GLGizmoSVG::draw_rotation()
|
||||
{
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGuiWrapper::text(m_gui_cfg->translations.rotation);
|
||||
ImVec4 text_color = m_angle.has_value() ? ImGuiWrapper::COL_MODIFIED : ImGui::GetStyleColorVec4(ImGuiCol_Text); // ORCA use modified color on text
|
||||
ImGuiWrapper::text_colored(text_color, m_gui_cfg->translations.rotation);
|
||||
ImGui::SameLine(m_gui_cfg->input_offset);
|
||||
ImGui::SetNextItemWidth(m_gui_cfg->input_width);
|
||||
|
||||
|
|
@ -2001,7 +2006,7 @@ void GLGizmoSVG::draw_model_type()
|
|||
ModelVolumeType type = m_volume->type();
|
||||
|
||||
//TRN EmbossOperation
|
||||
ImGuiWrapper::push_radio_style();
|
||||
ImGuiWrapper::push_radio_style(m_parent.get_scale()); //ORCA
|
||||
if (ImGui::RadioButton(_u8L("Join").c_str(), type == part))
|
||||
new_type = part;
|
||||
else if (ImGui::IsItemHovered())
|
||||
|
|
|
|||
|
|
@ -109,6 +109,10 @@ void GLGizmoSeam::show_tooltip_information(float caption_max, float x, float y)
|
|||
caption_max += m_imgui->calc_text_size(std::string_view{": "}).x + 35.f;
|
||||
|
||||
float scale = m_parent.get_scale();
|
||||
#ifdef WIN32
|
||||
int dpi = get_dpi_for_window(wxGetApp().GetTopWindow());
|
||||
scale *= (float) dpi / (float) DPI_DEFAULT;
|
||||
#endif // WIN32
|
||||
ImVec2 button_size = ImVec2(25 * scale, 25 * scale); // ORCA: Use exact resolution will prevent blur on icon
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f);
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, {0, 0}); // ORCA: Dont add padding
|
||||
|
|
|
|||
|
|
@ -251,22 +251,22 @@ bool GLGizmosManager::init_icon_textures()
|
|||
ImTextureID texture_id;
|
||||
|
||||
icon_list.clear();
|
||||
if (IMTexture::load_from_svg_file(Slic3r::resources_dir() + "/images/toolbar_reset.svg", 14, 14, texture_id))
|
||||
if (IMTexture::load_from_svg_file(Slic3r::resources_dir() + "/images/toolbar_reset.svg", 16, 16, texture_id))
|
||||
icon_list.insert(std::make_pair((int)IC_TOOLBAR_RESET, texture_id));
|
||||
else
|
||||
return false;
|
||||
|
||||
if (IMTexture::load_from_svg_file(Slic3r::resources_dir() + "/images/toolbar_reset_hover.svg", 14, 14, texture_id))
|
||||
if (IMTexture::load_from_svg_file(Slic3r::resources_dir() + "/images/toolbar_reset_hover.svg", 16, 16, texture_id))
|
||||
icon_list.insert(std::make_pair((int)IC_TOOLBAR_RESET_HOVER, texture_id));
|
||||
else
|
||||
return false;
|
||||
|
||||
if (IMTexture::load_from_svg_file(Slic3r::resources_dir() + "/images/toolbar_reset_zero.svg", 14, 14, texture_id))
|
||||
if (IMTexture::load_from_svg_file(Slic3r::resources_dir() + "/images/toolbar_reset_zero.svg", 16, 16, texture_id))
|
||||
icon_list.insert(std::make_pair((int) IC_TOOLBAR_RESET_ZERO, texture_id));
|
||||
else
|
||||
return false;
|
||||
|
||||
if (IMTexture::load_from_svg_file(Slic3r::resources_dir() + "/images/toolbar_reset_zero_hover.svg", 14, 14, texture_id))
|
||||
if (IMTexture::load_from_svg_file(Slic3r::resources_dir() + "/images/toolbar_reset_zero_hover.svg", 16, 16, texture_id))
|
||||
icon_list.insert(std::make_pair((int) IC_TOOLBAR_RESET_ZERO_HOVER, texture_id));
|
||||
else
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -644,8 +644,12 @@ bool GizmoObjectManipulation::reset_button(ImGuiWrapper *imgui_wrapper, float ca
|
|||
ImTextureID normal_id = m_glcanvas.get_gizmos_manager().get_icon_texture_id(GLGizmosManager::MENU_ICON_NAME::IC_TOOLBAR_RESET);
|
||||
ImTextureID hover_id = m_glcanvas.get_gizmos_manager().get_icon_texture_id(GLGizmosManager::MENU_ICON_NAME::IC_TOOLBAR_RESET_HOVER);
|
||||
|
||||
float font_size = ImGui::GetFontSize();
|
||||
ImVec2 button_size = ImVec2(font_size, font_size);
|
||||
float scale = m_glcanvas.get_scale();
|
||||
#ifdef WIN32
|
||||
int dpi = get_dpi_for_window(wxGetApp().GetTopWindow());
|
||||
scale *= (float) dpi / (float) DPI_DEFAULT;
|
||||
#endif // WIN32
|
||||
ImVec2 button_size = ImVec2(16 * scale, 16 * scale); // ORCA: Use exact resolution will prevent blur on icon
|
||||
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f);
|
||||
|
||||
|
|
@ -661,8 +665,12 @@ bool GizmoObjectManipulation::reset_zero_button(ImGuiWrapper *imgui_wrapper, flo
|
|||
ImTextureID normal_id = m_glcanvas.get_gizmos_manager().get_icon_texture_id(GLGizmosManager::MENU_ICON_NAME::IC_TOOLBAR_RESET_ZERO);
|
||||
ImTextureID hover_id = m_glcanvas.get_gizmos_manager().get_icon_texture_id(GLGizmosManager::MENU_ICON_NAME::IC_TOOLBAR_RESET_ZERO_HOVER);
|
||||
|
||||
float font_size = ImGui::GetFontSize() * 1.1;
|
||||
ImVec2 button_size = ImVec2(font_size, font_size);
|
||||
float scale = m_glcanvas.get_scale();
|
||||
#ifdef WIN32
|
||||
int dpi = get_dpi_for_window(wxGetApp().GetTopWindow());
|
||||
scale *= (float) dpi / (float) DPI_DEFAULT;
|
||||
#endif // WIN32
|
||||
ImVec2 button_size = ImVec2(16 * scale, 16 * scale); // ORCA: Use exact resolution will prevent blur on icon
|
||||
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f);
|
||||
|
||||
|
|
@ -719,6 +727,10 @@ void GizmoObjectManipulation::show_move_tooltip_information(ImGuiWrapper *imgui_
|
|||
caption_max += imgui_wrapper->calc_text_size(": "sv).x + 35.f;
|
||||
|
||||
float scale = m_glcanvas.get_scale();
|
||||
#ifdef WIN32
|
||||
int dpi = get_dpi_for_window(wxGetApp().GetTopWindow());
|
||||
scale *= (float) dpi / (float) DPI_DEFAULT;
|
||||
#endif // WIN32
|
||||
ImVec2 button_size = ImVec2(25 * scale, 25 * scale); // ORCA: Use exact resolution will prevent blur on icon
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f);
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, {0, ImGui::GetStyle().FramePadding.y});
|
||||
|
|
@ -747,6 +759,10 @@ void GizmoObjectManipulation::show_rotate_tooltip_information(ImGuiWrapper *imgu
|
|||
caption_max += imgui_wrapper->calc_text_size(": "sv).x + 35.f;
|
||||
|
||||
float scale = m_glcanvas.get_scale();
|
||||
#ifdef WIN32
|
||||
int dpi = get_dpi_for_window(wxGetApp().GetTopWindow());
|
||||
scale *= (float) dpi / (float) DPI_DEFAULT;
|
||||
#endif // WIN32
|
||||
ImVec2 button_size = ImVec2(25 * scale, 25 * scale); // ORCA: Use exact resolution will prevent blur on icon
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f);
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, {0, ImGui::GetStyle().FramePadding.y});
|
||||
|
|
@ -775,6 +791,10 @@ void GizmoObjectManipulation::show_scale_tooltip_information(ImGuiWrapper *imgui
|
|||
caption_max += imgui_wrapper->calc_text_size(": "sv).x + 35.f;
|
||||
|
||||
float scale = m_glcanvas.get_scale();
|
||||
#ifdef WIN32
|
||||
int dpi = get_dpi_for_window(wxGetApp().GetTopWindow());
|
||||
scale *= (float) dpi / (float) DPI_DEFAULT;
|
||||
#endif // WIN32
|
||||
ImVec2 button_size = ImVec2(25 * scale, 25 * scale); // ORCA: Use exact resolution will prevent blur on icon
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f);
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, {0, ImGui::GetStyle().FramePadding.y});
|
||||
|
|
|
|||
|
|
@ -181,6 +181,7 @@ const ImVec4 ImGuiWrapper::COL_WINDOW_BG_DARK = { 45 / 255.f, 45 / 255.f, 49
|
|||
const ImVec4 ImGuiWrapper::COL_TOOLBAR_BG = { 250 / 255.f, 250 / 255.f, 250 / 255.f, 1.f }; // ORCA color matches with toolbar_background.png
|
||||
const ImVec4 ImGuiWrapper::COL_TOOLBAR_BG_DARK = { 57 / 255.f, 60 / 255.f, 66 / 255.f, 1.f }; // ORCA color matches with toolbar_background_dark.png
|
||||
const ImVec4 ImGuiWrapper::COL_ORCA = to_ImVec4(ColorRGBA::ORCA());
|
||||
const ImVec4 ImGuiWrapper::COL_MODIFIED = { 253.f / 255.f, 111.f / 255.f, 40.f / 255.f, 1}; // ORCA same color with m_color_label_modified
|
||||
|
||||
int ImGuiWrapper::TOOLBAR_WINDOW_FLAGS = ImGuiWindowFlags_AlwaysAutoResize
|
||||
| ImGuiWindowFlags_NoMove
|
||||
|
|
@ -1111,11 +1112,12 @@ bool ImGuiWrapper::slider_float(const char* label, float* v, float v_min, float
|
|||
const ImGuiStyle& style = ImGui::GetStyle();
|
||||
if (show_edit_btn) {
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, { 1, style.ItemSpacing.y });
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0); // ORCA match edit button style
|
||||
ImGui::SameLine();
|
||||
std::wstring btn_name = ImGui::SliderFloatEditBtnIcon + boost::nowide::widen(str_label);
|
||||
ImGui::PushStyleColor(ImGuiCol_Button, { 0.25f, 0.25f, 0.25f, 0.0f });
|
||||
ImGui::PushStyleColor(ImGuiCol_ButtonHovered, { 0.5f, 0.5f, 0.5f, 1.0f });
|
||||
ImGui::PushStyleColor(ImGuiCol_ButtonActive, { 0.5f, 0.5f, 0.5f, 1.0f });
|
||||
ImGui::PushStyleColor(ImGuiCol_ButtonHovered, {0, 0, 0, 0 }); // ORCA match edit button style
|
||||
ImGui::PushStyleColor(ImGuiCol_ButtonActive, {0, 0, 0, 0 }); // ORCA match edit button style
|
||||
if (ImGui::Button(into_u8(btn_name).c_str())) {
|
||||
ImGui::SetKeyboardFocusHere(-1);
|
||||
this->set_requires_extra_frame();
|
||||
|
|
@ -1124,7 +1126,7 @@ bool ImGuiWrapper::slider_float(const char* label, float* v, float v_min, float
|
|||
if (ImGui::IsItemHovered())
|
||||
this->tooltip(into_u8(_L("Edit")).c_str(), max_tooltip_width);
|
||||
|
||||
ImGui::PopStyleVar();
|
||||
ImGui::PopStyleVar(2); // ORCA
|
||||
}
|
||||
|
||||
if (label_visible) {
|
||||
|
|
@ -2685,18 +2687,22 @@ void ImGuiWrapper::pop_combo_style()
|
|||
ImGui::PopStyleColor(7);
|
||||
}
|
||||
|
||||
void ImGuiWrapper::push_radio_style()
|
||||
void ImGuiWrapper::push_radio_style(const float scale)
|
||||
{
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(1.5f, 1.5f) * scale); // ORCA ensure icon size stays consistent
|
||||
if (m_is_dark_mode) {
|
||||
ImGui::PushStyleColor(ImGuiCol_CheckMark, to_ImVec4(decode_color_to_float_array("#00675b"))); // ORCA use orca color for radio buttons
|
||||
ImGui::PushStyleColor(ImGuiCol_CheckMark, to_ImVec4(decode_color_to_float_array("#009688"))); // ORCA use orca color for radio buttons
|
||||
ImGui::PushStyleColor(ImGuiCol_Border , to_ImVec4(decode_color_to_float_array("#949494"))); // ORCA match border color
|
||||
} else {
|
||||
ImGui::PushStyleColor(ImGuiCol_CheckMark, to_ImVec4(decode_color_to_float_array("#009688"))); // ORCA use orca color for radio buttons
|
||||
ImGui::PushStyleColor(ImGuiCol_Border , to_ImVec4(decode_color_to_float_array("#7C8282"))); // ORCA match border color
|
||||
}
|
||||
}
|
||||
|
||||
void ImGuiWrapper::pop_radio_style()
|
||||
{
|
||||
ImGui::PopStyleColor(1);
|
||||
ImGui::PopStyleColor(2);
|
||||
ImGui::PopStyleVar(1);
|
||||
}
|
||||
|
||||
void ImGuiWrapper::init_font(bool compress)
|
||||
|
|
|
|||
|
|
@ -347,6 +347,7 @@ public:
|
|||
static const ImVec4 COL_SEPARATOR;
|
||||
static const ImVec4 COL_SEPARATOR_DARK;
|
||||
static const ImVec4 COL_ORCA;
|
||||
static const ImVec4 COL_MODIFIED;
|
||||
|
||||
//BBS
|
||||
static void on_change_color_mode(bool is_dark);
|
||||
|
|
@ -364,7 +365,7 @@ public:
|
|||
static void pop_button_disable_style();
|
||||
static void push_combo_style(const float scale);
|
||||
static void pop_combo_style();
|
||||
static void push_radio_style();
|
||||
static void push_radio_style(const float scale);
|
||||
static void pop_radio_style();
|
||||
|
||||
//BBS
|
||||
|
|
|
|||
|
|
@ -342,7 +342,7 @@ void FillBedJob::finalize(bool canceled, std::exception_ptr &eptr)
|
|||
//model_object->ensure_on_bed();
|
||||
//BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << ": model_object->ensure_on_bed()";
|
||||
|
||||
if (m_instances && wxGetApp().app_config->get("auto_arrange") == "true") {
|
||||
if (m_instances) {// && wxGetApp().app_config->get("auto_arrange") == "true") {
|
||||
m_plater->set_prepare_state(Job::PREPARE_STATE_MENU);
|
||||
m_plater->arrange();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -282,29 +282,10 @@ MultiMachineManagerPage::MultiMachineManagerPage(wxWindow* parent)
|
|||
);
|
||||
|
||||
//edit prints
|
||||
auto m_btn_bg_enable = StateColor(
|
||||
std::pair<wxColour, int>(wxColour(0, 137, 123), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(38, 166, 154), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 150, 136), StateColor::Normal)
|
||||
);
|
||||
|
||||
|
||||
StateColor clean_bg(std::pair<wxColour, int>(wxColour(255, 255, 255), StateColor::Disabled), std::pair<wxColour, int>(wxColour(206, 206, 206), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(238, 238, 238), StateColor::Hovered), std::pair<wxColour, int>(wxColour(255, 255, 255), StateColor::Enabled),
|
||||
std::pair<wxColour, int>(wxColour(255, 255, 255), StateColor::Normal));
|
||||
StateColor clean_bd(std::pair<wxColour, int>(wxColour(144, 144, 144), StateColor::Disabled), std::pair<wxColour, int>(wxColour(38, 46, 48), StateColor::Enabled));
|
||||
StateColor clean_text(std::pair<wxColour, int>(wxColour(144, 144, 144), StateColor::Disabled), std::pair<wxColour, int>(wxColour(38, 46, 48), StateColor::Enabled));
|
||||
|
||||
auto sizer_button_printer = new wxBoxSizer(wxHORIZONTAL);
|
||||
sizer_button_printer->SetMinSize(wxSize(FromDIP(DEVICE_ITEM_MAX_WIDTH), -1));
|
||||
m_button_edit = new Button(m_main_panel, _L("Edit Printers"));
|
||||
m_button_edit->SetBackgroundColor(clean_bg);
|
||||
m_button_edit->SetBorderColor(clean_bd);
|
||||
m_button_edit->SetTextColor(clean_text);
|
||||
m_button_edit->SetFont(Label::Body_12);
|
||||
m_button_edit->SetCornerRadius(6);
|
||||
m_button_edit->SetMinSize(wxSize(FromDIP(90), FromDIP(36)));
|
||||
m_button_edit->SetMaxSize(wxSize(FromDIP(90), FromDIP(36)));
|
||||
m_button_edit->SetStyle(ButtonStyle::Confirm, ButtonType::Window);
|
||||
|
||||
m_button_edit->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) {
|
||||
MultiMachinePickPage dlg;
|
||||
|
|
@ -405,13 +386,7 @@ MultiMachineManagerPage::MultiMachineManagerPage(wxWindow* parent)
|
|||
m_tip_text->Wrap(-1);
|
||||
|
||||
m_button_add = new Button(m_main_panel, _L("Add"));
|
||||
m_button_add->SetBackgroundColor(m_btn_bg_enable);
|
||||
m_button_add->SetBorderColor(m_btn_bg_enable);
|
||||
m_button_add->SetTextColor(*wxWHITE);
|
||||
m_button_add->SetFont(Label::Body_12);
|
||||
m_button_add->SetCornerRadius(6);
|
||||
m_button_add->SetMinSize(wxSize(FromDIP(90), FromDIP(36)));
|
||||
m_button_add->SetMaxSize(wxSize(FromDIP(90), FromDIP(36)));
|
||||
m_button_add->SetStyle(ButtonStyle::Confirm, ButtonType::Window);
|
||||
|
||||
m_button_add->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) {
|
||||
MultiMachinePickPage dlg;
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
#include "Jobs/BoostThreadWorker.hpp"
|
||||
#include "Jobs/PlaterWorker.hpp"
|
||||
#include "wxExtensions.hpp"
|
||||
#include "Widgets/DialogButtons.hpp"
|
||||
|
||||
namespace Slic3r {
|
||||
namespace GUI {
|
||||
|
|
@ -20,10 +21,8 @@ OAuthDialog::OAuthDialog(wxWindow* parent, OAuthParams params)
|
|||
|
||||
m_worker = std::make_unique<PlaterWorker<BoostThreadWorker>>(this, nullptr, "auth_worker");
|
||||
|
||||
wxStdDialogButtonSizer* btns = this->CreateStdDialogButtonSizer(wxCANCEL);
|
||||
btnCancel = static_cast<wxButton*>(this->FindWindowById(wxID_CANCEL, this));
|
||||
wxGetApp().UpdateDarkUI(btnCancel);
|
||||
btnCancel->Bind(wxEVT_BUTTON, &OAuthDialog::on_cancel, this);
|
||||
auto dlg_btns = new DialogButtons(this, {"Cancel"});
|
||||
dlg_btns->GetCANCEL()->Bind(wxEVT_BUTTON, &OAuthDialog::on_cancel, this);
|
||||
|
||||
const auto message_sizer = new wxBoxSizer(wxVERTICAL);
|
||||
const auto message = new wxStaticText(this, wxID_ANY, _L("Authorizing..."), wxDefaultPosition, wxDefaultSize, 0);
|
||||
|
|
@ -32,7 +31,7 @@ OAuthDialog::OAuthDialog(wxWindow* parent, OAuthParams params)
|
|||
|
||||
const auto topSizer = new wxBoxSizer(wxVERTICAL);
|
||||
topSizer->Add(message_sizer, 0, wxEXPAND | wxALL, BORDER_W);
|
||||
topSizer->Add(btns, 0, wxEXPAND | wxALL, BORDER_W);
|
||||
topSizer->Add(dlg_btns, 0, wxEXPAND);
|
||||
|
||||
Bind(wxEVT_CLOSE_WINDOW, &OAuthDialog::on_cancel, this);
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ private:
|
|||
OAuthParams _params;
|
||||
std::shared_ptr<OAuthResult> _result;
|
||||
|
||||
wxButton* btnCancel{nullptr};
|
||||
std::unique_ptr<Worker> m_worker;
|
||||
|
||||
void on_cancel(wxEvent& event);
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
#include "libslic3r/Config.hpp"
|
||||
#include "BitmapComboBox.hpp"
|
||||
#include "Widgets/ComboBox.hpp"
|
||||
#include "Widgets/DialogButtons.hpp"
|
||||
#include <wx/sizer.h>
|
||||
|
||||
#include "libslic3r/ObjColorUtils.hpp"
|
||||
|
|
@ -40,12 +41,7 @@ static void update_ui(wxWindow* window)
|
|||
|
||||
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(0, 137, 123), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(38, 166, 154), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 150, 136), 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));
|
||||
|
||||
wxBoxSizer* ObjColorDialog::create_btn_sizer(long flags,bool exist_error)
|
||||
{
|
||||
auto btn_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
|
|
@ -58,7 +54,7 @@ wxBoxSizer* ObjColorDialog::create_btn_sizer(long flags,bool exist_error)
|
|||
auto font = tips->GetFont();
|
||||
font.SetUnderlined(true);
|
||||
tips->SetFont(font);
|
||||
tips->SetForegroundColour(wxColour(0, 174, 100));
|
||||
tips->SetForegroundColour(wxColour("#009687"));
|
||||
tips->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) {
|
||||
bool is_zh = wxGetApp().app_config->get("language") == "zh_CN";
|
||||
if (is_zh) {
|
||||
|
|
@ -71,79 +67,16 @@ wxBoxSizer* ObjColorDialog::create_btn_sizer(long flags,bool exist_error)
|
|||
}
|
||||
btn_sizer->AddStretchSpacer();
|
||||
|
||||
StateColor ok_btn_bd(
|
||||
std::pair<wxColour, int>(wxColour(0, 150, 136), StateColor::Normal)
|
||||
);
|
||||
StateColor ok_btn_text(
|
||||
std::pair<wxColour, int>(wxColour(255, 255, 254), StateColor::Normal)
|
||||
);
|
||||
StateColor cancel_btn_bg(
|
||||
std::pair<wxColour, int>(wxColour(206, 206, 206), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(238, 238, 238), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(255, 255, 255), StateColor::Normal)
|
||||
);
|
||||
StateColor cancel_btn_bd_(
|
||||
std::pair<wxColour, int>(wxColour(38, 46, 48), StateColor::Normal)
|
||||
);
|
||||
StateColor cancel_btn_text(
|
||||
std::pair<wxColour, int>(wxColour(38, 46, 48), StateColor::Normal)
|
||||
);
|
||||
StateColor calc_btn_bg(
|
||||
std::pair<wxColour, int>(wxColour(0, 137, 123), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(38, 166, 154), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 150, 136), StateColor::Normal)
|
||||
);
|
||||
StateColor calc_btn_bd(
|
||||
std::pair<wxColour, int>(wxColour(0, 150, 136), StateColor::Normal)
|
||||
);
|
||||
StateColor calc_btn_text(
|
||||
std::pair<wxColour, int>(wxColour(255, 255, 254), StateColor::Normal)
|
||||
);
|
||||
if (flags & wxOK) {
|
||||
Button* ok_btn = new Button(this, _L("OK"));
|
||||
ok_btn->SetMinSize(BTN_SIZE);
|
||||
ok_btn->SetCornerRadius(FromDIP(12));
|
||||
ok_btn->Enable(false);
|
||||
ok_btn->SetBackgroundColor(ok_btn_disable_bg);
|
||||
ok_btn->SetBorderColor(ok_btn_bd);
|
||||
ok_btn->SetTextColor(ok_btn_text);
|
||||
ok_btn->SetFocus();
|
||||
ok_btn->SetId(wxID_OK);
|
||||
btn_sizer->Add(ok_btn, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL, BTN_GAP);
|
||||
m_button_list[wxOK] = ok_btn;
|
||||
}
|
||||
if (flags & wxCANCEL) {
|
||||
Button* cancel_btn = new Button(this, _L("Cancel"));
|
||||
cancel_btn->SetMinSize(BTN_SIZE);
|
||||
cancel_btn->SetCornerRadius(FromDIP(12));
|
||||
cancel_btn->SetBackgroundColor(cancel_btn_bg);
|
||||
cancel_btn->SetBorderColor(cancel_btn_bd_);
|
||||
cancel_btn->SetTextColor(cancel_btn_text);
|
||||
cancel_btn->SetId(wxID_CANCEL);
|
||||
btn_sizer->Add(cancel_btn, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL, BTN_GAP);
|
||||
m_button_list[wxCANCEL] = cancel_btn;
|
||||
}
|
||||
auto dlg_btns = new DialogButtons(this, {"OK", "Cancel"});
|
||||
m_button_list[wxOK] = dlg_btns->GetOK();
|
||||
m_button_list[wxCANCEL] = dlg_btns->GetCANCEL();
|
||||
|
||||
btn_sizer->Add(dlg_btns, 0, wxEXPAND | wxALIGN_CENTER_VERTICAL);
|
||||
return btn_sizer;
|
||||
}
|
||||
|
||||
void ObjColorDialog::on_dpi_changed(const wxRect &suggested_rect)
|
||||
{
|
||||
for (auto button_item : m_button_list)
|
||||
{
|
||||
if (button_item.first == wxRESET)
|
||||
{
|
||||
button_item.second->SetMinSize(wxSize(FromDIP(75), FromDIP(24)));
|
||||
button_item.second->SetCornerRadius(FromDIP(12));
|
||||
}
|
||||
if (button_item.first == wxOK) {
|
||||
button_item.second->SetMinSize(BTN_SIZE);
|
||||
button_item.second->SetCornerRadius(FromDIP(12));
|
||||
}
|
||||
if (button_item.first == wxCANCEL) {
|
||||
button_item.second->SetMinSize(BTN_SIZE);
|
||||
button_item.second->SetCornerRadius(FromDIP(12));
|
||||
}
|
||||
}
|
||||
m_panel_ObjColor->msw_rescale();
|
||||
this->Refresh();
|
||||
}
|
||||
|
|
@ -215,12 +148,12 @@ ObjColorDialog::ObjColorDialog(wxWindow *parent, Slic3r::ObjDialogInOut &in_out,
|
|||
if (!ok) {
|
||||
m_button_list[wxCANCEL]->Hide();
|
||||
m_button_list[wxOK]->Enable(true);
|
||||
m_button_list[wxOK]->SetBackgroundColor(ok_btn_bg);
|
||||
// ORCA no need to set colors again
|
||||
} else {
|
||||
m_button_list[wxOK]->Bind(wxEVT_UPDATE_UI, ([this](wxUpdateUIEvent &e) {
|
||||
if (m_panel_ObjColor->is_ok() == m_button_list[wxOK]->IsEnabled()) { return; }
|
||||
m_button_list[wxOK]->Enable(m_panel_ObjColor->is_ok());
|
||||
m_button_list[wxOK]->SetBackgroundColor(m_panel_ObjColor->is_ok() ? ok_btn_bg : ok_btn_disable_bg);
|
||||
// ORCA no need to set colors again
|
||||
}));
|
||||
}
|
||||
m_main_sizer->Add(m_buttons_sizer, 0, wxBOTTOM | wxTOP | wxRIGHT | wxEXPAND, BTN_GAP);
|
||||
|
|
@ -556,23 +489,12 @@ void ObjColorPanel::do_layout_callback() {
|
|||
wxBoxSizer *ObjColorPanel::create_approximate_match_btn_sizer(wxWindow *parent)
|
||||
{
|
||||
auto btn_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
StateColor calc_btn_bg(std::pair<wxColour, int>(wxColour(0, 137, 123), StateColor::Pressed), std::pair<wxColour, int>(wxColour(38, 166, 154), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 150, 136), StateColor::Normal));
|
||||
StateColor calc_btn_bd(std::pair<wxColour, int>(wxColour(0, 150, 136), 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"));
|
||||
m_quick_approximate_match_btn->SetToolTip(_L("Approximate color matching."));
|
||||
auto cur_btn = m_quick_approximate_match_btn;
|
||||
cur_btn->SetFont(Label::Body_13);
|
||||
cur_btn->SetMinSize(wxSize(FromDIP(60), FromDIP(20)));
|
||||
cur_btn->SetCornerRadius(FromDIP(10));
|
||||
cur_btn->SetBackgroundColor(calc_btn_bg);
|
||||
cur_btn->SetBorderColor(calc_btn_bd);
|
||||
cur_btn->SetTextColor(calc_btn_text);
|
||||
cur_btn->SetFocus();
|
||||
btn_sizer->Add(cur_btn, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL, 0);
|
||||
cur_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent &) {
|
||||
m_quick_approximate_match_btn->SetStyle(ButtonStyle::Regular, ButtonType::Window);
|
||||
m_quick_approximate_match_btn->SetFocus();
|
||||
btn_sizer->Add(m_quick_approximate_match_btn, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL, 0);
|
||||
m_quick_approximate_match_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent &) {
|
||||
deal_approximate_match_btn();
|
||||
deal_thumbnail();
|
||||
});
|
||||
|
|
@ -582,20 +504,10 @@ wxBoxSizer *ObjColorPanel::create_approximate_match_btn_sizer(wxWindow *parent)
|
|||
wxBoxSizer *ObjColorPanel::create_add_btn_sizer(wxWindow *parent)
|
||||
{
|
||||
auto btn_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
StateColor calc_btn_bg(std::pair<wxColour, int>(wxColour(0, 137, 123), StateColor::Pressed), std::pair<wxColour, int>(wxColour(38, 166, 154), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 150, 136), StateColor::Normal));
|
||||
StateColor calc_btn_bd(std::pair<wxColour, int>(wxColour(0, 150, 136), 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"));
|
||||
m_quick_add_btn->SetToolTip(_L("Append to existing filaments"));
|
||||
auto cur_btn = m_quick_add_btn;
|
||||
cur_btn->SetFont(Label::Body_13);
|
||||
cur_btn->SetMinSize(wxSize(FromDIP(60), FromDIP(20)));
|
||||
cur_btn->SetCornerRadius(FromDIP(10));
|
||||
cur_btn->SetBackgroundColor(calc_btn_bg);
|
||||
cur_btn->SetBorderColor(calc_btn_bd);
|
||||
cur_btn->SetTextColor(calc_btn_text);
|
||||
cur_btn->SetStyle(ButtonStyle::Regular, ButtonType::Window);
|
||||
cur_btn->SetFocus();
|
||||
btn_sizer->Add(cur_btn, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL, 0);
|
||||
cur_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent &) {
|
||||
|
|
@ -608,20 +520,10 @@ wxBoxSizer *ObjColorPanel::create_add_btn_sizer(wxWindow *parent)
|
|||
wxBoxSizer *ObjColorPanel::create_reset_btn_sizer(wxWindow *parent)
|
||||
{
|
||||
auto btn_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
StateColor calc_btn_bg(std::pair<wxColour, int>(wxColour(0, 137, 123), StateColor::Pressed), std::pair<wxColour, int>(wxColour(38, 166, 154), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 150, 136), StateColor::Normal));
|
||||
StateColor calc_btn_bd(std::pair<wxColour, int>(wxColour(0, 150, 136), 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"));
|
||||
m_quick_reset_btn->SetToolTip(_L("Reset mapped extruders."));
|
||||
auto cur_btn = m_quick_reset_btn;
|
||||
cur_btn->SetFont(Label::Body_13);
|
||||
cur_btn->SetMinSize(wxSize(FromDIP(60), FromDIP(20)));
|
||||
cur_btn->SetCornerRadius(FromDIP(10));
|
||||
cur_btn->SetBackgroundColor(calc_btn_bg);
|
||||
cur_btn->SetBorderColor(calc_btn_bd);
|
||||
cur_btn->SetTextColor(calc_btn_text);
|
||||
cur_btn->SetStyle(ButtonStyle::Regular, ButtonType::Window);
|
||||
cur_btn->SetFocus();
|
||||
btn_sizer->Add(cur_btn, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL, 0);
|
||||
cur_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent &) {
|
||||
|
|
|
|||
|
|
@ -213,7 +213,7 @@ void ObjectDataViewModelNode::set_variable_height_icon(VaryHeightIndicator vari_
|
|||
if (m_variable_height == vari_height)
|
||||
return;
|
||||
m_variable_height = vari_height;
|
||||
m_variable_height_icon = m_variable_height == hiUnVariable ? m_empty_bmp : create_scaled_bitmap("toolbar_variable_layer_height", nullptr, 20);
|
||||
m_variable_height_icon = m_variable_height == hiUnVariable ? m_empty_bmp : create_scaled_bitmap("obj_variable_layer_height");
|
||||
}
|
||||
|
||||
void ObjectDataViewModelNode::set_action_icon(bool enable)
|
||||
|
|
@ -311,9 +311,9 @@ void ObjectDataViewModelNode::msw_rescale()
|
|||
m_action_icon = create_scaled_bitmap(m_action_icon_name);
|
||||
|
||||
if (m_printable != piUndef)
|
||||
m_printable_icon = create_scaled_bitmap(m_printable == piPrintable ? "obj_printable" : "obj_unprintable");
|
||||
m_printable_icon = create_scaled_bitmap(m_printable == piPrintable ? "check_on" : "check_off_focused");
|
||||
|
||||
m_variable_height_icon = m_variable_height == hiUnVariable ? m_empty_bmp : create_scaled_bitmap("toolbar_variable_layer_height", nullptr, 20);
|
||||
m_variable_height_icon = m_variable_height == hiUnVariable ? m_empty_bmp : create_scaled_bitmap("obj_variable_layer_height");
|
||||
|
||||
if (!m_opt_categories.empty())
|
||||
update_settings_digest_bitmaps();
|
||||
|
|
|
|||
|
|
@ -129,42 +129,16 @@ wxBoxSizer *TipsDialog::create_item_checkbox(wxString title, wxWindow *parent, w
|
|||
Button *TipsDialog::add_button(wxWindowID btn_id, const wxString &label, bool set_focus /*= false*/)
|
||||
{
|
||||
Button* btn = new Button(this, label, "", 0, 0, btn_id);
|
||||
StateColor btn_bg_green(std::pair<wxColour, int>(wxColour(0, 137, 123), StateColor::Pressed),
|
||||
std::pair<wxColour, int>(wxColour(38, 166, 154), StateColor::Hovered),
|
||||
std::pair<wxColour, int>(wxColour(0, 150, 136), StateColor::Normal));
|
||||
|
||||
StateColor btn_bd_green(std::pair<wxColour, int>(wxColour(0, 150, 136), StateColor::Normal));
|
||||
if (btn_id == wxID_OK || btn_id == wxID_YES)
|
||||
btn->SetStyle(ButtonStyle::Confirm, ButtonType::Choice);
|
||||
|
||||
StateColor btn_text_green(std::pair<wxColour, int>(wxColour(255, 255, 254), 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>(wxColour(255, 255, 255), StateColor::Normal)
|
||||
);
|
||||
|
||||
StateColor btn_bd_white(std::pair<wxColour, int>(wxColour(38, 46, 48), StateColor::Normal));
|
||||
|
||||
StateColor btn_text_white(std::pair<wxColour, int>(wxColour(38, 46, 48), StateColor::Normal));
|
||||
|
||||
if (btn_id == wxID_OK || btn_id == wxID_YES) {
|
||||
btn->SetBackgroundColor(btn_bg_green);
|
||||
btn->SetBorderColor(btn_bd_green);
|
||||
btn->SetTextColor(btn_text_green);
|
||||
}
|
||||
|
||||
if (btn_id == wxID_CANCEL || btn_id == wxID_NO) {
|
||||
btn->SetBackgroundColor(btn_bg_white);
|
||||
btn->SetBorderColor(btn_bd_white);
|
||||
btn->SetTextColor(btn_text_white);
|
||||
}
|
||||
if (btn_id == wxID_CANCEL || btn_id == wxID_NO)
|
||||
btn->SetStyle(ButtonStyle::Regular, ButtonType::Choice);
|
||||
|
||||
if (set_focus)
|
||||
btn->SetFocus();
|
||||
|
||||
btn->SetSize(TIPS_DIALOG_BUTTON_SIZE);
|
||||
btn->SetMinSize(TIPS_DIALOG_BUTTON_SIZE);
|
||||
btn->SetCornerRadius(FromDIP(12));
|
||||
btn->Bind(wxEVT_BUTTON, [this, btn_id](wxCommandEvent &) {
|
||||
if (m_show_again) {
|
||||
if (!m_app_key.empty()) {
|
||||
|
|
@ -184,8 +158,7 @@ Button *TipsDialog::add_button(wxWindowID btn_id, const wxString &label, bool se
|
|||
|
||||
void TipsDialog::on_dpi_changed(const wxRect &suggested_rect)
|
||||
{
|
||||
if (m_confirm) m_confirm->SetMinSize(TIPS_DIALOG_BUTTON_SIZE);
|
||||
if (m_cancel) m_cancel->SetMinSize(TIPS_DIALOG_BUTTON_SIZE);
|
||||
if (m_confirm) m_confirm->Rescale(); // ORCA
|
||||
Fit();
|
||||
Refresh();
|
||||
}
|
||||
|
|
@ -286,8 +259,16 @@ ParamsPanel::ParamsPanel( wxWindow* parent, wxWindowID id, const wxPoint& pos, c
|
|||
m_tips_arrow = new ScalableButton(m_top_panel, wxID_ANY, "tips_arrow");
|
||||
m_tips_arrow->Hide();
|
||||
|
||||
m_title_view = new Label(m_top_panel, Label::Body_12, _L("Advance")); // ORCA match size with advanced toggle on tab.cpp m_static_title
|
||||
m_mode_icon = new ScalableButton(m_top_panel, wxID_ANY, "advanced"); // ORCA
|
||||
m_mode_icon->Bind(wxEVT_BUTTON, [this](wxCommandEvent e) {
|
||||
m_mode_view->SetValue(!m_mode_view->GetValue());
|
||||
wxCommandEvent evt(wxEVT_TOGGLEBUTTON, m_mode_view->GetId()); // ParamsPanel::OnToggled(evt)
|
||||
evt.SetEventObject(m_mode_view);
|
||||
m_mode_view->wxEvtHandler::ProcessEvent(evt);
|
||||
});
|
||||
m_mode_icon->SetToolTip(_L("Show/Hide advanced parameters"));
|
||||
m_mode_view = new SwitchButton(m_top_panel, wxID_ABOUT);
|
||||
m_mode_view->SetToolTip(_L("Show/Hide advanced parameters"));
|
||||
|
||||
// BBS: new layout
|
||||
//m_search_btn = new ScalableButton(m_top_panel, wxID_ANY, "search", wxEmptyString, wxDefaultSize, wxDefaultPosition, wxBU_EXACTFIT | wxNO_BORDER, true);
|
||||
|
|
@ -421,23 +402,16 @@ void ParamsPanel::create_layout()
|
|||
|
||||
if (m_top_panel) {
|
||||
m_mode_sizer = new wxBoxSizer( wxHORIZONTAL );
|
||||
m_mode_sizer->AddSpacer(FromDIP(SidebarProps::TitlebarMargin()));
|
||||
m_mode_sizer->Add(m_process_icon, 0, wxALIGN_CENTER);
|
||||
m_mode_sizer->AddSpacer(FromDIP(SidebarProps::ElementSpacing()));
|
||||
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->AddSpacer(FromDIP(SidebarProps::ElementSpacing()));
|
||||
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(SidebarProps::ElementSpacing()));
|
||||
m_mode_sizer->Add(m_mode_view, 0, wxALIGN_CENTER);
|
||||
m_mode_sizer->AddSpacer(FromDIP(SidebarProps::ElementSpacing() * 6)); // ORCA using spacer prevents shaky mode_view when tips_arrow highlighting mode_region instead using AddStretchSpacer
|
||||
m_mode_sizer->Add(m_setting_btn, 0, wxALIGN_CENTER);
|
||||
m_mode_sizer->AddSpacer(FromDIP(SidebarProps::IconSpacing()));
|
||||
m_mode_sizer->Add(m_compare_btn, 0, wxALIGN_CENTER);
|
||||
m_mode_sizer->AddSpacer(FromDIP(SidebarProps::TitlebarMargin()));
|
||||
m_mode_sizer->Add(m_process_icon, 0, wxALIGN_CENTER | wxLEFT , FromDIP(SidebarProps::TitlebarMargin()));
|
||||
m_mode_sizer->Add(m_title_label , 0, wxALIGN_CENTER | wxLEFT , FromDIP(SidebarProps::ElementSpacing()));
|
||||
m_mode_sizer->Add(m_mode_region , 0, wxALIGN_CENTER | wxLEFT , FromDIP(SidebarProps::WideSpacing()));
|
||||
m_mode_sizer->Add(m_tips_arrow , 0, wxALIGN_CENTER | wxLEFT , FromDIP(SidebarProps::ElementSpacing()));
|
||||
m_mode_sizer->AddSpacer(FromDIP(SidebarProps::IconSpacing())); // ensure there is spacing after control when sidebar has less width
|
||||
m_mode_sizer->AddStretchSpacer();
|
||||
m_mode_sizer->Add(m_mode_icon , 0, wxALIGN_CENTER | wxRIGHT, FromDIP(SidebarProps::ElementSpacing()));
|
||||
m_mode_sizer->Add(m_mode_view , 0, wxALIGN_CENTER | wxRIGHT, FromDIP(SidebarProps::WideSpacing()));
|
||||
m_mode_sizer->Add(m_setting_btn , 0, wxALIGN_CENTER | wxRIGHT, FromDIP(SidebarProps::WideSpacing()));
|
||||
m_mode_sizer->Add(m_compare_btn , 0, wxALIGN_CENTER | wxRIGHT, FromDIP(SidebarProps::TitlebarMargin()));
|
||||
//m_mode_sizer->Add( m_search_btn, 0, wxALIGN_CENTER );
|
||||
//m_mode_sizer->AddSpacer(16);
|
||||
m_mode_sizer->SetMinSize(-1, FromDIP(30));
|
||||
|
|
@ -717,6 +691,7 @@ void ParamsPanel::msw_rescale()
|
|||
m_mode_sizer->SetMinSize(-1, 3 * em_unit(this));
|
||||
if (m_mode_region)
|
||||
((SwitchButton* )m_mode_region)->Rescale();
|
||||
if (m_mode_icon) m_mode_icon->msw_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}) {
|
||||
|
|
@ -818,10 +793,10 @@ void ParamsPanel::delete_subwindows()
|
|||
m_mode_view = nullptr;
|
||||
}
|
||||
|
||||
if (m_title_view)
|
||||
if (m_mode_icon) // ORCA m_title_view replacement
|
||||
{
|
||||
delete m_title_view;
|
||||
m_title_view = nullptr;
|
||||
delete m_mode_icon;
|
||||
m_mode_icon = nullptr;
|
||||
}
|
||||
|
||||
if (m_search_btn)
|
||||
|
|
|
|||