Commit Graph

276 Commits

Author SHA1 Message Date
Marius Stanciu 46367c433f - removed the labels in status bar that display X,Y positions and replaced it with a HUD display on canvas (combo key SHIFT+H) will toggle the display of the HUD
- made the HUD work in Legacy2D mode
- fixed situation when the mouse cursor is outside of the canvas and no therefore returning None values
2020-05-11 07:29:46 +03:00
Marius Stanciu 88dc9aa702 - in detachable tabs, Linux loose the reference of the detached tab and on close of the detachable tabs will gave a 'segmantation fault' error. Solved it by not deleting the reference in case of Unix-like systems
- some strigns added to translation strings
2020-05-04 18:28:45 +03:00
Marius Stanciu 2da0853b23 - working on a new feature: adding interdiction area for Gcode generation. They will be added in the Geometry Object 2020-05-02 22:53:48 +03:00
Marius Stanciu ada271cbd6 - modified the Cutout Tool to generate multi-geo objects therefore the set geometry parameters will populate the Geometry Object UI
- modified the Panelize Tool to optimize the output from Cutout Tool such that there are no longer overlapping cuts
- some string corrections
2020-05-02 15:56:30 +03:00
Marius Stanciu bdf2192d00 - changed the icons for the grid snap in the status bar
- moved some of the methods from FlatCAMApp.App to flatcamGUI.FlatCAMGUI class
2020-05-02 00:09:48 +03:00
Marius Stanciu f4617034af - added in Gerber editor a method for zoom fit that takes into consideration the current geometry of the edited object 2020-05-01 17:42:16 +03:00
Marius Stanciu 40535b9ffe - fixed bug in Tools DB that crashed when a tool is copied
- in Tools Database added a Save Button whose color is changed in Red if the DB was modified and back to default when the DB is saved.
- fixed bug in Tool DB that crashed the app when the Tool Name was modified but there was no tree item (a tool in the list) selected in the Tree widget (list of tools)
- now on tool add and tool copy, the last item (tool, which is the one added) is autoselected; o tool delete always the first item (tool) is selected
2020-04-30 19:34:05 +03:00
David Robertson 9be8665311 Grouped the preferences UI files by tab (except for tools1/2 which I put together) 2020-04-30 00:11:45 +01:00
David Robertson f7989c029f Split up PreferencesUI.py into individual files for each class, then fixed the imports everywhere that broke because of this. 2020-04-29 22:53:16 +01:00
David Robertson aa16b5e339 Shift the PreferencesUI.py file into a new `preferences` subpackage 2020-04-29 22:02:25 +01:00
Marius Stanciu 804b62af7f - solved the problem with not closing all the tabs in Plot Area when creating a New Project; the issue was that once a tab was removed the indexes are remade (when tab 0 is removed then tab 1 becomes tab 0 and so on) 2020-04-29 21:43:28 +03:00
Marius Stanciu a5384d50d8 - more PEP8 changes
- in PreferencesUI.PreferencesUIManager class I removed the need to pass reference to the App class since it this was available through the 'ui' parameter
- some fixes due to recent refactoring
- minor bugs fixed (not so visible)
- promoted some methods to be static
- set the default layout on first run to the 'minimal' value
2020-04-29 10:09:07 +03:00
David Robertson db37714025 Merge branch 'Beta' of https://bitbucket.org/jpcgt/flatcam into extract-prefs-code-from-app-class 2020-04-29 02:57:17 +01:00
David Robertson 72c2dd5f26 Working on extracting the prefs UI code from the App class 2020-04-29 01:49:34 +01:00
Marius Stanciu 35674c9647 - in SVG parser modified some imports to be one on each line
- fixed the Tcl Command BBox (leftovers from recent global changes)
- fixed some typos in strings reported by @pcb-hobbyst on FlatCAM forum
2020-04-28 19:34:23 +03:00
Marius Stanciu eed7e3d620 - some minor changes in the Python version detection
- added a new Tcl Command named SetPath which will set a path to be used by the Tcl commands. Once set will serve as a fallback path in case that the files fail to be opened first time. It will be persistent, saved in preferences.
- added the GUI for the new Open Example in the FIle -> Scripting menu.
- I am modifying all the open ... handlers to add a parameter that will flag if the method was launched from Tcl Shell. This way if the method will fail to open the filename (which include the path) it will try to open from a set fallback path.
- fixed issue #406, bug introduced recently (leftover changes).
- modified the ImportSVG Tcl command name to OpenSVG (open_svg alias)
- added a new Tcl command named OpenDXF (open_dxf alias)
- fixed some errors in Scripting features
- added a new Tcl command named GetPath as a convenient way to get the current default path stored in App.defaults['global_tcl_path']
2020-04-28 14:37:34 +03:00
Marius Stanciu fe2d232f60 - minor changes
- moved the ObjectCollection class to the flatcamObjects folder where it belongs
2020-04-27 14:05:40 +03:00
Marius Stanciu 3ec666edbb - replaced the testing if instance of FlatCAMObj with testing the obj.kind attribute
- removed the import of the whole FlatCAMApp file only for the usage of GracefulException
- remove the import of FlatCAMApp and used alternate ways
- optimized the imports in some files
- moved the Bookmarksmanager and ToolDB classes into their own files
- solved some bugs that were not so visible in the Editors and HPGL parser
2020-04-27 10:03:22 +03:00
Marius Stanciu 7df7e17569 - some message strings cleanup 2020-04-24 07:23:14 +03:00
Marius Stanciu 32ff35b4ff - fixed the Tcl command Plot_All that malfunctioned if there were any FlatCAM scripts (or FlatCAM documents) open
- updated the shortcuts list
2020-04-23 03:34:09 +03:00
Marius Stanciu 3735753a93 - fixed the Tcl Command Help to work as expected; made the text of the commands to be colored in Red color and bold
- added a 'Close' menu entry in the Tcl Shell context menu that will close (hide) the Tcl Shell Dock widget
- on launching the Tcl Shell the Edit line will take focus immediately
- in App.on_mouse_move_over_plot() method no longer will be done a setFocus() on every move, only when it is needed
2020-04-23 02:07:55 +03:00
Marius Stanciu a1499158c2 - refactored some of the code in the App class and created a new Tcl Command named Help 2020-04-22 23:00:54 +03:00
Marius Stanciu 3c291f259e - fixed a bug in loading objects by drag&drop into the Project Tab where only one object in the selection was loaded 2020-04-20 12:02:01 +03:00
Marius Stanciu ecf61fdf6d - made the Grid icon in the status bar clickable and it will toggle the snap to grid function 2020-04-20 00:57:13 +03:00
Marius Stanciu 5a5a18ef43 - some PEP8 changes in Geometry Editor and other minor changes 2020-04-20 00:12:58 +03:00
Marius Stanciu 2dfcdc95e4 - fixed more issues (new) in NCC Tool
- added a new layout named 'minimal'
2020-04-19 22:22:19 +03:00
Marius Stanciu 418ebd6606 - minor changes in GUI (Save locations in Menu -> File) and the key shortcuts 2020-04-11 01:51:43 +03:00
Marius Stanciu d80de538e3 - modified all CTRL+ with Ctrl+ and all ALT+ with Alt+ and all SHIFT+ with Shift+. Fixed issue #387. 2020-04-09 05:16:48 +03:00
Marius Stanciu d14e5d9445 - fixed a bug in handling the UP/DOWN key shortcuts that caused a crash when no object was selected in the Project Tab; also made sure that the said keys are handled only for the Project Tab 2020-04-06 20:52:00 +03:00
Marius Stanciu 69b39e2937 - added key shortcuts (arrow up/down) that will select the objects in the Project tab if the focus is in that tab 2020-04-06 06:28:55 +03:00
Marius Stanciu 8a2ed1c726 - some changes in the Geometry UI 2020-04-06 01:56:38 +03:00
Marius Stanciu e6917ba1ab - fixed Properties Tool due of recent changes to the FCTree widget 2020-03-13 15:43:26 +02:00
Marius Stanciu 9fc2ba8ffd - added a new FlatCAM Tool: Gerber Invert Tool. It will invert the copper features in a Gerber file: where is copper there will be empty and where is empty it will be copper 2020-02-14 17:08:06 +02:00
Marius Stanciu 7c9c390ac3 - finished Punch Gerber Tool
- minor PEP8 changes
2020-02-13 21:06:10 +02:00
Marius Stanciu 0b162bbd55 - added a new functionality, a variation of Set Origin named Move to Origin. It will move a selection of objects to origin such as the bottom left corner of the bounding box that fit them all is in origin. 2020-01-31 22:34:20 +02:00
Marius Stanciu 3ac8e96071 - fixed bugs in Minimum Distance Tool 2020-01-25 01:44:44 +02:00
Marius Stanciu ca87475694 - small changes to the Toolchange manual preprocessor
- fix for plotting Excellon objects if the color is changed and then the object is moved
- laying the GUI for a new Tool: Punch Gerber Tool which will add holes in the Gerber apertures
2020-01-24 22:12:15 +02:00
Marius Stanciu 5b63dee50d - made possible to set the colors for Excellon objects too
- added to the possible colors the fundamentals: black and white
- in the project context menu for setting colors added the option to set the transparency and also a default option which revert the color to the default value set in the Preferences
2020-01-19 19:47:42 +02:00
Marius Stanciu 821014f719 - added key shortcuts and toolbar icons for the new tools: Align Object Tool (ALT+A) and Extract Drills (ALT+I)
- added new functionality (key shortcut SHIFT+J) to locate the corners of the bounding box (and center) in a selected object
2020-01-15 02:50:27 +02:00
Marius Stanciu e090b96c7c - modified Toggle Workspace function to work in the new Preferences UI configuration
- cleaned the app from progress signal usage since it is not used anymore
2020-01-03 01:41:03 +02:00
Marius Stanciu 3475ae00cd - fixed bug in NCC Tool: after trying to add a tool already in the Tool Table when trying to change the Tool Type the GUI does not change
- final fix for app not quiting when running a script as argument, script that has the quit_flatcam Tcl command; fixed issue #360
- fixed issue #363. The Tcl command drillcncjob does not create tool cut, does not allow creation of gcode, it forces the usage of dwell and dwelltime parameters
2020-01-01 16:13:33 +02:00
Marius Stanciu c79f74c1bf - added a new function called by shortcut key combo CTRL+G when the current widget in Plot Area is an Code Editor. It will jump to the specified line in the text. 2019-12-29 04:31:46 +02:00
Marius Stanciu 58054f71b3 - fixed a minor issue that when saving a project with CNCJob objects, the variable that holds the origin of the CNCJob object was not saved in the project. Added to the serializable objects also the exc_cnc_tools dictionary
- some changes in the File menu
2019-12-29 00:00:15 +02:00
Marius Stanciu 73b2355295 - updated the POT file and the translation files for German, Spanish and French languages 2019-12-27 04:34:54 +02:00
Marius Stanciu 55549c7ba5 - cleaned the Preferences classes and added the signals and signal slots in those classes, removing them from the main app class
- each FlatCAM object found in Preferences has it's own set of controls for changing the colors
- added a set of gray icons to be used when the theme is complete dark (for now it is useful only for MacOS with dark theme because at the moment the app is not styled to dark UI except the plot area)
2019-12-27 03:05:17 +02:00
Marius Stanciu f0ed74ce5f - further modifications in Preferences -> General GUI - extended the changes 2019-12-26 06:13:42 +02:00
Marius Stanciu 0268a02f3b - changed the extension of the Tool Database file to FlatDB for easy recognition (in the future double clicking such a file might import the new tools in the FC database)
- modified the ToolDB class and changed some strings
- Preferences classes now have access to the App attributes through app.setup_obj_classes() method
- moved app.setup_obj_classes() upper in the App.__init__()
- added a new Preferences setting allowing to modify the mouse cursor color
- remade the GUI in Preferences -> General grouping the settings in a more clear way
- made available the Jump To function in Excellon Editor
- added a clean_up() method in all the Editor Tools that need it, to be run when aborting using the ESC key
2019-12-26 01:47:50 +02:00
Marius Stanciu fcc52a2682 - fixed an issue in old default file detection and in saving the factory defaults file
- in Preferences window removed the Import/Export Preferences buttons because they are redundant with the entries in the File -> Menu -> Backup. and added a button to Restore Defaults
- when in Basic mode the Tool type of the tool in the Geometry UI Tool Table after isolating a Gerber object is automatically selected as 'C1'
- let the multiprocessing Pool have as many processes as needed
- added a new Preferences setting allowing a custom mouse line width (to make it thicker or thinner)
2019-12-25 17:51:37 +02:00
Marius Stanciu 98d5986190 - some fixes in the Legacy(2D) graphic mode regarding the possibility of changing the color of the Gerber objects
- added a method to darken the outline color for Gerber objects when they have the color set
- when Printing as PDF Gerber objects now the rendered color is the print color
2019-12-23 02:30:56 +02:00
Marius Stanciu 612666d01a - added a new option for the Gerber objects: on the project context menu now can be chosen a color for the selected Gerber object 2019-12-22 06:52:45 +02:00