Audio plugin host https://kx.studio/carla
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.

47 lines
1.1KB

  1. #ifndef FL_OSC_PANE_H
  2. #define FL_OSC_PANE_H
  3. #include <FL/Fl_Group.H>
  4. #include <FL/Fl_Double_Window.H>
  5. #include <string>
  6. #include "Osc_DataModel.h"
  7. class Fl_Osc_Pane
  8. {
  9. public:
  10. Fl_Osc_Pane(void);
  11. class Fl_Osc_Interface *osc;
  12. std::string base;
  13. virtual std::string loc(void) const = 0;
  14. virtual void rebase(std::string new_base) = 0;
  15. };
  16. class Fl_Osc_Window:public Fl_Double_Window, public Fl_Osc_Pane
  17. {
  18. Osc_DataModel *title_ext;
  19. std::string title_orig;
  20. std::string title_new;
  21. public:
  22. Fl_Osc_Window(int w, int h, const char *L=0);
  23. ~Fl_Osc_Window(void);
  24. void init(Fl_Osc_Interface *osc_, std::string loc_);
  25. virtual std::string loc(void) const;
  26. virtual void rebase(std::string new_base);
  27. void update();
  28. };
  29. class Fl_Osc_Group:public Fl_Osc_Pane, public Fl_Group
  30. {
  31. public:
  32. Fl_Osc_Group(int x, int y, int w, int h, const char *L=0);
  33. std::string ext;
  34. virtual std::string loc(void) const;
  35. virtual void reext(std::string new_base);
  36. virtual void rebase(std::string new_ext);
  37. };
  38. #endif