Merge branch 'et_gizmos_tooltip' of https://github.com/Prusa3d/PrusaSlicer into et_gizmos_tooltip

This commit is contained in:
bubnikv 2020-03-18 14:28:54 +01:00
commit a901b17d33
29 changed files with 2030 additions and 2234 deletions

18
deps/GMP/GMP.cmake vendored
View File

@ -17,11 +17,27 @@ if (MSVC)
add_custom_target(dep_GMP SOURCES ${_output})
else ()
set(_gmp_ccflags "-O2 -DNDEBUG -fPIC -DPIC -Wall -Wmissing-prototypes -Wpointer-arith -pedantic -fomit-frame-pointer -fno-common")
set(_gmp_build_tgt "${CMAKE_SYSTEM_PROCESSOR}")
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
set(_gmp_ccflags "${_gmp_ccflags} -march=armv7-a") # Works on RPi-4
set(_gmp_build_tgt armv7)
endif()
if (APPLE)
set(_gmp_ccflags "${_gmp_ccflags} -mmacosx-version-min=${DEP_OSX_TARGET}")
set(_gmp_build_tgt "--build=${_gmp_build_tgt}-apple-darwin")
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
set(_gmp_build_tgt "--build=${_gmp_build_tgt}-pc-linux-gnu")
else ()
set(_gmp_build_tgt "") # let it guess
endif()
ExternalProject_Add(dep_GMP
# URL https://gmplib.org/download/gmp/gmp-6.1.2.tar.bz2
URL https://gmplib.org/download/gmp/gmp-6.2.0.tar.lz
BUILD_IN_SOURCE ON
CONFIGURE_COMMAND ./configure --enable-shared=no --enable-cxx=yes --enable-static=yes "--prefix=${DESTDIR}/usr/local" --with-pic
CONFIGURE_COMMAND env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_ccflags}" ./configure --enable-shared=no --enable-cxx=yes --enable-static=yes "--prefix=${DESTDIR}/usr/local" ${_gmp_build_tgt}
BUILD_COMMAND make -j
INSTALL_COMMAND make install
)

View File

@ -21,9 +21,9 @@ else ()
ExternalProject_Add(dep_MPFR
URL http://ftp.vim.org/ftp/gnu/mpfr/mpfr-3.1.6.tar.bz2 https://www.mpfr.org/mpfr-3.1.6/mpfr-3.1.6.tar.bz2 # mirrors are allowed
BUILD_IN_SOURCE ON
CONFIGURE_COMMAND ./configure --prefix=${DESTDIR}/usr/local --enable-shared=no --enable-static=yes --with-gmp=${DESTDIR}/usr/local --with-pic
CONFIGURE_COMMAND env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_ccflags}" ./configure --prefix=${DESTDIR}/usr/local --enable-shared=no --enable-static=yes --with-gmp=${DESTDIR}/usr/local ${_gmp_build_tgt}
BUILD_COMMAND make -j
INSTALL_COMMAND make install
DEPENDS dep_GMP
)
endif ()
endif ()

File diff suppressed because it is too large Load Diff

View File

@ -1092,6 +1092,34 @@ msgstr "Ukončování..."
msgid "Cannot calculate extrusion width for %1%: Variable \"%2%\" not accessible."
msgstr "Nelze vypočítat šířku extrudování pro %1%: Proměnná \"%2%\" není dostupná."
#: src/slic3r/GUI/GUI_ObjectList.cpp:3017
msgid ""
"Cannot insert a new layer range after the current layer range.\n"
"Current layer range overlaps with the next layer range."
msgstr ""
"Nelze vložit nový rozsah vrstev za aktuální rozsah vrstev.\n"
"Aktuální rozsah vrstev se překrývá s dalším rozsahem vrstev."
#: src/slic3r/GUI/GUI_ObjectList.cpp:3008
msgid ""
"Cannot insert a new layer range after the current layer range.\n"
"The next layer range is too thin to be split to two\n"
"without violating the minimum layer height."
msgstr ""
"Nelze vložit nový rozsah vrstev za aktuální rozsah vrstev.\n"
"Další rozsah vrstev je příliš tenký na to, aby byl rozdělen na dva\n"
"bez porušení minimální výšky vrstvy."
#: src/slic3r/GUI/GUI_ObjectList.cpp:3012
msgid ""
"Cannot insert a new layer range between the current and the next layer range.\n"
"The gap between the current layer range and the next layer range\n"
"is thinner than the minimum layer height allowed."
msgstr ""
"Nelze vložit nový rozsah vrstev mezi aktuální a následující rozsah vrstev.\n"
"Mezera mezi aktuálním rozsahem vrstev a dalším rozsahem vrstev\n"
"je tenčí, než je minimální povolená výška vrstvy."
#: src/slic3r/GUI/Tab.cpp:3073
msgid "Cannot overwrite a system profile."
msgstr "Nelze přepsat systémový profil."
@ -2032,14 +2060,6 @@ msgstr ""
"Vyberte ANO, pokud chcete změnit tuto hodnotu na %s%%,\n"
"nebo NE, pokud jste si jisti, že %s %s je správná hodnota."
#: src/slic3r/GUI/ConfigWizard.cpp:1761
msgid "Do you want to automatic select default filaments?"
msgstr "Chcete automaticky vybrat výchozí filamenty?"
#: src/slic3r/GUI/ConfigWizard.cpp:1772
msgid "Do you want to automatic select default materials?"
msgstr "Chcete automaticky vybrat výchozí materiály?"
#: src/slic3r/GUI/DoubleSlider.cpp:1920
msgid "Do you want to delete all saved tool changes?"
msgstr "Opravdu chcete odstranit všechny uložené změny nástrojů?"
@ -2056,6 +2076,14 @@ msgstr "Chcete to zkusit znovu"
msgid "Do you want to save your manually edited support points?"
msgstr "Chcete uložit ručně upravené podpěrné body?"
#: src/slic3r/GUI/ConfigWizard.cpp:1834
msgid "Do you want to select default filaments for these FFF printer models?"
msgstr "Chcete pro tyto modely FFF tiskáren vybrat výchozí filamenty?"
#: src/slic3r/GUI/ConfigWizard.cpp:1852
msgid "Do you want to select default SLA materials for these printer models?"
msgstr "Chcete pro tyto modely tiskáren vybrat výchozí SLA materiály?"
#: src/libslic3r/PrintConfig.cpp:3429
msgid "Don't arrange"
msgstr "Neuspořádávat"
@ -2072,6 +2100,10 @@ msgstr "Nevytvářet podpěry pod mosty"
msgid "Downgrade"
msgstr "Downgrade"
#: src/libslic3r/PrintConfig.cpp:1695
msgid "Draft shield"
msgstr "Ochranný štít"
#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1365
#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1368
#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1369
@ -3454,6 +3486,10 @@ msgstr "Pokud je povoleno, stáhne Slic3r na pozadí aktualizace vestavěných s
msgid "If enabled, the 3D scene will be rendered in Retina resolution. If you are experiencing 3D performance problems, disabling this option may help."
msgstr "Pokud je tato volba povolena, bude 3D scéna vykreslena v rozlišení Retina. Pokud dochází k potížím s výkonem, zkuste tuto volbu vypnout."
#: src/libslic3r/PrintConfig.cpp:1696
msgid "If enabled, the skirt will be as tall as a highest printed object. This is useful to protect an ABS or ASA print from warping and detaching from print bed due to wind draft."
msgstr "Pokud je tato možnost povolena, bude obrys (skirt) stejně vysoký jako nejvyšší tištěný objekt. To je užitečné k ochraně modelu při tisku z ABS nebo ASA před deformací a odlepením od tiskové podložky v důsledku průvanu."
#: src/libslic3r/PrintConfig.cpp:1858
msgid "If enabled, the wipe tower will not be printed on layers with no toolchanges. On layers with a toolchange, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print."
msgstr "Pokud je tato možnost povolena, nebude čistící věž vytištěna ve vrstvách bez změny barvy. U vrstev s výměnou sjede extruder směrem dolů a vytiskne vrstvu čistící věže. Uživatel je odpovědný za to, že nedojde ke kolizi tiskové hlavy s tiskem."
@ -5944,9 +5980,9 @@ msgstr "Odebrat označené body"
msgid "Remove the selected object"
msgstr "Odstranit vybraný objekt"
#: src/slic3r/GUI/ConfigWizard.cpp:438
msgid "Remove user profiles - install from scratch (a snapshot will be taken beforehand)"
msgstr "Odstranit uživatelské profily - čistá instalace (nejprve bude provedena záloha)"
#: src/slic3r/GUI/ConfigWizard.cpp:453
msgid "Remove user profiles (a snapshot will be taken beforehand)"
msgstr "Odstranit uživatelské profily (předtím bude proveden snapshot)"
#: src/slic3r/GUI/GUI_ObjectList.cpp:1636
msgid "Rename"
@ -7692,6 +7728,14 @@ msgstr "První vrstva bude v rovině XY zmenšena nakonfigurovanou hodnotou, kte
msgid "the following characters are not allowed:"
msgstr "následující znaky nejsou povolené:"
#: src/slic3r/GUI/ConfigWizard.cpp:1830
msgid "The following FFF printer models have no filament selected:"
msgstr "Následující modely FFF tiskáren nemají vybraný filament:"
#: src/slic3r/GUI/ConfigWizard.cpp:1848
msgid "The following SLA printer models have no materials selected:"
msgstr "Následující modely SLA tiskáren nemají vybrané žádné materiály:"
#: src/slic3r/GUI/Tab.cpp:3461
msgid "the following suffix is not allowed:"
msgstr "následující přípona není povolená:"
@ -9047,14 +9091,6 @@ msgstr "Nelze načíst SLA projekt s objektem na podložce, který je složený
msgid "You cannot use non-uniform scaling mode for multiple objects/parts selection"
msgstr "Nemůžete použít nestejnoměrnou změnu měřítka pro více vybraných objektů/částí"
#: src/slic3r/GUI/ConfigWizard.cpp:1760
msgid "You have to select at least one filament for selected printers"
msgstr "Pro vybrané tiskárny musíte vybrat alespoň jeden filament"
#: src/slic3r/GUI/ConfigWizard.cpp:1771
msgid "You have to select at least one material for selected printers"
msgstr "Pro vybrané tiskárny musíte vybrat alespoň jeden materiál"
#: src/slic3r/GUI/GLCanvas3DManager.cpp:287
msgid "You may need to update your graphics card driver."
msgstr "Možná budete muset aktualizovat ovladač grafické karty."

View File

@ -1088,6 +1088,32 @@ msgstr "Abbrechen..."
msgid "Cannot calculate extrusion width for %1%: Variable \"%2%\" not accessible."
msgstr "Kann die Extrusionsbreite für %1% nicht berechnen: Variable \"%2%\" nicht zugänglich."
#: src/slic3r/GUI/GUI_ObjectList.cpp:3017
msgid ""
"Cannot insert a new layer range after the current layer range.\n"
"Current layer range overlaps with the next layer range."
msgstr ""
"Es kann kein neuer Schichtenbereich nach dem aktuellen Schichtenbereich eingefügt werden.\n"
"Der aktuelle Schichtenbereich überschneidet sich mit dem nächsten Schichtenbereich."
#: src/slic3r/GUI/GUI_ObjectList.cpp:3008
msgid ""
"Cannot insert a new layer range after the current layer range.\n"
"The next layer range is too thin to be split to two\n"
"without violating the minimum layer height."
msgstr ""
"Es kann kein neuer Schichtenbereich nach dem aktuellen Schichtenbereich eingefügt werden.\n"
"Der nächste Schichtenbereich ist zu schmal, um auf zwei Schichten aufgeteilt zu werden ohne die Mindestschichthöhe zu verletzen."
#: src/slic3r/GUI/GUI_ObjectList.cpp:3012
msgid ""
"Cannot insert a new layer range between the current and the next layer range.\n"
"The gap between the current layer range and the next layer range\n"
"is thinner than the minimum layer height allowed."
msgstr ""
"Es kann kein neuer Schichtenbereich zwischen dem aktuellen und dem nächsten Schichtenbereich eingefügt werden.\n"
"Die Lücke zwischen dem aktuellen und dem nächsten Schichtenbereich ist ist schmaler als die minimal zulässige Schichthöhe."
#: src/slic3r/GUI/Tab.cpp:3073
msgid "Cannot overwrite a system profile."
msgstr "Systemprofil kann nicht überschrieben werden."
@ -2028,14 +2054,6 @@ msgstr ""
"Wählen Sie JA, wenn Sie diesen Wert auf %s%% ändern möchten, \n"
"oder NEIN, wenn Sie sicher sind, dass %s %s ein korrekter Wert ist."
#: src/slic3r/GUI/ConfigWizard.cpp:1761
msgid "Do you want to automatic select default filaments?"
msgstr "Möchten Sie die Standardfilamente automatisch auswählen?"
#: src/slic3r/GUI/ConfigWizard.cpp:1772
msgid "Do you want to automatic select default materials?"
msgstr "Möchten Sie automatisch Standardmaterialien auswählen?"
#: src/slic3r/GUI/DoubleSlider.cpp:1920
msgid "Do you want to delete all saved tool changes?"
msgstr "Möchten Sie alle gespeicherten Werkzeugänderungen löschen?"
@ -2052,6 +2070,14 @@ msgstr "Möchten Sie es erneut versuchen"
msgid "Do you want to save your manually edited support points?"
msgstr "Möchten Sie Ihre manuell bearbeiteten Stützpunkte speichern?"
#: src/slic3r/GUI/ConfigWizard.cpp:1834
msgid "Do you want to select default filaments for these FFF printer models?"
msgstr "Möchten Sie Standardfilamente für diese FFF-Druckermodelle auswählen?"
#: src/slic3r/GUI/ConfigWizard.cpp:1852
msgid "Do you want to select default SLA materials for these printer models?"
msgstr "Möchten Sie Standard-SLA-Materialien für diese Druckermodelle auswählen?"
#: src/libslic3r/PrintConfig.cpp:3429
msgid "Don't arrange"
msgstr "Nicht Anordnen"
@ -2068,6 +2094,10 @@ msgstr "Brücken nicht unterstützen"
msgid "Downgrade"
msgstr "Downgrade"
#: src/libslic3r/PrintConfig.cpp:1695
msgid "Draft shield"
msgstr "Windschutz"
#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1365
#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1368
#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1369
@ -3446,6 +3476,10 @@ msgstr "Wenn aktiviert, lädt Slic3r Updates der eingebauten Systemvoreinstellun
msgid "If enabled, the 3D scene will be rendered in Retina resolution. If you are experiencing 3D performance problems, disabling this option may help."
msgstr "Wenn aktiviert, wird die 3D-Szene in Retina-Auflösung gerendert. Wenn Sie Probleme mit der 3D-Leistung haben, kann es hilfreich sein, diese Option zu deaktivieren."
#: src/libslic3r/PrintConfig.cpp:1696
msgid "If enabled, the skirt will be as tall as a highest printed object. This is useful to protect an ABS or ASA print from warping and detaching from print bed due to wind draft."
msgstr "Wenn diese Option aktiviert ist, wird die Schürze so hoch wie das höchste gedruckte Objekt sein. Dies ist nützlich, um einen ABS- oder ASA-Druck vor dem Verziehen und Ablösen vom Druckbett aufgrund von Zugluft zu schützen."
#: src/libslic3r/PrintConfig.cpp:1858
msgid "If enabled, the wipe tower will not be printed on layers with no toolchanges. On layers with a toolchange, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print."
msgstr "Wenn aktiviert, wird der Reinigungsturm nicht auf Schichten ohne Werkzeugwechsel gedruckt. Bei Schichten mit Werkzeugwechsel fährt der Extruder nach unten, um den Reinigungsturm zu drucken. Der Benutzer ist dafür verantwortlich, dass es nicht zu einer Kollision mit dem Druck kommt."
@ -5935,9 +5969,9 @@ msgstr "Ausgewählte Punkte entfernen"
msgid "Remove the selected object"
msgstr "Ausgewähltes Objekt entfernen"
#: src/slic3r/GUI/ConfigWizard.cpp:438
msgid "Remove user profiles - install from scratch (a snapshot will be taken beforehand)"
msgstr "Benutzerprofile entfernen - von Grund auf neu installieren (eine Momentaufnahme wird vorab erstellt)"
#: src/slic3r/GUI/ConfigWizard.cpp:453
msgid "Remove user profiles (a snapshot will be taken beforehand)"
msgstr "Benutzerprofile entfernen (eine Momentaufnahme wird vorab erstellt)"
#: src/slic3r/GUI/GUI_ObjectList.cpp:1636
msgid "Rename"
@ -7686,6 +7720,14 @@ msgstr "Die erste Schicht wird in der XY-Ebene um den vorgegebenen Wert verklein
msgid "the following characters are not allowed:"
msgstr "die folgenden Zeichen sind nicht erlaubt:"
#: src/slic3r/GUI/ConfigWizard.cpp:1830
msgid "The following FFF printer models have no filament selected:"
msgstr "Bei den folgenden FFF-Druckermodellen wurde kein Filament ausgewählt:"
#: src/slic3r/GUI/ConfigWizard.cpp:1848
msgid "The following SLA printer models have no materials selected:"
msgstr "Bei den folgenden SLA-Druckermodellen wurden keine Materialien ausgewählt:"
#: src/slic3r/GUI/Tab.cpp:3461
msgid "the following suffix is not allowed:"
msgstr "das folgenden Suffix ist nicht erlaubt:"
@ -9036,14 +9078,6 @@ msgstr "Sie können kein SLA-Projekt mit einem mehrteiligen Objekt auf das Druck
msgid "You cannot use non-uniform scaling mode for multiple objects/parts selection"
msgstr "Sie können den nichtgleichmäßigen Skalierungsmodus nicht für mehrere Objekte/Teileauswahlen verwenden"
#: src/slic3r/GUI/ConfigWizard.cpp:1760
msgid "You have to select at least one filament for selected printers"
msgstr "Sie müssen mindestens ein Filament für die ausgewählten Drucker auswählen"
#: src/slic3r/GUI/ConfigWizard.cpp:1771
msgid "You have to select at least one material for selected printers"
msgstr "Sie müssen mindestens ein Material für die ausgewählten Drucker auswählen"
#: src/slic3r/GUI/GLCanvas3DManager.cpp:287
msgid "You may need to update your graphics card driver."
msgstr "Möglicherweise müssen Sie Ihren Grafikkartentreiber aktualisieren."

View File

@ -1092,6 +1092,34 @@ msgstr "Cancelando..."
msgid "Cannot calculate extrusion width for %1%: Variable \"%2%\" not accessible."
msgstr "No se puede calcular el ancho de extrusión para %1%: Variable \"%2%\" no accesible."
#: src/slic3r/GUI/GUI_ObjectList.cpp:3017
msgid ""
"Cannot insert a new layer range after the current layer range.\n"
"Current layer range overlaps with the next layer range."
msgstr ""
"No se puede insertar un nuevo rango de capas después del rango de capa actual.\n"
"El rango de capa actual se superpone con el siguiente rango de capa."
#: src/slic3r/GUI/GUI_ObjectList.cpp:3008
msgid ""
"Cannot insert a new layer range after the current layer range.\n"
"The next layer range is too thin to be split to two\n"
"without violating the minimum layer height."
msgstr ""
"No se puede insertar un nuevo rango de capas después del rango de capa actual.\n"
"El siguiente rango de capa es demasiado delgado para dividirse en dos\n"
"sin violar la altura mínima de la capa."
#: src/slic3r/GUI/GUI_ObjectList.cpp:3012
msgid ""
"Cannot insert a new layer range between the current and the next layer range.\n"
"The gap between the current layer range and the next layer range\n"
"is thinner than the minimum layer height allowed."
msgstr ""
"No se puede insertar un nuevo rango de capas entre el rango de capa actual y el siguiente.\n"
"La brecha entre el rango de capa actual y el siguiente rango de capa\n"
"es más delgada que la altura mínima de capa permitida."
#: src/slic3r/GUI/Tab.cpp:3073
msgid "Cannot overwrite a system profile."
msgstr "No se puede sobre-escribir un perfil del sistema."
@ -2032,14 +2060,6 @@ msgstr ""
"Escoge SI si deseas cambiar este valor a %s%%,\n"
"o NO si estás seguro que %s %s es el valor correcto."
#: src/slic3r/GUI/ConfigWizard.cpp:1761
msgid "Do you want to automatic select default filaments?"
msgstr "¿Deseas seleccionar automáticamente filamentos predeterminados?"
#: src/slic3r/GUI/ConfigWizard.cpp:1772
msgid "Do you want to automatic select default materials?"
msgstr "¿Deseas seleccionar automáticamente materiales predeterminados?"
#: src/slic3r/GUI/DoubleSlider.cpp:1920
msgid "Do you want to delete all saved tool changes?"
msgstr "¿Desea eliminar todos los cambios de herramienta guardados?"
@ -2056,6 +2076,14 @@ msgstr "Quieres volver a intentarlo"
msgid "Do you want to save your manually edited support points?"
msgstr "¿Deseas guardar tus puntos de soporte editados manualmente?"
#: src/slic3r/GUI/ConfigWizard.cpp:1834
msgid "Do you want to select default filaments for these FFF printer models?"
msgstr "¿Desea seleccionar filamentos predeterminados para estos modelos de impresoras FFF?"
#: src/slic3r/GUI/ConfigWizard.cpp:1852
msgid "Do you want to select default SLA materials for these printer models?"
msgstr "¿Desea seleccionar materiales SLA predeterminados para estos modelos de impresora?"
#: src/libslic3r/PrintConfig.cpp:3429
msgid "Don't arrange"
msgstr "No organizar"
@ -2072,6 +2100,10 @@ msgstr "No soportar puentes"
msgid "Downgrade"
msgstr "Volver a una versión anterior"
#: src/libslic3r/PrintConfig.cpp:1695
msgid "Draft shield"
msgstr "Escudo de protección"
#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1365
#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1368
#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1369
@ -3450,6 +3482,10 @@ msgstr "Si está activado, Slic3r descargará actualizaciones de los ajustes del
msgid "If enabled, the 3D scene will be rendered in Retina resolution. If you are experiencing 3D performance problems, disabling this option may help."
msgstr "Si está activado, la escena 3D se mostrará en resolución Retina. Si tienes problemas de prestaciones 3D, desactivar esta opción te puede ayudar."
#: src/libslic3r/PrintConfig.cpp:1696
msgid "If enabled, the skirt will be as tall as a highest printed object. This is useful to protect an ABS or ASA print from warping and detaching from print bed due to wind draft."
msgstr "Si está habilitado, la falda será tan alta como un objeto impreso más alto. Esto es útil para proteger una impresión ABS o ASA de la deformación y la separación de la cama de impresión debido al viento."
#: src/libslic3r/PrintConfig.cpp:1858
msgid "If enabled, the wipe tower will not be printed on layers with no toolchanges. On layers with a toolchange, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print."
msgstr "Si está habilitado, laTorre de Limpieza no se imprimirá en capas sin cambios de herramientas. En capas con cambio de herramienta, el extrusor viajará hacia abajo para imprimir la torre de limpieza. El usuario es responsable de garantizar que no haya colisión con la impresión."
@ -5941,9 +5977,9 @@ msgstr "Eliminar puntos seleccionados"
msgid "Remove the selected object"
msgstr "Eliminar el objeto seleccionado"
#: src/slic3r/GUI/ConfigWizard.cpp:438
msgid "Remove user profiles - install from scratch (a snapshot will be taken beforehand)"
msgstr "Eliminar perfiles de usuario - instalar desde cero (se realizará una instantánea con anterioridad)"
#: src/slic3r/GUI/ConfigWizard.cpp:453
msgid "Remove user profiles (a snapshot will be taken beforehand)"
msgstr "Eliminar perfiles de usuario (se tomará una instantánea de antemano)"
#: src/slic3r/GUI/GUI_ObjectList.cpp:1636
msgid "Rename"
@ -7691,6 +7727,14 @@ msgstr "La primera capa se contraerá en el plano XY por el valor configurado pa
msgid "the following characters are not allowed:"
msgstr "los siguientes caracteres no están permitidos:"
#: src/slic3r/GUI/ConfigWizard.cpp:1830
msgid "The following FFF printer models have no filament selected:"
msgstr "Los siguientes modelos de impresoras FFF no tienen filamento seleccionado:"
#: src/slic3r/GUI/ConfigWizard.cpp:1848
msgid "The following SLA printer models have no materials selected:"
msgstr "Los siguientes modelos de impresoras SLA no tienen filamento seleccionado:"
#: src/slic3r/GUI/Tab.cpp:3461
msgid "the following suffix is not allowed:"
msgstr "el siguiente sufijo no está permitido:"
@ -9035,14 +9079,6 @@ msgstr "No puedes cargar un proyecto SLA con varias piezas en la base"
msgid "You cannot use non-uniform scaling mode for multiple objects/parts selection"
msgstr "No puedes usar el modo de escala no uniforme para la selección de múltiples objetos/partes"
#: src/slic3r/GUI/ConfigWizard.cpp:1760
msgid "You have to select at least one filament for selected printers"
msgstr "Debes seleccionar al menos un filamento para las impresoras seleccionadas"
#: src/slic3r/GUI/ConfigWizard.cpp:1771
msgid "You have to select at least one material for selected printers"
msgstr "Debes seleccionar al menos un material para las impresoras seleccionadas"
#: src/slic3r/GUI/GLCanvas3DManager.cpp:287
msgid "You may need to update your graphics card driver."
msgstr "Puede que necesites actualizar tu tarjeta de gráficos."

View File

@ -1092,6 +1092,32 @@ msgstr "Annulation..."
msgid "Cannot calculate extrusion width for %1%: Variable \"%2%\" not accessible."
msgstr "Impossible de calculer la largeur d'extrusion pour %1% : la variable \"%2%\" n'est pas accessible."
#: src/slic3r/GUI/GUI_ObjectList.cpp:3017
msgid ""
"Cannot insert a new layer range after the current layer range.\n"
"Current layer range overlaps with the next layer range."
msgstr ""
"Impossible d'insérer une nouvelle zone de couche après la zone de couche actuelle.\n"
"La zone de couche actuelle chevauche la prochaine zone de couche."
#: src/slic3r/GUI/GUI_ObjectList.cpp:3008
msgid ""
"Cannot insert a new layer range after the current layer range.\n"
"The next layer range is too thin to be split to two\n"
"without violating the minimum layer height."
msgstr ""
"Impossible d'insérer une nouvelle zone de couche après la zone de couche actuelle.\n"
"La zone de couche suivante est trop fine pour être séparée en deux sans enfreindre la hauteur de couche minimum."
#: src/slic3r/GUI/GUI_ObjectList.cpp:3012
msgid ""
"Cannot insert a new layer range between the current and the next layer range.\n"
"The gap between the current layer range and the next layer range\n"
"is thinner than the minimum layer height allowed."
msgstr ""
"Impossible d'insérer une nouvelle zone de couche entre l'actuelle et la prochaine.\n"
"L'espace entre la zone de couche actuelle et la prochaine est inférieur à la hauteur de couche minimum autorisée."
#: src/slic3r/GUI/Tab.cpp:3073
msgid "Cannot overwrite a system profile."
msgstr "Impossible d'écraser un profil système."
@ -2032,14 +2058,6 @@ msgstr ""
"Sélectionnez OUI si vous voulez changer cette valeur pour %s%%,\n"
"ou NON si vous êtes certain que %s%s est une valeur correcte."
#: src/slic3r/GUI/ConfigWizard.cpp:1761
msgid "Do you want to automatic select default filaments?"
msgstr "Voulez-vous sélectionner automatiquement les filaments par défaut ?"
#: src/slic3r/GUI/ConfigWizard.cpp:1772
msgid "Do you want to automatic select default materials?"
msgstr "Voulez-vous sélectionner automatiquement les matériaux par défaut ?"
#: src/slic3r/GUI/DoubleSlider.cpp:1920
msgid "Do you want to delete all saved tool changes?"
msgstr "Voulez-vous supprimer tous les changements d'outils enregistrés ?"
@ -2056,6 +2074,14 @@ msgstr "Voulez-vous réessayer"
msgid "Do you want to save your manually edited support points?"
msgstr "Voulez-vous sauvegarder vos points de support édités manuellement ?"
#: src/slic3r/GUI/ConfigWizard.cpp:1834
msgid "Do you want to select default filaments for these FFF printer models?"
msgstr "Voulez-vous sélectionner les filaments par défaut pour ces modèles d'imprimantes FFF ?"
#: src/slic3r/GUI/ConfigWizard.cpp:1852
msgid "Do you want to select default SLA materials for these printer models?"
msgstr "Voulez-vous sélectionner les matériaux SLA par défaut pour ces modèles d'imprimantes ?"
#: src/libslic3r/PrintConfig.cpp:3429
msgid "Don't arrange"
msgstr "Ne pas agencer"
@ -2072,6 +2098,10 @@ msgstr "Ne pas supporter les ponts"
msgid "Downgrade"
msgstr "Rétrograder"
#: src/libslic3r/PrintConfig.cpp:1695
msgid "Draft shield"
msgstr "Bouclier contre les flux d'air"
#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1365
#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1368
#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1369
@ -3454,6 +3484,10 @@ msgstr "Si activé, Slic3r télécharge les mises à jours des préréglages sys
msgid "If enabled, the 3D scene will be rendered in Retina resolution. If you are experiencing 3D performance problems, disabling this option may help."
msgstr "Si ceci est activé, la scène 3D sera affichée avec la résolution Retina. Si vous rencontrez des problèmes de performance 3D, le fait de désactiver cette option vous aidera peut-être."
#: src/libslic3r/PrintConfig.cpp:1696
msgid "If enabled, the skirt will be as tall as a highest printed object. This is useful to protect an ABS or ASA print from warping and detaching from print bed due to wind draft."
msgstr "Si elle est activée, la jupe sera aussi haute que l'objet imprimé le plus haut. Cela sert à protéger les impressions ABS ou ASA des phénomènes de déformation ou de décollement du plateau d'impression liés au flux d'air."
#: src/libslic3r/PrintConfig.cpp:1858
msgid "If enabled, the wipe tower will not be printed on layers with no toolchanges. On layers with a toolchange, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print."
msgstr "Si elle est activée, la tour de nettoyage ne sera pas imprimée sur des couches sans changement d'outil. Sur les couches avec un changement d'outil, l'extrudeur se déplacera vers le bas pour imprimer la tour de nettoyage. C'est à l'utilisateur de s'assurer qu'il n'y a pas de collision avec l'impression."
@ -5947,9 +5981,9 @@ msgstr "Retirer les points sélectionnés"
msgid "Remove the selected object"
msgstr "Retirer l'objet sélectionné"
#: src/slic3r/GUI/ConfigWizard.cpp:438
msgid "Remove user profiles - install from scratch (a snapshot will be taken beforehand)"
msgstr "Supprimer les profils d'utilisateur - installation à partir de zéro (un instantané des réglages sera pris)"
#: src/slic3r/GUI/ConfigWizard.cpp:453
msgid "Remove user profiles (a snapshot will be taken beforehand)"
msgstr "Supprimer les profils utilisateurs (un instantané sera pris au préalable)"
#: src/slic3r/GUI/GUI_ObjectList.cpp:1636
msgid "Rename"
@ -7696,6 +7730,14 @@ msgstr "La première couche sera réduite sur le plan XY selon la valeur configu
msgid "the following characters are not allowed:"
msgstr "les caractères suivant ne sont pas autorisés :"
#: src/slic3r/GUI/ConfigWizard.cpp:1830
msgid "The following FFF printer models have no filament selected:"
msgstr "Les modèles d'imprimantes FFF suivants n'ont aucun filament sélectionné :"
#: src/slic3r/GUI/ConfigWizard.cpp:1848
msgid "The following SLA printer models have no materials selected:"
msgstr "Les modèles d'imprimantes SLA suivants n'ont aucun matériau sélectionné :"
#: src/slic3r/GUI/Tab.cpp:3461
msgid "the following suffix is not allowed:"
msgstr "le suffixe suivant n'est pas autorisé :"
@ -9049,14 +9091,6 @@ msgstr "Vous ne pouvez pas charger un projet SLA avec un objet en plusieurs part
msgid "You cannot use non-uniform scaling mode for multiple objects/parts selection"
msgstr "Vous ne pouvez pas utiliser un mode de redimensionnement non-uniforme pour une sélection d'objets/de parties multiples"
#: src/slic3r/GUI/ConfigWizard.cpp:1760
msgid "You have to select at least one filament for selected printers"
msgstr "Vous devez sélectionner au moins un filament pour les imprimantes sélectionnées"
#: src/slic3r/GUI/ConfigWizard.cpp:1771
msgid "You have to select at least one material for selected printers"
msgstr "Vous devez sélectionner au moins un matériau pour les imprimantes sélectionnées"
#: src/slic3r/GUI/GLCanvas3DManager.cpp:287
msgid "You may need to update your graphics card driver."
msgstr "Vous avez peut-être besoin de mettre à jour le pilote de votre carte graphique."

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1092,6 +1092,34 @@ msgstr "Anulowanie..."
msgid "Cannot calculate extrusion width for %1%: Variable \"%2%\" not accessible."
msgstr "Nie można przeliczyć szerokości ekstruzji dla %1%: zmienna \"%2%\" jest niedostępna."
#: src/slic3r/GUI/GUI_ObjectList.cpp:3017
msgid ""
"Cannot insert a new layer range after the current layer range.\n"
"Current layer range overlaps with the next layer range."
msgstr ""
"Nie można wstawić nowego zakresu wysokości po obecnym.\n"
"Zakres pokrywałby się z kolejnym."
#: src/slic3r/GUI/GUI_ObjectList.cpp:3008
msgid ""
"Cannot insert a new layer range after the current layer range.\n"
"The next layer range is too thin to be split to two\n"
"without violating the minimum layer height."
msgstr ""
"Nie można wstawić nowego zakresu wysokości po obecnym.\n"
"Kolejny zakres jest zbyt niski, aby można było go podzielić\n"
"z powodu minimalnej grubości warstwy."
#: src/slic3r/GUI/GUI_ObjectList.cpp:3012
msgid ""
"Cannot insert a new layer range between the current and the next layer range.\n"
"The gap between the current layer range and the next layer range\n"
"is thinner than the minimum layer height allowed."
msgstr ""
"Nie można wstawić nowego zakresu wysokości pomiędzy obecne.\n"
"Odstęp pomiędzy zakresami jest niższy \n"
"niż dozwolona minimalna wysokość warstwy."
#: src/slic3r/GUI/Tab.cpp:3073
msgid "Cannot overwrite a system profile."
msgstr "Nie można nadpisać profilu systemowego."
@ -2032,14 +2060,6 @@ msgstr ""
"Kliknij TAK, jeśli chcesz zmienić wartość na %s %%,\n"
"lub NIE, jeśli masz pewność, że %s %s jest prawidłową wartością."
#: src/slic3r/GUI/ConfigWizard.cpp:1761
msgid "Do you want to automatic select default filaments?"
msgstr "Czy chcesz automatycznie wybrać domyślne filamenty?"
#: src/slic3r/GUI/ConfigWizard.cpp:1772
msgid "Do you want to automatic select default materials?"
msgstr "Czy chcesz automatycznie wybrać domyślne materiały?"
#: src/slic3r/GUI/DoubleSlider.cpp:1920
msgid "Do you want to delete all saved tool changes?"
msgstr "Czy chcesz usunąć wszystkie zmiany narzędzi?"
@ -2056,6 +2076,14 @@ msgstr "Czy chcesz spróbować ponownie"
msgid "Do you want to save your manually edited support points?"
msgstr "Czy chcesz zapisać ręcznie edytowane punkty podpór?"
#: src/slic3r/GUI/ConfigWizard.cpp:1834
msgid "Do you want to select default filaments for these FFF printer models?"
msgstr "Czy chcesz ustawić domyślne filamenty dla tych modeli drukarek FFF?"
#: src/slic3r/GUI/ConfigWizard.cpp:1852
msgid "Do you want to select default SLA materials for these printer models?"
msgstr "Czy chcesz ustawić domyślne materiały SLA dla tych modeli drukarek?"
#: src/libslic3r/PrintConfig.cpp:3429
msgid "Don't arrange"
msgstr "Nie układaj"
@ -2072,6 +2100,10 @@ msgstr "Nie używaj podpór pod mostami"
msgid "Downgrade"
msgstr "Deaktualizacja"
#: src/libslic3r/PrintConfig.cpp:1695
msgid "Draft shield"
msgstr "Draft shield"
#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1365
#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1368
#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1369
@ -3450,6 +3482,10 @@ msgstr "Włączenie powoduje pobieranie wbudowanych systemowych zestawów ustawi
msgid "If enabled, the 3D scene will be rendered in Retina resolution. If you are experiencing 3D performance problems, disabling this option may help."
msgstr "Po włączeniu podgląd 3D będzie renderowany w rozdzielczości Retina. Wyłącz tę opcję w przypadku wystąpienia problemów z wydajnością 3D."
#: src/libslic3r/PrintConfig.cpp:1696
msgid "If enabled, the skirt will be as tall as a highest printed object. This is useful to protect an ABS or ASA print from warping and detaching from print bed due to wind draft."
msgstr "Po włączeniu, wysokość skirt będzie taka sama, jak najwyższego modelu. Przydaje się podczas druku z ABS lub ASA - chroni wydruk przed podwijaniem się i odklejaniem od stołu przez przeciąg."
#: src/libslic3r/PrintConfig.cpp:1858
msgid "If enabled, the wipe tower will not be printed on layers with no toolchanges. On layers with a toolchange, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print."
msgstr "Po włączeniu wieża czyszcząca nie będzie drukowana na warstwach, na których nie ma zmian koloru. Na kolejnych warstwach ze zmianami koloru ekstruder zjedzie w dół, aby kontynuować czyszczenie na wieży. Użytkownik musi upewnić się, że nie nastąpi kolizja głowicy z wydrukiem."
@ -4029,7 +4065,7 @@ msgstr "Wczytaj kształt z STL..."
#: src/slic3r/GUI/BedShapeDialog.cpp:182 src/slic3r/GUI/BedShapeDialog.cpp:261
msgid "Load..."
msgstr "Załaduje..."
msgstr "Otwórz..."
#: src/slic3r/GUI/WipeTowerDialog.cpp:264
msgid "loaded"
@ -5895,7 +5931,7 @@ msgstr "Niższa szczegółowość"
#: src/slic3r/GUI/Plater.cpp:879
msgid "Remove device"
msgstr "Usuń urządzenie"
msgstr "Odłącz urządzenie"
#: src/slic3r/GUI/ExtruderSequenceDialog.cpp:182
msgid "Remove extruder from sequence"
@ -5942,9 +5978,9 @@ msgstr "Usuń zaznaczone punkty"
msgid "Remove the selected object"
msgstr "Usuń wybrany model"
#: src/slic3r/GUI/ConfigWizard.cpp:438
msgid "Remove user profiles - install from scratch (a snapshot will be taken beforehand)"
msgstr "Usuń profile użytkownika - czysta instalacja (najpierw zostanie wykonany zrzut)"
#: src/slic3r/GUI/ConfigWizard.cpp:453
msgid "Remove user profiles (a snapshot will be taken beforehand)"
msgstr "Usuń profile użytkownika (zostanie wykonany zrzut)"
#: src/slic3r/GUI/GUI_ObjectList.cpp:1636
msgid "Rename"
@ -7691,6 +7727,14 @@ msgstr "Pierwsza warstwa zostanie zmniejszona o tą wartość w osiach X i Y aby
msgid "the following characters are not allowed:"
msgstr "następujące znaki nie są dozwolone:"
#: src/slic3r/GUI/ConfigWizard.cpp:1830
msgid "The following FFF printer models have no filament selected:"
msgstr "Następujące modele drukarek FFF nie mają przypisanych filamentów:"
#: src/slic3r/GUI/ConfigWizard.cpp:1848
msgid "The following SLA printer models have no materials selected:"
msgstr "Następujące modele drukarek SLA nie mają przypisanych materiałów:"
#: src/slic3r/GUI/Tab.cpp:3461
msgid "the following suffix is not allowed:"
msgstr "następujący sufiks nie jest dozwolony:"
@ -9044,14 +9088,6 @@ msgstr "Nie możesz wczytać projektu SLA mając na stole wieloczęściowy model
msgid "You cannot use non-uniform scaling mode for multiple objects/parts selection"
msgstr "Nie możesz używać skalowania nierównomiernego dla kliku modeli/części"
#: src/slic3r/GUI/ConfigWizard.cpp:1760
msgid "You have to select at least one filament for selected printers"
msgstr "Musisz wybrać co najmniej jeden filament dla zaznaczonych drukarek"
#: src/slic3r/GUI/ConfigWizard.cpp:1771
msgid "You have to select at least one material for selected printers"
msgstr "Musisz wybrać co najmniej jeden materiał dla zaznaczonych drukarek"
#: src/slic3r/GUI/GLCanvas3DManager.cpp:287
msgid "You may need to update your graphics card driver."
msgstr "Może być wymagana aktualizacja sterowników karty graficznej."

View File

@ -43,7 +43,10 @@ protected:
Placer p{bin};
p.configure(pcfg);
if (itm.area() <= 0 || !p.pack(cpy)) it = c.erase(it);
if (itm.area() <= 0 || !p.pack(cpy)) {
static_cast<Item&>(*it).binId(BIN_ID_UNSET);
it = c.erase(it);
}
else it++;
}
}

View File

@ -577,7 +577,7 @@ void _arrange(
std::function<bool()> stopfn)
{
// Integer ceiling the min distance from the bed perimeters
coord_t md = minobjd - 2 * scaled(0.1 + EPSILON);
coord_t md = minobjd;
md = (md % 2) ? md / 2 + 1 : md / 2;
auto corrected_bin = bin;

View File

@ -2880,11 +2880,12 @@ std::string GCode::extrude_path(ExtrusionPath path, std::string description, dou
std::string GCode::extrude_perimeters(const Print &print, const std::vector<ObjectByExtruder::Island::Region> &by_region, std::unique_ptr<EdgeGrid::Grid> &lower_layer_edge_grid)
{
std::string gcode;
for (const ObjectByExtruder::Island::Region &region : by_region) {
m_config.apply(print.regions()[&region - &by_region.front()]->config());
for (const ExtrusionEntity *ee : region.perimeters)
gcode += this->extrude_entity(*ee, "perimeter", -1., &lower_layer_edge_grid);
}
for (const ObjectByExtruder::Island::Region &region : by_region)
if (! region.perimeters.empty()) {
m_config.apply(print.regions()[&region - &by_region.front()]->config());
for (const ExtrusionEntity *ee : region.perimeters)
gcode += this->extrude_entity(*ee, "perimeter", -1., &lower_layer_edge_grid);
}
return gcode;
}
@ -2892,19 +2893,20 @@ std::string GCode::extrude_perimeters(const Print &print, const std::vector<Obje
std::string GCode::extrude_infill(const Print &print, const std::vector<ObjectByExtruder::Island::Region> &by_region)
{
std::string gcode;
for (const ObjectByExtruder::Island::Region &region : by_region) {
m_config.apply(print.regions()[&region - &by_region.front()]->config());
ExtrusionEntitiesPtr extrusions { region.infills };
chain_and_reorder_extrusion_entities(extrusions, &m_last_pos);
for (const ExtrusionEntity *fill : extrusions) {
auto *eec = dynamic_cast<const ExtrusionEntityCollection*>(fill);
if (eec) {
for (ExtrusionEntity *ee : eec->chained_path_from(m_last_pos).entities)
gcode += this->extrude_entity(*ee, "infill");
} else
gcode += this->extrude_entity(*fill, "infill");
for (const ObjectByExtruder::Island::Region &region : by_region)
if (! region.infills.empty()) {
m_config.apply(print.regions()[&region - &by_region.front()]->config());
ExtrusionEntitiesPtr extrusions { region.infills };
chain_and_reorder_extrusion_entities(extrusions, &m_last_pos);
for (const ExtrusionEntity *fill : extrusions) {
auto *eec = dynamic_cast<const ExtrusionEntityCollection*>(fill);
if (eec) {
for (ExtrusionEntity *ee : eec->chained_path_from(m_last_pos).entities)
gcode += this->extrude_entity(*ee, "infill");
} else
gcode += this->extrude_entity(*fill, "infill");
}
}
}
return gcode;
}
@ -3370,17 +3372,18 @@ const std::vector<GCode::ObjectByExtruder::Island::Region>& GCode::ObjectByExtru
has_overrides = true;
break;
}
// Data is cleared, but the memory is not.
by_region_per_copy_cache.clear();
if (! has_overrides)
// Simple case. No need to copy the regions.
return this->by_region;
return wiping_entities ? by_region_per_copy_cache : this->by_region;
// Complex case. Some of the extrusions of some object instances are to be printed first - those are the wiping extrusions.
// Some of the extrusions of some object instances are printed later - those are the clean print extrusions.
// Filter out the extrusions based on the infill_overrides / perimeter_overrides:
// Data is cleared, but the memory is not.
by_region_per_copy_cache.clear();
for (const auto& reg : by_region) {
by_region_per_copy_cache.emplace_back(); // creates a region in the newly created Island
@ -3441,15 +3444,17 @@ void GCode::ObjectByExtruder::Island::Region::append(const Type type, const Extr
// First we append the entities, there are eec->entities.size() of them:
size_t old_size = perimeters_or_infills->size();
perimeters_or_infills->reserve(perimeters_or_infills->size() + eec->entities.size());
size_t new_size = old_size + eec->entities.size();
perimeters_or_infills->reserve(new_size);
for (auto* ee : eec->entities)
perimeters_or_infills->emplace_back(ee);
if (copies_extruder != nullptr) {
perimeters_or_infills_overrides->reserve(old_size + eec->entities.size());
perimeters_or_infills_overrides->resize(old_size, nullptr);
for (unsigned int i = 0; i < eec->entities.size(); ++ i)
perimeters_or_infills_overrides->emplace_back(copies_extruder);
// Don't reallocate overrides if not needed.
// Missing overrides are implicitely considered non-overridden.
perimeters_or_infills_overrides->reserve(new_size);
perimeters_or_infills_overrides->resize(old_size, nullptr);
perimeters_or_infills_overrides->resize(new_size, copies_extruder);
}
}

View File

@ -241,6 +241,7 @@ void GCodePreviewData::reset()
ranges.width.reset();
ranges.height.reset();
ranges.feedrate.reset();
ranges.fan_speed.reset();
ranges.volumetric_rate.reset();
extrusion.layers.clear();
travel.polylines.clear();

View File

@ -68,6 +68,7 @@
// Enable tooltips for GLCanvas3D using ImGUI
#define ENABLE_CANVAS_TOOLTIP_USING_IMGUI (1 && ENABLE_2_2_0_FINAL)
#define ENABLE_CANVAS_CONSTRAINED_TOOLTIP_USING_IMGUI (1 && ENABLE_2_2_0_FINAL)
#define ENABLE_CANVAS_DELAYED_TOOLTIP_USING_IMGUI (1 && ENABLE_CANVAS_TOOLTIP_USING_IMGUI)

View File

@ -1394,6 +1394,17 @@ void GLCanvas3D::Tooltip::render(const Vec2d& mouse_position, GLCanvas3D& canvas
void GLCanvas3D::Tooltip::render(const Vec2d& mouse_position) const
#endif // ENABLE_CANVAS_DELAYED_TOOLTIP_USING_IMGUI
{
#if ENABLE_CANVAS_CONSTRAINED_TOOLTIP_USING_IMGUI
static ImVec2 size(0.0f, 0.0f);
auto validate_position = [](const Vec2d& position, const GLCanvas3D& canvas, const ImVec2& wnd_size) {
Size cnv_size = canvas.get_canvas_size();
float x = std::clamp((float)position(0), 0.0f, (float)cnv_size.get_width() - wnd_size.x);
float y = std::clamp((float)position(1) + 16, 0.0f, (float)cnv_size.get_height() - wnd_size.y);
return Vec2f(x, y);
};
#endif // ENABLE_CANVAS_CONSTRAINED_TOOLTIP_USING_IMGUI
#if ENABLE_CANVAS_DELAYED_TOOLTIP_USING_IMGUI
if (m_text.empty())
return;
@ -1405,16 +1416,24 @@ void GLCanvas3D::Tooltip::render(const Vec2d& mouse_position) const
return;
#endif // ENABLE_CANVAS_DELAYED_TOOLTIP_USING_IMGUI
#if ENABLE_CANVAS_CONSTRAINED_TOOLTIP_USING_IMGUI
Vec2f position = validate_position(mouse_position, canvas, size);
#endif // ENABLE_CANVAS_CONSTRAINED_TOOLTIP_USING_IMGUI
ImGuiWrapper& imgui = *wxGetApp().imgui();
ImGui::PushStyleVar(ImGuiStyleVar_WindowRounding, 0.0f);
#if ENABLE_CANVAS_DELAYED_TOOLTIP_USING_IMGUI
ImGui::PushStyleVar(ImGuiStyleVar_Alpha, alpha);
#endif // ENABLE_CANVAS_DELAYED_TOOLTIP_USING_IMGUI
#if ENABLE_CANVAS_CONSTRAINED_TOOLTIP_USING_IMGUI
imgui.set_next_window_pos(position(0), position(1), ImGuiCond_Always, 0.0f, 0.0f);
#else
imgui.set_next_window_pos(mouse_position(0), mouse_position(1) + 16, ImGuiCond_Always, 0.0f, 0.0f);
#endif // ENABLE_CANVAS_CONSTRAINED_TOOLTIP_USING_IMGUI
imgui.begin(_(L("canvas_tooltip")), ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoMouseInputs | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoDecoration | ImGuiWindowFlags_NoFocusOnAppearing);
ImGui::BringWindowToDisplayFront(ImGui::GetCurrentWindow());
imgui.text(m_text);
ImGui::TextUnformatted(m_text.c_str());
#if ENABLE_CANVAS_DELAYED_TOOLTIP_USING_IMGUI
// force re-render while the windows gets to its final size (it may take several frames) or while hidden
@ -1422,6 +1441,10 @@ void GLCanvas3D::Tooltip::render(const Vec2d& mouse_position) const
canvas.request_extra_frame();
#endif // ENABLE_CANVAS_DELAYED_TOOLTIP_USING_IMGUI
#if ENABLE_CANVAS_CONSTRAINED_TOOLTIP_USING_IMGUI
size = ImGui::GetWindowSize();
#endif // ENABLE_CANVAS_CONSTRAINED_TOOLTIP_USING_IMGUI
imgui.end();
#if ENABLE_CANVAS_DELAYED_TOOLTIP_USING_IMGUI
ImGui::PopStyleVar(2);
@ -3788,7 +3811,7 @@ void GLCanvas3D::set_tooltip(const std::string& tooltip) const
if (m_canvas != nullptr)
{
#if ENABLE_CANVAS_TOOLTIP_USING_IMGUI
m_tooltip.set_text(std::string((_(L(tooltip))).ToUTF8()));
m_tooltip.set_text(tooltip);
#else
wxString txt = wxString::FromUTF8(tooltip.data());
if (m_canvas->GetToolTipText() != txt)

View File

@ -124,7 +124,14 @@ ObjectList::ObjectList(wxWindow* parent) :
// On Windows and Linux, forces a kill focus emulation on the object manipulator fields because this event handler is called
// before the kill focus event handler on the object manipulator when changing selection in the list, invalidating the object
// manipulator cache with the following call to selection_changed()
wxGetApp().obj_manipul()->emulate_kill_focus();
// wxGetApp().obj_manipul()->emulate_kill_focus(); // It's not necessury anymore #ys_FIXME delete after testing
// On Windows and Linux:
// It's not invoked KillFocus event for "temporary" panels (like "Manipulation panel", "Settings", "Layer ranges"),
// if we change selection in object list.
// see https://github.com/prusa3d/PrusaSlicer/issues/3303
// But, if we call SetFocus() for ObjectList it will cause an invoking of a KillFocus event for "temporary" panels
this->SetFocus();
#else
// To avoid selection update from SetSelection() and UnselectAll() under osx
if (m_prevent_list_events)
@ -3041,7 +3048,10 @@ void ObjectList::add_layer_item(const t_layer_height_range& range,
bool ObjectList::edit_layer_range(const t_layer_height_range& range, coordf_t layer_height)
{
const int obj_idx = get_selected_obj_idx();
// Use m_selected_object_id instead of get_selected_obj_idx()
// because of get_selected_obj_idx() return obj_idx for currently selected item.
// But edit_layer_range(...) function can be called, when Selection in ObjectList could be changed
const int obj_idx = m_selected_object_id ;
if (obj_idx < 0)
return false;
@ -3064,7 +3074,10 @@ bool ObjectList::edit_layer_range(const t_layer_height_range& range, coordf_t la
bool ObjectList::edit_layer_range(const t_layer_height_range& range, const t_layer_height_range& new_range, bool dont_update_ui)
{
const int obj_idx = get_selected_obj_idx();
// Use m_selected_object_id instead of get_selected_obj_idx()
// because of get_selected_obj_idx() return obj_idx for currently selected item.
// But edit_layer_range(...) function can be called, when Selection in ObjectList could be changed
const int obj_idx = m_selected_object_id;
if (obj_idx < 0) return false;
take_snapshot(_(L("Edit Height Range")));
@ -3091,10 +3104,13 @@ bool ObjectList::edit_layer_range(const t_layer_height_range& range, const t_lay
add_layer_item(r.first, root_item);
}
if (!dont_update_ui)
// if this function was invoked from wxEVT_CHANGE_SELECTION selected item could be other than itLayer or itLayerRoot
if (!dont_update_ui && (sel_type & (itLayer | itLayerRoot)))
select_item(sel_type&itLayer ? m_objects_model->GetItemByLayerRange(obj_idx, new_range) : root_item);
Expand(root_item);
m_prevent_list_events = false;
return true;
}

View File

@ -100,6 +100,7 @@ protected:
mutable std::vector<Grabber> m_grabbers;
ImGuiWrapper* m_imgui;
bool m_first_input_window_render;
mutable std::string m_tooltip;
public:
GLGizmoBase(GLCanvas3D& parent,
@ -145,7 +146,7 @@ public:
void update(const UpdateData& data);
void render() const { on_render(); }
void render() const { m_tooltip.clear(); on_render(); }
void render_for_picking() const { on_render_for_picking(); }
void render_input_window(float x, float y, float bottom_limit);

View File

@ -28,7 +28,7 @@ public:
double get_cut_z() const { return m_cut_z; }
void set_cut_z(double cut_z) const;
virtual std::string get_tooltip() const;
std::string get_tooltip() const override;
protected:
virtual bool on_init();

View File

@ -30,7 +30,7 @@ public:
const Vec3d& get_displacement() const { return m_displacement; }
virtual std::string get_tooltip() const;
std::string get_tooltip() const override;
protected:
virtual bool on_init();

View File

@ -49,7 +49,7 @@ public:
double get_angle() const { return m_angle; }
void set_angle(double angle);
virtual std::string get_tooltip() const;
std::string get_tooltip() const override;
protected:
virtual bool on_init();
@ -83,7 +83,7 @@ public:
Vec3d get_rotation() const { return Vec3d(m_gizmos[X].get_angle(), m_gizmos[Y].get_angle(), m_gizmos[Z].get_angle()); }
void set_rotation(const Vec3d& rotation) { m_gizmos[X].set_angle(rotation(0)); m_gizmos[Y].set_angle(rotation(1)); m_gizmos[Z].set_angle(rotation(2)); }
virtual std::string get_tooltip() const
std::string get_tooltip() const override
{
std::string tooltip = m_gizmos[X].get_tooltip();
if (tooltip.empty())

View File

@ -42,7 +42,7 @@ public:
const Vec3d& get_offset() const { return m_offset; }
virtual std::string get_tooltip() const;
std::string get_tooltip() const override;
protected:
virtual bool on_init();