FLTKPropertyItemRow.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #ifndef FLTKPropertyItemRow_h
  2. #define FLTKPropertyItemRow_h
  3. #include "FLTKPropertyList.h"
  4. #include <FL/Fl_Tile.H>
  5. #include <FL/Fl_Input.H>
  6. #include <FL/Fl_Button.H>
  7. class CMakeSetupGUIImplementation;
  8. namespace fltk {
  9. /**
  10. Class to manage a GUI row corresponding to a property
  11. */
  12. class PropertyItemRow : public Fl_Tile
  13. {
  14. // Helper class for passing data to callbacks
  15. struct ItemValue
  16. {
  17. PropertyItem * m_PropertyItem;
  18. Fl_Input * m_InputText;
  19. };
  20. public:
  21. PropertyItemRow( PropertyItem *);
  22. ~PropertyItemRow();
  23. private:
  24. PropertyItem * m_PropertyItem;
  25. ItemValue * m_ItemValue;
  26. Fl_Button * m_NameButton;
  27. static CMakeSetupGUIImplementation * m_CMakeSetup;
  28. static void CheckButtonCallback( Fl_Widget *, void *);
  29. static void NameButtonCallback( Fl_Widget *, void *);
  30. static void InputTextCallback( Fl_Widget *, void *);
  31. static void BrowsePathCallback( Fl_Widget *, void *);
  32. static void ColorSelectionCallback( Fl_Widget * widget, void * data);
  33. public:
  34. static void SetCMakeSetupGUI( CMakeSetupGUIImplementation * );
  35. static void SaveCacheFromGUI( void );
  36. };
  37. } // end namespace fltk
  38. #endif