X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fverbs.h;h=0a1826580c30b48774f6436bfbfebc10760cd7be;hb=ffd90a7a8352a3899e3d85de69fc6dd803c90e35;hp=521fdabaf5816df8aa70d40505bc015a047b22ce;hpb=72ca5ff6a47efd55dc7313518941a5b7fdfc632b;p=inkscape.git diff --git a/src/verbs.h b/src/verbs.h index 521fdabaf..0a1826580 100644 --- a/src/verbs.h +++ b/src/verbs.h @@ -9,13 +9,20 @@ * Ted Gould * David Yip * + * 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 "require-config.h" /* HAVE_GTK_WINDOW_FULLSCREEN */ #include "helper/helper-forward.h" #include "forward.h" +#include /** \brief This anonymous enum is used to provide a list of the Verbs which are defined staticly in the verb files. There may be @@ -30,12 +37,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_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, @@ -54,11 +63,15 @@ 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_DELETE, SP_VERB_EDIT_DUPLICATE, SP_VERB_EDIT_CLONE, SP_VERB_EDIT_UNLINK_CLONE, - SP_VERB_EDIT_CLONE_ORIGINAL, + 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, @@ -66,7 +79,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, @@ -122,13 +139,17 @@ 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_RECT, + SP_VERB_CONTEXT_3DBOX, SP_VERB_CONTEXT_ARC, SP_VERB_CONTEXT_STAR, SP_VERB_CONTEXT_SPIRAL, @@ -140,10 +161,14 @@ 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 */ /* Tool preferences */ SP_VERB_CONTEXT_SELECT_PREFS, SP_VERB_CONTEXT_NODE_PREFS, + SP_VERB_CONTEXT_TWEAK_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, @@ -155,6 +180,7 @@ enum { SP_VERB_CONTEXT_ZOOM_PREFS, SP_VERB_CONTEXT_DROPPER_PREFS, SP_VERB_CONTEXT_CONNECTOR_PREFS, + SP_VERB_CONTEXT_PAINTBUCKET_PREFS, /* Zooming and desktop settings */ SP_VERB_ZOOM_IN, SP_VERB_ZOOM_OUT, @@ -162,6 +188,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, @@ -173,7 +200,10 @@ enum { 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_TOGGLE, + SP_VERB_VIEW_CMS_TOGGLE, SP_VERB_VIEW_ICON_PREVIEW, SP_VERB_ZOOM_PAGE, SP_VERB_ZOOM_PAGE_WIDTH, @@ -187,6 +217,7 @@ enum { SP_VERB_DIALOG_SWATCHES, SP_VERB_DIALOG_TRANSFORM, SP_VERB_DIALOG_ALIGN_DISTRIBUTE, + SP_VERB_DIALOG_UNDO_HISTORY, SP_VERB_DIALOG_TEXT, SP_VERB_DIALOG_XML_EDITOR, SP_VERB_DIALOG_FIND, @@ -196,23 +227,19 @@ enum { SP_VERB_DIALOG_CLONETILER, SP_VERB_DIALOG_ITEM, #ifdef WITH_INKBOARD - SP_VERB_DIALOG_WHITEBOARD_CONNECT, - SP_VERB_DIALOG_WHITEBOARD_SHAREWITHUSER, - SP_VERB_DIALOG_WHITEBOARD_SHAREWITHCHAT, - SP_VERB_DIALOG_WHITEBOARD_DUMPXMLTRACKER, - SP_VERB_DIALOG_WHITEBOARD_OPENSESSIONFILE, - SP_VERB_DIALOG_WHITEBOARD_SESSIONPLAYBACK, - SP_VERB_DIALOG_WHITEBOARD_DISCONNECT_FROM_SESSION, - SP_VERB_DIALOG_WHITEBOARD_DISCONNECT_FROM_SERVER, + SP_VERB_XMPP_CLIENT, #endif SP_VERB_DIALOG_INPUT, + SP_VERB_DIALOG_INPUT2, SP_VERB_DIALOG_EXTENSIONEDITOR, + SP_VERB_DIALOG_LAYERS, + SP_VERB_DIALOG_LIVE_PATH_EFFECT, + SP_VERB_DIALOG_FILTER_EFFECTS, /* Help */ - SP_VERB_HELP_KEYS, SP_VERB_HELP_ABOUT_EXTENSIONS, SP_VERB_HELP_MEMORY, SP_VERB_HELP_ABOUT, - SP_VERB_SHOW_LICENSE, + //SP_VERB_SHOW_LICENSE, /* Tutorials */ SP_VERB_TUTORIAL_BASIC, SP_VERB_TUTORIAL_SHAPES, @@ -224,6 +251,15 @@ enum { /* Effects */ SP_VERB_EFFECT_LAST, SP_VERB_EFFECT_LAST_PREF, + /* Fit Canvas */ + 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, /* Footer */ SP_VERB_LAST }; @@ -252,8 +288,13 @@ private: to find the different verbs in the hash map. */ struct ltstr { bool operator()(const char* s1, const char* s2) const { - if (s1 == NULL || s2 == NULL) return true; - return strcmp(s1, s2) < 0; + if ( (s1 == NULL) && (s2 != NULL) ) { + return true; + } else if (s1 == NULL || s2 == NULL) { + return false; + } else { + return strcmp(s1, s2) < 0; + } } }; /** \brief An easy to use definition of the table of verbs by ID. */ @@ -304,6 +345,10 @@ public: gchar const * get_id (void) { return _id; } /** \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. */ gchar const * set_name (gchar const * name) { _name = name; return _name; } @@ -374,6 +419,21 @@ public: void delete_view (Inkscape::UI::View::View * view); void sensitive (SPDocument * in_doc = NULL, bool in_sensitive = true); + void name (SPDocument * in_doc = NULL, Glib::ustring in_name = ""); + +// Yes, multiple public, protected and private sections are bad. We'll clean that up later +protected: + /** \brief Returns the size of the internal base verb array. + \return The size in elements of the internal base array. + + This is an inline function intended for testing. This should normally not be used. + For testing, a subclass that returns this value can be created to verify that the + length matches the enum values, etc. + */ + static int _getBaseListSize(void) {return G_N_ELEMENTS(_base_verbs);} + +public: + static void list (void); }; /* Verb class */