diff options
Diffstat (limited to 'curses/cursesbutton.H')
| -rw-r--r-- | curses/cursesbutton.H | 103 | 
1 files changed, 0 insertions, 103 deletions
| diff --git a/curses/cursesbutton.H b/curses/cursesbutton.H deleted file mode 100644 index 216c248..0000000 --- a/curses/cursesbutton.H +++ /dev/null @@ -1,103 +0,0 @@ -/* -** Copyright 2002, Double Precision Inc. -** -** See COPYING for distribution information. -*/ - -#ifndef cursesbutton_H -#define cursesbutton_H - -#include "mycurses.H" -#include "curseslabel.H" - -//////////////////////////////////////////////////////////////////////// -// -// A plain, garden variety, button.  Centered, or right-aligned, perhaps. -// -// CursesButton simply subclasses CursesLabel, makes it focusable, and -// overrides WriteText. -// - -class CursesButton : public CursesLabel { - -	int toggleButton; - -	std::string buttonName; - -public: -	// Button style: - -	enum Style { -		NORMAL, -		TOGGLE, -		MENU -	}; - -private: -	Style currentStyle; -public: -	CursesButton(CursesContainer *parent, -		     std::string textArg, int toggle=0); -	~CursesButton(); - -	void setStyle(Style); -	void draw(); - -	bool isFocusable(); -	void focusGained(); -	void focusLost(); -	void setText(std::string textArg); - -	int getCursorPosition(int &r, int &c); - -	int getWidth() const; - -	bool processKeyInFocus(const Curses::Key &key); -	virtual void clicked(); - -	int getSelected() { return toggleButton < 0; } -	void setToggled(bool flag); -}; - -////////////////////////////////////////////////////////////////////////// -// -// Instead of subclassing CursesButton, here's a template to have it be a -// member of another class.  Typical usage: -// -// class X { -// -//    CursesButtonRedirect<X> button1; -// -//    void button1clicked(); -// } ; -// -// X::X() -// { -//      button1=this; -//      button1=&X::button1clicked; -// } - -template<class T> class CursesButtonRedirect : public CursesButton { - -	T *myClass; -	void (T::*mymethod)(); -public: -	CursesButtonRedirect(CursesContainer *parent, -			     std::string textArg, int toggle=0) -		: CursesButton(parent, textArg, toggle) -	{ -	} - -	~CursesButtonRedirect() -	{ -	} - -	void operator=(T *p) { myClass=p; } -	void operator=(void (T::*p)()) {mymethod=p; } - -	void clicked() { (myClass->*mymethod)(); } - -	T *getObject() const { return myClass; } -}; - -#endif | 
