Commit Graph

722 Commits

Author SHA1 Message Date
Marius Stanciu 3bebc16725 - optimized the Move Tool
- added support for key-based panning in 3D graphic engine. Moving the mouse wheel while pressing the CTRL key will pan up-down and while pressing SHIFT key will pan left-right
2019-10-12 16:31:44 +03:00
Marius Stanciu 1ad7b7716b - modified the Bookmark manager to be installed as a widget tab in Plot Area; fixed the drag & drop function for the table rows that have CellWidgets inside
- marked in gray color the rows in the Bookmark Manager table that will populate the BookMark menu
- made sure that only one instance of the BookmarkManager class is active at one time
2019-10-12 01:35:25 +03:00
Marius Stanciu 4a872dd79f - fixed some issues in the Bookmark Manager 2019-10-11 18:02:26 +03:00
Marius Stanciu 2ea45c5d58 - added a Bookmark Manager and a Bookmark menu in the Help Menu
- added an initial support for rows drag and drop in FCTable in GUIElements; it crashes for CellWidgets for now, if CellWidgetsare in the table rows
2019-10-11 17:43:04 +03:00
Marius Stanciu e6a5e32002 - wip; Tool Move problem: it tries to select all objects, even those that are disabled. 2019-10-10 13:00:44 +03:00
Marius Stanciu 272c5c7453 - updated the Rules Check Tool - solved some issues 2019-10-09 03:38:08 +03:00
Marius Stanciu 1668939df7 - more changes in Preferences GUI, replacing the FCEntries with Spinners
- some small fixes in toggle units conversion
2019-10-08 16:00:57 +03:00
Marius Stanciu fbf982ab8e - in Preferences General, Gerber, Geometry, Excellon, CNCJob sections made all the input fields of type SpinBox (where possible)
- updated the Distance Tool utility geometry color to adapt to the dark theme canvas
2019-10-08 05:25:27 +03:00
Marius Stanciu 24723509f8 - in Preferences General, Gerber, Geometry, Excellon, CNCJob sections made all the input fields of type SpinBox (where possible)
- updated the Distance Tool utility geometry color to adapt to the dark theme canvas
2019-10-08 04:17:08 +03:00
Marius Stanciu 23da38d8f3 - added a dark theme to FlatCAM (only for canvas). The selection is done in Edit -> Preferences -> General -> GUI Settings 2019-10-07 04:06:00 +03:00
Marius Stanciu aafe2c9e89 - updated Tool Optimal with display of all distances (and locations of the middle point between where they happen) found in the Gerber Object 2019-10-06 17:37:33 +03:00
Marius Stanciu a6b89dbf3a - moved back the ApertureMacro class to camlib for now and made some import changes in the new ParseGerber and ParseExcellon classes
- some changes to the tests - perhaps I will try adding a few tests in the future
2019-10-06 15:56:41 +03:00
Marius Stanciu 2c536258ed - moved the ApertureMacro class from camlib to ParseGerber file 2019-10-06 07:32:39 +03:00
Marius Stanciu 8413885d87 - changed some of the icons; added attributions for icons source in the About FlatCAM window 2019-10-06 00:06:48 +03:00
Marius Stanciu 9506095ca2 - fixed an issue with the tool table context menu in Paint Tool
- made some changes in the GUI in Paint Tool, NCC Tool and SolderPaste Tool
2019-10-05 22:58:54 +03:00
Marius Stanciu 4a5e08feea - remade the Tool Calculators to use the QSpinBox in order to simplify the user interaction and remove possible errors
- remade: Tool Cutout, Tool 2Sided, Tool Image, Panelize Tool, NCC Tool, Paint Tool  to use the QSpinBox GUI elements
2019-10-05 17:08:51 +03:00
Marius Stanciu 9e83528448 - added the Distance Tool, Distance Min Tool, Jump To and Set Origin functions to the Edit Toolbar 2019-10-04 23:47:42 +03:00
Marius Stanciu ba549705a2 - fixed a bug that when a Gerber object is edited and it has as solid_geometry a single Polygon, saving the result was failing due of len() function not working on a single Polygon 2019-10-04 21:11:02 +03:00
Marius Stanciu f06888e4fb - added a Toggle Notebook button named 'NB' in the QMenBar which toggle the notebook 2019-10-04 17:44:12 +03:00
Marius Stanciu 55fdd59b94 - added a new menu category in the MenuBar named 'Objects'. It will hold the objects found in the Project tab. Useful when working in FullScreen 2019-10-04 17:18:07 +03:00
Marius Stanciu 6d2ed26e0e - small GUI changes in Optimal Tool and in Film Tool
- some PEP8 corrections
- some code annotations to make it easier to navigate in the FlatCAMGUI.py
- fixed exit FullScreen with Escape key
2019-10-04 15:24:38 +03:00
Marius Stanciu fb0edc6c18 - added more editing features in the Selected Tab for the FlatCAMDocument object 2019-10-03 21:44:37 +03:00
Marius Stanciu 1d2c046ecc - changes for the Document object 2019-10-03 17:15:21 +03:00
Marius Stanciu 5143cafc59 - fixed the FlatCMAScript object when loading it from a project 2019-10-02 22:59:50 +03:00
Marius Stanciu a75bdfb29d - changed the name of the new object FlatCAMNotes to a more general one FlatCAMDocument
- changed the way a new FlatCAMScript object is made, the method that is processing the Tcl commands when the Run button is clicked is moved to the FlatCAMObj.FlatCAMScript() class
- reused the Multiprocessing Pool declared in the App for the ToolRulesCheck() class
- adapted the Project context menu for the new types of FLatCAM objects
- modified the setup_recent_files to accommodate the new FlatCAM objects
- made sure that when an FlatCAM script object is deleted, it's associated Tab is closed
2019-10-02 17:58:48 +03:00
Marius Stanciu 83f229ed9e - fixed bug in Geometry Editor that did not allow the copy of geometric elements
- created a new class that holds all the Code Editor functionality and integrated as a Editor in FlatCAM, the location is in flatcamEditors folder
- remade all the functions for view_source, scripts and view_code to use the new TextEditor class; now all the Code Editor tabs are being kept alive, before only one could be in an open state
2019-10-02 05:47:18 +03:00
Marius Stanciu ee0742db7a - added two new FlatCAM objects: FlatCAMScript and FlatCAMNotes 2019-10-01 18:24:15 +03:00
Marius Stanciu c685f41db0 - made those settings just added for Gerber, to be updated on object creation
- added the Geo Tolerance parameter to those that are converted from MM to INCH
2019-10-01 17:07:27 +03:00
Marius Stanciu b444e1e552 - added new settings for the Gerber newly introduced feature to isolate with the V-Shape tools (tip dia, tip angle, tool_type and cut Z) in Edit -> Preferences -> Gerber Advanced 2019-10-01 15:32:31 +03:00
Marius Stanciu ce666e2dbf - added a fix in the Gerber parser to work even when there is no information about zero suppression in the Gerber file
- added new settings in Edit -> Preferences -> Gerber for Gerber Units and Gerber Zeros to be used as defaults in case that those informations are missing from the Gerber file
2019-10-01 15:08:49 +03:00
Marius Stanciu e8faeb2c94 - added support to use Multi Processing (multi core usage, not simple threading) in Rules Check Tool
- in Rules Check Tool added the functionality for the following rules: Hole Size, Trace Size, Hole to Hole Clerance
2019-09-30 19:10:46 +03:00
Marius Stanciu d3cad737cc - modified the Distance Tool such that the numbe of decimals all over the tool is set in one place by the self.decimals
- added a new tool named Minimum Distance Tool who will calculate the minimum distance between two objects; key shortcut: SHIFT + M
- finished the Minimum Distance Tool in case of using it at the object level (not in Editors)
2019-09-30 03:02:04 +03:00
Marius Stanciu bacb8a7184 - changed the name of the Measurement Tool to Distance Tool. Moved it's location to the Edit Menu
- added Angle parameter which is continuously updated to the Distance Tool
2019-09-29 05:13:36 +03:00
Marius Stanciu 6554f1f6b6 - fixed a small bug that made app crash when the splash screen is disabled: it was trying to close it without being open 2019-09-29 00:36:01 +03:00
Marius Stanciu 32ff417a2c - fixed a bug in Excellon Editor that crashed the app when editing the first tool added automatically into a new black Excellon file
- made sure that if the big mouse cursor is selected, the utility geometry in Excellon Editor has a thicker line width (2 pixels now) so it is visible over the geometry of the mouse cursor
2019-09-28 21:29:23 +03:00
Marius Stanciu a2bef40097 - added a new tool named "Optimal Tool" which will determine the minimum distance between the copper features for a Gerber object, in fact determining the maximum diameter for a isolation tool that can be used for a complete isolation 2019-09-28 03:51:39 +03:00
Marius Stanciu c5ecc7ad88 - created the GUI for the Rule Check Tool
- if there are (x, y) coordinates in the clipboard, when launching the "Jump to" function, those coordinates will be preloaded in the Dialog box.
- when the combo SHIFT + LMB is executed there is no longer a deselection of objects
- when the "Jump to" function is called, the mouse cursor (if active) will be moved to the new position and the screen position labels will be updated accordingly
- changed the icon for Open Script and reused it for the Check Rules Tool
2019-09-28 00:34:18 +03:00
Marius Stanciu 537b843a04 - made the mouse cursor (big, small) change in real time for both graphic engines 2019-09-27 17:19:44 +03:00
Marius Stanciu 7b9907fa1d - if an object is edited but the result is not saved, the app will reload the edited object UI and set the Selected tab as active 2019-09-27 15:28:47 +03:00
Marius Stanciu ca7863a371 - fixed issue with the old SysTray icon not hidden when the application is restarted programmatically 2019-09-27 12:42:16 +03:00
Marius Stanciu 46e7be20e2 - optimized the toggle axis command
- added posibility of using a big mouse cursor or a small mouse cursor. The big mouse cursor is made from 2 infinite lines. This was implemented for both graphic engines
- added ability to change the cursor size when the small mouse cursor is selected in Preferences -> General
2019-09-27 04:42:28 +03:00
Marius Stanciu 9c8c36adbb - optimized the toggle grid command 2019-09-27 01:15:29 +03:00
Marius Stanciu 0444b901bb - fixed issue when rebooting from within in cx_freezed state (it issued a startup arg with the path to FlatCAM.exe but that triggered the last sys.exit(2) that I had in the App.args_at_startup()) - modified
- modified the make_win script for the presence of MatPlotLib - removed as it was unnecessary
2019-09-26 21:49:58 +03:00
Marius Stanciu ac096fadbb - fixed issue when rebooting from within in cx_freezed state (it issued a startup arg with the path to FlatCAM.exe but that triggered the last sys.exit(2) that I had in the App.args_at_startup())
- modified the make_win script for the presence of MatPlotLib
2019-09-26 21:15:22 +03:00
Marius Stanciu 0f91d4dff0 - added a Copy All button in the Code Editor, clicking this button will copy all text in the editor to the clipboard
- added a 'Milling Type' radio button in Geometry Editor Preferences to contorl the type of geometry will be generated in the Geo Editor (for conventional milling or for the climb milling)
- added the functionality to allow climb/conventional milling selection for the geometry created in the Geometry Editor
- now any Geometry that is edited in Geometry editor will have coordinates ordered such that the resulting Gcode will allow the selected milling type in the 'Milling Type' radio button in Geometry Editor Preferences (which depends also of the spindle direction)
- some strings update
- French Google-translation at 100%
- German Google-translation update to 100%
2019-09-26 17:46:25 +03:00
Marius Stanciu 3941544558 - in legacy graphic engine fixed the axis toggle
- French Google-translation at 48%
2019-09-25 17:25:46 +03:00
Marius Stanciu 4e8fbaf974 - fixed the 'Jump To' function to work in legacy graphic engine
- in legacy graphic engine fixed the mouse cursor shape when grid snapping is ON, such that it fits with the shape from the OpenGL graphic engine
2019-09-25 15:02:59 +03:00
Marius Stanciu 1158128384 (all those were done in the previous commit, should stay as log)
- unfortunately the fix for issue where while zooming the mouse cursor shape was not updated braked something in way that Matplotlib work with PyQt5, therefore I removed it
- fixed a bug in legacy graphic engine: when doing the self.app.collection.delete_all() in new_project an app crash occurred
- implemented the Annotation change in CNCJob Selected Tab
2019-09-25 03:36:33 +03:00
Marius Stanciu 61e2792047 - unfortunately the fix for issue where while zooming the mouse cursor shape was not updated braked something in way that Matplotlib work with PyQt5, therefore I removed it 2019-09-25 03:26:34 +03:00
Marius Stanciu 4bd8475893 - fixed the fullscreen method to show the application window in fullscreen wherever the mouse pointer it is therefore on the screen we are working on; before it was showing always on the primary screen 2019-09-24 13:30:51 +03:00