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;
|
||||
}
|
||||
@@ -9,5 +9,10 @@ public:
|
||||
~ArrowTool(void); //OnDeselect?
|
||||
virtual void onButton1MouseDown(Mouse);
|
||||
virtual void onMouseMoved(Mouse mouse);
|
||||
virtual void onSelect(Mouse mouse); //Why is this not being called
|
||||
virtual void onSelect(Mouse mouse);
|
||||
virtual void onKeyDown(int key);
|
||||
virtual void onKeyUp(int key);
|
||||
private:
|
||||
bool lctrlDown;
|
||||
bool rctrlDown;
|
||||
};
|
||||
|
||||
4
Tool.cpp
4
Tool.cpp
@@ -20,8 +20,8 @@ void Tool::onMouseMoved(Mouse mouse){}
|
||||
void Tool::onSelect(Mouse mouse){}
|
||||
void Tool::onDeselect(Mouse mouse){}
|
||||
void Tool::onMouseScroll(Mouse mouse){}
|
||||
void Tool::onKeyDown(char key){}
|
||||
void Tool::onKeyUp(char key){}
|
||||
void Tool::onKeyDown(int key){}
|
||||
void Tool::onKeyUp(int key){}
|
||||
void Tool::setCursor(std::string str)
|
||||
{
|
||||
cursorString = str;
|
||||
|
||||
4
Tool.h
4
Tool.h
@@ -24,8 +24,8 @@ public:
|
||||
virtual void onSelect(Mouse);//yes
|
||||
virtual void onDeselect(Mouse);//yes
|
||||
virtual void onMouseScroll(Mouse);//Kinda
|
||||
virtual void onKeyDown(char);//yes
|
||||
virtual void onKeyUp(char);//yes
|
||||
virtual void onKeyDown(int);//yes
|
||||
virtual void onKeyUp(int);//yes
|
||||
virtual int getCursorId();//yes
|
||||
protected:
|
||||
virtual void setCursor(std::string);
|
||||
|
||||
Reference in New Issue
Block a user