summaryrefslogtreecommitdiff
path: root/libopie2/opieui
Unidiff
Diffstat (limited to 'libopie2/opieui') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opieui/odialog.h5
-rw-r--r--libopie2/opieui/oimageeffect.h1
-rw-r--r--libopie2/opieui/olistview.h4
-rw-r--r--libopie2/opieui/opopupmenu.h3
4 files changed, 9 insertions, 4 deletions
diff --git a/libopie2/opieui/odialog.h b/libopie2/opieui/odialog.h
index 7947dfb..4116ed7 100644
--- a/libopie2/opieui/odialog.h
+++ b/libopie2/opieui/odialog.h
@@ -1,88 +1,89 @@
1/* 1/*
2                 This file is part of the Opie Project 2                 This file is part of the Opie Project
3 3
4              (C) 2003 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> 4              (C) 2003 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
5 =. 5 =.
6 .=l. 6 .=l.
7           .>+-= 7           .>+-=
8 _;:,     .>    :=|. This program is free software; you can 8 _;:,     .>    :=|. This program is free software; you can
9.> <`_,   >  .   <= redistribute it and/or modify it under 9.> <`_,   >  .   <= redistribute it and/or modify it under
10:`=1 )Y*s>-.--   : the terms of the GNU Library General Public 10:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
11.="- .-=="i,     .._ License as published by the Free Software 11.="- .-=="i,     .._ License as published by the Free Software
12 - .   .-<_>     .<> Foundation; either version 2 of the License, 12 - .   .-<_>     .<> Foundation; either version 2 of the License,
13     ._= =}       : or (at your option) any later version. 13     ._= =}       : or (at your option) any later version.
14    .%`+i>       _;_. 14    .%`+i>       _;_.
15    .i_,=:_.      -<s. This program is distributed in the hope that 15    .i_,=:_.      -<s. This program is distributed in the hope that
16     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 16     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
17    : ..    .:,     . . . without even the implied warranty of 17    : ..    .:,     . . . without even the implied warranty of
18    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 18    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
19  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU 19  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
20..}^=.=       =       ; Library General Public License for more 20..}^=.=       =       ; Library General Public License for more
21++=   -.     .`     .: details. 21++=   -.     .`     .: details.
22 :     =  ...= . :.=- 22 :     =  ...= . :.=-
23 -.   .:....=;==+<; You should have received a copy of the GNU 23 -.   .:....=;==+<; You should have received a copy of the GNU
24  -_. . .   )=.  = Library General Public License along with 24  -_. . .   )=.  = Library General Public License along with
25    --        :-=` this library; see the file COPYING.LIB. 25    --        :-=` this library; see the file COPYING.LIB.
26 If not, write to the Free Software Foundation, 26 If not, write to the Free Software Foundation,
27 Inc., 59 Temple Place - Suite 330, 27 Inc., 59 Temple Place - Suite 330,
28 Boston, MA 02111-1307, USA. 28 Boston, MA 02111-1307, USA.
29 29
30*/ 30*/
31 31
32#ifndef ODIALOG_H 32#ifndef ODIALOG_H
33#define ODIALOG_H 33#define ODIALOG_H
34 34
35class QLayoutItem; 35class QLayoutItem;
36 36
37#include <qdialog.h> 37#include <qdialog.h>
38 38
39/** 39/**
40 * Dialog with extended nonmodal support and methods for OPIE standard 40 * Dialog with extended nonmodal support and methods for OPIE standard
41 * compliance. 41 * compliance.
42 * 42 *
43 * The @ref marginHint() and @ref spacingHint() sizes shall be used 43 * The @ref marginHint() and @ref spacingHint() sizes shall be used
44 * whenever you layout the interior of a dialog. One special note. If 44 * whenever you layout the interior of a dialog. One special note. If
45 * you make your own action buttons (OK, Cancel etc), the space 45 * you make your own action buttons (OK, Cancel etc), the space
46 * beteween the buttons shall be @ref spacingHint(), whereas the space 46 * beteween the buttons shall be @ref spacingHint(), whereas the space
47 * above, below, to the right and to the left shall be @ref marginHint(). 47 * above, below, to the right and to the left shall be @ref marginHint().
48 * If you add a separator line above the buttons, there shall be a 48 * If you add a separator line above the buttons, there shall be a
49 * @ref marginHint() between the buttons and the separator and a 49 * @ref marginHint() between the buttons and the separator and a
50 * @ref marginHint() above the separator as well. 50 * @ref marginHint() above the separator as well.
51 * 51 *
52 * @author Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> 52 * @author Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
53 */ 53 */
54 // lets fix up Qt instead! Size does matter. -zecke
54 55
55class ODialog : public QDialog 56class ODialog : public QDialog
56{ 57{
57 Q_OBJECT 58 Q_OBJECT
58 59
59 public: 60 public:
60 61
61 /** 62 /**
62 * Constructor. 63 * Constructor.
63 * 64 *
64 * Takes the same arguments as @ref QDialog. 65 * Takes the same arguments as @ref QDialog.
65 */ 66 */
66 ODialog(QWidget *parent = 0, const char *name = 0, bool modal = false, WFlags f = 0); 67 ODialog(QWidget *parent = 0, const char *name = 0, bool modal = false, WFlags f = 0);
67 68
68 /** 69 /**
69 * Return the number of pixels you shall use between a 70 * Return the number of pixels you shall use between a
70 * dialog edge and the outermost widget(s) according to the KDE standard. 71 * dialog edge and the outermost widget(s) according to the KDE standard.
71 **/ 72 **/
72 static int marginHint(); 73 static int marginHint();
73 74
74 /** 75 /**
75 * Return the number of pixels you shall use between 76 * Return the number of pixels you shall use between
76 * widgets inside a dialog according to the KDE standard. 77 * widgets inside a dialog according to the KDE standard.
77 */ 78 */
78 static int spacingHint(); 79 static int spacingHint();
79 80
80 private: 81 private:
81 static int mMarginSize; 82 static int mMarginSize;
82 static int mSpacingSize; 83 static int mSpacingSize;
83 84
84 //class ODialogPrivate; 85 class ODialogPrivate;
85 //ODialogPrivate *d; 86 ODialogPrivate *d; // d pointer always needed! -zecke
86 87
87}; 88};
88#endif // ODIALOG_H 89#endif // ODIALOG_H
diff --git a/libopie2/opieui/oimageeffect.h b/libopie2/opieui/oimageeffect.h
index 313ea50..fb4d22d 100644
--- a/libopie2/opieui/oimageeffect.h
+++ b/libopie2/opieui/oimageeffect.h
@@ -1,130 +1,131 @@
1//FIXME: Revise for Opie - do we really need such fancy stuff on PDA's? 1//FIXME: Revise for Opie - do we really need such fancy stuff on PDA's?
2//FIXME: Maybe not on SL5xxx, but surely on C700 :)) 2//FIXME: Maybe not on SL5xxx, but surely on C700 :))
3//FIXME: I think we don#t need that -zecke
3 4
4/* This file is part of the KDE libraries 5/* This file is part of the KDE libraries
5 Copyright (C) 1998, 1999, 2001, 2002 Daniel M. Duley <mosfet@interaccess.com> 6 Copyright (C) 1998, 1999, 2001, 2002 Daniel M. Duley <mosfet@interaccess.com>
6 (C) 1998, 1999 Christian Tibirna <ctibirna@total.net> 7 (C) 1998, 1999 Christian Tibirna <ctibirna@total.net>
7 (C) 1998, 1999 Dirk A. Mueller <mueller@kde.org> 8 (C) 1998, 1999 Dirk A. Mueller <mueller@kde.org>
8 9
9Redistribution and use in source and binary forms, with or without 10Redistribution and use in source and binary forms, with or without
10modification, are permitted provided that the following conditions 11modification, are permitted provided that the following conditions
11are met: 12are met:
12 13
131. Redistributions of source code must retain the above copyright 141. Redistributions of source code must retain the above copyright
14 notice, this list of conditions and the following disclaimer. 15 notice, this list of conditions and the following disclaimer.
152. Redistributions in binary form must reproduce the above copyright 162. Redistributions in binary form must reproduce the above copyright
16 notice, this list of conditions and the following disclaimer in the 17 notice, this list of conditions and the following disclaimer in the
17 documentation and/or other materials provided with the distribution. 18 documentation and/or other materials provided with the distribution.
18 19
19THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 20THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 21IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 22OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 23IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
23INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 24INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
24NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 28(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 30
30*/ 31*/
31 32
32// $Id$ 33// $Id$
33 34
34#ifndef OIMAGEEFFECT_H 35#ifndef OIMAGEEFFECT_H
35#define OIMAGEEFFECT_H 36#define OIMAGEEFFECT_H
36 37
37class QImage; 38class QImage;
38class QSize; 39class QSize;
39class QColor; 40class QColor;
40 41
41/** 42/**
42 * This class includes various @ref QImage based graphical effects. 43 * This class includes various @ref QImage based graphical effects.
43 * 44 *
44 * Everything is 45 * Everything is
45 * static, so there is no need to create an instance of this class. You can 46 * static, so there is no need to create an instance of this class. You can
46 * just call the static methods. They are encapsulated here merely to provide 47 * just call the static methods. They are encapsulated here merely to provide
47 * a common namespace. 48 * a common namespace.
48 */ 49 */
49 50
50class OImageEffect 51class OImageEffect
51{ 52{
52public: 53public:
53 enum GradientType { VerticalGradient, HorizontalGradient, 54 enum GradientType { VerticalGradient, HorizontalGradient,
54 DiagonalGradient, CrossDiagonalGradient, 55 DiagonalGradient, CrossDiagonalGradient,
55 PyramidGradient, RectangleGradient, 56 PyramidGradient, RectangleGradient,
56 PipeCrossGradient, EllipticGradient }; 57 PipeCrossGradient, EllipticGradient };
57 enum RGBComponent { Red, Green, Blue, Gray, All }; 58 enum RGBComponent { Red, Green, Blue, Gray, All };
58 59
59 enum Lighting {NorthLite, NWLite, WestLite, SWLite, 60 enum Lighting {NorthLite, NWLite, WestLite, SWLite,
60 SouthLite, SELite, EastLite, NELite}; 61 SouthLite, SELite, EastLite, NELite};
61 62
62 enum ModulationType { Intensity, Saturation, HueShift, Contrast }; 63 enum ModulationType { Intensity, Saturation, HueShift, Contrast };
63 64
64 enum NoiseType { UniformNoise=0, GaussianNoise, MultiplicativeGaussianNoise, 65 enum NoiseType { UniformNoise=0, GaussianNoise, MultiplicativeGaussianNoise,
65 ImpulseNoise, LaplacianNoise, PoissonNoise}; 66 ImpulseNoise, LaplacianNoise, PoissonNoise};
66 67
67 enum RotateDirection{ Rotate90, Rotate180, Rotate270 }; 68 enum RotateDirection{ Rotate90, Rotate180, Rotate270 };
68 69
69 /** 70 /**
70 * Create a gradient from color a to color b of the specified type. 71 * Create a gradient from color a to color b of the specified type.
71 * 72 *
72 * @param size The desired size of the gradient. 73 * @param size The desired size of the gradient.
73 * @param ca Color a 74 * @param ca Color a
74 * @param cb Color b 75 * @param cb Color b
75 * @param type The type of gradient. 76 * @param type The type of gradient.
76 * @param ncols The number of colors to use when not running on a 77 * @param ncols The number of colors to use when not running on a
77 * truecolor display. The gradient will be dithered to this number of 78 * truecolor display. The gradient will be dithered to this number of
78 * colors. Pass 0 to prevent dithering. 79 * colors. Pass 0 to prevent dithering.
79 */ 80 */
80 static QImage gradient(const QSize &size, const QColor &ca, 81 static QImage gradient(const QSize &size, const QColor &ca,
81 const QColor &cb, GradientType type, int ncols=3); 82 const QColor &cb, GradientType type, int ncols=3);
82 83
83 /** 84 /**
84 * Create an unbalanced gradient. 85 * Create an unbalanced gradient.
85 86
86 * An unbalanced gradient is a gradient where the transition from 87 * An unbalanced gradient is a gradient where the transition from
87 * color a to color b is not linear, but in this case, exponential. 88 * color a to color b is not linear, but in this case, exponential.
88 * 89 *
89 * @param size The desired size of the gradient. 90 * @param size The desired size of the gradient.
90 * @param ca Color a 91 * @param ca Color a
91 * @param cb Color b 92 * @param cb Color b
92 * @param type The type of gradient. 93 * @param type The type of gradient.
93 * @param xfactor The x decay length. Use a value between -200 and 200. 94 * @param xfactor The x decay length. Use a value between -200 and 200.
94 * @param yfactor The y decay length. 95 * @param yfactor The y decay length.
95 * @param ncols The number of colors. See OPixmapEffect:gradient. 96 * @param ncols The number of colors. See OPixmapEffect:gradient.
96 */ 97 */
97 static QImage unbalancedGradient(const QSize &size, const QColor &ca, 98 static QImage unbalancedGradient(const QSize &size, const QColor &ca,
98 const QColor &cb, GradientType type, int xfactor = 100, 99 const QColor &cb, GradientType type, int xfactor = 100,
99 int yfactor = 100, int ncols = 3); 100 int yfactor = 100, int ncols = 3);
100 101
101 /** 102 /**
102 * Blends a color into the destination image, using an opacity 103 * Blends a color into the destination image, using an opacity
103 * value for blending one into another. Very fast direct pixel 104 * value for blending one into another. Very fast direct pixel
104 * manipulation is used. 105 * manipulation is used.
105 * 106 *
106 * @author Karol Szwed (gallium@kde.org) 107 * @author Karol Szwed (gallium@kde.org)
107 * @param clr source color to be blended into the destination image. 108 * @param clr source color to be blended into the destination image.
108 * @param dst destination image in which the source will be blended into. 109 * @param dst destination image in which the source will be blended into.
109 * @param opacity opacity (in percent) which determines how much the source 110 * @param opacity opacity (in percent) which determines how much the source
110 * color will be blended into the destination image. 111 * color will be blended into the destination image.
111 * @return The destination image (dst) containing the result. 112 * @return The destination image (dst) containing the result.
112 */ 113 */
113 static QImage& blend(const QColor& clr, QImage& dst, float opacity); 114 static QImage& blend(const QColor& clr, QImage& dst, float opacity);
114 115
115 /** 116 /**
116 * Blend the src image into the destination image, using an opacity 117 * Blend the src image into the destination image, using an opacity
117 * value for blending one into another. Very fast direct pixel 118 * value for blending one into another. Very fast direct pixel
118 * manipulation is used. 119 * manipulation is used.
119 * 120 *
120 * @author Karol Szwed (gallium@kde.org) 121 * @author Karol Szwed (gallium@kde.org)
121 * @param src source image to be blended into the destination image. 122 * @param src source image to be blended into the destination image.
122 * @param dst destination image in which the source will be blended into. 123 * @param dst destination image in which the source will be blended into.
123 * @param opacity opacity (in percent) which determines how much the source 124 * @param opacity opacity (in percent) which determines how much the source
124 * image will be blended into the destination image. 125 * image will be blended into the destination image.
125 * @return The destination image (dst) containing the result. 126 * @return The destination image (dst) containing the result.
126 */ 127 */
127 static QImage& blend(QImage& src, QImage& dst, float opacity); 128 static QImage& blend(QImage& src, QImage& dst, float opacity);
128 129
129 /** 130 /**
130 * Blend the provided image into a background of the indicated color. 131 * Blend the provided image into a background of the indicated color.
diff --git a/libopie2/opieui/olistview.h b/libopie2/opieui/olistview.h
index bafc67c..b62e278 100644
--- a/libopie2/opieui/olistview.h
+++ b/libopie2/opieui/olistview.h
@@ -1,235 +1,235 @@
1/* 1/*
2                 This file is part of the Opie Project 2                 This file is part of the Opie Project
3 3
4 =. (C) 2003 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> 4 =. (C) 2003 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
5 .=l. 5 .=l.
6           .>+-= 6           .>+-=
7 _;:,     .>    :=|. This program is free software; you can 7 _;:,     .>    :=|. This program is free software; you can
8.> <`_,   >  .   <= redistribute it and/or modify it under 8.> <`_,   >  .   <= redistribute it and/or modify it under
9:`=1 )Y*s>-.--   : the terms of the GNU Library General Public 9:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
10.="- .-=="i,     .._ License as published by the Free Software 10.="- .-=="i,     .._ License as published by the Free Software
11 - .   .-<_>     .<> Foundation; either version 2 of the License, 11 - .   .-<_>     .<> Foundation; either version 2 of the License,
12     ._= =}       : or (at your option) any later version. 12     ._= =}       : or (at your option) any later version.
13    .%`+i>       _;_. 13    .%`+i>       _;_.
14    .i_,=:_.      -<s. This program is distributed in the hope that 14    .i_,=:_.      -<s. This program is distributed in the hope that
15     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 15     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
16    : ..    .:,     . . . without even the implied warranty of 16    : ..    .:,     . . . without even the implied warranty of
17    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 17    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
18  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU 18  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
19..}^=.=       =       ; Library General Public License for more 19..}^=.=       =       ; Library General Public License for more
20++=   -.     .`     .: details. 20++=   -.     .`     .: details.
21 :     =  ...= . :.=- 21 :     =  ...= . :.=-
22 -.   .:....=;==+<; You should have received a copy of the GNU 22 -.   .:....=;==+<; You should have received a copy of the GNU
23  -_. . .   )=.  = Library General Public License along with 23  -_. . .   )=.  = Library General Public License along with
24    --        :-=` this library; see the file COPYING.LIB. 24    --        :-=` this library; see the file COPYING.LIB.
25 If not, write to the Free Software Foundation, 25 If not, write to the Free Software Foundation,
26 Inc., 59 Temple Place - Suite 330, 26 Inc., 59 Temple Place - Suite 330,
27 Boston, MA 02111-1307, USA. 27 Boston, MA 02111-1307, USA.
28 28
29*/ 29*/
30 30
31#ifndef OLISTVIEW_H 31#ifndef OLISTVIEW_H
32#define OLISTVIEW_H 32#define OLISTVIEW_H
33 33
34#include <qcolor.h> 34#include <qcolor.h>
35#include <qlistview.h> 35#include <qlistview.h>
36#include <qpen.h> 36#include <qpen.h>
37#include <qdatastream.h> 37#include <qdatastream.h>
38 38
39class OListViewItem; 39class OListViewItem;
40 40
41/** 41/**
42 * A @ref QListView variant featuring visual and functional enhancements 42 * A @ref QListView variant featuring visual and functional enhancements
43 * like an alternate background for odd rows, an autostretch mode 43 * like an alternate background for odd rows, an autostretch mode
44 * for the width of the widget ( >= Qt 3 only ) and persistence capabilities. 44 * for the width of the widget ( >= Qt 3 only ) and persistence capabilities.
45 * 45 *
46 * @author Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> 46 * @author Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
47 * @short OListView list/tree widget. 47 * @short OListView list/tree widget.
48 */ 48 */
49 class OListView: public QListView 49 class OListView: public QListView
50{ 50{
51 public: 51 public:
52 /** 52 /**
53 * Constructor. 53 * Constructor.
54 * 54 *
55 * The parameters @p parent and @p name are handled by 55 * The parameters @p parent and @p name are handled by
56 * @ref QListView, as usual. 56 * @ref QListView, as usual.
57 */ 57 */
58 OListView ( QWidget *parent = 0, const char *name = 0 ); 58 OListView ( QWidget *parent = 0, const char *name = 0 );
59 59
60 /** 60 /**
61 * Destructor. 61 * Destructor.
62 */ 62 */
63 virtual ~OListView(); 63 virtual ~OListView();
64 64
65 /** 65 /**
66 * Let the last column fit exactly all the available width. 66 * Let the last column fit exactly all the available width.
67 */ 67 */
68 void setFullWidth( bool fullWidth ); 68 void setFullWidth( bool fullWidth );
69 69
70 /** 70 /**
71 * Returns whether the last column is set to fit the available width. 71 * Returns whether the last column is set to fit the available width.
72 */ 72 */
73 bool fullWidth() const; 73 bool fullWidth() const;
74 74
75 /** 75 /**
76 * Reimplemented for full width support 76 * Reimplemented for full width support
77 */ 77 */
78 virtual int addColumn( const QString& label, int width = -1 ); 78 virtual int addColumn( const QString& label, int width = -1 );
79 79
80 /** 80 /**
81 * Reimplemented for full width support 81 * Reimplemented for full width support
82 */ 82 */
83 virtual int addColumn( const QIconSet& iconset, const QString& label, int width = -1 ); 83 virtual int addColumn( const QIconSet& iconset, const QString& label, int width = -1 );
84 84
85 /** 85 /**
86 * Reimplemented for full width support 86 * Reimplemented for full width support
87 */ 87 */
88 virtual void removeColumn(int index); 88 virtual void removeColumn(int index);
89 89
90 /** 90 /**
91 * sets the alternate background background color. 91 * sets the alternate background background color.
92 * This only has an effect if the items are OListViewItems 92 * This only has an effect if the items are OListViewItems
93 * 93 *
94 * @param c the color to use for every other item. Set to an invalid 94 * @param c the color to use for every other item. Set to an invalid
95 * color to disable alternate colors. 95 * color to disable alternate colors.
96 */ 96 */
97 void setAlternateBackground( const QColor &c ); 97 void setAlternateBackground( const QColor &c );
98 98
99 /** 99 /**
100 * sets the column separator pen. 100 * sets the column separator pen.
101 * 101 *
102 * @param p the pen used to draw the column separator. 102 * @param p the pen used to draw the column separator.
103 */ 103 */
104 void setColumnSeparator( const QPen &p ); 104 void setColumnSeparator( const QPen &p );
105 105
106 /** 106 /**
107 * @return the alternate background color 107 * @return the alternate background color
108 */ 108 */
109 const QColor& alternateBackground() const; 109 const QColor& alternateBackground() const;
110 110
111 /** 111 /**
112 * @return the column separator pen 112 * @return the column separator pen
113 */ 113 */
114 const QPen& columnSeparator() const; 114 const QPen& columnSeparator() const;
115 115
116 /** 116 /**
117 * create a list view item as child of this object 117 * create a list view item as child of this object
118 * @return the new object 118 * @return the new object
119 */ 119 */
120 virtual OListViewItem* childFactory(); 120 virtual OListViewItem* childFactory();
121 121
122 #ifndef QT_NO_DATASTREAM 122#ifndef QT_NO_DATASTREAM
123 /** 123 /**
124 * serialize this object to a @ref QDataStream 124 * serialize this object to a @ref QDataStream
125 * @param s the stream used to serialize this object. 125 * @param s the stream used to serialize this object.
126 */ 126 */
127 virtual void serializeTo( QDataStream& s ) const; 127 virtual void serializeTo( QDataStream& s ) const;
128 128
129 /** 129 /**
130 * serialize this object from a @ref QDataStream 130 * serialize this object from a @ref QDataStream
131 * @param s the stream used to serialize this object. 131 * @param s the stream used to serialize this object.
132 */ 132 */
133 virtual void serializeFrom( QDataStream& s ); 133 virtual void serializeFrom( QDataStream& s );
134 #endif 134#endif
135 135
136 private: 136 private:
137 QColor m_alternateBackground; 137 QColor m_alternateBackground;
138 bool m_fullWidth; 138 bool m_fullWidth;
139 QPen m_columnSeparator; 139 QPen m_columnSeparator;
140}; 140};
141 141
142#ifndef QT_NO_DATASTREAM 142#ifndef QT_NO_DATASTREAM
143/** 143/**
144 * \relates QListView 144 * \relates QListView
145 * Writes a listview to the stream and returns a reference to the stream. 145 * Writes a listview to the stream and returns a reference to the stream.
146 */ 146 */
147QDataStream& operator<<( QDataStream& s, const OListView& lv ); 147QDataStream& operator<<( QDataStream& s, const OListView& lv );
148/** 148/**
149 * \relates QListView 149 * \relates QListView
150 * Reads a listview from the stream and returns a reference to the stream. 150 * Reads a listview from the stream and returns a reference to the stream.
151 */ 151 */
152QDataStream& operator>>( QDataStream& s, OListView& lv ); 152QDataStream& operator>>( QDataStream& s, OListView& lv );
153#endif // QT_NO_DATASTREAM 153#endif // QT_NO_DATASTREAM
154 154
155//****************************** OListViewItem ****************************************************************** 155//****************************** OListViewItem ******************************************************************
156 156
157class OListViewItem: public QListViewItem 157class OListViewItem: public QListViewItem
158{ 158{
159 public: 159 public:
160 OListViewItem( QListView * parent ); 160 OListViewItem( QListView * parent );
161 OListViewItem( QListViewItem * parent ); 161 OListViewItem( QListViewItem * parent );
162 OListViewItem( QListView * parent, QListViewItem * after ); 162 OListViewItem( QListView * parent, QListViewItem * after );
163 OListViewItem( QListViewItem * parent, QListViewItem * after ); 163 OListViewItem( QListViewItem * parent, QListViewItem * after );
164 164
165 OListViewItem( QListView * parent, 165 OListViewItem( QListView * parent,
166 QString, QString = QString::null, 166 QString, QString = QString::null,
167 QString = QString::null, QString = QString::null, 167 QString = QString::null, QString = QString::null,
168 QString = QString::null, QString = QString::null, 168 QString = QString::null, QString = QString::null,
169 QString = QString::null, QString = QString::null ); 169 QString = QString::null, QString = QString::null );
170 170
171 OListViewItem( QListViewItem * parent, 171 OListViewItem( QListViewItem * parent,
172 QString, QString = QString::null, 172 QString, QString = QString::null,
173 QString = QString::null, QString = QString::null, 173 QString = QString::null, QString = QString::null,
174 QString = QString::null, QString = QString::null, 174 QString = QString::null, QString = QString::null,
175 QString = QString::null, QString = QString::null ); 175 QString = QString::null, QString = QString::null );
176 176
177 OListViewItem( QListView * parent, QListViewItem * after, 177 OListViewItem( QListView * parent, QListViewItem * after,
178 QString, QString = QString::null, 178 QString, QString = QString::null,
179 QString = QString::null, QString = QString::null, 179 QString = QString::null, QString = QString::null,
180 QString = QString::null, QString = QString::null, 180 QString = QString::null, QString = QString::null,
181 QString = QString::null, QString = QString::null ); 181 QString = QString::null, QString = QString::null );
182 182
183 OListViewItem( QListViewItem * parent, QListViewItem * after, 183 OListViewItem( QListViewItem * parent, QListViewItem * after,
184 QString, QString = QString::null, 184 QString, QString = QString::null,
185 QString = QString::null, QString = QString::null, 185 QString = QString::null, QString = QString::null,
186 QString = QString::null, QString = QString::null, 186 QString = QString::null, QString = QString::null,
187 QString = QString::null, QString = QString::null ); 187 QString = QString::null, QString = QString::null );
188 188
189 virtual ~OListViewItem(); 189 virtual ~OListViewItem();
190 190
191 const QColor& backgroundColor(); 191 const QColor& backgroundColor();
192 bool isAlternate(); 192 bool isAlternate();
193 void paintCell( QPainter *p, const QColorGroup &cg, int column, int width, int alignment ); 193 void paintCell( QPainter *p, const QColorGroup &cg, int column, int width, int alignment );
194 void init(); 194 void init();
195 195
196 /** 196 /**
197 * create a list view item as child of this object 197 * create a list view item as child of this object
198 * @return the new object 198 * @return the new object
199 */ 199 */
200 virtual OListViewItem* childFactory(); 200 virtual OListViewItem* childFactory();
201 201
202 #ifndef QT_NO_DATASTREAM 202 #ifndef QT_NO_DATASTREAM
203 /** 203 /**
204 * serialize this object to or from a @ref QDataStream 204 * serialize this object to or from a @ref QDataStream
205 * @param s the stream used to serialize this object. 205 * @param s the stream used to serialize this object.
206 */ 206 */
207 virtual void serializeTo( QDataStream& s ) const; 207 virtual void serializeTo( QDataStream& s ) const;
208 208
209 /** 209 /**
210 * serialize this object to or from a @ref QDataStream 210 * serialize this object to or from a @ref QDataStream
211 * @param s the stream used to serialize this object. 211 * @param s the stream used to serialize this object.
212 */ 212 */
213 virtual void serializeFrom( QDataStream& s ); 213 virtual void serializeFrom( QDataStream& s );
214 #endif 214 #endif
215 215
216 private: 216 private:
217 bool m_known; 217 bool m_known;
218 bool m_odd; 218 bool m_odd;
219}; 219};
220 220
221#ifndef QT_NO_DATASTREAM 221#ifndef QT_NO_DATASTREAM
222/** 222/**
223 * \relates QListViewItem 223 * \relates QListViewItem
224 * Writes a listview item and all subitems recursively to the stream 224 * Writes a listview item and all subitems recursively to the stream
225 * and returns a reference to the stream. 225 * and returns a reference to the stream.
226 */ 226 */
227QDataStream& operator<<( QDataStream &s, const OListViewItem& lvi ); 227QDataStream& operator<<( QDataStream &s, const OListViewItem& lvi );
228/** 228/**
229 * \relates QListViewItem 229 * \relates QListViewItem
230 * Reads a listview item from the stream and returns a reference to the stream. 230 * Reads a listview item from the stream and returns a reference to the stream.
231 */ 231 */
232QDataStream& operator>>( QDataStream &s, OListViewItem& lvi ); 232QDataStream& operator>>( QDataStream &s, OListViewItem& lvi );
233#endif // QT_NO_DATASTREAM 233#endif // QT_NO_DATASTREAM
234 234
235#endif // OLISTVIEW_H 235#endif // OLISTVIEW_H
diff --git a/libopie2/opieui/opopupmenu.h b/libopie2/opieui/opopupmenu.h
index 94f05f4..54e4301 100644
--- a/libopie2/opieui/opopupmenu.h
+++ b/libopie2/opieui/opopupmenu.h
@@ -1,128 +1,131 @@
1//FIXME what is ODE? ODE Desktop Environemt? -zecke
2//FIXME do we need titles? space is limited that is only eyecandy? -zecke
3//FIXME keyboard navigation is also not that popular on a PDA might be with a keyboard (tuxphone) -zecke
1/* This file is part of the ODE libraries 4/* This file is part of the ODE libraries
2 Copyright (C) 2000 Daniel M. Duley <mosfet@kde.org> 5 Copyright (C) 2000 Daniel M. Duley <mosfet@kde.org>
3 6
4 This library is free software; you can redistribute it and/or 7 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public 8 modify it under the terms of the GNU Library General Public
6 License version 2 as published by the Free Software Foundation. 9 License version 2 as published by the Free Software Foundation.
7 10
8 This library is distributed in the hope that it will be useful, 11 This library is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 Library General Public License for more details. 14 Library General Public License for more details.
12 15
13 You should have received a copy of the GNU Library General Public License 16 You should have received a copy of the GNU Library General Public License
14 along with this library; see the file COPYING.LIB. If not, write to 17 along with this library; see the file COPYING.LIB. If not, write to
15 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
16 Boston, MA 02111-1307, USA. 19 Boston, MA 02111-1307, USA.
17*/ 20*/
18#ifndef _OPOPUP_H 21#ifndef _OPOPUP_H
19#define _OPOPUP_H 22#define _OPOPUP_H
20 23
21#define INCLUDE_MENUITEM_DEF 24#define INCLUDE_MENUITEM_DEF
22 25
23/* QT */ 26/* QT */
24 27
25#include <qpopupmenu.h> 28#include <qpopupmenu.h>
26 29
27/* OPIE */ 30/* OPIE */
28 31
29#include <opie2/opixmapeffect.h> 32#include <opie2/opixmapeffect.h>
30 33
31/** 34/**
32 * Title widget for use in @ref OPopupMenu. 35 * Title widget for use in @ref OPopupMenu.
33 * 36 *
34 * You usually don't have to create this manually since 37 * You usually don't have to create this manually since
35 * @ref OPopupMenu::insertTitle will do it for you, but it is allowed if 38 * @ref OPopupMenu::insertTitle will do it for you, but it is allowed if
36 * you wish to customize it's look. 39 * you wish to customize it's look.
37 * 40 *
38 * @author Daniel M. Duley <mosfet@kde.org> 41 * @author Daniel M. Duley <mosfet@kde.org>
39 * @short OPopupMenu title widget. 42 * @short OPopupMenu title widget.
40 */ 43 */
41class OPopupTitle : public QWidget 44class OPopupTitle : public QWidget
42{ 45{
43 Q_OBJECT 46 Q_OBJECT
44 47
45public: 48public:
46 /** 49 /**
47 * Constructs a title widget with the user specified gradient, pixmap, 50 * Constructs a title widget with the user specified gradient, pixmap,
48 * and colors. 51 * and colors.
49 */ 52 */
50 OPopupTitle(QWidget *parent=0, const char *name=0); 53 OPopupTitle(QWidget *parent=0, const char *name=0);
51 /** 54 /**
52 * @deprecated 55 * @deprecated
53 * Constructs a title widget with the specified gradient and colors. 56 * Constructs a title widget with the specified gradient and colors.
54 */ 57 */
55 OPopupTitle(OPixmapEffect::GradientType gradient, const QColor &color, 58 OPopupTitle(OPixmapEffect::GradientType gradient, const QColor &color,
56 const QColor &textColor, QWidget *parent=0, 59 const QColor &textColor, QWidget *parent=0,
57 const char *name=0); 60 const char *name=0);
58 /** 61 /**
59 * @deprecated 62 * @deprecated
60 * Constructs a title widget with the specified pixmap and colors. 63 * Constructs a title widget with the specified pixmap and colors.
61 */ 64 */
62 OPopupTitle(const OPixmap &background, const QColor &color, 65 OPopupTitle(const OPixmap &background, const QColor &color,
63 const QColor &textColor, QWidget *parent=0, 66 const QColor &textColor, QWidget *parent=0,
64 const char *name=0); 67 const char *name=0);
65 /** 68 /**
66 * Sets the title string and optional icon for the title widget. 69 * Sets the title string and optional icon for the title widget.
67 * 70 *
68 * You will want to call this before inserting into a menu. 71 * You will want to call this before inserting into a menu.
69 */ 72 */
70 void setTitle(const QString &text, const QPixmap *icon=NULL); 73 void setTitle(const QString &text, const QPixmap *icon=NULL);
71 /** 74 /**
72 * Returns the current title. 75 * Returns the current title.
73 */ 76 */
74 QString title() const { return(titleStr); } 77 QString title() const { return(titleStr); }
75 /** 78 /**
76 * Returns the current icon. 79 * Returns the current icon.
77 */ 80 */
78 QPixmap icon() const { return(miniicon); } 81 QPixmap icon() const { return(miniicon); }
79 82
80 QSize sizeHint() const; 83 QSize sizeHint() const;
81 84
82public slots: 85public slots:
83 /// @since 3.1 86 /// @since 3.1
84 void setText( const QString &text ); 87 void setText( const QString &text );
85 /// @since 3.1 88 /// @since 3.1
86 void setIcon( const QPixmap &pix ); 89 void setIcon( const QPixmap &pix );
87 90
88protected: 91protected:
89 void paintEvent(QPaintEvent *ev); 92 void paintEvent(QPaintEvent *ev);
90 93
91 QString titleStr; 94 QString titleStr;
92 QPixmap miniicon; 95 QPixmap miniicon;
93 96
94 // Remove in KDE4 97 // Remove in KDE4
95 OPixmapEffect::GradientType grType; 98 OPixmapEffect::GradientType grType;
96 QPixmap fill; 99 QPixmap fill;
97 QColor fgColor, bgColor, grHigh, grLow; 100 QColor fgColor, bgColor, grHigh, grLow;
98 bool useGradient; 101 bool useGradient;
99 102
100protected: 103protected:
101 virtual void virtual_hook( int id, void* data ); 104 virtual void virtual_hook( int id, void* data );
102private: 105private:
103 class OPopupTitlePrivate; 106 class OPopupTitlePrivate;
104 OPopupTitlePrivate *d; 107 OPopupTitlePrivate *d;
105}; 108};
106 109
107/** 110/**
108 * OPopupMenu is a class for menus with standard title items and keyboard 111 * OPopupMenu is a class for menus with standard title items and keyboard
109 * accessibility for popups with many options and/or varying options. It acts 112 * accessibility for popups with many options and/or varying options. It acts
110 * identically to QPopupMenu, with the addition of insertTitle(), 113 * identically to QPopupMenu, with the addition of insertTitle(),
111 * changeTitle(), setKeyboardShortcutsEnabled() and 114 * changeTitle(), setKeyboardShortcutsEnabled() and
112 * setKeyboardShortcutsExecute() methods. 115 * setKeyboardShortcutsExecute() methods.
113 * 116 *
114 * The titles support a text string, an icon, plus user defined gradients, 117 * The titles support a text string, an icon, plus user defined gradients,
115 * colors, and background pixmaps. 118 * colors, and background pixmaps.
116 * 119 *
117 * The keyboard search algorithm is incremental with additional underlining 120 * The keyboard search algorithm is incremental with additional underlining
118 * for user feedback. 121 * for user feedback.
119 * 122 *
120 * @short A menu with title items. 123 * @short A menu with title items.
121 * @author Daniel M. Duley <mosfet@kde.org> 124 * @author Daniel M. Duley <mosfet@kde.org>
122 * @author Hamish Rodda <meddie@yoyo.its.monash.edu.au> 125 * @author Hamish Rodda <meddie@yoyo.its.monash.edu.au>
123 */ 126 */
124class OPopupMenu : public QPopupMenu { 127class OPopupMenu : public QPopupMenu {
125 Q_OBJECT 128 Q_OBJECT
126public: 129public:
127 /** 130 /**
128 * Constructs a OPopupMenu. 131 * Constructs a OPopupMenu.