Selaa lähdekoodia

Made dragging in UITree have a delay of a few pixels

Ivan Safrin 13 vuotta sitten
vanhempi
sitoutus
b542cb80e5

+ 4 - 4
IDE/Contents/Source/PolycodeIDEApp.cpp

@@ -338,11 +338,11 @@ bool PolycodeIDEApp::Update() {
 	}
 	
 	if(projectManager->getProjectCount() > 0) {
-		frame->welcomeEntity->visible =  false;
-		frame->projectBrowser->visible =  true;		
+		frame->welcomeEntity->enabled =  false;
+		frame->projectBrowser->enabled =  true;		
 	} else {
-		frame->welcomeEntity->visible =  true;
-		frame->projectBrowser->visible =  false;			
+		frame->welcomeEntity->enabled =  true;
+		frame->projectBrowser->enabled =  false;			
 	}
 
 	return core->Update();

+ 1 - 0
Modules/Contents/UI/Include/PolyUITree.h

@@ -87,6 +87,7 @@ namespace Polycode {
 			bool collapsing;
 			ScreenImage *arrowIconImage;
 			String arrowIcon;
+			Vector2 mouseDownPosition;
 			String fontName;
 			int size;
 			Number cellHeight;

+ 2 - 1
Modules/Contents/UI/Source/PolyUITree.cpp

@@ -165,9 +165,10 @@ void UITree::handleEvent(Event *event) {
 			break;			
 			case InputEvent::EVENT_MOUSEDOWN:	
 				willDrag = true;
+				mouseDownPosition = ((InputEvent*)event)->mousePosition;				
 			break;			
 			case InputEvent::EVENT_MOUSEMOVE:
-				if(willDrag && !isDragging) {
+				if(willDrag && !isDragging && ((InputEvent*)event)->mousePosition.distance(mouseDownPosition) > 5) {
 					isDragging = true;
 					dispatchEvent(new UITreeEvent(this), UITreeEvent::DRAG_START_EVENT);
 				}