Home » U++ Library support » U++ Library : Other (not classified elsewhere) » GetProperty() / SetProperty() for Ctrl
properties like in C# [message #31021 is a reply to message #30869] |
Tue, 01 February 2011 14:45 |
|
kohait00
Messages: 939 Registered: July 2009 Location: Germany
|
Experienced Contributor |
|
|
see
http://www.codeproject.com/KB/cpp/cppproperties.aspx
which shows an implementation idea..
thanks to Callback we already can have stuff like that:
template<class T>
struct Property
{
typedef Callback1<const T&> S;
typedef Callback1<T&> G;
Property(const S& s, const G& g)
: set(s), get(g) {}
const T& Set(const T& a) { ASSERT(set); set(a); return a; }
T Get() const { ASSERT(get); T t; get(t); return t; }
inline T operator= (const T& a) { return Set(a); }
inline operator T() const { return Get(); }
public:
const S set;
const G get;
};
typedef Property<Value> PropertyValue;
...
//.h
class PropertyTest : public WithPropertyTestLayout<TopWindow> {
public:
typedef PropertyTest CLASSNAME;
PropertyTest();
void GetD(Value& a) { a = "abc"; }
void SetD(const Value& a) { RLOG(a); }
PropertyValue vp;
};
//.cpp
PropertyTest::PropertyTest()
#pragma warning(push)
#pragma warning(disable:4355)
: vp( THISBACK(SetD), THISBACK(GetD) )
#pragma warning(pop)
{
CtrlLayout(*this, "Window title");
//setting, will call SetD
vp = 123;
//getting, will call GetD
Value v = vp;
RLOG(v);
}
GUI_APP_MAIN
{
PropertyTest().Run();
}
now what's the benefit of it? imagine the Ctrls beeing able to be parametrized like
EditInt ei;
ei.min = 100;
ei.max = 200;
ei.data = 150;
ei.show = true;
ei.rect = Rect(0,0, 100,200);
...
while i know it's not much better than current design rule of daisychaining methods, it makes code even bit more clean
[Updated on: Tue, 01 February 2011 14:47] Report message to a moderator
|
|
|
|
|
GetProperty() / SetProperty() for Ctrl
By: kohait00 on Wed, 17 November 2010 17:46
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: kohait00 on Thu, 18 November 2010 15:12
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: koldo on Thu, 18 November 2010 18:28
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: kohait00 on Thu, 18 November 2010 20:03
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: kohait00 on Thu, 18 November 2010 23:20
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: kohait00 on Wed, 24 November 2010 17:51
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: mirek on Sat, 27 November 2010 18:31
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: kohait00 on Sun, 28 November 2010 11:01
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: kohait00 on Tue, 30 November 2010 21:12
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: mirek on Wed, 01 December 2010 09:00
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: kohait00 on Wed, 01 December 2010 10:04
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: mirek on Wed, 01 December 2010 18:00
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: kohait00 on Wed, 01 December 2010 20:22
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: kohait00 on Thu, 02 December 2010 08:44
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: kohait00 on Thu, 02 December 2010 09:24
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: mirek on Thu, 02 December 2010 11:03
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: kohait00 on Thu, 02 December 2010 11:18
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: mirek on Thu, 02 December 2010 11:22
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: kohait00 on Thu, 02 December 2010 11:24
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: mirek on Thu, 02 December 2010 13:33
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: kohait00 on Thu, 02 December 2010 13:39
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: kohait00 on Thu, 02 December 2010 23:50
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: kohait00 on Fri, 03 December 2010 09:31
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: mirek on Thu, 09 December 2010 06:59
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: kohait00 on Thu, 09 December 2010 07:03
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: mirek on Thu, 09 December 2010 08:15
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: kohait00 on Thu, 09 December 2010 08:36
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: kohait00 on Fri, 10 December 2010 08:55
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: kohait00 on Fri, 10 December 2010 10:32
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: kohait00 on Wed, 26 January 2011 13:55
|
|
|
properties like in C#
By: kohait00 on Tue, 01 February 2011 14:45
|
|
|
Re: properties like in C#
|
|
|
Re: properties like in C#
By: kohait00 on Tue, 01 February 2011 18:51
|
|
|
Re: properties like in C#
By: koldo on Tue, 01 February 2011 22:34
|
|
|
Re: properties like in C#
By: kohait00 on Wed, 02 February 2011 09:30
|
|
|
Re: GetProperty() / SetProperty() for Ctrl
By: luluxiu on Fri, 01 July 2011 04:18
|
Goto Forum:
Current Time: Thu Apr 25 12:29:26 CEST 2024
Total time taken to generate the page: 0.02331 seconds
|