mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-02-20 23:23:47 +00:00
Implements the special guiVariableInspector field type of 'range' which adds a slider to allow editing a float range.
This commit is contained in:
parent
f6a2149dd1
commit
97880e44dd
3 changed files with 149 additions and 4 deletions
|
|
@ -339,10 +339,10 @@ function HDRPostFX::onAdd( %this )
|
|||
function HDRPostFX::populatePostFXSettings(%this)
|
||||
{
|
||||
PostEffectEditorInspector.startGroup("HDR - General");
|
||||
PostEffectEditorInspector.addField("$PostFXManager::Settings::HDR::keyValue", "Key Value", "float", "", $HDRPostFX::keyValue, "");
|
||||
PostEffectEditorInspector.addField("$PostFXManager::Settings::HDR::minLuminace", "Minimum Luminance", "float", "", $HDRPostFX::minLuminace, "");
|
||||
PostEffectEditorInspector.addField("$PostFXManager::Settings::HDR::whiteCutoff", "White Cutoff", "float", "", $HDRPostFX::whiteCutoff, "");
|
||||
PostEffectEditorInspector.addField("$PostFXManager::Settings::HDR::adaptRate", "Brightness Adapt Rate", "float", "", $HDRPostFX::adaptRate, "");
|
||||
PostEffectEditorInspector.addField("$PostFXManager::Settings::HDR::keyValue", "Key Value", "range", "", $HDRPostFX::keyValue, "0 1 10");
|
||||
PostEffectEditorInspector.addField("$PostFXManager::Settings::HDR::minLuminace", "Minimum Luminance", "range", "", $HDRPostFX::minLuminace, "0 1 10");
|
||||
PostEffectEditorInspector.addField("$PostFXManager::Settings::HDR::whiteCutoff", "White Cutoff", "range", "", $HDRPostFX::whiteCutoff, "0 1 10");
|
||||
PostEffectEditorInspector.addField("$PostFXManager::Settings::HDR::adaptRate", "Brightness Adapt Rate", "range", "", $HDRPostFX::adaptRate, "0 1 10");
|
||||
PostEffectEditorInspector.endGroup();
|
||||
|
||||
PostEffectEditorInspector.startGroup("HDR - Bloom");
|
||||
|
|
|
|||
144
Templates/BaseGame/game/tools/gui/fieldTypes/range.cs
Normal file
144
Templates/BaseGame/game/tools/gui/fieldTypes/range.cs
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
|
||||
function GuiInspectorVariableGroup::buildRangeField(%this, %fieldName, %fieldLabel, %fieldDesc, %fieldDefaultVal, %fieldDataVals, %callbackName, %ownerObj)
|
||||
{
|
||||
%extent = 200;
|
||||
|
||||
%fieldCtrl = %this.createInspectorField();
|
||||
|
||||
%extent = %this.stack.getExtent();
|
||||
|
||||
%width = mRound(%extent/2);
|
||||
%height = 20;
|
||||
%inset = 10;
|
||||
|
||||
%fieldCtrl.setHeightOverride(true, %height);
|
||||
|
||||
%minRange = getWord(%fieldDataVals,0);
|
||||
%maxRange = getWord(%fieldDataVals,1);
|
||||
%tickCount = getWord(%fieldDataVals,2);
|
||||
%doSnap = getWord(%fieldDataVals,3);
|
||||
|
||||
if(%doSnap $= "")
|
||||
%doSnap = 0;
|
||||
|
||||
%editControl = new GuiControl()
|
||||
{
|
||||
class = "guiInspectorRangeField";
|
||||
Position = %fieldCtrl.edit.position;
|
||||
Extent = %fieldCtrl.edit.extent;
|
||||
};
|
||||
|
||||
%editText = new GuiTextEditCtrl() {
|
||||
class = "guiInspectorRangeFieldText";
|
||||
historySize = "0";
|
||||
tabComplete = "0";
|
||||
sinkAllKeyEvents = "0";
|
||||
password = "0";
|
||||
passwordMask = "*";
|
||||
maxLength = "1024";
|
||||
margin = "0 0 0 0";
|
||||
padding = "0 0 0 0";
|
||||
anchorTop = "1";
|
||||
anchorBottom = "0";
|
||||
anchorLeft = "1";
|
||||
anchorRight = "0";
|
||||
Position = "0 0";
|
||||
Extent = %fieldCtrl.edit.extent.x * 0.2 SPC %fieldCtrl.edit.extent.y;
|
||||
minExtent = "8 2";
|
||||
horizSizing = "right";
|
||||
vertSizing = "bottom";
|
||||
profile = "ToolsGuiTextEditProfile";
|
||||
visible = "1";
|
||||
active = "1";
|
||||
tooltipProfile = "GuiToolTipProfile";
|
||||
hovertime = "1000";
|
||||
isContainer = "1";
|
||||
canSave = "1";
|
||||
canSaveDynamicFields = "0";
|
||||
text = %fieldDefaultVal;
|
||||
};
|
||||
|
||||
%editSlider = new GuiSliderCtrl() {
|
||||
class = "guiInspectorRangeFieldSlider";
|
||||
range = %minRange SPC %maxRange;
|
||||
ticks = %tickCount;
|
||||
value = %fieldDefaultVal;
|
||||
snap = %doSnap;
|
||||
renderTicks = "true";
|
||||
isContainer = "0";
|
||||
Profile = "GuiSliderProfile";
|
||||
HorizSizing = "width";
|
||||
VertSizing = "bottom";
|
||||
Position = (%fieldCtrl.edit.extent.x * 0.2) + 5 SPC 0;
|
||||
Extent = (%fieldCtrl.edit.extent.x * 0.8) - 5 SPC %fieldCtrl.edit.extent.y;
|
||||
MinExtent = "8 2";
|
||||
canSave = "1";
|
||||
Visible = "1";
|
||||
Command = "$thisControl.onDragComplete();";
|
||||
tooltipprofile = "GuiToolTipProfile";
|
||||
tooltip = %tooltip;
|
||||
hovertime = "1000";
|
||||
canSaveDynamicFields = "0";
|
||||
ownerObject = %ownerObj;
|
||||
fieldName = %fieldName;
|
||||
callbackName = %callbackName;
|
||||
};
|
||||
|
||||
%editText.sliderControl = %editSlider;
|
||||
%editSlider.textControl = %editText;
|
||||
|
||||
%editControl.add(%editText);
|
||||
%editControl.add(%editSlider);
|
||||
|
||||
//set the field value
|
||||
if(getSubStr(%this.fieldName, 0, 1) $= "$")
|
||||
{
|
||||
if(%fieldName $= "")
|
||||
%editControl.setValue(%fieldName);
|
||||
}
|
||||
else if(isObject(%ownerObj))
|
||||
{
|
||||
//regular variable
|
||||
%setCommand = %editControl @ ".setValue(" @ %ownerObj @ "." @ %fieldName @ ");";
|
||||
eval(%setCommand);
|
||||
}
|
||||
|
||||
%fieldCtrl.setCaption(%fieldLabel);
|
||||
%fieldCtrl.setEditControl(%editControl);
|
||||
|
||||
%this.addInspectorField(%fieldCtrl);
|
||||
}
|
||||
|
||||
function guiInspectorRangeField::onResize(%this)
|
||||
{
|
||||
echo("RESIIIIIIIIIIIZED");
|
||||
}
|
||||
|
||||
function guiInspectorRangeFieldText::onReturn(%this)
|
||||
{
|
||||
%value = %this.getText();
|
||||
%this.sliderControl.setValue(%value);
|
||||
}
|
||||
|
||||
function guiInspectorRangeFieldSlider::onDragComplete( %this )
|
||||
{
|
||||
%value = %this.getValue();
|
||||
%this.textControl.setText(%value);
|
||||
|
||||
if(getSubStr(%this.fieldName, 0, 1) $= "$")
|
||||
{
|
||||
//ah, a global var, just do it straight, then
|
||||
%setCommand = %this.fieldName @ " = \"" @ %value @ "\";";
|
||||
}
|
||||
else if(isObject(%this.ownerObject))
|
||||
{
|
||||
//regular variable
|
||||
%setCommand = %this.ownerObject @ "." @ %this.fieldName @ " = \"" @ %value @ "\";";
|
||||
}
|
||||
else if(%this.callbackName !$= "")
|
||||
{
|
||||
%setCommand = %this.callbackName @ "(\"" @ %this.fieldName @ "\",\"" @ %value @"\");";
|
||||
}
|
||||
|
||||
eval(%setCommand);
|
||||
}
|
||||
|
|
@ -40,5 +40,6 @@ exec("./assimpImport.ed.gui");
|
|||
exec("./fieldTypes/assetDependencies.cs");
|
||||
exec("./fieldTypes/fieldTypes.cs");
|
||||
exec("./fieldTypes/listField.cs");
|
||||
exec("./fieldTypes/range.cs");
|
||||
exec("./fieldTypes/moduleDependencies.cs");
|
||||
exec("./fieldTypes/buttonField.cs");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue