#ifndef CUSTOMFUNCTIONS_H #define CUSTOMFUNCTIONS_H #include "modelpanel.h" #include #include #include #include #include #ifdef PHONON #include #include #include #endif class RepeatComboBox: public QComboBox { Q_OBJECT public: RepeatComboBox(QWidget *parent, int & repeatParam); void update(); signals: void modified(); private slots: void onIndexChanged(int); protected: int & repeatParam; }; class CustomFunctionsPanel : public ModelPanel { Q_OBJECT public: CustomFunctionsPanel(QWidget *parent, ModelData & model, GeneralSettings & generalSettings); ~CustomFunctionsPanel(); virtual void update(); private slots: void customFunctionEdited(); void fsw_customContextMenuRequested(QPoint pos); void refreshCustomFunction(int index, bool modified=false); void playMusic(); void onChildModified(); #ifdef PHONON void mediaPlayer_state(Phonon::State newState, Phonon::State oldState); #endif void fswDelete(); void fswCopy(); void fswPaste(); void fswCut(); private: void populateFuncCB(QComboBox *b, unsigned int value); void populateGVmodeCB(QComboBox *b, unsigned int value); void populateFuncParamCB(QComboBox *b, const ModelData & model, uint function, unsigned int value, unsigned int adjustmode=0); void populateFuncParamArmTCB(QComboBox *b, char * value, QStringList & paramsList); GeneralSettings & generalSettings; QStringList paramarmList; bool phononLock; QComboBox * fswtchSwtch[C9X_MAX_CUSTOM_FUNCTIONS]; QComboBox * fswtchFunc[C9X_MAX_CUSTOM_FUNCTIONS]; QCheckBox * fswtchParamGV[C9X_MAX_CUSTOM_FUNCTIONS]; QDoubleSpinBox * fswtchParam[C9X_MAX_CUSTOM_FUNCTIONS]; QPushButton * playBT[C9X_MAX_CUSTOM_FUNCTIONS]; QComboBox * fswtchParamT[C9X_MAX_CUSTOM_FUNCTIONS]; QComboBox * fswtchParamArmT[C9X_MAX_CUSTOM_FUNCTIONS]; QCheckBox * fswtchEnable[C9X_MAX_CUSTOM_FUNCTIONS]; RepeatComboBox * fswtchRepeat[C9X_MAX_CUSTOM_FUNCTIONS]; QComboBox * fswtchGVmode[C9X_MAX_CUSTOM_FUNCTIONS]; #ifdef PHONON Phonon::MediaObject *clickObject; Phonon::AudioOutput *clickOutput; #endif int selectedFunction; }; #endif // CUSTOMFUNCTIONS_H