#pragma once

#include <dBus/dBus.h>
#include <wx/wx.h>

namespace gui
{
//--------------------------------------------------------------
class RequirementListPanel : public wxPanel
{
  public:
  RequirementListPanel()                                        = delete;      // Default constructor
  virtual ~RequirementListPanel()                               = default;     // Default destructor
  RequirementListPanel(const RequirementListPanel &obj)                = delete;      // Copy constructor
  RequirementListPanel(RequirementListPanel &&obj) noexcept            = delete;      // Move constructor
  RequirementListPanel &operator=(const RequirementListPanel &obj)     = delete;      // Copy assignment operator
  RequirementListPanel &operator=(RequirementListPanel &&obj) noexcept = delete;      // Move assignment operator

  explicit RequirementListPanel(wxWindow *parentWindow, dBus::Bus &bus);     // Constructor

  protected:
  dBus::Bus &m_bus;     // Reference to the application bus

  private:
  void createControls();     // Creating controls
};
//--------------------------------------------------------------
}     // namespace gui
