Combined and Connected Number Edit Box and Slider BoxI am producing a JSL script which displays a window with a list of tests for a user to select from to produce charts for those selected. Each chart needs to have an interval set by the user. Since this example can allow for 1 to 5 tests for which to produce charts, how do I refer to the Number Edit Boxes to get the correct value for the associated test given the Number Edit Boxes are not named? Where I stumble is the question in MakeCharts = expr(). Is there a way to uniquely name each Number Edit Box in this type of scenario?
//Create a list of all tests represented in this Data Table to be displayed as vertical check boxes
cbAllTests = Check Box( {"Test1", "Test2", "Test3", "Test4", "Test5"} );
//User Interface for selecting desired test results and charts
New Window( "Enter Capability", << Modal,
//Window Header
H Center Box(
H List Box(
tbAddCap = Text Box( "Select Tests to Average" ),
tbAddCap << Set Font( "Arial", 14, "Bold" )
)
),
//Test List Header
Spacer Box( Size( 10, 20 ) ),
H List Box(
Spacer Box( Size( 35, 20 ) ),
tbCap = Text Box( "Test"),
tbCap << Set Font( "Arial", 12, "Bold" )
),
//List of tests from this STR or list of STRs to select from
H List Box(
Spacer Box( Size( 10, 10 ) ),
cbTest = cbAllTests( i )
),
Spacer Box( Size( 10, 20 ) ),
//Display new window listing tests selected for Capability Data Entry
H Center Box( Button Box( "OK", GetChkBoxes ) )
);
//Window to Display Number Edit Boxes to enter values for only the tests being requested
CapWindow = New Window( "Enter Capability",
//Window Header
H Center Box(
H List Box(
tbEntVal = Text Box( "Enter Capability Values*" ),
tbEntVAl << Set Font( "Arial", 14, "Bold" )
)
),
//List of tests requested for Capability Value entry
H List Box(
vlbTests = V List Box()
),
H Center Box( Button Box( "OK", MakeCharts ) ) //WJL - Add procedure to collect values and add selected charts
);
if( N Items( CapTests ) >=1,
For( i = 1, i <= N Items( CapTests), i++,
Eval(
Expr(
vlbTests << Append(
H List Box(
Lineup Box( N Col(4),
tbTest = Text Box( CapTests[i] ),
tbTest << Set Width( 150 ),
tbPlMin = Text Box( "+/-" ),
tbPlMin << Set Font( "Arial", 10 ),
nebCap = Number Edit Box(0),
nebCap << Set Font( "Arial", 10 ),
tbUnits = Text Box( " % " ),
tbUnits << Set Font( "Arial", 10 )
)
)
)
)
)
)
);
GetChkBoxes = Expr(
CapTests = cbTest << Get Selected();
print( CapTests );
);
MakeCharts = Expr(
//This is where I need to collect the values in each Number Edit Box
//How do I reference when they are not uniquely named in the script?
);Re: Combined and Connected Number Edit Box and Slider BoxHere is one way to handle the issue. The pointer to the Number Edit Box is placed into a list, and then the element from the list is used to point back to the specific Number Edit Box.
//Create a list of all tests represented in this Data Table to be displayed as vertical check boxes
cbAllTests = Check Box( {"Test1", "Test2", "Test3", "Test4", "Test5"} );
// This code needs to be processed before it is called
GetChkBoxes = Expr(
CapTests = cbTest << Get Selected();
print( CapTests );
);
//User Interface for selecting desired test results and charts
New Window( "Enter Capability", << Modal,
//Window Header
H Center Box(
H List Box(
tbAddCap = Text Box( "Select Tests to Average" ),
tbAddCap << Set Font( "Arial", 14, "Bold" )
)
),
//Test List Header
Spacer Box( Size( 10, 20 ) ),
H List Box(
Spacer Box( Size( 35, 20 ) ),
tbCap = Text Box( "Test"),
tbCap << Set Font( "Arial", 12, "Bold" )
),
//List of tests from this STR or list of STRs to select from
H List Box(
Spacer Box( Size( 10, 10 ) ),
cbTest = cbAllTests( i )
),
Spacer Box( Size( 10, 20 ) ),
//Display new window listing tests selected for Capability Data Entry
H Center Box( Button Box( "OK", GetChkBoxes ) )
);
//Window to Display Number Edit Boxes to enter values for only the tests being requested
CapWindow = New Window( "Enter Capability",
//Window Header
H Center Box(
H List Box(
tbEntVal = Text Box( "Enter Capability Values*" ),
tbEntVAl << Set Font( "Arial", 14, "Bold" )
)
),
//List of tests requested for Capability Value entry
H List Box(
vlbTests = V List Box()
),
H Center Box( Button Box( "OK", MakeCharts ) ) //WJL - Add procedure to collect values and add selected charts
);
// create a list to hold the pointers to the different Number Edit Boxes
nebCapList = {};
if( N Items( CapTests ) >=1,
For( i = 1, i <= N Items( CapTests), i++,
//Eval(
//Expr(
vlbTests << Append(
H List Box(
Lineup Box( N Col(4),
tbTest = Text Box( CapTests[i] ),
tbTest << Set Width( 150 ),
tbPlMin = Text Box( "+/-" ),
tbPlMin << Set Font( "Arial", 10 ),
nebCap = Number Edit Box(0),
nebCap << Set Font( "Arial", 10 ),
tbUnits = Text Box( " % " ),
tbUnits << Set Font( "Arial", 10 )
)
)
);
// add the pointer to the Number Edit Box, to the list
insert into(nebCapList,nebCap);
)
//)
//)
);
nebCapList[1] << set(55);
MakeCharts = Expr(
//This is where I need to collect the values in each Number Edit Box
//How do I reference when they are not uniquely named in the script?
);Re: Combined and Connected Number Edit Box and Slider Box@txnelson - Sorry for the late reply but I finally got to put your suggestion into action...THANK YOU!!!! That was the ticket. It's perfect!