|
|
| (18 intermediate revisions by 12 users not shown) |
| Line 1: |
Line 1: |
| | | {{Deleted}} |
| =Introduction to Verbs=
| |
| | |
| Commands in Inkscape are called 'Verbs'. They permit invoking internal functionality through menus and keyboard shortcuts.
| |
| | |
| Verbs are not difficult to add. You don't need to have much coding know-how in order to add a verb. The aim of this page is to provide novice coders with a "paint by numbers" process you can follow to add a new verb to Inkscape.
| |
| | |
| | |
| =How to Add a Verb=
| |
| | |
| First, add IDs for new verbs to verbs.h:
| |
| | |
| [http://svn.sourceforge.net/viewvc/inkscape/inkscape/trunk/src/verbs.h?r1=13280&r2=13309&sortby=date verbs.h]
| |
| | |
| The place of the ID in the list determines to which group it belongs
| |
| (EditVerbs, FileVerbs, etc) - however, this is pretty arbitrary, so
| |
| don't sweat if you can't find a perfect group for your verb, just use
| |
| whichever makes most sense.
| |
| | |
| Then in verbs.cpp, fill in the verb structure with the name,
| |
| description, action ID, etc; also in the same file, write the actual
| |
| commands that the verb will do, in a switch case in one of ::perform
| |
| methods:
| |
| | |
| [http://svn.sourceforge.net/viewvc/inkscape/inkscape/trunk/src/verbs.cpp?r1=13281&r2=13311&sortby=date verbs.cpp]
| |
| | |
| As you see, these verbs do different things depending on which tool
| |
| you are in. Before verbification, this was coded into tool context
| |
| files, and now we can remove that:
| |
| | |
| [http://svn.sourceforge.net/viewvc/inkscape/inkscape/trunk/src/node-context.cpp?r1=13296&r2=13309&sortby=date node-context.cpp]
| |
| [http://svn.sourceforge.net/viewvc/inkscape/inkscape/trunk/src/select-context.cpp?r1=13200&r2=13309&sortby=date select-context.cpp]
| |
| [http://svn.sourceforge.net/viewvc/inkscape/inkscape/trunk/src/draw-context.cpp?r1=13148&r2=13310&sortby=date draw-context.cpp]
| |
| [http://svn.sourceforge.net/viewvc/inkscape/inkscape/trunk/src/draw-context.cpp?r1=13148&r2=13310&sortby=date draw-context.cpp]
| |
| | |
| (the last one required writing two functions that will be called by the
| |
| verb).
| |
| | |
| Now assign the keys to the newly created verbs:
| |
| | |
| [http://svn.sourceforge.net/viewvc/inkscape/inkscape/trunk/share/keys/inkscape.xml?r1=13302&r2=13307&sortby=date inkscape.xml]
| |
| | |
| and then copy inkscape.xml to default.xml.
| |
| | |
| Note: even if you are not assigning any key, you MUST list the new
| |
| verb in inkscape.xml, using a <bind> without a key. Not only this file
| |
| is a keymap, but it's also a reference for keymap writers, so it must
| |
| have all verbs, assigned or not.
| |
| | |
| If you added a shortcut which didn't exist before, update also doc/keys.xml.
| |
| | |
| If you want the new verb in the menu, edit menus-skeleton.cpp and
| |
| insert it there in an appropriate place.
| |
| | |
| Also review the other keymaps to see if you can assign the new verb to
| |
| some key that would make sense. So in adobe-illustrator.xml, I
| |
| assigned the new verbs to Alt+Ctrl+[], which seems to be the same
| |
| thing according to the comments:
| |
| | |
| [http://svn.sourceforge.net/viewvc/inkscape/inkscape/trunk/share/keys/adobe-illustrator-cs2.xml?r1=13304&r2=13308&sortby=date adobe-illustrator-cs2.xml]
| |
| | |
| Finally update the release notes:
| |
| | |
| [[ReleaseNotes]]
| |
This page has been deleted
This page is kept for historical reasons, e.g. to document specific decisions in Inkscape development.