interreality.org [VOS]
[Home] [About]
[Screenshots]
[Download]
[News]
[Community]
[Documentation] [Manual]
[Bugs & Requests] [Wiki]

/home/tetron/hack/vos/libs/vos/metaobjects/misc/hypercard.hh

Go to the documentation of this file.
00001 /* $Id: hypercard.hh,v 1.11 2005/12/18 09:59:40 tetron Exp $ */
00002 
00003 #ifndef _HYPERCARD_HH_
00004 #define _HYPERCARD_HH_
00005 
00006 #include <vos/vos/vos.hh>
00007 
00008 #include "miscdefs.hh"
00009 
00010 namespace VOS {
00011 
00012 /** @class Hypercard hypercard.hh vos/metaobjects/misc/hypercard.hh
00013 
00014         An object bearing this type suggests to the application that it may load the
00015         child object named "link" as a new document or enterable space for the user.
00016 
00017  * @ingroup libmetaobject_misc
00018 */
00019 class MISC_API Hypercard : public MetaObject
00020 {
00021 
00022 public:
00023 
00024     /** Constructor */
00025     Hypercard(VobjectBase* superobject);
00026 
00027     static MetaObject* new_Hypercard(VobjectBase* s, const std::string& type);
00028 
00029     /** Return type string ("hypercard") */
00030     virtual const std::string getVOSType();
00031 
00032     /** @name Access Subobjects */
00033     //@{
00034 
00035     /** Get link (
00036             This child may link to any object, but is recommended to link to the top level of
00037             a document or space, or a property containing data for display.
00038         ). */
00039     VUtil::vRef<Vobject> getLink();
00040 
00041     /** Set link.
00042         @param newobj   The new subobject. */
00043     void setLink(Vobject* newobj);
00044 
00045     /** Get description */
00046     std::string getDescription();
00047 
00048     /** Set description
00049      * @param description   The new description
00050      * @param type           New description's data type. Default is string.
00051      * @param accesscontrol  Property access control policy. Default is policy set
00052      * with initialize().
00053      */
00054     void setDescription(const std::string& description,
00055                         const std::string& type = "string",
00056                         const std::string& accesscontrol = "");
00057 
00058     /** Get title */
00059     std::string getTitle();
00060 
00061     /** Set title
00062      * @param title The new title
00063      * @param type  The title's type. Default is string.
00064      * @param ac    Property access control. Default is policty set with
00065      * initialize().
00066      */
00067 
00068     void setTitle(const std::string& title, const std::string& type = "string", const std::string& ac = "");
00069 
00070 
00071     //@}
00072 };
00073 
00074 } // namespace VOS
00075 
00076 #ifndef MISC_EXPORTS
00077 IMPORT_METAOBJECT_FACTORIES(Hypercard)
00078 #endif
00079 
00080 #endif // #ifdef _HYPERCARD_HH_
00081