00001 /* 00002 * Copyright Staffan Gimåker 2008-2009. 00003 * 00004 * --- 00005 * 00006 * Distributed under the Boost Software License, Version 1.0. 00007 * (See accompanying file LICENSE_1_0.txt or copy at 00008 * http://www.boost.org/LICENSE_1_0.txt) 00009 */ 00010 00011 #ifndef PEEKABOT_CLIENT_LINE_BASED_PROXY_HH_INCLUDED 00012 #define PEEKABOT_CLIENT_LINE_BASED_PROXY_HH_INCLUDED 00013 00014 00015 #include <string> 00016 00017 #include "ObjectProxy.hh" 00018 #include "../DelayedDispatch.hh" 00019 00020 00021 namespace peekabot 00022 { 00023 namespace client 00024 { 00028 class PEEKABOT_API LineBasedProxyBase : virtual public ObjectProxyBase 00029 { 00030 public: 00031 LineBasedProxyBase(); 00032 00033 LineBasedProxyBase(const LineBasedProxyBase &p); 00034 00040 DelayedDispatch set_line_width(float width); 00041 00050 DelayedDispatch set_line_style(LineStyle style, int factor = 1); 00051 00065 DelayedDispatch set_line_style(const std::string &style, int factor = 1); 00066 }; 00067 00071 class PEEKABOT_API LineBasedProxy : public LineBasedProxyBase 00072 { 00073 public: 00074 LineBasedProxy(); 00075 00076 LineBasedProxy(const LineBasedProxyBase &p); 00077 00078 LineBasedProxy &operator=(const LineBasedProxy &p); 00079 00080 LineBasedProxy &operator=(const LineBasedProxyBase &p); 00081 00085 DelayedDispatch assign(const ObjectProxyBase &p); 00086 00090 DelayedDispatch assign( 00091 PeekabotClient &client, 00092 const std::string &path); 00093 00098 DelayedDispatch assign( 00099 const ObjectProxyBase &parent, 00100 const std::string &rel_path); 00101 }; 00102 } 00103 } 00104 00105 00106 #endif // PEEKABOT_CLIENT_LINE_BASED_PROXY_HH_INCLUDED
1.7.1