#ifndef ITRACKBALLITEM_H #define ITRACKBALLITEM_H #include #include "model/csm/type/EConsole.h" #include "model/csm/dto/ItemValue.h" #include "model/csm/dto/CommandControl.h" /*****************************************************************************/ /** * @brief trackball item class. this class is the father of mice button, hid button and center ball. * @author Mohammad Mohsen Talaie * @details * @date 12 jan 2021 */ /*****************************************************************************/ class TrackballItem { protected: EConsole::eTrackballItemType _type; QMap > _commandContainer; QMap > _configContainer; QString _name; public: TrackballItem(const EConsole::eTrackballItemType& type, const QString& name); ~TrackballItem() { } EConsole::eTrackballItemType getType(); void appendCommandContainer(const EConsole::eTrackballState& trackballState, const QList& commandList); void appendConfigContainer(const EConsole::eTrackballState& trackballState, const QList& configList); void appendConfigContainer(const EConsole::eTrackballState& trackballState, const ItemValue_t& config); void appendCommandContainer(const QString& trackballStateName, const CommandControl_t& command); QString getName()const; QList getCommand(const EConsole::eTrackballState& state)const; QList getConfig(const EConsole::eTrackballState& state)const; }; #endif //ITRACKBALLITEM_H