summaryrefslogtreecommitdiffstats
path: root/curses/cursesbutton.C
diff options
context:
space:
mode:
Diffstat (limited to 'curses/cursesbutton.C')
-rw-r--r--curses/cursesbutton.C136
1 files changed, 0 insertions, 136 deletions
diff --git a/curses/cursesbutton.C b/curses/cursesbutton.C
deleted file mode 100644
index 3638860..0000000
--- a/curses/cursesbutton.C
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
-** Copyright 2002, Double Precision Inc.
-**
-** See COPYING for distribution information.
-*/
-
-#include "curses_config.h"
-#include "cursesbutton.H"
-
-using namespace std;
-
-CursesButton::CursesButton(CursesContainer *parent,
- string textArg,
- int toggle) : CursesLabel(parent, ""),
- toggleButton(toggle),
- buttonName(textArg)
-{
- setStyle(toggleButton ? TOGGLE:NORMAL);
-}
-
-CursesButton::~CursesButton()
-{
- erase();
-}
-
-void CursesButton::setText(string textArg)
-{
- buttonName=textArg;
- setStyle(currentStyle);
-}
-
-void CursesButton::setToggled(bool flag)
-{
- toggleButton= flag ? -1:1;
- setStyle(TOGGLE);
-}
-
-void CursesButton::setStyle(Style style)
-{
- currentStyle=style;
-
- switch (currentStyle) {
- case TOGGLE:
- CursesLabel::setText((toggleButton < 0 ? "[X] ":"[ ] ") + buttonName);
- break;
- case MENU:
- CursesLabel::setText(buttonName);
- break;
- default:
- CursesLabel::setText("[ " + buttonName + " ]");
- break;
- }
-}
-
-void CursesButton::draw()
-{
- int fg=attribute.getFgColor();
- int bg=attribute.getBgColor();
-
- switch (currentStyle) {
- case TOGGLE:
- attribute=Curses::CursesAttr();
- break;
- case MENU:
- attribute=Curses::CursesAttr().setReverse(hasFocus());
- break;
- default:
- if (hasFocus())
- attribute=Curses::CursesAttr().setReverse();
- else
- attribute=Curses::CursesAttr().setHighlight();
- break;
- }
-
- attribute.setFgColor(fg);
- attribute.setBgColor(bg);
- CursesLabel::draw();
-}
-
-bool CursesButton::isFocusable()
-{
- return true;
-}
-
-void CursesButton::focusGained()
-{
- draw();
-}
-
-void CursesButton::focusLost()
-{
- draw();
-}
-
-int CursesButton::getCursorPosition(int &r, int &c)
-{
- r=0;
-
- if (currentStyle == TOGGLE)
- {
- c=1;
- CursesLabel::getCursorPosition(r, c);
- return 1;
- }
-
- c=CursesLabel::getWidth();
-
- CursesLabel::getCursorPosition(r, c);
-
- return 0;
-}
-
-int CursesButton::getWidth() const
-{
- return CursesLabel::getWidth()+1;
-}
-
-void CursesButton::clicked()
-{
-}
-
-bool CursesButton::processKeyInFocus(const Key &key)
-{
- if (key == key.ENTER || (key.plain() && key.ukey == ' '))
- {
- if (toggleButton)
- {
- toggleButton= -toggleButton;
- setStyle(TOGGLE);
- }
- clicked();
- return true;
- }
-
- return CursesLabel::processKeyInFocus(key);
-}