Difference between revisions of "Menu"

From Inkscape Wiki
Jump to navigation Jump to search
m
 
Line 26: Line 26:
  
 
See [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/files/head%3A/src/interface.cpp src/interface.cpp] and [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/files/head%3A/src/interface.h src/interface.h].
 
See [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/files/head%3A/src/interface.cpp src/interface.cpp] and [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/files/head%3A/src/interface.h src/interface.h].
 +
 +
== Existing menus ==
 +
 +
* [[View Menu]]
  
 
[[Category:Developer Documentation]]
 
[[Category:Developer Documentation]]
 
[[Category:Needs Work]]
 
[[Category:Needs Work]]

Latest revision as of 08:41, 28 July 2012

Main menus

Add an item to an existing menu

  1. Choose a short name and a place you want to put it (e.g. Paste as dummy... in Edit menu between Paste and Paste In Place)
  2. Code its behaviour in a function somewhere or locate an existing one (e.g. sp_paste_as_dummy() in sp-dummy.cpp and sp-dummy.h)
  3. Deduce a Verb name which looks like SP_VERB_ + menu name (e.g. SP_VERB_EDIT_PASTE_AS_DUMMY)
  4. In src/verbs.h
    1. Locate the big enum at the beginning
    2. Add the new Verb name in the enum at the right place (e.g. after SP_VERB_EDIT_PASTE)
  5. In src/verbs.cpp
    1. Locate _base_verbs[] creation
    2. Add a new item at the right place. With this add you will set its short name (e.g. Paste as dummy...), description and icon (a GTK stock, an Inkscape icon or NULL)
    3. Locate the perform(...) function of the menu (e.g. locate EditVerb::perform(...))
    4. Add a new case to deal with your feature to call your function (e.g. to call sp_paste_as_dummy())
  6. In src/menus-skeleton.h
    1. Locate menus_skeleton[] variable
    2. Edit its content to add your new feature at the right place
  7. Save all, compile and run, it should works.

Create a new menu

To be written.

Context menu

See src/interface.cpp and src/interface.h.

Existing menus