radiobox.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef __RTGUI_RADIOBOX_H__
  2. #define __RTGUI_RADIOBOX_H__
  3. #include <rtgui/rtgui.h>
  4. #include <rtgui/widgets/widget.h>
  5. DECLARE_CLASS_TYPE(radiobox);
  6. /** Gets the type of a radiobox */
  7. #define RTGUI_RADIOBOX_TYPE (RTGUI_TYPE(radiobox))
  8. /** Casts the object to an rtgui_radiobox */
  9. #define RTGUI_RADIOBOX(obj) (RTGUI_OBJECT_CAST((obj), RTGUI_RADIOBOX_TYPE, rtgui_radiobox_t))
  10. /** Checks if the object is an rtgui_radiobox */
  11. #define RTGUI_IS_RADIOBOX(obj) (RTGUI_OBJECT_CHECK_TYPE((obj), RTGUI_RADIOBOX_TYPE))
  12. struct rtgui_radiobox
  13. {
  14. struct rtgui_widget parent;
  15. /* widget private data */
  16. char* text; /* radio box label */
  17. /* box orient */
  18. rt_uint8_t orient;
  19. /* item size */
  20. rt_uint8_t item_size;
  21. char** items;
  22. rt_uint16_t item_count;
  23. rt_int16_t item_selection;
  24. };
  25. typedef struct rtgui_radiobox rtgui_radiobox_t;
  26. struct rtgui_radiobox* rtgui_radiobox_create(const char* label, int orient, char** radio_items, int number);
  27. void rtgui_radiobox_destroy(struct rtgui_radiobox* radiobox);
  28. void rtgui_radiobox_set_selection(struct rtgui_radiobox* radiobox, int selection);
  29. int rtgui_radiobox_get_selection(struct rtgui_radiobox* radiobox);
  30. rt_bool_t rtgui_radiobox_event_handler(struct rtgui_object* object, struct rtgui_event* event);
  31. void rtgui_radiobox_set_orientation(struct rtgui_radiobox* radiobox, int orientation);
  32. #endif