You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

TactileMenu.h 1.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. ///-------------------------------------------------------------------------------------------------
  2. ///
  3. /// \file TactileMenu.h
  4. /// \brief Class for the Menues of the Tactile P300 System
  5. /// \author Tobias Baumann (TH Nuernberg).
  6. /// \version 1.0.
  7. /// \date Mon Feb 10 17:10:32 2022.
  8. /// \copyright <a href="https://choosealicense.com/licenses/agpl-3.0/">GNU Affero General Public License v3.0</a>.
  9. ///
  10. ///-------------------------------------------------------------------------------------------------
  11. //includes
  12. #pragma once
  13. #include "../ovp_defines.h"
  14. #include <gtk/gtk.h>
  15. #include <openvibe/ov_all.h>
  16. #include <toolkit/ovtk_all.h>
  17. namespace OpenViBE {
  18. namespace Plugins {
  19. namespace Tactilebci {
  20. //Class TactileMenu
  21. class TactileMenu
  22. {
  23. private:
  24. char* m_LabelText[6];
  25. TactileMenu* m_SubMenu[6];
  26. void (*m_SubRoutine[6])(void);
  27. GtkLabel* m_Label[6];
  28. GtkBuilder* m_Maininterface;
  29. public:
  30. TactileMenu(char* label0, char* label1, char* label2, char* label3, char* label4, char* label5, GtkBuilder* maininterface);
  31. void call_SubRoutine(int i);
  32. char* get_LabelText(int i);
  33. TactileMenu* get_SubMenu(int i);
  34. void set_SubRoutine(int i, void(*subroutine)(void));
  35. void set_SubMenu(int i, TactileMenu* submenu);
  36. void reloadui(void);
  37. };
  38. //Subroutine declarations
  39. void dummysubroutine(void);
  40. } // namespace Tactilebci
  41. } // namespace Plugins
  42. } // namespace OpenViBE