I think it'd be great if it were possible to select "Import clipart" in the Inkscape menu, and there was a nice clipart browser that would pop up to let you view the clipart by category, see thumbnails, and select a piece of clipart to import into your drawing. As I'm thinking about this, I'm thinking specificly of OCAL.
What do people think?
I'd like to implement this, but I wanted to get some input first. I'm not new to programming, but I haven't done much with GUIs, and nothing with GTK.
Here's what I was thinking...
The GUI would have a two panes, a Cancel and an OK button. The left pane would be an expandable tree view of the OCAL categories. You could expand a category to view the sub categories. The right pane would display thumbnails of the clipart in the selected category (and it's sub categories?). The user would select a thumbnail, then click "OK" to insert it.
Since rendering all of the SVG cliparts in each category would take too long, I would use the png thumbnails already in OCAL.
So as not to be reading through all the OCAL collection each time you want to import, the categories and thumbnails listings would be read from an XML file. I would write a script or plugin to generate the appropriate XML file, and if this works out nicely, maybe OCAL would be able to include the XML file in the download.
This next part should be read with the disclaimer that this is how it would work if I'm understanding the Inkscape source correctly...
I would create a new verb SP_VERB_FILE_IMPORT_CLIPART, and a new menu item "Import Clipart". When it was chosen, it would call sp_clipart_file_import instead of sp_file_import like the current Import does. The sp_clipart_file_import would open the dialog I described above, and call file_import like the current Import method does. Essentially it would do the exact same job that Import does now, but with a GUI that is friendly for browsing clipart.
Thoughts?
While neat, an "Import Clipart" would be a duplication of a current functionality, that is, drag and drop from a nautilus/konqueror window that is connected to the clipart internet resource.
Albert
While neat, an "Import Clipart" would be a duplication of a current functionality, that is, drag and drop from a nautilus/konqueror window that is connected to the clipart internet resource.
That is partially true, there are definately currently ways to import clipart that work. The new functionality would be in ease of use, and integration with OCAL.
Ease of use:
If you're working with Inkscape full screen, you have to resize and move windows to drag and drop import clipart. Drag and drop import doesn't seem to work with OSX since Inkscape is running in X11 and Finder is an native program.
To non-technical Windows users, I imagine it's slightly confusing to import OCAL work since you have to decide which file based on the PNG, then import the SVG of the same name -- I don't think that this is very user friendly.
Integration with OCAL:
Instead of thinking of the OCAL library as a bunch of nested folders of SVGs mixed with PNGs and text files, the user can just think of it as "Import Clipart --> Browse categories". Currently when using drag-and-drop importing, I have to double check that I'm not importing the PNG since I get both thumbnails (in Nautilus).
So, yes, there is some duplication, but I think there may also be some real gains in functionality and ease of use as well.
Michael
we had a google SOC project last year that worked on pretty much exatcly this functionality, except it was done as an external utility that linked in through the extensions code.
http://developer.berlios.de/projects/ocalhelper/
--- Michael Moore <stuporglue@...400...> wrote:
While neat, an "Import Clipart" would be a duplication of a current functionality, that is, drag and drop from a nautilus/konqueror
window that
is connected to the clipart internet resource.
That is partially true, there are definately currently ways to import clipart that work. The new functionality would be in ease of use, and integration with OCAL.
Ease of use:
If you're working with Inkscape full screen, you have to resize and move windows to drag and drop import clipart. Drag and drop import doesn't seem to work with OSX since Inkscape is running in X11 and Finder is an native program.
To non-technical Windows users, I imagine it's slightly confusing to import OCAL work since you have to decide which file based on the PNG, then import the SVG of the same name -- I don't think that this is very user friendly.
Integration with OCAL:
Instead of thinking of the OCAL library as a bunch of nested folders of SVGs mixed with PNGs and text files, the user can just think of it as "Import Clipart --> Browse categories". Currently when using drag-and-drop importing, I have to double check that I'm not importing the PNG since I get both thumbnails (in Nautilus).
So, yes, there is some duplication, but I think there may also be some real gains in functionality and ease of use as well.
Michael
Michael Moore
Creative photography for any occasion http://elementsbycaroline.com Full quality proofs Online album
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&da...
Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
__________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
On Sun, 2006-10-15 at 09:32 -0700, John Cliff wrote:
we had a google SOC project last year that worked on pretty much exatcly this functionality, except it was done as an external utility that linked in through the extensions code.
Yep, I would definitely use this code as a starting point, because it worked prior to using ccHost and allowed one to pull from the website and/or from a locally installed package.
Thus, now the way to go is to use ccHost because there is an API for doing just what you are hoping, called the Sample Pool API: http://ccmixter.org/media/viewfile/pool_api_doc.xml
This will make doing what you are hoping very easy.
Bryce really summed up how to tackle this project and I think that if you take a look at and/or use the previous summer of code code, then you will be on the fast track to getting this done.
Please also look at how our SoC student from last summer made a standalone app with python and then created an extension so we could just make use of what already exists...this will help this be usable by other apps.
If you are interested in building on the previous student's project, I would like to move that over to Inkscape SVN to progress it and help to get more developer's eyes onto the project. Bryce, do you think this is cool?
Michael, this sounds like an awesome project and I will help out however I can :)
Jon
--- Michael Moore <stuporglue@...400...> wrote:
While neat, an "Import Clipart" would be a duplication of a current functionality, that is, drag and drop from a nautilus/konqueror
window that
is connected to the clipart internet resource.
That is partially true, there are definately currently ways to import clipart that work. The new functionality would be in ease of use, and integration with OCAL.
Ease of use:
If you're working with Inkscape full screen, you have to resize and move windows to drag and drop import clipart. Drag and drop import doesn't seem to work with OSX since Inkscape is running in X11 and Finder is an native program.
To non-technical Windows users, I imagine it's slightly confusing to import OCAL work since you have to decide which file based on the PNG, then import the SVG of the same name -- I don't think that this is very user friendly.
Integration with OCAL:
Instead of thinking of the OCAL library as a bunch of nested folders of SVGs mixed with PNGs and text files, the user can just think of it as "Import Clipart --> Browse categories". Currently when using drag-and-drop importing, I have to double check that I'm not importing the PNG since I get both thumbnails (in Nautilus).
So, yes, there is some duplication, but I think there may also be some real gains in functionality and ease of use as well.
Michael
Michael Moore
Creative photography for any occasion http://elementsbycaroline.com Full quality proofs Online album
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&da...
Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&da... _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Am Sonntag, den 15.10.2006, 00:11 -0600 schrieb Michael Moore:
I think it'd be great if it were possible to select "Import clipart" in the Inkscape menu, and there was a nice clipart browser that would pop up to let you view the clipart by category, see thumbnails, and select a piece of clipart to import into your drawing. As I'm thinking about this, I'm thinking specificly of OCAL.
What do people think?
Great idea.
Here's what I was thinking...
The GUI would have a two panes, a Cancel and an OK button.
Look into the Gnome or Apple HIG, OK Buttons are out call it Imort or Insert. ;)
The left pane would be an expandable tree view of the OCAL categories. You could expand a category to view the sub categories. The right pane would display thumbnails of the clipart in the selected category (and it's sub categories?). The user would select a thumbnail, then click "OK" to insert it.
I hope you know, that openclipart.org is moving to ccHost http://openclipart.org/cchost/ I think there is some RSS fun possible. And I would not think in category but more in tags, because one clipart can be in more then one category/have more then on tag.
Since rendering all of the SVG cliparts in each category would take too long, I would use the png thumbnails already in OCAL.
Is that really faster? And if yes, can't you just render the cliparts that are displayed
So as not to be reading through all the OCAL collection each time you want to import, the categories and thumbnails listings would be read from an XML file. I would write a script or plugin to generate the appropriate XML file, and if this works out nicely, maybe OCAL would be able to include the XML file in the download.
The plan is to create custom download packages via ccHost but there is still some PHP hacking needed. So all PHP hackers here please go to openclipart.org and ask where help is needed.
Thoughts?
Have a lot of fun Tobias
On Sun, Oct 15, 2006 at 12:11:27AM -0600, Michael Moore wrote:
I think it'd be great if it were possible to select "Import clipart" in the Inkscape menu, and there was a nice clipart browser that would pop up to let you view the clipart by category, see thumbnails, and select a piece of clipart to import into your drawing. As I'm thinking about this, I'm thinking specificly of OCAL.
What do people think?
Hi Michael! Yes, I think this is an excellent idea.
I know you have a good background participating with OCAL, so I know you already know about the ccHost migration plans and the benefits that tying in with that would provide.
Someone has mentioned the summer of code project to create an OCAL browser last year; unfortunately, that didn't end up solving the need, but it might be worth reviewing for ideas.
One thing I would strongly recommend is to divide the effort into the creation of several distinct, independent components. This will allow you to tighten your focus. For example:
1. Asset Collector - interfaces with OCAL (or other sites) to download new clipart, fonts, color schemes, or whatever. Takes care of installation into a local library at /usr/share/create/clipart or whereever. Manages a searchable index, generates preview images, etc.
2. Library browser - a simple GUI Gtkmm component for browsing and searching an indexed collection of graphical assets.
3. Vector object inserter - a routine for inserting a piece of clipart or other vectorial component into the document. Includes functionality for rescaling, color/font substitution, and other insertion-time adaptation.
4. Asset publisher - enables sending selected object to a ccHost-based asset manager like OCAL.
Then perhaps you can focus on just "#2. Library browser". This allows you to not worry about the download/upload capabilities, just stub out the inserter, etc. Others who may be interested in this could then focus on owning development of those other pieces.
The approach of having a managed local cache of clipart has several further benefits. It permits offline use of the clipart that the user has used in the past. It enables the user to refresh and fill in the cache when they're not working, so that when they are busily in art mode, they don't have to slow down and wait for things to download. It enables enterprise users to have a clipart collection provided through their regular distribution channel. It allows parents or teachers to review and vet the clipart that their children can use. It enables the user to add their own local clipart.
Further, the "1. Asset Collector" tool could potentially be made part of the Create project, and could be used for managing libraries of graphical assets beyond just clipart in inkscape: Gradients, fonts, color themes, brushes, patterns, symbols, sound clips, templates... Scribus, GIMP, Dia, Blender, OpenOffice....
I'd like to implement this, but I wanted to get some input first. I'm not new to programming, but I haven't done much with GUIs, and nothing with GTK.
Here's what I was thinking...
The GUI would have a two panes, a Cancel and an OK button. The left pane would be an expandable tree view of the OCAL categories. You could expand a category to view the sub categories. The right pane would display thumbnails of the clipart in the selected category (and it's sub categories?). The user would select a thumbnail, then click "OK" to insert it.
Sounds like an excellent starting point. There are a few dialogs already in inkscape which have this style of layout that you could probably copy from.
Another approach to think about is to create a dockable pane that sits on the right side of the Inkscape interface (or could be pulled out into a separate dialog). This pane would include a scrollable list of clipart that could be pasted into Inkscape, perhaps with a category selector or search box. If this sounds of interest, talk with Jon Cruz and look at some of his work around the color palette.
Since rendering all of the SVG cliparts in each category would take too long, I would use the png thumbnails already in OCAL.
So as not to be reading through all the OCAL collection each time you want to import, the categories and thumbnails listings would be read from an XML file. I would write a script or plugin to generate the appropriate XML file, and if this works out nicely, maybe OCAL would be able to include the XML file in the download.
Yup. And in general, the '1. Asset collector' piece could fulfil this role. If anyone wishes something more generic, they can expand that piece to do more. I agree a simple script would probably suffice for the time being.
This next part should be read with the disclaimer that this is how it would work if I'm understanding the Inkscape source correctly...
I would create a new verb SP_VERB_FILE_IMPORT_CLIPART, and a new menu item "Import Clipart". When it was chosen, it would call sp_clipart_file_import instead of sp_file_import like the current Import does. The sp_clipart_file_import would open the dialog I described above, and call file_import like the current Import method does. Essentially it would do the exact same job that Import does now, but with a GUI that is friendly for browsing clipart.
Actually, I think if you assume the existance of a local cache of clipart, you could simply use sp_file_import as normal. You'd still need a separate mechanism for browsing through that cache to select the filename to use.
Anyway, I think this is a *great* idea. :-) Let us know if you have more questions. gtkmm is not too hard to learn, but we can definitely give plenty of tips and guidance if you get stuck. I definitely recommend starting with something simple first, and work your way up as your knowledge of gtkmm improves.
Bryce
participants (6)
-
Albert
-
Bryce Harrington
-
John Cliff
-
Jon Phillips
-
Michael Moore
-
Tobias Jakobs