LaserWeb / LaserWeb4

Collaborative effort on the next version of LaserWeb / CNCWeb
GNU Affero General Public License v3.0
711 stars 192 forks source link

Hiding irrelevant operations / tabs #214

Closed ghost closed 7 years ago

ghost commented 7 years ago

Example 1: Use drags only RASTER / IMAGE into operations:

Current Behaviour: User can select Laser Cut and CNC operations (If not educated, it seems perfectly logical) - but gets NO gcode (since you cant CUT a Raster...)

Expected Behaviour: Only show operations relevant to IMAGE types.

Example 2: User drags vectors into operation

Current Behavior: User selects Laser Raster because we earlier told him thats the one that "colors in" an image

Expected Behaviour: Hide Raster operations

Example 3: User drags Vectors and Bitmaps into operation

Current behavior: LW allows user to do that, but only one of the types will succeed for any operation. The other will fail.

Expected Behavior: Disallow or warn user? Maybe ask user "Cannot be done this way, can I split it into two operations?" and then split it for the user?

Example 4: (Related to #199's plans also) User runs a Laser only

Current Behavior: Shows CNC jobs too

Expected Behavior: Like we had in LW3: In Settings: Machine - specify if its a laser, 3d printer or CNC: If Laser is selected, only Laser type CAM operations are shown. If CNC, then only CNC operations are shown. If 3D Printing, we should hide the CAM tab, and add a new tab, 3D Printing that only gets shown in 3DP mode.

jorgerobles commented 7 years ago

Got it working, but do we traverse all the documents children (snail slow), not?

BTW, I'm not friend of forbidding nothing (#3) better warning and user decides. Also, maybe a vector2raster conversion render #1 useless

ghost commented 7 years ago

Not sure (:

I dont know how deep down users will place such craziness. Just file on its own is probably definite. But sometimes images can be embedded in an SVG. How deep? Inside a group, inside a layer? I dunno (; I'm a dxf guy

jorgerobles commented 7 years ago

Yes, SVG can embed images :)

ghost commented 7 years ago

So, i take it that means traverse all children? Or at least "all children in what was just dropped"

tbfleming commented 7 years ago

Example 3:

Current behavior: operations filter what they support. Why give an error or warn?

ghost commented 7 years ago

@tbfleming true, that can happen too... Thats why i suggested asking user if you can split it on the first drag maybe? (trailing G_+ and feedback from the 500+-newbie LW4 users (According to google analytics) most dont understand it. So, either that, or a documentation fix

tbfleming commented 7 years ago

I suspect restricting the set of operations based on what's present in the selection may be enough. If there's an image somewhere in the selection, allow raster. If there's a vector somewhere in the selection, allow vector ops.

ghost commented 7 years ago

Agreed... If both are present, presenting all options is the logical answer

jorgerobles commented 7 years ago

Ok, then traverse children for images. I'm still worried for large files performance.

ghost commented 7 years ago

Ah Performance, that incompatible thing with "user ability"

ghost commented 7 years ago

It amazes me the little things we now bitch about when you compare what we have with what we had before you awesome people joined the project....

ghost commented 7 years ago

When I was working on the CAM tree concept in https://github.com/LaserWeb/LaserWeb3/issues/52 - arthur wolf commented about how I should keep the UI simple to work easier with Arty people... I argued that I prefer the engineering approach. I made a joke about "note to self, laserweb4" and then a mass of buttons confusing Homer... I wonder if we did achieve that goal (; (Make the interface harder to use, thereby getting rid of users who doesnt understand the real concepts - case in point, if user doesnt know difference between vector and bitmap)

lots of buttons

jorgerobles commented 7 years ago

Last thing. What do you prefer, hide operation types 👎 or make them unselectable 👍 ?

cojarbi commented 7 years ago

Indeed this will solve many many support questions

jorgerobles commented 7 years ago

Tada!

cojarbi commented 7 years ago

Wonderfull @jorgerobles

ghost commented 7 years ago

@jorgerobles ! Man that was too fast!

cprezzi commented 7 years ago

Am I the only one who could only do "laser cut" operation now? When I drag a raster image, the operation is showing "Laser Raser" but all params are from "Laser cut", so I can't define all params and no gcode is generated.

jorgerobles commented 7 years ago

Checking...

cprezzi commented 7 years ago

All vector operations are working, just raster is not. I think you need to fire the dropdown change event after activate/inactivate dropdown items.

jorgerobles commented 7 years ago

Yes.. that is. Will be easy.

jorgerobles commented 7 years ago

@cprezzi Done.

cprezzi commented 7 years ago

Jep, works just fine :)