ufe 5.5
Universal Front End is a DCC-agnostic component that will allow a DCC to browse and edit data in multiple data models
sceneItemOps.h
Go to the documentation of this file.
1#line 1 "S:/jenkins/workspace/ECP/ufe/ufe-full-python3.11-windows/ufe/include/sceneItemOps.h"
2#ifndef _sceneItemOps
3#define _sceneItemOps
4// ===========================================================================
5// Copyright 2018 Autodesk, Inc. All rights reserved.
6//
7// Use of this software is subject to the terms of the Autodesk license
8// agreement provided at the time of installation or download, or which
9// otherwise accompanies this software in either electronic or hard copy form.
10// ===========================================================================
11
12#include "common/ufeExport.h"
13
14#include "sceneItem.h"
15#include "undoableCommand.h"
16
17#include <memory>
18
20
22
30
33
38};
39
41
50
53
58};
59
61
81{
82public:
83 typedef std::shared_ptr<SceneItemOps> Ptr;
84
92 static Ptr sceneItemOps(const SceneItem::Ptr& item);
93
97 SceneItemOps(const SceneItemOps&) = default;
99 virtual ~SceneItemOps();
100
102 virtual SceneItem::Ptr sceneItem() const = 0;
103
107
112
115 virtual bool deleteItem() = 0;
116
120
126
130
134
139 virtual Rename renameItemCmd(const PathComponent& newName) = 0;
140
144 virtual SceneItem::Ptr renameItem(const PathComponent& newName) = 0;
145};
146
147}
148
149#endif /* _sceneItemOps */
Constant string representation with fixed space and O(1) comparison.
Definition: pathComponent.h:33
std::shared_ptr< SceneItem > Ptr
Definition: sceneItem.h:44
Abstract base class for scene item operations interface.
Definition: sceneItemOps.h:81
virtual Rename renameItemCmd(const PathComponent &newName)=0
virtual SceneItemResultUndoableCommand::Ptr renameItemCmdNoExecute(const PathComponent &newName)=0
virtual SceneItemResultUndoableCommand::Ptr duplicateItemCmdNoExecute()=0
static Ptr sceneItemOps(const SceneItem::Ptr &item)
virtual SceneItem::Ptr duplicateItem()=0
virtual UndoableCommand::Ptr deleteItemCmdNoExecute()=0
SceneItemOps(const SceneItemOps &)=default
Default copy constructor.
virtual UndoableCommand::Ptr deleteItemCmd()=0
std::shared_ptr< SceneItemOps > Ptr
Definition: sceneItemOps.h:83
virtual Duplicate duplicateItemCmd()=0
virtual ~SceneItemOps()
Destructor.
virtual SceneItem::Ptr renameItem(const PathComponent &newName)=0
SceneItemOps()
Constructor.
virtual bool deleteItem()=0
virtual SceneItem::Ptr sceneItem() const =0
Scene item accessor.
std::shared_ptr< SceneItemResultUndoableCommand > Ptr
std::shared_ptr< UndoableCommand > Ptr
Result for undoable duplicate item.
Definition: sceneItemOps.h:27
Duplicate(const SceneItem::Ptr &, const UndoableCommand::Ptr &)
Construct.
SceneItem::Ptr item
Root of the duplicate hierarchy.
Definition: sceneItemOps.h:35
UndoableCommand::Ptr undoableCommand
Undoable command whose undo removes the duplicated object(s).
Definition: sceneItemOps.h:37
Duplicate()
Initialize the item and the undoable command to null.
Result for undoable rename item.
Definition: sceneItemOps.h:47
Rename(const SceneItem::Ptr &, const UndoableCommand::Ptr &)
Construct.
Rename()
Initialize the item and the undoable command to null.
SceneItem::Ptr item
Renamed item.
Definition: sceneItemOps.h:55
UndoableCommand::Ptr undoableCommand
Undoable command whose undo restores the original item's name.
Definition: sceneItemOps.h:57
#define UFE_NS_DEF
Definition: ufe.h:35
Definition of macros for symbol visibility.
#define UFE_SDK_DECL
Definition: ufeExport.h:36