1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
#ifndef PushButtonH
#define PushButtonH
//============================================================================
/// \file PushButton.h
/// \author Uwe Kindler
/// \date 18.10.2022
/// \brief Declaration of CPushButton
//============================================================================
//============================================================================
// INCLUDES
//============================================================================
#include "ads_globals.h"
#include <QPushButton>
namespace ads
{
/**
* ADS specific push button class with orientation support
*/
class ADS_EXPORT CPushButton : public QPushButton
{
Q_OBJECT
public:
enum Orientation {
Horizontal,
VerticalTopToBottom,
VerticalBottomToTop
};
using QPushButton::QPushButton;
virtual QSize sizeHint() const override;
/**
* Returns the current orientation
*/
Orientation buttonOrientation() const;
/**
* Set the orientation of this button
*/
void setButtonOrientation(Orientation orientation);
protected:
virtual void paintEvent(QPaintEvent *event) override;
private:
Orientation m_Orientation = Horizontal;
};
} // namespace ads
//---------------------------------------------------------------------------
#endif // PushButtonH
|