summaryrefslogtreecommitdiff
path: root/FL/Fl_Input_.H
diff options
context:
space:
mode:
authorGreg Ercolano <erco@seriss.com>2010-12-20 07:48:59 +0000
committerGreg Ercolano <erco@seriss.com>2010-12-20 07:48:59 +0000
commit4a883a2e81164358f960f13d42fce599f38df5bc (patch)
treed3a5bd32126c20bd5ba4c137999427dcee7deefc /FL/Fl_Input_.H
parentdf6de286e7421062372c468b6dca426c254ef379 (diff)
Added new tab_nav() control for Fl_Multiline_Input tab navigation behavior.
New default behavior is what most users expect; hitting Tab navigates over the widget. Fl_Input modified to support the new flag. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8068 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'FL/Fl_Input_.H')
-rw-r--r--FL/Fl_Input_.H42
1 files changed, 42 insertions, 0 deletions
diff --git a/FL/Fl_Input_.H b/FL/Fl_Input_.H
index 766895668..f508117b9 100644
--- a/FL/Fl_Input_.H
+++ b/FL/Fl_Input_.H
@@ -120,6 +120,11 @@ class FL_EXPORT Fl_Input_ : public Fl_Widget {
\p mark_, no text is selected */
int mark_;
+ /** \internal Behavior of Tab key in multiline input widget.
+ If enabled (default) Tab causes focus nav, otherwise Tab is inserted
+ as a character. */
+ int tab_nav_;
+
/** \internal Offset to text origin within widget bounds */
int xscroll_, yscroll_;
@@ -446,6 +451,43 @@ public:
void wrap(int b) { if (b) type((uchar)(type() | FL_INPUT_WRAP));
else type((uchar)(type() & ~FL_INPUT_WRAP)); }
+ /**
+ Sets whether the Tab key does focus navigation,
+ or inserts tab characters into Fl_Multiline_Input.
+
+ By default this flag is enabled to provide the 'normal' behavior
+ most users expect; Tab navigates focus to the next widget.
+ To inserting an actual Tab character, users can use Ctrl-I
+ or copy/paste.
+
+ Disabling this flag gives the old FLTK behavior where Tab
+ inserts a tab character into the text field, in which case
+ only the mouse can be used to navigate to the next field.
+
+ History: This flag was provided for backwards support of FLTK's old 1.1.x
+ behavior where Tab inserts a tab character instead of navigating
+ focus to the next widget. This behavior was unique to Fl_Multiline_Input.
+ With the advent of Fl_Text_Editor, this old behavior has been deprecated.
+
+ \param [in] val If \p val is 1, Tab advances focus (default).<BR>
+ If \p val is 0, Tab inserts a tab character (old FLTK behavior).
+ */
+ void tab_nav(int val) {
+ tab_nav_ = val;
+ }
+
+ /**
+ Gets whether the Tab key causes focus navigation in multiline input fields or not.
+
+ If enabled (default), hitting Tab causes focus navigation to the next widget.
+
+ If disabled, hitting Tab inserts a tab character into the text field.
+ \returns 1 if Tab advances focus (default), 0 if Tab inserts tab characters.
+ \see tab_nav(int)
+ */
+ int tab_nav() const {
+ return tab_nav_;
+ }
};
#endif