-
Notifications
You must be signed in to change notification settings - Fork 175
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Maintain Zoom/Position and Selection when Moving/Rotating/Scaling/Importing #354
Comments
I see, I will fix that. The right click menu already has an entry to set zooming to 100%... |
Zoom out, to extend grid: https://github.com/svenhb/GRBL-Plotter/blob/master/GRBL-Plotter_Setup_1_7_0_2_b.exe |
this is actually on purpose, to re-center the drawing if you accidentally leave the visible area. Will see if I can implement your ideas. |
Check out this version: https://github.com/svenhb/GRBL-Plotter/blob/master/GRBL-Plotter_Setup_1_7_0_2_e.exe |
Beautiful work Sven. I know those changes might seem small and most people might use Inkscape for content creation but these are great quality of life improvements for people just starting out. I noticed the groups are being reselected after transform but only if the user doesn't use one of the modifiers: I'm not sure if there's other transform modifiers (ex. Ctrl when rotating) but if not it might be a good idea to make them all use either Shift or Ctrl. Similarly, auto-select on creation (ex. Create Text) only works if it's the second thing to be added to the work area. That is, if you open the program and create text then the group is not auto-selected. If you create a second object (ex Text) then it's auto selected. Lastly, one other idea that I think would be small but helpful: Add a 'New File (Ctrl+N)' option to the File menu that empties the workspace and GRBL code. It's not hard to do manually by selecting everything in the GRBL code, deleting it, and then telling it to update the work area ... but that might not be super obvious to new users. |
Thanks again for testing and suggestions. I fixed the Shift and Ctrl problem and added a "Clear" to the right-click menu: Usually "Add imported graphic..." is switched off and loading a new file will overwrite the current content. So I think a menu entry 'New File (Ctrl+N)' is not really usefull. |
Thanks again Sven, finally had a moment to test. We're almost there, the zoom level and position do stay the same now when making transforms using Shift/Ctrl. However, it does not re-select the group after the transform as it does without Shift/Ctrl. |
Thank you for adding the right-click menu "Properties of selected path" to the software. I really like this new feature and now I have some small suggestions to add the following content to the newly added properties interface:
|
Describe the solution you'd like
Currently anytime you move, rotate, scale or import something, the UI will zoom to 100% which changes the on-screen position of the object you just modified/added. Additionally, it will deselect the object after the transform. When arranging multiple items on a larger work area this becomes really cumbersome; after every modification I have to re-zoom and relocate the thing I want to work on.
Ideally I'd like the on-screen position of the object to not move after the transform. Additionally, post transform or post addition I'd like the select object to still be selected. Selecting groups in particular can be a bit tricky so having to do it multiple times is painful.
Describe alternatives you've considered
Using 'Fixed Machine Area' ... kind of ... helps but only if you don't need to zoom in to make really precise movements. If you zoom in to make a small movement it will reset the zoom just like above.
Additional context
Before:
After moving the text down just a hair:
I played around with the code tonight and I narrowed it down to:
MainFormGetCodeTransform.TransformStart's pBoxTransform.Reset(); call.
MainFormGetCodeTransform.TransformEnd's VisuGCode.CalcDrawingArea() call. CalcDrawingArea tries to make sure that 0,0 always appears on screen which isn't good if 0,0 wasn't on screen before the transform/addition.
MainFormPictureBox.PictureBox1_MouseUp hardcodes a zoomFactor of 1.
I spent several hours tonight trying to get this to work and had some success but couldn't get the zoom/position to stay the same while also successfully transforming the object.
The text was updated successfully, but these errors were encountered: