author | drw <drw> | 2004-02-21 22:54:19 (UTC) |
---|---|---|
committer | drw <drw> | 2004-02-21 22:54:19 (UTC) |
commit | f36efd3490299fb9402a2dc2a6bd2a029fcd93cb (patch) (unidiff) | |
tree | 701f649c97a730794a45f47a94e09b9d2ce670d0 /libqtaux | |
parent | 1a89ecd8e2d11d48a8e80b2fd8b1e95b738a286c (diff) | |
download | opie-f36efd3490299fb9402a2dc2a6bd2a029fcd93cb.zip opie-f36efd3490299fb9402a2dc2a6bd2a029fcd93cb.tar.gz opie-f36efd3490299fb9402a2dc2a6bd2a029fcd93cb.tar.bz2 |
Moved class defines in qcolordialog.cpp to header so that apps can properly link to libqtaux
-rw-r--r-- | libqtaux/qcolordialog.cpp | 357 | ||||
-rw-r--r-- | libqtaux/qcolordialog.h | 311 |
2 files changed, 321 insertions, 347 deletions
diff --git a/libqtaux/qcolordialog.cpp b/libqtaux/qcolordialog.cpp index 5881a89..1574841 100644 --- a/libqtaux/qcolordialog.cpp +++ b/libqtaux/qcolordialog.cpp | |||
@@ -37,22 +37,19 @@ | |||
37 | 37 | ||
38 | #include "qcolordialog.h" | 38 | #include "qcolordialog.h" |
39 | 39 | ||
40 | #include "qpainter.h" | 40 | #include <qpainter.h> |
41 | #include "qlayout.h" | 41 | #include <qlayout.h> |
42 | #include "qlabel.h" | 42 | #include <qpushbutton.h> |
43 | #include "qpushbutton.h" | 43 | #include <qimage.h> |
44 | #include "qlineedit.h" | 44 | #include <qpixmap.h> |
45 | #include "qimage.h" | 45 | #include <qdrawutil.h> |
46 | #include "qpixmap.h" | 46 | #include <qdragobject.h> |
47 | #include "qdrawutil.h" | 47 | #include <qapplication.h> |
48 | #include "qvalidator.h" | 48 | #include <qdragobject.h> |
49 | #include "qdragobject.h" | ||
50 | #include "qapplication.h" | ||
51 | #include "qdragobject.h" | ||
52 | 49 | ||
53 | //////////// QWellArray BEGIN | 50 | //////////// QWellArray BEGIN |
54 | 51 | ||
55 | #include "qobjectdict.h" | 52 | #include <qobjectdict.h> |
56 | 53 | ||
57 | // | 54 | // |
58 | // W A R N I N G | 55 | // W A R N I N G |
@@ -65,105 +62,6 @@ | |||
65 | // | 62 | // |
66 | // | 63 | // |
67 | 64 | ||
68 | |||
69 | #include "qtableview.h" | ||
70 | |||
71 | |||
72 | struct QWellArrayData; | ||
73 | |||
74 | class QWellArray : public QTableView | ||
75 | { | ||
76 | Q_OBJECT | ||
77 | Q_PROPERTY( int numCols READ numCols ) | ||
78 | Q_PROPERTY( int numRows READ numRows ) | ||
79 | Q_PROPERTY( int selectedColumn READ selectedColumn ) | ||
80 | Q_PROPERTY( int selectedRow READ selectedRow ) | ||
81 | |||
82 | public: | ||
83 | QWellArray( QWidget *parent=0, const char *name=0, bool popup = FALSE ); | ||
84 | |||
85 | ~QWellArray() {} | ||
86 | QString cellContent( int row, int col ) const; | ||
87 | // ### Paul !!! virtual void setCellContent( int row, int col, const QString &); | ||
88 | |||
89 | // ##### Obsolete since not const | ||
90 | int numCols() { return nCols; } | ||
91 | int numRows() { return nRows; } | ||
92 | |||
93 | int numCols() const { return nCols; } | ||
94 | int numRows() const { return nRows; } | ||
95 | |||
96 | // ##### Obsolete since not const | ||
97 | int selectedColumn() { return selCol; } | ||
98 | int selectedRow() { return selRow; } | ||
99 | |||
100 | int selectedColumn() const { return selCol; } | ||
101 | int selectedRow() const { return selRow; } | ||
102 | |||
103 | virtual void setSelected( int row, int col ); | ||
104 | |||
105 | void setCellSize( int w, int h ) { setCellWidth(w);setCellHeight( h ); } | ||
106 | |||
107 | QSize sizeHint() const; | ||
108 | |||
109 | virtual void setDimension( int rows, int cols ); | ||
110 | virtual void setCellBrush( int row, int col, const QBrush & ); | ||
111 | QBrush cellBrush( int row, int col ); | ||
112 | |||
113 | signals: | ||
114 | void selected( int row, int col ); | ||
115 | |||
116 | protected: | ||
117 | virtual void setCurrent( int row, int col ); | ||
118 | |||
119 | virtual void drawContents( QPainter *, int row, int col, const QRect& ); | ||
120 | void drawContents( QPainter * ); | ||
121 | |||
122 | void paintCell( QPainter*, int row, int col ); | ||
123 | void mousePressEvent( QMouseEvent* ); | ||
124 | void mouseReleaseEvent( QMouseEvent* ); | ||
125 | void mouseMoveEvent( QMouseEvent* ); | ||
126 | void keyPressEvent( QKeyEvent* ); | ||
127 | void focusInEvent( QFocusEvent* ); | ||
128 | void focusOutEvent( QFocusEvent* ); | ||
129 | |||
130 | private: | ||
131 | int curRow; | ||
132 | int curCol; | ||
133 | int selRow; | ||
134 | int selCol; | ||
135 | int nCols; | ||
136 | int nRows; | ||
137 | bool smallStyle; | ||
138 | QWellArrayData *d; | ||
139 | |||
140 | private:// Disabled copy constructor and operator= | ||
141 | #if defined(Q_DISABLE_COPY) | ||
142 | QWellArray( const QWellArray & ); | ||
143 | QWellArray& operator=( const QWellArray & ); | ||
144 | #endif | ||
145 | }; | ||
146 | |||
147 | |||
148 | |||
149 | // non-interface ... | ||
150 | |||
151 | |||
152 | |||
153 | struct QWellArrayData { | ||
154 | QBrush *brush; | ||
155 | }; | ||
156 | |||
157 | // NOT REVISED | ||
158 | /* WARNING, NOT | ||
159 | \class QWellArray qwellarray_p.h | ||
160 | \brief .... | ||
161 | |||
162 | .... | ||
163 | |||
164 | \ingroup advanced | ||
165 | */ | ||
166 | |||
167 | QWellArray::QWellArray( QWidget *parent, const char * name, bool popup ) | 65 | QWellArray::QWellArray( QWidget *parent, const char * name, bool popup ) |
168 | : QTableView( parent, name, | 66 | : QTableView( parent, name, |
169 | popup ? (WStyle_Customize|WStyle_Tool|WStyle_NoBorder) : 0 ) | 67 | popup ? (WStyle_Customize|WStyle_Tool|WStyle_NoBorder) : 0 ) |
@@ -566,35 +464,6 @@ static inline void rgb2hsv( QRgb rgb, int&h, int&s, int&v ) | |||
566 | c.getHsv(h,s,v); | 464 | c.getHsv(h,s,v); |
567 | } | 465 | } |
568 | 466 | ||
569 | class QColorWell : public QWellArray | ||
570 | { | ||
571 | public: | ||
572 | QColorWell( QWidget *parent, int r, int c, QRgb *vals ) | ||
573 | :QWellArray( parent, "" ), values( vals ), mousePressed( FALSE ), oldCurrent( -1, -1 ) | ||
574 | { setDimension(r,c); setWFlags( WResizeNoErase ); } | ||
575 | QSizePolicy sizePolicy() const; | ||
576 | |||
577 | protected: | ||
578 | void drawContents( QPainter *, int row, int col, const QRect& ); | ||
579 | void drawContents( QPainter *p ) { QWellArray::drawContents(p); } | ||
580 | void mousePressEvent( QMouseEvent *e ); | ||
581 | void mouseMoveEvent( QMouseEvent *e ); | ||
582 | void mouseReleaseEvent( QMouseEvent *e ); | ||
583 | #ifndef QT_NO_DRAGANDDROP | ||
584 | void dragEnterEvent( QDragEnterEvent *e ); | ||
585 | void dragLeaveEvent( QDragLeaveEvent *e ); | ||
586 | void dragMoveEvent( QDragMoveEvent *e ); | ||
587 | void dropEvent( QDropEvent *e ); | ||
588 | #endif | ||
589 | |||
590 | private: | ||
591 | QRgb *values; | ||
592 | bool mousePressed; | ||
593 | QPoint pressPos; | ||
594 | QPoint oldCurrent; | ||
595 | |||
596 | }; | ||
597 | |||
598 | QSizePolicy QColorWell::sizePolicy() const | 467 | QSizePolicy QColorWell::sizePolicy() const |
599 | { | 468 | { |
600 | return QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Minimum ); | 469 | return QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Minimum ); |
@@ -686,76 +555,9 @@ void QColorWell::mouseReleaseEvent( QMouseEvent *e ) | |||
686 | mousePressed = FALSE; | 555 | mousePressed = FALSE; |
687 | } | 556 | } |
688 | 557 | ||
689 | class QColorPicker : public QFrame | ||
690 | { | ||
691 | Q_OBJECT | ||
692 | public: | ||
693 | QColorPicker(QWidget* parent=0, const char* name=0); | ||
694 | ~QColorPicker(); | ||
695 | |||
696 | public slots: | ||
697 | void setCol( int h, int s ); | ||
698 | |||
699 | signals: | ||
700 | void newCol( int h, int s ); | ||
701 | |||
702 | protected: | ||
703 | QSize sizeHint() const; | ||
704 | QSizePolicy sizePolicy() const; | ||
705 | void drawContents(QPainter* p); | ||
706 | void mouseMoveEvent( QMouseEvent * ); | ||
707 | void mousePressEvent( QMouseEvent * ); | ||
708 | |||
709 | private: | ||
710 | int hue; | ||
711 | int sat; | ||
712 | |||
713 | QPoint colPt(); | ||
714 | int huePt( const QPoint &pt ); | ||
715 | int satPt( const QPoint &pt ); | ||
716 | void setCol( const QPoint &pt ); | ||
717 | |||
718 | QPixmap *pix; | ||
719 | }; | ||
720 | |||
721 | static int pWidth = 200; | 558 | static int pWidth = 200; |
722 | static int pHeight = 200; | 559 | static int pHeight = 200; |
723 | 560 | ||
724 | class QColorLuminancePicker : public QWidget | ||
725 | { | ||
726 | Q_OBJECT | ||
727 | public: | ||
728 | QColorLuminancePicker(QWidget* parent=0, const char* name=0); | ||
729 | ~QColorLuminancePicker(); | ||
730 | |||
731 | public slots: | ||
732 | void setCol( int h, int s, int v ); | ||
733 | void setCol( int h, int s ); | ||
734 | |||
735 | signals: | ||
736 | void newHsv( int h, int s, int v ); | ||
737 | |||
738 | protected: | ||
739 | // QSize sizeHint() const; | ||
740 | // QSizePolicy sizePolicy() const; | ||
741 | void paintEvent( QPaintEvent*); | ||
742 | void mouseMoveEvent( QMouseEvent * ); | ||
743 | void mousePressEvent( QMouseEvent * ); | ||
744 | |||
745 | private: | ||
746 | enum { foff = 3, coff = 4 }; //frame and contents offset | ||
747 | int val; | ||
748 | int hue; | ||
749 | int sat; | ||
750 | |||
751 | int y2val( int y ); | ||
752 | int val2y( int val ); | ||
753 | void setVal( int v ); | ||
754 | |||
755 | QPixmap *pix; | ||
756 | }; | ||
757 | |||
758 | |||
759 | int QColorLuminancePicker::y2val( int y ) | 561 | int QColorLuminancePicker::y2val( int y ) |
760 | { | 562 | { |
761 | int d = height() - 2*coff - 1; | 563 | int d = height() - 2*coff - 1; |
@@ -935,20 +737,6 @@ void QColorPicker::drawContents(QPainter* p) | |||
935 | 737 | ||
936 | } | 738 | } |
937 | 739 | ||
938 | class QColorShowLabel; | ||
939 | |||
940 | |||
941 | |||
942 | class QColIntValidator: public QIntValidator | ||
943 | { | ||
944 | public: | ||
945 | QColIntValidator( int bottom, int top, | ||
946 | QWidget * parent, const char *name = 0 ) | ||
947 | :QIntValidator( bottom, top, parent, name ) {} | ||
948 | |||
949 | QValidator::State validate( QString &, int & ) const; | ||
950 | }; | ||
951 | |||
952 | QValidator::State QColIntValidator::validate( QString &s, int &pos ) const | 740 | QValidator::State QColIntValidator::validate( QString &s, int &pos ) const |
953 | { | 741 | { |
954 | State state = QIntValidator::validate(s,pos); | 742 | State state = QIntValidator::validate(s,pos); |
@@ -967,102 +755,6 @@ QValidator::State QColIntValidator::validate( QString &s, int &pos ) const | |||
967 | return state; | 755 | return state; |
968 | } | 756 | } |
969 | 757 | ||
970 | |||
971 | |||
972 | class QColNumLineEdit : public QLineEdit | ||
973 | { | ||
974 | public: | ||
975 | QColNumLineEdit( QWidget *parent, const char* name = 0 ) | ||
976 | : QLineEdit( parent, name ) { setMaxLength( 3 );} | ||
977 | QSize sizeHint() const { | ||
978 | return QSize( 30, //##### | ||
979 | QLineEdit::sizeHint().height() ); } | ||
980 | void setNum( int i ) { | ||
981 | QString s; | ||
982 | s.setNum(i); | ||
983 | bool block = signalsBlocked(); | ||
984 | blockSignals(TRUE); | ||
985 | setText( s ); | ||
986 | blockSignals(block); | ||
987 | } | ||
988 | int val() const { return text().toInt(); } | ||
989 | }; | ||
990 | |||
991 | |||
992 | class QColorShower : public QWidget | ||
993 | { | ||
994 | Q_OBJECT | ||
995 | public: | ||
996 | QColorShower( QWidget *parent, const char *name = 0 ); | ||
997 | |||
998 | //things that don't emit signals | ||
999 | void setHsv( int h, int s, int v ); | ||
1000 | |||
1001 | int currentAlpha() const { return alphaEd->val(); } | ||
1002 | void setCurrentAlpha( int a ) { alphaEd->setNum( a ); } | ||
1003 | void showAlpha( bool b ); | ||
1004 | |||
1005 | |||
1006 | QRgb currentColor() const { return curCol; } | ||
1007 | |||
1008 | public slots: | ||
1009 | void setRgb( QRgb rgb ); | ||
1010 | |||
1011 | signals: | ||
1012 | void newCol( QRgb rgb ); | ||
1013 | private slots: | ||
1014 | void rgbEd(); | ||
1015 | void hsvEd(); | ||
1016 | private: | ||
1017 | void showCurrentColor(); | ||
1018 | int hue, sat, val; | ||
1019 | QRgb curCol; | ||
1020 | QColNumLineEdit *hEd; | ||
1021 | QColNumLineEdit *sEd; | ||
1022 | QColNumLineEdit *vEd; | ||
1023 | QColNumLineEdit *rEd; | ||
1024 | QColNumLineEdit *gEd; | ||
1025 | QColNumLineEdit *bEd; | ||
1026 | QColNumLineEdit *alphaEd; | ||
1027 | QLabel *alphaLab; | ||
1028 | QColorShowLabel *lab; | ||
1029 | bool rgbOriginal; | ||
1030 | }; | ||
1031 | |||
1032 | class QColorShowLabel : public QFrame | ||
1033 | { | ||
1034 | Q_OBJECT | ||
1035 | |||
1036 | public: | ||
1037 | QColorShowLabel( QWidget *parent ) :QFrame( parent ) { | ||
1038 | setFrameStyle( QFrame::Panel|QFrame::Sunken ); | ||
1039 | setBackgroundMode( PaletteBackground ); | ||
1040 | setAcceptDrops( TRUE ); | ||
1041 | mousePressed = FALSE; | ||
1042 | } | ||
1043 | void setColor( QColor c ) { col = c; } | ||
1044 | |||
1045 | signals: | ||
1046 | void colorDropped( QRgb ); | ||
1047 | |||
1048 | protected: | ||
1049 | void drawContents( QPainter *p ); | ||
1050 | void mousePressEvent( QMouseEvent *e ); | ||
1051 | void mouseMoveEvent( QMouseEvent *e ); | ||
1052 | void mouseReleaseEvent( QMouseEvent *e ); | ||
1053 | #ifndef QT_NO_DRAGANDDROP | ||
1054 | void dragEnterEvent( QDragEnterEvent *e ); | ||
1055 | void dragLeaveEvent( QDragLeaveEvent *e ); | ||
1056 | void dropEvent( QDropEvent *e ); | ||
1057 | #endif | ||
1058 | |||
1059 | private: | ||
1060 | QColor col; | ||
1061 | bool mousePressed; | ||
1062 | QPoint pressPos; | ||
1063 | |||
1064 | }; | ||
1065 | |||
1066 | void QColorShowLabel::drawContents( QPainter *p ) | 758 | void QColorShowLabel::drawContents( QPainter *p ) |
1067 | { | 759 | { |
1068 | p->fillRect( contentsRect(), col ); | 760 | p->fillRect( contentsRect(), col ); |
@@ -1286,35 +978,6 @@ void QColorShower::setHsv( int h, int s, int v ) | |||
1286 | showCurrentColor(); | 978 | showCurrentColor(); |
1287 | } | 979 | } |
1288 | 980 | ||
1289 | class QColorDialogPrivate : public QObject | ||
1290 | { | ||
1291 | Q_OBJECT | ||
1292 | public: | ||
1293 | QColorDialogPrivate( QColorDialog *p ); | ||
1294 | QRgb currentColor() const { return cs->currentColor(); } | ||
1295 | void setCurrentColor( QRgb rgb ); | ||
1296 | |||
1297 | int currentAlpha() const { return cs->currentAlpha(); } | ||
1298 | void setCurrentAlpha( int a ) { cs->setCurrentAlpha( a ); } | ||
1299 | void showAlpha( bool b ) { cs->showAlpha( b ); } | ||
1300 | |||
1301 | private slots: | ||
1302 | void addCustom(); | ||
1303 | |||
1304 | void newHsv( int h, int s, int v ); | ||
1305 | void newColorTypedIn( QRgb rgb ); | ||
1306 | void newCustom( int, int ); | ||
1307 | void newStandard( int, int ); | ||
1308 | private: | ||
1309 | QColorPicker *cp; | ||
1310 | QColorLuminancePicker *lp; | ||
1311 | QWellArray *custom; | ||
1312 | QWellArray *standard; | ||
1313 | QColorShower *cs; | ||
1314 | int nextCust; | ||
1315 | bool compact; | ||
1316 | }; | ||
1317 | |||
1318 | //sets all widgets to display h,s,v | 981 | //sets all widgets to display h,s,v |
1319 | void QColorDialogPrivate::newHsv( int h, int s, int v ) | 982 | void QColorDialogPrivate::newHsv( int h, int s, int v ) |
1320 | { | 983 | { |
diff --git a/libqtaux/qcolordialog.h b/libqtaux/qcolordialog.h index 89c6283..50c6482 100644 --- a/libqtaux/qcolordialog.h +++ b/libqtaux/qcolordialog.h | |||
@@ -42,6 +42,288 @@ | |||
42 | #include <qdialog.h> | 42 | #include <qdialog.h> |
43 | #endif // QT_H | 43 | #endif // QT_H |
44 | 44 | ||
45 | #include <qlabel.h> | ||
46 | #include <qlineedit.h> | ||
47 | #include <qtableview.h> | ||
48 | #include <qvalidator.h> | ||
49 | |||
50 | struct QWellArrayData; | ||
51 | |||
52 | class QWellArray : public QTableView | ||
53 | { | ||
54 | Q_OBJECT | ||
55 | // Q_PROPERTY( int numCols READ numCols ) | ||
56 | // Q_PROPERTY( int numRows READ numRows ) | ||
57 | // Q_PROPERTY( int selectedColumn READ selectedColumn ) | ||
58 | // Q_PROPERTY( int selectedRow READ selectedRow ) | ||
59 | |||
60 | public: | ||
61 | QWellArray( QWidget *parent=0, const char *name=0, bool popup = FALSE ); | ||
62 | |||
63 | ~QWellArray() {} | ||
64 | QString cellContent( int row, int col ) const; | ||
65 | // ### Paul !!! virtual void setCellContent( int row, int col, const QString &); | ||
66 | |||
67 | // ##### Obsolete since not const | ||
68 | int numCols() { return nCols; } | ||
69 | int numRows() { return nRows; } | ||
70 | |||
71 | int numCols() const { return nCols; } | ||
72 | int numRows() const { return nRows; } | ||
73 | |||
74 | // ##### Obsolete since not const | ||
75 | int selectedColumn() { return selCol; } | ||
76 | int selectedRow() { return selRow; } | ||
77 | |||
78 | int selectedColumn() const { return selCol; } | ||
79 | int selectedRow() const { return selRow; } | ||
80 | |||
81 | virtual void setSelected( int row, int col ); | ||
82 | |||
83 | void setCellSize( int w, int h ) { setCellWidth(w);setCellHeight( h ); } | ||
84 | |||
85 | QSize sizeHint() const; | ||
86 | |||
87 | virtual void setDimension( int rows, int cols ); | ||
88 | virtual void setCellBrush( int row, int col, const QBrush & ); | ||
89 | QBrush cellBrush( int row, int col ); | ||
90 | |||
91 | signals: | ||
92 | void selected( int row, int col ); | ||
93 | |||
94 | protected: | ||
95 | virtual void setCurrent( int row, int col ); | ||
96 | |||
97 | virtual void drawContents( QPainter *, int row, int col, const QRect& ); | ||
98 | void drawContents( QPainter * ); | ||
99 | |||
100 | void paintCell( QPainter*, int row, int col ); | ||
101 | void mousePressEvent( QMouseEvent* ); | ||
102 | void mouseReleaseEvent( QMouseEvent* ); | ||
103 | void mouseMoveEvent( QMouseEvent* ); | ||
104 | void keyPressEvent( QKeyEvent* ); | ||
105 | void focusInEvent( QFocusEvent* ); | ||
106 | void focusOutEvent( QFocusEvent* ); | ||
107 | |||
108 | private: | ||
109 | int curRow; | ||
110 | int curCol; | ||
111 | int selRow; | ||
112 | int selCol; | ||
113 | int nCols; | ||
114 | int nRows; | ||
115 | bool smallStyle; | ||
116 | QWellArrayData *d; | ||
117 | |||
118 | private: // Disabled copy constructor and operator= | ||
119 | #if defined(Q_DISABLE_COPY) | ||
120 | QWellArray( const QWellArray & ); | ||
121 | QWellArray& operator=( const QWellArray & ); | ||
122 | #endif | ||
123 | }; | ||
124 | |||
125 | struct QWellArrayData { | ||
126 | QBrush *brush; | ||
127 | }; | ||
128 | |||
129 | class QColNumLineEdit : public QLineEdit | ||
130 | { | ||
131 | public: | ||
132 | QColNumLineEdit( QWidget *parent, const char* name = 0 ) | ||
133 | : QLineEdit( parent, name ) { setMaxLength( 3 );} | ||
134 | QSize sizeHint() const { | ||
135 | return QSize( 30, //##### | ||
136 | QLineEdit::sizeHint().height() ); } | ||
137 | void setNum( int i ) { | ||
138 | QString s; | ||
139 | s.setNum(i); | ||
140 | bool block = signalsBlocked(); | ||
141 | blockSignals(TRUE); | ||
142 | setText( s ); | ||
143 | blockSignals(block); | ||
144 | } | ||
145 | int val() const { return text().toInt(); } | ||
146 | }; | ||
147 | |||
148 | class QColorShowLabel : public QFrame | ||
149 | { | ||
150 | Q_OBJECT | ||
151 | |||
152 | public: | ||
153 | QColorShowLabel( QWidget *parent ) :QFrame( parent ) { | ||
154 | setFrameStyle( QFrame::Panel|QFrame::Sunken ); | ||
155 | setBackgroundMode( PaletteBackground ); | ||
156 | setAcceptDrops( TRUE ); | ||
157 | mousePressed = FALSE; | ||
158 | } | ||
159 | void setColor( QColor c ) { col = c; } | ||
160 | |||
161 | signals: | ||
162 | void colorDropped( QRgb ); | ||
163 | |||
164 | protected: | ||
165 | void drawContents( QPainter *p ); | ||
166 | void mousePressEvent( QMouseEvent *e ); | ||
167 | void mouseMoveEvent( QMouseEvent *e ); | ||
168 | void mouseReleaseEvent( QMouseEvent *e ); | ||
169 | #ifndef QT_NO_DRAGANDDROP | ||
170 | void dragEnterEvent( QDragEnterEvent *e ); | ||
171 | void dragLeaveEvent( QDragLeaveEvent *e ); | ||
172 | void dropEvent( QDropEvent *e ); | ||
173 | #endif | ||
174 | |||
175 | private: | ||
176 | QColor col; | ||
177 | bool mousePressed; | ||
178 | QPoint pressPos; | ||
179 | |||
180 | }; | ||
181 | |||
182 | class QColorShower : public QWidget | ||
183 | { | ||
184 | Q_OBJECT | ||
185 | public: | ||
186 | QColorShower( QWidget *parent, const char *name = 0 ); | ||
187 | |||
188 | //things that don't emit signals | ||
189 | void setHsv( int h, int s, int v ); | ||
190 | |||
191 | int currentAlpha() const { return alphaEd->val(); } | ||
192 | void setCurrentAlpha( int a ) { alphaEd->setNum( a ); } | ||
193 | void showAlpha( bool b ); | ||
194 | |||
195 | |||
196 | QRgb currentColor() const { return curCol; } | ||
197 | |||
198 | public slots: | ||
199 | void setRgb( QRgb rgb ); | ||
200 | |||
201 | signals: | ||
202 | void newCol( QRgb rgb ); | ||
203 | private slots: | ||
204 | void rgbEd(); | ||
205 | void hsvEd(); | ||
206 | private: | ||
207 | void showCurrentColor(); | ||
208 | int hue, sat, val; | ||
209 | QRgb curCol; | ||
210 | QColNumLineEdit *hEd; | ||
211 | QColNumLineEdit *sEd; | ||
212 | QColNumLineEdit *vEd; | ||
213 | QColNumLineEdit *rEd; | ||
214 | QColNumLineEdit *gEd; | ||
215 | QColNumLineEdit *bEd; | ||
216 | QColNumLineEdit *alphaEd; | ||
217 | QLabel *alphaLab; | ||
218 | QColorShowLabel *lab; | ||
219 | bool rgbOriginal; | ||
220 | }; | ||
221 | |||
222 | class QColorPicker : public QFrame | ||
223 | { | ||
224 | Q_OBJECT | ||
225 | public: | ||
226 | QColorPicker(QWidget* parent=0, const char* name=0); | ||
227 | ~QColorPicker(); | ||
228 | |||
229 | public slots: | ||
230 | void setCol( int h, int s ); | ||
231 | |||
232 | signals: | ||
233 | void newCol( int h, int s ); | ||
234 | |||
235 | protected: | ||
236 | QSize sizeHint() const; | ||
237 | QSizePolicy sizePolicy() const; | ||
238 | void drawContents(QPainter* p); | ||
239 | void mouseMoveEvent( QMouseEvent * ); | ||
240 | void mousePressEvent( QMouseEvent * ); | ||
241 | |||
242 | private: | ||
243 | int hue; | ||
244 | int sat; | ||
245 | |||
246 | QPoint colPt(); | ||
247 | int huePt( const QPoint &pt ); | ||
248 | int satPt( const QPoint &pt ); | ||
249 | void setCol( const QPoint &pt ); | ||
250 | |||
251 | QPixmap *pix; | ||
252 | }; | ||
253 | |||
254 | class QColorLuminancePicker : public QWidget | ||
255 | { | ||
256 | Q_OBJECT | ||
257 | public: | ||
258 | QColorLuminancePicker(QWidget* parent=0, const char* name=0); | ||
259 | ~QColorLuminancePicker(); | ||
260 | |||
261 | public slots: | ||
262 | void setCol( int h, int s, int v ); | ||
263 | void setCol( int h, int s ); | ||
264 | |||
265 | signals: | ||
266 | void newHsv( int h, int s, int v ); | ||
267 | |||
268 | protected: | ||
269 | // QSize sizeHint() const; | ||
270 | // QSizePolicy sizePolicy() const; | ||
271 | void paintEvent( QPaintEvent*); | ||
272 | void mouseMoveEvent( QMouseEvent * ); | ||
273 | void mousePressEvent( QMouseEvent * ); | ||
274 | |||
275 | private: | ||
276 | enum { foff = 3, coff = 4 }; //frame and contents offset | ||
277 | int val; | ||
278 | int hue; | ||
279 | int sat; | ||
280 | |||
281 | int y2val( int y ); | ||
282 | int val2y( int val ); | ||
283 | void setVal( int v ); | ||
284 | |||
285 | QPixmap *pix; | ||
286 | }; | ||
287 | |||
288 | class QColorWell : public QWellArray | ||
289 | { | ||
290 | public: | ||
291 | QColorWell( QWidget *parent, int r, int c, QRgb *vals ) | ||
292 | :QWellArray( parent, "" ), values( vals ), mousePressed( FALSE ), oldCurrent( -1, -1 ) | ||
293 | { setDimension(r,c); setWFlags( WResizeNoErase ); } | ||
294 | QSizePolicy sizePolicy() const; | ||
295 | |||
296 | protected: | ||
297 | void drawContents( QPainter *, int row, int col, const QRect& ); | ||
298 | void drawContents( QPainter *p ) { QWellArray::drawContents(p); } | ||
299 | void mousePressEvent( QMouseEvent *e ); | ||
300 | void mouseMoveEvent( QMouseEvent *e ); | ||
301 | void mouseReleaseEvent( QMouseEvent *e ); | ||
302 | #ifndef QT_NO_DRAGANDDROP | ||
303 | void dragEnterEvent( QDragEnterEvent *e ); | ||
304 | void dragLeaveEvent( QDragLeaveEvent *e ); | ||
305 | void dragMoveEvent( QDragMoveEvent *e ); | ||
306 | void dropEvent( QDropEvent *e ); | ||
307 | #endif | ||
308 | |||
309 | private: | ||
310 | QRgb *values; | ||
311 | bool mousePressed; | ||
312 | QPoint pressPos; | ||
313 | QPoint oldCurrent; | ||
314 | |||
315 | }; | ||
316 | |||
317 | class QColIntValidator: public QIntValidator | ||
318 | { | ||
319 | public: | ||
320 | QColIntValidator( int bottom, int top, | ||
321 | QWidget * parent, const char *name = 0 ) | ||
322 | :QIntValidator( bottom, top, parent, name ) {} | ||
323 | |||
324 | QValidator::State validate( QString &, int & ) const; | ||
325 | }; | ||
326 | |||
45 | class QColorDialogPrivate; | 327 | class QColorDialogPrivate; |
46 | 328 | ||
47 | class Q_EXPORT QColorDialog : public QDialog | 329 | class Q_EXPORT QColorDialog : public QDialog |
@@ -81,4 +363,33 @@ private: // Disabled copy constructor and operator= | |||
81 | #endif | 363 | #endif |
82 | }; | 364 | }; |
83 | 365 | ||
366 | class QColorDialogPrivate : public QObject | ||
367 | { | ||
368 | Q_OBJECT | ||
369 | public: | ||
370 | QColorDialogPrivate( QColorDialog *p ); | ||
371 | QRgb currentColor() const { return cs->currentColor(); } | ||
372 | void setCurrentColor( QRgb rgb ); | ||
373 | |||
374 | int currentAlpha() const { return cs->currentAlpha(); } | ||
375 | void setCurrentAlpha( int a ) { cs->setCurrentAlpha( a ); } | ||
376 | void showAlpha( bool b ) { cs->showAlpha( b ); } | ||
377 | |||
378 | private slots: | ||
379 | void addCustom(); | ||
380 | |||
381 | void newHsv( int h, int s, int v ); | ||
382 | void newColorTypedIn( QRgb rgb ); | ||
383 | void newCustom( int, int ); | ||
384 | void newStandard( int, int ); | ||
385 | private: | ||
386 | QColorPicker *cp; | ||
387 | QColorLuminancePicker *lp; | ||
388 | QWellArray *custom; | ||
389 | QWellArray *standard; | ||
390 | QColorShower *cs; | ||
391 | int nextCust; | ||
392 | bool compact; | ||
393 | }; | ||
394 | |||
84 | #endif | 395 | #endif |