dxd - dynax driver framework 3.0.1d223
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
 a row of buttons laid out left to right, each sized to its text, with one listener for all of them More...
class  dx::gui::box< item_t >
 a drop down whose items are either ids or their text, depending on what the edited value is More...
class  dx::gui::button
 a button, toggling where a listener is given More...
class  dx::gui::checkbox
 a check box for one boolean of the desc More...
class  dx::gui::file
 the given vendor/product-relative path, in the platform's standard app data location More...
class  dx::gui::image
 an image from a file or a resource, scaled into its place More...
class  dx::gui::item< component_t >
 one line of the device tree: its widget is created when the line becomes visible and dropped with it More...
class  dx::gui::label
 a text field, editable where a listener is given More...
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 interface namespace
namespace  dx::gui
 the control panel's widgets over JUCE: each one takes the value it edits and a listener, writes the device's desc back on a change and follows the desc when something else changes it - so a panel is composed of these, never of event handling of its own

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.