Commit Graph

3670 Commits

Author SHA1 Message Date
Vojtech Kral
a3d5251b8e Merge branch 'cpp_ui_optimization' into updating 2018-04-27 12:04:43 +02:00
Enrico Turri
a4df0bdcc3 Fixed division by zero in get_zoom_to_bounding_box_factor on Linux 2018-04-26 12:14:49 +02:00
Enrico Turri
fd16357b6e Increase z buffer range to avoid clipping while panning/rotating the 3D view 2018-04-26 11:03:15 +02:00
Enrico Turri
8096ef6844 Fixed wrong countours for multipart objects in cut dialog 3D view 2018-04-25 15:16:39 +02:00
Enrico Turri
df3e84d580 Merge branch 'updating' of https://github.com/prusa3d/Slic3r into updating 2018-04-25 13:56:26 +02:00
Enrico Turri
e93391e0f8 Fixed get_zoom_to_bounding_box_factor on linux 2018-04-25 13:55:45 +02:00
YuSanka
91db0a6e05 Merge remote-tracking branch 'origin/profile_changes_reset' into updating 2018-04-25 13:53:22 +02:00
Vojtech Kral
eeb436931b Merge branch 'master' into updating 2018-04-25 11:57:56 +02:00
YuSanka
cfac6c0ebb Aligned printer settings on Plater tab 2018-04-25 11:10:34 +02:00
Enrico Turri
449aff0f62 Merge branch 'master' of https://github.com/prusa3d/Slic3r into scene_manipulators 2018-04-25 11:01:32 +02:00
Enrico Turri
3cd7987af4 Fixed layer heights profile invalidated when loading model from amf file 2018-04-25 10:59:06 +02:00
Vojtech Kral
62d67d35ec Merge branch 'profile_changes_reset' into updating 2018-04-24 18:15:23 +02:00
Vojtech Kral
a50bde4267 Merge branch 'master' into updating 2018-04-24 18:11:34 +02:00
Vojtech Kral
fea5603409 PresetUpdater: Bundle incompatibility / Slic3r downgrade scnario 2018-04-24 18:06:42 +02:00
Enrico Turri
ccd1c01d0b Fixed automatic view type selection when changing printer 2018-04-24 14:21:31 +02:00
Enrico Turri
71d9500b2e More robust fix for 3D view and GUI buttons not in synch when object's size is almost identical to print volume's size 2018-04-24 09:00:33 +02:00
Enrico Turri
a3c3eb5d2a Fixed GCode Preview not invalidated when deleting an object 2018-04-23 15:30:41 +02:00
YuSanka
9a1dbfa6cf Updated action_undo.png icon and added sys_unlock_grey.png & action_undo_grey.png for dark themes of OS 2018-04-23 10:27:42 +02:00
Enrico Turri
f8b1dc5506 Tweaks to zooming logic 2018-04-23 08:44:24 +02:00
YuSanka
b8cb936973 Added effective update of ComboBoxes on Plater 2018-04-20 17:32:08 +02:00
Vojtech Kral
93a902a757 PresetUpdater: Fix double free from Perl 2018-04-20 11:06:12 +02:00
Enrico Turri
ad4cd05850 Fixed hovering while panning/rotating camera 2018-04-19 13:31:50 +02:00
bubnikv
d1580f67df Fix of the previous commit. Once the Slic3r::GUI::Tab was rewritten
from Ref<TabIface> to TabIface*, Perl takes ownership and the Tab is
being incorrectly deleted by the background threads.
2018-04-18 18:57:34 +02:00
Vojtech Kral
c3c9ebdd12 Fix wxPerl warning annoyance 2018-04-18 18:48:32 +02:00
Enrico Turri
c9e4c831c2 Axes with fixed size in 3D previews 2018-04-18 10:17:22 +02:00
Enrico Turri
2ef164eeef Fixed cut contours in cut dialog 3D view 2018-04-18 09:44:49 +02:00
Vojtech Kral
c884f3b213 Display app update notification with the main frame 2018-04-17 17:11:56 +02:00
Vojtech Kral
df03b8e4e8 PresetUpdater: Notify about Slic3r updates 2018-04-17 16:59:53 +02:00
Enrico Turri
61ee633cd2 Fixed color specular component in shaders 2018-04-17 16:16:25 +02:00
bubnikv
a05c440263 Fixed potential crashes due to the Perl worker thread releasing
memory allocated by the GUI thread.
2018-04-17 10:55:18 +02:00
Vojtech Kral
214ad2925b Merge branch 'master' into updating 2018-04-16 17:32:58 +02:00
Vojtech Kral
7710b541da Merge branch 'config_snapshots' into updating 2018-04-16 17:00:31 +02:00
Vojtech Kral
c733e3151b Updating: Detect legacy datadir, remove conflicting presets 2018-04-16 16:55:24 +02:00
bubnikv
913cdef297 Merge remote-tracking branch 'origin/scene_manipulators' 2018-04-13 16:54:22 +02:00
bubnikv
c5af8bfe78 Merged with Vojtech's branch 2018-04-13 16:19:27 +02:00
Vojtech Kral
7dbb2ed6a3 Configuration updates downloading 2018-04-13 15:24:55 +02:00
bubnikv
82890ec815 Removed some obsolete Perl binding.
Added Version Index "version" method.
Implemented automatic selection of default_print_profile and
default_filament_profile, when the print / filament profiles are
not compatible with the selected printer profile.
Fixed selection of a printer profile, if the currently selected
printer profile becomes invisible.
2018-04-13 14:49:33 +02:00
Enrico Turri
659eb3412b Fixed value of z in cut dialog when object is scaled 2018-04-13 14:40:42 +02:00
Enrico Turri
359e7e4d32 Scale down meshes of too big objects after loading them 2018-04-13 13:59:36 +02:00
Enrico Turri
7b29ecb15c Fixed cutting plane z in 3D view when object is scaled 2018-04-13 12:15:43 +02:00
Vojtech Kral
b49b59cbb2 Configuration update application at startup 2018-04-13 11:04:39 +02:00
Enrico Turri
acd8d2df98 Fixed layer height profile editing for multipart objects 2018-04-13 09:01:48 +02:00
Enrico Turri
a3fc49ee76 Fixed hovering not shown on out of print bed objects 2018-04-12 13:54:26 +02:00
Vojtech Kral
12b3132b1a Perform init_vendors at startup 2018-04-11 18:05:21 +02:00
bubnikv
da2878958b Wizard runs from the new Config menu,
snapshots could be rolled back / forward.
2018-04-11 12:21:15 +02:00
bubnikv
4275b15dcd Merge remote-tracking branch 'origin/updating' into config_snapshots 2018-04-10 16:46:15 +02:00
Enrico Turri
d789b5c0df Fixed warning texture not disappearing when deleting object out of bed 2018-04-10 14:12:16 +02:00
Enrico Turri
b961711f28 Fixed autoscale of objects after loading 2018-04-10 13:39:10 +02:00
Enrico Turri
a81f78045b Delete key enabled in Object's Settings Dialog also for 3D view 2018-04-10 12:47:09 +02:00
bubnikv
32c4cddb91 Ported the AboutDialog to C++, thanks @alexrj for the work.
New "configuration" menu over the snapshots, user preferences etc.
2018-04-09 17:03:37 +02:00
Enrico Turri
254592c849 Delete key enabled in Object's Settings Dialog 2018-04-09 14:20:44 +02:00
Vojtech Kral
90a8ef8e9f Cleanup 2018-04-06 15:17:02 +02:00
Vojtech Kral
e53949f2c8 Apply printer model / variant preferences when loading presets 2018-04-06 13:24:02 +02:00
Vojtech Kral
57e47a3296 AppConfig: Support for vendor / model / variant enable state 2018-04-06 13:24:02 +02:00
Vojtech Kral
3fcf194e39 ConfigWizard: Basic structure / WIP 2018-04-06 13:23:49 +02:00
Lukas Matena
7253028d79 Merge branch 'master' into wipe_tower_improvements 2018-04-06 12:33:12 +02:00
Enrico Turri
b4efff1d95 Merge branch 'master' of https://github.com/prusa3d/Slic3r into scene_manipulators 2018-04-06 08:40:38 +02:00
bubnikv
e37cbdfcfc Merge remote-tracking branch 'remotes/origin/profile_changes_reset' 2018-04-05 19:53:53 +02:00
Enrico Turri
3a61833d13 Update view in object's setting dialog when changing extruder 2018-04-05 15:55:50 +02:00
Enrico Turri
76beaa6421 Objects colored by extruder color 2018-04-05 12:52:29 +02:00
Enrico Turri
1e185dacc4 Out of bed detection - GUI buttons disabled after object load if model detected as out of bed 2018-04-05 09:02:03 +02:00
Lukas Matena
eb9917536c Merge branch 'master' into wipe_tower_improvements 2018-04-04 13:06:46 +02:00
Vojtech Kral
b0840065ed Octoprint (#804)
* Octoprint progress dialog

* Fix curl version on Windows
2018-04-04 11:18:22 +02:00
bubnikv
00324a14b8 Merge remote-tracking branch 'origin/scene_manipulators' 2018-04-04 11:06:45 +02:00
bubnikv
261f391ee3 Merge remote-tracking branch 'origin/3mf_io' 2018-04-04 11:05:29 +02:00
bubnikv
76360d698c Merge branch 'gcode_preview' 2018-04-04 11:00:49 +02:00
Enrico Turri
c6623bb258 Increased camera theta max to 180 degrees. Fixes #666 2018-03-23 15:40:26 +01:00
YuSanka
01c37ac987 Merge remote-tracking branch 'origin/master' into wipe_tower_ui 2018-03-23 13:35:48 +01:00
YuSanka
08a8fe84a4 Merge remote-tracking branch 'origin/master' into profile_changes_reset 2018-03-22 14:18:48 +01:00
Enrico Turri
4b8bd48663 AMF and 3MF export - Export of print config customizable by user in the select file dialog 2018-03-22 13:49:48 +01:00
Lukas Matena
985b414c64 Removed parameter 'wipe_tower_per_color_wipe' from UI and configuration layer 2018-03-22 13:37:01 +01:00
Enrico Turri
48fe019302 Merge branch 'master' of https://github.com/prusa3d/Slic3r into gcode_preview 2018-03-22 08:34:00 +01:00
Enrico Turri
ebb2d45761 Out of bed detection - Disabled GUI buttons when object outside bed 2018-03-21 15:21:03 +01:00
YuSanka
c425169db0 Added Italian and updated German to localization 2018-03-21 14:00:06 +01:00
Lukas Matena
e30405d672 Merge branch 'master' into wipe_tower_improvements 2018-03-21 11:33:37 +01:00
Enrico Turri
4a179c81d2 GCode Preview - Added visualization of volumetric flow rate 2018-03-21 10:03:10 +01:00
Enrico Turri
85d158525f Merge branch 'master' of https://github.com/prusa3d/Slic3r into scene_manipulators 2018-03-21 08:40:21 +01:00
bubnikv
86b79f89ad Removed BonjourBrowser.pm, SectionCut.pm and the associated
command line section cut tool.
2018-03-20 21:09:54 +01:00
Enrico Turri
f99aaa1191 Out of bed detection - New colors for out of bed state 2018-03-20 13:01:50 +01:00
Enrico Turri
6298a28494 Disabled back face culling to show broken geometry 2018-03-20 11:59:33 +01:00
bubnikv
0bd9918643 Implements SPE-159 "substitute accented letters with non-accented ones" 2018-03-16 18:20:47 +01:00
Lukas Matena
3d6f6530c0 Merge branch 'master' into wipe_tower_improvements 2018-03-16 14:06:23 +01:00
bubnikv
9ae2fa6621 Removed Perl Slic3r::GUI::Notifier module.
The Growl for OSX is dead and the D-bus support for Linux/X was broken.
2018-03-16 13:13:27 +01:00
YuSanka
7f5bfe3ddc First visualization of system value changes 2018-03-16 12:56:03 +01:00
bubnikv
e162c47167 Removed some dependencies on Perl IO module. 2018-03-16 12:07:54 +01:00
bubnikv
a38cbac312 Removed the LWP and Growl Perl dependencies. 2018-03-16 11:56:37 +01:00
Vojtech Kral
c88d2780ce Octoprint (#796)
* Octoprint: GUI for CA file, improvements

* Octoprint: Add GUI for Bonjour lookup, bugfixes

* Octoprint: Bonjour browser: Cleanup Perl interaction

* Octoprint: Bonjour: Perform several broadcast, UI fixes

* Octoprint: Add files to localization list

* Http: Disable CA File setting on SSL backends that don't support it
2018-03-15 18:06:26 +01:00
YuSanka
8d4b603572 Correct updated Show/Hide of object_info_manifold_warning_icon 2018-03-15 11:59:12 +01:00
YuSanka
d97a8f5740 Merge remote-tracking branch 'origin/master' into profile_changes_reset 2018-03-15 10:24:54 +01:00
YuSanka
22330c0cae Showed correct "Info" box on initial Plater 2018-03-15 10:13:40 +01:00
YuSanka
c3ec40c3cc Added prototype of an "Undo to system" button 2018-03-15 09:55:31 +01:00
YuSanka
a41e55a773 Merge remote-tracking branch 'origin/profile_inheritance' into profile_changes_reset 2018-03-14 16:34:51 +01:00
bubnikv
ab654f6319 Merge branch 'scene_manipulators' 2018-03-14 16:15:26 +01:00
bubnikv
de2d08f626 Update of G-code preview colors by Jindra. 2018-03-14 15:00:12 +01:00
bubnikv
e680658cf5 Fixed selection of sensible active print / filament / printer profile
after the initial wizard run.
2018-03-14 13:29:50 +01:00
Enrico Turri
523b297738 Out of bed detection - Volume colors changed while dragging them 2018-03-13 14:37:59 +01:00
Enrico Turri
d91e35f820 Shaders tweaking 2018-03-13 14:21:41 +01:00
Enrico Turri
79dc862498 Out of bed detection - Shaders refactoring 2018-03-12 09:23:59 +01:00
YuSanka
e8adbd7303 First prototype of adding of UI for frequently changed parameters 2018-03-09 18:34:30 +01:00
YuSanka
d5e136a6d5 Fixed bug with updating of the value of "Wipe while retracting" CheckBox. 2018-03-09 17:17:51 +01:00
bubnikv
f55becd43c Introduced the system profiles.
The Config Wizard now just copies the Vendor's Config Bundle
into user_dir/vendor/ directory and Slic3r uses the configs
from the bundles found in user_dir/vendor directly.
2018-03-09 16:37:33 +01:00
Lukas Matena
1c6fa6660e Merge branch 'master' into wipe_tower_improvements 2018-03-09 15:10:15 +01:00
Enrico Turri
7a2df9f54f Out of bed detection - Volumes' layer texture rendering moved to cpp 2018-03-09 14:33:44 +01:00
Enrico Turri
bdd2d725c8 Out of bed detection - 1st installment 2018-03-09 10:40:42 +01:00
YuSanka
c52f51b1e4 Fixed bug with resizing 3DScene 2018-03-06 14:45:03 +01:00
bubnikv
4a90ab1f6a Merge branch 'octoprint' 2018-03-06 11:39:44 +01:00
bubnikv
e26ccfc247 Fixed compilation on Windows,
removed debugging menu and debugging output.
2018-03-06 11:39:24 +01:00
Vojtech Kral
fc05eb898d WIP: Bonjour 2018-03-05 18:33:15 +01:00
Vojtech Kral
7cfc5204c8 WIP: OctoPrint 2018-03-05 18:33:15 +01:00
YuSanka
751c97c503 Localize the Plater tab
* Marking and translation of Plater tab are complited
* GUI.pm is marked to l10n
* Fix small bug with Extruder adding at Printer Settings tab
2018-02-28 15:41:35 +01:00
YuSanka
7047f4365a Update localization:
* 2D.pm, 3DPreview.pm, PreviewData.cpp are marked by L()
* use translating function in 3DScene.cpp
2018-02-26 16:23:44 +01:00
bubnikv
2edb96062e Removed the Perl Preferences dialog,
fixed the CMake after the GUI merge.
2018-02-23 15:53:16 +01:00
bubnikv
69fc99edbb Merge remote-tracking branch 'remotes/origin/gui_translate_to_cpp' 2018-02-23 15:32:13 +01:00
bubnikv
8fb443522b Merge remote-tracking branch 'remotes/origin/gcode_preview' 2018-02-23 14:33:16 +01:00
YuSanka
baa5726532 All project is ready to localization.
* Macro _LC is changed to _CHB. [to put translated string into std::string correctly]
* Macro _LS is changed to L.    [to mark string to translation]
* Standard wxWidgets macro _() is used for translation now.
* Updated POfile for EN
2018-02-23 14:25:49 +01:00
bubnikv
c3d7be5994 Merge remote-tracking branch 'remotes/origin/3mf_io' 2018-02-22 18:57:07 +01:00
bubnikv
acce8dbff6 A workaround of the dreaded Intel HD Graphics driver issue at least
on the laptop of @roesel.
fixes https://github.com/prusa3d/Slic3r/issues/672

The Intel HD Graphics hangs on the glFinish() call for some reason
with one particular graphics driver revision. Also the glFinish() call
was superfluous and it only may have had negative effect over the performance.

Both glFinish() and glFlush() were removed for performance reasons
where they were not needed, see
https://www.khronos.org/opengl/wiki/Common_Mistakes
2018-02-22 18:56:37 +01:00
YuSanka
cec12e203a Plater.pm is marked by L() to localization. 2018-02-22 15:13:07 +01:00
YuSanka
3d805a0f43 PreferencesDialog moved to C++ part 2018-02-22 11:12:29 +01:00
Enrico Turri
81eff20ad1 GCode Preview - Added Custom extrusion role + extended layers range for GCode preview 2018-02-22 08:59:47 +01:00
YuSanka
916378097c MainFrame.pm is marked by L() to localization. 2018-02-21 13:44:42 +01:00
Lukas Matena
de92f45eaf Merge with master 2018-02-21 13:22:51 +01:00
Enrico Turri
36601723a2 4th attempt to fix JIRA SPE-26 (Feature types on MAC) 2018-02-20 15:22:30 +01:00
Enrico Turri
662ea15c23 3rd attempt to fix JIRA SPE-22 (wrong file export on MAC) 2018-02-20 11:33:38 +01:00
Enrico Turri
e13a9adff2 2nd attempt to fix JIRA SPE-22 (wrong file export on MAC) 2018-02-20 11:10:54 +01:00
YuSanka
6ad38f80fb Language configuration is saved now in AppConfig instead of wxConfig. 2018-02-20 08:58:46 +01:00
Enrico Turri
eeada56c1f 1st attempt to fix JIRA SPE-22 (wrong file export on MAC) 2018-02-19 15:33:01 +01:00
Enrico Turri
7375f6a6f5 Fixed camera shifting after generating gcode 2018-02-19 11:28:56 +01:00
bubnikv
8dd5fe83fc Humbly re-added the BedShapeDialog.pm. Even though we have a C++
implementation now, the Perl BedShapeDialog.pm is used by the wizard.
2018-02-16 17:20:34 +01:00
bubnikv
7436d58045 Merge remote-tracking branch 'origin/gui_translate_to_cpp' 2018-02-16 11:38:11 +01:00
YuSanka
1167458acd Fixed converting of Unicode codepoint (\uXXXX) into a character in Perl. 2018-02-16 09:38:03 +01:00
bubnikv
4ee620b57d Fixed Perl dependencies after some obsolete modules were removed. 2018-02-15 18:41:37 +01:00
bubnikv
f876946358 Merge remote-tracking branch 'origin/gui_translate_to_cpp' 2018-02-15 18:32:51 +01:00
bubnikv
39100068c1 Removed the Perl Tab & BedDialog as they were replaced by their C++
counterparts.
2018-02-15 18:16:19 +01:00
bubnikv
f1840a52db Merged the C++ port of the GUI Tabs / OptionGroup / Option classes
by @YuSanka, thanks @lordofhyphens for the initial port
of the OptionGroup / Option.
2018-02-15 18:13:37 +01:00
YuSanka
59cee4a3aa Thanks @stelgenhof Corrected units of measure that had exponents displayed with caret. 2018-02-15 18:06:37 +01:00
bubnikv
b695089bc4 Merge remote-tracking branch 'remotes/origin/3mf_io' 2018-02-15 17:02:47 +01:00
bubnikv
1fa3ffbf83 Fixed a bug, when a color selection popped up when clicking
on the print or printer combo box icon.
2018-02-15 16:41:26 +01:00
bubnikv
4a35fd655c Disable some of the G-code preview controls for the old 3D path preview,
re-enable them when the G-code preview is ready.

Resurrected the old logic to automatically switch to the tool preview
for a multi-material print, and to switch automatically to the feature
preview for a single material print.
2018-02-15 16:30:35 +01:00
bubnikv
f9cdda7bfd Delayed loading of the opengl texture for the G-code preview legend,
as the opengl context may not be ready on some platforms (Linux)
at the time the window gets its focus for the first time.

Changed the G-code preview invalidation to trigger when the print
gets invalidated. At that time the 3D path preview switches to the old
preview, if there is anything valid left.
2018-02-15 14:37:53 +01:00
bubnikv
7f51b07f69 First take on restoring the old 3D path preview before the G-code preview is ready 2018-02-14 21:59:33 +01:00
bubnikv
ff3ae40aeb Fixed compilation issues caused by the previous commits 2018-02-14 21:57:46 +01:00
bubnikv
b1f5e7e8fa Removed the GCodePreviewData from the Print class, it does not belong here,
as the GCode is generated outside of the Print class.
Exported the GCodePreviewData as GCode::PreviewData to Perl.
When exporting the G-code with a command line Slic3r,
the GCodeAnalyzer is now supressed for performance reasons.
Removed obsolete Perl module Slic3r::GUI::Plater::3DToolpaths.
2018-02-14 20:35:59 +01:00
Enrico Turri
f5f27859e0 AMF I/O - Embedded config data + zip formatting 2018-02-14 14:30:03 +01:00
bubnikv
f38e0f2b4f Merge branch 'gcode_preview' 2018-02-14 13:29:57 +01:00
bubnikv
6e80a9111c Reworked the plater UI messages to standard wxWidgets wxCommandEvent
messages to support receiving status line updates from the C++ code.
2018-02-13 18:31:34 +01:00
bubnikv
6cf8264362 Re-enabled $combochecklist_features->UseAltPopupWindow(), without this
line the combo box popup was not reacting to mouse events on Windows 10.
2018-02-13 17:46:23 +01:00
Enrico Turri
8885f5e344 3mf import/export of config data 2018-02-13 15:19:55 +01:00
Enrico Turri
f4522cd2fc GCode Preview - Customizable extrusion role colors by editing 3DPreview.pm 2018-02-13 13:16:23 +01:00
Enrico Turri
3f006dc11a GCode Preview - Added objects and wipe tower transparent shells 2018-02-12 09:04:05 +01:00
YuSanka
badeb2f64c Save language preset.
* Added global variable g_local_dir to get "localization" directory.
* Chage/Set language works correctly now.
* Probably, fixed work on Linux
2018-02-12 08:57:32 +01:00
YuSanka
abcfd5bad9 Implemented Application recreate after changing of language.
* Implementation of C++ to Perl callbacks from menu item Localization.
* Added global variable g_tabs_list to control existing Tabs.
2018-02-09 11:04:34 +01:00
Enrico Turri
33553e1c50 3mf Exporter - 1st installment 2018-02-08 13:26:50 +01:00
YuSanka
43aa1680cb Added menu item for selection of application language from the list of installed languages.
* m_Local and its functions moved to GUI.cpp.
* Strings in some files(GUI.cpp, Tab.cpp, Tab.hpp & Field.cpp) marked by _L() macro.
* Updated mo-files for En and Uk languages.
2018-02-08 10:58:13 +01:00
Enrico Turri
6b14e7cc54 GCode Preview - Fixed behavior of the feature types combo 2018-02-07 10:22:35 +01:00
Enrico Turri
0d6a013658 GCode Preview - Coloring by tool 2018-02-07 09:07:37 +01:00
Enrico Turri
6ff9021e04 GCode Preview - Legend texture shown only when gcode is available 2018-02-06 12:43:25 +01:00
Enrico Turri
f9dd251276 GCode Preview - Added feature type for wipe tower 2018-02-05 13:16:08 +01:00
Enrico Turri
787a5f1715 GCode Preview - New Layout 2018-02-02 12:38:35 +01:00
Enrico Turri
475f892413 3mf Importer - 1st installment 2018-01-30 09:27:10 +01:00
YuSanka
6ef5e6bd3d Deleted Perl's Tabs,
but still printer preset switching work very slowly.
2018-01-26 03:24:01 +01:00
YuSanka
4056978731 Implementation of C++ to Perl callbacks from Browse & Test buttons. 2018-01-26 01:44:34 +01:00
YuSanka
4d234e90ae Some modifications:
- Added no_controller to create_preset_tab().
- Small changes in Tab"Setting" constructor.
2018-01-25 21:45:39 +01:00
YuSanka
f0b035059a Merge with bibnikv.
Added some functions to TabIface.
Added BedShapeDialog & Bed2D classes.
Added new_scale to Polygon.
In class Field: Point renamed to PointCtrl and added set_value for PointCtrl, extended get_value for Choice.
2018-01-25 13:46:04 +01:00
bubnikv
09c9f6bdc3 Added TabIface C++ wrapper for GUI::Tab C++ class,
exported the TabIface to Perl.
2018-01-23 11:37:19 +01:00
bubnikv
1d10a2293a Example implementation of C++ to Perl callbacks using wxWidgets command events. 2018-01-21 23:35:00 +01:00
bubnikv
8add843ee8 Temporary, or maybe not so temporary fix to handle empty
post processing scripts.
2018-01-21 21:08:30 +01:00
Enrico Turri
a417cf955d GCode Preview - Code cleanup 2018-01-17 10:39:05 +01:00
Enrico Turri
c63e6b74fa GCode Preview - Added legend texture 2018-01-16 14:59:06 +01:00
YuSanka
8e0cd35c23 Merge remote-tracking branch 'origin/master' into gui_translate_to_cpp 2018-01-14 21:58:21 +01:00
Enrico Turri
a8a4c11b5b New algorithm for GLVolumes generation and reuse of already generated geometry 2018-01-11 14:09:54 +01:00
Enrico Turri
bbc9a0abe6 Parallelization of extrude path render geometry generation 2018-01-10 13:43:00 +01:00
Enrico Turri
6a744238b9 Added preview of retractions and unretractions 2018-01-08 16:05:01 +01:00
Enrico Turri
0f4bec8af0 gcode preview - first installment - wip 2018-01-08 13:44:10 +01:00
YuSanka
16458e070a get_option moved from Tab to ConfigOptionsGroup and extended. Added change_opt_value to changing option value in config 2018-01-07 18:41:40 +01:00
YuSanka
e62c17bddf "on_change" function call correctly work now. Start adding of Tab::update().
It's need to think about config->set_key_value(...): at cpp side it's non-trivial.
2018-01-05 15:11:33 +01:00
bubnikv
696d420dc8 New feature: Recommended object thin wall thickness hint. 2018-01-04 15:38:06 +01:00
YuSanka
f8a48f5c13 Start adding functions to work with presets 2018-01-03 10:12:42 +01:00
bubnikv
02256e900f Merged the branch time_estimate 2018-01-02 10:57:30 +01:00
YuSanka
61247fe8d3 Filling the Filament's and Printer's Tabs. Finished. It's need to adding functions to work with presets 2017-12-26 18:12:05 +01:00
YuSanka
c5e21c1fbf First steps 2017-12-26 18:12:03 +01:00
bubnikv
48ba7e5f73 Removed dependency on Perl Encode::encode_utf8. 2017-12-21 20:11:19 +01:00
bubnikv
3addeb57b4 Fix of "Program crashes when [Suppress "- default -" presets:] is DISABLED"
https://github.com/prusa3d/Slic3r/issues/643
2017-12-21 19:19:07 +01:00
bubnikv
f5160b7a72 Fixed "Slic3r crashes when sending STLs with special characters to the printer"
https://github.com/prusa3d/Slic3r/issues/597
The "Send to OctoPrint" function will now send the file name encoded
in UTF-8, so the file name will not get mangled.

The C++ Slic3r::encode_path() function was returning a string to Perl,
which was marked as UTF-8. This has been fixed, now encode_path() returns
a plain Perl string.

Added path_to_filename, path_to_stem, path_to_extension, path_to_parent_path
Perl wrappers to boost::filesystem::path splitting functionality
to be able to split UTF-8 encoded files on Windows correctly.
2017-12-21 16:56:33 +01:00
Lukas Matena
4583d62edd Merge branch 'master' into wipe_tower_improvements 2017-12-21 13:47:33 +01:00
bubnikv
7142126609 Grey out the compatible_printers_condition edit field in case
the compatible_printers list is non empty.
Changed the precendence of compatible_printers_condition over
compatible_printers. Now compatible_printers has precedence.
2017-12-20 13:32:02 +01:00
bubnikv
558a0753c1 Improved loading of the config wizard results.
Fixed some updates of the "compatible with printer" flags
at the print and filament presets.
2017-12-20 11:28:16 +01:00
bubnikv
c49d6a3ec7 Try to fix the config wizard initialization on OSX.
There is an issue when the config wizard is started from the help
menu and the "other" workflow is followed without clearing
the user profile directory.
2017-12-19 21:43:24 +01:00
bubnikv
67c6823dde Fixed a regression bug in the display of a filament name on the print
controller tab.
2017-12-19 21:12:24 +01:00
bubnikv
c3468f2ad9 Fix of preset selection. 2017-12-19 20:58:16 +01:00
bubnikv
0b6bd3cbde Implemented a "Reset user profile" on the first page of the configuration
wizard if the wizard is opened from the menu. This allows one
to reinstall the bundled printer profile cleanly.

Fixed a bug when loading a config bundle as a config: The config bundle
should not be unpacked into the user profile directory.
2017-12-19 19:51:22 +01:00
bubnikv
6b81f43206 First implementation of the "compatible_printers_condition"
for the print and filament profiles.
Added documentation for building the boost library for Slic3r on Linux.
2017-12-18 15:07:38 +01:00
bubnikv
bb61de8379 Fixed a regression error: The "current_extruder" identifier was not set
at the placeholder parser.
Implemented a new PlaceholderParser::evaluate_boolean_expression()
functionality to evaluate just a boolean expression using the full
expressive power of the macro processing syntax. This function
will now be used for deciding, which print or filament preset
is compatible with which printer preset.
2017-12-18 12:14:09 +01:00
bubnikv
88e9ba510b Run the wizard from OnIdle routine to be executed first after the UI
is initialized. This is necessary for the UI to initialize correctly
on OSX.
2017-12-14 17:35:06 +01:00
bubnikv
4bbe328117 Config wizard will prompt user to copy the profiles from Slic3r to Slic3rPE
if the datadir is left to the default value (which is Slic3r),
and Slic3rPE directory exists.
2017-12-14 13:47:22 +01:00
Enrico Turri
0fe855cd6d Time estimate shown in GUI as formatted string / Write to file made by class GCode's private methods 2017-12-14 09:18:28 +01:00
bubnikv
d47dc5da3e Fixed update of "dirty" profile when the "compatible_printers"
option appears (filter is active) or disappears (no filter active,
compatible with any printer).
2017-12-13 14:44:27 +01:00
bubnikv
898c697f13 Update the maximum volumetric flow hint at the filament page
when the page gets activated, so that the print & printer profile changes
are reflected immediately.
2017-12-13 14:12:47 +01:00
bubnikv
21b4e62e6e Fixed handling of print and filament presets incompatible
with the newly selected print profile,
fixed loading of print and filament tab pages after the print or filament
preset has been changed to be compatible with a newly selected printer.
2017-12-13 14:00:14 +01:00
bubnikv
673e98bc83 When the legacy OpenGL 1.2 is enforced, suppress anti aliasing as well.
Let's hope it will be a valid workaround for the reoccuring
buggy Intel HD Graphics driver issue.
2017-12-12 20:47:36 +01:00
bubnikv
743fc9dbd0 Workaround for buggy Intel HD Graphics OpenGL drivers:
Fall back to OpenGL 1.1 by a "use_legacy_opengl" preferences switch.
https://github.com/prusa3d/Slic3r/issues/233
https://github.com/prusa3d/Slic3r/issues/268
https://github.com/prusa3d/Slic3r/issues/619
2017-12-11 18:00:51 +01:00
Enrico Turri
50a45949d1 merge with master 2017-12-11 12:01:30 +01:00
Enrico Turri
bea9628be0 time estimation shown in GUI after gcode export 2017-12-11 11:11:54 +01:00
bubnikv
ae5863f5e0 Fixed a typo in a path to Resources on OSX. 2017-12-10 23:27:22 +01:00
bubnikv
679aa2822c Moved the Slic3rPE/print,filament,printer folders to
Slic3rPE/presets/print,filament,printer
to separate the presets from further data stored into the Slic3rPE
directory.
2017-12-10 22:11:00 +01:00
bubnikv
ca4bd96d5d Modification of Slic3r to search the icons in resources/icons
after they have been moved from var
2017-12-10 21:14:03 +01:00
bubnikv
657f2734f1 Extended the Config Wizard to offer a selection of config bundles
bundled with Slic3r installation, and install it into user's Slic3r profile.
These bundled config bundles will be contained in the Slic3r source
tree under Slic3r/resources/profiles.

Breaking change! The Slic3r user directory has been renamed to Slic3rPE
for the Prusa Edition. Also it is likely, that the Slic3rPE directory
will be reorganized before the final 1.38 release to reserve space
for temporary profiles downloaded from the Internet.
2017-12-10 13:19:44 +01:00
bubnikv
2eeca93a97 Feature Request: Add to Plater: Ctrl+O
implements https://github.com/prusa3d/Slic3r/issues/379
thanks @alexrj
2017-12-05 20:06:19 +01:00
qtux
b0f84c5cb2 Add used filament length to the "Sliced Info" box (#585) 2017-12-05 19:05:49 +01:00
bubnikv
8746f84fa2 Improved error reporting of the PlaceholderParser.
The PlaceholderParser is currently used by the GCode.cpp
and by Printer.cpp to generate a new name for the exported G-code or SVG file.
The PlaceholderParser::process() will throw a runtime_error with
a comprehensive error message.
The G-code export will include these error messages into the G-code text
with !!!!!! separators, and the GUI will inform the user, that the G-code
export failed.
2017-12-05 15:54:24 +01:00
bubnikv
8af329e660 Added Perl to C++ interfaces for creating the preset editor pages
from C++ and to add debugging menus from C++. These lightweigth
interfaces should help new team members to hack the UI without
a Perl knowledge.
2017-12-04 10:48:40 +01:00
bubnikv
354408c7e6 Load the wxWidgets PNG handler only once. 2017-11-30 20:25:59 +01:00
bubnikv
a0268a1906 Some other accelerator keys were not displayed on Linux and OSX correctly.
Suppress them on these systems.
2017-11-30 20:13:05 +01:00
bubnikv
d161d4f78c There is a hack applied to add accelerator keys to the menu
without being registered. Unfortunately this hack works on wxWidgets
on Windows. On OSX or Linux, a warning is emited and no accelerator
key is shown on the menu.
This commit just removes the warnings, it does not add the menu accelerators.
https://github.com/prusa3d/Slic3r/issues/539
2017-11-30 18:26:15 +01:00
bubnikv
a617e02ae6 New hot key for auto arrange: 'a'. 2017-11-30 17:45:03 +01:00
Lukas Matena
a733df8f37 Wipe tower rotation - preview box 2017-11-30 14:43:47 +01:00
Lukas Matena
2921302fe9 GUI integration of rotation angle setting 2017-11-30 12:08:22 +01:00
bubnikv
6aff27f3ab Moved initialization of Slic3r XS datadir variable to GUI.pm
Solves https://github.com/prusa3d/Slic3r/issues/594
2017-11-30 10:22:39 +01:00
bubnikv
672194b475 Ported the between_objects_gcode custom G-code blocks,
thanks @lordofhyphens, https://github.com/alexrj/Slic3r/pull/3275

Improved handling of custom G-code blocks: Slic3r will try to extract
the target extruder and bed temperatures from the custom G-code blocks.
2017-11-28 15:19:57 +01:00
bubnikv
3c0cd3cbc8 Improve error handling of loading Slic3r profiles. 2017-11-28 10:08:01 +01:00
bubnikv
bfce6dba9b Integrated the "compatible printers" idea by @alexrj with Vojtech's twist:
The incompatible presets are hidden in the tabs if show_incompatible_presets
is false. If show_incompatible_presets is true, there is a button to
show / hide the incompatible presets from the tab selector.
2017-11-10 17:27:05 +01:00
bubnikv
b11d9708ed Updated Controller after the presets C++ port. 2017-11-02 21:51:06 +01:00
bubnikv
e8b6d92d4d Looks like the reworked C++ preferences start to work again. 2017-11-02 16:21:34 +01:00
bubnikv
835e5b71a8 Reduce UI flicker. 2017-10-28 00:18:02 +02:00
bubnikv
857b78ddca Fix of the previous commit: Slic3r::Config::new_from_defaults_keys
has to be provided with a reference to array of strings.
2017-10-27 22:49:59 +02:00
bubnikv
2455aee97c Further reduction of Perl Config.pm methods. 2017-10-27 18:52:35 +02:00
bubnikv
3bc79e80d5 Fixed configuration & validate C++ ports. 2017-10-27 16:11:06 +02:00
bubnikv
5a99e694ce Another step towards the C++ presets. 2017-10-26 17:17:39 +02:00
bubnikv
ee645007f2 Another step towards C++ presets. 2017-10-25 12:53:31 +02:00
bubnikv
3731820c48 Optimization of the configuration layer:
The values of StaticPrintConfig derived objects were searched by a name
walking through a huge chained if.
Now they are being mapped with a std::map.
Also initialization of StaticPrintConfig classes from their ConfigOptionDef
defaults is done by maintaining a single global definition of each
StaticPrintConfig derived class, and a new instance is initialized
from this static copy.

Also the ConfigOption instances are casted using static_cast
wherever possible, and their types are verified by a virtual type() method.
This approach avoids insiginificant performance penalty of a dynamic_cast.

Also the compare and clone methods were added to ConfigOption,
and the cloning & compare work on binary values, not by serialization.
2017-10-17 16:01:18 +02:00
bubnikv
5a844c91f1 When executing G-code post-processing scripts written in perl on windows,
run the perl interpreter, which was used to run the Slic3r.
https://github.com/prusa3d/Slic3r/issues/514
2017-10-03 17:05:47 +02:00
bubnikv
84d4bf8fdb Load presets into the new C++ class. 2017-10-02 17:35:00 +02:00
bubnikv
b1e3b0cdf9 Further fixes of the previous commit. 2017-09-20 10:16:00 +02:00
bubnikv
473233019c Initial partial implementation of presets in C++. 2017-09-19 13:55:48 +02:00
bubnikv
b58756f38b A bit of refactoring and beautification. 2017-09-18 10:01:37 +02:00
bubnikv
e16f827223 Ported PrintConfigBase::_handle_legacy from Perl to C++,
merged from upstream Slic3r, thanks to @alexrj.
2017-09-18 09:56:48 +02:00
bubnikv
630b746cab Fix a lag when starting to move a platter object.
The fix is done by disabling the print out of a model statistics,
which runs the model fixing twice.
2017-09-14 09:06:14 +02:00
bubnikv
6d4ec5c989 Further fix of https://github.com/alexrj/Slic3r/issues/4085
making it safe in case wxWidgets do not report supporting multisampling,
but the OpenGL context actually does and it leaves the multi-sampling enabled.
This then may in theory lead to incorrect picking by color.
2017-09-12 10:14:24 +02:00
bubnikv
888a904c9b Workaround of
"GL_MULTISAMPLE and GL_ARRAY_BUFFER_ARB messages on failed launch"
https://github.com/alexrj/Slic3r/issues/4085

Also fixes
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=872273
2017-09-12 10:03:10 +02:00
bubnikv
a2b876e261 Fixing a crash on pressing +/- with no object active.
https://github.com/prusa3d/Slic3r/issues/467
2017-08-14 12:50:35 +02:00
bubnikv
3b54b68b59 Merged new methods for handling menus with icons,
merged "Use submenus for listing options in dropdown menu." #3905
thanks @alexrj
Adapted the "Use submenus" code to sort the menus in the same order
as they appear in the parameter tabs.
2017-08-04 16:28:01 +02:00
bubnikv
632bf56f29 merged save_window_pos / restore_window_pos from @alexrj Slic3r. 2017-08-04 15:54:12 +02:00
Alessandro Ranellucci
38e713c23c Remember object settings dialog size and position. #3943 2017-08-04 15:45:10 +02:00
bubnikv
ed46cfa19d Simplified the code base by requiring wxWidgets >= 3.0 2017-08-03 17:47:18 +02:00
bubnikv
1385018724 Unicode handling:
Removed the Perl dependencies on Encode, Encode::Locale and Unicode::Normalize.
Added dependency on boost::locale.
Added encode_path, decode_path, normalize_utf8 functions to Slic3r.xs

Slic3r.xs has been made mostly utf8 safe by using the boost::nowide library,
thanks to @alexrj for the idea.

Simplified the encode_path / decode_path stuff:
wxWidgets are unicode already, so there is no need to decode_path() from it.
Perl / win32 interfacing is non-unicode, so decode_path() is executed
on ARGV just at the beginning of the perl scripts.
2017-08-03 17:31:31 +02:00
bubnikv
31085fb1d7 Ported some ModelObject methods from Perl to C++.
Added some utility functions to TriangleMesh, thanks to @alexrj
Some porting to C++ based on work by @alexrj.
2017-08-02 16:05:18 +02:00
bubnikv
777023c7a8 Ported PrintObject::prepare_infill & combine_infill from Perl to C++. 2017-08-02 14:24:32 +02:00
bubnikv
933d5b261a Fix of a "Scale to Size" dialog, where a bed size is shown scaled. 2017-08-01 14:42:59 +02:00
bubnikv
71f99423c5 New feature: Bridging angle override through a bridge_angle config
variable. When set to zero, the usual automatic bridge detection applies.
The bridging angle override may be set at the Infill->Advanced settings,
or through a modifier mesh.
2017-07-31 16:23:52 +02:00
bubnikv
3b51f64411 Fixing https://github.com/prusa3d/Slic3r/issues/432
Slic3r GUI not starting, error when using --gui (on linux)

Implements https://github.com/prusa3d/Slic3r/issues/407
Shortcuts: Movement in 3D Space
Assignment of the camera shortcuts is clear from the menu accelerators.

Implements https://github.com/prusa3d/Slic3r/issues/406
Shortcuts: Rotate +/- 45 degrees
l/r keys rotate the object

Also changed the accelerators for adding / removing duplicates from
Ctrl++/- to plain +/-, from Ctrl-Del to plain Del,
and added an 's' key accelerator for uniform scaling.
2017-07-21 16:29:40 +02:00