Sfoglia il codice sorgente

Fixed scrollbar click to advance

Ivan Safrin 13 anni fa
parent
commit
a3010450ec

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

@@ -26,7 +26,7 @@
 using namespace Polycode;
 using namespace Polycode;
 
 
 PolycodeIDEApp::PolycodeIDEApp(PolycodeView *view) : EventDispatcher() {
 PolycodeIDEApp::PolycodeIDEApp(PolycodeView *view) : EventDispatcher() {
-	core = new CocoaCore(view, 800,600,false,true, 0, 0,60);	
+	core = new CocoaCore(view, 900,700,false,true, 0, 0,60);	
 	core->addEventListener(this, Core::EVENT_CORE_RESIZE);	
 	core->addEventListener(this, Core::EVENT_CORE_RESIZE);	
 	CoreServices::getInstance()->getRenderer()->setClearColor(0.2,0.2,0.2);
 	CoreServices::getInstance()->getRenderer()->setClearColor(0.2,0.2,0.2);
 	
 	
@@ -73,7 +73,7 @@ PolycodeIDEApp::PolycodeIDEApp(PolycodeView *view) : EventDispatcher() {
 	frame->getProjectBrowser()->addEventListener(this, PolycodeProjectBrowserEvent::SHOW_MENU);
 	frame->getProjectBrowser()->addEventListener(this, PolycodeProjectBrowserEvent::SHOW_MENU);
 	
 	
 	frame->Resize(core->getXRes(), core->getYRes());	
 	frame->Resize(core->getXRes(), core->getYRes());	
-	core->setVideoMode(1000, 600, false, false, 0, 0);
+	core->setVideoMode(1000, 700, false, false, 0, 0);
 	
 	
 	debugger = new PolycodeRemoteDebugger();
 	debugger = new PolycodeRemoteDebugger();
 	frame->console->setDebugger(debugger);
 	frame->console->setDebugger(debugger);

+ 3 - 2
IDE/Contents/Source/PolycodeProjectEditor.cpp

@@ -77,7 +77,7 @@ PolycodeProjectEditor::PolycodeProjectEditor() : PolycodeEditor(true){
 	defaultWidthInput = new UITextInput(false, 60, 12);	
 	defaultWidthInput = new UITextInput(false, 60, 12);	
 	mainSettingsWindow->addChild(defaultWidthInput);
 	mainSettingsWindow->addChild(defaultWidthInput);
 	defaultWidthInput->setPosition(label2->getPosition().x, label2->getPosition().y+label2->getHeight());
 	defaultWidthInput->setPosition(label2->getPosition().x, label2->getPosition().y+label2->getHeight());
-	
+	defaultWidthInput->setNumberOnly(true);
 
 
 	label2 = new ScreenLabel(L"Height:", fontSize, fontName, Label::ANTIALIAS_FULL);
 	label2 = new ScreenLabel(L"Height:", fontSize, fontName, Label::ANTIALIAS_FULL);
 	mainSettingsWindow->addChild(label2);
 	mainSettingsWindow->addChild(label2);
@@ -86,7 +86,7 @@ PolycodeProjectEditor::PolycodeProjectEditor() : PolycodeEditor(true){
 	defaultHeightInput = new UITextInput(false, 60, 12);	
 	defaultHeightInput = new UITextInput(false, 60, 12);	
 	mainSettingsWindow->addChild(defaultHeightInput);
 	mainSettingsWindow->addChild(defaultHeightInput);
 	defaultHeightInput->setPosition(label2->getPosition().x, label2->getPosition().y+label2->getHeight());
 	defaultHeightInput->setPosition(label2->getPosition().x, label2->getPosition().y+label2->getHeight());
-
+	defaultHeightInput->setNumberOnly(true);
 	
 	
 	label2 = new ScreenLabel(L"Anti-aliasing:", fontSize, fontName, Label::ANTIALIAS_FULL);
 	label2 = new ScreenLabel(L"Anti-aliasing:", fontSize, fontName, Label::ANTIALIAS_FULL);
 	mainSettingsWindow->addChild(label2);
 	mainSettingsWindow->addChild(label2);
@@ -119,6 +119,7 @@ PolycodeProjectEditor::PolycodeProjectEditor() : PolycodeEditor(true){
 	framerateInput = new UITextInput(false, 60, 12);	
 	framerateInput = new UITextInput(false, 60, 12);	
 	mainSettingsWindow->addChild(framerateInput);
 	mainSettingsWindow->addChild(framerateInput);
 	framerateInput->setPosition(label2->getPosition().x, label2->getPosition().y+label2->getHeight());
 	framerateInput->setPosition(label2->getPosition().x, label2->getPosition().y+label2->getHeight());
+	framerateInput->setNumberOnly(true);
 
 
 	vSyncCheckBox = new UICheckBox("V-Sync", false);
 	vSyncCheckBox = new UICheckBox("V-Sync", false);
 	vSyncCheckBox->setPosition(padding, framerateInput->getPosition().y+framerateInput->getHeight()+10);
 	vSyncCheckBox->setPosition(padding, framerateInput->getPosition().y+framerateInput->getHeight()+10);

+ 0 - 2
Modules/Contents/UI/Include/PolyUIVScrollBar.h

@@ -40,8 +40,6 @@ namespace Polycode {
 		void scrollTo(Number scrollValue);
 		void scrollTo(Number scrollValue);
 		void Scroll(Number amount);
 		void Scroll(Number amount);
 		
 		
-		void onMouseDown(Number x, Number y) { printf("SHIT: %f,%f\n", x,y); }
-		
 		
 		
 		void onMouseWheelDown(Number x, Number y);
 		void onMouseWheelDown(Number x, Number y);
 		void onMouseWheelUp(Number x, Number y);
 		void onMouseWheelUp(Number x, Number y);

+ 1 - 1
Modules/Contents/UI/Source/PolyUIHScrollBar.cpp

@@ -164,7 +164,7 @@ void UIHScrollBar::handleEvent(Event *event) {
 				handleBox->stopDrag();
 				handleBox->stopDrag();
 				break;
 				break;
 			case InputEvent::EVENT_MOUSEDOWN:
 			case InputEvent::EVENT_MOUSEDOWN:
-				handleBox->startDrag(inputEvent->mousePosition.x-handleBox->getPosition().x,inputEvent->mousePosition.y-handleBox->getPosition().y);
+				handleBox->startDrag(inputEvent->mousePosition.x,inputEvent->mousePosition.y);
 				break;		
 				break;		
 		}
 		}
 	}
 	}

+ 1 - 0
Modules/Contents/UI/Source/PolyUITextInput.cpp

@@ -394,6 +394,7 @@ void UITextInput::setText(String text) {
 
 
 void UITextInput::onLoseFocus() {
 void UITextInput::onLoseFocus() {
 	blinkerRect->visible  = false;
 	blinkerRect->visible  = false;
+	clearSelection();
 }
 }
 
 
 String UITextInput::getText() {
 String UITextInput::getText() {

+ 9 - 7
Modules/Contents/UI/Source/PolyUIVScrollBar.cpp

@@ -47,6 +47,8 @@ UIVScrollBar::UIVScrollBar(Number width, Number height, Number initialRatio) : S
 					  st,sr,sb,sl,
 					  st,sr,sb,sl,
 					  width, height);
 					  width, height);
 	
 	
+	bgBox->processInputEvents = true;
+	bgBox->addEventListener(this, InputEvent::EVENT_MOUSEDOWN);		
 	addChild(bgBox);
 	addChild(bgBox);
 	
 	
 	st = conf->getNumericValue("Polycode", "uiScrollHandleSkinT");
 	st = conf->getNumericValue("Polycode", "uiScrollHandleSkinT");
@@ -67,13 +69,13 @@ UIVScrollBar::UIVScrollBar(Number width, Number height, Number initialRatio) : S
 					  width-(padding*2),scrollHandleHeight);
 					  width-(padding*2),scrollHandleHeight);
 	handleBox->setPosition(padding, padding);	
 	handleBox->setPosition(padding, padding);	
 	addChild(handleBox);
 	addChild(handleBox);
-	
-	bgBox->addEventListener(this, InputEvent::EVENT_MOUSEDOWN);
-	
+		
 	handleBox->addEventListener(this, InputEvent::EVENT_MOUSEUP);
 	handleBox->addEventListener(this, InputEvent::EVENT_MOUSEUP);
 	handleBox->addEventListener(this, InputEvent::EVENT_MOUSEUP_OUTSIDE);	
 	handleBox->addEventListener(this, InputEvent::EVENT_MOUSEUP_OUTSIDE);	
-	handleBox->addEventListener(this, InputEvent::EVENT_MOUSEDOWN);			
+	handleBox->addEventListener(this, InputEvent::EVENT_MOUSEDOWN);	
 	handleBox->processInputEvents = true;
 	handleBox->processInputEvents = true;
+	handleBox->blockMouseInput = true;
+	
 	
 	
 	dragRectHeight = height-(padding*2)-scrollHandleHeight;
 	dragRectHeight = height-(padding*2)-scrollHandleHeight;
 	handleBox->setDragLimits(Rectangle(padding,padding,width-(padding*2)-(width-(padding*2)), dragRectHeight));
 	handleBox->setDragLimits(Rectangle(padding,padding,width-(padding*2)-(width-(padding*2)), dragRectHeight));
@@ -173,12 +175,12 @@ void UIVScrollBar::handleEvent(Event *event) {
 		switch(event->getEventCode()) {
 		switch(event->getEventCode()) {
 			case InputEvent::EVENT_MOUSEDOWN:
 			case InputEvent::EVENT_MOUSEDOWN:
 				if(inputEvent->mousePosition.y < handleBox->getPosition().y)  {
 				if(inputEvent->mousePosition.y < handleBox->getPosition().y)  {
-					Number newPos = handleBox->getPosition().y - scrollHandleHeight;
+					Number newPos = handleBox->getPosition().y - scrollHandleHeight/2;
 					if(newPos < padding)
 					if(newPos < padding)
 						newPos = padding;
 						newPos = padding;
 					handleBox->setPositionY(newPos);
 					handleBox->setPositionY(newPos);
 				} else {
 				} else {
-					Number newPos = handleBox->getPosition().y + scrollHandleHeight;
+					Number newPos = handleBox->getPosition().y + scrollHandleHeight/2;
 					if(newPos > dragRectHeight)
 					if(newPos > dragRectHeight)
 						newPos = dragRectHeight;
 						newPos = dragRectHeight;
 					handleBox->setPositionY(newPos);					
 					handleBox->setPositionY(newPos);					
@@ -195,7 +197,7 @@ void UIVScrollBar::handleEvent(Event *event) {
 				handleBox->stopDrag();
 				handleBox->stopDrag();
 				break;
 				break;
 			case InputEvent::EVENT_MOUSEDOWN:
 			case InputEvent::EVENT_MOUSEDOWN:
-				handleBox->startDrag(inputEvent->mousePosition.x-handleBox->getPosition().x,inputEvent->mousePosition.y-handleBox->getPosition().y);
+				handleBox->startDrag(inputEvent->mousePosition.x,inputEvent->mousePosition.y);
 				break;		
 				break;		
 		}
 		}
 	}
 	}