Browse Source

Clean up app:: doc comments. Make some class variables internal.

tags/v2.0.0
Andrew Belt 3 years ago
parent
commit
0276fde5ab
10 changed files with 52 additions and 18 deletions
  1. +9
    -3
      include/app/Knob.hpp
  2. +4
    -2
      include/app/ModuleLightWidget.hpp
  3. +3
    -0
      include/app/RackWidget.hpp
  4. +3
    -2
      include/app/Scene.hpp
  5. +0
    -1
      include/app/SvgSwitch.hpp
  6. +2
    -1
      include/app/Switch.hpp
  7. +0
    -1
      src/app/MenuBar.cpp
  8. +17
    -6
      src/app/ModuleLightWidget.cpp
  9. +10
    -0
      src/app/RackWidget.cpp
  10. +4
    -2
      src/app/Scene.cpp

+ 9
- 3
include/app/Knob.hpp View File

@@ -15,15 +15,21 @@ struct Knob : ParamWidget {

/** Drag horizontally instead of vertically. */
bool horizontal = false;
/** Enables per-sample value smoothing while dragging. */
/** Enables per-sample value smoothing while dragging.
Alternatively, use ParamQuantity::smoothEnabled.
*/
bool smooth = true;
/** Enables value snapping to the nearest integer. */
/** Enables value snapping to the nearest integer.
Alternatively, use ParamQuantity::snapEnabled.
*/
bool snap = false;
/** Multiplier for mouse movement to adjust knob value */
float speed = 1.f;
/** Force dragging to linear, e.g. for sliders. */
bool forceLinear = false;
/** Angles in radians. */
/** Angles in radians.
For drawing and handling the global radial knob setting.
*/
float minAngle = -M_PI;
float maxAngle = M_PI;



+ 4
- 2
include/app/ModuleLightWidget.hpp View File

@@ -13,11 +13,13 @@ namespace app {
Will access firstLightId, firstLightId + 1, etc. for each added color
*/
struct ModuleLightWidget : MultiLightWidget {
struct Internal;
Internal* internal;

engine::Module* module = NULL;
int firstLightId = -1;

ui::Tooltip* tooltip = NULL;

ModuleLightWidget();
~ModuleLightWidget();
engine::Light* getLight(int colorId);
engine::LightInfo* getLightInfo();


+ 3
- 0
include/app/RackWidget.hpp View File

@@ -22,6 +22,7 @@ struct RackWidget : widget::OpaqueWidget {
struct Internal;
Internal* internal;

/** DEPRECATED. Use get/setTouchedParam(). */
ParamWidget* touchedParam = NULL;

PRIVATE RackWidget();
@@ -124,6 +125,8 @@ struct RackWidget : widget::OpaqueWidget {
void setNextCableColorId(int id);
/** Returns and advances the next cable color. */
NVGcolor getNextCableColor();
ParamWidget* getTouchedParam();
void setTouchedParam(ParamWidget* pw);
};




+ 3
- 2
include/app/Scene.hpp View File

@@ -19,8 +19,9 @@ struct Scene : widget::OpaqueWidget {
widget::Widget* menuBar;
widget::Widget* browser;

double lastAutosaveTime = 0.0;
/** The last mouse position in the Scene */
/** The last mouse position in the Scene.
DEPRECATED. Use getMousePos() instead.
*/
math::Vec mousePos;

PRIVATE Scene();


+ 0
- 1
include/app/SvgSwitch.hpp View File

@@ -21,7 +21,6 @@ struct SvgSwitch : Switch {
std::vector<std::shared_ptr<window::Svg>> frames;

/** Use frames 0 and 1 when the mouse is pressed and released, instead of using the param value as the frame index.
TODO change name
*/
bool latch = false;



+ 2
- 1
include/app/Switch.hpp View File

@@ -16,7 +16,8 @@ struct Switch : ParamWidget {
struct Internal;
Internal* internal;

/** Return to original position when released */
/** Instead of incrementing values on each click, sets maxValue on press and minValue on release.
*/
bool momentary = false;

Switch();


+ 0
- 1
src/app/MenuBar.cpp View File

@@ -12,7 +12,6 @@
#include <ui/SequentialLayout.hpp>
#include <ui/Slider.hpp>
#include <ui/TextField.hpp>
#include <ui/PasswordField.hpp>
#include <ui/ProgressBar.hpp>
#include <ui/Label.hpp>
#include <engine/Engine.hpp>


+ 17
- 6
src/app/ModuleLightWidget.cpp View File

@@ -8,6 +8,11 @@ namespace rack {
namespace app {


struct ModuleLightWidget::Internal {
ui::Tooltip* tooltip = NULL;
};


struct LightTooltip : ui::Tooltip {
ModuleLightWidget* lightWidget;

@@ -46,8 +51,14 @@ struct LightTooltip : ui::Tooltip {
};


ModuleLightWidget::ModuleLightWidget() {
internal = new Internal;
}


ModuleLightWidget::~ModuleLightWidget() {
destroyTooltip();
delete internal;
}


@@ -72,7 +83,7 @@ engine::LightInfo* ModuleLightWidget::getLightInfo() {
void ModuleLightWidget::createTooltip() {
if (!settings::tooltips)
return;
if (this->tooltip)
if (internal->tooltip)
return;
// If the LightInfo is null, don't show a tooltip
if (!getLightInfo())
@@ -80,16 +91,16 @@ void ModuleLightWidget::createTooltip() {
LightTooltip* tooltip = new LightTooltip;
tooltip->lightWidget = this;
APP->scene->addChild(tooltip);
this->tooltip = tooltip;
internal->tooltip = tooltip;
}


void ModuleLightWidget::destroyTooltip() {
if (!tooltip)
if (!internal->tooltip)
return;
APP->scene->removeChild(tooltip);
delete tooltip;
tooltip = NULL;
APP->scene->removeChild(internal->tooltip);
delete internal->tooltip;
internal->tooltip = NULL;
}




+ 10
- 0
src/app/RackWidget.cpp View File

@@ -1422,5 +1422,15 @@ NVGcolor RackWidget::getNextCableColor() {
}


ParamWidget* RackWidget::getTouchedParam() {
return touchedParam;
}


void RackWidget::setTouchedParam(ParamWidget* pw) {
touchedParam = pw;
}


} // namespace app
} // namespace rack

+ 4
- 2
src/app/Scene.cpp View File

@@ -46,6 +46,8 @@ struct ResizeHandle : widget::OpaqueWidget {
struct Scene::Internal {
ResizeHandle* resizeHandle;

double lastAutosaveTime = 0.0;

bool heldArrowKeys[4] = {};
};

@@ -106,8 +108,8 @@ void Scene::step() {
// Autosave periodically
if (settings::autosaveInterval > 0.0) {
double time = system::getTime();
if (time - lastAutosaveTime >= settings::autosaveInterval) {
lastAutosaveTime = time;
if (time - internal->lastAutosaveTime >= settings::autosaveInterval) {
internal->lastAutosaveTime = time;
APP->patch->saveAutosave();
settings::save();
}


Loading…
Cancel
Save