--===============0463842158== Content-Type: multipart/signed; boundary="nextPart3522613.jJIfuoNb5v"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit --nextPart3522613.jJIfuoNb5v Content-Type: text/plain; charset="iso-8859-6" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Wednesday 26 April 2006 21:33, Boudewijn Rempt wrote: > Is this the place to start thinking about the integration of > commands, undo/redo and threadweaver? I've been trying to get threadweaver to compile and failed; not sure why=20 but my qmake refuses to create makefiles that automatically create the=20 mocs. Anyway; I read the manual and threadweaver certainly looks nice, but at=20 this point I fail to see where in flake we need multithreading. Just=20 about everything is about painting or processing input. Which by=20 definition has to be single threaded. =46or a next step I have been thinking about something I did in KWord; the= =20 messaging part of the MVC pattern. The idea is that the data model emits=20 signals about changes so the views can pick up on that. Every app I know emits these changes not from the objects themselves (no=20 need to make them qobjects), but by emitting from the controller code=20 when the Shape has been moved or changed. I suggest the InteractionStrategy notify the ShapeManager about things=20 like a move, or a delete etc. The ShapeManager (much like KWords KWFrameViewManager) will then act as=20 distributor and re-emit the signals so that components that are=20 interrested in, for example, selectionChanged, or ShapeMoved, or=20 ShapeAdded they will get notified. The re-emitting is needed so those=20 listeners can connect to just 1 object. The trick here is to make sure that all these events will not get fired=20 until the user interaction that caused them is processed. Since the data=20 (the Shapes and the selection etc) is not fully stable until that time. i.e it avoids race conditions. Anyway; I implemented that all already in KWords KWFrameViewManager, but=20 I'd like to hear your thoughts, and possibly ideas on how to integrate=20 that with threadweaver. Sorry for going very technical, I hope the above was clear, the API docs=20 in kword might help a little as well here. =2D-=20 Thomas Zander --nextPart3522613.jJIfuoNb5v Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (GNU/Linux) iD8DBQBEUTOdCojCW6H2z/QRAqGyAKDxYSdHQoEFsTmd4kXgDxcY5zaRngCg1Yi+ 2jKmaPFlFPg903WqxmXjWbA= =rE6L -----END PGP SIGNATURE----- --nextPart3522613.jJIfuoNb5v-- --===============0463842158== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ koffice-devel mailing list koffice-devel@kde.org https://mail.kde.org/mailman/listinfo/koffice-devel --===============0463842158==--