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.cpp 2.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. ///-------------------------------------------------------------------------------------------------
  2. ///
  3. /// \file TactileMenu.cpp
  4. /// \brief Definitions for class TactileMenu
  5. /// \author Tobias Baumann (TH Nuernberg).
  6. /// \version 1.0.
  7. /// \date Mon Feb 10 17:11:34 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. #include "TactileMenu.h"
  13. #include <string>
  14. namespace OpenViBE {
  15. namespace Plugins {
  16. namespace Tactilebci {
  17. //TactileMenu Memberfunctions
  18. TactileMenu::TactileMenu(char* label0, char* label1, char* label2, char* label3, char* label4, char* label5)
  19. {
  20. m_LabelText[0] = label0;
  21. m_LabelText[1] = label1;
  22. m_LabelText[2] = label2;
  23. m_LabelText[3] = label3;
  24. m_LabelText[4] = label4;
  25. m_LabelText[5] = label5;
  26. m_MainInterface = nullptr;
  27. for(int i = 0; i < 6; i++)
  28. {
  29. m_SubMenu[i] = this;
  30. m_SubRoutine[i] = nullptr;
  31. m_Label[i] = nullptr;
  32. }
  33. }
  34. void TactileMenu::call_SubRoutine(int i)
  35. {
  36. if(m_SubRoutine[i] != nullptr)
  37. {
  38. (*m_SubRoutine[i])();
  39. }
  40. }
  41. char* TactileMenu::get_LabelText(int i)
  42. {
  43. return(m_LabelText[i]);
  44. }
  45. TactileMenu* TactileMenu::get_SubMenu(int i)
  46. {
  47. return(m_SubMenu[i]);
  48. }
  49. void TactileMenu::set_SubRoutine(int i, void(*subroutine)(void))
  50. {
  51. m_SubRoutine[i] = subroutine;
  52. }
  53. void TactileMenu::set_SubMenu(int i, TactileMenu* submenu)
  54. {
  55. m_SubMenu[i] = submenu;
  56. }
  57. void TactileMenu::reloadui(void)
  58. {
  59. for(int i = 0; i < 6; i++)
  60. {
  61. gtk_label_set_text(m_Label[i], m_LabelText[i]);
  62. }
  63. }
  64. void TactileMenu::init_Labels(GtkBuilder* maininterface)
  65. {
  66. m_MainInterface = maininterface;
  67. m_Label[0] = GTK_LABEL(gtk_builder_get_object(maininterface, "label-1"));
  68. m_Label[1] = GTK_LABEL(gtk_builder_get_object(maininterface, "label-2"));
  69. m_Label[2] = GTK_LABEL(gtk_builder_get_object(maininterface, "label-3"));
  70. m_Label[3] = GTK_LABEL(gtk_builder_get_object(maininterface, "label-4"));
  71. m_Label[4] = GTK_LABEL(gtk_builder_get_object(maininterface, "label-5"));
  72. m_Label[5] = GTK_LABEL(gtk_builder_get_object(maininterface, "label-6"));
  73. }
  74. //Subroutine Functions
  75. void dummysubroutine(void)
  76. {
  77. }
  78. } // namespace Tactilebci
  79. } // namespace Plugins
  80. } // namespace OpenViBE