clipboard singleton
This commit is contained in:
@@ -13,4 +13,11 @@ namespace VISEQ::APP {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::shared_ptr<Clipboard> Clipboard::get() {
|
||||||
|
if(!Clipboard::instance){
|
||||||
|
Clipboard::instance.reset(new Clipboard());
|
||||||
|
}
|
||||||
|
return Clipboard::instance;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,5 +14,8 @@ namespace VISEQ::APP {
|
|||||||
|
|
||||||
void copyNodes(GRAPH::NODES::VEC_SPTR_Node selected_nodes);
|
void copyNodes(GRAPH::NODES::VEC_SPTR_Node selected_nodes);
|
||||||
|
|
||||||
|
inline static std::shared_ptr<Clipboard> instance;
|
||||||
|
static std::shared_ptr<Clipboard> get();
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,11 +13,11 @@ namespace VISEQ::INTERACTION{
|
|||||||
void InteractionManager::update(){
|
void InteractionManager::update(){
|
||||||
if(KEYS_DOWN.ctrl && IsKeyPressed(KEY_C)){
|
if(KEYS_DOWN.ctrl && IsKeyPressed(KEY_C)){
|
||||||
VEC_SPTR_Node selected_nodes = gm->getCopiesOfSelectedNodes();
|
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)){
|
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);
|
if(!paste_nodes.empty()) gm->pasteNodesAndEdges(paste_nodes, MOD_MOUSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ namespace VISEQ::INTERACTION{
|
|||||||
Vec2Df scale_start;
|
Vec2Df scale_start;
|
||||||
std::shared_ptr<ScaleHandle> scale_handle = std::make_shared<ScaleHandle>();
|
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 update();
|
||||||
void draw();
|
void draw();
|
||||||
|
|||||||
Reference in New Issue
Block a user