fltk/FL/Fl_Value_Input.H
Michael R Sweet f9039b2ae2 Initial revision
git-svn-id: file:///fltk/svn/fltk/trunk@2 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1998-10-06 18:21:25 +00:00

51 lines
1.3 KiB
C++

// Fl_Value_Input.H
// Edit text or drag to adjust floating point value.
// as suggested by Pierre Jasmin
// Current behavior:
// Dragging left mouse moves by step()
// Middle mouse is 5*step()
// Right mouse is 20*step()
// clicking any mouse button puts insertion cursor there
// You can also navigate there with tab
// Bugs (?):
// No way to select region of text
// Hard to paste in new values
#ifndef Fl_Value_Input_H
#define Fl_Value_Input_H
#include "Fl_Valuator.H"
#include "Fl_Input.H"
class Fl_Value_Input : public Fl_Valuator {
public:
Fl_Input input;
private:
char soft_;
static void input_cb(Fl_Widget*,void*);
virtual void value_damage(); // cause damage() due to value() changing
public:
int handle(int);
void draw();
void resize(int,int,int,int);
Fl_Value_Input(int x,int y,int w,int h,const char *l=0);
void soft(char x) {soft_ = x;}
char soft() const {return soft_;}
Fl_Font textfont() const {return input.textfont();}
void textfont(uchar s) {input.textfont(s);}
uchar textsize() const {return input.textsize();}
void textsize(uchar s) {input.textsize(s);}
Fl_Color textcolor() const {return input.textcolor();}
void textcolor(uchar n) {input.textcolor(n);}
Fl_Color cursor_color() const {return input.cursor_color();}
void cursor_color(uchar n) {input.cursor_color(n);}
};
#endif