24 #include <matrix/geodeticCoord.h>
26 #include <boost/signals2.hpp>
35 class DtCopyObjectCreator;
37 class DtVrfObjectManipulationEventProcessor;
44 typedef std::map<std::string, DtPasteInformation>
DtPasteData;
61 virtual void clearPasteData();
69 return (myObjectsCopying.size() == 0);
74 return myObjectsCopying.size();
79 return ((myPasteData.size() != 0) && !pasting());
87 virtual void cancelPaste();
101 virtual void copyOperationPending(
DtCopyObject*,
const std::string&);
107 virtual DtCopyObject* createCopyObject(
int type)
const = 0;
121 return (myObjectsPasting.size() != 0);
125 virtual void setPreserveOffsets(
bool);
126 virtual bool preserveOffsets()
const;
138 return myEventProcessor != 0;
145 myMaximumToProcessInPastePass = i;
150 return myMaximumToProcessInPastePass;
154 virtual void cleanup();
157 virtual DtCopyObject* createObjectFromPasteData(
int type,
const std::string& buffer)
const;
160 virtual void queueObjectsToPaste();
163 virtual void slot_onPaste();
167 return myObjectsPasting;
170 virtual void setPasteData(
const std::string& name,
int type,
const std::string& pasteBuffer);
175 virtual void registerName(
const DtString&);
176 virtual bool nameIsRegistered(
const DtString&)
const;
191 virtual void cleanupEventProcessor();
195 virtual void slot_onLocationChanged(
const DtVector&,
double);
198 virtual void pasteOperationPending(
DtCopyObject*,
const std::string&);
213 boost::signals2::signal<void (DtCopyObject*, const std::string&)>
signal_copied;
bool pasting() const
Returns true if currently pasting.
Definition: vrfCopyPasteHandler.h:136
boost::signals2::signal< void(DtCopyObject *, const std::string &)> signal_copyOperationPending
Definition: vrfCopyPasteHandler.h:215
int numCopying() const
Definition: vrfCopyPasteHandler.h:72
Manage the tick and mouse events when editing or placing a Vrf object.
Definition: vrfObjectManipulationEventProcessor.h:35
virtual bool canCopy() const
Definition: vrfCopyPasteHandler.h:67
boost::signals2::signal< void()> signal_pasteComplete
Definition: vrfCopyPasteHandler.h:218
std::map< DtCopyObject *, int > DtObjectsCopying
Definition: vrfCopyPasteHandler.h:45
DtVrfObjectManipulationEventProcessor * myEventProcessor
Definition: vrfCopyPasteHandler.h:233
boost::signals2::signal< void(DtCopyObject *)> signal_pasted
Definition: vrfCopyPasteHandler.h:219
std::vector< DtCopyObject * > DtObjectsDeleting
Definition: vrfCopyPasteHandler.h:46
bool hasObjectsToPaste() const
Definition: vrfCopyPasteHandler.h:119
DtGeodeticCoord myOrigin
Definition: vrfCopyPasteHandler.h:237
bool myQueueing
Definition: vrfCopyPasteHandler.h:236
const DtPasteData & pasteData() const
Returns the paste data currently in paste buffer.
Definition: vrfCopyPasteHandler.h:55
DtObjectsPasting myObjectsBeingPasted
Definition: vrfCopyPasteHandler.h:230
const DtObjectsPasting & objectsPasting() const
Definition: vrfCopyPasteHandler.h:165
boost::signals2::signal< void()> signal_stopped
Definition: vrfCopyPasteHandler.h:211
DtObjectsDeleting myToDelete
Definition: vrfCopyPasteHandler.h:232
int pasteFlags() const
Definition: vrfCopyPasteHandler.h:114
bool myPreserveOffsets
Definition: vrfCopyPasteHandler.h:240
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
DtElementEntry holds the non-simulation-specific data about an element, including its element type an...
Definition: DtElementEntry.h:22
std::map< std::string, DtPasteInformation > DtPasteData
Definition: vrfCopyPasteHandler.h:44
void setMaximumToProcessInPastePass(int i)
Maximum number of objects to try and paste in a single pass.
Definition: vrfCopyPasteHandler.h:143
boost::signals2::signal< void(DtCopyObject *)> signal_copyCancelled
Definition: vrfCopyPasteHandler.h:212
int maximumToProcessInPastePass() const
Definition: vrfCopyPasteHandler.h:148
int myPasteFlags
Definition: vrfCopyPasteHandler.h:235
Contains makVrv::DtSimEntry class.
DtPasteData myPasteData
Buffer is a map of object name to data.
Definition: vrfCopyPasteHandler.h:227
makVrv::DtDe & myDe
Definition: vrfCopyPasteHandler.h:224
Definition: copyObject.h:145
Definition: copyObject.h:124
void setPasteFlags(int f)
Definition: vrfCopyPasteHandler.h:109
DtObjectsPasting myObjectsPasting
Definition: vrfCopyPasteHandler.h:229
boost::signals2::signal< void()> signal_copyComplete
Definition: vrfCopyPasteHandler.h:214
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
boost::signals2::signal< void(DtCopyObject *)> signal_pasteCancelled
Definition: vrfCopyPasteHandler.h:220
std::vector< DtCopyObject * > DtObjectsPasting
Definition: vrfCopyPasteHandler.h:47
DtObjectsCopying myObjectsCopying
Definition: vrfCopyPasteHandler.h:228
boost::signals2::signal< void(bool)> signal_hasPasteData
Emitted when state of whether or not can paste has changed.
Definition: vrfCopyPasteHandler.h:210
std::pair< std::string, int > DtPasteInformation
Definition: vrfCopyPasteHandler.h:43
virtual bool canPaste() const
Definition: vrfCopyPasteHandler.h:77
DtReferenceEllipsoid myReferenceEllipsoid
Definition: vrfCopyPasteHandler.h:238
std::set< DtString > myRegisteredNames
Definition: vrfCopyPasteHandler.h:242
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
boost::signals2::signal< void(DtCopyObject *, const std::string &)> signal_pasteOperationPending
Definition: vrfCopyPasteHandler.h:221
DtObjectsPasting myObjectsToPaste
Definition: vrfCopyPasteHandler.h:231
int myMaximumToProcessInPastePass
Definition: vrfCopyPasteHandler.h:234
boost::signals2::signal< void(DtCopyObject *, const std::string &)> signal_copied
Definition: vrfCopyPasteHandler.h:213
boost::signals2::signal< void()> signal_pasting
Definition: vrfCopyPasteHandler.h:217
Contains makVrv::DtElementEntry class.
The Master DtVrfCopyPasteManagerHandler.
Definition: vrfCopyPasteHandler.h:40