Просмотр исходного кода

Merge pull request #1635 from Azaezel/alpha41/inspectorAugs3

add text selection to tab cycling
Brian Roberts 3 недель назад
Родитель
Сommit
c78b60b5e8

+ 8 - 8
Engine/source/gui/editor/guiInspectorTypes.cpp

@@ -1986,13 +1986,13 @@ void GuiInspectorType2DValue::constructEditControlChildren(GuiControl* retCtrl,
    retCtrl->addObject(mContainerY);
 
    mCtrlX->setDataField(StringTable->insert("tabComplete"), NULL, "true");
-   String tabCmdX = String::ToString("function %s::onTabComplete(){ %s.setFirstResponder();}",
-      mCtrlX->getName(), mCtrlY->getName());
+   String tabCmdX = String::ToString("function %s::onTabComplete(){ %s.setFirstResponder(); %s.selectAllText(); }",
+      mCtrlX->getName(), mCtrlY->getName(), mCtrlY->getName());
    Con::evaluatef(tabCmdX);
 
    mCtrlY->setDataField(StringTable->insert("tabComplete"), NULL, "true");
-   String tabCmdY = String::ToString("function %s::onTabComplete(){ %s.setFirstResponder();}",
-      mCtrlY->getName(), mCtrlX->getName());
+   String tabCmdY = String::ToString("function %s::onTabComplete(){ %s.setFirstResponder(); %s.selectAllText(); }",
+      mCtrlY->getName(), mCtrlX->getName(), mCtrlX->getName());
    Con::evaluatef(tabCmdY);
    //retCtrl->addObject(mScriptValue);
 }
@@ -2120,13 +2120,13 @@ void GuiInspectorType3DValue::constructEditControlChildren(GuiControl* retCtrl,
    _registerEditControl(mContainerZ, "cz");
 
    mCtrlY->setDataField(StringTable->insert("tabComplete"), NULL, "true");
-   String tabCmdY = String::ToString("function %s::onTabComplete(){ %s.setFirstResponder();}",
-      mCtrlY->getName(), mCtrlZ->getName());
+   String tabCmdY = String::ToString("function %s::onTabComplete(){ %s.setFirstResponder(); %s.selectAllText(); }",
+      mCtrlY->getName(), mCtrlZ->getName(), mCtrlZ->getName());
    Con::evaluatef(tabCmdY);
 
    mCtrlZ->setDataField(StringTable->insert("tabComplete"), NULL, "true");
-   String tabCmdZ = String::ToString("function %s::onTabComplete(){ %s.setFirstResponder();}",
-      mCtrlZ->getName(), mCtrlX->getName());
+   String tabCmdZ = String::ToString("function %s::onTabComplete(){ %s.setFirstResponder(); %s.selectAllText(); }",
+      mCtrlZ->getName(), mCtrlX->getName(), mCtrlX->getName());
    Con::evaluatef(tabCmdZ);
 
    retCtrl->addObject(mContainerZ);

+ 4 - 2
Engine/source/gui/editor/inspector/field.cpp

@@ -468,7 +468,8 @@ void GuiInspectorField::setWordData(const S32& wordIndex, const char* data, bool
 
          // Fire callback single-object undo.
 
-         if (callbacks && !mField->flag.test(AbstractClassRep::FieldFlags::FIELD_ComponentInspectors))
+         if (callbacks && !mField->flag.test(AbstractClassRep::FieldFlags::FIELD_ComponentInspectors)
+            && (dStrcmp(fieldData, newFieldData.end().c_str()) != 0))
             Con::executef(mInspector, "onInspectorFieldModified",
                target->getIdString(),
                mField->pFieldname,
@@ -603,7 +604,8 @@ void GuiInspectorField::setData( const char* data, bool callbacks )
          
          // Fire callback single-object undo.
          
-         if( callbacks && !mField->flag.test(AbstractClassRep::FieldFlags::FIELD_ComponentInspectors) )
+         if( callbacks && !mField->flag.test(AbstractClassRep::FieldFlags::FIELD_ComponentInspectors)
+            && (dStrcmp(oldValue.c_str(), newValue.c_str()) != 0))
             Con::executef( mInspector, "onInspectorFieldModified", 
                                           target->getIdString(), 
                                           mField->pFieldname, 

+ 14 - 14
Templates/BaseGame/game/tools/materialEditor/scripts/materialEditor.ed.tscript

@@ -1031,8 +1031,8 @@ function MaterialEditorGui::guiSync( %this )
 
 function MaterialEditorGui::deArrayFieldsInRollout(%this, %rollout, %index)
 {
-   echo("====================================");
-   echo("Processing group for array index: " @ %index);
+   //echo("====================================");
+   //echo("Processing group for array index: " @ %index);
    
    %stack = %rollout.getObject(0);
    %count = %stack.getCount();
@@ -1046,38 +1046,38 @@ function MaterialEditorGui::deArrayFieldsInRollout(%this, %rollout, %index)
    {
       %fieldArrayGroup = %stack.getObject(%i);
       %fieldArrayStack = %fieldArrayGroup.getObject(0);
-      echo("Field Array: " @ %fieldArrayGroup.caption @ ", ID: " @ %fieldArrayGroup @ ", type: " @ %fieldArrayGroup.getClassName());
+      //echo("Field Array: " @ %fieldArrayGroup.caption @ ", ID: " @ %fieldArrayGroup @ ", type: " @ %fieldArrayGroup.getClassName());
       
       %fieldCaption = %fieldArrayGroup.caption;
       %newFieldCaption = getSubStr(%fieldCaption, 0, strLen(%fieldCaption) - 4);
       
-      echo("   New Caption: " @ %newFieldCaption);
+      //echo("   New Caption: " @ %newFieldCaption);
       
       %curLayerField = %fieldArrayStack.getObject(%index);
       
-      echo("   Field Obj for cur layer: " @ %curLayerField);
+      //echo("   Field Obj for cur layer: " @ %curLayerField);
 
       %stack.add(%curLayerField);
       %curLayerField.setCaption(%newFieldCaption);
       
       deArrayObjects.add(%stack, %fieldArrayGroup);
       
-      echo("   ---");
+      //echo("   ---");
    }
    
-   echo("Cleaning up field array groups");
+   //echo("Cleaning up field array groups");
    
    for(%i=0; %i < deArrayObjects.count(); %i++)
    {
       %group = deArrayObjects.getKey(%i);
       %obj = deArrayObjects.getValue(%i);
       
-      echo("Removing: " @ %obj @ " from group: " @ %group);
+      //echo("Removing: " @ %obj @ " from group: " @ %group);
       
       %group.remove(%obj);
    }
    
-   echo("====================================");
+   //echo("====================================");
    
    deArrayObjects.empty();
 }
@@ -1552,7 +1552,7 @@ function MaterialEditorGui::save( %this )
      
    if(MaterialEditorGui.currentMaterialAsset !$= "")
    {
-      echo("Attempting to save material: " @ MaterialEditorGui.currentMaterialAsset);
+      //echo("Attempting to save material: " @ MaterialEditorGui.currentMaterialAsset);
       MaterialEditorGui.copyMaterials( materialEd_previewMaterial, notDirtyMaterial );
       
       %assetDef = AssetDatabase.acquireAsset(MaterialEditorGui.currentMaterialAsset);
@@ -2031,7 +2031,7 @@ function MaterialEditorPropInspector::onPostInspectObject(%this, %obj)
 function MaterialEditorPropInspector::saveScrollState(%this)
 {
    %this.scrollPos = %this.getScrollbar().getScrollPosition();
-   echo(%this.getName() @ "::saveScrollState" SPC %this.scrollPos);
+   //echo(%this.getName() @ "::saveScrollState" SPC %this.scrollPos);
 }
 
 function MaterialEditorPropInspector::loadScrollState(%this)
@@ -2039,7 +2039,7 @@ function MaterialEditorPropInspector::loadScrollState(%this)
    if (%this.scrollPos $= "") 
       return;
    %this.getScrollbar().setScrollPosition(%this.scrollPos.x, %this.scrollPos.y);
-   echo(%this.getName() @ "::loadScrollState" SPC %this.scrollPos);
+   //echo(%this.getName() @ "::loadScrollState" SPC %this.scrollPos);
 }
 
 
@@ -2073,6 +2073,6 @@ function MaterialEditorPropInspector::loadCollapseState(%this)
 
 function MaterialEditorPropInspector::onFieldRightClick(%this, %fieldCtrl)
 {
-   echo("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
-   echo(%fieldCtrl.getFieldName());
+   //echo("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
+   //echo(%fieldCtrl.getFieldName());
 }