![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtWindowProxy.h,v $ $Revision: 1.24 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvCore/vrvCore.h> 00016 #include <vrvUtil/DtProxy.h> 00017 #include <vrvCore/DtChannelProxy.h> 00018 #include <map> 00019 00020 namespace makVrv 00021 { 00022 class DtDe; 00023 class DtChannelConfiguration; 00024 class DtWindowProctor; 00025 class DtWindowConfiguration; 00026 00029 class DT_DLL_VRVCORE DtWindowProxy : public DtProxy 00030 { 00031 public: 00032 00034 friend class DtDisplayProxy; 00035 00037 virtual ~DtWindowProxy(); 00038 00040 00041 00044 bool addChannel(const DtChannelConfiguration& config); 00045 00048 void destroyChannel(DtChannelProxySP channel); 00049 00052 bool modifyChannel(DtChannelProxySP channel, const DtChannelConfiguration& config); 00053 00055 00057 00059 00061 const DtWindowConfiguration& configuration() const; 00062 00065 DtChannelProxySP findChannel(const std::string& channelName ); 00066 00069 DtChannelProxySP findChannelByIndex(int index); 00070 00072 const std::string& displayName() const; 00073 00075 const std::string& windowName() const; 00076 00078 const unsigned int channelCount() const; 00079 00081 00082 protected: 00083 00085 DtWindowProxy(DtDe& de, const std::string& displayName, DtWindowConfiguration& ); 00086 00088 DtWindowProctor* proctor(); 00089 00091 00092 00093 DtDe* myDe; 00094 std::string myDisplayEngineName; 00095 DtWindowConfiguration* myConfiguration; 00096 DtWindowProctor* myProctorCache; 00097 00098 typedef std::map<std::string,DtChannelProxyWP> ChannelProxies; 00099 ChannelProxies myChannelProxies; 00101 }; 00102 00103 typedef DtBoost::shared_ptr<DtWindowProxy> DtWindowProxySP; 00104 typedef DtBoost::weak_ptr<DtWindowProxy> DtWindowProxyWP; 00105 } 00106