PropertyMap and new Attributes for the Assembly object and the Document

This commit is contained in:
jriegel 2013-01-06 20:39:52 +01:00 committed by Stefan Tröger
parent e6387c6acf
commit 4d49b0b059
3 changed files with 47 additions and 8 deletions

View File

@ -927,6 +927,10 @@ Document::Document(void)
ADD_PROPERTY_TYPE(Id,(""),0,Prop_None,"ID of the document");
ADD_PROPERTY_TYPE(Uid,(id),0,Prop_ReadOnly,"UUID of the document");
// license stuff
ADD_PROPERTY_TYPE(License,("CC-BY 3.0"),0,Prop_None,"License string of the Item");
ADD_PROPERTY_TYPE(LicenseURL,("http://creativecommons.org/licenses/by/3.0/"),0,Prop_None,"URL to the license text/contract");
// license stuff
int licenseId = App::GetApplication().GetParameterGroupByPath
("User parameter:BaseApp/Preferences/Document")->GetInt("prefLicenseType",0);

View File

@ -26,6 +26,7 @@
#endif
#include <Base/Placement.h>
#include <Base/Uuid.h>
#include "Item.h"
#include "ItemPy.h"
@ -40,11 +41,23 @@ PROPERTY_SOURCE_ABSTRACT(Assembly::Item, App::GeoFeature)
Item::Item()
{
ADD_PROPERTY(Id,(0));
ADD_PROPERTY(Uid,(0));
ADD_PROPERTY(Name,(0));
ADD_PROPERTY(Description,(0));
ADD_PROPERTY_TYPE(CreatedBy,(""),0,App::Prop_None,"The creator of the Item");
ADD_PROPERTY_TYPE(CreationDate,(Base::TimeInfo::currentDateTimeString()),0,App::Prop_ReadOnly,"Date of creation");
ADD_PROPERTY_TYPE(LastModifiedBy,(""),0,App::Prop_None,0);
ADD_PROPERTY_TYPE(LastModifiedDate,("Unknown"),0,App::Prop_ReadOnly,"Date of last modification");
ADD_PROPERTY_TYPE(Company,(""),0,App::Prop_None,"Additional tag to save the the name of the company");
ADD_PROPERTY_TYPE(Comment,(""),0,App::Prop_None,"Additional tag to save a comment");
ADD_PROPERTY_TYPE(Meta,(),0,App::Prop_None,"Map with additional meta information");
ADD_PROPERTY_TYPE(Material,(),0,App::Prop_None,"Map with material properties");
// create the uuid for the document
Base::Uuid id;
ADD_PROPERTY_TYPE(Id,(""),0,App::Prop_None,"ID (Part-Number) of the Item");
ADD_PROPERTY_TYPE(Uid,(id.UuidStr),0,App::Prop_None,"UUID of the Item");
// license stuff
ADD_PROPERTY_TYPE(License,("CC BY 3.0"),0,App::Prop_None,"License string of the Item");
ADD_PROPERTY_TYPE(LicenseURL,("http://creativecommons.org/licenses/by/3.0/"),0,App::Prop_None,"URL to the license text/contract");
// color and apperance
ADD_PROPERTY(Color,(1.0,1.0,1.0,1.0)); // set transparent -> not used
ADD_PROPERTY(Visibility,(true));
}

View File

@ -39,19 +39,41 @@ class AssemblyExport Item : public App::GeoFeature
public:
Item();
/** @name base properties of all Assembly Items */
/** @name base properties of all Assembly Items
* This properties corospond mostly to the meta information
* in the App::Document class
*/
//@{
/// Id e.g. Part number
App::PropertyString Id;
/// unique identifier of the Item
App::PropertyUUID Uid;
/// Name of the Item (human readable)
App::PropertyString Name ;
/// long description of the Item
App::PropertyString Description ;
/// creators name (utf-8)
App::PropertyString CreatedBy;
App::PropertyString CreationDate;
/// user last modified the document
App::PropertyString LastModifiedBy;
App::PropertyString LastModifiedDate;
/// company name UTF8(optional)
App::PropertyString Company;
/// long comment or description (UTF8 with line breaks)
App::PropertyString Comment;
/** License string
* Holds the short license string for the Item, e.g. CC-BY
* for the Creative Commons license suit.
*/
App::PropertyString License;
/// License descripton/contract URL
App::PropertyString LicenseURL;
/// Meta descriptons
App::PropertyMap Meta;
/// Meta descriptons
App::PropertyMap Material;
//@}
/** @name base properties of all Assembly Items */
/** @name Visual properties */
//@{
/** Base color of the Item
If the transparency value is 1.0