diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | ce599e4f9f94b4eb00c1b5edb85bce5431ab3df2 (patch) | |
tree | d3bb9f5d25a2dc09ca81adecf39621d871534297 /kbruch/src/fractionbasewidget.h | |
download | tdeedu-ce599e4f9f94b4eb00c1b5edb85bce5431ab3df2.tar.gz tdeedu-ce599e4f9f94b4eb00c1b5edb85bce5431ab3df2.zip |
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
Diffstat (limited to 'kbruch/src/fractionbasewidget.h')
-rw-r--r-- | kbruch/src/fractionbasewidget.h | 74 |
1 files changed, 74 insertions, 0 deletions
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 <kdebug.h> +#endif + +#include "ratio.h" + +#include <qwidget.h> + + +/*! 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 |