/* MSHV Mode Switcher Buttons
 * Copyright 2022 Hrisimir Hristov, LZ2HV
 * (Edited by Harper Innes, VK1TTY - to remove Gendered Language and Replace with Non-Gendered language)  NOTE:May be used under the terms of the GNU General Public License (GPL)
 */
#ifndef HVMODBTSW_H
#define HVMODBTSW_H

#include <QDialog>
#include <QCheckBox>
#include <QVBoxLayout>
#include <QGroupBox>

class CbModeSw : public QCheckBox
{
    Q_OBJECT
public:
    CbModeSw(int id,QString s,QWidget * parent = 0);
    virtual ~CbModeSw();

signals:
    void cbclicked(int,bool);

private slots:
    void sclicked(bool);

private:
    int sid;

};
class HvDialogModBtSw : public QDialog
{
    Q_OBJECT
public:
    HvDialogModBtSw(QWidget * parent);
    virtual ~HvDialogModBtSw();
    void SetDsettings(int,bool);

signals:
    void clicked(int,bool);

public slots:

private:
    QVBoxLayout *LV;
    int sid;
    CbModeSw *cb220;

};

#include <QPushButton>
#include <QFont>
class HvButton_ID : public QPushButton
{
    Q_OBJECT
public:
    HvButton_ID(int id, QString,QWidget * parent = 0);
    virtual ~HvButton_ID();
    int sid;

private:

signals:
    void btclicked(int);

public slots:
    void sclicked();

};

class HvWModBtSw : public QWidget
{
    Q_OBJECT
public:
    HvWModBtSw(QWidget * dp,QWidget * parent = 0);
    virtual ~HvWModBtSw();
    void SetSettings(QString);
    QString GetSettings();
    void SetFont(QFont);
    //void SetDefault();

signals:
    void clicked(int);

public slots:
    void SetHidden(int,bool);
    void dexec();

private:
    QHBoxLayout *H_bt_mode;
    HvDialogModBtSw *D_mode_bt_sw;

};
#endif