Scopira 20080306

viewtype.h

00001 
00002 /*
00003  *  Copyright (c) 2005    National Research Council
00004  *
00005  *  All rights reserved.
00006  *
00007  *  This material is confidential and proprietary information of
00008  *  National Research Council Canada ("Confidential Information").
00009  *  This Confidential Information may only be used and reproduced
00010  *  in accordance with the terms of the license agreement.
00011  *
00012  */
00013 
00014 #ifndef __INCLUDED_SCOPIRA_CORE_VIEWTYPE_H__
00015 #define __INCLUDED_SCOPIRA_CORE_VIEWTYPE_H__
00016 
00017 #include <scopira/core/objecttype.h>
00018 #include <scopira/tool/export.h>
00019 
00020 // implementation for all of this is in objecttype.cpp....
00021 
00022 namespace scopira
00023 {
00024   namespace core
00025   {
00026     class viewtype;
00027   }
00028 }
00029 
00035 class scopira::core::viewtype : public scopira::core::objecttype
00036 {
00037   private:
00038     std::string dm_menuname;
00039     objecttype * dm_modeltype;
00040     int dm_vgmask;
00041 
00042   public:
00044     SCOPIRA_EXPORT viewtype(const std::string &name, copyfunc_t cp, const std::string &menuname, int vgmask);
00045 
00047     SCOPIRA_EXPORT void set_modeltype(objecttype *mt);
00049     objecttype * get_modeltype(void) const { return dm_modeltype; }
00050 
00052     const std::string &get_menuname(void) const { return dm_menuname; }
00053 
00054     int get_vgmask(void) const { return dm_vgmask; }
00055 
00056   protected:
00057     virtual void print_tree_this(int indent);
00058 };
00059 
00060 #endif
00061