diff options
author | Oliver Bolte <obo@openoffice.org> | 2006-10-13 07:33:36 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2006-10-13 07:33:36 +0000 |
commit | 8c6e66f73c33eb4408bc075eb65beecce7fd5a50 (patch) | |
tree | f159b77a11fdeb96da2216fa3baaa126213b7c14 /vcl | |
parent | INTEGRATION: CWS vcl65 (1.2.54); FILE MERGED (diff) | |
download | core-8c6e66f73c33eb4408bc075eb65beecce7fd5a50.tar.gz core-8c6e66f73c33eb4408bc075eb65beecce7fd5a50.zip |
INTEGRATION: CWS vcl65 (1.17.20); FILE MERGED
2006/09/05 16:22:13 pl 1.17.20.1: #i53068# remove ugly #define private public
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/unx/kde/salnativewidgets-kde.cxx | 44 |
1 files changed, 34 insertions, 10 deletions
diff --git a/vcl/unx/kde/salnativewidgets-kde.cxx b/vcl/unx/kde/salnativewidgets-kde.cxx index 01a573d252d3..753176785371 100644 --- a/vcl/unx/kde/salnativewidgets-kde.cxx +++ b/vcl/unx/kde/salnativewidgets-kde.cxx @@ -4,9 +4,9 @@ * * $RCSfile: salnativewidgets-kde.cxx,v $ * - * $Revision: 1.20 $ + * $Revision: 1.21 $ * - * last change: $Author: obo $ $Date: 2006-10-11 08:21:26 $ + * last change: $Author: obo $ $Date: 2006-10-13 08:33:36 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -207,12 +207,20 @@ class WidgetPainter */ QMenuBar *m_pMenuBar; + /** Identifiers of menu bar items. + */ + int m_nMenuBarEnabledItem, m_nMenuBarDisabledItem; + /** Cached popup menu. @see m_pPushButton */ QPopupMenu *m_pPopupMenu; + /** Identifiers of popup menu items. + */ + int m_nPopupMenuEnabledItem, m_nPopupMenuDisabledItem; + // TODO other widgets public: @@ -746,8 +754,8 @@ BOOL WidgetPainter::drawStyledWidget( QWidget *pWidget, } else if ( nPart == PART_MENU_ITEM ) { - QMenuItem qMenuItem; - qMenuItem.is_enabled = bool( nStyle & QStyle::Style_Enabled ); + int nMenuItem = ( nStyle & QStyle::Style_Enabled )? m_nMenuBarEnabledItem: m_nMenuBarDisabledItem; + QMenuItem *pMenuItem = static_cast<QMenuBar*>( pWidget )->findItem( nMenuItem ); if ( nStyle & QStyle::Style_Selected ) nStyle |= QStyle::Style_Active | QStyle::Style_Down | QStyle::Style_HasFocus; @@ -755,13 +763,13 @@ BOOL WidgetPainter::drawStyledWidget( QWidget *pWidget, kapp->style().drawControl( QStyle::CE_MenuBarItem, &qPainter, pWidget, qRect, pWidget->colorGroup(), nStyle, - QStyleOption( &qMenuItem ) ); + QStyleOption( pMenuItem ) ); } } else if ( strcmp( "QPopupMenu", pClassName ) == 0 ) { - QMenuItem qMenuItem; - qMenuItem.is_enabled = bool( nStyle & QStyle::Style_Enabled ); + int nMenuItem = ( nStyle & QStyle::Style_Enabled )? m_nPopupMenuEnabledItem: m_nPopupMenuDisabledItem; + QMenuItem *pMenuItem = static_cast<QPopupMenu*>( pWidget )->findItem( nMenuItem ); if ( nStyle & QStyle::Style_Selected ) nStyle |= QStyle::Style_Active; @@ -769,7 +777,7 @@ BOOL WidgetPainter::drawStyledWidget( QWidget *pWidget, kapp->style().drawControl( QStyle::CE_PopupMenuItem, &qPainter, pWidget, qRect, pWidget->colorGroup(), nStyle, - QStyleOption( &qMenuItem, 0, 0 ) ); + QStyleOption( pMenuItem, 0, 0 ) ); } else return FALSE; @@ -1073,7 +1081,15 @@ QToolButton *WidgetPainter::toolButton( const Region& rControlRegion) QMenuBar *WidgetPainter::menuBar( const Region& rControlRegion) { if ( !m_pMenuBar ) - m_pMenuBar = new QMenuBar( NULL, "menu_bar" ); + { + m_pMenuBar = new QMenuBar( NULL, "menu_bar" ); + + m_nMenuBarEnabledItem = m_pMenuBar->insertItem( "" ); + m_nMenuBarDisabledItem = m_pMenuBar->insertItem( "" ); + + m_pMenuBar->setItemEnabled( m_nMenuBarEnabledItem, true ); + m_pMenuBar->setItemEnabled( m_nMenuBarDisabledItem, false ); + } QRect qRect = region2QRect( rControlRegion ); @@ -1086,7 +1102,15 @@ QMenuBar *WidgetPainter::menuBar( const Region& rControlRegion) QPopupMenu *WidgetPainter::popupMenu( const Region& rControlRegion) { if ( !m_pPopupMenu ) - m_pPopupMenu = new QPopupMenu( NULL, "popup_menu" ); + { + m_pPopupMenu = new QPopupMenu( NULL, "popup_menu" ); + + m_nPopupMenuEnabledItem = m_pPopupMenu->insertItem( "" ); + m_nPopupMenuDisabledItem = m_pPopupMenu->insertItem( "" ); + + m_pPopupMenu->setItemEnabled( m_nPopupMenuEnabledItem, true ); + m_pPopupMenu->setItemEnabled( m_nPopupMenuDisabledItem, false ); + } QRect qRect = region2QRect( rControlRegion ); |