Bläddra i källkod

[shgraph] Fix Creating variables / params not focusing the title

Clément Espeute 5 månader sedan
förälder
incheckning
a0d4f4056b
2 ändrade filer med 7 tillägg och 3 borttagningar
  1. 5 3
      hide/comp/FancyArray.hx
  2. 2 0
      hide/view/shadereditor/ShaderEditor.hx

+ 5 - 3
hide/comp/FancyArray.hx

@@ -49,7 +49,7 @@ class FancyArray<T> extends hide.comp.Component {
 		saveDisplayState("state", haxe.Json.stringify(itemState));
 		saveDisplayState("state", haxe.Json.stringify(itemState));
 	}
 	}
 
 
-	function toggleItem(index:Int, ?forceState: Bool) {
+	public function toggleItem(index:Int, ?forceState: Bool) {
 		itemState[index].open = forceState ?? !itemState[index].open;
 		itemState[index].open = forceState ?? !itemState[index].open;
 		saveState();
 		saveState();
 		fancyItems.children()[index].classList.toggle("open", itemState[index].open);
 		fancyItems.children()[index].classList.toggle("open", itemState[index].open);
@@ -69,7 +69,7 @@ class FancyArray<T> extends hide.comp.Component {
 					<fancy-button class="quieter toggle-open">
 					<fancy-button class="quieter toggle-open">
 						<div class="ico ico-chevron-right"></div>
 						<div class="ico ico-chevron-right"></div>
 					</fancy-button>
 					</fancy-button>
-					<input type="text" value="${getItemName(item)}" class="fill"></input>
+					<input type="text" value="${getItemName(item)}" class="fill title-text"></input>
 					<fancy-button class="menu quieter"><div class="ico ico-ellipsis-v"></div></fancy-button>
 					<fancy-button class="menu quieter"><div class="ico ico-ellipsis-v"></div></fancy-button>
 				</fancy-item-header>
 				</fancy-item-header>
 			</fancy-item>').appendTo(fancyItems);
 			</fancy-item>').appendTo(fancyItems);
@@ -228,7 +228,9 @@ class FancyArray<T> extends hide.comp.Component {
 
 
 	// Focus the title bar of the given index for editing
 	// Focus the title bar of the given index for editing
 	public function editTitle(index: Int) {
 	public function editTitle(index: Int) {
-		itemsElements[index].find("input").focus().select();
+		var a = itemsElements[index].find(".title-text");
+		a.focus();
+		a.select();
 	}
 	}
 
 
 	public var reorderItem : (oldIndex: Int, newIndex: Int) -> Void = null;
 	public var reorderItem : (oldIndex: Int, newIndex: Int) -> Void = null;

+ 2 - 0
hide/view/shadereditor/ShaderEditor.hx

@@ -613,6 +613,7 @@ class ShaderEditor extends hide.view.FileView implements GraphInterface.IGraphEd
 		exec(false);
 		exec(false);
 		undo.change(Custom(exec));
 		undo.change(Custom(exec));
 		variableList.editTitle(shaderGraph.variables.length-1);
 		variableList.editTitle(shaderGraph.variables.length-1);
+		variableList.toggleItem(shaderGraph.variables.length-1, true);
 	}
 	}
 
 
 	var validNameCheck = ~/^[_a-zA-Z][_a-zA-Z0-9]*$/;
 	var validNameCheck = ~/^[_a-zA-Z][_a-zA-Z0-9]*$/;
@@ -1116,6 +1117,7 @@ class ShaderEditor extends hide.view.FileView implements GraphInterface.IGraphEd
 		undo.change(Custom(exec));
 		undo.change(Custom(exec));
 		var paramShader = shaderGraph.getParameter(paramShaderID);
 		var paramShader = shaderGraph.getParameter(paramShaderID);
 		parametersList.editTitle(paramShader.index);
 		parametersList.editTitle(paramShader.index);
+		parametersList.toggleItem(paramShader.index, true);
 	}
 	}
 
 
 	function updateParam(id : Int) : Bool {
 	function updateParam(id : Int) : Bool {