Thursday, May 3, 2007

I've created a core Forms implementation following the scheme I've spoken before.
Of course, it is just a sketch but it already has some functionality now.
Currently implemented:
- Complete support for OOForm class that stands for form:form tag. All its attributes are reflected in the appropriated properties.
TextDocument class has Forms property. No nested forms support yet. No support for import, only test support for export (it will be completely rebuilt). Search methods are also not implemented.
- Support for form:properties.
- Basic support for controls (with synchronization). Currently base class OOFormControl with aggregated OOControlRef are done. I have also created working classes OOText and OOButton (form:text and form:button respectively)

I would like to speak a little bit more about form:properties, 'cause I haven't discussed it earlier.
In a nutshell, there are six classes: FormProperty, SingleFormProperty, ListFormPropertyElem, ListFormPropertyElemCollection, ListFormProperty and FormPropertyCollection.
FormProperty is a base class for both kinds of properties: single value and multiple value. SingleFormProperty stands for a single value property(form:property) and has such properties as Name, Value and PropertyValueType.
ListFormProperty : Name, PropertyValueType and PropertyValues.
PropertyValues is a collection (ListFormPropertyElemCollection), each element of which is ListFormPropertyElem.
I think it's quite clear:)

I'm a lazy guy and I haven't drawn a class diagram for all this stuff yet ;)) But I'll do it, I promise :)

No comments: