/// QasTools: Desktop toolset for the Linux sound system ALSA.
/// \copyright See COPYING file.

#pragma once

#include "views/view_base_setup.hpp"
#include <QString>

namespace Views
{

/// @brief Mixer_HCTL_Setup
///
class Mixer_HCTL_Setup : public Views::View_Base_Setup
{
  public:
  // -- Construction

  Mixer_HCTL_Setup ( Utility::Setup * parent_n );

  ~Mixer_HCTL_Setup () override;

  // -- Splitter state

  const QByteArray &
  splitter_state () const
  {
    return _splitter_state;
  }

  bool
  set_splitter_state ( const QByteArray & state_n );

  // -- Iface name

  const QString &
  iface_name () const
  {
    return _iface_name;
  }

  bool
  set_iface_name ( const QString & name_n );

  // -- Element group name

  const QString &
  elem_grp_name () const
  {
    return _elem_grp_name;
  }

  bool
  set_elem_grp_name ( const QString & name_n );

  // -- Element group index

  unsigned int
  elem_grp_index () const
  {
    return _elem_grp_index;
  }

  bool
  set_elem_grp_index ( unsigned int index_n );

  private:
  // -- Attributes
  QByteArray _splitter_state;
  QString _iface_name;
  QString _elem_grp_name;
  unsigned int _elem_grp_index = 9999;
};

} // namespace Views
