light_on_list.hpp 866 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #ifndef LIGHT_ON_LIST_HPP_INCLUDED
  2. #define LIGHT_ON_LIST_HPP_INCLUDED
  3. #include <gtkmm/box.h>
  4. #include <gtkmm/label.h>
  5. #include <gtkmm/frame.h>
  6. #include <gtkmm/button.h>
  7. #include <gtkmm/orientable.h>
  8. #include <string>
  9. #include <functional>
  10. #include "light.hpp"
  11. namespace cx_light {
  12. class light_on_list: public Gtk::Frame {
  13. public:
  14. light_on_list(light);
  15. ~light_on_list() override;
  16. static int width();
  17. static int height();
  18. void set_show_callback(std::function<void(light *)>);
  19. void set_edit_callback(std::function<void(light *)>);
  20. private:
  21. light *target;
  22. Gtk::Box *center;
  23. Gtk::Label *title;
  24. Gtk::Button *show;
  25. Gtk::Button *edit;
  26. std::function<void(light *)> show_callback;
  27. std::function<void(light *)> edit_callback;
  28. };
  29. }
  30. #endif