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-2026 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 FXIcon* getIcon() const;
109
111 FXString getText() const;
112
114 void setFont(FXFont* fnt);
115
117 FXFont* getFont() const;
118
120 void setTextColor(FXColor clr);
121
123 FXColor getTextColor() const;
124
126 void setSelBackColor(FXColor clr);
127
129 FXColor getSelBackColor() const {
131 }
132
134 void setSelTextColor(FXColor clr);
135
137 FXColor getSelTextColor() const;
138
140 void setCursorColor(FXColor clr);
141
143 FXColor getCursorColor() const;
144
146 void setNumColumns(FXint cols);
147
149 FXint getNumColumns() const;
150
152 void setJustify(FXuint mode);
153
155 FXuint getJustify() const;
156
158 void setDelimiters(const FXchar* delims = FXTextField::textDelimiters);
159
161 const FXchar* getDelimiters() const;
162
164 void setHelpText(const FXString& text);
165
167 const FXString& getHelpText() const;
168
170 void setTipText(const FXString& text);
171
173 const FXString& getTipText() const;
174
176 void setTextStyle(FXuint style);
177
179 FXuint getTextStyle() const;
180
182 FXbool selectAll();
183
185 FXbool setSelection(FXint pos, FXint len);
186
188 FXbool extendSelection(FXint pos);
189
191 FXbool killSelection();
192
194 FXbool isPosSelected(FXint pos) const;
195
197 FXbool isPosVisible(FXint pos) const;
198
200 void makePositionVisible(FXint pos);
201
203 void setToolTipText(const FXString& toolTip);
204
207
208 long onEnter(FXObject*, FXSelector, void*);
209 long onLeave(FXObject*, FXSelector, void*);
210 long onPaint(FXObject*, FXSelector, void*);
211 long onUpdate(FXObject*, FXSelector, void*);
212 long onKeyPress(FXObject*, FXSelector, void*);
213 long onKeyRelease(FXObject*, FXSelector, void*);
214 long onLeftBtnPress(FXObject*, FXSelector, void*);
215 long onLeftBtnRelease(FXObject*, FXSelector, void*);
216 long onMiddleBtnPress(FXObject*, FXSelector, void*);
217 long onMiddleBtnRelease(FXObject*, FXSelector, void*);
218 long onVerify(FXObject*, FXSelector, void*);
219 long onMotion(FXObject*, FXSelector, void*);
220 long onSelectionLost(FXObject*, FXSelector, void*);
221 long onSelectionGained(FXObject*, FXSelector, void*);
222 long onSelectionRequest(FXObject*, FXSelector, void* ptr);
223 long onClipboardLost(FXObject*, FXSelector, void*);
224 long onClipboardGained(FXObject*, FXSelector, void*);
225 long onClipboardRequest(FXObject*, FXSelector, void*);
226 long onFocusSelf(FXObject*, FXSelector, void*);
227 long onFocusIn(FXObject*, FXSelector, void*);
228 long onFocusOut(FXObject*, FXSelector, void*);
229 long onBlink(FXObject*, FXSelector, void*);
230 long onAutoScroll(FXObject*, FXSelector, void*);
231 long onCmdSetValue(FXObject*, FXSelector, void*);
232 long onCmdSetIntValue(FXObject*, FXSelector, void*);
233 long onCmdSetRealValue(FXObject*, FXSelector, void*);
234 long onCmdSetStringValue(FXObject*, FXSelector, void*);
235 long onCmdGetIntValue(FXObject*, FXSelector, void*);
236 long onCmdGetRealValue(FXObject*, FXSelector, void*);
237 long onCmdGetStringValue(FXObject*, FXSelector, void*);
238 long onCmdCursorHome(FXObject*, FXSelector, void*);
239 long onCmdCursorEnd(FXObject*, FXSelector, void*);
240 long onCmdCursorRight(FXObject*, FXSelector, void*);
241 long onCmdCursorLeft(FXObject*, FXSelector, void*);
242 long onCmdCursorWordLeft(FXObject*, FXSelector, void*);
243 long onCmdCursorWordRight(FXObject*, FXSelector, void*);
244 long onCmdCursorWordStart(FXObject*, FXSelector, void*);
245 long onCmdCursorWordEnd(FXObject*, FXSelector, void*);
246 long onCmdMark(FXObject*, FXSelector, void*);
247 long onCmdExtend(FXObject*, FXSelector, void*);
248 long onCmdSelectAll(FXObject*, FXSelector, void*);
249 long onCmdDeselectAll(FXObject*, FXSelector, void*);
250 long onCmdCutSel(FXObject*, FXSelector, void*);
251 long onCmdCopySel(FXObject*, FXSelector, void*);
252 long onCmdPasteSel(FXObject*, FXSelector, void*);
253 long onCmdPasteMiddle(FXObject*, FXSelector, void*);
254 long onCmdDeleteSel(FXObject*, FXSelector, void*);
255 long onCmdDeleteAll(FXObject*, FXSelector, void*);
256 long onCmdOverstString(FXObject*, FXSelector, void*);
257 long onCmdInsertString(FXObject*, FXSelector, void*);
258 long onCmdBackspace(FXObject*, FXSelector, void*);
259 long onCmdDelete(FXObject*, FXSelector, void*);
260 long onCmdToggleEditable(FXObject*, FXSelector, void*);
261 long onUpdToggleEditable(FXObject*, FXSelector, void*);
262 long onCmdToggleOverstrike(FXObject*, FXSelector, void*);
263 long onUpdToggleOverstrike(FXObject*, FXSelector, void*);
264 long onUpdHaveSelection(FXObject*, FXSelector, void*);
265 long onUpdSelectAll(FXObject*, FXSelector, void*);
266 long onCmdSetHelp(FXObject*, FXSelector, void*);
267 long onCmdGetHelp(FXObject*, FXSelector, void*);
268 long onCmdSetTip(FXObject*, FXSelector, void*);
269 long onCmdGetTip(FXObject*, FXSelector, void*);
270 long onQueryHelp(FXObject*, FXSelector, void*);
271 long onQueryTip(FXObject*, FXSelector, void*);
272
274
275protected:
277 FXString contents;
278
280 const FXchar* myTextDelimiter = FXTextField::textDelimiters;
281
283 FXFont* myFont;
284
286 FXColor myTextColor = 0;
287
290
293
295 FXColor myCursorColor = 0;
296
299
302
305
307 FXint myShiftAmount = 0;
308
311
313 FXString myHelpText;
314
317
319 FXIcon* myIcon = nullptr;
320
323
326
329
331 FXint index(FXint x) const;
332
334 FXint coord(FXint i) const;
335
337 void drawCursor(FXuint state);
338
340 void drawTextRange(FXDCWindow& dc, FXint fm, FXint to);
341
343 void drawTextFragment(FXDCWindow& dc, FXint x, FXint y, FXint fm, FXint to);
344
346 void drawPWDTextFragment(FXDCWindow& dc, FXint x, FXint y, FXint fm, FXint to);
347
349 FXint rightWord(FXint pos) const;
350
352 FXint leftWord(FXint pos) const;
353
355 FXint wordStart(FXint pos) const;
356
358 FXint wordEnd(FXint pos) const;
359
360private:
363
366};
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.
FXIcon * getIcon() const
get icon
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 *)