- Code: Select all
// Program Name: Set the foreground color
//
// Author: Larry B. Ligon
//
// Purpose: This JavaScript will allow the user to change the foreground color
//
var newColor = new SolidColor;
newColor.rgb.red = 128;
newColor.rgb.green = 128;
newColor.rgb.blue = 128;
app.foregroundColor = newColor ;
var WindowPositionX = 100;
var WindowPositionY = 100;
var WindowWidth = 400;
var WindowHeight = 400;
var bounds = {x:WindowPositionX ,y:WindowPositionX ,width:WindowWidth ,height:WindowHeight };
var dlg = new Window('dialog', 'Color Picker' );
//Set the location of the dialog. Put it near the foreground box in the tools dialog
dlg.frameLocation = [100, 300];
var uiButtonRun = "Run";
var uiButtonNewWindow = "New Window";
dlg.btnRun = dlg.add("button", undefined ,uiButtonRun );
dlg.btnRun.onClick = function() { this.parent.close(0); };
dlg.orientation = 'column';
//Add Red panel
dlg.RedPanel = dlg.add("panel",undefined,"Red");
dlg.RedPanel.alignChildren = "right";
dlg.RedPanel.orientation = 'row';
dlg.RedPanel.sliderRed = dlg.RedPanel.add('scrollbar', undefined, 128, 0, 255);
dlg.RedPanel.sliderRed.preferRedSize = [100,20];
dlg.RedPanel.RedValue = dlg.RedPanel.add('edittext');
dlg.RedPanel.RedValue.preferRedSize = [40,25];
dlg.RedPanel.RedValue.onChange = function (){
if (!isNaN(dlg.RedPanel.RedValue.value)){
alert("Red value is not a valid number");}
};
dlg.RedPanel.RedValue.text = Math.round(dlg.RedPanel.sliderRed.value);
dlg.RedPanel.sliderRed.onChanging = function () {
dlg.RedPanel.RedValue.text = Math.round(dlg.RedPanel.sliderRed.value);
newColor.rgb.red = Math.round(dlg.RedPanel.RedValue.text);
newColor.rgb.green = Math.round(dlg.GreenPanel.GreenValue.text);
newColor.rgb.blue = Math.round(dlg.BluePanel.BlueValue.text);
app.foregroundColor = newColor ;
};
//Add Green panel
dlg.GreenPanel = dlg.add("panel",undefined,"Green");
dlg.GreenPanel.alignChildren = "right";
dlg.GreenPanel.orientation = 'row';
dlg.GreenPanel.sliderGreen = dlg.GreenPanel.add('scrollbar', undefined, 128, 0, 255);
dlg.GreenPanel.sliderGreen.preferGreenSize = [100,20];
dlg.GreenPanel.GreenValue = dlg.GreenPanel.add('edittext');
dlg.GreenPanel.GreenValue.preferGreenSize = [40,25];
dlg.GreenPanel.GreenValue.onChange = function (){
if (isNaN(dlg.GreenPanel.GreenValue.value)){
alert("Green value is not a valid number");}
};
dlg.GreenPanel.GreenValue.text = Math.round(dlg.GreenPanel.sliderGreen.value);
dlg.GreenPanel.sliderGreen.onChanging = function () {
dlg.GreenPanel.GreenValue.text = Math.round(dlg.GreenPanel.sliderGreen.value);
newColor.rgb.red = Math.round(dlg.RedPanel.RedValue.text);
newColor.rgb.green = Math.round(dlg.GreenPanel.GreenValue.text);
newColor.rgb.blue = Math.round(dlg.BluePanel.BlueValue.text);
app.foregroundColor = newColor ;
};
//Add Blue panel
dlg.BluePanel = dlg.add("panel",undefined,"Blue");
dlg.BluePanel.alignChildren = "right";
dlg.BluePanel.orientation = 'row';
dlg.BluePanel.sliderBlue = dlg.BluePanel.add('scrollbar', undefined, 128, 0, 255);
dlg.BluePanel.sliderBlue.preferBlueSize = [100,20];
dlg.BluePanel.BlueValue = dlg.BluePanel.add('edittext');
dlg.BluePanel.BlueValue.preferBlueSize = [40,25];
dlg.BluePanel.BlueValue.text = Math.round(dlg.BluePanel.sliderBlue.value);
dlg.BluePanel.sliderBlue.onChanging = function () {
dlg.BluePanel.BlueValue.text = Math.round(dlg.BluePanel.sliderBlue.value);
newColor.rgb.red = Math.round(dlg.RedPanel.RedValue.text);
newColor.rgb.green = Math.round(dlg.GreenPanel.GreenValue.text);
newColor.rgb.blue = Math.round(dlg.BluePanel.BlueValue.text);
app.foregroundColor = newColor ;
};
dlg.show();
Hope this helps.
