UI Idea -- Gradient Fill / Stroke

Flesh out your ideas for new or improved Inkscape features before submitting a request.
SeanJM
Posts: 16
Joined: Sun Feb 20, 2011 1:36 am

UI Idea -- Gradient Fill / Stroke

Postby SeanJM » Sun Feb 20, 2011 5:13 am

Newer version:
Image

An idea for making the gradient window better

Here is why I turned it into a scroll list instead of the drop down:

The list allows a few things that the drop down doesn't.

    1. Searching
    2. Removal of gradients using the x button, instead of vacuum def's, which does not clear out all gradients. The x button also makes deletion of gradients simple.
    3. Drag and Drop of gradients onto objects.
    4. Simple gradient renaming

(#) Gradient, the # means how many objects are connected to the gradient.

The x's allow you to delete the gradient.
Attachments
gradient_editor.png
Gradient List
gradient_editor.png (24.1 KiB) Viewed 6619 times
Last edited by SeanJM on Sun Mar 20, 2011 10:50 am, edited 4 times in total.

User avatar
prkos
Posts: 1625
Joined: Tue Nov 06, 2007 8:45 am
Location: Croatia

Re: UI Idea -- Gradient Editor

Postby prkos » Sun Feb 20, 2011 6:13 am

Did you add this to the bug tracker? https://bugs.launchpad.net/inkscape/
just hand over the chocolate and nobody gets hurt

Inkscape Manual on Floss
Inkscape FAQ
very comprehensive Inkscape guide
Inkscape 0.48 Illustrator's Cookbook - 109 recipes to learn and explore Inkscape - with SVG examples to download

SeanJM
Posts: 16
Joined: Sun Feb 20, 2011 1:36 am

Re: UI Idea -- Gradient Editor

Postby SeanJM » Sun Feb 20, 2011 1:23 pm


User avatar
brynn
Posts: 10309
Joined: Wed Sep 26, 2007 4:34 pm
Location: western USA
Contact:

Re: UI Idea -- Gradient Editor

Postby brynn » Sun Feb 20, 2011 9:23 pm

Hi SeanJM,
Welcome to InkscapeForum! Image

I have some questions and comments:

1 - I'm not sure "Gradient Editor" would be the best name for this feature, because we already have a gradient editor. As I understand, this would replace what we now see in the Fill and Stroke dialog, when a gradient is used? I guess it doesn't really have a name.... Here's what we currently see:
fsgraddia.PNG
fsgraddia.PNG (21.46 KiB) Viewed 6559 times

Where would the Duplicate and Edit buttons, as well as the Repeat options, be? Granted we can invoke the gradient editor from the Gradient tool control bar, so having the edit button in the Fill and Stroke dialog doesn't seem absolutely necessary. I'm not sure if Edit menu > Duplicate actually will duplicate a gradient (and a gradient only); I've never tried it. But if it does, then those 2 buttons would not be necessary. And I suppose the Repeat options could be added to the gradient tool control bar??

2 - Also, we currently have a dropdown menu to display the gradients. And I'm not clear how your idea of using a scrollbar is really an improvement. Imho, the developers' time and energy should be used for clear and needed improvements. Maybe you could exlplain this, maybe I just don't understand something? I'm not being critical, and hope I don't sound negative. I certainly know little to nothing about coding and development, so maybe what your proposing is a smaller load (size) or easier to code or something??? Anyway, I just want to offer my perspective, not criticize.

3 - Would all the gradients ever be named Gradient 1? Or is the "1" not a naming/numbering convention, and otherwise, what is the purpose of that number? Is the grayed out gradient because it's not being used (according to the "(0)")?

4 - I don't understand what benefit it is to know how many objects are using a particular gradient. Maybe you could explain?

5 - I'm not sure if the red circle/X would be needed since we have File menu > Vacuum Defs.....which has the added bonus of deleting all unused/unneeded gradients at once. Plus, you can't accidentally delete one. But again, if I'm not understanding, please explain :D

At least a couple of years ago, I proposed some improvements to the gradient editor (the one we have now). And honestly, I don't remember if my proposal ever made it to Launchpad.....actually it might have been before Inkscape moved its bug tracker to LP (can't remember for sure). Anyway, at that time I was told that no changes would ever be made to the gradient editor, because it was planned to be eliminated, in what I understood would be very soon. I was advised to learn how to create gradients without the editor. But that was 3 version upgrades ago, and still the gradient editor exists. So I'm not sure what's going on there. Maybe ~suv knows more???
Off topic:
(And I might mention that I've found it hard not to use it at all. If I have a gradient that is 2 or 3 levels below the top (in -order) I've found no way to add new stops, without raising the gradient to the top (or opening the editor). Then of course I have to lower it back down when I've finished. IMO, the gradient editor should be kept, and improved upon.)

Sorry for going off track. I do like your idea to have the color controls on the same tab, and maybe that's what you mean by calling it a gradient editor?? That really would be convenient. And I'd love to see the Stops controls/options there as well. It can be really helpful to be able to set the stops using a numerical value, rather than just being really careful when sliding them "manually" on the canvas (especially looking towards the time when Inkscape will be able to save gradient!). Well ok, both ways are nice to have.

So those are my comments and questions. I'll be interested to see your exlanations for some of the things that I don't understand!
All best :D

SeanJM
Posts: 16
Joined: Sun Feb 20, 2011 1:36 am

Re: UI Idea -- Gradient Editor

Postby SeanJM » Mon Feb 21, 2011 12:50 am

brynn wrote:Hi SeanJM,
Welcome to InkscapeForum! Image

Thank you.
Image
Based on your questions I have made some additions to my design.

brynn wrote:I have some questions and comments:

1 - I'm not sure "Gradient Editor" would be the best name for this feature, because we already have a gradient editor.


Maybe, although I would replace the need for the gradient editor with this all-in-one solution.

brynn wrote:As I understand, this would replace what we now see in the Fill and Stroke dialog, when a gradient is used? I guess it doesn't really have a name.... Here's what we currently see:
fsgraddia.PNG

Where would the Duplicate and Edit buttons, as well as the Repeat options, be?

I added those.

brynn wrote:2 - Also, we currently have a dropdown menu to display the gradients. And I'm not clear how your idea of using a scrollbar is really an improvement. Imho, the developers' time and energy should be used for clear and needed improvements.

I agree, :)

brynn wrote:Maybe you could exlplain this, maybe I just don't understand something? I'm not being critical, and hope I don't sound negative.


I probably didn't explain it enough. I hope I don't sound negative too.


brynn wrote:I certainly know little to nothing about coding and development, so maybe what your proposing is a smaller load (size) or easier to code or something???

I know very little about the coding side also.

brynn wrote:
Anyway, I just want to offer my perspective, not criticize.


Sure, I appreciate it, thank you.

Here is why I turned it into a scroll list instead of the drop down:

The list allows a few things that the drop down doesn't.

1. Searching
2. Removal of gradients using the x button, instead of vacuum def's, which does not clear out all gradients. The x button also makes deletion of gradients simple.
3. Drag and Drop of gradients onto objects.
4. Simple gradient renaming

brynn wrote:3 - Would all the gradients ever be named Gradient 1?

This is honnestly just an error on my part, it's changed in my recent design.

brynn wrote:Or is the "1" not a naming/numbering convention, and otherwise, what is the purpose of that number?

It would act as inkscape currently acts to name gradients.

brynn wrote:Is the grayed out gradient because it's not being used (according to the "(0)")?

Yes.

brynn wrote:4 - I don't understand what benefit it is to know how many objects are using a particular gradient. Maybe you could explain?

Could just gray it out, it's just a way to quickly gauge how often the gradient is used, so you can manage the gradients clearer.

brynn wrote:5 - I'm not sure if the red circle/X would be needed since we have File menu > Vacuum Defs

Doesn't always work. And sometimes, we have an object that is using the gradient somewhere even though we want to delete it and we don't know which little object is using it because we have a lot of objects in the drawing. Having the ability to selectively remove gradients would be much easier, as the gradient would be removed whether is was being used by an object of not.

brynn wrote:.....which has the added bonus of deleting all unused/unneeded gradients at once. Plus, you can't accidentally delete one. But again, if I'm not understanding, please explain :D


My illustration wasn't as clear as it could be.
I would also add, that deleting a gradient should be an undoable operation.

brynn wrote:At least a couple of years ago, I proposed some improvements to the gradient editor (the one we have now). And honestly, I don't remember if my proposal ever made it to Launchpad.....actually it might have been before Inkscape moved its bug tracker to LP (can't remember for sure). Anyway, at that time I was told that no changes would ever be made to the gradient editor, because it was planned to be eliminated, in what I understood would be very soon. I was advised to learn how to create gradients without the editor. But that was 3 version upgrades ago, and still the gradient editor exists. So I'm not sure what's going on there. Maybe ~suv knows more???


brynn wrote:
Off topic:
(And I might mention that I've found it hard not to use it at all. If I have a gradient that is 2 or 3 levels below the top (in -order) I've found no way to add new stops, without raising the gradient to the top (or opening the editor). Then of course I have to lower it back down when I've finished. IMO, the gradient editor should be kept, and improved upon.)




I agree.

brynn wrote:Sorry for going off track. I do like your idea to have the color controls on the same tab, and maybe that's what you mean by calling it a gradient editor?? That really would be convenient. And I'd love to see the Stops controls/options there as well. It can be really helpful to be able to set the stops using a numerical value, rather than just being really careful when sliding them "manually" on the canvas (especially looking towards the time when Inkscape will be able to save gradient!). Well ok, both ways are nice to have.

You could use the arrow keys to move selected gradient stops for precision.

brynn wrote:So those are my comments and questions. I'll be interested to see your exlanations for some of the things that I don't understand!
All best :D


Thank you.

User avatar
brynn
Posts: 10309
Joined: Wed Sep 26, 2007 4:34 pm
Location: western USA
Contact:

Re: UI Idea -- Gradient Fill / Stroke

Postby brynn » Sun Mar 20, 2011 1:37 pm

Again, I'm sorry I didn't see your reply sooner (re other message).

I like the improvements! My only remaining question is about Vacuum Defs. I was not aware that all the unused gradients were not removed. Whenever I've used it, it has removed them all. So I'm wondering if there might be a bug, or maybe it's a known bug? Also, you've seen this in the Guide?

"Due to the mechanism that Inkscape uses to keep track of which definitions are in use, it may be necessary to close a file and reopen it before this command will remove all unused items." (http://tavmjong.free.fr/INKSCAPE/MANUAL ... acuum.html)

That said, I do see the benefits of being able to delete them individually :D

On the subject of gradients, but slightly off-topic as far as UI, I think one of the biggest improvements would be the ability to name and save gradients (with save being my first priority, and naming 2nd). It must be difficult to code, or at least that's my impression as to why it hasn't been done already (although from my very, very limited knowledge, it doesn't sound like it would be so hard....???)

So with the additions that you've made since the first version, then we really would have no further need for the current Gradient Editor! Maybe this will allow them to go ahead with the plan to eliminate it? Have you had any response over at Launchpad? Well nevermind, I'll look myself (duh!)

Well, I think this is some nice work, and I hope to see it adopted!

User avatar
Xav
Posts: 1209
Joined: Fri May 08, 2009 1:18 am
Location: UK
Contact:

Re: UI Idea -- Gradient Fill / Stroke

Postby Xav » Thu Mar 24, 2011 6:17 pm

As a frequent user of gradients in my comic strip, I would love to see an interface like this. The ability to see how many elements a gradient is attached to would be extremely useful. I've talked about my own suggestions for improving gradient handling in the past (e.g. https://bugs.launchpad.net/inkscape/+bug/516108 ), but there are three things I would love to see:

1) Gradients ordered by HSV values. That way similar gradients should clump together, making it easier to see when you can safely remove one gradient by swapping its uses to the other.

2) The ability to select all the objects using a gradient from within the gradient dialogue. E.g. via a context menu on each gradient. This would make it much easier to find the really small objects that can sometimes get missed while you're scratching your head wondering why you can't get rid of a gradient.

3) The ability to delete a gradient but map its uses to another gradient. Because we reuse a lot of parts of our strips by copying them in from different files, we often end up with huge numbers of visually identical gradients. Swapping the objects that use one gradient to use another instead would instantly clear up some gradients for deletion. This could be by dragging one gradient onto the other, or by selecting multiple gradients and providing a context menu option to "Reduce to first selected gradient" or something similar.

If there was a context menu added, I would also move the delete option to there rather than having the red X button on your design, to prevent it being hit by mistake.
Co-creator of The Greys and Monsters, Inked - Inkscape drawn webcomics
Web SiteFacebookTwitter

SeanJM
Posts: 16
Joined: Sun Feb 20, 2011 1:36 am

Re: UI Idea -- Gradient Fill / Stroke

Postby SeanJM » Fri Apr 01, 2011 7:41 am

brynn wrote:Again, I'm sorry I didn't see your reply sooner (re other message).

I like the improvements! My only remaining question is about Vacuum Defs. I was not aware that all the unused gradients were not removed. Whenever I've used it, it has removed them all. So I'm wondering if there might be a bug, or maybe it's a known bug? Also, you've seen this in the Guide?


It's just experience, I don't know if it is a known bug.

brynn wrote:"Due to the mechanism that Inkscape uses to keep track of which definitions are in use, it may be necessary to close a file and reopen it before this command will remove all unused items." (http://tavmjong.free.fr/INKSCAPE/MANUAL ... acuum.html)

That said, I do see the benefits of being able to delete them individually :D

Would be great!

brynn wrote:On the subject of gradients, but slightly off-topic as far as UI, I think one of the biggest improvements would be the ability to name and save gradients (with save being my first priority, and naming 2nd). It must be difficult to code, or at least that's my impression as to why it hasn't been done already (although from my very, very limited knowledge, it doesn't sound like it would be so hard....???)

Probably the reason why it hasn't been coded is no on has been interested in it yet.

brynn wrote:So with the additions that you've made since the first version, then we really would have no further need for the current Gradient Editor! Maybe this will allow them to go ahead with the plan to eliminate it? Have you had any response over at Launchpad? Well nevermind, I'll look myself (duh!)


I have had some response over at launch pad and there is a blueprint for it now, the page has been innactive for a very long time now.

brynn wrote:Well, I think this is some nice work, and I hope to see it adopted!

Me too. Grouping would also be nice.

------------------------------------------------------------------------------


Xav wrote:As a frequent user of gradients in my comic strip, I would love to see an interface like this. The ability to see how many elements a gradient is attached to would be extremely useful. I've talked about my own suggestions for improving gradient handling in the past (e.g. https://bugs.launchpad.net/inkscape/+bug/516108 ), but there are three things I would love to see:

1) Gradients ordered by HSV values. That way similar gradients should clump together, making it easier to see when you can safely remove one gradient by swapping its uses to the other.

This would be very useful.

Xav wrote:2) The ability to select all the objects using a gradient from within the gradient dialogue. E.g. via a context menu on each gradient. This would make it much easier to find the really small objects that can sometimes get missed while you're scratching your head wondering why you can't get rid of a gradient.

Right click menu would be good for that.

Xav wrote:3) The ability to delete a gradient but map its uses to another gradient. Because we reuse a lot of parts of our strips by copying them in from different files, we often end up with huge numbers of visually identical gradients. Swapping the objects that use one gradient to use another instead would instantly clear up some gradients for deletion. This could be by dragging one gradient onto the other, or by selecting multiple gradients and providing a context menu option to "Reduce to first selected gradient" or something similar.

You could be able to right click on an object and then be able to assign a gradient on a multiple selections, then clear unused gradients.

Xav wrote:If there was a context menu added, I would also move the delete option to there rather than having the red X button on your design, to prevent it being hit by mistake.

Yeah, that could work.

User avatar
druban
Posts: 1917
Joined: Fri Nov 20, 2009 10:48 pm

Re: UI Idea -- Gradient Fill / Stroke

Postby druban » Fri Apr 01, 2011 1:46 pm

Some wonderful ideas from Sean.
Being able to rename gradients would be incredibly useful. Knowing how many objects are using the same gradient, ditto. There have been times when I have duplicated and made a small colour adjustment to a gradient. Looks the same in the drop down, so I have to select and deselect objects to find which is the slightly tweaked one and which is the one used by all the other objects, naming them of course would help but maybe I forgot to name them or just wanted to work faster... anyway, a great idea.

Do you think you could come up with a graphic way to edit gradient nodes in the panel?
I'm thinking, selecting the gradient to edit shows a bar with colors and transparency checkerboard with little triangles underneath for each node. clicking a triangle highlights it and lets you drag to change its position (relative to the starting and ending nodes, which remain fixed at either end) or change the color using the sliders. Shift clicking several triangles selects them all to be dragged together. Double clicking where there is no triangle inserts one, hitting delete removes them etc. Copy and paste nodes - one or several at a time - from one gradient to another would be incredible, of course.
I have used this style of gradient editor (not the copy and paste - that's just my fantasy) in many other programs and Inkscape really could use one of its own!
Your mind is what you think it is.

User avatar
brynn
Posts: 10309
Joined: Wed Sep 26, 2007 4:34 pm
Location: western USA
Contact:

Re: UI Idea -- Gradient Fill / Stroke

Postby brynn » Fri Apr 01, 2011 8:57 pm

I think it would be much more convenient to be able to edit node data on a gradient editor. It can sometimes be hard to select a gradient on the canvas (or object containing a particular gradient).

User avatar
Xav
Posts: 1209
Joined: Fri May 08, 2009 1:18 am
Location: UK
Contact:

Re: UI Idea -- Gradient Fill / Stroke

Postby Xav » Thu May 19, 2011 12:42 am

After another evening of fun and games with gradients, I've got a couple of additional suggestions:

1) An option on the context menu to reverse the gradient. I think there's a keyboard shortcut for this, but it's hardly discoverable. This is most useful for radial gradients, as there's an obvious workaround for linear gradients (i.e. move the end nodes).

2) A means to lock a gradient against changes. This would prevent you accidentally changing stops in a gradient that's shared by other objects. You should still be able to move the end stops of the gradient on-canvas, but not adjust the relative position of intermediate stops, or the colours of any of the stops.

3) A context menu on each of the stops - like the gradient editor in The GIMP has - which lets you easily set the stop to the previous/next stop colour, the current fill or stroke colour, or any other sensible default options.
Co-creator of The Greys and Monsters, Inked - Inkscape drawn webcomics
Web SiteFacebookTwitter


Return to “Inkscape Ideas”