From ce599e4f9f94b4eb00c1b5edb85bce5431ab3df2 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdeedu@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kbruch/src/fractionbasewidget.h | 74 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 kbruch/src/fractionbasewidget.h (limited to 'kbruch/src/fractionbasewidget.h') diff --git a/kbruch/src/fractionbasewidget.h b/kbruch/src/fractionbasewidget.h new file mode 100644 index 00000000..4472ade3 --- /dev/null +++ b/kbruch/src/fractionbasewidget.h @@ -0,0 +1,74 @@ +/*************************************************************************** + fractionbasewidget.h - base fraction painting + ------------------- + begin : 2004/05/30 + copyright : (C) 2004 by Sebastian Stein + email : seb.kde@hpfsc.de + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef FRACTIONBASEWIDGET_H +#define FRACTIONBASEWIDGET_H + +/** the space between a ratio and an operation */ +#define _MARGIN_X 5 + +#ifdef DEBUG +#include +#endif + +#include "ratio.h" + +#include + + +/*! base class for painting fractions + * + * \author Sebastian Stein */ +class FractionBaseWidget : public QWidget +{ + Q_OBJECT + +public: + /** constructor */ + FractionBaseWidget(QWidget * parent, const char * name); + + /** destructor */ + ~FractionBaseWidget(); + + /** updates the widget by first getting the settings and then repainting */ + void updateAndRepaint(); + +protected: + + /* store the different colors */ + QColor m_colorNumber; + QColor m_colorLine; + QColor m_colorOperation; + + /* the font to paint with */ + QFont m_font; + + /** overrideing the paint event of QWidget */ + virtual void paintEvent(QPaintEvent*) = 0; + + /** paints a ratio at the given position */ + void paintRatio(QPainter & paint, ratio tmp_ratio, int & x_pos, QFontMetrics & fm, bool show_mixed, bool addMargin = true); + + /** paints a string in the vertical middle (aligned to the operation signs) */ + void paintMiddle(QPainter & paint, const QString& paint_str, int & x_pos, QFontMetrics & fm, QColor color, bool addMargin = true); + +private: + /** sets the font and color; values taken from settingsclass */ + void setColorAndFont(); +}; + +#endif -- cgit v1.2.1