123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- function AssetImageLayersEditRow::onAdd(%this)
- {
- %this.errorColor = "255 0 0 255";
- %this.indexBox = new GuiControl()
- {
- HorizSizing="width";
- VertSizing="height";
- Position="0 0";
- Extent="20 40";
- Align = center;
- vAlign = middle;
- Text = %this.LayerIndex;
- FontSizeAdjust = 1.4;
- FontColor = %this.errorColor;
- };
- ThemeManager.setProfile(%this.indexBox, "codeProfile");
- %this.add(%this.indexBox);
- %this.imageBox = new GuiTextEditCtrl()
- {
- HorizSizing="width";
- VertSizing="height";
- Position="20 3";
- Extent="200 32";
- Text = %this.LayerImage;
- AltCommand = %this.getID() @ ".LayerImageChange();";
- FontColor = %this.errorColor;
- InputMode = "AllText";
- };
- ThemeManager.setProfile(%this.imageBox, "textEditProfile");
- %this.add(%this.imageBox);
- %this.offsetXBox = new GuiTextEditCtrl()
- {
- HorizSizing="width";
- VertSizing="height";
- Position="224 3";
- Extent="80 32";
- Align = right;
- Text = getWord(%this.LayerPosition, 0);
- AltCommand = %this.getID() @ ".LayerPositionXChange();";
- FontColor = %this.errorColor;
- InputMode = "Number";
- };
- ThemeManager.setProfile(%this.offsetXBox, "textEditProfile");
- %this.add(%this.offsetXBox);
- %this.offsetYBox = new GuiTextEditCtrl()
- {
- HorizSizing="width";
- VertSizing="height";
- Position="308 3";
- Extent="80 32";
- Align = right;
- Text = getWord(%this.LayerPosition, 1);
- AltCommand = %this.getID() @ ".LayerPositionYChange();";
- FontColor = %this.errorColor;
- InputMode = "Number";
- };
- ThemeManager.setProfile(%this.offsetYBox, "textEditProfile");
- %this.add(%this.offsetYBox);
- %this.LayerColor = %this.scrubColor(%this.LayerColor);
- %this.colorBox = new GuiTextEditCtrl()
- {
- HorizSizing="width";
- VertSizing="height";
- Position="392 3";
- Extent="164 32";
- Align = right;
- Text = %this.LayerColor;
- AltCommand = %this.getID() @ ".LayerColorChange();";
- FontColor = %this.errorColor;
- InputMode = "AllText";
- };
- ThemeManager.setProfile(%this.colorBox, "textEditProfile");
- %this.add(%this.colorBox);
- %this.buttonBar = new GuiChainCtrl()
- {
- Class = "EditorButtonBar";
- Position = "564 5";
- Extent = "0 24";
- ChildSpacing = 4;
- IsVertical = false;
- Tool = %this;
- };
- ThemeManager.setProfile(%this.buttonBar, "emptyProfile");
- %this.add(%this.buttonBar);
- if(%this.LayerIndex > 0)
- {
- %this.buttonBar.addButton("MoveLayerUp", 2, "Move Layer Up", "getMoveLayerUpEnabled");
- %this.buttonBar.addButton("MoveLayerDown", 6, "Move Layer Down", "getMoveLayerDownEnabled");
- %this.buttonBar.addButton("RemoveLayer", 23, "Remove Layer", "");
- }
- else
- {
- %this.imageBox.active = false;
- %this.offsetXBox.active = false;
- %this.offsetYBox.active = false;
- }
- }
- function AssetImageLayersEditRow::LayerImageChange(%this)
- {
- %name = %this.imageBox.getText();
- %name = stripChars(%name, " ");
- %this.imageBox.setText(%name);
- if(%name !$= %this.LayerImage)
- {
- if(%name $= "")
- {
- %this.setNameError(true);
- }
- else
- {
- %this.setNameError(false);
- %this.postEvent("LayerImageChange", %this SPC %name);
- }
- }
- }
- function AssetImageLayersEditRow::LayerPositionXChange(%this)
- {
- %x = %this.offsetXBox.getText();
- %x = stripChars(%x, " ");
- if(%x $= "")
- {
- %x = 0;
- }
- %this.offsetXBox.setText(%x);
- if(%x !$= getWord(%this.LayerPosition, 0))
- {
- %this.postEvent("LayerPositionChange", %this SPC %x SPC getWord(%this.LayerPosition, 1));
- }
- }
- function AssetImageLayersEditRow::LayerPositionYChange(%this)
- {
- %y = %this.offsetYBox.getText();
- %y = stripChars(%y, " ");
- if(%y $= "")
- {
- %y = 0;
- }
- %this.offsetYBox.setText(%y);
- if(%y !$= getWord(%this.CellOffset, 1))
- {
- %this.postEvent("LayerPositionChange", %this SPC getWord(%this.LayerPosition, 0) SPC %y);
- }
- }
- function AssetImageLayersEditRow::LayerColorChange(%this)
- {
- %color = %this.scrubColor(%this.colorBox.getText());
- %this.colorBox.setText(%color);
- if(%color !$= %this.LayerColor)
- {
- %this.postEvent("LayerColorChange", %this SPC %color);
- }
- }
- function AssetImageLayersEditRow::setNameError(%this, %hasError)
- {
- %this.imageBox.overrideFontColor = %hasError;
- %this.indexBox.overrideFontColor = %hasError;
- }
- function AssetImageLayersEditRow::getMoveLayerUpEnabled(%this)
- {
- return %this.LayerIndex != 1;
- }
- function AssetImageLayersEditRow::getMoveLayerDownEnabled(%this)
- {
- return %this.LayerIndex != %this.LayerCount;
- }
- function AssetImageLayersEditRow::getRemoveCellEnabled(%this)
- {
- return true;
- }
- function AssetImageLayersEditRow::updateLayerCount(%this, %newCount)
- {
- %this.LayerCount = %newCount;
- %this.buttonBar.refreshEnabled();
- }
- function AssetImageLayersEditRow::MoveLayerUp(%this)
- {
- %this.postEvent("swapLayers", (%this.LayerIndex - 1) SPC %this.LayerIndex);
- }
- function AssetImageLayersEditRow::MoveLayerDown(%this)
- {
- %this.postEvent("swapLayers", %this.LayerIndex SPC (%this.LayerIndex + 1));
- }
- function AssetImageLayersEditRow::RemoveLayer(%this)
- {
- %this.postEvent("removeLayer", %this.LayerIndex);
- }
- function AssetImageLayersEditRow::refresh(%this)
- {
- %this.indexBox.setText(%this.LayerIndex);
- %this.imageBox.setText(%this.LayerImage);
- %this.offsetXBox.setText(getWord(%this.LayerPosition, 0));
- %this.offsetYBox.setText(getWord(%this.LayerPosition, 1));
- %this.colorBox.setText(%this.LayerColor);
- }
- function AssetImageLayersEditRow::onRemove(%this)
- {
- %this.deleteObjects();
- }
- function AssetImageLayersEditRow::scrubColor(%this, %color)
- {
- %red = %this.scrubChannel(getWord(%color, 0));
- %green = %this.scrubChannel(getWord(%color, 1));
- %blue = %this.scrubChannel(getWord(%color, 2));
- %alpha = %this.scrubChannel(getWord(%color, 3));
- return %red SPC %green SPC %blue SPC %alpha;
- }
- function AssetImageLayersEditRow::scrubChannel(%this, %val)
- {
- %val = mFloatLength(mClamp(%val, 0, 1), 3);
- if(getSubStr(%val, 4, 1) !$= "0")
- {
- return %val;
- }
- %val = getSubStr(%val, 0, 4);
- if(getSubStr(%val, 3, 1) !$= "0")
- {
- return %val;
- }
- %val = getSubStr(%val, 0, 3);
- if(getSubStr(%val, 2, 1) !$= "0")
- {
- return %val;
- }
- return getSubStr(%val, 0, 1);
- }
|