130 Commits

Author SHA1 Message Date
YuSanka
785ad4ce95 ImguiDoubleSlider: WIP: Functions which was related to manipulate with ticks are moved into TickCodeInfo
* TickCodeInfo is renamed to TickCodesManager and moved to separate files
 * Added more callbacks to avoid use of wxWidgets
 * Added function for color picker rendering

 * For string formatting is used Slic3r::format instead of GUI::format (To avoid including wx/string)
 * All code related to DoubleSlider extracted from Slic3r name space
2024-04-24 10:54:12 +02:00
YuSanka
6b83f135c9 ImguiDoubleSlider: WIP: Slider Manager is moved to ImGuiDoubleSlider and some values and methods are renamed
+ "DoubleSlider: file is split to DoubleSliderForGcode and DoubleSliderForLayers in separate files
 + Suppress to add/delete ticks on update layers_slider from canvas when an application is a GCodeViewer
 + epsilon() is moved from DoubleSlider name space to CustomGCode
2024-04-24 10:54:12 +02:00
YuSanka
56a3740fe4 ImguiDoubleSlider: WIP: Control is split to DSManagerForGcode and DSManagerForLayers (both are derived from template class)
+ GLCanvas3D: refactoring for handle of events related to the manipulation with sliders
 + use callbacks to process navigation in sliders instead of wxEvents
2024-04-24 10:54:12 +02:00
YuSanka
6ea3dc6c27 ImguiDoubleSlider: WIP: All data, related to Slider are in ImGuiControl now
+ code cleaning to avoid of use wxWidgets to render DoubleSlider
2024-04-24 10:54:12 +02:00
YuSanka
d06ef37df9 ImguiDoubleSlider: WIP: Set scale in respect to Retina displays
+ request one more frame for redraw, if value was changed with mouse wheel
 + some code cleaning
2024-04-24 10:54:12 +02:00
YuSanka
a5322ef970 DoubleSlider: ImGui rendering (WIP) 2024-04-24 10:54:12 +02:00
enricoturri1966
539c155c59 Code cleanup and techs removal - completed 2024-03-26 14:41:55 +01:00
enricoturri1966
13f9d6f28e New gcode visualization integration - Fixed management of gcode preview view type 2024-03-26 14:15:38 +01:00
enricoturri1966
55b674ca3b Code cleanup 2024-03-26 14:15:37 +01:00
enricoturri1966
0faaf6b683 New gcode visualization integration - Do not reset visible range when toggling options/roles visibility 2024-03-26 14:12:32 +01:00
ps_copyright
f32859c302 final copyright headers 2023-09-01 14:49:07 +02:00
enricoturri1966
b809996d30 SPE-1761: Show part shells in pre-gcode preview 2023-08-21 09:42:00 +02:00
enricoturri1966
cc55bcbf5e Conflict checker: automatically set the gcode preview at the layer shown in the notification when hitting the action text in it 2023-05-31 13:34:03 +02:00
enricoturri1966
3513b800a0 Tech ENABLE_PREVIEW_LAYOUT set as default 2022-09-29 14:23:41 +02:00
enricoturri1966
5cf71bb094 Tech ENABLE_SHOW_TOOLPATHS_COG set as default 2022-07-27 15:52:40 +02:00
enricoturri1966
92aa6540f5 Tech ENABLE_SHOW_TOOLPATHS_COG - Show toolpaths center of gravity 2022-02-08 12:57:56 +01:00
enricoturri1966
c242f31353 Fixed conflicts after merge with master 2021-11-23 08:48:11 +01:00
Vojtech Bubnik
cc44089440 New BuildVolume class was created, which detects build volume type (rectangular,
circular, convex, concave) and performs efficient collision detection agains these build
volumes. As of now, collision detection is performed against a convex
hull of a concave build volume for efficency.

GCodeProcessor::Result renamed out of GCodeProcessor to GCodeProcessorResult,
so it could be forward declared.

Plater newly exports BuildVolume, not Bed3D. Bed3D is a rendering class,
while BuildVolume is a purely geometric class.

Reduced usage of global wxGetApp, the Bed3D is passed as a parameter
to View3D/Preview/GLCanvas.

Convex hull code was extracted from Geometry.cpp/hpp to Geometry/ConvexHulll.cpp,hpp.
New test inside_convex_polygon().
New efficent point inside polygon test: Decompose convex hull
to bottom / top parts and use the decomposition to detect point inside
a convex polygon in O(log n). decompose_convex_polygon_top_bottom(),
inside_convex_polygon().

New Circle constructing functions: circle_ransac() and circle_taubin_newton().

New polygon_is_convex() test with unit tests.
2021-11-16 10:15:51 +01:00
enricoturri1966
e12cf58c91 Tech ENABLE_PREVIEW_LAYOUT - Replace options combo in bottom toolbar with toolbar in legend 2021-09-24 09:22:50 +02:00
enricoturri1966
cddfc8b690 Tech ENABLE_PREVIEW_LAYOUT - A few fixes in the new legend layout 2021-09-14 10:32:17 +02:00
enricoturri1966
7f89a42be6 Tech ENABLE_PREVIEW_LAYOUT - 1st installment: move view type combo from bottom toolbar to legend 2021-09-14 08:15:47 +02:00
enricoturri1966
8bd0f8ada9 Removed duplicated method GLVolumeCollection::check_outside_state() 2021-09-10 08:27:03 +02:00
enricoturri1966
15b8e68c59 Tech ENABLE_SEAMS_VISUALIZATION set as default 2021-07-22 12:58:33 +02:00
Oleksandra Yushchenko
4652733201
MSW specific: Implementation of the own notebook control
* MSW specific: First implementation of the Notebook control to support Dark/Light color modes

* MSW specific: Set mode sizer to the Notebook control.

* MSW specific: Added icons to the Notepad control
 + There is no need to restart application after the changing of the color mode

* Fixed non-MSW build

* Updated color for SavePresetDialog
+ Added wrapper to wxMessageBox for mom-MSW platforms
2021-06-29 16:23:45 +02:00
Oleksandra Yushchenko
fd071421cb
DarkMode for MSW (#6632)
* MSW specific: Dark Mode: First implementation

* Use menu instead of NoteBook

* Implemented MessageDialog
+ Fixed DarkMode for all dialogs and ColorPicker

* MSW DarkMode: Added missed updates for the switching between modes

* MSW DarkMode: Updated all existed context menus after switching of the mode
+ Added markers for the menu item witch is related to the selected tab

* Used wxFrame instead of wxDialog for SettingsDialog
(this change allow us to use menu bar in SettingsDialog)

+ fix for #6548 - Prusa Slicer 2.3.1 not activating non-modal settings window if settings window is minimized

* Implemented "Always use Dark mode colors" preference option

* Fixes for non_MSW build

* Next fixes for non-MSW builds

* Preferences: Fixed selection of the Settings Layout for non-MSW platforms
+ Updated DarkMode for colorpickers

* Windows DarkMode next fixes

* MSWDarkMode: Suppress to use system color to the PrusaSlicer
Select "Preferences -> Use Dark color mode (experimental)" to allow dark mode for the application

* Fixed MSW build

* MSWDarkMode: Upadteed color mode for ExtruderSequenceDialog and for dialogs related to the DoubleSlider

* Implemented Auto recreation of the PrusaSlicer when color mode is changed.

* Preferences: Added option "Set settings tabs as menu items (experimental)"
2021-06-18 19:46:04 +02:00
enricoturri1966
076fdc90c0 Tech ENABLE_SEAMS_VISUALIZATION -> 1st installment of seams visualization in preview 2021-04-27 09:45:15 +02:00
YuSanka
671efb02c9 Fix of #6110 - Preview: View Menu/List placement incorrect
Use wxComboBox with wxCB_READONLY flag instead of wxChoice
2021-02-23 10:04:43 +01:00
enricoturri1966
aec39aaba6 Tech ENABLE_PREVIEW_TYPE_CHANGE set as default 2021-02-18 11:52:14 +01:00
enricoturri1966
7c3e3272aa Tech ENABLE_ARROW_KEYS_WITH_SLIDERS set as default 2021-02-17 17:21:06 +01:00
YuSanka
79b7ccbb79 OSX specific, related to the wxWidgets 3.1.4: Fixed wrong UI-scaling
(wxWidgets 3.1.4 can binding of wxEVT_DPI_CHANGED now, so it was called msw_rescale() for most of the controls redundantly)

+ Fixed update of the DoubleSlider after changing of the system color
2021-01-22 21:44:15 +01:00
enricoturri1966
f77475e501 Tech ENABLE_SHOW_WIPE_MOVES set as default 2020-12-07 10:29:50 +01:00
enricoturri1966
26982b16c7 #5080 - Reworked logic for automatic selection of current view type in preview 2020-12-04 12:31:50 +01:00
Vojtech Bubnik
89ff8eef10 Preview class refactoring: Moved initialization of member variables
to header.
2020-12-02 11:38:10 +01:00
enricoturri1966
6ae1a10614 #5333 - Reworked navigation of preview's sliders using the keyboard 2020-12-01 08:33:06 +01:00
enricoturri1966
0e6acbc0e2 Preview - Visualization of wipe mones 2020-11-21 10:36:10 +01:00
enricoturri1966
ef9cea76c2 ENABLE_GCODE_VIEWER set as default in:
GLCanvas3D hpp/cpp

GUI_Preview hpp/cpp
2020-11-19 12:29:19 +01:00
YuSanka
ea5fdcd7b1 Removed cog icon from the horizontal slider.
+ Shortcut "Shift+G" works from the Preview canvas now (not just from the focused slider as before)
2020-11-04 07:30:33 -08:00
enricoturri1966
2ecd78b0d5 Fixed crash when moving horizontal slider thumb in preview with no toolpath active 2020-10-07 13:38:21 +02:00
enricoturri1966
88457bf412 Tech ENABLE_GCODE_VIEWER_AS_STANDALONE_APPLICATION set as default 2020-09-10 08:49:50 +02:00
enricoturri1966
ab556a398b GCode viewer using the proper layout when started as a standalone application 2020-09-08 11:40:06 +02:00
enricoturri1966
e32930aa6c Code cleanup 2020-09-01 09:28:02 +02:00
enricoturri1966
eca4f0a4cd GCodeViewer -> Changed layout of sliders in preview 2020-08-19 12:59:50 +02:00
enricoturri1966
8fc5be7e4f Refactoring to allow to quickly build the various options to show the estimated printing time in gcode viewer scene 2020-08-05 15:43:46 +02:00
enricoturri1966
73b885fc37 GCodeViewer -> Added imgui dialog for estimated printing times 2020-07-08 13:33:50 +02:00
enricoturri1966
289f7a14a0 Follow-up of dc6f97a6ad473c9f137ebf30b753b298b64a9f56 -> Fixed toolpaths visualization when new slicing is required 2020-06-22 14:06:41 +02:00
enricoturri1966
2eb4b2caed Fixed conflicts after merge with master 2020-05-27 10:32:02 +02:00
Lukas Matena
cc5fe02cde Include cleanup: GUI_ObjectManipulation.hpp, GUI, GUI_Preview 2020-05-26 13:45:36 +02:00
Lukas Matena
fb9d8b2025 Include cleanup: do not include Model.hpp from 3DScene.hpp 2020-05-26 13:45:36 +02:00
enricoturri1966
053f509437 GCodeViewer -> Fixed visibility of bottom toolbar 2020-05-19 10:04:14 +02:00
enricoturri1966
163fbec8c8 GCodeViewer -> Completed implementation of slider for sequential view 2020-05-18 13:24:07 +02:00