Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
SPGuide Class Referencefinal

#include <sp-guide.h>

Inheritance diagram for SPGuide:
SPObject Inkscape::XML::NodeObserver

Public Member Functions

 SPGuide ()
 
 ~SPGuide () override=default
 
int tag () const override
 
void set_color (const unsigned r, const unsigned g, const unsigned b, bool const commit)
 
void setColor (guint32 c)
 
void setHiColor (guint32 h)
 
guint32 getColor () const
 
guint32 getHiColor () const
 
Geom::Point getPoint () const
 
Geom::Point getNormal () const
 
void moveto (Geom::Point const point_on_line, bool const commit)
 
void set_normal (Geom::Point const normal_to_line, bool const commit)
 
void set_label (const char *label, bool const commit)
 
char const * getLabel () const
 
void set_locked (const bool locked, bool const commit)
 
bool getLocked () const
 
void fix_orientation ()
 
SPGuideduplicate ()
 
void showSPGuide (Inkscape::CanvasItemGroup *group)
 
void hideSPGuide (Inkscape::UI::Widget::Canvas *canvas)
 
void showSPGuide ()
 
void hideSPGuide ()
 
bool remove (bool force=false)
 
void sensitize (Inkscape::UI::Widget::Canvas *canvas, bool sensitive)
 
bool isHorizontal () const
 
bool isVertical () const
 
char * description (bool const verbose=true) const
 Returns a human-readable description of the guideline for use in dialog boxes and status bar.
 
double angle () const
 
- Public Member Functions inherited from SPObject
 SPObject ()
 Constructor, sets all attributes to default values.
 
 SPObject (SPObject const &)=delete
 
SPObjectoperator= (SPObject const &)=delete
 
 ~SPObject () override
 Destructor, frees the used memory and unreferences a potential successor of the object.
 
char const * getId () const
 Returns the objects current ID string.
 
void getIds (std::set< std::string > &ret) const
 Accumulate this id and all it's descendants ids.
 
std::string getUrl () const
 Get the id in a URL format.
 
Inkscape::XML::NodegetRepr ()
 Returns the XML representation of tree.
 
Inkscape::XML::Node const * getRepr () const
 Returns the XML representation of tree.
 
void releaseReferences ()
 Cleans up an SPObject, releasing its references and requesting that references to it be released.
 
sigc::connection connectRelease (sigc::slot< void(SPObject *)> slot)
 Connects to the release request signal.
 
bool isSiblingOf (SPObject const *object) const
 
virtual void getLinked (std::vector< SPObject * > &objects, LinkedObjectNature direction=LinkedObjectNature::ANY) const
 Get objects which are linked to this object as either a source or a target.
 
std::vector< SPObject * > getLinked (LinkedObjectNature direction=LinkedObjectNature::ANY) const
 Get objects which are linked, like above.
 
bool isAncestorOf (SPObject const *object) const
 True if object is non-NULL and this is some in/direct parent of object.
 
SPObject const * nearestCommonAncestor (SPObject const *object) const
 Returns youngest object being parent to this and object.
 
SPObject const * getTopAncestorNonLayer () const
 Returns ancestor non layer.
 
SPObjectgetNext ()
 
SPObjectgetPrev ()
 Returns previous object in sibling list or NULL.
 
bool hasChildren () const
 
SPObjectfirstChild ()
 
SPObject const * firstChild () const
 
SPObjectlastChild ()
 
SPObject const * lastChild () const
 
SPObjectnthChild (unsigned index)
 
SPObject const * nthChild (unsigned index) const
 
std::vector< SPObject * > childList (bool add_ref, Action action=ActionGeneral)
 Retrieves the children as a std vector object, optionally ref'ing the children in the process, if add_ref is specified.
 
std::vector< SPObject * > ancestorList (bool root_to_tip)
 Retrieves a list of ancestors of the object, as an easy to use vector.
 
SPObjectappendChildRepr (Inkscape::XML::Node *repr)
 Append repr as child of this object.
 
char const * label () const
 Gets the author-visible label property for the object or a default if no label is defined.
 
char const * defaultLabel () const
 Returns a default label property for this object.
 
void setLabel (char const *label)
 Sets the author-visible label for this object.
 
char * title () const
 Returns the title of this object, or NULL if there is none.
 
bool setTitle (char const *title, bool verbatim=false)
 Sets the title of this object.
 
char * desc () const
 Returns the description of this object, or NULL if there is none.
 
bool setDesc (char const *desc, bool verbatim=false)
 Sets the description of this object.
 
Glib::ustring getExportFilename () const
 Get and set the exportable filename on this object.
 
void setExportFilename (Glib::ustring filename)
 
Geom::Point getExportDpi () const
 Get and set the exported DPI for this objet, if available.
 
void setExportDpi (Geom::Point dpi)
 
CollectionPolicy collectionPolicy () const
 Set the policy under which this object will be orphan-collected.
 
void setCollectionPolicy (CollectionPolicy policy)
 Sets the orphan-collection policy in effect for this object.
 
void requestOrphanCollection ()
 Requests a later automatic call to collectOrphan().
 
void collectOrphan ()
 Unconditionally delete the object if it is not referenced.
 
void hrefObject (SPObject *owner=nullptr)
 Increase weak refcount.
 
void unhrefObject (SPObject *owner=nullptr)
 Decrease weak refcount.
 
bool isReferenced ()
 Check if object is referenced by any other object.
 
void deleteObject (bool propagate, bool propagate_descendants)
 Deletes an object, unparenting it from its parent.
 
void deleteObject (bool propagate=true)
 Deletes on object.
 
void cropToObject (SPObject *except)
 Removes all children except for the given object, it's children and it's ancesstors.
 
void cropToObjects (std::vector< SPObject * > except_objects)
 Removes objects which are not related to given list of objects.
 
void getObjectsExcept (std::vector< SPObject * > &objects, const std::vector< SPObject * > &except)
 Get all child objects except for any in the list.
 
void getLinkedRecursive (std::vector< SPObject * > &objects, LinkedObjectNature direction=LinkedObjectNature::ANY) const
 Grows the input list with all linked items recursively in both child nodes and links of links.
 
sigc::connection connectDelete (sigc::slot< void(SPObject *)> slot)
 Connects a slot to be called when an object is deleted.
 
sigc::connection connectPositionChanged (sigc::slot< void(SPObject *)> slot)
 
SPObjectsuccessor ()
 Returns the object which supercedes this one (if any).
 
void setSuccessor (SPObject *successor)
 Indicates that another object supercedes this one.
 
void setTmpSuccessor (SPObject *tmpsuccessor)
 Indicates that another object supercedes temporaty this one.
 
void unsetTmpSuccessor ()
 Unset object supercedes.
 
void fixTmpSuccessors ()
 Fix temporary successors in duple stamp.
 
Inkscape::XML::NodeupdateRepr (unsigned int flags=SP_OBJECT_WRITE_EXT)
 Updates the object's repr based on the object's state.
 
Inkscape::XML::NodeupdateRepr (Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, unsigned int flags)
 Updates the given repr based on the object's state.
 
void requestDisplayUpdate (unsigned int flags)
 Queues an deferred update of this object's display.
 
void updateDisplay (SPCtx *ctx, unsigned int flags)
 Updates the object's display immediately.
 
void requestModified (unsigned int flags)
 Requests that a modification notification signal be emitted later (e.g.
 
void emitModified (unsigned int flags)
 Emits the MODIFIED signal with the object's flags.
 
sigc::connection connectModified (sigc::slot< void(SPObject *, unsigned int)> slot)
 Connects to the modification notification signal.
 
void _sendDeleteSignalRecursive ()
 Sends the delete signal to all children of this object recursively.
 
void _updateTotalHRefCount (int increment)
 Adds increment to _total_hrefcount of object and its parents.
 
void _requireSVGVersion (unsigned major, unsigned minor)
 
void _requireSVGVersion (Inkscape::Version version)
 Lifts SVG version of all root objects to version.
 
void attach (SPObject *object, SPObject *prev)
 Put object into object tree, under parent, and behind prev; also update object's XML space.
 
void reorder (SPObject *obj, SPObject *prev)
 In list of object's children, move object behind prev.
 
void detach (SPObject *object)
 Remove object from parent's children, release and unref it.
 
SPObjectget_child_by_repr (Inkscape::XML::Node *repr)
 Return object's child whose node pointer equals repr.
 
void invoke_build (SPDocument *document, Inkscape::XML::Node *repr, unsigned int cloned)
 
int getIntAttribute (char const *key, int def)
 
unsigned getPosition ()
 
char const * getAttribute (char const *name) const
 
void appendChild (Inkscape::XML::Node *child)
 
void addChild (Inkscape::XML::Node *child, Inkscape::XML::Node *prev=nullptr)
 
void setKeyValue (SPAttr key, char const *value)
 Call virtual set() function of object.
 
void setAttribute (Inkscape::Util::const_char_ptr key, Inkscape::Util::const_char_ptr value)
 
void setAttributeDouble (Inkscape::Util::const_char_ptr key, double value)
 
void setAttributeOrRemoveIfEmpty (Inkscape::Util::const_char_ptr key, Inkscape::Util::const_char_ptr value)
 
void readAttr (char const *key)
 Read value of key attribute from XML node into object.
 
void readAttr (SPAttr keyid)
 
char const * getTagName () const
 
void removeAttribute (char const *key)
 
void setCSS (SPCSSAttr *css, char const *attr)
 
void changeCSS (SPCSSAttr *css, char const *attr)
 
bool storeAsDouble (char const *key, double *val) const
 
virtual void read_content ()
 
void recursivePrintTree (unsigned level=0)
 
void objectTrace (std::string const &, bool in=true, unsigned flags=0)
 
std::string generate_unique_id (char const *default_id=nullptr) const
 Generate a document-wide unique id for this object.
 

Static Public Member Functions

static SPGuidecreateSPGuide (SPDocument *doc, Geom::Point const &pt1, Geom::Point const &pt2)
 

Protected Member Functions

void build (SPDocument *doc, Inkscape::XML::Node *repr) override
 
void release () override
 
void set (SPAttr key, const char *value) override
 
- Protected Member Functions inherited from SPObject
virtual void child_added (Inkscape::XML::Node *child, Inkscape::XML::Node *ref)
 
virtual void remove_child (Inkscape::XML::Node *child)
 
virtual void order_changed (Inkscape::XML::Node *child, Inkscape::XML::Node *old_repr, Inkscape::XML::Node *new_repr)
 
virtual void tag_name_changed (gchar const *oldname, gchar const *newname)
 
virtual void update (SPCtx *ctx, unsigned int flags)
 
virtual void modified (unsigned int flags)
 
virtual Inkscape::XML::Nodewrite (Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, unsigned int flags)
 

Protected Attributes

char * label
 
std::vector< CanvasItemPtr< Inkscape::CanvasItemGuideLine > > views
 
bool locked
 
Geom::Point normal_to_line
 
Geom::Point point_on_line
 
guint32 color
 
guint32 hicolor
 
- Protected Attributes inherited from SPObject
ListHook _child_hook
 

Additional Inherited Members

- Public Types inherited from SPObject
enum  CollectionPolicy { COLLECT_WITH_PARENT , ALWAYS_COLLECT }
 
enum class  LinkedObjectNature { DEPENDENT = -1 , ANY = 0 , DEPENDENCY = 1 }
 
enum  Action { ActionGeneral , ActionBBox , ActionUpdate , ActionShow }
 
typedef Inkscape::Util::ForwardPointerIterator< SPObject, ParentIteratorStrategyParentIterator
 
typedef Inkscape::Util::ForwardPointerIterator< SPObject const, ParentIteratorStrategyConstParentIterator
 
using ChildrenList = boost::intrusive::list< SPObject, boost::intrusive::member_hook< SPObject, ListHook, &SPObject::_child_hook > >
 
- Public Attributes inherited from SPObject
unsigned int cloned: 1
 
SPObjectclone_original {nullptr}
 
unsigned int uflags: 16
 
unsigned int mflags: 16
 
SPIXmlSpace xml_space
 
Glib::ustring lang
 
unsigned int hrefcount {0}
 
unsigned int _total_hrefcount {0}
 
SPDocumentdocument {nullptr}
 
SPObjectparent {nullptr}
 
int refCount {1}
 
std::list< SPObject * > hrefList
 
SPStylestyle
 Represents the style properties, whether from presentation attributes, the style attribute, or inherited.
 
SPStylecontext_style
 Represents the style that should be used to resolve 'context-fill' and 'context-stroke'.
 
sigc::signal< void(SPObject *)> _release_signal
 
sigc::signal< void(SPObject *)> _delete_signal
 
sigc::signal< void(SPObject *)> _position_changed_signal
 
sigc::signal< void(SPObject *, unsigned int)> _modified_signal
 
SPObject_successor {nullptr}
 
SPObject_tmpsuccessor {nullptr}
 
CollectionPolicy _collection_policy {SPObject::COLLECT_WITH_PARENT}
 
char * _label {nullptr}
 
char * _default_label {nullptr}
 
ChildrenList children
 
- Protected Types inherited from SPObject
typedef boost::intrusive::list_member_hook ListHook
 

Detailed Description

Definition at line 42 of file sp-guide.h.

Constructor & Destructor Documentation

◆ SPGuide()

SPGuide::SPGuide ( )

Definition at line 45 of file sp-guide.cpp.

◆ ~SPGuide()

SPGuide::~SPGuide ( )
overridedefault

Member Function Documentation

◆ angle()

double SPGuide::angle ( ) const
inline

Definition at line 84 of file sp-guide.h.

References normal_to_line, Geom::X, and Geom::Y.

Referenced by description(), and sp_dt_guide_event().

◆ build()

void SPGuide::build ( SPDocument doc,
Inkscape::XML::Node repr 
)
overrideprotectedvirtual

◆ createSPGuide()

◆ description()

char * SPGuide::description ( bool const  verbose = true) const

Returns a human-readable description of the guideline for use in dialog boxes and status bar.

If verbose is false, only positioning information is included (useful for dialogs).

The caller is responsible for freeing the string.

Definition at line 482 of file sp-guide.cpp.

References angle(), SPNamedView::display_units, SPObject::document, SPDocument::getNamedView(), normal_to_line, point_on_line, Inkscape::Util::Quantity::string(), Geom::X, and Geom::Y.

Referenced by Inkscape::UI::Dialog::GuidelinePropertiesDialog::_setup().

◆ duplicate()

◆ fix_orientation()

void SPGuide::fix_orientation ( )

Definition at line 200 of file sp-guide.cpp.

References SPObject::document, ORIENTATION, POSITION, and SPObject::readAttr().

◆ getColor()

guint32 SPGuide::getColor ( ) const
inline

Definition at line 52 of file sp-guide.h.

References color.

Referenced by Inkscape::UI::Dialog::GuidelinePropertiesDialog::_setup().

◆ getHiColor()

guint32 SPGuide::getHiColor ( ) const
inline

Definition at line 53 of file sp-guide.h.

References hicolor.

◆ getLabel()

char const * SPGuide::getLabel ( ) const
inline

Definition at line 61 of file sp-guide.h.

References label.

Referenced by Inkscape::UI::Dialog::GuidelinePropertiesDialog::_setup().

◆ getLocked()

bool SPGuide::getLocked ( ) const
inline

Definition at line 64 of file sp-guide.h.

References locked.

Referenced by Inkscape::UI::Dialog::GuidelinePropertiesDialog::_setup().

◆ getNormal()

Geom::Point SPGuide::getNormal ( ) const
inline

◆ getPoint()

◆ hideSPGuide() [1/2]

void SPGuide::hideSPGuide ( )

Definition at line 341 of file sp-guide.cpp.

References views.

◆ hideSPGuide() [2/2]

void SPGuide::hideSPGuide ( Inkscape::UI::Widget::Canvas canvas)

Definition at line 328 of file sp-guide.cpp.

References views.

Referenced by SPNamedView::setShowGuideSingle().

◆ isHorizontal()

bool SPGuide::isHorizontal ( ) const
inline

Definition at line 79 of file sp-guide.h.

References normal_to_line, and Geom::X.

Referenced by Inkscape::UI::Dialog::GuidelinePropertiesDialog::_setup().

◆ isVertical()

bool SPGuide::isVertical ( ) const
inline

Definition at line 80 of file sp-guide.h.

References normal_to_line, and Geom::Y.

Referenced by Inkscape::UI::Dialog::GuidelinePropertiesDialog::_setup().

◆ moveto()

void SPGuide::moveto ( Geom::Point const  point_on_line,
bool const  commit 
)
  • commit False indicates temporary moveto in response to motion event while dragging, true indicates a "committing" version: in response to button release event after dragging a guideline, or clicking OK in guide editing dialog.

Definition at line 367 of file sp-guide.cpp.

References Geom::are_near(), SPObject::document, Geom::EPSILON, SPDocument::getHeight(), SPObject::getRepr(), SPDocument::getRoot(), SPDocument::is_yaxisdown(), locked, point_on_line, root, Inkscape::XML::Node::setAttributePoint(), Inkscape::Util::Quantity::value(), SPViewBox::viewBox, views, Geom::GenericRect< C >::width(), Geom::Point::x(), and Geom::Point::y().

Referenced by Inkscape::UI::Dialog::GuidelinePropertiesDialog::_onOKimpl(), set(), sp_dt_guide_event(), and SPNamedView::translateGuides().

◆ release()

void SPGuide::release ( )
overrideprotectedvirtual

Reimplemented from SPObject.

Definition at line 77 of file sp-guide.cpp.

References SPObject::document, SPObject::release(), SPDocument::removeResource(), and views.

◆ remove()

bool SPGuide::remove ( bool  force = false)

◆ sensitize()

void SPGuide::sensitize ( Inkscape::UI::Widget::Canvas canvas,
bool  sensitive 
)

Definition at line 348 of file sp-guide.cpp.

References views.

◆ set()

◆ set_color()

void SPGuide::set_color ( const unsigned  r,
const unsigned  g,
const unsigned  b,
bool const  commit 
)

◆ set_label()

void SPGuide::set_label ( const char *  label,
bool const  commit 
)

◆ set_locked()

void SPGuide::set_locked ( const bool  locked,
bool const  commit 
)

◆ set_normal()

void SPGuide::set_normal ( Geom::Point const  normal_to_line,
bool const  commit 
)
  • commit False indicates temporary moveto in response to motion event while dragging, true indicates a "committing" version: in response to button release event after dragging a guideline, or clicking OK in guide editing dialog.

Definition at line 412 of file sp-guide.cpp.

References SPObject::document, SPObject::getRepr(), SPDocument::is_yaxisdown(), locked, normal_to_line, Inkscape::XML::Node::setAttributePoint(), views, and Geom::X.

Referenced by Inkscape::UI::Dialog::GuidelinePropertiesDialog::_onOKimpl(), set(), and sp_dt_guide_event().

◆ setColor()

void SPGuide::setColor ( guint32  c)

Definition at line 55 of file sp-guide.cpp.

References color, and views.

Referenced by set().

◆ setHiColor()

void SPGuide::setHiColor ( guint32  h)
inline

Definition at line 50 of file sp-guide.h.

References hicolor.

◆ showSPGuide() [1/2]

void SPGuide::showSPGuide ( )

Definition at line 320 of file sp-guide.cpp.

References views.

◆ showSPGuide() [2/2]

void SPGuide::showSPGuide ( Inkscape::CanvasItemGroup group)

◆ tag()

int SPGuide::tag ( ) const
inlineoverridevirtual

Reimplemented from SPObject.

Definition at line 46 of file sp-guide.h.

References tag_of.

Member Data Documentation

◆ color

guint32 SPGuide::color
protected

Definition at line 97 of file sp-guide.h.

Referenced by getColor(), set_color(), setColor(), and showSPGuide().

◆ hicolor

guint32 SPGuide::hicolor
protected

Definition at line 98 of file sp-guide.h.

Referenced by getHiColor(), and setHiColor().

◆ label

char* SPGuide::label
protected

Definition at line 91 of file sp-guide.h.

Referenced by getLabel(), set(), set_label(), and showSPGuide().

◆ locked

bool SPGuide::locked
protected

Definition at line 93 of file sp-guide.h.

Referenced by getLocked(), moveto(), remove(), set_locked(), set_normal(), and showSPGuide().

◆ normal_to_line

Geom::Point SPGuide::normal_to_line
protected

◆ point_on_line

Geom::Point SPGuide::point_on_line
protected

Definition at line 95 of file sp-guide.h.

Referenced by description(), duplicate(), getPoint(), moveto(), set(), and showSPGuide().

◆ views


The documentation for this class was generated from the following files: