]>
Commit | Line | Data |
---|---|---|
23324ae1 FM |
1 | ///////////////////////////////////////////////////////////////////////////// |
2 | // Name: caret.h | |
e54c96f1 | 3 | // Purpose: interface of wxCaret |
23324ae1 FM |
4 | // Author: wxWidgets team |
5 | // RCS-ID: $Id$ | |
6 | // Licence: wxWindows license | |
7 | ///////////////////////////////////////////////////////////////////////////// | |
8 | ||
9 | /** | |
10 | @class wxCaret | |
11 | @wxheader{caret.h} | |
7c913512 | 12 | |
23324ae1 FM |
13 | A caret is a blinking cursor showing the position where the typed text will |
14 | appear. The text controls usually have a caret but wxCaret class also allows | |
15 | to use a caret in other windows. | |
7c913512 | 16 | |
23324ae1 FM |
17 | Currently, the caret appears as a rectangle of the given size. In the future, |
18 | it will be possible to specify a bitmap to be used for the caret shape. | |
7c913512 | 19 | |
23324ae1 FM |
20 | A caret is always associated with a window and the current caret can be |
21 | retrieved using wxWindow::GetCaret. The same caret | |
22 | can't be reused in two different windows. | |
7c913512 | 23 | |
23324ae1 FM |
24 | @library{wxcore} |
25 | @category{misc} | |
7c913512 | 26 | |
e54c96f1 | 27 | @see wxCaret::GetBlinkTime |
23324ae1 | 28 | */ |
7c913512 | 29 | class wxCaret |
23324ae1 FM |
30 | { |
31 | public: | |
32 | //@{ | |
33 | /** | |
34 | Create the caret of given (in pixels) width and height and associates it | |
35 | with the given window. | |
36 | */ | |
37 | wxCaret(); | |
7c913512 FM |
38 | wxCaret(wxWindow* window, int width, int height); |
39 | wxCaret(wxWindowBase* window, const wxSize& size); | |
23324ae1 FM |
40 | //@} |
41 | ||
42 | //@{ | |
43 | /** | |
44 | Create the caret of given (in pixels) width and height and associates it | |
45 | with the given window (same as constructor). | |
46 | */ | |
47 | bool Create(wxWindowBase* window, int width, int height); | |
7c913512 | 48 | bool Create(wxWindowBase* window, const wxSize& size); |
23324ae1 FM |
49 | //@} |
50 | ||
51 | /** | |
52 | Returns the blink time which is measured in milliseconds and is the time elapsed | |
53 | between 2 inversions of the caret (blink time of the caret is the same | |
54 | for all carets, so this functions is static). | |
55 | */ | |
56 | static int GetBlinkTime(); | |
57 | ||
58 | //@{ | |
59 | /** | |
60 | Get the caret position (in pixels). | |
61 | ||
23324ae1 FM |
62 | @b GetPosition() |
63 | ||
23324ae1 FM |
64 | Returns a Wx::Point |
65 | ||
66 | @b GetPositionXY() | |
67 | ||
23324ae1 FM |
68 | Returns a 2-element list |
69 | @c ( x, y ) | |
70 | */ | |
328f5751 FM |
71 | void GetPosition(int* x, int* y) const; |
72 | const wxPoint GetPosition() const; | |
23324ae1 FM |
73 | //@} |
74 | ||
75 | //@{ | |
76 | /** | |
77 | Get the caret size. | |
78 | ||
23324ae1 FM |
79 | @b GetSize() |
80 | ||
23324ae1 FM |
81 | Returns a Wx::Size |
82 | ||
83 | @b GetSizeWH() | |
84 | ||
23324ae1 FM |
85 | Returns a 2-element list |
86 | @c ( width, height ) | |
87 | */ | |
328f5751 FM |
88 | void GetSize(int* width, int* height) const; |
89 | const wxSize GetSize() const; | |
23324ae1 FM |
90 | //@} |
91 | ||
92 | /** | |
93 | Get the window the caret is associated with. | |
94 | */ | |
328f5751 | 95 | wxWindow* GetWindow() const; |
23324ae1 FM |
96 | |
97 | /** | |
98 | Same as wxCaret::Show(@false). | |
99 | */ | |
100 | void Hide(); | |
101 | ||
102 | /** | |
103 | Returns @true if the caret was created successfully. | |
104 | */ | |
328f5751 | 105 | bool IsOk() const; |
23324ae1 FM |
106 | |
107 | /** | |
108 | Returns @true if the caret is visible and @false if it is permanently | |
109 | hidden (if it is is blinking and not shown currently but will be after the | |
110 | next blink, this method still returns @true). | |
111 | */ | |
328f5751 | 112 | bool IsVisible() const; |
23324ae1 FM |
113 | |
114 | //@{ | |
115 | /** | |
116 | Move the caret to given position (in logical coordinates). | |
117 | */ | |
118 | void Move(int x, int y); | |
7c913512 | 119 | void Move(const wxPoint& pt); |
23324ae1 FM |
120 | //@} |
121 | ||
122 | /** | |
123 | Sets the blink time for all the carets. | |
124 | ||
125 | @remarks Under Windows, this function will change the blink time for all | |
4cc4bfaf FM |
126 | carets permanently (until the next time it is called), |
127 | even for the carets in other applications. | |
23324ae1 | 128 | |
4cc4bfaf | 129 | @see GetBlinkTime() |
23324ae1 FM |
130 | */ |
131 | static void SetBlinkTime(int milliseconds); | |
132 | ||
133 | //@{ | |
134 | /** | |
135 | Changes the size of the caret. | |
136 | */ | |
137 | void SetSize(int width, int height); | |
7c913512 | 138 | void SetSize(const wxSize& size); |
23324ae1 FM |
139 | //@} |
140 | ||
141 | /** | |
142 | Shows or hides the caret. Notice that if the caret was hidden N times, it | |
143 | must be shown N times as well to reappear on the screen. | |
144 | */ | |
4cc4bfaf | 145 | void Show(bool show = true); |
23324ae1 | 146 | }; |
e54c96f1 | 147 |