clipboard singleton

This commit is contained in:
Sebastian
2026-06-24 18:11:34 +02:00
parent b02eb7e1d4
commit a76954b6f7
4 changed files with 13 additions and 3 deletions
+7
View File
@@ -13,4 +13,11 @@ namespace VISEQ::APP {
}
}
std::shared_ptr<Clipboard> Clipboard::get() {
if(!Clipboard::instance){
Clipboard::instance.reset(new Clipboard());
}
return Clipboard::instance;
}
}
+3
View File
@@ -14,5 +14,8 @@ namespace VISEQ::APP {
void copyNodes(GRAPH::NODES::VEC_SPTR_Node selected_nodes);
inline static std::shared_ptr<Clipboard> instance;
static std::shared_ptr<Clipboard> get();
};
}
+2 -2
View File
@@ -13,11 +13,11 @@ namespace VISEQ::INTERACTION{
void InteractionManager::update(){
if(KEYS_DOWN.ctrl && IsKeyPressed(KEY_C)){
VEC_SPTR_Node selected_nodes = gm->getCopiesOfSelectedNodes();
if(!selected_nodes.empty()) cb.copyNodes(selected_nodes);
if(!selected_nodes.empty()) cb->copyNodes(selected_nodes);
}
if(KEYS_DOWN.ctrl && IsKeyPressed(KEY_V)){
VEC_SPTR_Node paste_nodes = cb.pasteNodes();
VEC_SPTR_Node paste_nodes = cb->pasteNodes();
if(!paste_nodes.empty()) gm->pasteNodesAndEdges(paste_nodes, MOD_MOUSE);
}
+1 -1
View File
@@ -62,7 +62,7 @@ namespace VISEQ::INTERACTION{
Vec2Df scale_start;
std::shared_ptr<ScaleHandle> scale_handle = std::make_shared<ScaleHandle>();
VISEQ::APP::Clipboard cb;
std::shared_ptr<APP::Clipboard> cb = APP::Clipboard::get();
void update();
void draw();