[Uml-devel] Build error (cvs)

Michel Hermier michel.hermier at wanadoo.fr
Fri Mar 7 02:37:02 UTC 2003


> I dont like the way it's now ( the ClassPage having the Base as "internal
> data") because then I cannot use the page as  a widget... ok, I can still
> do a work-around but....

If I read correctly the code what you are making is this:

create all the data modification pages.
call for all the page the load, through a signal/slot pair.
save through an other signal/slot pair.

Why you don't make like this:

The base dialog get the reference to the original data class. You make a copy 
of this object in the base dialog. And give this copied object reference to 
all the modification pages. The object seen by the pages can be modified 
directly as it is a copy. When clicking on apply you store the modified 
object in the original object.

Advantage:
- Only the reference to the current class modifier page is needed.
- Only one modification page at the same time in the memory is possible.
- You can make something like a restore(putting all and only the loadcode in 
the polish slot).
- Less heavy in term of gui complexity ( you make directly the changes in the 
copied class, and can use qtdesigner ).

Disadvantages:
- Memory consuming ( unless the data storing use implicit shared memory, but 
maybe less than having xx QWidget ).
- The object containing the class data should have a really working copy.
- The gui and the data are really mixed.

Michel.





More information about the umbrello-devel mailing list