On Thu, 05 Oct 2006 10:45:25 +0200
Marc Weustink <[EMAIL PROTECTED]> wrote:
>[...]
> >>>> Modified needs to be modified :)
> >>>>
> >>>> procedure Modified;
> >>>> begin
> >>>> SendBeginModificationToAllBeginEndObeservers;
> >>>> SendModifiedNotificationToAllModifiedObeservers;
> >>>> SendEndModificationToAllBeginEndObeservers;
> >>>> end;
> >>> But then Begin/End is useless, isn't it? The modification took
> >>> place before 'Begin'. For example:
> >>>
> >>> NewToolButton.Parent:=CurToolBar;
> >>> Modified;
> >> Indeed, I was more thinking of controls reacting on the
> >> ModifiedNotification which would trigger more modifications.
> >>
> >> In your example, an editor sets the Parent and calls Modified. Why
> >> would setting the parent trigger other code which will call
> >> Modified ? Afterall, Modified is a Designer/Editor method, and
> >> should/can not be called from the component itself. So I see no
> >> chain of modified there.
> >
> > There are some components, that call Modified. For example
> > changing the PageIndex of a TNoteBook. But this is very rare and
> > can be changed. Let's ignore these things.
> >
> > More important is that we don't have a working Begin/End
> > enclosement. So, we can only react, but not prepare. Or in other
> > words: Only a OnModified event, but no OnChanging.
> >
> > At the moment the solution is to swallow the bitter pill and
> > implement a dynamic property propagation system. The more
> > information the changer (e.g. OI) provides, the less the system
> > will copy. The OI can call BeginUpdate/ChangeProperty/EndUpdate,
> > while others can call Modified and the whole forms are
> > scanned/copied.
>
> Whats wrong with adapting modified ?
>
> That is the difference of having one OnModified, or having observers
> which subscribe themselves to begen/end notifications
Begin/EndUpdate and notifications are a good idea and needed.
I'm just unhappy, that there is no more elegant solution for copying
the data to the descendants.
Mattias
_________________________________________________________________
To unsubscribe: mail [EMAIL PROTECTED] with
"unsubscribe" as the Subject
archives at http://www.lazarus.freepascal.org/mailarchives