--- include/wx/qt/colour.h | 29 +++++++++++++---------------- src/qt/bitmap.cpp | 2 +- src/qt/brush.cpp | 6 +++--- src/qt/calctrl.cpp | 14 +++++++------- src/qt/colordlg.cpp | 4 ++-- src/qt/colour.cpp | 12 ++++++++++++ src/qt/dc.cpp | 16 ++++++++-------- src/qt/listctrl.cpp | 4 ++-- src/qt/pen.cpp | 6 +++--- 9 files changed, 51 insertions(+), 42 deletions(-) Index: wxWidgets-trunk/include/wx/qt/colour.h =================================================================== --- wxWidgets-trunk.orig/include/wx/qt/colour.h +++ wxWidgets-trunk/include/wx/qt/colour.h @@ -9,37 +9,34 @@ #ifndef _WX_QT_COLOUR_H_ #define _WX_QT_COLOUR_H_ -#include +class QColor; class WXDLLIMPEXP_CORE wxColour : public wxColourBase { public: DEFINE_STD_WXCOLOUR_CONSTRUCTORS - wxColour(const QColor& color) : m_qtColor(color) {} + wxColour(const QColor &); - virtual bool IsOk() const { return m_qtColor.isValid(); } + virtual bool IsOk(void) const; - virtual ChannelType Red() const { return m_qtColor.red(); } - virtual ChannelType Green() const { return m_qtColor.green(); } - virtual ChannelType Blue() const { return m_qtColor.blue(); } - virtual ChannelType Alpha() const { return m_qtColor.alpha(); } - - bool operator==(const wxColour& color) const - { return m_qtColor == color.m_qtColor; } - bool operator!=(const wxColour& color) const - { return m_qtColor != color.m_qtColor; } + virtual ChannelType Red(void) const; + virtual ChannelType Green(void) const; + virtual ChannelType Blue(void) const; + virtual ChannelType Alpha(void) const; + + bool operator==(const wxColour &) const; + bool operator!=(const wxColour &) const; int GetPixel() const; - QColor GetHandle() const { return m_qtColor; }; + QColor *GetHandle(void) const; protected: virtual void - InitRGBA(ChannelType r, ChannelType g, ChannelType b, ChannelType a) - { m_qtColor.setRgb(r, g, b, a); } + InitRGBA(ChannelType r, ChannelType g, ChannelType b, ChannelType a); private: - QColor m_qtColor; + QColor *m_qtColor; DECLARE_DYNAMIC_CLASS(wxColour) }; Index: wxWidgets-trunk/src/qt/bitmap.cpp =================================================================== --- wxWidgets-trunk.orig/src/qt/bitmap.cpp +++ wxWidgets-trunk/src/qt/bitmap.cpp @@ -496,7 +496,7 @@ bool wxMask::Create(const wxBitmap& bitm if (m_qtBitmap) delete m_qtBitmap; - m_qtBitmap = new QBitmap(bitmap.GetHandle()->createMaskFromColor(colour.GetHandle())); + m_qtBitmap = new QBitmap(bitmap.GetHandle()->createMaskFromColor(*colour.GetHandle())); return true; } Index: wxWidgets-trunk/src/qt/brush.cpp =================================================================== --- wxWidgets-trunk.orig/src/qt/brush.cpp +++ wxWidgets-trunk/src/qt/brush.cpp @@ -95,7 +95,7 @@ wxBrush::wxBrush() wxBrush::wxBrush(const wxColour& col, wxBrushStyle style ) { m_refData = new wxBrushRefData(); - M_BRUSHDATA.setColor(col.GetHandle()); + M_BRUSHDATA.setColor(*col.GetHandle()); M_BRUSHDATA.setStyle(ConvertBrushStyle(style)); M_STYLEDATA = style; } @@ -103,7 +103,7 @@ wxBrush::wxBrush(const wxColour& col, wx wxBrush::wxBrush(const wxColour& col, int style) { m_refData = new wxBrushRefData(); - M_BRUSHDATA.setColor(col.GetHandle()); + M_BRUSHDATA.setColor(*col.GetHandle()); M_BRUSHDATA.setStyle(ConvertBrushStyle((wxBrushStyle)style)); M_STYLEDATA = (wxBrushStyle)style; } @@ -122,7 +122,7 @@ wxBrush::wxBrush(const wxBitmap& stipple void wxBrush::SetColour(const wxColour& col) { AllocExclusive(); - M_BRUSHDATA.setColor(col.GetHandle()); + M_BRUSHDATA.setColor(*col.GetHandle()); } void wxBrush::SetColour(unsigned char r, unsigned char g, unsigned char b) Index: wxWidgets-trunk/src/qt/calctrl.cpp =================================================================== --- wxWidgets-trunk.orig/src/qt/calctrl.cpp +++ wxWidgets-trunk/src/qt/calctrl.cpp @@ -228,7 +228,7 @@ void wxCalendarCtrl::SetHoliday(size_t d date.setDate(date.year(), date.month(), day); QTextCharFormat format = m_qtCalendar->dateTextFormat(date); - format.setForeground(m_colHolidayFg.GetHandle()); + format.setForeground(*m_colHolidayFg.GetHandle()); m_qtCalendar->setDateTextFormat(date, format); } @@ -248,9 +248,9 @@ void wxCalendarCtrl::RefreshHolidays() if ( m_windowStyle & wxCAL_SHOW_HOLIDAYS ) { if ( m_colHolidayFg.IsOk() ) - format.setForeground(m_colHolidayFg.GetHandle()); + format.setForeground(*m_colHolidayFg.GetHandle()); if ( m_colHolidayBg.IsOk() ) - format.setBackground(m_colHolidayBg.GetHandle()); + format.setBackground(*m_colHolidayBg.GetHandle()); } else { @@ -277,9 +277,9 @@ void wxCalendarCtrl::SetHeaderColours(co QTextCharFormat format = m_qtCalendar->headerTextFormat(); if ( m_colHeaderFg.IsOk() ) - format.setForeground(m_colHeaderFg.GetHandle()); + format.setForeground(*m_colHeaderFg.GetHandle()); if ( m_colHeaderBg.IsOk() ) - format.setBackground(m_colHeaderBg.GetHandle()); + format.setBackground(*m_colHeaderBg.GetHandle()); m_qtCalendar->setHeaderTextFormat(format); } @@ -302,9 +302,9 @@ void wxCalendarCtrl::SetAttr(size_t day, QTextCharFormat format = m_qtCalendar->dateTextFormat(date); if ( attr->HasTextColour() ) - format.setForeground(attr->GetTextColour().GetHandle()); + format.setForeground(*attr->GetTextColour().GetHandle()); if ( attr->HasBackgroundColour() ) - format.setBackground(attr->GetBackgroundColour().GetHandle()); + format.setBackground(*attr->GetBackgroundColour().GetHandle()); wxMISSING_IMPLEMENTATION( "Setting font" ); Index: wxWidgets-trunk/src/qt/colordlg.cpp =================================================================== --- wxWidgets-trunk.orig/src/qt/colordlg.cpp +++ wxWidgets-trunk/src/qt/colordlg.cpp @@ -29,10 +29,10 @@ bool wxColourDialog::Create(wxWindow *pa if ( m_data.GetChooseFull() ) { for (int i=0; isetCurrentColor(m_data.GetColour().GetHandle()); + GetHandle()->setCurrentColor(*m_data.GetColour().GetHandle()); return wxTopLevelWindow::Create( parent, wxID_ANY, ""); } Index: wxWidgets-trunk/src/qt/colour.cpp =================================================================== --- wxWidgets-trunk.orig/src/qt/colour.cpp +++ wxWidgets-trunk/src/qt/colour.cpp @@ -11,11 +11,23 @@ // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" #include "wx/qt/private/utils.h" +#include "wx/colour.h" #ifdef __BORLANDC__ #pragma hdrstop #endif +wxColour::wxColour(const QColor &color) : m_qtColor(new QColor(color)) {} +bool wxColour::IsOk(void) const { return m_qtColor->isValid(); } +unsigned char wxColour::Red(void) const { return m_qtColor->red(); } +unsigned char wxColour::Green(void) const { return m_qtColor->green(); } +unsigned char wxColour::Blue(void) const { return m_qtColor->blue(); } +unsigned char wxColour::Alpha(void) const { return m_qtColor->alpha(); } +bool wxColour::operator==(const wxColour &color) const { return *m_qtColor == *color.m_qtColor; } +bool wxColour::operator!=(const wxColour &color) const { return *m_qtColor != *color.m_qtColor; } +QColor *wxColour::GetHandle(void) const { return m_qtColor; } +void wxColour::InitRGBA(unsigned char r, unsigned char g, unsigned char b, unsigned char a) { m_qtColor->setRgb(r, g, b, a); } + int wxColour::GetPixel() const { wxMISSING_IMPLEMENTATION( "wxColour::GetPixel" ); Index: wxWidgets-trunk/src/qt/dc.cpp =================================================================== --- wxWidgets-trunk.orig/src/qt/dc.cpp +++ wxWidgets-trunk/src/qt/dc.cpp @@ -128,7 +128,7 @@ void wxQtDCImpl::SetBrush(const wxBrush& { // Use a monochrome mask: use foreground color for the mask QBrush b(brush.GetHandle()); - b.setColor(m_textForegroundColour.GetHandle()); + b.setColor(*m_textForegroundColour.GetHandle()); b.setTexture(b.texture().mask()); m_qtPainter->setBrush(b); } @@ -553,7 +553,7 @@ void wxQtDCImpl::DoDrawEllipse(wxCoord x // Save pen/brush savedBrush = m_qtPainter->brush(); // Fill with text background color ("no fill" like in wxGTK): - m_qtPainter->setBrush(QBrush(m_textBackgroundColour.GetHandle())); + m_qtPainter->setBrush(QBrush(*m_textBackgroundColour.GetHandle())); } // Draw @@ -598,8 +598,8 @@ void wxQtDCImpl::DoDrawBitmap(const wxBi QPen savedPen = m_qtPainter->pen(); //Use text colors - m_qtPainter->setBackground(QBrush(m_textBackgroundColour.GetHandle())); - m_qtPainter->setPen(QPen(m_textForegroundColour.GetHandle())); + m_qtPainter->setBackground(QBrush(*m_textBackgroundColour.GetHandle())); + m_qtPainter->setPen(QPen(*m_textForegroundColour.GetHandle())); //Draw m_qtPainter->drawPixmap(x, y, pix); @@ -629,7 +629,7 @@ void wxQtDCImpl::DoDrawBitmap(const wxBi void wxQtDCImpl::DoDrawText(const wxString& text, wxCoord x, wxCoord y) { QPen savedPen = m_qtPainter->pen(); - m_qtPainter->setPen(QPen(m_textForegroundColour.GetHandle())); + m_qtPainter->setPen(QPen(*m_textForegroundColour.GetHandle())); // Disable logical function QPainter::CompositionMode savedOp = m_qtPainter->compositionMode(); @@ -643,7 +643,7 @@ void wxQtDCImpl::DoDrawText(const wxStri QBrush savedBrush = m_qtPainter->background(); //Use text colors - m_qtPainter->setBackground(QBrush(m_textBackgroundColour.GetHandle())); + m_qtPainter->setBackground(QBrush(*m_textBackgroundColour.GetHandle())); //Draw m_qtPainter->drawText(x, y, 1, 1, Qt::TextDontClip, wxQtConvertString(text)); @@ -672,7 +672,7 @@ void wxQtDCImpl::DoDrawRotatedText(const m_qtPainter->rotate(-angle); QPen savedPen = m_qtPainter->pen(); - m_qtPainter->setPen(QPen(m_textForegroundColour.GetHandle())); + m_qtPainter->setPen(QPen(*m_textForegroundColour.GetHandle())); // Disable logical function QPainter::CompositionMode savedOp = m_qtPainter->compositionMode(); @@ -686,7 +686,7 @@ void wxQtDCImpl::DoDrawRotatedText(const QBrush savedBrush = m_qtPainter->background(); //Use text colors - m_qtPainter->setBackground(QBrush(m_textBackgroundColour.GetHandle())); + m_qtPainter->setBackground(QBrush(*m_textBackgroundColour.GetHandle())); //Draw m_qtPainter->drawText(x, y, 1, 1, Qt::TextDontClip, wxQtConvertString(text)); Index: wxWidgets-trunk/src/qt/listctrl.cpp =================================================================== --- wxWidgets-trunk.orig/src/qt/listctrl.cpp +++ wxWidgets-trunk/src/qt/listctrl.cpp @@ -336,9 +336,9 @@ bool wxListCtrl::SetItem(wxListItem& inf if ( info.GetFont().IsOk() ) qitem->setFont(col, info.GetFont().GetHandle() ); if ( info.GetTextColour().IsOk() ) - qitem->setTextColor(col, info.GetTextColour().GetHandle()); + qitem->setTextColor(col, *info.GetTextColour().GetHandle()); if ( info.GetBackgroundColour().IsOk() ) - qitem->setBackgroundColor(col, info.GetBackgroundColour().GetHandle()); + qitem->setBackgroundColor(col, *info.GetBackgroundColour().GetHandle()); } return true; } Index: wxWidgets-trunk/src/qt/pen.cpp =================================================================== --- wxWidgets-trunk.orig/src/qt/pen.cpp +++ wxWidgets-trunk/src/qt/pen.cpp @@ -247,7 +247,7 @@ wxPen::wxPen( const wxColour &colour, in m_refData = new wxPenRefData(); M_PENDATA.setWidth(width); M_PENDATA.setStyle(ConvertPenStyle(style)); - M_PENDATA.setColor(colour.GetHandle()); + M_PENDATA.setColor(*colour.GetHandle()); } wxPen::wxPen(const wxColour& col, int width, int style) @@ -255,7 +255,7 @@ wxPen::wxPen(const wxColour& col, int wi m_refData = new wxPenRefData(); M_PENDATA.setWidth(width); M_PENDATA.setStyle(ConvertPenStyle((wxPenStyle)style)); - M_PENDATA.setColor(col.GetHandle()); + M_PENDATA.setColor(*col.GetHandle()); } @@ -276,7 +276,7 @@ bool wxPen::operator!=(const wxPen& pen) void wxPen::SetColour(const wxColour& col) { AllocExclusive(); - M_PENDATA.setColor(col.GetHandle()); + M_PENDATA.setColor(*col.GetHandle()); } void wxPen::SetColour(unsigned char r, unsigned char g, unsigned char b)