From 0eb9f5e217225129b22de1a48fe7300723456da3 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Thu, 26 Jan 2012 16:34:00 -0600 Subject: Add NetWM/Motif controls to QWidget This must break binary compatibility, so version was also bumped to 3.4.0 --- src/kernel/qwidget.h | 48 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 34 insertions(+), 14 deletions(-) (limited to 'src/kernel/qwidget.h') diff --git a/src/kernel/qwidget.h b/src/kernel/qwidget.h index c83acb5..f77ca3a 100644 --- a/src/kernel/qwidget.h +++ b/src/kernel/qwidget.h @@ -455,6 +455,7 @@ public: QWidget * parentWidget( bool sameWindow = FALSE ) const; WState testWState( WState s ) const; WFlags testWFlags( WFlags f ) const; + NFlags testNFlags( NFlags f ) const; static QWidget * find( WId ); static QWidgetMapper *wmapper(); @@ -578,6 +579,9 @@ protected: WFlags getWFlags() const; virtual void setWFlags( WFlags ); void clearWFlags( WFlags n ); + NFlags getNFlags() const; + virtual void setNFlags( NFlags ); + void clearNFlags( NFlags n ); virtual bool focusNextPrevChild( bool next ); @@ -665,20 +669,25 @@ private: void setBackgroundX11Relative(); #endif - WId winid; - uint widget_state; - uint widget_flags; - uint focus_policy : 4; - uint own_font :1; - uint own_palette :1; - uint sizehint_forced :1; - uint is_closing :1; - uint in_show : 1; - uint in_show_maximized : 1; - uint fstrut_dirty : 1; - uint im_enabled : 1; - QRect crect; - QColor bg_col; + WId winid; + uint widget_state; + uint widget_flags; + uint netwm_flags; + uint reserved_1; + uint reserved_2; + uint reserved_3; + uint reserved_4; + uint focus_policy : 4; + uint own_font :1; + uint own_palette :1; + uint sizehint_forced :1; + uint is_closing :1; + uint in_show : 1; + uint in_show_maximized : 1; + uint fstrut_dirty : 1; + uint im_enabled : 1; + QRect crect; + QColor bg_col; #ifndef QT_NO_PALETTE QPalette pal; #endif @@ -756,6 +765,8 @@ inline Qt::WState QWidget::testWState( WState s ) const inline Qt::WFlags QWidget::testWFlags( WFlags f ) const { return (widget_flags & f); } +inline Qt::NFlags QWidget::testNFlags( NFlags f ) const +{ return (netwm_flags & f); } inline WId QWidget::winId() const { return winid; } @@ -916,12 +927,21 @@ inline void QWidget::clearWState( uint f ) inline Qt::WFlags QWidget::getWFlags() const { return widget_flags; } +inline Qt::NFlags QWidget::getNFlags() const +{ return netwm_flags; } + inline void QWidget::setWFlags( WFlags f ) { widget_flags |= f; } +inline void QWidget::setNFlags( NFlags f ) +{ netwm_flags |= f; } + inline void QWidget::clearWFlags( WFlags f ) { widget_flags &= ~f; } +inline void QWidget::clearNFlags( NFlags f ) +{ netwm_flags &= ~f; } + inline void QWidget::constPolish() const { if ( !testWState(WState_Polished) ) { -- cgit v1.2.3