Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
Inkscape::LayerManager Class Reference

#include <layer-manager.h>

Inheritance diagram for Inkscape::LayerManager:
Inkscape::DocumentSubset

Public Member Functions

 LayerManager (SPDesktop *desktop)
 
 ~LayerManager ()
 
void renameLayer (SPObject *obj, char const *label, bool uniquify)
 
Glib::ustring getNextLayerName (SPObject *obj, char const *label)
 
sigc::connection connectCurrentLayerChanged (const sigc::slot< void(SPGroup *)> &slot)
 
SPGroupcurrentRoot () const
 Returns current root (=bottom) layer.
 
SPGroupcurrentLayer () const
 Returns current top layer.
 
unsigned getLayerCount () const
 
void reset ()
 Resets the bottom layer to the current root.
 
void setCurrentLayer (SPObject *object, bool clear=false)
 Sets the current layer of the desktop.
 
void toggleLayerSolo (SPObject *object, bool force_hide=false)
 Toggle the visibility of every layer except the given layer.
 
void toggleHideAllLayers (bool hide)
 
void toggleLockAllLayers (bool lock)
 
void toggleLockOtherLayers (SPObject *object, bool force_lock=false)
 Toggle the sensitivity of every layer except the given layer.
 
SPObjectlayerForObject (SPObject *object)
 Return layer that contains object.
 
std::list< SPItem * > getAllLayers ()
 
bool isLayer (SPObject *object) const
 True if object is a layer.
 
bool isRoot () const
 
- Public Member Functions inherited from Inkscape::DocumentSubset
bool includes (SPObject *obj) const
 
SPObjectparentOf (SPObject *obj) const
 
unsigned childCount (SPObject *obj) const
 
unsigned indexOf (SPObject *obj) const
 
SPObjectnthChildOf (SPObject *obj, unsigned n) const
 
sigc::connection connectChanged (sigc::slot< void()> slot) const
 
sigc::connection connectAdded (sigc::slot< void(SPObject *)> slot) const
 
sigc::connection connectRemoved (sigc::slot< void(SPObject *)> slot) const
 

Static Public Member Functions

static SPGroupasLayer (SPObject *object)
 Return the SPGroup if we have a layer object.
 

Private Member Functions

void _objectModified (SPObject *obj, unsigned int flags)
 
void _setDocument (SPDesktop *, SPDocument *document)
 
void _rebuild ()
 
void _selectedLayerChanged (SPObject *top, SPObject *bottom)
 
void _layer_activated (SPObject *layer)
 
void _layer_deactivated (SPObject *layer)
 

Private Attributes

sigc::connection _layer_connection
 
sigc::connection _activate_connection
 
sigc::connection _deactivate_connection
 
sigc::connection _document_connection
 
sigc::connection _resource_connection
 
SPDesktop_desktop
 
SPDocument_document
 
std::unique_ptr< Inkscape::ObjectHierarchy_layer_hierarchy
 
sigc::signal< void(SPGroup *)> _layer_changed_signal
 

Additional Inherited Members

- Protected Member Functions inherited from Inkscape::DocumentSubset
 DocumentSubset ()
 
 ~DocumentSubset ()
 
void _addOne (SPObject *obj)
 
void _removeOne (SPObject *obj)
 
void _removeSubtree (SPObject *obj)
 
void _clear ()
 

Detailed Description

Definition at line 27 of file layer-manager.h.

Constructor & Destructor Documentation

◆ LayerManager()

◆ ~LayerManager()

Inkscape::LayerManager::~LayerManager ( )

Member Function Documentation

◆ _layer_activated()

void Inkscape::LayerManager::_layer_activated ( SPObject layer)
private

Definition at line 78 of file layer-manager.cpp.

References _desktop, SPDesktop::dkey, and SPGroup::LAYER.

Referenced by LayerManager().

◆ _layer_deactivated()

void Inkscape::LayerManager::_layer_deactivated ( SPObject layer)
private

Definition at line 85 of file layer-manager.cpp.

References _desktop, SPDesktop::dkey, and SPGroup::GROUP.

Referenced by LayerManager().

◆ _objectModified()

void Inkscape::LayerManager::_objectModified ( SPObject obj,
unsigned int  flags 
)
private

◆ _rebuild()

◆ _selectedLayerChanged()

void Inkscape::LayerManager::_selectedLayerChanged ( SPObject top,
SPObject bottom 
)
private

Definition at line 300 of file layer-manager.cpp.

References _layer_changed_signal.

Referenced by LayerManager().

◆ _setDocument()

void Inkscape::LayerManager::_setDocument ( SPDesktop ,
SPDocument document 
)
private

◆ asLayer()

SPGroup * Inkscape::LayerManager::asLayer ( SPObject object)
static

◆ connectCurrentLayerChanged()

sigc::connection Inkscape::LayerManager::connectCurrentLayerChanged ( const sigc::slot< void(SPGroup *)> &  slot)
inline

◆ currentLayer()

SPGroup * Inkscape::LayerManager::currentLayer ( ) const

Returns current top layer.

Definition at line 103 of file layer-manager.cpp.

References _layer_hierarchy.

Referenced by Inkscape::UI::Dialog::LayerPropertiesDialog::_doRename(), Inkscape::Selection::_emitChanged(), Inkscape::UI::Tools::PencilTool::_fitAndSplit(), Inkscape::UI::Widget::LayerSelector::_hideLayer(), Inkscape::UI::Widget::LayerSelector::_lockLayer(), Inkscape::UI::Dialog::LayerPropertiesDialog::_setup(), Inkscape::UI::Dialog::LayerPropertiesDialog::_setup_layers_controls(), Inkscape::Selection::activeContext(), create_flowtext_with_internal_frame(), create_text_with_inline_size(), create_text_with_rectangle(), Inkscape::UI::Tools::MeasureTool::createAngleDisplayCurve(), Inkscape::UI::Tools::ToolBase::currentLayer(), Inkscape::UI::Tools::do_trace(), Inkscape::Extension::Internal::Grid::effect(), Inkscape::Extension::Internal::Grid::effect(), file_import(), SPDocument::getItemsAtPoints(), group_exit(), Inkscape::have_viable_layer(), Inkscape::have_viable_layer(), isRoot(), layer_bottom(), layer_delete(), layer_hide_toggle(), layer_hide_toggle_others(), layer_lock_toggle(), layer_lock_toggle_others(), layer_lower(), layer_new(), layer_new_above(), layer_next(), layer_previous(), layer_raise(), layer_rename(), layer_to_group(), layer_top(), Inkscape::UI::Dialog::Find::onAction(), process_all(), SPDesktop::reconstruction_start(), selection_move_to_layer(), Inkscape::UI::Widget::LayerSelector::setDesktop(), Inkscape::UI::Tools::MeasureTool::setLabelText(), Inkscape::UI::Tools::MeasureTool::setLine(), Inkscape::UI::Tools::MeasureTool::setMeasureItem(), Inkscape::UI::Tools::MeasureTool::setPoint(), Inkscape::UI::Tools::MeasureTool::showCanvasItems(), sp_edit_clear_all(), sp_edit_select_all_full(), sp_import_document(), sp_namedview_document_from_window(), Inkscape::UI::Tools::sp_select_context_up_one_layer(), Inkscape::UI::Tools::MeasureTool::toGuides(), Inkscape::UI::Tools::MeasureTool::toItem(), Inkscape::ObjectSet::toNextLayer(), Inkscape::ObjectSet::toPrevLayer(), and SPSymbol::unSymbol().

◆ currentRoot()

◆ getAllLayers()

std::list< SPItem * > Inkscape::LayerManager::getAllLayers ( )

◆ getLayerCount()

unsigned Inkscape::LayerManager::getLayerCount ( ) const
inline

◆ getNextLayerName()

Glib::ustring Inkscape::LayerManager::getNextLayerName ( SPObject obj,
char const *  label 
)

◆ isLayer()

◆ isRoot()

◆ layerForObject()

◆ renameLayer()

◆ reset()

void Inkscape::LayerManager::reset ( )

Resets the bottom layer to the current root.

Definition at line 111 of file layer-manager.cpp.

References _layer_hierarchy, and currentRoot().

Referenced by SPDesktop::reconstruction_start().

◆ setCurrentLayer()

◆ toggleHideAllLayers()

void Inkscape::LayerManager::toggleHideAllLayers ( bool  hide)

Definition at line 211 of file layer-manager.cpp.

References currentRoot(), and Inkscape::previous_layer().

Referenced by layer_hide_all(), and layer_unhide_all().

◆ toggleLayerSolo()

void Inkscape::LayerManager::toggleLayerSolo ( SPObject object,
bool  force_hide = false 
)

Toggle the visibility of every layer except the given layer.

Definition at line 507 of file layer-manager.cpp.

References currentRoot(), Inkscape::get_layers_to_toggle(), SPItem::isHidden(), item, and SPItem::setHidden().

Referenced by layer_hide_toggle_others(), and Inkscape::UI::Dialog::ObjectsPanel::toggleVisible().

◆ toggleLockAllLayers()

void Inkscape::LayerManager::toggleLockAllLayers ( bool  lock)

Definition at line 216 of file layer-manager.cpp.

References currentRoot(), and Inkscape::previous_layer().

Referenced by layer_lock_all(), and layer_unlock_all().

◆ toggleLockOtherLayers()

void Inkscape::LayerManager::toggleLockOtherLayers ( SPObject object,
bool  force_lock = false 
)

Toggle the sensitivity of every layer except the given layer.

Definition at line 485 of file layer-manager.cpp.

References currentRoot(), Inkscape::get_layers_to_toggle(), SPItem::isLocked(), item, and SPItem::setLocked().

Referenced by layer_lock_toggle_others(), and Inkscape::UI::Dialog::ObjectsPanel::toggleLocked().

Member Data Documentation

◆ _activate_connection

sigc::connection Inkscape::LayerManager::_activate_connection
private

Definition at line 68 of file layer-manager.h.

Referenced by LayerManager(), and ~LayerManager().

◆ _deactivate_connection

sigc::connection Inkscape::LayerManager::_deactivate_connection
private

Definition at line 69 of file layer-manager.h.

Referenced by LayerManager(), and ~LayerManager().

◆ _desktop

SPDesktop* Inkscape::LayerManager::_desktop
private

◆ _document

SPDocument* Inkscape::LayerManager::_document
private

Definition at line 74 of file layer-manager.h.

Referenced by _rebuild(), _setDocument(), getNextLayerName(), and setCurrentLayer().

◆ _document_connection

sigc::connection Inkscape::LayerManager::_document_connection
private

Definition at line 70 of file layer-manager.h.

Referenced by LayerManager(), and ~LayerManager().

◆ _layer_changed_signal

sigc::signal<void (SPGroup *)> Inkscape::LayerManager::_layer_changed_signal
private

Definition at line 77 of file layer-manager.h.

Referenced by _selectedLayerChanged(), and connectCurrentLayerChanged().

◆ _layer_connection

sigc::connection Inkscape::LayerManager::_layer_connection
private

Definition at line 67 of file layer-manager.h.

Referenced by LayerManager(), and ~LayerManager().

◆ _layer_hierarchy

std::unique_ptr<Inkscape::ObjectHierarchy> Inkscape::LayerManager::_layer_hierarchy
private

◆ _resource_connection

sigc::connection Inkscape::LayerManager::_resource_connection
private

Definition at line 71 of file layer-manager.h.

Referenced by _setDocument(), and ~LayerManager().


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