You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bibletime/bibletime/frontend/keychooser/cscrollbutton.h

88 lines
1.8 KiB

/*********
*
* This file is part of BibleTime's source code, http://www.bibletime.info/.
*
* Copyright 1999-2006 by the BibleTime developers.
* The BibleTime source code is licensed under the GNU General Public License version 2.0.
*
**********/
#ifndef CSRCOLLBUTTON_H
#define CSRCOLLBUTTON_H
#include <tqwidget.h>
#include <tqtoolbutton.h>
class TQMouseEvent;
/** This Class implements the direct chooser button used in the KeyChooser Widget
* @author The BibleTime team
*/
class CScrollButton : public TQToolButton {
Q_OBJECT
TQ_OBJECT
public:
/**
* The constructor
*/
CScrollButton(TQWidget *parent=0, const char *name=0);
const bool isLocked() const;
signals:
/**
* is emitted when the button enters locked state
*/
void lock()
;
/**
* is emitted when the button leaves locked state
*/
void unlock();
/**
* indicates a change the user made by moving the mouse
* @param count the number of items to be changed in the KeyChooser ComboBox
*/
void change_requested(int count);
protected slots:
/*
* used to process the button press events
*/
void was_pressed();
/**
* used to process the button release events
*/
void was_released();
protected:
/**
* Reimplementation from @ref TQWidget#mouseMoveEvent - processes
* the mouse move events
*/
virtual void mouseMoveEvent( TQMouseEvent* e );
/**
* used to find the lock point - the middle of the button
* @return the lock point
*/
const TQPoint get_lock_Point() const;
/**
* If the wheel of the mouse is used while the mouse stays over our scrollbutton the content is
* scrolled like the mouse was pressed and moved.
*/
virtual void wheelEvent( TQWheelEvent* e );
private:
/**
* Indicates whether the button is in locked state or not
*/
bool m_isLocked;
/**
* stores the lock point
*/
TQPoint lock_Point;
};
#endif