24 #include <matrix/geodeticCoord.h>
33 class DtCopyObjectCreator;
35 class DtVrfObjectManipulationEventProcessor;
42 typedef std::map<std::string, std::vector<PasteInformation> >
PasteData;
60 virtual int numberOfObjectsInPasteData()
const;
63 virtual void clearPasteData();
71 return (myObjectsCopying.size() == 0);
76 return myObjectsCopying.size();
81 return ((myPasteData.size() != 0) && !pasting());
89 virtual void cancelPaste();
103 virtual void copyOperationPending(
DtCopyObject*,
const std::string&);
109 virtual DtCopyObject* createCopyObject(
int type)
const = 0;
123 return (myObjectsPasting.size() != 0);
127 virtual void setPreserveOffsets(
bool);
128 virtual bool preserveOffsets()
const;
134 virtual void paste(
const DtVector& at = DtVector(),
int flags =
140 return myEventProcessor != 0;
147 myMaximumToProcessInPastePass = i;
152 return myMaximumToProcessInPastePass;
156 virtual void cleanup();
159 virtual DtCopyObject* createObjectFromPasteData(
int type,
const std::string& buffer)
const;
162 virtual void queueObjectsToPaste();
165 virtual void slot_onPaste();
169 return myObjectsPasting;
172 virtual void setPasteData(
const std::string& name,
int type,
const std::string& pasteBuffer);
177 virtual void registerName(
const DtString&);
178 virtual bool nameIsRegistered(
const DtString&)
const;
193 virtual void cleanupEventProcessor();
197 virtual void slot_onLocationChanged(
const DtVector&,
double);
200 virtual void pasteOperationPending(
DtCopyObject*,
const std::string&);
215 boost::signals2::signal<void (DtCopyObject*, const std::string&)>
signal_copied;
bool pasting() const
Returns true if currently pasting.
Definition: vrfCopyPasteHandler.h:138
boost::signals2::signal< void(DtCopyObject *, const std::string &)> signal_copyOperationPending
Definition: vrfCopyPasteHandler.h:217
int numCopying() const
Definition: vrfCopyPasteHandler.h:74
ObjectsPasting myObjectsBeingPasted
Definition: vrfCopyPasteHandler.h:232
Manage the tick and mouse events when editing or placing a Vrf object.
Definition: vrfObjectManipulationEventProcessor.h:37
virtual bool canCopy() const
Definition: vrfCopyPasteHandler.h:69
boost::signals2::signal< void()> signal_pasteComplete
Definition: vrfCopyPasteHandler.h:220
DtVrfObjectManipulationEventProcessor * myEventProcessor
Definition: vrfCopyPasteHandler.h:235
boost::signals2::signal< void(DtCopyObject *)> signal_pasted
Definition: vrfCopyPasteHandler.h:221
bool hasObjectsToPaste() const
Definition: vrfCopyPasteHandler.h:121
DtGeodeticCoord myOrigin
Definition: vrfCopyPasteHandler.h:239
bool myQueueing
Definition: vrfCopyPasteHandler.h:238
boost::signals2::signal< void()> signal_stopped
Definition: vrfCopyPasteHandler.h:213
PasteData myPasteData
Buffer is a map of object name to data.
Definition: vrfCopyPasteHandler.h:229
int pasteFlags() const
Definition: vrfCopyPasteHandler.h:116
bool myPreserveOffsets
Definition: vrfCopyPasteHandler.h:242
#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
const PasteData & pasteData() const
Returns the paste data currently in paste buffer.
Definition: vrfCopyPasteHandler.h:53
void setMaximumToProcessInPastePass(int i)
Maximum number of objects to try and paste in a single pass. This is to try and prevent network messa...
Definition: vrfCopyPasteHandler.h:145
boost::signals2::signal< void(DtCopyObject *)> signal_copyCancelled
Definition: vrfCopyPasteHandler.h:214
int maximumToProcessInPastePass() const
Definition: vrfCopyPasteHandler.h:150
int myPasteFlags
Definition: vrfCopyPasteHandler.h:237
std::map< std::string, std::vector< PasteInformation > > PasteData
Definition: vrfCopyPasteHandler.h:42
makVrv::DtDe & myDe
Definition: vrfCopyPasteHandler.h:226
Definition: copyObject.h:145
ObjectsPasting myObjectsToPaste
Definition: vrfCopyPasteHandler.h:233
Definition: copyObject.h:124
void setPasteFlags(int f)
Definition: vrfCopyPasteHandler.h:111
ObjectsDeleting myToDelete
Definition: vrfCopyPasteHandler.h:234
boost::signals2::signal< void()> signal_copyComplete
Definition: vrfCopyPasteHandler.h:216
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
boost::signals2::signal< void(DtCopyObject *)> signal_pasteCancelled
Definition: vrfCopyPasteHandler.h:222
const ObjectsPasting & objectsPasting() const
Definition: vrfCopyPasteHandler.h:167
std::map< DtCopyObject *, int > ObjectsCopying
Definition: vrfCopyPasteHandler.h:43
boost::signals2::signal< void(bool)> signal_hasPasteData
Emitted when state of whether or not can paste has changed.
Definition: vrfCopyPasteHandler.h:212
virtual bool canPaste() const
Definition: vrfCopyPasteHandler.h:79
DtReferenceEllipsoid myReferenceEllipsoid
Definition: vrfCopyPasteHandler.h:240
std::vector< DtCopyObject * > ObjectsDeleting
Definition: vrfCopyPasteHandler.h:44
std::vector< DtCopyObject * > ObjectsPasting
Definition: vrfCopyPasteHandler.h:45
std::set< DtString > myRegisteredNames
Definition: vrfCopyPasteHandler.h:244
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
std::pair< std::string, int > PasteInformation
Definition: vrfCopyPasteHandler.h:41
boost::signals2::signal< void(DtCopyObject *, const std::string &)> signal_pasteOperationPending
Definition: vrfCopyPasteHandler.h:223
ObjectsPasting myObjectsPasting
Definition: vrfCopyPasteHandler.h:231
ObjectsCopying myObjectsCopying
Definition: vrfCopyPasteHandler.h:230
int myMaximumToProcessInPastePass
Definition: vrfCopyPasteHandler.h:236
boost::signals2::signal< void(DtCopyObject *, const std::string &)> signal_copied
Definition: vrfCopyPasteHandler.h:215
boost::signals2::signal< void()> signal_pasting
Definition: vrfCopyPasteHandler.h:219
Contains makVrv::DtElementEntry class.
The Master DtVrfCopyPasteManagerHandler.
Definition: vrfCopyPasteHandler.h:38