Adding interface verbs

From Inkscape Wiki
Revision as of 06:29, 8 November 2006 by BryceHarrington (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

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

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 http://svn.sourceforge.net/viewvc/inkscape/inkscape/trunk/src/select-context.cpp?r1=13200&r2=13309&sortby=date http://svn.sourceforge.net/viewvc/inkscape/inkscape/trunk/src/draw-context.cpp?r1=13148&r2=13310&sortby=date http://svn.sourceforge.net/viewvc/inkscape/inkscape/trunk/src/draw-context.cpp?r1=13148&r2=13310&sortby=date

(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

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

Finally update the release notes:

http://wiki.inkscape.org/wiki/index.php?title=ReleaseNotes045&diff=8842&oldid=8840#Even_more_improvements