//*****************************************************************************
// 
// Blackjack - an X windows program of the casino game.
// Copyright (C) 1997  Tom Daley 
// 
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
// 
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// 
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
// 
// The license is in the file COPYING.
// 
// Tom Daley
// 1309 W. Lorraine Ave.
// Woodland Park, CO  80863-2329
// 
// daley@codenet.net (Tom Daley)
// http://users.codenet.net/daley
// 
//*****************************************************************************

#ifndef _DOLLAR_SCROLL_BAR_INCLUDED_
#define _DOLLAR_SCROLL_BAR_INCLUDED_

#include <qstring.h>
#include <qlabel.h>
#include <qscrbar.h>

//*****************************************************************************

class QtedDollarScrollBar : public QWidget {
   Q_OBJECT
   private:
      float      _min;
      float      _max;
      float      _inc;
      QString    _label_text;
      QLabel     *_label_p;
      QScrollBar *_sb_p;

   public:
      QtedDollarScrollBar(const char *label, float min, float max, float inc,
                         QWidget *parent=0, const char *name=0);
      void setRange(float min, float max, float inc);
      void setEnabled(bool tf) { _sb_p->setEnabled(tf); }
      void setValue(float val) { _sb_p->setValue((int)(val * 100)); }
      float getValue(void);

   protected:
      void resizeEvent(QResizeEvent *);

   private slots:
      void betMade();
      void setText(int value);

// At first I had the value set when the user released the scroll bar.
// There are cases with a small increment and large values where the sliding
// of the scroll bar can not get all values of the scroll bar (some get 
// skipped over).  I'll leave this signal here and perhaps make it a user 
// selectable feature later.

   signals:
      void valueSet(float);
};

#endif

//*****************************************************************************
