dxd - dynax driver framework 2.6.0d221
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx_gui.h File Reference
#include <dx_stream.h>
#include <wx/wx.h>
#include <wx/tglbtn.h>
#include <wx/statline.h>
#include <algorithm>
#include <vector>
Include dependency graph for wxwidgets/dx_gui.h:
This graph shows which files directly or indirectly include this file:

Classes

class  dx::gui::bar
 dx::gui::bar A row of independently toggling buttons, reporting (id, state) on change. More...
class  dx::gui::box< item_t >
 dx::gui::box A read-only dropdown of (label, value) pairs, reporting the selected value. More...
class  dx::gui::button
class  dx::gui::checkbox
class  dx::gui::file
 the given vendor/product-relative path, in the platform's standard app data location More...
class  dx::gui::image
class  dx::gui::item< component_t >
 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  dx::gui::label
class  dx::gui::text
 dx::gui::text An editable single line text field, committing on Enter or on losing focus. More...

Namespaces

namespace  dx
 dynax driver framework user mode interface namespace
namespace  dx::gui

Functions

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.
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.
wxWindow * dx::gui::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 *)> dx::gui::text_of (const wxString &value)

(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.