View Full Version : hi i want to add a dialog to a user input panel

james decosta
01-08-2008, 10:17 AM
hi ,
i have a requirement in which i need to give a user input panel to the end user and when he leaves some field blank i need to restrict him,
i am able to do it by adding the rules like if
$USER_INPUT_RESULT$ does not equal $NULL$
and like that
But Now my requirement is when the user leaves some fields blank , i need to give a dialog or a prompt to enter values in all the fields and when he clicks on "OK" button i need to go to the same panel untill he inputs all the fields ,can anyone suggest me how to achieve this.
I SHOULD ALLOW the end user to proceed by clcking on next untill he inputs all the fields or else i should give him a message dialog to enter all the fields and when he clicks on "OK" he needs to come back to the same panel for inputting information in all the fields.

Yves Kreis
01-08-2008, 10:47 AM
Use a show message dialog with the correct rule.

Best Regards,

james decosta
01-09-2008, 02:21 AM
hi yves,
my requirement is like i need to give a popup menu on top of user input panel and if the user leaves any blank field and clicks on next he should see the pop up message with the message "You need to fill in all the fields" and whne he clicks on "OK", he needs to come to the same panel .
But if he enters all the fields and clicks on next he needs to move forward.
This is my requirement and this needs to be done for both typical and minimal install sets.

So the one more question is "how to add three rules for "OR" and one more rule for "AND",
the action should happen if either of the three rules are true but the other one needs to be true all the time.

Yves Kreis
01-09-2008, 02:36 AM
Why aren't 3 ORs enough if the user enteres 3 data fields. Create a sample project with the requirement, I suppose I can't follow your explanations.

Best Regards,

james decosta
01-09-2008, 04:28 AM
i want one panel to appear only if some field is blank and the chosen install set is typical and i want another panel to appear only if some field is blank and the chosen install set is minimal.

01-09-2008, 05:11 AM

You'll have to write a bit of code for this. Thats what I did, I wrote a class that reads which installset is chosen, (using standard installanywhere variables) and then I set another flag as a variable using setVariable method of InstallerProxy or CustomCodePanelProxy. Then after the custom code is executed, I can read this flag as a variable in installanywhere and set a rule for comparing a variable with certain value (that I assigned in the code of course). Only when the rule is met, I can make that panel visible.

Sorry for not sharing the code, as I cant do that (Organization Policy...) but I'll help in detail with example if you cant understand this. You can also refer to sample code templates provided in InstallAnywhere.

Hope this helps.

james decosta
01-09-2008, 07:16 AM
hi ,
i can get till this point :

String something=ruleProxy.substitute("$CHOSEN_INSTALL_SET$");

What shall i do after this and shall i write this code in public void install() method of custom code action,what do you say???????
pLease elaborate

01-09-2008, 07:25 AM

You got it right so far, you should write that in overridden install() method of your custom code class, and put that to execute in pre-install action list. It gets executed over there. Then after that step, you can simply put a rule in your panel-to-appear to check IA variable "$SOME_OTHER_VARIABLE$" with "something" just as you would compare any other standard IA variable.

That should do the job.

james decosta
01-09-2008, 07:51 AM
hi ,
but why should i set it to some other variable,then how is it useful to me,

because my aim is to display a panel when :

1.if ($USER_INPUT_RESULT_3$ equals 0
OR $USER_INPUT_RESULT_5$ equals 0)
($CHOSEN_INSTALL_SET$ equals Typical)
what is the use of setting $SOME_OTHER_VARIABLE$ to $CHOSEN_INSTALL_SET$???
My purpose is not solved

01-09-2008, 08:21 AM
Hi (yet again :) ),

you have 3 ORs to combine with one AND. You have two ways to do this:

1. you set one action group with the rule that ($CHOSEN_INSTALL_SET$ equals Typical) is true.
and inside that action group you display a panel with the rules:
if ($USER_INPUT_RESULT_3$ equals 0
$USER_INPUT_RESULT_4$ equals 0
$USER_INPUT_RESULT_5$ equals 0) logically ORing these rules when evaluating (you have this setting in the UI in rules pane).

2. welcome and get your hands dirty in coding, (this is what I like...) and do it logically, evaluating A && (B || C || D) and setting E accordingly in your code and read it from the next step onwards (in pre-install or install actions) like I mentioned earlier.

hope that helps.

james decosta
01-09-2008, 08:49 AM
hi ,
well can you give some code for doing this:
public class MyClass extends CustomCodeAction{
public void install(InstallerProxy ip)throws InstallerException{
String some=ip.substitute("$USER_INPUT_RESULT_3$");
String another=ip.substitute("$USER_INPUT_RESULT_4$");
String third=ip.substitute("$USER_INPUT_RESULT_5$");
String fourth=ip.substitute("$CHOSEN_INSTALL_SET$);
String setvar="YES";/* would you guide me after this*/
if(some && (another|| third || fourth))==true{

/* What after this code*/
A && (B || C || D)