Commit Graph

425 Commits

Author SHA1 Message Date
Ali Khalil
ce4b43bd36 Menu icons location changes restored and will be addressed in future update with better mechanism. FCLabel calls updated where possible based on new method parameters 2022-04-18 11:36:08 +03:00
Ali Khalil
84cdc87030 FCLabel behavior modified to match updated method based on PR discussion 2022-04-18 09:18:17 +03:00
Ali Khalil
5cc869c1fd Application wide updates for dark mode support including dark canvas option and better colors 2022-04-17 22:41:02 +03:00
Ali Khalil
adad500f15 Theme option added to match OS appearance. Sets appearance on application launch. 2022-04-17 21:48:31 +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