New selection method, fixed crashing
This commit is contained in:
@@ -1,7 +1,10 @@
|
||||
#include "ArrowTool.h"
|
||||
#include "Application.h"
|
||||
|
||||
ArrowTool::ArrowTool(void)
|
||||
{
|
||||
lctrlDown = false;
|
||||
rctrlDown = false;
|
||||
}
|
||||
|
||||
ArrowTool::~ArrowTool(void)
|
||||
@@ -10,10 +13,14 @@ ArrowTool::~ArrowTool(void)
|
||||
|
||||
void ArrowTool::onButton1MouseDown(Mouse mouse)
|
||||
{
|
||||
g_selectedInstances.clear();
|
||||
if(!lctrlDown && !rctrlDown)
|
||||
g_selectedInstances.clear();
|
||||
PartInstance * target = mouse.getTarget();
|
||||
if(target != NULL)
|
||||
if(target != NULL && std::find(g_selectedInstances.begin(), g_selectedInstances.end(), target) == g_selectedInstances.end())
|
||||
g_selectedInstances.push_back(target);
|
||||
if(g_selectedInstances.size() == 0)
|
||||
g_selectedInstances.push_back(g_dataModel);
|
||||
g_usableApp->_propWindow->UpdateSelected(g_selectedInstances[0]);
|
||||
}
|
||||
void ArrowTool::onMouseMoved(Mouse mouse)
|
||||
{
|
||||
@@ -25,4 +32,18 @@ void ArrowTool::onMouseMoved(Mouse mouse)
|
||||
void ArrowTool::onSelect(Mouse mouse)
|
||||
{
|
||||
this->setCursor(GetFileInPath("/content/images/ArrowCursor.png"));
|
||||
}
|
||||
|
||||
void ArrowTool::onKeyDown(int key)
|
||||
{
|
||||
if(key == VK_CONTROL)
|
||||
{
|
||||
lctrlDown = true;
|
||||
}
|
||||
}
|
||||
|
||||
void ArrowTool::onKeyUp(int key)
|
||||
{
|
||||
if(key == VK_CONTROL)
|
||||
lctrlDown = false;
|
||||
}
|
||||
Reference in New Issue
Block a user