[Molecuilder-devel] [SCM] branch Delay_MoleculeRemoved created. v1.5.1-97-g2ab346b

git at ins.uni-bonn.de git at ins.uni-bonn.de
Sat Feb 20 10:04:36 CET 2016


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".

The branch, Delay_MoleculeRemoved has been created
        at  2ab346bcd181e1e10519dfaf059aa12f4f18f525 (commit)

- Log -----------------------------------------------------------------
commit 2ab346bcd181e1e10519dfaf059aa12f4f18f525
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Feb 16 09:32:23 2016 +0100

    GLWorldScene also takes note of empty molecule.
    
    - this is for the case when a molecule is signalled empty before it signals
      ready for removal. This may happen cause the empty and the removal signal
      come from different sources, empty from GLMoleculeObject_molecule and
      removal from the board.

commit d4bb8e15de0d028d802c313f15f03ab815fe52eb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Feb 14 19:49:24 2016 +0100

    FIX: QtObservedAtom's AtomMoleculeIndex was not informed of molecule index changes.
    
    - hence, we return the QtObservedMolecule of the molecule to which the atom is
      associated. And this reference is updated whenever the associated molecule
      changes.
    - getAtomMoleculeIndex() -> getAtomMolecule().
    - signal renamed moleculeIndexChanged -> moleculeChanged.

commit 8fac83241dd570c90c2bb0764d03605a59774f34
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Feb 14 13:33:22 2016 +0100

    tempcommit: Enhanced docu

commit 20a1e9520ec99c1c5797e908233b65eb611adf6b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 23 17:21:16 2015 +0200

    DROPME: Removed logging into QtLogBox for debugging.

commit a9813320bbb63feb3ecdb108ca6130acd57b4fe7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Feb 14 13:30:26 2016 +0100

    tempcommit: Merge with 46973b3c

commit cac1c1056f4866c23d6d954fda1314581bc49778
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Feb 14 13:29:24 2016 +0100

    FIX: emit changed signal before moleculeEmptied.

commit 46973b3c6009b987df2d1a2f18e88bc51e2b7d11
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Feb 13 16:43:33 2016 +0100

    GLWorldScene RemovedMolecules now uses QtObservedMolecule* as key.
    
    - moleculeId_t is not unique, a new molecule of the same id might have already
      been instantiated. The shared_ptrs live till the end, hence the memory
      address can be safely used as unique key to the respective molecule instance.
    - signatures of signal removeMolecule() and slots moleculeRemoved() and
      moleculeEmptied() changed from id to this ptr.

commit c528fd1d4072d78990470faa4b0628122e9dfa36
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Feb 13 16:30:05 2016 +0100

    FIX: GLWorldScene's moleculesAtomRemoved was checking QtObservedAtomMap.
    
    - however, the atom may already be a different one. Also, we do not even need
      it as we obtain the molecule from QtObservedMolecule directly.
    - also, molecule may no longer be present in MoleculesInSceneMap but still in
      RemovedMolecules and no molecule with same id already instantiated ...

commit 3f00190ead3a1e2b5aa3eb0db5f48c0f64055e39
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Feb 13 15:50:41 2016 +0100

    SignedOn_t in QtObservedInstanceBoard is again just a set.
    
    - we do not need multiple entries for molecule anymore.

commit d595d10d97ff28d917460646b119cff66c665b20
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Feb 13 15:48:14 2016 +0100

    Removed last...removed in QtObservedInstanceBoard.
    
    - this does not do anything useful anymore, we may just pass the id we obtained
      from ObservedValuesContainer as Qt signal.

commit a0e8a35992485bc183af33fdace406503ea4b49c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Feb 13 15:47:51 2016 +0100

    tempcommit: Removed atomDelayed stuff in QtObservedInstanceBoard's header.

commit 34e47cb6848c3cda1b210a0e7f317c2a924d8bc3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Dec 13 15:22:16 2015 +0100

    TEMP: Decreased waiting times in QtGUI's test mode.

commit 178c147450531d80569a189fe4c34af69de4e4a5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 27 22:29:01 2016 +0100

    AtomInserted/Removed of QtObservedMolecule sends ptr as unique key.
    
    - this is used to associate the atom with the right molecule. This is needed in
      case when the molecule is deleted and a new one with the same id is created.
      If signals are delayed, we need to know which atomInserted/Removed signal to
      associated with which GLMoleculeObject_molecule.

commit 2220ee136e81b70f32f8f2aa3fb5dcc0356c8fff
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 27 22:24:07 2016 +0100

    GLWorldScene places GLMoleculeObject_molecule into extra list before removal.
    
    - GLMoleculeObject_molecule sends signal when no atoms are left.
    - GLMoleculeObject_molecule is destroyed when signal is obtained and we have
      placed it in removal list before.

commit c7622c49ce87c648ab2e12d8b4cc15ac6e2b1283
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Jan 8 14:53:48 2016 +0100

    Removed RefCounted... again.

commit b9c95d65f97a99999c0747693845e4399ce64509
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 6 09:36:58 2016 +0100

    All ..Inserted/..Removed signals now go through GLWorldScene.
    
    - this should enforce synchronicity of the signals. If we mix direct and
      queued connections, then this cannot be ensured.
    - the idea is that GLWorldScene gets all Inserted/Removed signals for atoms and
      molecules from the QtObservedInstanceBoard. It connects to each
      QtObservedMolecule and thus can call the GLMoleculeObject_molecule's
      atomInserted, atomRemoved functions in sequence.
    - removed RemovalMolecules, no longer needed.
    - we now enforce with mutexes that instantation of molecule and MissedStateMap
      do not interfere, i.e. it is always perfectly clear whether to push a signal
      into the Map or whether to call the function of the present GLMolObj_mol.
    - FIX: MoleculesInScene_mutex has not been used properly, now is.
    - DOCU: Updated construct qt-gu documentation with the new concept.

commit db0b591344484f5d9444cdfb8463beb1f54adb6e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 7 17:48:51 2016 +0100

    FIX: GLMoleculeObject_.. does not care whether selection state did not change.
    
    - maybe we just got the event too late and actually two changes occured in
      between.

commit 239282d0a3f78dfb3708317c784b5d231ecd4fbf
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 7 13:00:38 2016 +0100

    FIX: Making sure that atomInserted is received from same source in GLWorldScene and GLMoleculeObject_molecule.
    
    - otherwise we cannot guarantee that the events are processed in order.

commit 391db539061b5ea01288e04e0be7c2af7c038d28
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jan 26 17:16:19 2016 +0100

    FIX: indexChanged from QtObserved... transmit both old and new id.

commit aaff9d0b03031d940f0393147343bae28357e429
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Jan 7 11:28:10 2016 +0100

    QtObserved... now count the subjectKilled() from the containes values.
    
    - we no longer loop this through the ObservedValuesContainer.
    - also initObservedValues() is not longer a static function but now used inside
      the QtObserved..'s cstor.

commit 9effd271fd2b270a2b85bada2ab23aa04c779b6e
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 6 18:34:22 2016 +0100

    QtObservedInstanceBoard now sends QtObserved..::ptr around in signals.
    
    - this should get rid of the problem that we need to keep the QtObservedAtom
      until it was requested at least once. And we don't know for how long. Now,
      we simply place the shared_ptr into the signal (to which it seems to be
      copied) and hence a representation of the atoms remains valid.
    - cstor of GLMoleculeObject_.. take Observed.. as ref.

commit c0eb7d3e362158cb0c0b7fa9aad6c8fe73f97fe1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 6 18:11:16 2016 +0100

    Combined checks into checkRemoval() in ObservedValuesContainer.

commit 6af47207350e353430f1f7797d21b49ff4334644
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jan 5 23:26:38 2016 +0100

    FIX: Added mutex to ObservedValuesContainer to ensure atomic access.

commit 0763d47c85d68f48b090823b77f9880a69cdd8a0
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jan 5 23:24:10 2016 +0100

    QtElementList must not use atom but only QtObservedAtom.

commit f28676387f23eef7e5309120f4d23161308b9f0f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jan 5 23:22:56 2016 +0100

    CHECK: Don't admonish empty missed states in GLWorldScene?
    
    - skipped in subsequent loop anyway.

commit eac949c47715473df2e2eab0d7ed6010ce0209d7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jan 5 23:22:13 2016 +0100

    GLMoleculeObject_atom and .._molecule don't get QtObserved... right away.
    
    - needs to be checked for empty instance first.

commit 49304ec9c3204630839da64e6ab794283945030c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jan 5 23:20:13 2016 +0100

    CHECK: tempcommit: Removed Cacheable of TesselationHull for GLMoleculeObject_molecule.
    
    - this may cause hiccups with the observed instances with the O/O system and
      makes no sense anyway as it gets updated all the time?

commit af8b2740086778f0b354ff713720f2fc4656756b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jan 5 23:19:00 2016 +0100

    QtMoleculeList must not use QtObservedMolecules in lists but only request them on need.

commit bf9bae4a21412ed9f848c008daf4da68a17341ed
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Jan 5 23:17:39 2016 +0100

    ObservedValuesContainer now asserts that observedinstance has been requested at least once before deletion.
    
    - this should prevent that the observed instance is instantiated and deleted
      before the signal has gotten through to the GUI.
    - get() returns NULL when not present.

commit f9ea954a9527c505fe36e310ee6f51bbade0055b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 30 19:42:38 2015 +0100

    FIX: ObservesValuesContainer uses internal struct for two iterators for observedvalues.
    
    - we need these two additional iterators (apart from the deque) in order to
      step through the created instances one-by-one as they are expected in this
      manner by the QtGUI which, though lacking behind, is trying to process all
      the seen events.

commit 0ce43805b209245ae6fcbc802c627f0d009497be
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 30 15:28:53 2015 +0100

    FIX: ObservedValuesContainer uses deque for internal observed values.
    
    - it may happen that an atom is created before the _visual representation_
      got destroyed (and hence it's QtObserved... would be destroyed). In that
      case the QtObservedInstanceBoard fails with an assertion.
    - Now, we use a deque. At the front end, we have all the observedvalues that
      have not yet been deleted, on the back end we have the observedvalues to
      the currently active instance.
    - removed unused getRefCount().

commit 5da4fd30e48f36d4ecd9bac041f73a2e6ac8887b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 28 20:20:43 2015 +0100

    Removed QtSelectionChangedAgent.
    
    - it is no longer used. We either listen to molecule/atom's selection changes
      directly or to all of them via the respective relay, i.e. MoleculeObserver.

commit 9a1db189144ea0b278de8d9c0ad29d385949ebbb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 28 20:14:32 2015 +0100

    Removed QtSelectionAgent usage in QtMoleculeListView.
    
    - instead we subscribe to MoleculeObserver directly.

commit 415db69ecabe7f555661f1e7579b0b8d075c3a64
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 28 18:12:08 2015 +0100

    Removed QtSelectionUsage in GLWorldView and related.
    
    - instead GLMoleculeObject_.. directly use observedvalue to get notified when
      they have been (un)selected.

commit e4b42e22f8a68f638ef2a9df3aa12c10386cbb9b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 28 12:43:34 2015 +0100

    Added ObservedValue for selection status of atoms and molecules to QtObserved...

commit e6c198b4be118612cea65aa257f28621f5b16701
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Dec 13 17:06:18 2015 +0100

    FIX: QtObservedInstanceBoard needs to allow delayed atomInserted from World.
    
    - we may get the notification from molecule before we get the insertion from
      the World. Hence, we store any ids obtained from molecule insertion if
      the set of the new atom's observed values have not been generated yet.

commit 04e569ce2099047b583a12650c5ebcde3a49961b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Dec 13 15:22:39 2015 +0100

    QtInfoBox disconnects signals.

commit e7bb881ed9f58e2c22dd0869961b5bd9a55016b5
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Dec 13 15:15:58 2015 +0100

    FIX: ObservedValue need to be removed with a bit of delay.
    
    - ObservedValue has higher priority than e.g. QtObservedAtom. Hence, will
      also receive subjectKilled() before QtObservedAtom does. But right after
      all of these are received(), ObservedValueContainer will remove the instance
      which drops the shared ptr's count to zero (because Observer/Observables
      do not store shared_ptr but only ptrs!) and its dstor is called. Therefore,
      QtObservedAtom cannot access the ObservedValue any longer and this is against
      how the design was meant to be (ObservedValue lives at least as long as
      respective side in Qt needs access to its information).

commit 4ba1b53e8d95205782eda4a858e07c33adfac38a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 25 15:15:23 2016 +0100

    QtObservedAtom, ..Molecule, and ObservedValue_wCallback have flag to indicate invalid callback.
    
    - due to Qt's signal/slot destruction, which follows no proper order,
      we need to invalidate callback when their owners are destroyed. Each has a
      note-function() that flips the boolean to show the callbacks invalidity.
    - TODO: So far this is not nice, especially w.r.t to ObservedValue_wCallback
      because of templatization. We cannot place them in a loop and this makes
      this very error-prone once more Values are added ...

commit 6f11c4fe477cec9427f318924dd3d0369c4d6612
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 30 17:07:39 2015 +0100

    FIX: Qt's parent properly set from QtMainWindow's point of view.

commit a0cf64018031e9496781d57fbef8cdaec91e6cba
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 30 15:07:55 2015 +0100

    Equipped QtInfoBox with mutex and split clearTabs().
    
    - this avoids a memory corruption with signal/slots as the first atomRemoved()
      signal also removes the molecule and hence the QtObservedMolecule ptr who
      is the recipient of the subsequent moleculeRemoved() signal.

commit c65382fc37f5b6f7c05ab057f888984bc5e4b599
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 30 12:54:29 2015 +0100

    FIX: All ObservedValue getters now return const references.
    
    - this should avoid some unnecessary copying.

commit 91832398adba0d5709e15d89cda4f6e24bea5851
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 30 12:06:30 2015 +0100

    QtInfoBox now obtains information completely from QtObservedInstanceBoard and ObservedValues.

commit e85a5ad57177978407f0a20c917d463485ea19bd
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 20 21:02:22 2016 +0100

    Extended QtObservedMolecule by Center, NonHydrogenCount, and BondCount.

commit f2bb5d23965a2ee076a0defa547b06efbb7cf0d3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 20 21:04:06 2016 +0100

    Extended QtObservedAtom by Name and Molecule.

commit 3cc1074b484f32fa2adb1c83e1af02ccdb23daf2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 28 07:15:14 2015 +0100

    Removed molecule's AboutToBeRemoved channel.

commit a8b0d1002ec1a33d463ce79203c7659ea1342d5f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 29 23:21:30 2015 +0100

    All QtMoleculeItem now heed QtObservedMolecule and QtMoleculeList takes InstanceBoard.
    
    - QtMoleculeItems no longer use Observer/Observable but get updates via
      signal/slot from QtObservedMolecule.
    - QtMoleculeList listens to its molecule signals.

commit c5224fe04c74e9e8ba4b0d4de21c886a9a92f6e6
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 29 22:55:51 2015 +0100

    Added AtomCount and FormulaChanged to QtObservedMolecule.

commit 132ffdd62ee515e3d415cd8a3638a22137276828
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 29 19:38:02 2015 +0100

    FIX: ObservedValue_wCallback needs to call callback() only on last channel's signOff().

commit 47a352f3cec8a123ee22d88ecee2d1d041a4a828
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 29 15:41:13 2015 +0100

    ObservedValuesContainer now stores QtObserved.. instances directly.
    
    - we need this as QtObservedAtom and ..Molecule must signOn() to World's
      instance right away. If later requests to ObservedValuesContainer::get()
      cause new signOn()s, then these might fail.
    - we now work with QtObserved..::ptr directly everywhere.

commit d60447008a45476644c41a76ca5613715cd8f8d1
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 25 15:07:59 2016 +0100

    Moved countSubjectKilled related code from QtObservedInstanceBoard into ObservedValuesContainer.
    
    - this avoids some more duplicated code.

commit ea7aa119dca805ba2726e17315bfed05895acfdc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 29 13:52:29 2015 +0100

    Extracted all ObservedValue functionality out of GLMoleculeObject_molecule.
    
    - see previous commit for explanations.

commit 4f4f230d4c5db356e10b4d799e2c8b413773a772
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 29 11:46:45 2015 +0100

    Extracted all ObservedValue functionality out of GLMoleculeObject_atom.
    
    - i.e. GLMoleculeObject_atom is reduced to simple displaying, updated via
      Qt signals. These signals are connected to a QtObservedAtom which in turn
      now contains all the ObservedValue functionality.
    - this is preparatory for having a single (Observed)Atom as representer of
      its associated World's atom in the QtGui part of the code.

commit 59470e71db3b190bd2a12c44b61c4de5c616916c
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 29 10:52:10 2015 +0100

    Extracted functions handling refcounting of ObservedValues into ObservedValuesContainer.
    
    - this avoids a lot of code duplication.

commit a4276876e2a9d6c9687febd0327f4688a63e1da2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 28 14:57:10 2015 +0100

    Added rudimentary getter and returner for ObservedAtom/..Molecule() to InstanceBoard.

commit f6f122b85ec7c94026afa0f4b08367484aae48d7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 28 14:24:10 2015 +0100

    Added QtObservedAtom and ..Molecule() instances.

commit 21d0652520527d71c5cea3ba8e2681f4f08b9bce
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 28 14:23:09 2015 +0100

    Moved and renamed QtInstanceInformationBoard -> QtObservedInstanceBoard.
    
    - this is preparatory for adding ObservedAtom and ObservedMolecule classes
      that combine all observed information on either type.

commit ee5160a077a48901ce7f835e992ed264db812227
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 25 10:09:33 2016 +0100

    Changed connections between GLWorldScene, GLWorldView and GLMoleculeObject_molecule.

commit a65e0b67ed0a6b6fd6b35cb956b20c0d4f9ad33d
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 25 12:09:33 2016 +0100

    GLMoleculeObject_atom, _bond, _molecule all use QtInstanceInformationBoard passed via GLWorldScene.

commit c85bb1e66c4f9743fdf0a2b8870aa26fc38e431a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 23 17:13:14 2015 +0200

    FIX: QtMoleculeItem not signing off after subjectKilled().

commit 9140be0febff13d22ce6bcb71d21138fddcd35bf
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Oct 17 17:42:17 2015 +0200

    Added QtInstanceInformationBoard that handles ObservedValues through the QtGui interface.
    
    - this is meant as a instantiator of all ObservedValue's needed by QtGui for
      representing information from the World. The ObservedValue's are instantiated
      separately w.r.t. to the instance for the visual representation. This is
      light-weight and can be performed in the same thread, while the visual
      representation's instantiation can be done elsewhere and there we just need
      to access the ready ObservedValue's that exist as long as they are needed
      by the QtGui.

commit f57e61aaf0b459993a691b4a9cff578b6345c375
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Jan 25 12:01:10 2016 +0100

    Changed GLMoleculeObject_...:countSubjectKilled() to taking id parameter.
    
    - this is a precursor for when the ObservedValues reside with
      QtInstanceInformationBoard.
    - enhanced ObservedValue_wCallback to take a bound getIndex function().
    - additionally, we route internally to ObservedValue::get() and this gets us
      out of the painful situation where we need to supply an index getter to the
      ObservedValue that monitors the index (and hence must be present already to
      bind to its get function).

commit 6b45920ff0a52121d125e701e7fb4d85ed58fd98
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Oct 17 15:28:19 2015 +0200

    GLMoleculeObject_bond's ObservedValues is now all static.
    
    - again, the same change as with .._molecule and .._atom.

commit 6eaa82e7a26f048c6512b94dea2eb302298822c7
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Oct 17 14:55:30 2015 +0200

    GLMoleculeObject_atom's ObservedValues is now all static.
    
    - this is equivalent to the changes to GLMoleculeObject_molecule.

commit 321c7dea664c07848c54013a3e15d9ecf01fe4fb
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Oct 17 14:40:14 2015 +0200

    GLMoleculeObject_molecule's ObservedValues is now all static.
    
    - this is preparatory for extracting their instantation to an external class
      InstanceInformationBoard that keeps track of the lives of instances in the
      World that are needed inside QtGui (e.g. for visual representation).

commit 05ba5b55fb52838ab990c6dd31b204452e6bcb0a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Oct 17 14:18:30 2015 +0200

    FIX: GLMoleculeObject_molecule::updateAtoms() used DisplayAtoms directly.
    
    - we need an old and a new set, i.e. the difference needs to be discernable
      between updates. However, so far we updated the old set directly, too.

commit cc3c8e1e36354a11e275092cff6288dad75ad8a9
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 23 17:17:43 2015 +0200

    FIX: QtInfoBox only updatePage() when ref still present (no subjectKilled() yet).

commit 10bbe9b776c5a20167fd7cc820200b66ef1588c3
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 16 13:51:16 2015 +0200

    FIX: All ObservedValue's of GLMoleculeObject_atom/bond/molecule wrapped into vector.
    
    - the idea is that a GLMoleculeObject may only remove itself _after_ each and
      every contained Observer has gotten the subjectKilled() signal from the
      Observables. Only then will destroying the Object and its members thereby
      not cause any signOff() which try to access Observables or their channels
      which are no longer present. This can be imagined as a graph where we have
      to start destroying object at the very bottom.
    - This is the avoid the following conflict: A superior object gets note of
      a molecule to be removed. It sends the visual representation a signal to
      remove itself, which causes it to use signOff(). On a parallel track (in
      another thread) we have the observed object calling subjectKilled() to
      inform any Observer about its immediate destruction. These two tracks
      collide. Now, we let first pass all subjectKilled() and when the last
      Observable has gotten its signal, we begin destroying the visual rep.
    - rerouted signal/slots accordingly.

commit 8658fc191ae135c34f2d21313b756c55ffb61e6f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 16 10:59:22 2015 +0200

    FIX: GLMoleculeObject_molecule::subjectKilled() should not call deactivateObserver().
    
    - we just take note that we are signedOff.

commit f3bd2cebfbc61b098881c201fa969063c01f349b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 16 10:58:31 2015 +0200

    FIX: GLWorldScene has additional moleculePrepared... slots and signals.
    
    - i.e. we first insert into MoleculesInMap via direct connection and then
      signal is emitted (queued) to construct the actual GLMoleculeObject_molecule.

commit 429e503bff3e82beb64c71600ed21b706bd81c22
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 16 10:56:48 2015 +0200

    FIX: GLMoleculeObject_molecule still contained hack to get upper bound on molecule's bounding box.
    
    - we don't longer need the hack as we have the molecule cleverly updating the
      box and an ObservedValue.

commit df79560385cd2d9459b42a93e582168727c21890
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Thu Oct 15 11:08:37 2015 +0200

    QtFavoriteActions uses ObservedValue for checking last queued action's name.

commit e009eea1371a8dd4558fbc793246af4e1e9d0f24
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 30 11:19:10 2015 +0100

    Deleted MoleculeListClass.
    
    - finally ... some veeeery old legacy stuff is gone.

commit 2ed9a4294dd146843081650daa89354695eec349
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 30 11:02:58 2015 +0100

    Removed molecules_deprecated from World and unnecessary includes of MoleculeListClass and all insert/erase.
    
    - this goes along the lines of removing "remove me when we don't need
      MoleculeCistClass anymore".

commit 4d216e26ad3517403f70279e309b2ee4c6842ee2
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 30 11:16:33 2015 +0100

    Replaced MoleculeListClass in ExportGraph by vector of molecules.
    
    - AddHydrogenCorrection did never really worked and is dropped (was commented
      out in .._ToFiles anyway).

commit 33a5aabd092cc7765f707789b6ba4a3490028790
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 30 11:06:45 2015 +0100

    Replaced MoleculeListClass in analysis_bonds by vector of molecules.
    
    - TESTFIX: also adapted CountBondsUnitTest.

commit b57db5a78544db163b3c6275983ec9b213a26827
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 30 11:06:27 2015 +0100

    Removed FindEmbeddingHole which lacked implementation so far.

commit d83b52100dfec33f4ddd2815582827bace607492
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 29 22:41:30 2015 +0100

    FIX: molecule's BoundingBoxSweepingAxis used unordered set of atomids.
    
    - this needs to be an ordered set to prevent O(N) access on updating values.

commit c432d18f42e325a2f169a2653fd49bdfc32bc24a
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 29 20:50:22 2015 +0100

    Removed molecule's resetFormula() and doCountBonds() and doCountNoNonHydrogen().
    
    - we don't do these as Cacheables anymore.

commit 8969b61553800ba52878de3b91c89c6f23fa1090
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 29 20:49:43 2015 +0100

    Molecule now has maps with old values for bond counts and element number per atom.
    
    - this allows to update the total bond count and the formula in an
      O(N log N) fashion.

commit 6cb80f99db5a2450db0eb06fc18d7e8c8a147d00
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Dec 30 10:27:51 2015 +0100

    atom now uses associate... and disassociatedAtomWithMolecule().
    
    - this is used to gather all functions that need to be called when a new atom
      joins a molecule such as signing on to certain channels or updating certain
      internal values of the molecule.

commit 478f022aa5d48250ed57122715799e60483eb0be
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Tue Dec 29 15:23:09 2015 +0100

    Extracted common code out of Molecule/AtomObserver into EntityObserver.
    
    - also all channels are generated as a static vector via boost::assign.
    - removed AtomObserverStub, does not work anymore with extracted
      EntityObserver.

commit 65ca0d1d41b6372eed995b8e5a54c2b5e0f6b615
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 28 16:10:47 2015 +0100

    Added MoleculeObserver as pendant to AtomObserver for molecules.

commit d039bd4461ac831022e029952a45b02e44ad5b28
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 28 16:09:49 2015 +0100

    FIX: AtomObserver was not up-to-date with respect to atom's channels.

commit bef4ed290985bf049b3536347e3c5e79836e5364
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 28 07:28:10 2015 +0100

    Added template functions to (un)set vector of instances in a row.

commit b4c2efb00fce28e93f0bcb27e2a40f04ecab3449
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 28 07:18:42 2015 +0100

    Added select() and unselect() functions to atom and molecule, also SelectionChanged channel.
    
    - this allows for more specific selection changs to be signalled.
    - this extends the current World's SelectionChanged channel that informs about
      selection changes by a more fine-grained/instance-specific change signalling.

commit 5f2a4375a503f5f31dfa656ba5565c3ca8b2d919
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sun Dec 27 22:08:26 2015 +0100

    FIX: Fixed wrong paths for adjacency and trianglematcher in regression and GuiChecks tests.

commit 9a3d6d6f5cecf9270f4ee3c29a4c29745e026d52
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 30 12:36:21 2015 +0100

    FIX: molecuilder.py is now loaded after GUI is done initializing.
    
    - otherwise consequences of loaded session (atoms, ...) are not displayed.
    - originally, this was done on purpose as it is quicker to just load stuff into
      the world and then tell the GUI to show what's there. However, now, due to
      constraints with different threads, this is no longer possible.

commit 5bae86fe04b56eef1124d392a765338281d24e2b
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 20 21:02:03 2016 +0100

    Added Cacheable MoleculeCenter to molecule which is cleverly updated.

commit 918a6c769ce4a33562acd67bec9f9a666ad82db8
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Jan 20 21:03:52 2016 +0100

    Added extra signal MoleculeChanged to AtomObservable.

commit 8ad68b373314b5f34d43573103b2586c095bf875
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 28 13:09:43 2015 +0100

    AddAction and UndoRedoHelpers' AddAtomsFromAtomicInfo use recreate..().

commit 5cf34106ca5c1b4a21a25e3e9adb431e3c4d9404
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 28 13:08:04 2015 +0100

    Added recreateAtom() and recreateMolecule() to World.
    
    - in order to overcome problems with Qt signals being delayed so much that
      in between sending and receiving the id of a newly instantiated atom has
      changed, we need to set the right id (after undo/redo commands) right
      away. For this, these two new functions are well-suited.

commit 840d02f1fb7052798b00efee6a12f7321a6c9c33
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 23 17:21:37 2015 +0200

    FIX: not using const ref in binding updateBoundingBox() for molecule.

commit 7eec6456e9c2eb4a4374698da0f448bfa54864bc
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Sat Oct 17 14:42:13 2015 +0200

    FIX: World needs to first destroy the molecule, then release its ids.
    
    - this is similar to the change for the atom.

commit 4965d9f2a24a4bb68714efa5b3489fe9b1452f2f
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Fri Oct 16 21:48:20 2015 +0200

    FIX: World::destroy..() did not emit SelectionChanged signal.

commit 50c45feb1ed40d339274e6c14569d5ece8740d03
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Wed Oct 14 11:18:05 2015 +0200

    FIX: Fitting domain to window on QtMainWindow's init.

commit e2c2b1d3b49c0c109d15999a9c101eaf6f3bfe17
Author: Frederik Heber <heber at ins.uni-bonn.de>
Date:   Mon Dec 14 10:57:37 2015 +0100

    World's ObservedContainer no longer observe.
    
    - This requires CodePatterns 1.3.1 from now on.
    - I had misunderstood what Till had planed with these ObservedContainers for a
      long time: I though they would cause an OBSERVE signal for every iterator
      step but this is not the case. Rather they accumulate all OBSERVE signals to
      have them fire AFTER the loop is done. This is achieved through the depth
      count of the observer protectors.
    - Sadly, this runs against what we do with the lastchangedatom. We need the
      information right away as we the Observer/Observable stuff does not transport
      any information and always updating all is way too costly.
    - Hence, in CodePatterns we have implemented an UnobservedIterator which is
      used in ObservedContainer and does not cause any OBSERVE signals.
    - The source of the problem was createAtom() in a loop over selectedAtoms
      and these atoms not getting created (w.r.t QtInstanceBoard) before the
      molecule's got note of it (cause they are at depth 1).

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the Molecuilder-devel mailing list