ufe  4.2
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.10-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 
19 UFE_NS_DEF {
20 
22 
29  Duplicate();
30 
33 
38 };
39 
41 
49  Rename();
50 
53 
58 };
59 
61 
81 {
82 public:
83  typedef std::shared_ptr<SceneItemOps> Ptr;
84 
92  static Ptr sceneItemOps(const SceneItem::Ptr& item);
93 
95  SceneItemOps();
97  SceneItemOps(const SceneItemOps&) = default;
99  virtual ~SceneItemOps();
100 
102  virtual SceneItem::Ptr sceneItem() const = 0;
103 
106  virtual UndoableCommand::Ptr deleteItemCmdNoExecute() = 0;
107 
111  virtual UndoableCommand::Ptr deleteItemCmd() = 0;
112 
115  virtual bool deleteItem() = 0;
116 
119  virtual SceneItemResultUndoableCommand::Ptr duplicateItemCmdNoExecute() = 0;
120 
125  virtual Duplicate duplicateItemCmd() = 0;
126 
129  virtual SceneItem::Ptr duplicateItem() = 0;
130 
133  virtual SceneItemResultUndoableCommand::Ptr renameItemCmdNoExecute(const PathComponent& newName) = 0;
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 */
std::shared_ptr< UndoableCommand > Ptr
Abstract base class for scene item operations interface.
Definition: sceneItemOps.h:80
Definition of macros for symbol visibility.
Constant string representation with fixed space and O(1) comparison.
Definition: pathComponent.h:33
SceneItem::Ptr item
Root of the duplicate hierarchy.
Definition: sceneItemOps.h:35
std::shared_ptr< SceneItemOps > Ptr
Definition: sceneItemOps.h:83
UndoableCommand::Ptr undoableCommand
Undoable command whose undo restores the original item&#39;s name.
Definition: sceneItemOps.h:57
#define UFE_NS_DEF
Definition: ufe.h:35
std::shared_ptr< SceneItem > Ptr
Definition: sceneItem.h:40
Result for undoable duplicate item.
Definition: sceneItemOps.h:27
SceneItem::Ptr item
Renamed item.
Definition: sceneItemOps.h:55
Result for undoable rename item.
Definition: sceneItemOps.h:47
UndoableCommand::Ptr undoableCommand
Undoable command whose undo removes the duplicated object(s).
Definition: sceneItemOps.h:37
#define UFE_SDK_DECL
Definition: ufeExport.h:36
std::shared_ptr< SceneItemResultUndoableCommand > Ptr