/*============================================================================ CMake - Cross Platform Makefile Generator Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef cmCursesPathWidget_h #define cmCursesPathWidget_h #include #include "cmCursesStandardIncludes.h" #include "cmCursesStringWidget.h" #include class cmCursesMainForm; class cmCursesPathWidget : public cmCursesStringWidget { public: cmCursesPathWidget(int width, int height, int left, int top); /** * This method is called when different keys are pressed. The * subclass can have a special implementation handler for this. */ void OnTab(cmCursesMainForm* fm, WINDOW* w) CM_OVERRIDE; void OnReturn(cmCursesMainForm* fm, WINDOW* w) CM_OVERRIDE; void OnType(int& key, cmCursesMainForm* fm, WINDOW* w) CM_OVERRIDE; protected: cmCursesPathWidget(const cmCursesPathWidget& from); void operator=(const cmCursesPathWidget&); std::string LastString; std::string LastGlob; bool Cycle; std::string::size_type CurrentIndex; }; #endif // cmCursesPathWidget_h