coggrinder.gui.events:
- Fixed minor typo in the module notes.
Updated PyDev project settings to no longer use hard-coded file names
for the locations of the dependent libraries. These libraries can now be
defined by variables held under Eclipse/PyDev's String Substitution
Variables for the interpreter as a whole (and on a local-to-machine
basis).
coggrinder.entities.tasks:
- Fixed bug in Task init method where position property was always set
to 0, regardless of position value provided in method keyword
arguments.
coggrinder.entities.tree:
- Updated Tree._create_branch_str to return an "<Empty>" str when the
Tree has no nodes (not even a root node).
- Fixed the remove_node method to ensure that the node ordering of the
deleted node's sibling nodes group is preserved.
- Updated the remove_node tests in PopulatedTreeTest to ensure that
position was checked and/or converted the tests to a better fixture
nomenclature ("node A" instead of "node 0:0").
coggrinder.entities.task_services:
- Updated UnregisteredEntityError so that it could be used directly
instead of solely through its subclasses. It can now generate a generic
"entity not found" error message as well as supporting more specific
messages with details provided by subclasses.
coggrinder.services.tasktree_services:
- Updated PopulatedTaskTreeServiceTest.test_get_task to remoe
unnecessary refresh task data call.
coggrinder.entities.tasktree:
- Removed the all_tasks and tasklists task data collections from
TaskTree. Instead, all task data is now held directly in the tree and
can be accessed either via tree operations or through the entity
id-to-node mapping.
- Updated internal Tree building methods to use the new "all-in-one"
task data collection.
- Added TaskTree._register_entity_node and ._deregister_entity_node to
manage the entity id-node mappings. Updated other methods to use this
new interface rather than directly accessing the mapping dict.
- Converted TaskTree.add to .add_entity.
- TaskTree now overrides the clear() method so that it can reset the
entity-node mapping.
- Add TaskTree.get_all_descendant_nodes for walking the tree below an
arbitrary node and collecting all descedants.
- Updated TaskTree.get_tasks_for_tasklist to account for the new task
data collection style. Uses get_all_descendant_nodes() to find all Tasks
below a certain TaskList.
- Updated TaskTree.remove_entity to properly remove both TaskLists
(involved deleting all child Tasks) and Tasks (involves moving any
direct children into the position of the deleted task).
- Added test for creating a basic TaskTree from a set of task data
provided during initialization.
- Updated numerous tests to take advantage of the new TestDataTask/List
entities and their supporting convenience methods.
- Added tests to PopulatedTaskTreeTest to verify the implementation of
the new remove_entity method.
- Added convert_short_title_to_id convenience method to
TestDataTask/List. The method provides a cleaner and simpler way to
generate entity IDs for test task data.
- Added TaskTreeComparator.find_added method implementation and simple
test.
- Added beginning of a test for TaskTreeComparator.find_deleted; test is
currently marked as an expected failure.