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.

49 lines
1.2KB

  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 rewrite_rule;
  20. std::string title_orig;
  21. std::string title_new;
  22. public:
  23. Fl_Osc_Window(int w, int h, const char *L=0);
  24. ~Fl_Osc_Window(void);
  25. void init(Fl_Osc_Interface *osc_, std::string loc_);
  26. virtual std::string loc(void) const;
  27. virtual void rebase(std::string new_base);
  28. void update();
  29. void update_title();
  30. };
  31. class Fl_Osc_Group:public Fl_Osc_Pane, public Fl_Group
  32. {
  33. public:
  34. Fl_Osc_Group(int x, int y, int w, int h, const char *L=0);
  35. std::string ext;
  36. virtual std::string loc(void) const;
  37. virtual void reext(std::string new_base);
  38. virtual void rebase(std::string new_ext);
  39. };
  40. #endif