Commit Graph

464 Commits

Author SHA1 Message Date
Marius Stanciu 8f1a0c1fdc - added PDF file as type in the Recent File list and capability to load it from there
- PDF's can be drag & dropped on the GUI to be loaded
2019-04-22 19:18:23 +03:00
Marius Stanciu 53444fc685 - fixed the PDF import tool to work with files generated by the Microsoft PDF printer (chained subpaths)
- in PDF import tool added support for paths filled and at the same time stroked ('B' and 'B*'commands)
- added a shortcut key for PDF Import Tool (ALT+Q) and updated the Shortcut list (also with the 'T' and 'R' keys for Gerber Editor where they control the bend in Track and Region tool and the 'M' and 'D' keys for Add Arc tool in Geometry Editor)
2019-04-22 03:28:05 +03:00
Marius Stanciu 108f11eacf - finished adding the PDF import tool although it does not support all kinds of outputs from PDF printers. Microsoft PDF printer is not supported. 2019-04-21 04:43:49 +03:00
Marius Stanciu 52fceae054 - started to work on PDF import tool 2019-04-19 17:12:10 +03:00
Marius Stanciu a27d19c64e - fixed version check 2019-04-17 02:49:12 +03:00
Marius Stanciu 2ba0b494ff - Gerber Editor: finished a new tool: Poligonize Tool (ALT+N in Editor). It will fuse a selection of tracks into a polygon. It will fill a selection of polygons if they are apart and it will make a single polygon if the selection is overlapped. All the newly created filled polygons will be stored in aperture '0' (if it does not exist it will be automatically created)
- fixed a bug in Move command in context menu who crashed the app when triggered
- Gerber Editor: when adding a new aperture it will be store as the last selected and it will be used for any tools that are triggered until a new aperture is selected.
2019-04-15 22:48:22 +03:00
Marius Stanciu d7cb8a5825 - Gerber Editor: reduced the delay to show UI when editing an empty Gerber object
- update the order of event handlers connection in Editors to first connect new handlers then disconnect old handlers. It seems that if nothing is connected some VispY functions like canvas panning no longer works if there is at least once nothing connected to the 'mouse_move' event
- Excellon Editor: update so always there is a tool selected even after the Execllon object was just edited; before it always required a click inside of the tool table, not you do it only if needed.
- fixed the menu File -> Edit -> Edit/Close Editor entry to reflect the status of the app (Editor active or not)
2019-04-15 16:19:30 +03:00
Marius Stanciu db26895b5b - working on a new tool to process automatically PcbWizard Excellon files which are generated in 2 files 2019-04-15 03:29:43 +03:00
Marius Stanciu fc1dfb8550 - cleaned up Measuring Tool 2019-04-14 16:59:20 +03:00
Marius Stanciu 84f3166e2f - Gerber Editor: Remade the processing of 'clear_geometry' (geometry generated by polygons made with Gerber LPC command) to work if more than one such polygon exists 2019-04-13 22:56:46 +03:00
Marius Stanciu a1f7c86996 - made optional the saving of an edited object. Now the user can cancel the changes to the object.
- replaced the standard buttons in the QMessageBox's used in the app with custom ones that can have text translated
- updated the POT translation file and the MO/PO files for English and Romanian language
2019-04-12 22:55:20 +03:00
Marius Stanciu f1b034e50c - fixed a bug in editing a blank Gerber object
- added handlers for the Gerber Editor context menu
2019-04-12 12:58:10 +03:00
Marius Stanciu 036e886af4 - in all Editors, manually deactivating a button in the editor toolbar will automatically select the 'Select' button
- fixed Excellon Editor selection: when a tool is selected in Tools Table, all the drills belonging to that tool are selected. When a drill is selected on canvas, the associated tool will be selected without automatically selecting all other drills with same tool
2019-04-11 20:32:40 +03:00
Marius Stanciu 7c0cfac8de - created menu links and shortcut keys for adding a new empty Gerber objects; on update of the edited Gerber, if the source object was an empty one (new blank one) this source obj will be deleted
- removed the old apertures editing from Gerber Obj selected tab
2019-04-10 20:31:37 +03:00
Marius Stanciu 28dac56051 - Gerber Editor: added Add Track and Add Region functions
- Gerber Editor: fixed key shortcuts
- fixed setting the Layout combobox in Preferences according to the current layout
2019-04-10 17:12:21 +03:00
Marius Stanciu 942d9e2b01 - Gerber Editor: finished the selection on canvas; should be used as an template for the other Editors
- Gerber Editor: finished the Copy, Aperture Add, Buffer, Scale, Move including the Utility geometry
- Trying to fix bug in Measurement Tool: the mouse events don't disconnect
2019-04-10 03:56:56 +03:00
Marius Stanciu 57176b7e28 - default values for Jump To function is jumping to origin (0, 0) 2019-04-07 03:43:58 +03:00
Marius Stanciu 1e57054bd2 - fixed issue with not possible to close the app after a project save (for real this time) 2019-04-06 01:38:19 +03:00
Marius Stanciu da991c103b - fixed issue with not possible to close the app after a project save. 2019-04-06 01:15:29 +03:00
Marius Stanciu 1307026d83 - fixed bug in Geometry Editor in buffer_int() function that created an Circular Reference Error when applying buffer interior on a geometry. 2019-04-06 01:02:59 +03:00
Marius Stanciu e8a0fcaef1 - fixed bug in saving the maximized state
- fixed bug in applying default language on first start
- on activating 'V' key shortcut (zoom fit) the mouse cursor is now jumping to origin (0, 0)
- fixed bug in saving toolbars state; the file was saved before setting the self.defaults['global_toolbar_view]
2019-04-06 00:10:38 +03:00
Marius Stanciu b7fce74ca3 - increased the number of workers in FlatCAM and made the number of workers customizable from Preferences 2019-04-05 16:27:55 +03:00
Marius Stanciu cefb74d792 - Gerber Editor: made geometry transfer (which is slow) to Editor to be multithreaded
- Gerber Editor: plotting process is showed in the status bar
2019-04-05 15:28:32 +03:00
Marius Stanciu c623b8d63c - added support for Gerber format specification D (no zero suppression) - PCBWizard Gerber files support 2019-04-04 16:21:26 +03:00
Marius Stanciu 8fc7c0ffc1 - fixed the quit action when denying the save, to save the default values and the QSettings 2019-04-04 01:20:33 +03:00
Marius Stanciu 8fc916b746 - working on Gerber Editor - added the key shortcuts: wip
- made saving of the project file non-blocking and also while saving the project file, if the user tries again to close the app while project file is being saved, the app will close only after saving is complete (the project file size is non zero)
2019-04-04 00:47:08 +03:00
Marius Stanciu 06ac0b03b1 - modified the calling of the editor2object() slot function 2019-04-03 20:24:47 +03:00
Marius Stanciu 0a9148f30a - fixed plotting in Gerber Editor
- working on GUI in Gerber Editor
2019-04-03 16:00:44 +03:00
Marius Stanciu 40c8ef1cf8 - wip in Gerber editor 2019-04-01 02:54:34 +03:00
Marius Stanciu b202de338f - fixed errors when the File -> New Project is initiated while an Editor is still active.
- the File->Exit action handler is now self.final_save()
2019-04-01 02:47:20 +03:00
Marius Stanciu ecd6472220 - fixed issue #281 by making generation of a convex shape for the freeform cutout in Tool Cutout a choice rather than the default
- fixed bug in Tool Cutout, now in manual cutout mode the gap size reflect the value set
2019-03-31 21:52:27 +03:00
Marius Stanciu 1c1d8bd637 - fix error in plotting Excellon when toggling units
- FlatCAM editors now are separated each in it's own file
- fixed TextTool in Geometry Editor so it will open the notebook on activation and close it after finishing text adding
- started to work on a Gerber Editor
2019-03-29 23:45:50 +02:00
Marius Stanciu c5a77841f8 - update the TCL keyword list
- fix on the Gerber parser that makes searching for '%%' char optional when doing regex search for mode, units or image polarity. This allow loading Gerber files generated by the ECAD software TCl4.4
2019-03-29 13:02:53 +02:00
Marius Stanciu e0417b034b - modified Gerber parser to copy the follow_geometry in the self.apertures
- modified the Properties Tool to show the number of elements in the follow_geometry for each aperture
- modified the copy functions to copy the follow_geometry and also the apertures if it's possible (only for Gerber objects)
2019-03-29 02:13:20 +02:00
Marius Stanciu ecc2c90f2a - changed all the info messages that are of type warning, error or success so they have a space added after the keyword
- changed the Romanian translation by adding more diacritics
2019-03-29 00:26:00 +02:00
Marius Stanciu 6d9eb10a59 - new feature: added ability to edit MultiGeo geometry (geometry from Paint Tool) 2019-03-28 21:11:37 +02:00
Marius Stanciu a7e6914584 - fixed an issue where the Geometry plot function protested that it does not have an parameter that is used by the CNCJob plot function. But both inherit from FaltCAMObj plot function which does not have that parameter so something may need to be changed. Until then I provided a phony keyboard parameter to make that function 'shut up' 2019-03-26 15:53:07 +02:00
Marius Stanciu 43f89397d7 - added all the TCL keywords in the completer keyword list 2019-03-25 04:26:11 +02:00
Marius Stanciu f8cbafe84d - in the TCL completer if the word is already complete don't add it again but add a space 2019-03-25 03:35:26 +02:00
Marius Stanciu 9648bcd693 - added a header in the New Script 2019-03-25 03:14:55 +02:00
Marius Stanciu d67700c38b - changed the autoname for saving Preferences, Project and PNG file 2019-03-22 20:59:02 +02:00
Marius Stanciu 9a2279708e - added an icon and title text for the Toggle Units QMessageBox 2019-03-21 02:02:34 +02:00
Marius Stanciu b09f311b5c - added autocomplete finish with ENTER key for the TCL Shell
- made sure that the autocomplete function works only for FlatCAM Scripts
2019-03-20 16:54:03 +02:00
Marius Stanciu bebb827bd2 - added autocomplete for Code editor; TODO: needs to be enabled only when doing Scripts, right now is available for everyone. 2019-03-19 03:05:00 +02:00
Marius Stanciu 39eaf12fef - added ability to run a FlatCAM Tcl script by double-clicking on the file 2019-03-19 01:27:57 +02:00
Marius Stanciu 6e465d97cd - the Code Editor tab name is changed according to the task; 'save' and 'open' buttons will have filters installed for the QOpenDialog fit to the task 2019-03-19 01:05:25 +02:00
Marius Stanciu 74d1765a95 - added ability to create new scripts and open scripts in FlatCAM Script Editor 2019-03-18 22:59:13 +02:00
Marius Stanciu b79c26ec4b - some changes on how the first layout is applied
- minor bug fixes (typos from copy/paste from another part of the program)
2019-03-18 03:54:31 +02:00
Marius Stanciu 3daed4cbfb - made the translations work when the app is frozen with CX_freeze
- some formatting changes for the application strings
2019-03-18 03:30:47 +02:00
Marius Stanciu abfa78d898 - remade the layout in 2Sided Tool
- work in progress for translation in Romanian - 91%
2019-03-17 15:47:17 +02:00
Marius Stanciu fe6fa826ce - remade the layout in 2Sided Tool
- work in progress for translation in Romanian - 91%
2019-03-17 04:35:04 +02:00
Marius Stanciu 011f684b38 - fixed bug in Paint Tool - Single Poly: no geometry was generated
- work in progress for translation in Romanian - 70%
- changed date
2019-03-16 01:01:00 +02:00
Marius Stanciu 46da2dfd1e - made the layout combobox current item from Preferences -> General window to reflect the current layout
- remade the POT translate file
- work in progress in translation for Romanian language 44%
- fix for showing tools by activating them from the Menu - final fix.
2019-03-16 00:59:59 +02:00
Marius Stanciu c0d21ee4e0 - made the layout combobox current item from Preferences -> General window to reflect the current layout
- remade the POT translate file
- work in progress in translation for Romanian language 44%
- fix for showing tools by activating them from the Menu - final fix.
2019-03-14 01:09:06 +02:00
Marius Stanciu 255254a292 - some strings were left outside the translation formatting - fixed
- finished the replacement of '_' symbols throughout the app which conflicted with the _() function used by the i18n
2019-03-11 20:00:07 +02:00
Marius Stanciu e54ee9b569 - fixed the Properties Project menu entry to work on the new way
- in Properties tool now the Gerber apertures show the number of polygons in 'solid_geometry' instead of listing the objects
2019-03-11 19:30:38 +02:00
Marius Stanciu 9d33e08ecf - added a visual cue in Menu -> Edit about the entries to enter the Editor and to Save & Exit Editor. When one is enabled the other is disabled.
- grouped all the UI files in flatcamGUI folder
2019-03-11 12:23:26 +02:00
Marius Stanciu 29722de6ac - fixed the Properties Project menu entry to work on the new way
- in Properties tool now the Gerber apertures show the number of polygons in 'solid_geometry' instead of listing the objects
2019-03-11 03:31:33 +02:00
Marius Stanciu 91549587e2 - changed some icons here and there 2019-03-11 02:08:29 +02:00
Marius Stanciu f51c146f71 - fixed an issue created by the fact that I used the '_' char inside the app to designate unused info and that conflicted with the _() function used by gettext
- made impossible to try to reapply current language that it's already applied (un-necessary)
2019-03-11 00:41:49 +02:00
Marius Stanciu 3c2cc96b62 - updated the App.final_save() function 2019-03-10 23:56:06 +02:00
Marius Stanciu a6e23b28a7 - fix app crash for the case that there are no translation files
- fixed some forgotten strings to be prepared for internationalization in ToolCalculators
- fixed Tools menu no longer working due of changes
- added some test translation for the ToolCalculators (in Romanian)
- fixed bug in ToolCutOut where for each tool invocation the signals were reconnected
2019-03-10 17:12:58 +02:00
Marius Stanciu 53627b566c - added a fix in the Gerber parser when adding the geometry in the self.apertures dict for the case that the current aperture is None (Allegro does that)
- finished support for internationalization by adding a set of .po/.mo files for the English language. Unfortunately the final action can be done only when Beta will be out of Beta (no more changes) or when I will decide to stop working on this app.
- changed the tooltip for 'feedrate_rapids' parameter to point out that this parameter is useful only for the Marlin postprocessor
2019-03-10 14:34:13 +02:00
Marius Stanciu de79370fb3 - sorted the languages in the Preferences combobox 2019-03-09 00:34:04 +02:00
Marius Stanciu 4422aee5df - fix for issue #262: when doing Edit-> Save & Close Editor on a Geometry that is not generated through first entering into an Editor, the geometry disappear 2019-03-08 16:28:55 +02:00
Marius Stanciu 6ba037fd83 - fixed issue when doing th CTRL (or SHIFT) + LMB, the focus is automatically moved to Project Tab
- further work in internationalization, added a fallback to English language in case there is no translation for a string
2019-03-08 14:10:23 +02:00
Marius Stanciu 328182d863 - made sure that when the Measuring Tools is active after last click the Status bar is no longer deleted 2019-03-08 01:42:01 +02:00
Marius Stanciu 574184f44c - fixed Measuring Tool - after doing a measurement the Notebook was switching to Project Tab without letting the user see the results
- more work on the translation engine; the app now restarts after a language is applied
- added protection against using Travel Z parameter with negative or zero value (in Geometry).
2019-03-08 01:32:18 +02:00
Marius Stanciu 934d971002 - WIP for internationalization 2019-03-07 18:04:11 +02:00
Marius Stanciu 94d2fb23e2 - made showing a shape when hovering over objects, optional, by adding a Preferences -> General parameter
- starting to work in internationalization using gettext()
- Finished adding _() in FlatCAM Tools
2019-03-07 17:37:38 +02:00
Marius Stanciu b20a6a1a85 - modified the way the FlatCAM Tools are run from toolbar as opposed of running them from other sources
- some Gerber UI changes
2019-03-06 15:22:35 +02:00
Marius Stanciu 996b63cf4e - modified the grbl-laser postprocessor lift_code()
- treated an error created by Z_Cut parameter being None
- changed the hover and selection box transparency
2019-03-04 21:19:55 +02:00
Marius Stanciu d775e999fe - remade the CutOut Tool
- finished Manual Cutout Tool by adding utility geometry to the cutting geometry
- added CTRL + click behavior for adding manual bridge gaps in Cutout Tool
- in Tool Cutout added shortcut key 'Escape' to cancel the current adding of bridge gaps
2019-03-04 16:09:41 +02:00
Marius Stanciu 85ff3805ae - finished work on object hovering 2019-03-04 03:52:12 +02:00
Marius Stanciu 06fb48eb6a - minor UI changes for Gerber UI
- ~~after an object move, the apertures plotted shapes are deleted from canvas and the 'mark all' button is deselected~~
- after move tool action or any other transform (rotate, skew, scale, mirror, offset), the plotted apertures are kept plotted.
- changing units now will convert all the default values from one unit type to another
- prettified the selection shape and the moving shape
- initial work in object hovering shape
2019-03-04 03:47:19 +02:00
Marius Stanciu 9f60df850e - progress in ToolChange Custom commands replacement and rename 2019-02-28 18:02:29 +02:00
Marius Stanciu 546f643035 - added a change that when a double click is performed in a object on canvas resulting in a selection, if the notebook is hidden then it will be displayed 2019-02-28 16:39:44 +02:00
Marius Stanciu 1839843fad - added toggle effect for the tools in the toolbar.
- enhanced the toggle effect for the tools in the Tools Toolbar and also for Notebook Tab selection: if the current tool is activated it will toggle the notebook side but only if the installed widget is itself. If coming from another tool, the notebook will stay visible
2019-02-27 17:32:52 +02:00
Marius Stanciu 18132eab4c - made the polygon fusing in modified Gerber creation, a list comprehension in an attempt for optimization
- when right clicking the files in Project tab, the Save option for Excellon no longer export it but really save the original.
2019-02-27 00:14:53 +02:00
Marius Stanciu 7b4ea1dfa9 - added a Mark All button in the Gerber aperture table.
- because adding shapes to the shapes collection (when doing Mark or Mark All) is time consuming I made the plot_apertures() threaded.
2019-02-26 23:12:15 +02:00
Marius Stanciu 5cade2ec4e - fixed mouse selection on canvas, mouse drag, mouse click and mouse double click 2019-02-26 21:37:43 +02:00
Marius Stanciu 874ce11d84 - work in progress to Toolchange_Custom code replacememnt -> finished the parse and replace function 2019-02-26 17:03:57 +02:00
Marius Stanciu 386c3408ca - added in Preferences a new Category: Gerber Advanced Options. For now it controls the display of Gerber Aperture Table and the "follow" attribute4
- fixed FlatCAMGerber.merge() to merge the self.apertures[ap]['solid_geometry'] too
- started to work on a new feature that allow adding a ToolChange GCode macro - GUI added both in CNCJob Selected tab and in CNCJob Preferences
- added a limited 'sort-of' Gerber Editor: it allows buffering and scaling of apertures
2019-02-26 00:33:31 +02:00
Marius Stanciu d43de2ea77 - fixed the Gerber object UI layout
- added ability to mark individual apertures in Gerber file using the Gerber Aperture Table
2019-02-25 16:28:32 +02:00
Marius Stanciu a25fc1e88c - fixed bug in Set Origin function 2019-02-24 17:10:01 +02:00
Marius Stanciu 8acb3b782d - fixed bug that after changing the layout all the toolbar actions are no longer working 2019-02-24 16:43:46 +02:00
Marius Stanciu fac11586b3 - added all the Tools in a new ToolBar 2019-02-24 16:22:21 +02:00
Marius Stanciu 322a63ef3b - ability to double click the FlatConfig files and open them in the FlatCAM Code Editor - fixed and verified 2019-02-23 22:16:53 +02:00
Marius Stanciu 14dc34a18c - when saving a file from Code Editor and there is no object active then the OpenFileDialog filters are reset to FlatConfig files. 2019-02-23 20:39:38 +02:00
Marius Stanciu 88c9001784 - added a Toggle Code Editor Menu and key shortcut
- added the ability to open FlatConfig configuration files in COde Editor, Modify them and then save them.
- added ability to double click the FlatConfig files and open them in the FlatCAM Code Editor (to be verified)
2019-02-23 20:27:26 +02:00
Marius Stanciu 6d0ed52308 - prettified the defaults files and the recent file. Now they are ordered and human readable 2019-02-23 19:06:20 +02:00
Marius Stanciu 2291a58727 - fixed a small bug in the Tool Solder Paste: the App don't take into consideration pads already filled with solder paste. 2019-02-23 18:51:42 +02:00
Marius Stanciu 3bad47b3be - updated the Properties Tool to include more information's, also details if a Geometry is of type MultiGeo or SingleGeo
- remade the Preferences GUI to include the Advanced Options in a separate way so it is obvious which are displayed when App Level is Advanced.
2019-02-23 16:02:45 +02:00
Marius Stanciu 2843810ab3 - some GUI elements changes 2019-02-23 06:11:42 +02:00
Marius Stanciu 21f970204e - added the ability of context menu inside the GuiElements.FCCombobox() object.
- remade the UI for ToolSolderPaste. The object comboboxes now have context menu's that allow object deletion. Also the last object created is set as current item in comboboxes.
2019-02-23 03:38:39 +02:00
Marius Stanciu a67e31bda3 - added ability to toggle globally the display of ToolTips. Edit -> Preferences -> General -> Enable ToolTips checkbox.
- added true fullscreen support (for Windows OS)
2019-02-22 22:23:29 +02:00
Marius Stanciu 7272b46dd9 - added Repetier postprocessor file
- removed "added ability to regenerate objects (it's actually deletion followed by recreation)" because of the way Python pass parameters to functions by reference instead of copy
2019-02-22 16:54:58 +02:00
Marius Stanciu 60b08dfec5 - date changed 2019-02-22 03:28:56 +02:00
Marius Stanciu 18f38999c4 - added ability to regenerate objects (it's actually deletion followed by recreation) 2019-02-22 03:28:04 +02:00
Marius Stanciu 45b5cba68a - fixed issue with not updating correctly the plot kind (all, cut, travel) when clicking in the CNC Tools Table plot buttons
- made the GCode Editor for ToolSolderPaste clear the text before updating the Code Editor tab
- all the Tabs in Plot Area are closed (except Plot Area itself) on New Project creation
2019-02-22 00:37:57 +02:00