cmCursesPathWidget.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*=========================================================================
  2. Program: CMake - Cross-Platform Makefile Generator
  3. Module: $RCSfile$
  4. Language: C++
  5. Date: $Date$
  6. Version: $Revision$
  7. Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
  8. See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
  9. This software is distributed WITHOUT ANY WARRANTY; without even
  10. the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  11. PURPOSE. See the above copyright notices for more information.
  12. =========================================================================*/
  13. #ifndef __cmCursesPathWidget_h
  14. #define __cmCursesPathWidget_h
  15. #include "cmCursesStringWidget.h"
  16. class cmCursesPathWidget : public cmCursesStringWidget
  17. {
  18. public:
  19. cmCursesPathWidget(int width, int height, int left, int top);
  20. /**
  21. * This method is called when different keys are pressed. The
  22. * subclass can have a special implementation handler for this.
  23. */
  24. virtual void OnTab(cmCursesMainForm* fm, WINDOW* w);
  25. virtual void OnReturn(cmCursesMainForm* fm, WINDOW* w);
  26. virtual void OnType(int& key, cmCursesMainForm* fm, WINDOW* w);
  27. protected:
  28. cmCursesPathWidget(const cmCursesPathWidget& from);
  29. void operator=(const cmCursesPathWidget&);
  30. std::string LastString;
  31. std::string LastGlob;
  32. bool Cycle;
  33. std::string::size_type CurrentIndex;
  34. };
  35. #endif // __cmCursesPathWidget_h