dxd - dynax driver framework 3.0.1d223
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx_gui_model.h File Reference
#include "dx_common.h"
#include "dx_log.h"
#include "dx_stream.h"
#include "dx_stream_group.h"
#include "dx_sync.h"
#include <functional>
#include <map>
#include <memory>
#include <string>
#include <type_traits>
#include <vector>
Include dependency graph for dx_gui_model.h:
This graph shows which files directly or indirectly include this file:

Classes

class  dx::gui::changed
 a change without a promoted of its own, told to the refreshes keyed: an outline's edits More...
struct  dx::gui::control
 one control of an outline row: what it shows and, where it may change something, how - a toolkit renders it, nothing else More...
class  dx::gui::describe
 the outline of a struct that names its members (dx_serialize.h: visit): a line per member, as its kind says - a power of two, a bitmap of named bits, a choice among the options its struct allows as it stands -, a nested struct a branch of its own or, where all its members are switches, one line of toggles; an array a branch whose count is chosen, its elements beneath it. Every edit commits and tells changed, so every control asks its value and its options anew: what one member allows follows another. extend() adds a caller's lines to an array's element. More...
class  dx::gui::model< device_t >
 a device's outline: its line with icon and name, its identity, its desc (dx::gui::describe) - the clock's rate, source and sync reference and a stream's source among its lines -, its I/O size, its transport and its clients More...
struct  dx::gui::node
 one line of the outline: its controls and the lines beneath it, those refilled as watch tells 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

Typedefs

typedef std::function< void(void *, std::function< void()> &&)> dx::gui::watch_t
 registers a refresh keyed, an empty refresh removing it

Functions

control dx::gui::caption (std::string text)
template<typename promoted_t>
control dx::gui::of (enum control::kind kind, promoted_t &promoted, bool editable, std::function< stream::named()> &&items={})
 a promoted's value as a number, a check box or a choice among items, changing it where editable
stream::named dx::gui::power2 (unsigned min, unsigned max)
 the powers of two from min to max and the half-way values between them, min and max among them
template<typename promoted_t>
watch_t dx::gui::watch (promoted_t &promoted)
 a promoted's changes told to the refreshes keyed
watch_t dx::gui::watch (watch_t first, watch_t second)
 both watches told

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