X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fverbs.h;h=f118014d2d8c51a892d9b5aa7233dadb366cfed8;hb=030609cb99174ea85e69635c494ccaaaa20b2ac5;hp=f20806c02364229ae1595f9f5ce315eedf82fd24;hpb=4927ecf824d76f1c2f570c8296d59f24f9a6d5b5;p=inkscape.git diff --git a/src/verbs.h b/src/verbs.h index f20806c02..f118014d2 100644 --- a/src/verbs.h +++ b/src/verbs.h @@ -11,11 +11,15 @@ * * Copyright (C) 2006 Johan Engelen * Copyright (C) (date unspecified) Authors - + * This code is in public domain if done by Lauris * This code is GPL if done by Ted or David */ +#include +#include +#include +#include "config.h" #include "require-config.h" /* HAVE_GTK_WINDOW_FULLSCREEN */ #include "helper/helper-forward.h" #include "forward.h" @@ -34,13 +38,14 @@ enum { SP_VERB_FILE_REVERT, /**< Revert this file to its original state. */ SP_VERB_FILE_SAVE, /**< Save the current file with its saved filename */ SP_VERB_FILE_SAVE_AS, /**< Save the current file with a new filename */ - SP_VERB_FILE_SAVE_A_COPY, /**< Save a copy of the current file */ + SP_VERB_FILE_SAVE_A_COPY, /**< Save a copy of the current file */ SP_VERB_FILE_PRINT, SP_VERB_FILE_VACUUM, - SP_VERB_FILE_PRINT_DIRECT, SP_VERB_FILE_PRINT_PREVIEW, SP_VERB_FILE_IMPORT, SP_VERB_FILE_EXPORT, + SP_VERB_FILE_IMPORT_FROM_OCAL, /**< Import the file from Open Clip Art Library */ +// SP_VERB_FILE_EXPORT_TO_OCAL, /**< Export the file to Open Clip Art Library */ SP_VERB_FILE_NEXT_DESKTOP, SP_VERB_FILE_PREV_DESKTOP, SP_VERB_FILE_CLOSE_VIEW, @@ -59,11 +64,17 @@ enum { SP_VERB_EDIT_PASTE_SIZE_SEPARATELY_X, SP_VERB_EDIT_PASTE_SIZE_SEPARATELY_Y, SP_VERB_EDIT_PASTE_IN_PLACE, + SP_VERB_EDIT_PASTE_LIVEPATHEFFECT, + SP_VERB_EDIT_REMOVE_LIVEPATHEFFECT, + SP_VERB_EDIT_REMOVE_FILTER, SP_VERB_EDIT_DELETE, SP_VERB_EDIT_DUPLICATE, SP_VERB_EDIT_CLONE, SP_VERB_EDIT_UNLINK_CLONE, - SP_VERB_EDIT_CLONE_ORIGINAL, + SP_VERB_EDIT_RELINK_CLONE, + SP_VERB_EDIT_CLONE_SELECT_ORIGINAL, + SP_VERB_EDIT_SELECTION_2_MARKER, + SP_VERB_EDIT_SELECTION_2_GUIDES, SP_VERB_EDIT_TILE, SP_VERB_EDIT_UNTILE, SP_VERB_EDIT_CLEAR_ALL, @@ -71,7 +82,11 @@ enum { SP_VERB_EDIT_SELECT_ALL_IN_ALL_LAYERS, SP_VERB_EDIT_INVERT, SP_VERB_EDIT_INVERT_IN_ALL_LAYERS, + SP_VERB_EDIT_SELECT_NEXT, + SP_VERB_EDIT_SELECT_PREV, SP_VERB_EDIT_DESELECT, + SP_VERB_EDIT_GUIDES_AROUND_PAGE, + SP_VERB_EDIT_NEXT_PATHEFFECT_PARAMETER, /* Selection */ SP_VERB_SELECTION_TO_FRONT, SP_VERB_SELECTION_TO_BACK, @@ -115,7 +130,9 @@ enum { SP_VERB_LAYER_TO_BOTTOM, SP_VERB_LAYER_RAISE, SP_VERB_LAYER_LOWER, + SP_VERB_LAYER_DUPLICATE, SP_VERB_LAYER_DELETE, + SP_VERB_LAYER_SOLO, /* Object */ SP_VERB_OBJECT_ROTATE_90_CW, SP_VERB_OBJECT_ROTATE_90_CCW, @@ -127,13 +144,18 @@ enum { SP_VERB_OBJECT_FLIP_HORIZONTAL, SP_VERB_OBJECT_FLIP_VERTICAL, SP_VERB_OBJECT_SET_MASK, + SP_VERB_OBJECT_EDIT_MASK, SP_VERB_OBJECT_UNSET_MASK, SP_VERB_OBJECT_SET_CLIPPATH, + SP_VERB_OBJECT_EDIT_CLIPPATH, SP_VERB_OBJECT_UNSET_CLIPPATH, /* Tools */ SP_VERB_CONTEXT_SELECT, SP_VERB_CONTEXT_NODE, + SP_VERB_CONTEXT_TWEAK, + SP_VERB_CONTEXT_SPRAY, SP_VERB_CONTEXT_RECT, + SP_VERB_CONTEXT_3DBOX, SP_VERB_CONTEXT_ARC, SP_VERB_CONTEXT_STAR, SP_VERB_CONTEXT_SPIRAL, @@ -145,10 +167,17 @@ enum { SP_VERB_CONTEXT_ZOOM, SP_VERB_CONTEXT_DROPPER, SP_VERB_CONTEXT_CONNECTOR, + SP_VERB_CONTEXT_PAINTBUCKET, + SP_VERB_CONTEXT_LPE, /* not really a tool but used for editing LPE parameters on-canvas for example */ + SP_VERB_CONTEXT_ERASER, + SP_VERB_CONTEXT_LPETOOL, /* note that this is very different from SP_VERB_CONTEXT_LPE above! */ /* Tool preferences */ SP_VERB_CONTEXT_SELECT_PREFS, SP_VERB_CONTEXT_NODE_PREFS, + SP_VERB_CONTEXT_TWEAK_PREFS, + SP_VERB_CONTEXT_SPRAY_PREFS, SP_VERB_CONTEXT_RECT_PREFS, + SP_VERB_CONTEXT_3DBOX_PREFS, SP_VERB_CONTEXT_ARC_PREFS, SP_VERB_CONTEXT_STAR_PREFS, SP_VERB_CONTEXT_SPIRAL_PREFS, @@ -160,6 +189,9 @@ enum { SP_VERB_CONTEXT_ZOOM_PREFS, SP_VERB_CONTEXT_DROPPER_PREFS, SP_VERB_CONTEXT_CONNECTOR_PREFS, + SP_VERB_CONTEXT_PAINTBUCKET_PREFS, + SP_VERB_CONTEXT_ERASER_PREFS, + SP_VERB_CONTEXT_LPETOOL_PREFS, /* Zooming and desktop settings */ SP_VERB_ZOOM_IN, SP_VERB_ZOOM_OUT, @@ -167,6 +199,7 @@ enum { SP_VERB_TOGGLE_SCROLLBARS, SP_VERB_TOGGLE_GRID, SP_VERB_TOGGLE_GUIDES, + SP_VERB_TOGGLE_SNAPPING, SP_VERB_ZOOM_NEXT, SP_VERB_ZOOM_PREV, SP_VERB_ZOOM_1_1, @@ -175,11 +208,15 @@ enum { #ifdef HAVE_GTK_WINDOW_FULLSCREEN SP_VERB_FULLSCREEN, #endif /* HAVE_GTK_WINDOW_FULLSCREEN */ + SP_VERB_FOCUSTOGGLE, SP_VERB_VIEW_NEW, SP_VERB_VIEW_NEW_PREVIEW, SP_VERB_VIEW_MODE_NORMAL, + SP_VERB_VIEW_MODE_NO_FILTERS, SP_VERB_VIEW_MODE_OUTLINE, +// SP_VERB_VIEW_MODE_PRINT_COLORS_PREVIEW, SP_VERB_VIEW_MODE_TOGGLE, + SP_VERB_VIEW_CMS_TOGGLE, SP_VERB_VIEW_ICON_PREVIEW, SP_VERB_ZOOM_PAGE, SP_VERB_ZOOM_PAGE_WIDTH, @@ -190,26 +227,33 @@ enum { SP_VERB_DIALOG_NAMEDVIEW, SP_VERB_DIALOG_METADATA, SP_VERB_DIALOG_FILL_STROKE, + SP_VERB_DIALOG_GLYPHS, SP_VERB_DIALOG_SWATCHES, SP_VERB_DIALOG_TRANSFORM, SP_VERB_DIALOG_ALIGN_DISTRIBUTE, + SP_VERB_DIALOG_SPRAY_OPTION, SP_VERB_DIALOG_UNDO_HISTORY, SP_VERB_DIALOG_TEXT, SP_VERB_DIALOG_XML_EDITOR, SP_VERB_DIALOG_FIND, + SP_VERB_DIALOG_FINDREPLACE, + SP_VERB_DIALOG_SPELLCHECK, SP_VERB_DIALOG_DEBUG, SP_VERB_DIALOG_SCRIPT, SP_VERB_DIALOG_TOGGLE, SP_VERB_DIALOG_CLONETILER, SP_VERB_DIALOG_ITEM, -#ifdef WITH_INKBOARD +/*#ifdef WITH_INKBOARD SP_VERB_XMPP_CLIENT, -#endif +#endif*/ SP_VERB_DIALOG_INPUT, SP_VERB_DIALOG_EXTENSIONEDITOR, SP_VERB_DIALOG_LAYERS, + SP_VERB_DIALOG_LIVE_PATH_EFFECT, + SP_VERB_DIALOG_FILTER_EFFECTS, + SP_VERB_DIALOG_SVG_FONTS, + SP_VERB_DIALOG_PRINT_COLORS_PREVIEW, /* Help */ - SP_VERB_HELP_KEYS, SP_VERB_HELP_ABOUT_EXTENSIONS, SP_VERB_HELP_MEMORY, SP_VERB_HELP_ABOUT, @@ -220,6 +264,7 @@ enum { SP_VERB_TUTORIAL_ADVANCED, SP_VERB_TUTORIAL_TRACING, SP_VERB_TUTORIAL_CALLIGRAPHY, + SP_VERB_TUTORIAL_INTERPOLATE, SP_VERB_TUTORIAL_DESIGN, SP_VERB_TUTORIAL_TIPS, /* Effects */ @@ -229,6 +274,17 @@ enum { SP_VERB_FIT_CANVAS_TO_SELECTION, SP_VERB_FIT_CANVAS_TO_DRAWING, SP_VERB_FIT_CANVAS_TO_SELECTION_OR_DRAWING, + /* LockAndHide */ + SP_VERB_UNLOCK_ALL, + SP_VERB_UNLOCK_ALL_IN_ALL_LAYERS, + SP_VERB_UNHIDE_ALL, + SP_VERB_UNHIDE_ALL_IN_ALL_LAYERS, + /* Color management */ + SP_VERB_EDIT_LINK_COLOR_PROFILE, + SP_VERB_EDIT_REMOVE_COLOR_PROFILE, + /*Scripting*/ + SP_VERB_EDIT_ADD_EXTERNAL_SCRIPT, + SP_VERB_EDIT_REMOVE_EXTERNAL_SCRIPT, /* Footer */ SP_VERB_LAST }; @@ -247,12 +303,15 @@ class Verb { private: /** \brief An easy to use defition of the table of verbs by code. */ typedef std::map VerbTable; + /** \brief A table of all the dynamically created verbs. */ static VerbTable _verbs; + /** \brief The table of statically created verbs which are mostly 'base verbs'. */ static Verb * _base_verbs[SP_VERB_LAST + 1]; /* Plus one because there is an entry for SP_VERB_LAST */ + /** A string comparison function to be used in the Verb ID lookup to find the different verbs in the hash map. */ struct ltstr { @@ -266,8 +325,10 @@ private: } } }; + /** \brief An easy to use definition of the table of verbs by ID. */ typedef std::map VerbIDTable; + /** \brief Quick lookup of verbs by ID */ static VerbIDTable _verb_ids; @@ -279,12 +340,20 @@ private: /** \brief A unique textual ID for the verb. */ gchar const * _id; + /** \brief The full name of the verb. (shown on menu entries) */ gchar const * _name; + /** \brief Tooltip for the verb. */ gchar const * _tip; + + gchar * _full_tip; // includes shortcut + + unsigned int _shortcut; + /** \brief Name of the image that represents the verb. */ gchar const * _image; + /** \brief Unique numerical representation of the verb. In most cases it is a value from the anonymous enum at the top of this file. */ @@ -293,6 +362,7 @@ private: /** \brief Whether this verb is set to default to sensitive or insensitive when new actions are created. */ bool _default_sensitive; + protected: /** \brief Allows for preliminary setting of the \c _default_sensitive value without effecting existing actions @@ -315,6 +385,8 @@ public: /** \brief Accessor to get the internal variable. */ gchar const * get_name (void) { return _name; } /** \brief Accessor to get the internal variable. */ + gchar const * get_tip (void) ; + /** \brief Accessor to get the internal variable. */ gchar const * get_image (void) { return _image; } /** \brief Set the name after initialization. */ @@ -351,7 +423,16 @@ public: gchar const * name, gchar const * tip, gchar const * image) : - _actions(NULL), _id(id), _name(name), _tip(tip), _image(image), _code(code), _default_sensitive(true) { + _actions(0), + _id(id), + _name(name), + _tip(tip), + _full_tip(0), + _shortcut(0), + _image(image), + _code(code), + _default_sensitive(true) + { _verbs.insert(VerbTable::value_type(_code, this)); _verb_ids.insert(VerbIDTable::value_type(_id, this)); } @@ -397,8 +478,10 @@ protected: For testing, a subclass that returns this value can be created to verify that the length matches the enum values, etc. */ - static int _getBaseListSize() {return G_N_ELEMENTS(_base_verbs);} + static int _getBaseListSize(void) {return G_N_ELEMENTS(_base_verbs);} +public: + static void list (void); }; /* Verb class */