Add Filament Web

This commit is contained in:
QIDI TECH
2024-09-28 16:26:58 +08:00
parent e84f284825
commit 680346707d
8 changed files with 1648 additions and 73 deletions

View File

@@ -1,7 +1,7 @@
<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_8986_34986)">
<rect x="0.906738" y="0.75" width="8.18652" height="8.5" rx="0.25" stroke="#262E30" stroke-width="0.5"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.44384 9.15385H8.70117C8.97731 9.15385 9.20117 8.92999 9.20117 8.65385V7.77134C9.01185 8.27195 8.7555 8.73679 8.44384 9.15385ZM9.20117 3.82879C8.50648 2.15978 6.91732 1 5.07962 1C3.0001 1 1.29827 2.76362 1.29827 4.96686C1.29827 6.81838 2.72798 8.30496 4.47852 8.30496C5.94047 8.30496 7.13782 7.06157 7.13782 5.51178C7.13782 4.20557 6.13326 3.17131 4.91131 3.17131C3.89774 3.17131 3.05347 4.0379 3.05347 5.12614C3.05347 6.02995 3.75348 6.74564 4.59072 6.74564C5.28371 6.74564 5.8635 6.1557 5.8635 5.40279C5.8635 4.78402 5.3879 4.30307 4.82315 4.30307C4.36259 4.30307 3.97515 4.69181 3.97515 5.20159C3.97515 5.6122 4.29181 5.93245 4.66286 5.93245C4.95511 5.93245 5.2063 5.68623 5.2063 5.35249C5.2063 5.09421 5.0032 4.89829 4.78307 4.89829C4.68224 4.89829 4.62549 4.93068 4.59194 4.96752C4.55575 5.00726 4.52157 5.08014 4.52157 5.20159C4.52157 5.31575 4.54634 5.35545 4.55458 5.36503L4.55474 5.36522C4.55684 5.36774 4.5704 5.38402 4.62626 5.38915C4.62683 5.38149 4.62732 5.3728 4.62771 5.36297C4.62901 5.32972 4.62886 5.29548 4.62868 5.25362V5.25361L4.62853 5.20159C4.62853 5.06352 4.74046 4.95159 4.87853 4.95159C5.0166 4.95159 5.12853 5.06352 5.12853 5.20159L5.12866 5.24197C5.12886 5.28728 5.12909 5.33744 5.12732 5.38257C5.12499 5.44205 5.11881 5.51557 5.09642 5.58704C5.07283 5.66237 5.02736 5.7474 4.93969 5.80987C4.85359 5.87123 4.75495 5.89069 4.66286 5.89069C4.4794 5.89069 4.30122 5.83726 4.17547 5.69103C4.0562 5.55233 4.02157 5.37247 4.02157 5.20159C4.02157 4.98771 4.08286 4.78393 4.22227 4.63086C4.36432 4.47488 4.56332 4.39829 4.78307 4.39829C5.3003 4.39829 5.7063 4.8395 5.7063 5.35249C5.7063 5.94093 5.25221 6.43245 4.66286 6.43245C3.992 6.43245 3.47515 5.86406 3.47515 5.20159C3.47515 4.4371 4.06549 3.80307 4.82315 3.80307C5.685 3.80307 6.3635 4.52932 6.3635 5.40279C6.3635 6.41041 5.58081 7.24564 4.59072 7.24564C3.45638 7.24564 2.55347 6.28465 2.55347 5.12614C2.55347 3.7832 3.60064 2.67131 4.91131 2.67131C6.43036 2.67131 7.63782 3.95086 7.63782 5.51178C7.63782 7.31536 6.23845 8.80496 4.47852 8.80496C2.43013 8.80496 0.798266 7.07231 0.798266 4.96686C0.798266 2.50892 2.703 0.5 5.07962 0.5C6.79575 0.5 8.30297 1.40023 9.20117 2.76765V3.82879Z" fill="#262E30"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M 8.4438 9.1539 H 8.7012 C 8.9773 9.1539 9.2012 8.93 9.2012 8.6539 V 7.7713 C 9.0119 8.272 8.7555 8.7368 8.4438 9.1539 Z M 9.2012 3.8288 C 8.5065 2.1598 6.93 1.034 5.083 1.017 C 2.782 1.027 1.06 2.838 1.055 4.949 C 1.093 7.012 2.315 8.449 4.443 8.472 C 6.229 8.469 7.388 7.067 7.388 5.597 C 7.375 4.094 6.057 3.257 5.137 3.255 C 4.05 3.261 3.288 3.912 3.282 4.997 C 3.286 5.783 3.937 6.291 4.447 6.291 C 5.047 6.277 5.255 5.872 5.259 5.666 C 5.261 5.432 5.065 5.307 4.866 5.481 C 4.53 5.663 4.244 5.057 4.942 4.827 C 5.359 4.73 5.766 5.095 5.77 5.568 C 5.759 6.389 5.152 6.798 4.434 6.814 C 3.429 6.803 2.728 5.942 2.732 4.984 C 2.737 3.612 3.784 2.734 5.14 2.73 C 6.549 2.743 7.93 3.946 7.939 5.584 C 7.922 7.596 6.442 9.017 4.474 9.021 C 2.65 8.999 1.659 8.176 0.848 6.941 C 0.842 6.291 0.848 5.943 0.841 4.933 C 0.842 4.454 0.837 3.979 0.842 3.234 C 1.231 2.331 2.398 0.508 5.0796 0.5 C 6.7957 0.5 8.303 1.4002 9.2012 2.7677 V 3.8288 Z" fill="#262E30"/>
</g>
<defs>
<clipPath id="clip0_8986_34986">

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -1712,16 +1712,16 @@ var LangText={
},
"ko_KR": {
"t1": "QIDI Studio에 오신 것을 환영합니다",
"t2": "QIDI Studio는 몇 단계로 설정됩니다. 시작하겠습니다!",
"t2": "QIDI Studio는 몇 단계로 설정됩니다. 시작해 봅시다!",
"t3": "사용자 계약",
"t4": "동의하지 않음",
"t5": "동의",
"t6": "모든 사람의 프린팅을 개선하기 위해 귀하의 도움을 부탁드립니다.<br/>고객 경험 개선 프로그램에 참여하십시오",
"t7": "고객 경험 개선 프로그램에 참여세요",
"t5": "동의",
"t6": "모든 사람의 프린팅을 개선하기 위해 귀하의 도움을 부탁드립니다.<br/>고객 경험 개선 프로그램에 참여해 주세요",
"t7": "고객 경험 개선 프로그램에 참여해 주세요",
"t8": "뒤로",
"t9": "다음",
"t10": "프린터 선택",
"t11": "모두",
"t11": "전체",
"t12": "모두 지우기",
"t13": "mm 노즐",
"t14": "필라멘트 선택",
@@ -1733,61 +1733,62 @@ var LangText={
"t20": "기본 필라멘트를 사용하시겠습니까?",
"t21": "예",
"t22": "아니오",
"t23": "릴리 노트",
"t23": "릴리 노트",
"t24": "시작하기",
"t25": "마침",
"t25": "완료",
"t26": "로그인",
"t27": "등록",
"t28": "모델",
"t29": "쇼핑몰",
"t30": "매뉴얼",
"t29": "몰",
"t30": "수동",
"t31": "새 프로젝트",
"t32": "새 프로젝트 생성",
"t33": "핫스팟",
"t34": "최근 열었습니다",
"t35": "확인",
"t36": "최소한 하나의 프린터를 선택해야 합니다.",
"t37": "취소",
"t38": "확인",
"t39": "네트워크가 연결되지 않았습니다. 확인 후 나중에 다시 시도하십시오.",
"t47": "로그인 지역을 선택해 주십시오",
"t33": "프로젝트 열기",
"t34": "ホットスポット",
"t35": "최근에 열었습니다",
"t36": "확인",
"t37": "최소한 하나의 프린터를 선택해야 합니다.",
"t38": "취소",
"t39": "확인",
"t40": "네트워크가 연결되지 않았습니다. 확인 후 다시 시도해 주세요.",
"t47": "로그인 지역을 선택해 주세요",
"t48": "아시아 태평양",
"t49": "중국 본토",
"t50": "로그아웃",
"t49": "중국 대륙",
"t50": "로그 아웃",
"t52": "건너뛰기",
"t53": "가입",
"t54": "3D 프린팅 커뮤니티에서는 서로의 성공과 실패 배우고 자신의 라이싱 매개변수와 설정을 조정합니다. QIDI Studio는 동일한 원칙을 따르고 기계 학습을 사용하여 우리 사용자들의 방대한 인쇄의 성공과 실패로 그 성능을 개선합니다. 우리는 실제 데이터를 공급하여 QIDI Studio를 더 똑똑하게 훈련시키고 있습니다. 귀하가 원한다면 이 서비스는 오류 로그 사용 로그의 정보에 액세스할 것입니다. 여기에는 다음에 설명된 정보가 포함될 수 있습니다.",
"t55": "개인 정보 정책",
"t56": ". 우리는 개인 직접 또는 간접적으로 식별할 수 있는 개인 정보를 수집하지 않습니다. 여기에는 이름, 주소, 결제 정보 또는 전화 번호 포함하지 않습니다. 이 서비스를 활성화하면 이러한 약관과 개인 정보 정책에 관한 설명에 동의하는 것입니다.",
"t54": "3D 프린팅 커뮤니티에서는 우리는 서로의 성공과 실패로부터 배우고, 자신의 라이싱 매개변수와 설정을 조정합니다. QIDI Studio 역시 같은 원리로 사용자의 성공과 실패로부터 기계 학습을 사용하여 그 성능을 개선합니다. 우리는 실제 세계의 데이터를 제공함으로써 QIDI Studio를 더 똑똑하게 훈련고 있습니다. 여러분이 원할 경우, 이 서비스는 오류 로그 사용 로그의 정보에 접근할 것입니다. 이 정보에는 다음에 설명된 정보가 포함될 수 있습니다.",
"t55": "개인정보 정책",
"t56": ". 우리는 개인 직접 또는 간접적으로 식별할 수 있는 개인 정보를 수집하지 않습니다. 는 이름, 주소, 결제 정보, 또는 전화번호 등을 포함하지만, 이에 국한되지 않습니다. 이 서비스를 사용함으로써, 이러한 조항과 개인정보 정책에 관한 설명에 동의하는 것입니다.",
"t57": "",
"t58": "",
"t59": ".",
"t60": "유럽",
"t61": "북미",
"t62": "기타",
"t63": "지역을 변경한 후 귀하의 계정은 로그아웃됩니다. 나중에 다시 로그인하십시오.",
"t64": "QIDI 네트워크 플러그인",
"t65": "WLAN을 통한 인쇄 작업 보내기",
"t63": "지역을 변경한 후, 귀하의 계정은 로그아웃됩니다. 나중에 다시 로그인해 주세요.",
"t64": "QIDI Network 플러그인",
"t65": "WLAN을 통한 프린팅 작업 보내기",
"t66": "완전한 원격 제어",
"t67": "라이브뷰 스트리밍",
"t68": "사용자 데이터 동기화",
"t69": "QIDI 네트워크 플러그인 설치",
"t69": "QIDI Network 플러그인 설치",
"t70": "",
"t71": "다운로드 중",
"t72": "다운로드 실패",
"t73": "설치 성공.",
"t74": "다시 시작",
"t75": "QIDI 네트워크 플러그인은 다음 기능을 제공합니다:",
"t76": "QIDI 네트워크 플러그인이 감지되지 않았습니다. 클릭 ",
"t77": "여기",
"t78": " 설치하려면.",
"t79": "플러그인 설치 실패. ",
"t80": "다음 단계를 시도십시오:",
"t81": "1, 클릭 ",
"t82": " 플러그인 디렉토리 열기",
"t83": "2, 모든 QIDI Studio 닫기",
"t74": "시작",
"t75": "QIDI Network 플러그인은 다음 기능을 제공합니다:",
"t76": "QIDI Network 플러그인이 감지되지 않았습니다. 클릭",
"t77": "여기",
"t78": "를 클릭하여 설치하십시오.",
"t79": "플러그인 설치 실패했습니다. ",
"t80": "다음 단계를 시도해 보십시오:",
"t81": "1, 클릭",
"t82": "플러그인 디렉토리 열기",
"t83": "2, 모든 QIDI Studio 종료",
"t84": "3, 플러그인 디렉토리의 모든 파일 삭제",
"t85": "4, QIDI Studio 다시 열고 플러그인 다시 설치하십시오",
"t85": "4, QIDI Studio 다시 열고 플러그인 다시 설치",
"t86": "닫기",
"t87": "사용자 매뉴얼",
"t88": "제거",
@@ -1795,8 +1796,8 @@ var LangText={
"t90": "3D 모델",
"t91": "3D 모델 다운로드",
"t92": "만든이",
"t93": "리믹스한 사람",
"t94": "공유한 사람",
"t93": "리믹스한 ",
"t94": "공유한 ",
"t95": "모델 정보",
"t96": "액세서리",
"t97": "프로필 정보",
@@ -1811,12 +1812,12 @@ var LangText={
"t107": "온라인 모델",
"t108": "더보기",
"t109": "시스템 필라멘트",
"t110": "사용자 정의 필라멘트",
"t110": "커스텀 필라멘트",
"t111": "새로 만들기",
"t112": "프로그램에 가입하세요",
"t112": "프로그램 참여",
"t113": "언제든지 환경 설정에서 선택을 변경할 수 있습니다.",
"t114": "홈",
"t115": "일괄",
"t115": "일괄 처리",
"t116": "재시도",
"t117": "장치 연결",
"t118": "장치를 보려면 프린터 연결을 설정하십시오.",
@@ -1824,22 +1825,22 @@ var LangText={
},
"pl_PL": {
"t1": "Witamy w QIDI Studio",
"t2": "Konfiguracja QIDI Studio odbywa się w kilka kroków. Zacznijmy!",
"t2": "Konfiguracja QIDI Studio będzie realizowana w kilka etapach. Zaczynajmy!",
"t3": "Umowa Użytkownika",
"t4": "Nie zgadzam się",
"t5": "Zgadzam się",
"t6": "Prosimy o Twoją pomoc w usprawnieniu drukowania dla wszystkich.<br/>Dołącz do naszego Programu Poprawy Doświadczenia Klienta",
"t7": "Dołącz do naszego Programu Poprawy Doświadczenia Klienta",
"t6": "Prosimy o Twoją pomoc w polepszeniu wydruków dla wszystkich.<br/>Dołącz do naszego Programu Polepszenia Doświadczenia Klienta",
"t7": "Dołącz do naszego Programu Polepszenia Doświadczenia Klienta",
"t8": "Wstecz",
"t9": "Dalej",
"t10": "Wybór drukarki",
"t11": "Wszystko",
"t11": "Wszystkie",
"t12": "Wyczyść wszystko",
"t13": "dysza mm",
"t14": "Wybór filamentu",
"t15": "Drukarka",
"t16": "Typ filamentu",
"t17": "Dostawca",
"t17": "Producent",
"t18": "błąd",
"t19": "Musisz wybrać przynajmniej jeden filament.",
"t20": "Czy chcesz użyć domyślnego filamentu?",
@@ -1848,29 +1849,30 @@ var LangText={
"t23": "Informacje o wydaniu",
"t24": "Rozpocznij",
"t25": "Zakończ",
"t26": "Zaloguj się",
"t27": "Zarejestruj się",
"t26": "Logowanie",
"t27": "Rejestracja",
"t28": "Modele",
"t29": "Sklep",
"t30": "Instrukcja",
"t31": "Nowy projekt",
"t32": "Utwórz nowy projekt",
"t33": "Punkt aktywacji",
"t34": "Ostatnio otwarte",
"t35": "ok",
"t36": "Przynajmniej jedna drukarka musi zostać wybrana.",
"t37": "Anuluj",
"t38": "Potwierdź",
"t39": "Rozłączenie sieci, proszę sprawdzić i spróbować ponownie później.",
"t47": "Prosimy wybrać region logowania",
"t33": "Otwórz projekt",
"t34": "punkt aktywny",
"t35": "Ostatnio otwarte pliki",
"t36": "ok",
"t37": "Musisz wybrać przynajmniej jedną drukarkę.",
"t38": "Anuluj",
"t39": "Potwierdź",
"t40": "Rozłączono od sieci, proszę sprawdzić i spróbować ponownie później.",
"t47": "Proszę wybrać region logowania",
"t48": "Azja i Pacyfik",
"t49": "Chiński kontynent",
"t50": "Wyloguj się",
"t49": "Chiny",
"t50": "Wyloguj",
"t52": "Pomiń",
"t53": "Dołącz",
"t54": "W społeczności drukowania 3D uczymy się od sukcesów i porażek innych, aby dostosować nasze parametry cięcia i ustawienia. QIDI Studio działa na tej samej zasadzie i wykorzystuje uczenie maszynowe, aby poprawiać swoją wydajność na podstawie sukcesów i niepowodzeń licznych wydruków naszych użytkowników. Trenujemy QIDI Studio, aby stać się mądrzejszą, dostarczając rzeczywiste dane z życia. Jeśli jesteś zainteresowany, ta usługa będzie mieć dostęp do informacji z Twoich dzienników błędów i dzienników użytkowania, które mogą zawierać informacje opisane w",
"t55": "Polityka Prywatności",
"t56": ". Nie zbieramy żadnych danych osobowych, które pozwolą na bezpośrednie lub pośrednie zidentyfikowanie osoby, w tym, ale nie ograniczając się do imion, adresów, informacji o płatności lub numerów telefonów. Włączając tę usługę, akceptujesz te warunki oraz oświadczenie dotyczące Polityki Prywatności.",
"t54": "W społeczności 3D drukowania uczymy się od sukcesów i porażek innych, aby dostosować swoje własne parametry ciągów i ustawienia. QIDI Studio działa według tej samej zasady i używa uczenia maszynowego, aby poprawić swoją wydajność na podstawie sukcesów i niepowodzeń licznych wydruków naszych użytkowników. Trenujemy QIDI Studio, aby stać się bardziej inteligentnym, podając mu rzeczywiste dane z świata. Jeśli jesteś zgodny, ta usługa będzie mogła uzyskać dostęp do informacji z Twoich dzienników błędów i dzienników użycia, które mogą zawierać informacje opisane w",
"t55": "Polityka prywatności",
"t56": ". Nie będziemy zbierać żadnych danych osobowych, które pozwolą na bezpośrednie lub pośrednie zidentyfikowanie osoby, w tym, ale nie ograniczając się do nazwisk, adresów, informacji o płatności lub numerów telefonów. Włączając tę usługę, akceptujesz te warunki i oświadczenie dotyczące Polityki prywatności.",
"t57": "",
"t58": "",
"t59": ".",
@@ -1881,22 +1883,22 @@ var LangText={
"t64": "Wtyczka QIDI Network",
"t65": "Wysyłanie zadania drukowania przez WLAN",
"t66": "Pełne zdalne sterowanie",
"t67": "Transmisja na żywo",
"t67": "Transmisja strumieniowa Liveview",
"t68": "Synchronizacja danych użytkownika",
"t69": "Zainstaluj wtyczkę QIDI Network",
"t70": "",
"t71": "Pobieranie",
"t72": "Pobieranie nie powiodło się",
"t73": "Instalacja powiodła się.",
"t73": "Instalacja zakończona sukcesem.",
"t74": "Uruchom ponownie",
"t75": "Wtyczka QIDI Network zapewnia następujące funkcje:",
"t76": "Nie wykryto wtyczki QIDI Network. Kliknij ",
"t76": "Nie wykryto wtyczki QIDI Network. Kliknij",
"t77": "tutaj",
"t78": ", aby zainstalować.",
"t78": "aby zainstalować.",
"t79": "Nie udało się zainstalować wtyczki. ",
"t80": "Spróbuj następujących kroków:",
"t81": "1, Kliknij ",
"t82": ", aby otworzyć katalog wtyczki",
"t80": "Wypróbuj następujące kroki:",
"t81": "1, Kliknij",
"t82": "aby otworzyć katalog wtyczki",
"t83": "2, Zamknij wszystkie otwarte QIDI Studio",
"t84": "3, Usuń wszystkie pliki w katalogu wtyczki",
"t85": "4, Otwórz ponownie QIDI Studio i zainstaluj wtyczkę ponownie",
@@ -1915,7 +1917,7 @@ var LangText={
"t98": "Nazwa modelu",
"t100": "Opis modelu",
"t101": "BOM",
"t102": "Instrukcja montażu",
"t102": "Przewodnik montażu",
"t103": "Inne",
"t104": "Nazwa profilu",
"t105": "Autor profilu",
@@ -1926,9 +1928,9 @@ var LangText={
"t110": "Filamenty niestandardowe",
"t111": "Utwórz nowy",
"t112": "Dołącz do programu",
"t113": "Możesz zmienić swoją odpowiedź w preferencjach w dowolnym momencie.",
"t113": "Opcja można zmienić w preferencjach w dowolnym momencie.",
"t114": "Strona główna",
"t115": "Partia",
"t115": "Wartość zbiorcza",
"t116": "Ponów",
"t117": "Podłącz urządzenie",
"t118": "Proszę skonfigurować połączenie drukarki, aby wyświetlić urządzenie.",

File diff suppressed because it is too large Load Diff

View File

@@ -502,6 +502,8 @@ set(SLIC3R_GUI_SOURCES
Utils/FontConfigHelp.hpp
Utils/FontUtils.cpp
Utils/FontUtils.hpp
GUI/Filament_web.hpp
GUI/Filament_web.cpp
)
if(QDT_RELEASE_TO_PUBLIC)

View File

@@ -0,0 +1,66 @@
#include "Tab.hpp"
#include "Project.hpp"
#include "libslic3r/Utils.hpp"
#include "libslic3r/Model.hpp"
#include "libslic3r/Format/qds_3mf.hpp"
#include <wx/app.h>
#include <wx/button.h>
#include <wx/scrolwin.h>
#include <wx/sizer.h>
#include <wx/bmpcbox.h>
#include <wx/bmpbuttn.h>
#include <wx/treectrl.h>
#include <wx/imaglist.h>
#include <wx/settings.h>
#include <wx/filedlg.h>
#include <wx/wupdlock.h>
#include <wx/dataview.h>
#include <wx/tokenzr.h>
#include <wx/arrstr.h>
#include <wx/tglbtn.h>
#include <boost/log/trivial.hpp>
#include "wxExtensions.hpp"
#include "GUI_App.hpp"
#include "GUI_ObjectList.hpp"
#include "MainFrame.hpp"
#include <slic3r/GUI/Widgets/WebView.hpp>
namespace Slic3r {
namespace GUI {
FilamentPanel::FilamentPanel(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style) : wxPanel(parent, id, pos, size, style)
{
m_project_home_url = wxString::Format("file://%s/web/filament/index.html", from_u8(resources_dir()));
wxString strlang = wxGetApp().current_language_code_safe();
if (strlang != "")
m_project_home_url = wxString::Format("file://%s/web/filament/index.html?lang=%s", from_u8(resources_dir()), strlang);
wxBoxSizer* main_sizer = new wxBoxSizer(wxVERTICAL);
m_browser = WebView::CreateWebView(this, m_project_home_url);
if (m_browser == nullptr) {
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format("load web view of project page failed");
return;
}
//m_browser->Hide();
main_sizer->Add(m_browser, wxSizerFlags().Expand().Proportion(1));
SetSizer(main_sizer);
Layout();
Fit();
}
FilamentPanel::~FilamentPanel() {}
}
} // namespace Slic3r::GUI

View File

@@ -0,0 +1,69 @@
#ifndef slic3r_GUI_Filament_web_hpp_
#define slic3r_GUI_Filament_web_hpp_
#include "Tabbook.hpp"
#include "wx/artprov.h"
#include "wx/cmdline.h"
#include "wx/notifmsg.h"
#include "wx/settings.h"
#include "wx/webview.h"
#if wxUSE_WEBVIEW_EDGE
#include "wx/msw/webview_edge.h"
#endif
#include "wx/numdlg.h"
#include "wx/infobar.h"
#include "wx/filesys.h"
#include "wx/fs_arc.h"
#include "wx/fs_mem.h"
#include "wx/stdpaths.h"
#include <wx/panel.h>
#include <wx/tbarbase.h>
#include "wx/textctrl.h"
#include <wx/timer.h>
#include "nlohmann/json.hpp"
#include "slic3r/Utils/json_diff.hpp"
#include <map>
#include <vector>
#include <memory>
#include "Event.hpp"
#include "libslic3r/ProjectTask.hpp"
#include "wxExtensions.hpp"
namespace Slic3r {
namespace GUI {
struct filament_file {
std::string filepath;
std::string filename;
std::string size;
};
class FilamentPanel : public wxPanel
{
private:
bool m_web_init_completed = { false };
bool m_reload_already = { false };
wxWebView* m_browser = { nullptr };
wxString m_project_home_url;
wxString m_root_dir;
std::map<std::string, std::string> m_model_id_map;
static inline int m_sequence_id = 8000;
public:
FilamentPanel(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL);
~FilamentPanel();
};
}
} // namespace Slic3r::GUI
#endif

View File

@@ -1205,6 +1205,10 @@ void MainFrame::init_tabpanel()
m_calibration->SetBackgroundColour(*wxWHITE);
m_tabpanel->AddPage(m_calibration, _L("Calibration"), std::string("tab_calibration_active"), std::string("tab_calibration_active"), false);
m_filament = new FilamentPanel(m_tabpanel, wxID_ANY, wxDefaultPosition, wxDefaultSize);
m_filament->SetBackgroundColour(*wxWHITE);
m_tabpanel->AddPage(m_filament, _L("Filament"), std::string("model_weight"), std::string("model_weight"), false);
if (m_plater) {
// load initial config
auto full_config = wxGetApp().preset_bundle->full_config();

View File

@@ -24,6 +24,7 @@
#include "Auxiliary.hpp"
#include "Project.hpp"
#include "CalibrationPanel.hpp"
#include "Filament_web.hpp"
#include "UnsavedChangesDialog.hpp"
#include "Widgets/SideButton.hpp"
#include "Widgets/SideMenuPopup.hpp"
@@ -224,6 +225,7 @@ public:
tpProject = 4,
tpCalibration = 5,
tpMultiDevice = 6, // none
tpFilamentweb = 7,
};
//QDS: add slice&&print status update logic
@@ -377,6 +379,7 @@ public:
ProjectPanel* m_project{ nullptr };
CalibrationPanel* m_calibration{ nullptr };
FilamentPanel* m_filament{nullptr};
WebViewPanel* m_webview { nullptr };
PrinterWebView* m_printer_view{nullptr};
wxLogWindow* m_log_window { nullptr };