Todo List

Class GBE::GAttractAgent
remove attributes, use element data

Class GBE::GCreatorAgent
implement - see raphael's notes for ideas

Member GBE::GCreatorAgent::receiveInfluence (const GCS::GElementInfluence &)
record how much energy has been put into certain regions.

integrate with GDynamicGeneratorAgent?

Member GBE::GCreatorAgent::receiveInfluence (const GCS::GElementInfluence &)
finish implementation

Class GBE::GDynamicGeneratorAgent
Make this Agent thread safe - especially receiveInfluence!! Or put generation into a separate thread.

Class GBE::GDynamicGeneratorAgent
The energy used for creation is NOT deterministic as we GEnergy::take() some out of the current element(!)

Member GBE::GDynamicGeneratorAgent::receiveInfluence (const GCS::GElementInfluence &influence)
integrate the rotation concept

Member GBE::GDynamicGeneratorOctreeNode::getChildNodeForPosition (const GCS::GVector3 &position)
write a test case for this.

Member GBE::GDynamicGeneratorOctreeNode::getChildNodesForArea (const GCS::GVector3 &position, double radius)
write a test case for this.

Member GBE::GDynamicGeneratorOctreeNode::Position
it should somehow be possible to respond to radius changes of the element's form.

Member GBE::GEnergyFormAgent::run ()
changes in element settings are not detected (because comparing old-new energy only) this would require the proposed changed signals forwarding to all agents (costs time)

Class GBE::GKolabAgent
have a look at kdepim/kioslaves/imap4

Class GBE::GKolabAgent
the IMAP connection needs to be shared, only 1 client for an IMAP server allowed at a time! use a static GKolabAgent::Socket attribute note 2006-10-21: this is not an issue, only the top-most element with a kolab agent will communicate with the server.

Class GBE::GKolabAgent
sort out the issue of being a secondaryElement, otherwise there will be multiple connections (primary + many secondary) (Will there be really? Only when connect action is called!!)

Member GBE::GKolabAgent::interpretMessage ()
implement

Class GBE::GMoveAgent
add another value: last update time and use it on execution resuming

Class GBE::GOrbitingAgent
put more intelligence into it, don't simply change the position, but generate move impulses which can be used by the GMoveAgent.

Member GBE::GReparentAgent::receiveInfluence (const GCS::GElementInfluence &influence)
do second reparenting check on formChanged()

Member GBE::GReparentAgent::receiveInfluence (const GCS::GElementInfluence &influence)
fix form/position updates

Class GCE::GCamera
The camera currently only works correctly when the attached form has no transformation from a parent element as the transformation is not recognised. Maybe this needs to be handled in GOpenGLFrame. DONE, but needs testing.

Class GCE::GCamera
do NOT depend / use GOpenGLFrame directly, instead use signals / slots where appropriate. (But how to handle key presses?)

Member GCE::GCommunicationWidget::prepareMessageForSending ()
move into new client interface class.

Class GCE::GElementInfoWidget
finish implementation

Member GCE::GOpenGLFrame::paintGL ()
reintegrate the rotation concept (camera)

Class GCS::GAgent
Changed signals such as energyChanged() should also be received by the agent since other agents could emit these and it should be possible to react to these events.

Class GCS::GElementID
Add support for element ID observers, they should be notified when running low on IDs

Member GCS::GElementID::GElementID ()
This is a workaround and should be removed as soon as Qt

does not depend on such a constructor for QValueList anymore.

Class GCS::GForm
redesign the rotation concept and reintegrate into reparent agent and openglframe and scene

Class GCS::GObject
Much of this can be handled by GEnergy::put(), it should be implemented there.

Move all inline methods into implementation files.

Member GCS::GVector3::operator== (const GVector3 &comp) const
add an optional parameter for epsilon.

Class GCS::GWorldData
write an algorithm to find a position transformation path between arbitrary elements

Class GWE::GCoreXmlSerializer
define the XML Schema for each part(!) and implement serialization.

Class GWE::GInformationInterface
make signals functional

Member GWE::GInformationInterface::elementParentChanged (const GCS::GElementID &element, const GCS::GElementID &new_parent, const GCS::GElementID &old_parent, const GCS::GMatrix44 &transformation)
this is not yet in use!

Class GWE::GStorage
Improve MySQL support and avoid special case handling (driver) (might already work, due to Qt4 porting)

reuse existing database on init, see GXmlDataController to init with existing elements

Class GWE::GStorage
datafile of form is not taken care of

Class GWE::GStorage
check all args to be really strings (QString::number())

Member GWE::GStorage::getElement (const GCS::GElementID &id, const GCS::GWorldData *data)
use views if the database supports it to select a whole element with one select!

Class GWE::GweController
use exceptions as they provide a better way for failure description.(??) talk about this on the mailing list first!!

Class GWE::GXmlDataController
proper shutdown (persistent storage,...)

Class GWE::GXmlDataController
on init, read database content and remove existing element IDs from available IDs.

Member GWE::GXmlDataController::isRegisteredWithMaster () const
introduce a report infrastructure for the GWE

Member GWE::GXmlDataController::moveElement (const GCS::GElementID &id, QString new_owner)
properly implement and mabe(!) use from proccessChildCreation()

Member GWE::GXmlDataController::read (const GCS::GElementID &) const
memory leaks! difference between returning an open element and creating one from DB

Member GWE::GXmlDataController::syndicateElementData (const GCS::GElementID &id)
this contains code crucial to multi-level hierarchies, search for todos in implementation

Member GWE::GXmlDataController::syndicateGenericMessage (QDomElement data, bool to_master=false, QString exclude=QString())
implement

Member GWE::GXmlDataController::OpenElements
IMPORTANT for persistance: GXmlStorage should keep primary and secondary elements separate

Member GWE::GXmlDataController::OpenElements
IMPORTANT for persistance: GXmlStorage should keep primary and secondary elements separate

Class GWE::GXmlDirectNetwork
don't receive data here, but in the connection itself which also can handle message buffers.

Member GWE::GXmlDirectNetwork::flushOutput ()
still to be implemented

Member GWE::GXmlDirectNetwork::receiveData ()
this is a hack to avoid high traffic on incoming connections

Class GWE::GXmlDirectNetworkConnection
redesign - receive data directly here and use buffers for partial messages

Generated on Thu Nov 16 07:49:12 2006 for G System by  doxygen 1.4.7