summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>2006-10-11 01:01:02 +0000
committerMichael R Sweet <michael.r.sweet@gmail.com>2006-10-11 01:01:02 +0000
commit09a1c11ac15edb5d956dc61733a234eff0ff3a5b (patch)
tree8fe576dd87855cf4a0d89e9047928a2e56a27c86 /src
parentb82b4c44455f3f99aa42903491c4569d7c91191d (diff)
Fl_Input and Fl_Text_Editor now hide the mouse pointer when
typing into them (STR #1466) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5517 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
-rw-r--r--src/Fl_Input.cxx9
-rw-r--r--src/Fl_Input_.cxx5
-rw-r--r--src/Fl_Text_Display.cxx11
-rw-r--r--src/Fl_Text_Editor.cxx4
4 files changed, 23 insertions, 6 deletions
diff --git a/src/Fl_Input.cxx b/src/Fl_Input.cxx
index ef12c7487..30a198d0d 100644
--- a/src/Fl_Input.cxx
+++ b/src/Fl_Input.cxx
@@ -3,7 +3,7 @@
//
// Input widget for the Fast Light Tool Kit (FLTK).
//
-// Copyright 1998-2005 by Bill Spitzak and others.
+// Copyright 1998-2006 by Bill Spitzak and others.
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Library General Public
@@ -34,6 +34,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <FL/Fl.H>
+#include <FL/Fl_Window.H>
#include <FL/Fl_Input.H>
#include <FL/fl_draw.H>
#include <FL/fl_ask.H>
@@ -348,7 +349,11 @@ int Fl_Input::handle(int event) {
else
position(position());
return (1);
- } else return handle_key();
+ } else {
+ if (active_r() && window()) window()->cursor(FL_CURSOR_NONE);
+
+ return handle_key();
+ }
case FL_PUSH:
if (Fl::dnd_text_ops()) {
diff --git a/src/Fl_Input_.cxx b/src/Fl_Input_.cxx
index 26d586105..fcb552513 100644
--- a/src/Fl_Input_.cxx
+++ b/src/Fl_Input_.cxx
@@ -3,7 +3,7 @@
//
// Common input widget routines for the Fast Light Tool Kit (FLTK).
//
-// Copyright 1998-2005 by Bill Spitzak and others.
+// Copyright 1998-2006 by Bill Spitzak and others.
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Library General Public
@@ -693,6 +693,7 @@ int Fl_Input_::handletext(int event, int X, int Y, int W, int H) {
switch (event) {
case FL_ENTER:
+ case FL_MOVE:
if (active_r() && window()) window()->cursor(FL_CURSOR_INSERT);
return 1;
@@ -717,6 +718,8 @@ int Fl_Input_::handletext(int event, int X, int Y, int W, int H) {
return 1;
case FL_PUSH:
+ if (active_r() && window()) window()->cursor(FL_CURSOR_INSERT);
+
handle_mouse(X, Y, W, H, Fl::event_state(FL_SHIFT));
if (Fl::focus() != this) {
diff --git a/src/Fl_Text_Display.cxx b/src/Fl_Text_Display.cxx
index a38cd9774..add984cad 100644
--- a/src/Fl_Text_Display.cxx
+++ b/src/Fl_Text_Display.cxx
@@ -1,7 +1,7 @@
//
// "$Id$"
//
-// Copyright 2001-2005 by Bill Spitzak and others.
+// Copyright 2001-2006 by Bill Spitzak and others.
// Original code Copyright Mark Edel. Permission to distribute under
// the LGPL for the FLTK library granted by Mark Edel.
//
@@ -3100,7 +3100,8 @@ int Fl_Text_Display::handle(int event) {
case FL_ENTER:
case FL_MOVE:
if (active_r()) {
- if (Fl::event_inside(text_area.x, text_area.y, text_area.w, text_area.h)) window()->cursor(FL_CURSOR_INSERT);
+ if (Fl::event_inside(text_area.x, text_area.y, text_area.w,
+ text_area.h)) window()->cursor(FL_CURSOR_INSERT);
else window()->cursor(FL_CURSOR_DEFAULT);
return 1;
} else {
@@ -3118,6 +3119,12 @@ int Fl_Text_Display::handle(int event) {
}
case FL_PUSH: {
+ if (active_r() && window()) {
+ if (Fl::event_inside(text_area.x, text_area.y, text_area.w,
+ text_area.h)) window()->cursor(FL_CURSOR_INSERT);
+ else window()->cursor(FL_CURSOR_DEFAULT);
+ }
+
if (Fl::focus() != this) {
Fl::focus(this);
handle(FL_FOCUS);
diff --git a/src/Fl_Text_Editor.cxx b/src/Fl_Text_Editor.cxx
index 291753d9c..745490e0f 100644
--- a/src/Fl_Text_Editor.cxx
+++ b/src/Fl_Text_Editor.cxx
@@ -1,7 +1,7 @@
//
// "$Id$"
//
-// Copyright 2001-2005 by Bill Spitzak and others.
+// Copyright 2001-2006 by Bill Spitzak and others.
// Original code Copyright Mark Edel. Permission to distribute under
// the LGPL for the FLTK library granted by Mark Edel.
//
@@ -30,6 +30,7 @@
#include "flstring.h"
#include <ctype.h>
#include <FL/Fl.H>
+#include <FL/Fl_Window.H>
#include <FL/Fl_Text_Editor.H>
#include <FL/fl_ask.H>
@@ -446,6 +447,7 @@ int Fl_Text_Editor::handle(int event) {
return 1;
case FL_KEYBOARD:
+ if (active_r() && window()) window()->cursor(FL_CURSOR_NONE);
return handle_key();
case FL_PASTE: