a device as a branch of the panel's tree: its name and icon on the line, its streams, clock, buffer size and clients below - every widget bound to the desc, which the device writes back when one of them changes
More...
|
| item * | addItem (std::function< wxWindow *(wxWindow *)> &&content, bool subitems=false, bool open=true) |
| void | addSeparator () |
| void | adopt (item *child) |
| void | attach (wxWindow *parent, std::function< void()> &&destroy) |
| void | build () |
| wxString | caption () const |
| wxWindow * | children () const |
| void | clearItems () |
| wxWindow * | content () const |
| template<typename driver_t, typename ... type_t> |
| | device (driver_t &driver, decltype(super::id)&id, type_t... args) |
| template<typename driver_t, typename ... type_t> |
| | device (driver_t &driver, decltype(super::id)&id, type_t... args) |
| void | forget (item *child) |
| void | launch () override |
template<typename device_t>
class dx::gui::device< device_t >
a device as a branch of the panel's tree: its name and icon on the line, its streams, clock, buffer size and clients below - every widget bound to the desc, which the device writes back when one of them changes
dx::gui::device Mixes an outline presence into a device_t, mirroring the juce interface's nesting one-for-one: device::stream::pin, device::clock::samplerate, device::iosize and device::clients are nested dx::gui::item subclasses here too, each row showing its own controls inline, exactly like the juce TreeView design - the one deviation forced by wx is that every wxWindow needs its parent at construction time, so (unlike juce, which lazily makes a Component once a TreeViewItem becomes visible) device_t's own outline row cannot be built inside its constructor: the generic driver/map machinery constructs device_t itself, before any wx parent window exists. attach() below is therefore called once by the driver, once a wx parent is available, and builds the outline from that point on exactly as juce's device::update() does.