dxd - dynax driver framework 2.6.0d221
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::gui Namespace Reference

Classes

class  aggregate
class  bar
 dx::gui::bar A row of independently toggling buttons, reporting (id, state) on change. More...
class  box
 dx::gui::box A read-only dropdown of (label, value) pairs, reporting the selected value. More...
class  button
class  checkbox
class  component_size_pair
class  cpl
 dx::gui::cpl wxWidgets counterpart of the juce dx::gui::cpl application shell: a resizable window holding a tree of the driver's devices (with "+"/"-" buttons to create/destroy pod devices), a File/Debug/Help menu bar mirroring the juce interface's New/Open/Import/Save/Save As/Recent/Exit, Logging and About, and the exception hierarchy dialog above for uncaught exceptions. More...
class  device
 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. More...
class  direction
class  exception_dialog
 dx::gui::exception_dialog wxWidgets counterpart of the juce interface's exception hierarchy dialog: shows a dx::exception and its chain of causes (frame, comment, what()+error code, file:line, function) as a navigable tree, instead of collapsing it into a single message string. More...
class  file
 the given vendor/product-relative path, in the platform's standard app data location More...
class  image
class  item
 dx::gui::item wx counterpart of the juce interface's dx::gui::item<component_t>: one row of a single, continuously expandable outline. Every device and every one of its stream/pin/clock/... rows is an item, nested directly inside its parent item and indented beneath it, showing its own controls inline via content - mirroring juce's TreeView design, where wx has no equivalent of an arbitrary Component hosted per tree row (wxTreeCtrl cannot host child controls), so the outline is built here from plain wxPanel rows in nested box sizers instead. More...
class  label
class  looknfeel
 dx::gui::looknfeel Approximates the juce interface's dark/light colour scheme on the containers wx lets us recolour (frame/panel/splitter backgrounds, the tree, and - via colour inheritance - future field labels) without fighting native control rendering. Buttons, combo boxes, checkboxes and text fields are deliberately left to render as the platform normally would: recolouring native controls fights macOS's own dark-mode appearance, whereas juce draws every control itself and so can commit to one look on every platform. More...
class  power2
class  text
 dx::gui::text An editable single line text field, committing on Enter or on losing focus. More...

Functions

template<typename device_t>
void commit (device_t &device)
 dx::gui::commit Writes device's desc back through its promoted::property (persisting the edit and notifying listeners) - but only for device_t::super types that actually expose a writable desc (hardware-enumerated devices are read-only; user creatable/POD devices are not). A no-op otherwise, matching the juce interface's requires{...device_t.desc...} gate on every field edit.
template<typename item_t, typename value_t>
void power2 (box< item_t > &box, const value_t &value, const uint32_t(&range)[2]={1, 2048}, uint32_t granularity=1, bool inbetween=true)
 dx::gui::power2 Fills a box<item_t> with the power-of-2 (plus in-between) values valid in [range[0], range[1]] * granularity, and selects the current value.
wxWindow * row (wxWindow *parent, std::vector< std::function< wxWindow *(wxWindow *)> > controls)
 dx::gui::row Lays a handful of controls out on one horizontal line - the wx counterpart of the juce interface's dx::gui::aggregate<component_t...>: a dense row such as "[audio][MIDI] resolution: [32] bit [float] in [4] byte ...", built from factories so every control gets the row panel as its wx parent.
std::function< wxWindow *(wxWindow *)> text_of (const wxString &value)

Function Documentation

◆ commit()

template<typename device_t>
void dx::gui::commit ( device_t & device)

dx::gui::commit Writes device's desc back through its promoted::property (persisting the edit and notifying listeners) - but only for device_t::super types that actually expose a writable desc (hardware-enumerated devices are read-only; user creatable/POD devices are not). A no-op otherwise, matching the juce interface's requires{...device_t.desc...} gate on every field edit.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ power2()

template<typename item_t, typename value_t>
void dx::gui::power2 ( box< item_t > & box,
const value_t & value,
const uint32_t(&) range[2] = {1, 2048},
uint32_t granularity = 1,
bool inbetween = true )

dx::gui::power2 Fills a box<item_t> with the power-of-2 (plus in-between) values valid in [range[0], range[1]] * granularity, and selects the current value.

Here is the caller graph for this function:

◆ row()

wxWindow * dx::gui::row ( wxWindow * parent,
std::vector< std::function< wxWindow *(wxWindow *)> > controls )
inline

dx::gui::row Lays a handful of controls out on one horizontal line - the wx counterpart of the juce interface's dx::gui::aggregate<component_t...>: a dense row such as "[audio][MIDI] resolution: [32] bit [float] in [4] byte ...", built from factories so every control gets the row panel as its wx parent.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ text_of()

std::function< wxWindow *(wxWindow *)> dx::gui::text_of ( const wxString & value)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

(c) copyright 2009 dynamic acoustics e.U. generated on

a closed source license may be obtained by requesting a written permission from dynamic acoustics e.U.
however - governmental use generally and military use especially is strictly prohibited though.