Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Kitware
GitHub Repository: Kitware/CMake
Path: blob/master/Source/CursesDialog/cmCursesPathWidget.h
4998 views
1
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2
file LICENSE.rst or https://cmake.org/licensing for details. */
3
#pragma once
4
5
#include "cmConfigure.h" // IWYU pragma: keep
6
7
#include <string>
8
9
#include "cmCursesStandardIncludes.h"
10
#include "cmCursesStringWidget.h"
11
12
class cmCursesPathWidget : public cmCursesStringWidget
13
{
14
public:
15
cmCursesPathWidget(int width, int height, int left, int top);
16
17
cmCursesPathWidget(cmCursesPathWidget const&) = delete;
18
cmCursesPathWidget& operator=(cmCursesPathWidget const&) = delete;
19
20
/**
21
* This method is called when different keys are pressed. The
22
* subclass can have a special implementation handler for this.
23
*/
24
void OnTab(cmCursesMainForm* fm, WINDOW* w) override;
25
void OnReturn(cmCursesMainForm* fm, WINDOW* w) override;
26
void OnType(int& key, cmCursesMainForm* fm, WINDOW* w) override;
27
28
protected:
29
std::string LastString;
30
std::string LastGlob;
31
bool Cycle;
32
std::string::size_type CurrentIndex;
33
};
34
35