diff options
Diffstat (limited to 'kdeui/kcolordialog.h')
-rw-r--r-- | kdeui/kcolordialog.h | 496 |
1 files changed, 0 insertions, 496 deletions
diff --git a/kdeui/kcolordialog.h b/kdeui/kcolordialog.h deleted file mode 100644 index 7a1a66d6d..000000000 --- a/kdeui/kcolordialog.h +++ /dev/null @@ -1,496 +0,0 @@ -/* This file is part of the KDE libraries - Copyright (C) 1997 Martin Jones (mjones@kde.org) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library 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., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ -//---------------------------------------------------------------------- -// KDE color selection dialog. - -// layout management added Oct 1997 by Mario Weilguni -// <mweilguni@sime.com> - -#ifndef KDELIBS_KCOLORDIALOG_H -#define KDELIBS_KCOLORDIALOG_H - -#ifdef Q_WS_QWS -// FIXME(E): Do we need the KColorDialog extra functionality in Qt Embedded? -#include <tqcolordialog.h> -#define KColorDialog QColorDialog -#else //UNIX, WIN32 -#include <kdialogbase.h> -#include <tqframe.h> -#include <tqpixmap.h> -#include <tqgridview.h> - -#include "kselect.h" - -class TQComboBox; -class TQLineEdit; -class KListBox; -class KPalette; -class KColorCells; - - -/** - * Widget for Hue/Saturation colour selection. - * - * The actual values can be fetched using the inherited xValue and yValue - * methods. - * - * \image html khsselector.png "KDE Hue/Saturation Selection Widget" - * - * @see KXYSelector, KValueSelector, KColorDialog - * @author Martin Jones (mjones@kde.org) -*/ -class KDEUI_EXPORT KHSSelector : public KXYSelector -{ - Q_OBJECT - -public: - /** - * Constructs a hue/saturation selection widget. - */ - KHSSelector( TQWidget *parent=0, const char *name=0 ); - -protected: - /** - * Draws the contents of the widget on a pixmap, - * which is used for buffering. - */ - virtual void drawPalette( TQPixmap *pixmap ); - virtual void resizeEvent( TQResizeEvent * ); - - /** - * Reimplemented from KXYSelector. This drawing is - * buffered in a pixmap here. As real drawing - * routine, drawPalette() is used. - */ - virtual void drawContents( TQPainter *painter ); - -private: - void updateContents(); - TQPixmap pixmap; - -protected: - virtual void virtual_hook( int id, void* data ); -private: - class KHSSelectorPrivate; - KHSSelectorPrivate *d; -}; - - -class KValueSelectorPrivate; -/** - * Widget for color value selection. - * - * @see KHSSelector, KColorDialog - * @author Martin Jones (mjones@kde.org) - */ -class KDEUI_EXPORT KValueSelector : public KSelector -{ - Q_OBJECT - -public: - /** - * Constructs a widget for color selection. - */ - KValueSelector( TQWidget *parent=0, const char *name=0 ); - /** - * Constructs a widget for color selection with a given orientation - */ - KValueSelector( Orientation o, TQWidget *parent = 0, const char *name = 0 ); - - int hue() const - { return _hue; } - void setHue( int h ) - { _hue = h; } - int saturation() const - { return _sat; } - void setSaturation( int s ) - { _sat = s; } - - void updateContents(); -protected: - /** - * Draws the contents of the widget on a pixmap, - * which is used for buffering. - */ - virtual void drawPalette( TQPixmap *pixmap ); - virtual void resizeEvent( TQResizeEvent * ); - - /** - * Reimplemented from KSelector. The drawing is - * buffered in a pixmap here. As real drawing - * routine, drawPalette() is used. - */ - virtual void drawContents( TQPainter *painter ); - -private: - int _hue; - int _sat; - TQPixmap pixmap; - -protected: - virtual void virtual_hook( int id, void* data ); -private: - class KValueSelectorPrivate; - KValueSelectorPrivate *d; -}; - - -/** - * A color class that preserves both RGB and HSV values. - * - * This is - * unlike TQColor which only preserves RGB values and recalculates HSV - * values. The TQColor behavior leads to an accumulation of rounding - * errors when working in the HSV color space. - * - * @author Waldo Bastian <bastian@kde.org> - **/ -class KDEUI_EXPORT KColor : public TQColor -{ -public: - KColor(); - KColor( const KColor &col); - KColor( const TQColor &col); - - KColor& operator=( const KColor& col); - - bool operator==( const KColor& col) const; - - void setHsv(int _h, int _s, int _v); - void setRgb(int _r, int _g, int _b); - - void rgb(int *_r, int *_g, int *_b) const; - void hsv(int *_h, int *_s, int *_v) const; -protected: - int h; - int s; - int v; - int r; - int g; - int b; - -private: - class KColorPrivate; - KColorPrivate *d; -}; - -/** - * A color palette in table form. - * - * @author Waldo Bastian <bastian@kde.org> - **/ -class KDEUI_EXPORT KPaletteTable : public TQWidget -{ - Q_OBJECT -public: - KPaletteTable( TQWidget *parent, int minWidth=210, int cols = 16); - ~KPaletteTable(); - void addToCustomColors( const TQColor &); - void addToRecentColors( const TQColor &); - TQString palette() const; -public slots: - void setPalette(const TQString &paletteName); -signals: - void colorSelected( const TQColor &, const TQString & ); - void colorDoubleClicked( const TQColor &, const TQString & ); - -protected slots: - void slotColorCellSelected( int ); - void slotColorCellDoubleClicked( int ); - void slotColorTextSelected( const TQString &colorText ); - void slotSetPalette( const TQString &_paletteName ); - void slotShowNamedColorReadError( void ); - -protected: - void readNamedColor( void ); - -protected: - /// \deprecated - TQString i18n_customColors; /// ### KDE4: remove - /// \deprecated - TQString i18n_recentColors; /// ### KDE4: remove - TQString i18n_namedColors; - TQComboBox *combo; - KColorCells *cells; - TQScrollView *sv; - KListBox *mNamedColorList; - KPalette *mPalette; - int mMinWidth; - int mCols; - -private: - - virtual void setPalette(const TQPalette& p) { TQWidget::setPalette(p); } -protected: - virtual void virtual_hook( int id, void* data ); -private: - class KPaletteTablePrivate; - KPaletteTablePrivate *d; -}; - - -/** -* A table of editable color cells. -* -* @author Martin Jones <mjones@kde.org> -*/ -class KDEUI_EXPORT KColorCells : public TQGridView -{ - Q_OBJECT -public: - KColorCells( TQWidget *parent, int rows, int cols ); - ~KColorCells(); - - void setColor( int colNum, const TQColor &col ); - TQColor color( int indx ) const - { return colors[indx]; } - int numCells() const - { return numRows() * numCols(); } - - void setShading(bool _shade) { shade = _shade; } - - void setAcceptDrags(bool _acceptDrags) { acceptDrags = _acceptDrags; } - - int getSelected() const - { return selected; } - - signals: - void colorSelected( int col ); - void colorDoubleClicked( int col ); - -protected: - virtual void paintCell( TQPainter *painter, int row, int col ); - virtual void resizeEvent( TQResizeEvent * ); - virtual void mouseReleaseEvent( TQMouseEvent * ); - virtual void mousePressEvent( TQMouseEvent * ); - virtual void mouseMoveEvent( TQMouseEvent * ); - virtual void dragEnterEvent( TQDragEnterEvent *); - virtual void dropEvent( TQDropEvent *); - virtual void mouseDoubleClickEvent( TQMouseEvent * ); - - int posToCell(const TQPoint &pos, bool ignoreBorders=false); - - TQColor *colors; - bool inMouse; - TQPoint mPos; - int selected; - bool shade; - bool acceptDrags; - -protected: - virtual void virtual_hook( int id, void* data ); -private: - class KColorCellsPrivate; - KColorCellsPrivate *d; -}; - -/** - * @short A color displayer. - * - * The KColorPatch widget is a (usually small) widget showing - * a selected color e. g. in the KColorDialog. It - * automatically handles drag and drop from and on the widget. - * - */ -class KDEUI_EXPORT KColorPatch : public TQFrame -{ - Q_OBJECT -public: - KColorPatch( TQWidget *parent ); - virtual ~KColorPatch(); - - void setColor( const TQColor &col ); - -signals: - void colorChanged( const TQColor&); - -protected: - virtual void drawContents( TQPainter *painter ); - virtual void mouseMoveEvent( TQMouseEvent * ); - virtual void dragEnterEvent( TQDragEnterEvent *); - virtual void dropEvent( TQDropEvent *); - -private: - TQColor color; - uint pixel; - int colContext; - -protected: - virtual void virtual_hook( int id, void* data ); -private: - class KColorPatchPrivate; - KColorPatchPrivate *d; -}; - -/** - * @short A color selection dialog. - * - * <b>Features:</b>\n - * - * @li Color selection from a wide range of palettes. - * @li Color selection from a palette of H vs S and V selectors. - * @li Direct input of HSV or RGB values. - * @li Saving of custom colors - * - * In most cases, you will want to use the static method KColorDialog::getColor(). - * This pops up the dialog (with an initial selection provided by you), lets the - * user choose a color, and returns. - * - * Example: - * - * \code - * TQColor myColor; - * int result = KColorDialog::getColor( myColor ); - * if ( result == KColorDialog::Accepted ) - * ... - * \endcode - * - * @image html kcolordialog.png "KDE Color Dialog" - * - * The color dialog is really a collection of several widgets which can - * you can also use separately: the quadratic plane in the top left of - * the dialog is a KXYSelector. Right next to it is a KHSSelector - * for choosing hue/saturation. - * - * On the right side of the dialog you see a KPaletteTable showing - * up to 40 colors with a combo box which offers several predefined - * palettes or a palette configured by the user. The small field showing - * the currently selected color is a KColorPatch. - * - **/ -class KDEUI_EXPORT KColorDialog : public KDialogBase -{ - Q_OBJECT - - public: - /** - * Constructs a color selection dialog. - */ - KColorDialog( TQWidget *parent = 0L, const char *name = 0L, - bool modal = false ); - /** - * Destroys the color selection dialog. - */ - ~KColorDialog(); - - /** - * Returns the currently selected color. - **/ - TQColor color() const; - - /** - * Creates a modal color dialog, let the user choose a - * color, and returns when the dialog is closed. - * - * The selected color is returned in the argument @p theColor. - * - * @returns TQDialog::result(). - */ - static int getColor( TQColor &theColor, TQWidget *parent=0L ); - - /** - * Creates a modal color dialog, lets the user choose a - * color, and returns when the dialog is closed. - * - * The selected color is returned in the argument @p theColor. - * - * This version takes a @p defaultColor argument, which sets the color - * selected by the "default color" checkbox. When this checkbox is checked, - * the invalid color (TQColor()) is returned into @p theColor. - * - * @returns TQDialog::result(). - */ - static int getColor( TQColor &theColor, const TQColor& defaultColor, TQWidget *parent=0L ); - - /** - * Gets the color from the pixel at point p on the screen. - */ - static TQColor grabColor(const TQPoint &p); - - /** - * Call this to make the dialog show a "Default Color" checkbox. - * If this checkbox is selected, the dialog will return an "invalid" color (TQColor()). - * This can be used to mean "the default text color", for instance, - * the one with the KDE text color on screen, but black when printing. - */ - void setDefaultColor( const TQColor& defaultCol ); - - /** - * @return the value passed to setDefaultColor - */ - TQColor defaultColor() const; - - public slots: - /** - * Preselects a color. - */ - void setColor( const TQColor &col ); - - signals: - /** - * Emitted when a color is selected. - * Connect to this to monitor the color as it as selected if you are - * not running modal. - */ - void colorSelected( const TQColor &col ); - - private slots: - void slotRGBChanged( void ); - void slotHSVChanged( void ); - void slotHtmlChanged( void ); - void slotHSChanged( int, int ); - void slotVChanged( int ); - void slotColorSelected( const TQColor &col ); - void slotColorSelected( const TQColor &col, const TQString &name ); - void slotColorDoubleClicked( const TQColor &col, const TQString &name ); - void slotColorPicker(); - void slotAddToCustomColors(); - void slotDefaultColorClicked(); - /** - * Write the settings of the dialog to config file. - **/ - void slotWriteSettings(); - - private: - /** - * Read the settings for the dialog from config file. - **/ - void readSettings(); - - void setRgbEdit( const KColor &col ); - void setHsvEdit( const KColor &col ); - void setHtmlEdit( const KColor &col ); - void _setColor( const KColor &col, const TQString &name=TQString::null ); - void showColor( const KColor &color, const TQString &name ); - - protected: - virtual void mouseReleaseEvent( TQMouseEvent * ); - virtual void keyPressEvent( TQKeyEvent * ); - virtual bool eventFilter( TQObject *obj, TQEvent *ev ); - - protected: - virtual void virtual_hook( int id, void* data ); - private: - class KColorDialogPrivate; - KColorDialogPrivate *d; -}; - -#endif // !Q_WS_QWS -#endif // KDELIBS_KCOLORDIALOG_H - |