Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
MFXTextFieldIcon.h
Go to the documentation of this file.
1/****************************************************************************/
2// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3// Copyright (C) 2006-2025 German Aerospace Center (DLR) and others.
4// This program and the accompanying materials are made available under the
5// terms of the Eclipse Public License 2.0 which is available at
6// https://www.eclipse.org/legal/epl-2.0/
7// This Source Code may also be made available under the following Secondary
8// Licenses when the conditions for such availability set forth in the Eclipse
9// Public License 2.0 are satisfied: GNU General Public License, version 2
10// or later which is available at
11// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13/****************************************************************************/
18//
19/****************************************************************************/
20#pragma once
21#include <config.h>
22
23#include "fxheader.h"
24
26
27// ===========================================================================
28// class declaration
29// ===========================================================================
30
32
33// ===========================================================================
34// class definitions
35// ===========================================================================
36
37class MFXTextFieldIcon : public FXFrame {
39 FXDECLARE(MFXTextFieldIcon)
40
41public:
43 MFXTextFieldIcon(FXComposite* p, MFXStaticToolTip* staticToolTip, GUIIcon icon, FXObject* tgt,
44 FXSelector sel, FXuint opts, FXint x = 0, FXint y = 0, FXint w = 0, FXint h = 0,
45 FXint pl = DEFAULT_PAD, FXint pr = DEFAULT_PAD, FXint pt = DEFAULT_PAD, FXint pb = DEFAULT_PAD);
46
48 virtual ~MFXTextFieldIcon();
49
51 virtual void create();
52
54 virtual void layout();
55
57 virtual void enable();
58
60 virtual void disable();
61
63 virtual FXint getDefaultWidth();
64
66 virtual FXint getDefaultHeight();
67
69 virtual bool canFocus() const;
70
72 virtual void setFocus();
73
75 virtual void killFocus();
76
78 void setEditable(FXbool edit = TRUE);
79
81 FXbool isEditable() const;
82
84 void setOverstrike(FXbool over = TRUE);
85
87 FXbool isOverstrike() const;
88
90 void setCursorPos(FXint pos);
91
93 FXint getCursorPos() const;
94
96 void setAnchorPos(FXint pos);
97
99 FXint getAnchorPos() const;
100
102 void setText(const FXString& text, FXbool notify = FALSE);
103
105 void setIcon(FXIcon* ic);
106
108 FXString getText() const;
109
111 void setFont(FXFont* fnt);
112
114 FXFont* getFont() const;
115
117 void setTextColor(FXColor clr);
118
120 FXColor getTextColor() const;
121
123 void setSelBackColor(FXColor clr);
124
126 FXColor getSelBackColor() const {
128 }
129
131 void setSelTextColor(FXColor clr);
132
134 FXColor getSelTextColor() const;
135
137 void setCursorColor(FXColor clr);
138
140 FXColor getCursorColor() const;
141
143 void setNumColumns(FXint cols);
144
146 FXint getNumColumns() const;
147
149 void setJustify(FXuint mode);
150
152 FXuint getJustify() const;
153
155 void setDelimiters(const FXchar* delims = FXTextField::textDelimiters);
156
158 const FXchar* getDelimiters() const;
159
161 void setHelpText(const FXString& text);
162
164 const FXString& getHelpText() const;
165
167 void setTipText(const FXString& text);
168
170 const FXString& getTipText() const;
171
173 void setTextStyle(FXuint style);
174
176 FXuint getTextStyle() const;
177
179 FXbool selectAll();
180
182 FXbool setSelection(FXint pos, FXint len);
183
185 FXbool extendSelection(FXint pos);
186
188 FXbool killSelection();
189
191 FXbool isPosSelected(FXint pos) const;
192
194 FXbool isPosVisible(FXint pos) const;
195
197 void makePositionVisible(FXint pos);
198
200 void setToolTipText(const FXString& toolTip);
201
204
205 long onEnter(FXObject*, FXSelector, void*);
206 long onLeave(FXObject*, FXSelector, void*);
207 long onPaint(FXObject*, FXSelector, void*);
208 long onUpdate(FXObject*, FXSelector, void*);
209 long onKeyPress(FXObject*, FXSelector, void*);
210 long onKeyRelease(FXObject*, FXSelector, void*);
211 long onLeftBtnPress(FXObject*, FXSelector, void*);
212 long onLeftBtnRelease(FXObject*, FXSelector, void*);
213 long onMiddleBtnPress(FXObject*, FXSelector, void*);
214 long onMiddleBtnRelease(FXObject*, FXSelector, void*);
215 long onVerify(FXObject*, FXSelector, void*);
216 long onMotion(FXObject*, FXSelector, void*);
217 long onSelectionLost(FXObject*, FXSelector, void*);
218 long onSelectionGained(FXObject*, FXSelector, void*);
219 long onSelectionRequest(FXObject*, FXSelector, void* ptr);
220 long onClipboardLost(FXObject*, FXSelector, void*);
221 long onClipboardGained(FXObject*, FXSelector, void*);
222 long onClipboardRequest(FXObject*, FXSelector, void*);
223 long onFocusSelf(FXObject*, FXSelector, void*);
224 long onFocusIn(FXObject*, FXSelector, void*);
225 long onFocusOut(FXObject*, FXSelector, void*);
226 long onBlink(FXObject*, FXSelector, void*);
227 long onAutoScroll(FXObject*, FXSelector, void*);
228 long onCmdSetValue(FXObject*, FXSelector, void*);
229 long onCmdSetIntValue(FXObject*, FXSelector, void*);
230 long onCmdSetRealValue(FXObject*, FXSelector, void*);
231 long onCmdSetStringValue(FXObject*, FXSelector, void*);
232 long onCmdGetIntValue(FXObject*, FXSelector, void*);
233 long onCmdGetRealValue(FXObject*, FXSelector, void*);
234 long onCmdGetStringValue(FXObject*, FXSelector, void*);
235 long onCmdCursorHome(FXObject*, FXSelector, void*);
236 long onCmdCursorEnd(FXObject*, FXSelector, void*);
237 long onCmdCursorRight(FXObject*, FXSelector, void*);
238 long onCmdCursorLeft(FXObject*, FXSelector, void*);
239 long onCmdCursorWordLeft(FXObject*, FXSelector, void*);
240 long onCmdCursorWordRight(FXObject*, FXSelector, void*);
241 long onCmdCursorWordStart(FXObject*, FXSelector, void*);
242 long onCmdCursorWordEnd(FXObject*, FXSelector, void*);
243 long onCmdMark(FXObject*, FXSelector, void*);
244 long onCmdExtend(FXObject*, FXSelector, void*);
245 long onCmdSelectAll(FXObject*, FXSelector, void*);
246 long onCmdDeselectAll(FXObject*, FXSelector, void*);
247 long onCmdCutSel(FXObject*, FXSelector, void*);
248 long onCmdCopySel(FXObject*, FXSelector, void*);
249 long onCmdPasteSel(FXObject*, FXSelector, void*);
250 long onCmdPasteMiddle(FXObject*, FXSelector, void*);
251 long onCmdDeleteSel(FXObject*, FXSelector, void*);
252 long onCmdDeleteAll(FXObject*, FXSelector, void*);
253 long onCmdOverstString(FXObject*, FXSelector, void*);
254 long onCmdInsertString(FXObject*, FXSelector, void*);
255 long onCmdBackspace(FXObject*, FXSelector, void*);
256 long onCmdDelete(FXObject*, FXSelector, void*);
257 long onCmdToggleEditable(FXObject*, FXSelector, void*);
258 long onUpdToggleEditable(FXObject*, FXSelector, void*);
259 long onCmdToggleOverstrike(FXObject*, FXSelector, void*);
260 long onUpdToggleOverstrike(FXObject*, FXSelector, void*);
261 long onUpdHaveSelection(FXObject*, FXSelector, void*);
262 long onUpdSelectAll(FXObject*, FXSelector, void*);
263 long onCmdSetHelp(FXObject*, FXSelector, void*);
264 long onCmdGetHelp(FXObject*, FXSelector, void*);
265 long onCmdSetTip(FXObject*, FXSelector, void*);
266 long onCmdGetTip(FXObject*, FXSelector, void*);
267 long onQueryHelp(FXObject*, FXSelector, void*);
268 long onQueryTip(FXObject*, FXSelector, void*);
269
271
272protected:
274 FXString contents;
275
277 const FXchar* myTextDelimiter = FXTextField::textDelimiters;
278
280 FXFont* myFont;
281
283 FXColor myTextColor = 0;
284
287
290
292 FXColor myCursorColor = 0;
293
296
299
302
304 FXint myShiftAmount = 0;
305
308
310 FXString myHelpText;
311
314
316 FXIcon* myIcon = nullptr;
317
320
323
326
328 FXint index(FXint x) const;
329
331 FXint coord(FXint i) const;
332
334 void drawCursor(FXuint state);
335
337 void drawTextRange(FXDCWindow& dc, FXint fm, FXint to);
338
340 void drawTextFragment(FXDCWindow& dc, FXint x, FXint y, FXint fm, FXint to);
341
343 void drawPWDTextFragment(FXDCWindow& dc, FXint x, FXint y, FXint fm, FXint to);
344
346 FXint rightWord(FXint pos) const;
347
349 FXint leftWord(FXint pos) const;
350
352 FXint wordStart(FXint pos) const;
353
355 FXint wordEnd(FXint pos) const;
356
357private:
360
363};
GUIIcon
An enumeration of icons used by the gui applications.
Definition GUIIcons.h:33
MFXStaticToolTip (based on FXToolTip)
FXint myShiftAmount
Shift amount.
void setToolTipText(const FXString &toolTip)
set toolTip
FXString contents
Edited text.
FXIcon * myIcon
myIcon
long onCmdOverstString(FXObject *, FXSelector, void *)
MFXTextFieldIcon & operator=(const MFXTextFieldIcon &)=delete
invalidate assigment constructor
virtual void disable()
Disable text field.
FXint coord(FXint i) const
coordinates
long onCmdSelectAll(FXObject *, FXSelector, void *)
long onCmdGetStringValue(FXObject *, FXSelector, void *)
FXint myAnchorPosition
Anchor position.
void setCursorColor(FXColor clr)
Changes the cursor color.
void setSelTextColor(FXColor clr)
Change selected text color.
virtual void setFocus()
Move the focus to this window.
void setOverstrike(FXbool over=TRUE)
Set overstrike mode.
long onLeftBtnRelease(FXObject *, FXSelector, void *)
long onCmdGetRealValue(FXObject *, FXSelector, void *)
FXString myTooltipText
Tooltip.
long onCmdGetHelp(FXObject *, FXSelector, void *)
long onBlink(FXObject *, FXSelector, void *)
long onCmdCursorHome(FXObject *, FXSelector, void *)
long onCmdCursorWordStart(FXObject *, FXSelector, void *)
FXString myClippedText
Clipped text.
long onLeave(FXObject *, FXSelector, void *)
const FXString & getTipText() const
Get the tool tip message for this text field.
long onKeyPress(FXObject *, FXSelector, void *)
FXint getCursorPos() const
Return cursor position.
FXFont * myFont
Text font.
FXint myVisibleColumns
Number of myVisibleColumns visible.
FXString myHelpText
Help string.
long onFocusIn(FXObject *, FXSelector, void *)
virtual void killFocus()
Remove the focus from this window.
long onCmdSetTip(FXObject *, FXSelector, void *)
FXint wordStart(FXint pos) const
word start
long onCmdToggleOverstrike(FXObject *, FXSelector, void *)
void drawPWDTextFragment(FXDCWindow &dc, FXint x, FXint y, FXint fm, FXint to)
draw password text fragment
virtual void enable()
Enable text field.
long onClipboardGained(FXObject *, FXSelector, void *)
long onLeftBtnPress(FXObject *, FXSelector, void *)
long onFocusOut(FXObject *, FXSelector, void *)
virtual FXint getDefaultWidth()
Return default width.
long onAutoScroll(FXObject *, FXSelector, void *)
MFXTextFieldIcon()
FOX need this.
void drawTextFragment(FXDCWindow &dc, FXint x, FXint y, FXint fm, FXint to)
draw text fragment
FXbool killSelection()
Unselect the text.
long onCmdPasteSel(FXObject *, FXSelector, void *)
long onQueryTip(FXObject *, FXSelector, void *)
long onCmdCopySel(FXObject *, FXSelector, void *)
void makePositionVisible(FXint pos)
Scroll text to make the given position visible.
void setSelBackColor(FXColor clr)
Change selected background color.
long onUpdToggleOverstrike(FXObject *, FXSelector, void *)
long onVerify(FXObject *, FXSelector, void *)
FXint leftWord(FXint pos) const
left word
long onCmdCursorLeft(FXObject *, FXSelector, void *)
FXint myCursorPosition
Cursor position.
MFXStaticToolTip * myStaticToolTip
static tooltip
long onCmdExtend(FXObject *, FXSelector, void *)
void drawTextRange(FXDCWindow &dc, FXint fm, FXint to)
draw text range
FXbool setSelection(FXint pos, FXint len)
Select len characters starting at given position pos.
long onMiddleBtnRelease(FXObject *, FXSelector, void *)
const FXchar * myTextDelimiter
Set of text delimiter.
long onCmdCursorWordEnd(FXObject *, FXSelector, void *)
void drawCursor(FXuint state)
draw myCursorPosition
void setAnchorPos(FXint pos)
Change anchor position.
FXColor getTextColor() const
Return text color.
long onKeyRelease(FXObject *, FXSelector, void *)
long onSelectionRequest(FXObject *, FXSelector, void *ptr)
long onCmdDelete(FXObject *, FXSelector, void *)
FXColor myCursorColor
Color of the Cursor.
long onCmdDeleteSel(FXObject *, FXSelector, void *)
long onClipboardLost(FXObject *, FXSelector, void *)
long onCmdSetRealValue(FXObject *, FXSelector, void *)
long onCmdCursorEnd(FXObject *, FXSelector, void *)
virtual bool canFocus() const
Yes, text field may receive focus.
long onCmdSetValue(FXObject *, FXSelector, void *)
void setCursorPos(FXint pos)
Set cursor position.
void setFont(FXFont *fnt)
Set the text font.
long onUpdate(FXObject *, FXSelector, void *)
FXbool extendSelection(FXint pos)
Extend the selection from the anchor to the given position.
FXString getText() const
Get the text for this label.
FXColor mySelectedBackgroundColor
Selected background color.
long onUpdSelectAll(FXObject *, FXSelector, void *)
FXint index(FXint x) const
index
long onCmdPasteMiddle(FXObject *, FXSelector, void *)
long onCmdCursorWordLeft(FXObject *, FXSelector, void *)
void setEditable(FXbool edit=TRUE)
Set editable mode.
long onCmdSetStringValue(FXObject *, FXSelector, void *)
long onMotion(FXObject *, FXSelector, void *)
virtual FXint getDefaultHeight()
Return default height.
MFXTextFieldIcon(const MFXTextFieldIcon &)=delete
invalidate copy constructor
long onCmdCutSel(FXObject *, FXSelector, void *)
FXColor myTextColor
Text color.
long onFocusSelf(FXObject *, FXSelector, void *)
void setJustify(FXuint mode)
Change text justification mode.
FXuint getTextStyle() const
Return text style.
virtual ~MFXTextFieldIcon()
Destructor.
long onSelectionGained(FXObject *, FXSelector, void *)
long onCmdDeselectAll(FXObject *, FXSelector, void *)
FXbool isPosVisible(FXint pos) const
Return TRUE if position is fully visible.
FXint getAnchorPos() const
Return anchor position.
long onUpdToggleEditable(FXObject *, FXSelector, void *)
long onEnter(FXObject *, FXSelector, void *)
fox callbacks
FXbool selectAll()
Select all text.
void setNumColumns(FXint cols)
Change the default width of the text field.
FXint rightWord(FXint pos) const
right word
long onCmdGetTip(FXObject *, FXSelector, void *)
long onClipboardRequest(FXObject *, FXSelector, void *)
void setTextColor(FXColor clr)
Change text color.
long onSelectionLost(FXObject *, FXSelector, void *)
FXint getNumColumns() const
Return number of columns.
long onCmdToggleEditable(FXObject *, FXSelector, void *)
long onCmdSetHelp(FXObject *, FXSelector, void *)
long onCmdInsertString(FXObject *, FXSelector, void *)
FXFont * getFont() const
Get the text font.
long onPaint(FXObject *, FXSelector, void *)
long onCmdDeleteAll(FXObject *, FXSelector, void *)
const FXString & getHelpText() const
Get the status line help text for this label.
const FXchar * getDelimiters() const
Return word delimiters.
long onUpdHaveSelection(FXObject *, FXSelector, void *)
void setHelpText(const FXString &text)
Set the status line help text for this label.
FXbool isEditable() const
Return TRUE if text field may be edited.
FXColor getSelBackColor() const
Return selected background color.
long onQueryHelp(FXObject *, FXSelector, void *)
void setIcon(FXIcon *ic)
Change the icon.
void setDelimiters(const FXchar *delims=FXTextField::textDelimiters)
Change word delimiters.
FXString myToolTipText
toolTip text (if set, tooltip will be always show)
long onCmdSetIntValue(FXObject *, FXSelector, void *)
void setTextStyle(FXuint style)
Change text style.
FXColor getSelTextColor() const
Return selected text color.
FXColor mySelectedTextColor
Selected text color.
long onCmdCursorRight(FXObject *, FXSelector, void *)
FXColor getCursorColor() const
Return the cursor color.
void setTipText(const FXString &text)
Set the tool tip message for this text field.
FXint wordEnd(FXint pos) const
word end
long onMiddleBtnPress(FXObject *, FXSelector, void *)
virtual void create()
Create server-side resources.
virtual void layout()
Perform layout.
FXbool isPosSelected(FXint pos) const
Return TRUE if position pos is selected.
void setText(const FXString &text, FXbool notify=FALSE)
Change the text and move cursor to end.
long onCmdGetIntValue(FXObject *, FXSelector, void *)
long onCmdBackspace(FXObject *, FXSelector, void *)
FXbool isOverstrike() const
Return TRUE if overstrike mode in effect.
long onCmdCursorWordRight(FXObject *, FXSelector, void *)
FXuint getJustify() const
Return text justification mode.
long onCmdMark(FXObject *, FXSelector, void *)