Преглед на файлове

Added focus highlights to text fields, increased contrast on button hightlights on ui buttons

Ivan Safrin преди 10 години
родител
ревизия
462b9bca13

BIN
IDE/Contents/Resources/UIThemes/dark/buttonFocused.png


BIN
IDE/Contents/Resources/UIThemes/dark/textfield_focus.png


+ 1 - 0
IDE/Contents/Resources/UIThemes/dark/theme.xml

@@ -27,6 +27,7 @@
 	<uiTreeCellPadding>3</uiTreeCellPadding>
 	
 	<textBgSkin>textfield.png</textBgSkin>
+	<textBgSkinFocus>textfield_focus.png</textBgSkinFocus>
 	<textBgSkinMultiline>textfieldMulti.png</textBgSkinMultiline>
 	<textBgSkinT>7</textBgSkinT>
 	<textBgSkinR>7</textBgSkinR>

+ 1 - 0
IDE/Contents/Resources/UIThemes/dark_retina/theme.xml

@@ -27,6 +27,7 @@
 	<uiTreeCellPadding>3</uiTreeCellPadding>
 	
 	<textBgSkin>textfield.png</textBgSkin>
+	<textBgSkinFocus>textfield_focus.png</textBgSkinFocus>
 	<textBgSkinMultiline>textfieldMulti.png</textBgSkinMultiline>
 	<textBgSkinT>7</textBgSkinT>
 	<textBgSkinR>7</textBgSkinR>

BIN
IDE/Contents/Resources/UIThemes/default/buttonFocused.png


BIN
IDE/Contents/Resources/UIThemes/default/textfield_focus.png


+ 1 - 0
IDE/Contents/Resources/UIThemes/default/theme.xml

@@ -27,6 +27,7 @@
 	<uiTreeCellPadding>3</uiTreeCellPadding>
 	
 	<textBgSkin>textfield.png</textBgSkin>
+	<textBgSkinFocus>textfield_focus.png</textBgSkinFocus>
 	<textBgSkinMultiline>textfieldMulti.png</textBgSkinMultiline>
 	<textBgSkinT>7</textBgSkinT>
 	<textBgSkinR>7</textBgSkinR>

+ 1 - 0
IDE/Contents/Resources/UIThemes/default_retina/theme.xml

@@ -27,6 +27,7 @@
 	<uiTreeCellPadding>3</uiTreeCellPadding>
 	
 	<textBgSkin>textfield.png</textBgSkin>
+	<textBgSkinFocus>textfield_focus.png</textBgSkinFocus>
 	<textBgSkinMultiline>textfieldMulti.png</textBgSkinMultiline>
 	<textBgSkinT>7</textBgSkinT>
 	<textBgSkinR>7</textBgSkinR>

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

@@ -491,6 +491,8 @@ namespace Polycode {
 			bool multiLine;
 			Timer *blinkTimer;
 			UIBox *inputRect;
+            UIBox *inputRectSelected;
+        
 			UIRect *blinkerRect;
 			Vector2 dragMouseStart;
 			

+ 17 - 2
Modules/Contents/UI/Source/PolyUITextInput.cpp

@@ -116,7 +116,13 @@ UITextInput::UITextInput(bool multiLine, Number width, Number height) : UIElemen
 	} else {
 		inputRect = new UIBox(conf->getStringValue("Polycode", "textBgSkin"),
 						  st,sr,sb,sl,
-						  width+(padding*2), height+(padding*2));	
+						  width+(padding*2), height+(padding*2));
+        
+        inputRectSelected = new UIBox(conf->getStringValue("Polycode", "textBgSkinFocus"),
+                              st,sr,sb,sl,
+                              width+(padding*2), height+(padding*2));
+        inputRectSelected->visible = false;
+        addChild(inputRectSelected);
 	}
 	
 	addChild(inputRect);		
@@ -395,7 +401,7 @@ void UITextInput::updateSelectionRects() {
 				midHeight += lineHeight+lineSpacing;
 			}
 			selectorRectMiddle->Resize(midSize, midHeight);
-			selectorRectMiddle->setPosition(- horizontalPixelScroll, ((lineStart+1) * (lineHeight+lineSpacing)));	
+			selectorRectMiddle->setPosition(- horizontalPixelScroll, ((lineStart+1) * (lineHeight+lineSpacing)));
 			
 		}
 		
@@ -709,6 +715,9 @@ void UITextInput::Resize(Number width, Number height) {
 	didMultilineResize = false;
 	
 	inputRect->resizeBox(width, height);
+    if(!multiLine) {
+        inputRectSelected->resizeBox(width, height);
+    }
 	setWidth(width);
 	setHeight(height);
 	matrixDirty = true;	
@@ -2158,6 +2167,12 @@ void UITextInput::onKeyDown(PolyKEY key, wchar_t charCode) {
 void UITextInput::Update() {
 	resizeTimer += core->getElapsed();
 	
+    
+    if(!multiLine) {
+        inputRectSelected->visible = hasFocus;
+        inputRect->visible = !hasFocus;
+    }
+    
 	if(draggingSelection) {
 		if(selectionDragMouse != dragMouseStart) {
 			dragSelectionTo(selectionDragMouse.x, selectionDragMouse.y - linesContainer->getPosition().y);