Hi Vladimir,
Sorry I misunderstood your question.
>changed. Cancel action fires a question alert for Save/Don't
>save/Cancel. If OkButton is not enabled, Save is not possible. How to
>know that OkButton is enabled?
In cancel action you can check fOkButton.isEnabled(). Isn't this ok for you
or am I missing something?
>But I need to know the state of the ULCMandatoryAndEnabler. I
You will have to extend ULCMandatoryAndEnabler as follows:
Client-side class:
public class UIMyEnabler extends UIMandatoryAndEnabler implements
IDirtyDataOwner {
private boolean fIsEnabling = false;
public void setEnabled(boolean state) {
super.setEnabled(state);
fIsEnabling = super.isEnabling();
getSession().addDirtyDataOwner(this);
}
public void flushDirtyData() {
updateStateULC("enabling", fIsEnabling);
}
}
Server-side class:
public class ULCMyEnabler extends ULCMandatoryAndEnabler {
private boolean fEnabling = false;
protected String typeString() {
return UIMyEnabler.class.getName(); // change this with a string
that specifies full class name
}
protected IDispatcher createDispatcher() {
return new ULCMyEnablerDispatcher();
}
protected class ULCMyEnablerDispatcher extends ULCProxyDispatcher {
public final void updateEnabling(boolean enabling) {
ULCMyEnabler.this.updateEnabling(enabling);
}
}
public void updateEnabling(boolean enabling) {
fEnabling = enabling;
}
public boolean isEnabling() {
return fEnabling;
}
}
I hope this helps.
Thanks and regards,
Janak
>-----Original Message-----
>From: [EMAIL PROTECTED]
>[mailto:[EMAIL PROTECTED] Behalf Of Vladimír Turek
>Sent: Friday, February 16, 2007 11:23 AM
>To: [email protected]
>Subject: Re: [ULC-developer] Current state of a ULCMandatoryAndEnabler
>
>
>Hi Janak,
>
>Thanks. But I need to know the state of the ULCMandatoryAndEnabler. I
>have a dialog with mandatory fields and OkButton is enabled if all
>mandatory fields are filled and at least one field in dialog has
>changed. Cancel action fires a question alert for Save/Don't
>save/Cancel. If OkButton is not enabled, Save is not possible. How to
>know that OkButton is enabled?
>
>Here is my code:
>
>private ULCDialog fDialog;
>private ULCTextField fAdress;
>private ULCTextField fCity;
>private ULCTextField fZip;
>private ULCTextField fCountry;
>private ULCButton fOkButton;
>private ULCButton fCancelButton;
>
>private void configureEnabler() {
> // Ok Button: ULCHasChangedEnabler + ULCMandatoryAndEnabler
> fHasChangedEnabler = new ULCHasChangedEnabler();
> fHasChangedEnabler.add(fAdress);
> fHasChangedEnabler.add(fCity);
> fHasChangedEnabler.add(fZip);
> fHasChangedEnabler.add(fCountry);
> fHasChangedEnabler.reset();
>
> fMandatoryAndEnabler = new ULCMandatoryAndEnabler();
> fMandatoryAndEnabler.setHighLightColor(new Color(255,194,194));
> fMandatoryAndEnabler.add(fAdress);
> fMandatoryAndEnabler.add(fCity);
> fMandatoryAndEnabler.add(fHasChangedEnabler);
>
> fOkButton.setEnabler(fMandatoryAndEnabler);
>}
>
>public boolean isOkButtonEnabling() {
> // how to know that the OkButton is enabling ?
> // => all mandatory fields are filled and at least one field
>has changed
> // return fHasChangedEnabler.isEnabling() isn't right
> return false;
>}
>
>public IAction createOkAction() {
> return new AbstractAction() {
> public void actionPerformed(ActionEvent event) {
> save();
> }
> };
>}
>
>public IAction createCancelAction() {
> return new AbstractAction() {
> public void actionPerformed(ActionEvent event) {
> if (isOkButtonEnabling()) {
> // ULCAlert for Save/Don't save/Cancel
> } else {
> // ULCAlert for Don't save/Cancel
> }
> }
> };
>}
>
>
>Regards
>Vladimir Turek
>
>
>
>Janak Mulani napsal(a):
>> Hi Vladimir,
>>
>> There is a method ULCHasChangedEnabler#isEnabling().
>>
>> It returns the current state of the enabler.
>>
>> The state is updated in the next roundtrip initiated from the client.
>>
>> Thanks and regards,
>>
>> Janak
>>
>>
>>> -----Original Message-----
>>> From: [EMAIL PROTECTED]
>>> [mailto:[EMAIL PROTECTED] Behalf Of Vladimír Turek
>>> Sent: Thursday, February 15, 2007 11:32 AM
>>> To: [email protected]
>>> Subject: [ULC-developer] Current state of a ULCMandatoryAndEnabler
>>>
>>>
>>> Hello.
>>>
>>> I need to know the current state of a ULCMandatoryAndEnabler. In API
>>> isn't a method like ULCHasChangedEnabler.isEnabling.
>>>
>>> Do you have any suggestion?
>>>
>>> Regards
>>>
>>> Vladimir Turek
>>>
>>>
>>> _______________________________________________
>>> ULC-developer mailing list
>>> [email protected]
>>> http://lists.canoo.com/mailman/listinfo/ulc-developer
>>>
>>
>>
>_______________________________________________
>ULC-developer mailing list
>[email protected]
>http://lists.canoo.com/mailman/listinfo/ulc-developer
_______________________________________________
ULC-developer mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/ulc-developer