Page MenuHomePhabricator

Create a property persistence service
Closed, ResolvedPublic

Description

If we want to manage which properties are serialized/writen into the header, we need a service which stores said information.

Basically it needs:

  1. a list of property keys
  2. SetAsHeaderInformation(std::string)
  3. RemoveAsHeaderInformation(std::string)
  4. bool IsHeaderInformation(std::string)

That way other can register their properties as being persistent and writers can ask for it.

Ideally the property plugin allows setting properties as persistent by using the GUI and shows a symbol/indicator for persistent properties.

Event Timeline

User kislinsk has pushed new remote branch:

bug-19209-PropertyPersistenceService

Implemented the service and integrated it into the property view including the possibility to declare manually added base data properties as persistent properties.

The property description for persistent could be polished, e.g., by showing a disk icon between the header and description text.

Before merging we should test the new service by migrating the "meta.XXX" base data properties to the PropertyPersistence service.

A good test case are the diffusion meta properties defined in the diffusion property helper. They are already read from/written to nrrd in the respective reader/writer.

[3b0b02]: Merge branch 'bug-19209-PropertyPersistenceService'

Merged commits:

2015-08-06 12:09:33 Stefan Kislinskiy [2ebc38]
Removed meta prefix from property names derived from meta dictionary objects.


2015-08-05 02:05:57 Stefan Kislinskiy [419244]
Show persistence and alias icons in property description.


2015-08-04 23:13:50 Stefan Kislinskiy [4029a5]
Merge branch 'bug-19211-FixClassificationTestBuildScripts' into bug-19209-PropertyPersistenceService


2015-08-04 18:31:17 Stefan Kislinskiy [78f0ce]
Support persistence for manually added base data properties.


2015-08-04 18:28:19 Stefan Kislinskiy [a33bcc]
Show property persistence info in property description.


2015-08-04 18:36:37 Stefan Kislinskiy [21639a]
Implemented property persistence service.