Commit Graph

424 Commits

Author SHA1 Message Date
Marius Stanciu
d8a0be84a3 - replaced all the FCLabel widgets that have color HTML with the new FCLabel widget that uses parameters for 'color' and weight 2022-04-18 03:41:04 +03:00
Marius Stanciu
04357843fe - updated the FCLabel widget 2022-04-18 02:28:24 +03:00
Marius Stanciu
e2770776b7 - in Geometry Editor, in Copy Tool added the 2D copy-as-array feature therefore finishing this editor plugin upgrade 2022-04-18 01:23:01 +03:00
Marius Stanciu
4d496e4539 - in Geometry Editor, in Circle Tool added UI, cursor data, radius projection and ability to add ellipses 2022-04-16 16:01:39 +03:00
Marius Stanciu
972d5c8836 - in Geometry Editor, in Move Tool and Copy Tool added UI's, move projection and cursor data. Also, now require acquiring reference point before the action. 2022-04-16 13:38:38 +03:00
Marius Stanciu
1d1226b628 - in Geometry Editor, the Rectangle Editor Tool allows creation of rectangles with the mouse but projecting the length and width dimensions by typing a number (the choice of setting the length or width is based on the direction of the mouse move after setting the first point)
- in Geometry Editor, the Rectangle Editor Tool has now Ui which allows adding a rectangle by parameters
2022-04-16 02:03:11 +03:00
Marius Stanciu
d8129c8825 - in Geometry Editor moved the simplification feature in its own Editor Tool (plugin)
- in Geometry Editor the default draw color is now black
2022-04-15 23:14:27 +03:00
Marius Stanciu
6bab9be25a - in Geometry Editor, for the Polygon Tool added the UI, the length projection and the cursor data, just like for the Path Tool 2022-04-14 22:00:24 +03:00
Marius Stanciu
377d79d413 - added ability to control the color of the project items for the dark theme too 2022-04-14 17:59:32 +03:00
Marius Stanciu
53c92306dd - in Geometry Editor, for Path tool, added UI that close on end of the Path tool action; it displays the projected length which now is kept for as long as it is wanted, allowing for path automation in case of repetitive lengths 2022-04-14 14:01:01 +03:00
Marius Stanciu
dd4a0dac99 - in Geometry Editor for the Path tool but only when using the 3D engine graphic mode, the mouse cursor is followed by position data 2022-04-14 02:42:07 +03:00
Marius Stanciu
b049a64684 - in Geometry Editor added a new feature. While drawing a 'Path' now the user can project a direction by moving the mouse cursor in a certain direction and after that by typing a number or an arithmetic simple expression, a line segment will be drawn in that direction with the specified length from the last point 2022-04-14 01:00:20 +03:00
Marius Stanciu
804786c6c2 - in Geometry Editor - fixed the Explode tool to work on the result of adding Text geometry
- all the Geometry Editor plugins are moved inside another folder and the UI's are moved into their own class
2022-04-13 18:33:05 +03:00
Marius Stanciu
a59f996819 - some reformatting and class rename
- when clicking the coordinates toolbars in the status bar now the Distance Plugin is shown and if already displayed, it is closed (toggle action)
2022-04-03 15:06:36 +03:00
Marius Stanciu
ada48269a9 - refactored the imports in the Plugins, moved almost all imports in the AppTool file
- fixed a number of issues, mostly leftovers from moving the UI of a Plugin in its own class
- fixed some bugs in the Punch Gerber plugin
- fixed some bugs where the 'pool' parameter was not passed when creating shapes collections (in 3D graphic mode); I wonder how it worked until now
- added a new feature in the Isolation Plugin: now for all the isolation Geometry objects this plugin can do a supplementary simplification of the geometry using the tolerance parameter defined in the General Parameters. This should lead to a reduced number of tool lifts when doing corners
2022-03-31 19:28:19 +03:00
Marius Stanciu
e1824a09f7 - make sure that the state of the workspace is saved correctly on change 2022-03-31 11:40:50 +03:00
Marius Stanciu
c4151631ec - changed the app main icons, hopefully they are more visible on black backgrounds than the ones that FlatCAM has 2022-03-31 11:28:35 +03:00
Marius Stanciu
c0b3f6ebde - some minor changes in Distance Plugin
- when changing workspace orientation fixed leaving behind the old frame on the cavnas
2022-03-30 17:41:22 +03:00
Marius Stanciu
c69f9dc2d9 - a minor fix in the Plotcanvas() class
- fixed the OR-tools path optimization (it required now a cast to int when creating the distances' matrix)
2022-03-30 01:30:07 +03:00
Marius Stanciu
a3f9d7c248 - added ability to change the mouse cursor color on the fly
- in Distance Plugin made sure that the 'big cursor' (when is used) is black in color (visible in most situations)
- in Distance Plugin, for the 2D graphic mode activated the utility line
2022-03-29 02:14:44 +03:00
Marius Stanciu
4745e1cab9 - in Distance Plugin added the ability to use a big cursor; not finished: when the grid is off it is not displayed 2022-03-28 20:06:11 +03:00
Marius Stanciu
cd42c40198 - minor change 2022-03-23 14:21:53 +02:00
Marius Stanciu
a5544615c5 - optimized the UI for the CNCJob object
- when loading a Gcode file in the app now the application makes an attempt in adding information's such that the CncJob UI works correctly; if so information's are not found then assumptions are made. Only for GCode that is detected as made from an Excellon object
2022-03-21 01:35:47 +02:00
Marius Stanciu
730ef529dc - fixed issues in the Scale feature of the Film Plugin
- in the Scale feature of the Film plugin added ability to scale by a length amount
2022-03-17 02:29:28 +02:00
Marius Stanciu
dc11f1be50 - installed an eventFilter for the Sliders in the Preferences tab such that only if a slider has focus the mouse wheel will change its value
- in Preferences made sure that the changes of the scrollbar no longer interfere with signalling changes
2022-03-12 18:16:15 +02:00
Marius Stanciu
37e31b0159 - added to the application an older contribution by another user: Columnar Layout for the Preferences Tab. It can be set in Preferences -> General -> GUI section 2022-03-12 01:05:54 +02:00
Marius Stanciu
4a4cb4301c - changed the look for the Location/Jump To widgets; it is now like a cross being more relevant visually
- the Numeric Move now can take only a parameter instead of a tuple but only if the comma is added, the not added parameter will be assumed 0.0. Therefore ",10" will move to (0, 10).
2022-03-11 19:29:31 +02:00
Marius Stanciu
a3a8fbf8d5 - in the Grid Toolbar, the Grid Y entry is now by default hidden and shown only when there is a need (grid gap link is disabled) in order to maximize the status bar space availability 2022-03-11 14:48:22 +02:00
Marius Stanciu
4398b3468f - added a new feature: now in the context menu (and main menu -> Edit) there is a new command that allow to move a selection of objects at specified numeric coordinates (either absolute or relative to current position) 2022-03-11 13:51:29 +02:00
Marius Stanciu
65cf80165c - made sure that the app starts with toolbar's locked 2022-03-10 18:24:18 +02:00
Marius Stanciu
311f2d3531 - skew feature in Film Plugin now have multiple options. skew can be done by length, by angle and by ratio (factor) 2022-03-10 16:02:12 +02:00
Marius Stanciu
31eb06d5a9 - fixed multiple issues in the App objects related to wrong usage of self.obj_options attribute instead of self.app.options attribute
- remade the Film Plugin such that the `skew` feature is now done in length units as opposed with the previous usage of angles
- refactored some big methods from the Film Plugin
2022-03-10 14:22:09 +02:00
Marius Stanciu
da20db5527 - fixed an issue where using the 'G' shortcut key in Editors will not toggle the grid snap
- fixed an issue in the Excellon Editor where selecting the drills did not highlight them but instead made them invisible (although the selection still worked)
- fixed an issue in the Gerber Editor where selecting one shape will auto-select all the shapes made with the same aperture
2022-03-10 00:13:47 +02:00
Marius Stanciu
8900c89214 - added a few new GUI custom widgets
- removed the status bar Tcl Shell toggleable QLable. Now the Tcl Shell is toggled by clicking the Message in the Status bar
2022-03-09 14:20:09 +02:00
Marius Stanciu
843be488a5 - some changes to the Preferences 2022-02-24 00:14:58 +02:00
Marius Stanciu
72186cf8b8 - fixed an issue due of recent changes that made the application think that is run always for the first time; fixed not applying the selected language translation
- some more code is refactored in the Preferences
- the axis will now be drawn on the canvas as they were left in the previous run (just like the HUD and the Workspace)
- for processors with less than 4 cores now the default number of workers is 1 (changed from 2)
- some graphical settings go now directly to the defaults dictionary and will not pass through the `options` app dictionary
2022-02-20 22:32:54 +02:00
Marius Stanciu
7acabdfa0f - fixed an issue where the selected application translation language is not remembered as was selected and defaulting to English language
- refactored code in Preferences section
2022-02-20 20:37:31 +02:00
Marius Stanciu
65d8dcc0b2 - the application now uses only the default values from the app.options dict, the app.defaults dict holds the definitive default values
- fixed some outstanding issues from the PyQt6 port
- PEP8 fixes
- minor fixes
- updated the saving of Preferences to update the self.options too: the `Apply` action will update the self.options but the `Save` action will save the updated preferences to the file on disk
2022-02-18 23:06:58 +02:00
Marius Stanciu
1681b327ed - refactoring all the references to object options property to obj_options to make a difference with the application options property 2022-02-16 10:47:12 +02:00
Marius Stanciu
529148c60d - made sure that the redraw_on_top_on_project_click works properly and only on mouse click release in the Project list
- made sure that the `redraw_on_top_on_project_click` works only on single object selections
2022-02-11 11:06:08 +02:00
Marius Stanciu
5421b65b9e - made sure that the new feature of redrawing Gerber on top is not activated when that Gerber object is disabled
- added ability to turn off the outline plotting for Gerber objects (will speed up the plotting but the plotting visual quality will degrade); controlled from Preferences -> Gerber -> General
- plotting visuals in 3d graphic mode will no longer create some unnecessary lists
2022-02-11 10:42:03 +02:00
Marius Stanciu
4b611f5ce3 - a new feature that when selecting an object in the Project Tab, that object is redrawn over the other objects, in top position. Feature controlled from Preferences -> Gerber -> General. 2022-02-11 02:35:40 +02:00
Marius Stanciu
3d4e195ae1 - added a new preprocessor: default_laser
- in the app added a new tool type: "L" (laser) which when selected will autoselect the `default_laser` preprocessor in Milling Plugin
2022-02-10 14:01:32 +02:00
Marius Stanciu
056ff05e29 - most of the logging (except in the Editors) is now done by the AppLogging class 2022-01-31 02:14:14 +02:00
Marius Stanciu
fa25644f8f - now the verbose log parameter from the Preferences can take 3 values (0, 1, 2). Value = 0 means that the logging is disabled (mostly), value = 1 means that the logging is only in console and value = 3 means that the logging is now displayed in the Tcl box 2022-01-31 01:25:30 +02:00
Marius Stanciu
dbc2e5c381 - finished the UI for adding a new parameter that is used in conjunction with the laser preprocessors: laser minimum power parameter which should help in doing a full power up/down cycle (should prolong the lifetime for the laser diode)
- fixed some UI issues for the Milling and Drilling plugins when using a `laser` preprocessor
2022-01-30 19:03:20 +02:00
Marius Stanciu
ff805880e1 - fixed the Follow plugin not marking correctly the resulting Geometry objet as a multigeo
- fixed the Cutout plugin not working with Geometry objects that are made out of a MultiLineString
2022-01-25 22:31:50 +02:00
Marius Stanciu
ba8b16e54f - fixed some issues due of the above hack 2022-01-19 21:35:26 +02:00
Marius Stanciu
cdf6872e5e - updated the header of the postprocessos with 'laser' to show essential informations like some of them do not move on the Z axis
- make sure that the laser postprocessor that do move on the Z axis (like 'GRBL_laser_Z') accept negative values for the Z focus
- fixed issue in highlighter such that the keywords that have an underscore included are highlighted
- rearranged the default keywords
- fixed the generatecncjob() method default parameters to reflect new data structure names
- in Geometry object the default self.options dictionary is updated with keys that reflect new data structure
2022-01-19 02:25:40 +02:00
Marius Stanciu
2430158334 - fixing an issue with not building the UI for the generated objects when running a script and then trying to enable/disable the plots
- attempting to add a feature in the text editors to autoselect all words in a document that are the same as the one that was clicked
- all the colors set in Preferences now have to be in the 8digits format RGBA (including the alpha channel as a suffix) - it is required to delete the current preferences files
2022-01-17 21:26:10 +02:00