added nodes.
This commit is contained in:
46
nodes/services/ntxheadnode.h
Normal file
46
nodes/services/ntxheadnode.h
Normal file
@@ -0,0 +1,46 @@
|
||||
#ifndef NTX_HEADNODE_H
|
||||
#define NTX_HEADNODE_H
|
||||
|
||||
#include <ntxinode.h>
|
||||
#include <ntxclipboard.h>
|
||||
#include <memory>
|
||||
|
||||
namespace ntx
|
||||
{
|
||||
class NtxINode;
|
||||
using NtxNodePtr = std::shared_ptr<NtxINode>;
|
||||
|
||||
class NtxHeadNode
|
||||
{
|
||||
public:
|
||||
|
||||
NtxHeadNode() = default;
|
||||
~NtxHeadNode() = default;
|
||||
|
||||
NtxHeadNode(const NtxHeadNode&) = delete;
|
||||
NtxHeadNode& operator=(const NtxHeadNode&) = delete;
|
||||
NtxHeadNode(NtxHeadNode&&) = default;
|
||||
NtxHeadNode& operator=(NtxHeadNode&&) = default;
|
||||
|
||||
bool copyNode(NtxNodePtr node);
|
||||
bool cutNode(NtxNodePtr node);
|
||||
NtxNodePtr pasteNode(NtxNodePtr parent, int index = -1);
|
||||
bool addNode(NtxNodePtr parent, NtxNodePtr node, int index = -1);
|
||||
bool deleteNode(NtxNodePtr node);
|
||||
|
||||
bool hasClipboard() const;
|
||||
void clearClipboard();
|
||||
NtxNodePtr peekClipboard() const;
|
||||
|
||||
private:
|
||||
|
||||
NtxClipboard m_clipboard; // ← Eigene Klasse als Member!
|
||||
bool m_isCutOperation{false};
|
||||
|
||||
bool validateNode(NtxNodePtr node) const;
|
||||
bool canAddToParent(NtxNodePtr parent, NtxNodePtr child) const;
|
||||
};
|
||||
|
||||
} // namespace ntx
|
||||
|
||||
#endif // NTX_HEADNODE_H
|
||||
Reference in New Issue
Block a user