Deprecated: Assigning the return value of new by reference is deprecated in /home/www-data/ribbonsoft.com/bugtracker/plugins/dokuwiki/inc/parser/xhtml.php on line 984 Deprecated: Assigning the return value of new by reference is deprecated in /home/www-data/ribbonsoft.com/bugtracker/plugins/dokuwiki/inc/parser/parser.php on line 66 Deprecated: Assigning the return value of new by reference is deprecated in /home/www-data/ribbonsoft.com/bugtracker/plugins/dokuwiki/inc/parser/handler.php on line 22 Deprecated: Assigning the return value of new by reference is deprecated in /home/www-data/ribbonsoft.com/bugtracker/plugins/dokuwiki/inc/parser/handler.php on line 44 Deprecated: Assigning the return value of new by reference is deprecated in /home/www-data/ribbonsoft.com/bugtracker/plugins/dokuwiki/inc/parser/handler.php on line 208 Deprecated: Assigning the return value of new by reference is deprecated in /home/www-data/ribbonsoft.com/bugtracker/plugins/dokuwiki/inc/parser/handler.php on line 236 Deprecated: Assigning the return value of new by reference is deprecated in /home/www-data/ribbonsoft.com/bugtracker/plugins/dokuwiki/inc/parser/handler.php on line 290 Deprecated: Assigning the return value of new by reference is deprecated in /home/www-data/ribbonsoft.com/bugtracker/plugins/dokuwiki/inc/parser/handler.php on line 323 Deprecated: Assigning the return value of new by reference is deprecated in /home/www-data/ribbonsoft.com/bugtracker/plugins/dokuwiki/inc/parser/handler.php on line 560 FS#425 : Custom properties

QCAD

QCAD - 2D CAD System.

Click here for a documentation of the DokuWiki formatting syntax that can be used in reports

Please search for existing tasks (also closed ones) before opening a new task.

Please make sure that you are using the latest Version of QCAD before posting a bug (menu Help - Check for Updates)

Tasklist

FS#425 - Custom properties

Attached to Project: QCAD
Opened by Andrew (andrew) - Thursday, 08 December 2011, 11:29 GMT+2
Last edited by Andrew (andrew) - Thursday, 16 May 2013, 18:42 GMT+2
Task Type Feature Request
Category Main
Status Assigned
Assigned To Andrew (andrew)
Operating System All
Severity Low
Priority Normal
Reported Version 3 RC3
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 1
Private No

Details

Assigning custom properties to entities and possibly layers and other objects.

This task depends upon

Comment by Peter (hungerburg) - Friday, 09 December 2011, 13:58 GMT+2

Is this related to FS#117 ?

Comment by Andrew (andrew) - Friday, 09 December 2011, 15:15 GMT+2

Yes, we need that for an internal project (not yet as advanced as FS#117).

Comment by Peter (hungerburg) - Friday, 09 December 2011, 17:33 GMT+2

Andrew, what I propose in #117 is actually a reduction of what was in TP1 ;)

Comment by Andrew (andrew) - Friday, 09 December 2011, 17:45 GMT+2

Supporting XDATA from 3rd party applications is the real problem.

The AppId → code → value structure used by DXF/DWG where 'code' is not unique does not fit well into our key / value data structures. That would require some serious refactoring for the property editor but also for transactions (undo / redo) which use properties to store the diff between two objects.

Not impossible but painful.

Comment by Peter (hungerburg) - Friday, 09 December 2011, 21:56 GMT+2

Thank You Andrew for taking this seriously. Looking at a DXF file, I do not see an "AppId → code → value" structure, but an "AppId → [ type, value, type, value, … ]" ordered list. The specification does not talk about implementation, but about serialization. The way I understand it, in javascript lingo, these custom properties are not /properties/ of a single object, but they are an /array/ of objects. Now, that proves my previous comment wrong. Still, there is no way around refactoring, unless you want to risk incompatibilty with other, conforming DXF, DWG reading, writing applications and likely data loss (as is now, when everything just gets dropped).

PS: The application, that I want to pass such extended attributes to, does not use the typing facilities at all, but only produces string type values, ie. group code 1000. It even ignores the AppId! So for me, regarding this feature, and with some trickery, the TP was already fully functional... I will wait then. QCAD rocks all the while.

Loading...