[Oberon] WMProperties.StringProperty
Ulrike Glavitsch
ulrike.glavitsch at inf.ethz.ch
Tue Nov 22 16:37:42 CET 2005
Dan Parnete wrote:
> Ulrike Glavitsch wrote:
>
>> Hello,
>>
>> the way the empty element is treated in a StringProperty so far is to
>> have a NIL-pointer in the value-field of the StringProperty. There
>> are several locations in the code, e.g. PROCEDURE DrawBackground in
>> WMStandardComponents.Button, that depend on this convention.
>> So we basically have two options:
>> (1) we leave the code as it is with the implication that programmers
>> need to know that the empty element is represented by a NIL value or
>> (2) we make the proposed change but have to adapt all pieces of code
>> that are affected by this change.
>> I agree that it is more consistent to represent an empty string in an
>> existing string object.
>>
>> As the correction requires a bit of work (implementation and tests)
>> it will not come in the very next release. But thanks for the proposal.
>>
>> Ulla Glavitsch
>>
>> Dan Parnete wrote:
>>
>>> Hello,
>>>
>>> The properties could be set by FromXML method. The StringProperty
>>> could not be reseted by FormXML because it doesn't treat the empty
>>> element.
>>> I propose this correction:
>>>
>>> PROCEDURE FromXML*(xml : XML.Element);
>>> VAR en : XMLObjects.Enumerator;
>>> p : PTR;
>>> BEGIN
>>> en := xml.GetContents();
>>> p := en.GetNext();
>>> IF p # NIL THEN
>>> IF p IS XML.Chars THEN
>>> Set(p(XML.Chars).GetStr())
>>> END
>>> ELSE Set(Utilities.NewString(""))
>>> END
>>> END FromXML;
>>>
>>> Thanks,
>>> Dan Parnete
>>> --
>>> Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related
>>> systems
>>> https://lists.inf.ethz.ch/mailman/listinfo/oberon
>>
>>
>>
>>
>>
> I agree with the NIL value. But the problem here is the actual code
> did not set the NIL value. If you want to put:
> ELSE Set(NIL)
> it's fine. Now ELSE doesn't exist, and that excludes the possibility
> to reset the string property using en empty element like <strprop/>.
>
> Thanks,
> Dan Parnete
> --
> Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
> https://lists.inf.ethz.ch/mailman/listinfo/oberon
Good idea. This correction will come with the next release.
Ulla Glavitsch
--
Ulrike Glavitsch Eggler
Institut für Computersysteme
ETH-Zentrum
Clausiusstrasse 59
CH-8092 Zürich
Tel.: +41 44 632 70 49
Fax : +41 44 632 13 07
More information about the Oberon
mailing list