-rw-r--r-- | libopie/otabbar.cpp | 81 | ||||
-rw-r--r-- | libopie/otabbar.h | 75 | ||||
-rw-r--r-- | libopie/otimepickerbase.h | 47 |
3 files changed, 156 insertions, 47 deletions
diff --git a/libopie/otabbar.cpp b/libopie/otabbar.cpp new file mode 100644 index 0000000..b5b93ba --- a/dev/null +++ b/libopie/otabbar.cpp @@ -0,0 +1,81 @@ +/* + This file is part of the Opie Project + + Copyright (c) 2002 Dan Williams <williamsdr@acm.org> + =. + .=l. + .>+-= + _;:, .> :=|. This program is free software; you can +.> <`_, > . <= redistribute it and/or modify it under +:`=1 )Y*s>-.-- : the terms of the GNU Library General Public +.="- .-=="i, .._ License as published by the Free Software + - . .-<_> .<> Foundation; either version 2 of the License, + ._= =} : or (at your option) any later version. + .%`+i> _;_. + .i_,=:_. -<s. 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 +..}^=.= = ; Library General Public License for more +++= -. .` .: details. + : = ...= . :.=- + -. .:....=;==+<; You should have received a copy of the GNU + -_. . . )=. = Library General Public License along with + -- :-=` this library; see the file COPYING.LIB. + If not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +#include "otabbar.h" + +OTabBar::OTabBar( QWidget *parent = 0, const char *name = 0 ) + : QTabBar( parent, name ) +{ +} + +void OTabBar::paintLabel( QPainter* p, const QRect& br, QTab* t, bool has_focus ) const +{ + + QRect r = br; + if ( t->iconset) + { + QIconSet::Mode mode = (t->enabled && isEnabled()) ? QIconSet::Normal : QIconSet::Disabled; + if ( mode == QIconSet::Normal && has_focus ) { + mode = QIconSet::Active; + } + QPixmap pixmap = t->iconset->pixmap( QIconSet::Small, mode ); + int pixw = pixmap.width(); + int pixh = pixmap.height(); + r.setLeft( r.left() + pixw + 2 ); + p->drawPixmap( br.left()+2, br.center().y()-pixh/2, pixmap ); + } + + QRect tr = r; + if ( t->id == currentTab() ) + { + tr.setBottom( tr.bottom() - style().defaultFrameWidth() ); + } + + if ( t->enabled && isEnabled() ) + { + p->setPen( colorGroup().foreground() ); + p->drawText( tr, AlignCenter | ShowPrefix, t->label ); + } + else if ( style() == MotifStyle ) + { + p->setPen( palette().disabled().foreground() ); + p->drawText( tr, AlignCenter | ShowPrefix, t->label ); + } + else + { + p->setPen( colorGroup().light() ); + QRect wr = tr; + wr.moveBy( 1, 1 ); + p->drawText( wr, AlignCenter | ShowPrefix, t->label ); + p->setPen( palette().disabled().foreground() ); + p->drawText( tr, AlignCenter | ShowPrefix, t->label ); + } +} diff --git a/libopie/otabbar.h b/libopie/otabbar.h new file mode 100644 index 0000000..16797a3 --- a/dev/null +++ b/libopie/otabbar.h @@ -0,0 +1,75 @@ +/* + This file is part of the Opie Project + + Copyright (c) 2002 Dan Williams <williamsdr@acm.org> + =. + .=l. + .>+-= + _;:, .> :=|. This program is free software; you can +.> <`_, > . <= redistribute it and/or modify it under +:`=1 )Y*s>-.-- : the terms of the GNU Library General Public +.="- .-=="i, .._ License as published by the Free Software + - . .-<_> .<> Foundation; either version 2 of the License, + ._= =} : or (at your option) any later version. + .%`+i> _;_. + .i_,=:_. -<s. 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 +..}^=.= = ; Library General Public License for more +++= -. .` .: details. + : = ...= . :.=- + -. .:....=;==+<; You should have received a copy of the GNU + -_. . . )=. = Library General Public License along with + -- :-=` this library; see the file COPYING.LIB. + If not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +#ifndef OTABBAR_H +#define OTABBAR_H + +#include <qtabbar.h> + +/** + * @class OTabBar + * @brief The OTabBar class is a derivative of QTabBar. + * + * OTabBar is a derivation of TrollTech's QTabBar which provides + * a row of tabs for selection. The only difference between this + * class and QTabBar is that there is no dotted line box around + * the label of the tab with the current focus. + */ +class OTabBar : public QTabBar +{ + Q_OBJECT + +public: +/** + * @fn OTabBar( QWidget *parent = 0, const char *name = 0 ) + * @brief Object constructor. + * + * @param parent Pointer to parent of this control. + * @param name Name of control. + * + * Constructs a new OTabBar control with parent and name. + */ + OTabBar( QWidget * = 0, const char * = 0 ); + +protected: +/** + * @fn paintLabel( QPainter* p, const QRect& br, QTab* t, bool has_focus ) + * @brief Internal function to draw a tab's label. + * + * @param p Pointer to QPainter used for drawing. + * @param br QRect providing region to draw label in. + * @param t Tab to draw label for. + * @param has_focus Boolean value not used, retained for compatibility reasons. + */ + void paintLabel( QPainter *, const QRect &, QTab *, bool ) const; +}; + +#endif diff --git a/libopie/otimepickerbase.h b/libopie/otimepickerbase.h deleted file mode 100644 index 09598f9..0000000 --- a/libopie/otimepickerbase.h +++ b/dev/null @@ -1,47 +0,0 @@ -/**************************************************************************** -** Form interface generated from reading ui file 'otimepickerbase.ui' -** -** Created: Tue Sep 3 13:12:19 2002 -** by: The User Interface Compiler (uic) -** -** WARNING! All changes made in this file will be lost! -****************************************************************************/ -#ifndef OTIMEPICKERDIALOGBASE_H -#define OTIMEPICKERDIALOGBASE_H - -#include <qvariant.h> -#include <qdialog.h> -class QVBoxLayout; -class QHBoxLayout; -class QGridLayout; -class OTimePicker; -class QFrame; -class QGroupBox; -class QLabel; -class QLineEdit; - -class OTimePickerDialogBase : public QDialog -{ - Q_OBJECT - -public: - OTimePickerDialogBase( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ); - ~OTimePickerDialogBase(); - - QFrame* Frame10; - QFrame* Frame4; - QLabel* TextLabel1; - QLineEdit* hourField; - QLabel* TextLabel1_2; - QLineEdit* minuteField; - QGroupBox* GroupBox1; - OTimePicker* m_timePicker; - -protected: - QVBoxLayout* OTimePickerDialogBaseLayout; - QHBoxLayout* Frame10Layout; - QHBoxLayout* Frame4Layout; - bool event( QEvent* ); -}; - -#endif // OTIMEPICKERDIALOGBASE_H |