25 #include <matrix/geodeticCoord.h>
27 #include <boost/signal.hpp>
31 class DtCopyObjectCreator;
33 class DtVrfObjectManipulationEventProcessor;
40 typedef std::map<std::string, DtPasteInformation>
DtPasteData;
57 virtual void clearPasteData();
63 virtual bool canCopy()
const
65 return (myObjectsCopying.size() == 0);
68 int numCopying()
const
70 return myObjectsCopying.size();
73 virtual bool canPaste()
const
75 return ((myPasteData.size() != 0) && !pasting());
83 virtual void cancelPaste();
97 virtual void copyOperationPending(
DtCopyObject*,
const std::string&);
103 virtual DtCopyObject* createCopyObject(
int type)
const = 0;
105 void setPasteFlags(
int f)
110 int pasteFlags()
const
115 bool hasObjectsToPaste()
const
117 return (myObjectsPasting.size() != 0);
121 virtual void setPreserveOffsets(
bool);
122 virtual bool preserveOffsets()
const;
134 return myEventProcessor != 0;
139 void setMaximumToProcessInPastePass(
int i)
141 myMaximumToProcessInPastePass = i;
144 int maximumToProcessInPastePass()
const
146 return myMaximumToProcessInPastePass;
150 virtual void cleanup();
153 virtual DtCopyObject* createObjectFromPasteData(
int type,
const std::string& buffer)
const;
156 virtual void queueObjectsToPaste();
159 virtual void slot_onPaste();
163 return myObjectsPasting;
166 virtual void setPasteData(
const std::string& name,
int type,
const std::string& pasteBuffer);
171 virtual void registerName(
const DtString&);
172 virtual bool nameIsRegistered(
const DtString&)
const;
187 virtual void cleanupEventProcessor();
191 virtual void slot_onLocationChanged(
const DtVector&,
double);
194 virtual void pasteOperationPending(
DtCopyObject*,
const std::string&);