#ifndef NTX_CLIPBOARD_H #define NTX_CLIPBOARD_H #include #include namespace ntx { /** * @brief Einfaches Clipboard für Copy/Cut/Paste-Operationen. * * Speichert elternlose Deep-Clones mit Original-Position für Undo. * Kein Singleton - wird als Member von NtxHeadNode verwendet. */ class NtxClipboard { public: NtxClipboard() = default; ~NtxClipboard() = default; // Copy/Cut Operations void copyNodes(const NtxNodeList& nodes); void cutNodes(const NtxNodeList& nodes); // Paste Operations NtxNodeList pasteNodes() const; // State bool isEmpty() const; size_t getCount() const; void clear(); // Access const NtxNodeEntryList& getEntries() const; private: NtxNodeEntryList m_nodeEntryList; NtxNodePtr createOrphanClone(NtxNodePtr node) const; }; } // namespace ntx #endif // NTX_CLIPBOARD_H