diff --git a/src/verbs.h b/src/verbs.h
index e79fa6d43621cc98e98167051352499996bdfff0..3ea2fdee89f908a6767e52816c96b46d0da75f51 100644 (file)
--- a/src/verbs.h
+++ b/src/verbs.h
* Ted Gould <ted@gould.cx>
* David Yip <yipdw@rose-hulman.edu>
*
+ * Copyright (C) 2006 Johan Engelen <johan@shouraizou.nl>
+ * 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 <cstring>
+#include <string>
+#include <string.h>
+#include "config.h"
#include "require-config.h" /* HAVE_GTK_WINDOW_FULLSCREEN */
#include "helper/helper-forward.h"
#include "forward.h"
+#include <glibmm/ustring.h>
/** \brief This anonymous enum is used to provide a list of the Verbs
which are defined staticly in the verb files. There may be
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,
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,
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,
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,
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,
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,
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,
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,
#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_TOGGLE,
+ SP_VERB_VIEW_CMS_TOGGLE,
SP_VERB_VIEW_ICON_PREVIEW,
SP_VERB_ZOOM_PAGE,
SP_VERB_ZOOM_PAGE_WIDTH,
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
- 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,
-#endif
+/*#ifdef WITH_INKBOARD
+ 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,
+ SP_VERB_DIALOG_SVG_FONTS,
/* 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,
/* 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,
+ /* 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
};
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. */
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; }
+ /** \brief Set the tooltip after initialization. */
+ gchar const * set_tip (gchar const * tip) { _tip = tip; return _tip; }
protected:
SPAction * make_action_helper (Inkscape::UI::View::View * view, SPActionEventVector * vector, void * in_pntr = NULL);
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 */