37 Commits

Author SHA1 Message Date
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
Lukas Matena
4960b125c5 Fixed incorrect locales handling in the UI (Field, ObjectManipulation, etc) 2021-05-24 12:23:39 +02:00
enricoturri1966
c58572deaa Tech ENABLE_ALLOW_NEGATIVE_Z->Fixed object popping up after editing layer range fields 2021-04-28 11:07:15 +02:00
Oleksandra Yushchenko
e002f0066f
Ys code refactoring (#6227)
* GUI_ObjectList code refactoring:
The MenuFactory structure contains functions related to the context menu and bitmaps used to different volume types.
The SettingsFactory structure contains functions to getting overridden options, its bundles and bitmaps used to setting categories.

Fixed bugs/crashes:
1. Add object -> Add Settings from 3D scene -> Right click on object => Part's Settings list instead of object's
   (Same behavior if something else but Object is selected in ObjectList)
2. Add settings to the part -> Change part type to the "Support Blocker/Enforcer" -> Settings disappears (it's OK) but =>
   Save Project -> Open project => Support Blocker/Enforcer has a settings
3. Add part for object -> Change type of part -> Change monitor DPI -> old type icon appears
4. Select all instances in ObjectList -> Context menu in 3D scene -> Add Settings -> Select some category -> Crash

* ObjectLayers: Fixed a crash on re-scaling, when some layer range is selected

* Fixed OSX build

* Added menu item "Split to Objects" for multipart objects

+ Fixed bug: Add 2 parts,
             Add some settings for one part
             Delete part without settings => Single part object without settings, but settings are applied for the object.

+ Next refactoring: use same menu for Plater and ObjectList
2021-03-15 10:04:45 +01:00
Lukas Matena
1834ebe981 Fixing Clang warnings 3 2021-02-08 17:52:29 +01:00
Vojtech Bubnik
ee58ab4e2d Merge branch 'vb_optgroup_refact' 2020-10-01 20:05:31 +02:00
YuSanka
d5bd76776f Page class is used as a container of option groups
and doesn't inherited from wxScrolledWindow now
2020-09-24 18:54:54 +02:00
Vojtech Bubnik
54976e29bb New class ModelConfig wrapping DynamicPrintConfig and a timestamp
to help with detecting "not changed" event when taking
Undo/Redo snapshot or synchronizing with the back-end.

Converted layer height profile and supports / seam painted areas
to the same timestamp controlled structure.
2020-09-24 15:34:13 +02:00
YuSanka
19c4f32604 Preset and PresetBundle are moved to the _libslic3r_ folder 2020-06-16 17:03:06 +02:00
Lukas Matena
48c186331a Includes cleanup:
GUI_App.hpp      (should not include) MainFrame.hpp
MainFrame.hpp    Plater.hpp
ModelArrange.hpp Model.hpp
Slicing.hpp      PrintConfig.hpp
FillBase.hpp     PrintConfig.hpp
GUI_App.hpp      PrintConfig.hpp
OptionsGroup.hpp GUI_App.hpp
2020-05-27 14:01:47 +02:00
YuSanka
a56bbea140 Reworked sys_color_changed() functions
Fixed OSX specific bugs:
- toolbar flashing for some mainframe sizes (Retina specific)
- size of mainframe when settings layout in slNew mode

Added missed icons to the "white" folder
2020-05-22 15:26:35 +02:00
YuSanka
6a6790b8e7 Implemented disabling of Add buttons if next layer range couldn't be added
+ Fixed "Layer ranges" expand.
2020-03-12 15:11:31 +01:00
Slic3rPE
e47e487fe2 Fix of a crash on OSX after changing a layer range value and then
pressing the "add layer" button.
2020-03-11 09:10:25 +01:00
YuSanka
29f3c938e6 Fix of SPE-1026 (Height range value works differently if you press enter and if you leave textbox)
Related to GH #2946
2019-09-19 15:28:36 +02:00
YuSanka
93aa5ac6ce Fixed re-scaling under MSW for Layers editing
+ Clean code in GUI_ObjectManipulation.cpp
2019-09-17 13:41:44 +02:00
YuSanka
db2319cb5c Fixed sidebar layouts for selected "Object" and "Layers" items in ObjectList 2019-09-04 09:24:44 +02:00
YuSanka
9730ec6fff Small LayersRange UI improvements 2019-08-27 16:02:15 +02:00
bubnikv
1e11eab620 Improved wording of some UI texts and tooltips. 2019-08-27 11:39:51 +02:00
YuSanka
0bcad2a5c5 Fix for the last commit 2019-07-02 15:26:11 +02:00
Enrico Turri
b835075fd6 Visual hints for layers editing enabled whenever a layer is selected into the objects list 2019-07-02 10:34:30 +02:00
Enrico Turri
1058721dba Added visual hints in 3D scene for layers editing 2019-06-27 13:42:50 +02:00
YuSanka
104a289cfe Implemented interface for updating 3DScene after set a focus to some editor 2019-06-26 13:30:20 +02:00
YuSanka
c198d826af Setting min_z bigger than max_z cause an increase of the max_z 2019-06-24 15:43:16 +02:00
YuSanka
e00774d2e2 Workarounds for selection under OSX and GTK 2019-06-13 13:00:46 +02:00
YuSanka
c9dd5f8786 Fixed updating of data for LayerEditors selection 2019-06-13 11:37:03 +02:00
YuSanka
1694204687 Added some logic to layers editor selection 2019-06-12 16:28:25 +02:00
YuSanka
71cc0fdb53 Some code refactoring and improvements 2019-06-06 15:56:42 +02:00
YuSanka
567f382938 Implemented focusing of the last edited range 2019-06-05 11:14:57 +02:00
YuSanka
213635f559 Implemented range's min/max Z editing 2019-06-04 17:30:44 +02:00
YuSanka
4756961678 Added LayerRangeEditor class for universally editing of the layer_range's parameters
+ Implemented layer_height editing
2019-06-04 15:22:29 +02:00
YuSanka
79a89c4c8f Some code review for avoid use of OptionsGroup 2019-06-04 11:56:59 +02:00
YuSanka
51b18fddeb Changed data types 2019-06-03 15:35:21 +02:00
YuSanka
38641ef578 ObjectLayers::del_layer_range() -> delete a layers range using "Del" button from ObjectLayers sizer 2019-05-31 10:54:52 +02:00
YuSanka
e531d224e8 Implemented delete_layers_from_object() 2019-05-30 16:53:17 +02:00
YuSanka
a516f76f94 Improved layer sizer
+ fixed build under OSX and Linux
2019-05-30 14:42:38 +02:00
YuSanka
bf56d79354 Layers sizer updating 2019-05-30 12:41:16 +02:00
YuSanka
765d4264ae Implemented ObjectLayers class
+ some code refactoring
2019-05-28 16:38:04 +02:00