Loading...
Searching...
No Matches
oscr::UiEdits Class Referencefinal

The edits a custom ui makes to its process's controls. More...

Inheritance diagram for oscr::UiEdits:

Detailed Description

The edits a custom ui makes to its process's controls.

Through set, and through the transactions of its custom controls. Each edit applies at once. The edits of one gesture are one undo step: they are pushed together once the gesture is over. A transaction says when that is, from its start to its commit. Otherwise it is the end of the event that made them, or the mouse release while a button is held. An edit of a control already edited in the gesture replaces it. Until they are pushed, the document counts as modified.

Anything else changing the history, a command, an undo or a redo, pushes them first, so that they come before it. So does the deletion of a port they edit.

A ui reacting to a change, in on_control_update, makes no edit: the change may come from execution, or be an undo or a redo, and neither edits the document.

Classes

struct  Reacting
 While one is alive, the ui is reacting to a change and set does nothing. More...
 

Public Member Functions

 UiEdits (const score::DocumentContext &ctx, QObject *parent)
 
void set (Process::ControlInlet &port, ossia::value v)
 
void set (Process::ControlOutlet &port, ossia::value v)
 
void beginGesture ()
 A transaction: its edits are pushed at endGesture, not before.
 
void endGesture ()
 
void rollback ()
 Takes back the pending edits, without an undo step.
 
void commit ()
 Pushes the pending edits as one undo step, if there are any.
 
bool pending () const noexcept
 

The documentation for this class was generated from the following files: