I would like to implement tab (and some other widgets) but I need some guidance regarding library's code - everything is so composable that I have a feeling I will write duplicated code most of time time.
I have read the post and checked how button is implemented (array composite of 2 elements) but I still don't get many things:
What is the purpose of _base types? That is, proxy vs proxy_base, composite vs composite_base etc
Why do various elements are class templates and inherit from typename Base? What's the benefit of doing this over just inheriting from element?
Are there any restrictions on the inheritance (eg Base must be element or a type derived from it)?
I figured out that the support directory is a collection of helpers (implementation details etc) but what is the reliation of element/* to element/gallery/*? Both directory trees contain button header and source - their reliation/dependency is unclear to me.
What are some very good widget example implementations that I should look at when implementing other widgets (eg if I would like to implement radio box, I should surely check check box)?
I would like to implement tab (and some other widgets) but I need some guidance regarding library's code - everything is so composable that I have a feeling I will write duplicated code most of time time.
I have read the post and checked how button is implemented (array composite of 2 elements) but I still don't get many things:
_base
types? That is,proxy
vsproxy_base
,composite
vscomposite_base
etctypename Base
? What's the benefit of doing this over just inheriting fromelement
?Base
must beelement
or a type derived from it)?support
directory is a collection of helpers (implementation details etc) but what is the reliation ofelement/*
toelement/gallery/*
? Both directory trees containbutton
header and source - their reliation/dependency is unclear to me.