VR-Forces 4.0.4 Class Documentation
include/symbolDrawerInterface/drawerColl.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2001 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: drawerColl.h,v $ $Revision: 1.9 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtDrawerColl_H_
00013 #define DtDrawerColl_H_
00014 
00015 #include "symbolDrawerInterface/symbolDrawerInterfaceDefines.h"
00016 
00018 #include "symbolDrawerInterface/symbolDrawer.h"
00019 #include "symbolDrawerInterface/nullDrawer.h"
00020 
00021 #include <vlutil/vlConfig.h>
00022 #include <map>
00023 #include <string>
00024 
00025 class DtDrawerKey;
00026 
00027 typedef std::map<std::string, DtSymbolDrawerCreatorFcn> DtDrawerMap;
00028 
00030 
00043 
00044 class DT_DLL_symbolDrawerInterface DtDrawerColl
00045 {
00046 public:
00048    DtDrawerColl();
00049    DtDrawerColl( DtDrawerColl * nextComponent );
00050    virtual ~DtDrawerColl();
00051 
00053    virtual DtSymbolDrawer *   lookupDrawer( const DtDrawerKey & key ) = 0;
00054 
00055    virtual DtDrawerColl *     component();
00056 
00058    virtual void               setComponent(DtDrawerColl *c);
00059 
00062    virtual void               addComponent(DtDrawerColl *c);
00063    virtual bool               init();
00064    virtual void               addDrawerCreator(const QString& str, DtSymbolDrawerCreatorFcn fcn);
00065    virtual DtSymbolDrawer*    createDrawer(const QString& str);
00066 
00067 protected:
00068    //Protected so not used.  Prefer class to be singleton.
00069    DtDrawerColl(const DtDrawerColl& orig);
00070    DtDrawerColl& operator=(const DtDrawerColl& orig);
00071    
00072 protected:
00073    DtDrawerColl *       myComponent;
00074    DtNullDrawer         myNullDrawer;
00075 
00077    DtDrawerMap          myMap;
00078 };
00079 
00080 #endif

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)