summaryrefslogtreecommitdiffstats
path: root/src/widget/weffectselector.h
blob: 2b7fb5a71e7baf57afd4f5f4828db1b4fbd1036b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#pragma once

#include <QDomNode>
#include <QComboBox>
#include "effects/effectrack.h"
#include "effects/effectslot.h"
#include "skin/legacy/skincontext.h"

class EffectsManager;

class WEffectSelector : public QComboBox, public WBaseWidget {
    Q_OBJECT
  public:
    WEffectSelector(QWidget* pParent, EffectsManager* pEffectsManager);

    void setup(const QDomNode& node, const SkinContext& context);

  protected:
    bool event(QEvent* pEvent) override;

  private slots:
    void slotEffectUpdated();
    void slotEffectSelected(int newIndex);
    void populate();

  private:
    EffectsManager* m_pEffectsManager;
    EffectSlotPointer m_pEffectSlot;
    EffectChainSlotPointer m_pChainSlot;
    EffectRackPointer m_pRack;
    double m_scaleFactor;
};