⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 paletteeditoradvancedimpl.cpp

📁 Linux下的基于X11的图形开发环境。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/************************************************************************ Copyright (C) 2000 Trolltech AS.  All rights reserved.**** This file is part of Qt Designer.**** This file may be distributed and/or modified under the terms of the** GNU General Public License version 2 as published by the Free Software** Foundation and appearing in the file LICENSE.GPL included in the** packaging of this file.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.**** See http://www.trolltech.com/gpl/ for GPL licensing information.**** Contact info@trolltech.com if any conditions of this licensing are** not clear to you.************************************************************************/#include "paletteeditoradvancedimpl.h"#include "styledbutton.h"#include "mainwindow.h"#include "formwindow.h"#include <qcheckbox.h>#include <qcombobox.h>#include <qapplication.h>#include <qpushbutton.h>#include <qlistbox.h>#include <qpainter.h>#include <qgroupbox.h>/*!    Class used by PaletteEditor for bold combobox items*/class BoldListBoxText : public QListBoxText{public:    BoldListBoxText( QString text, QListBox* lb = 0 );protected:    virtual void paint( QPainter* );};BoldListBoxText::BoldListBoxText( QString text, QListBox* lb )    : QListBoxText( lb ){    setText( text );}void BoldListBoxText::paint( QPainter* painter ){    QFont f = painter->font();    f.setBold( TRUE );    painter->setFont( f );    QListBoxText::paint( painter );}PaletteEditorAdvanced::PaletteEditorAdvanced( FormWindow *fw, QWidget * parent,					      const char * name, bool modal, WFlags f )    : PaletteEditorAdvancedBase( parent, name, modal, f ), formWindow( fw ), selectedPalette(0){    connect( buttonHelp, SIGNAL( clicked() ), MainWindow::self, SLOT( showDialogHelp() ) );    buttonPixmap->setEditor( StyledButton::PixmapEditor );    editPalette = QApplication::palette();    setPreviewPalette( editPalette );    buttonPixmap->setFormWindow( formWindow );    // force toggle event    checkBuildEffect->setChecked(FALSE);    checkBuildEffect->setChecked(TRUE);}PaletteEditorAdvanced::~PaletteEditorAdvanced(){}void PaletteEditorAdvanced::onToggleBuildInactive( bool v ){    if (selectedPalette == 1) {	groupCentral->setDisabled(v);	groupEffect->setDisabled(v);    }    if (v) {	buildInactive();	updateStyledButtons();    }}void PaletteEditorAdvanced::onToggleBuildDisabled( bool v ){    if (selectedPalette == 2) {	groupCentral->setDisabled(v);	groupEffect->setDisabled(v);    }    if (v) {	buildDisabled();	updateStyledButtons();    }}void PaletteEditorAdvanced::paletteSelected(int p){    selectedPalette = p;    if(p == 1) { // inactive	groupCentral->setDisabled(checkBuildInactive->isChecked());	groupEffect->setDisabled(checkBuildInactive->isChecked());    }    else if (p == 2) { // disabled	groupCentral->setDisabled(checkBuildDisabled->isChecked());	groupEffect->setDisabled(checkBuildDisabled->isChecked());    }    else {	groupCentral->setEnabled(TRUE);	groupEffect->setEnabled(TRUE);    }    updateStyledButtons();}void PaletteEditorAdvanced::onChooseCentralColor(){    switch(selectedPalette) {    case 0:    default:	mapToActiveCentralRole( buttonCentral->color() );	break;    case 1:	mapToInactiveCentralRole( buttonCentral->color() );	break;    case 2:	mapToDisabledCentralRole( buttonCentral->color() );	break;    }    updateStyledButtons();}void PaletteEditorAdvanced::onChooseEffectColor(){    switch(selectedPalette) {    case 0:    default:	mapToActiveEffectRole( buttonEffect->color() );	break;    case 1:	mapToInactiveEffectRole( buttonEffect->color() );	break;    case 2:	mapToDisabledEffectRole( buttonEffect->color() );	break;    }    updateStyledButtons();}void PaletteEditorAdvanced::onChoosePixmap(){    if (buttonPixmap->pixmap()) {	switch(selectedPalette) {	case 0:	default:	    mapToActivePixmapRole( *buttonPixmap->pixmap() );	    break;	case 1:	    mapToInactivePixmapRole( *buttonPixmap->pixmap() );	    break;	case 2:	    mapToDisabledPixmapRole( *buttonPixmap->pixmap() );	    break;	}    }    updateStyledButtons();}void PaletteEditorAdvanced::onToggleBuildEffects( bool on ){    if (!on) return;    buildActiveEffect();    buildInactiveEffect();    buildDisabledEffect();}QColorGroup::ColorRole PaletteEditorAdvanced::centralFromItem( int item ){    switch( item ) {        case 0:            return QColorGroup::Background;        case 1:            return QColorGroup::Foreground;        case 2:            return QColorGroup::Button;        case 3:            return QColorGroup::Base;        case 4:            return QColorGroup::Text;        case 5:            return QColorGroup::BrightText;        case 6:            return QColorGroup::ButtonText;        case 7:            return QColorGroup::Highlight;        case 8:            return QColorGroup::HighlightedText;        case 9:            return QColorGroup::Link;        case 10:            return QColorGroup::LinkVisited;        default:            return QColorGroup::NColorRoles;    }}QColorGroup::ColorRole PaletteEditorAdvanced::effectFromItem( int item ){    switch( item ) {    case 0:	return QColorGroup::Light;    case 1:	return QColorGroup::Midlight;    case 2:	return QColorGroup::Mid;    case 3:	return QColorGroup::Dark;    case 4:	return QColorGroup::Shadow;    default:	return QColorGroup::NColorRoles;    }}void PaletteEditorAdvanced::onCentral( int item ){    QPixmap* p = 0;    QColor c;    switch(selectedPalette) {    case 0:    default:	c = editPalette.active().color( centralFromItem(item) );	p = editPalette.active().brush( centralFromItem(item) ).pixmap();	break;    case 1:	c = editPalette.inactive().color( centralFromItem(item) );	p = editPalette.inactive().brush( centralFromItem(item) ).pixmap();	break;    case 2:	c =  editPalette.disabled().color( centralFromItem(item) );	p = editPalette.disabled().brush( centralFromItem(item) ).pixmap();	break;    }    buttonCentral->setColor(c);    if (p)	buttonPixmap->setPixmap( *p );    else	buttonPixmap->setPixmap( QPixmap() );}void PaletteEditorAdvanced::onEffect( int item ){    QColor c;    switch(selectedPalette) {    case 0:    default:	c = editPalette.active().color( effectFromItem(item) );	break;    case 1:	editPalette.inactive().color( effectFromItem(item) );	break;    case 2:	editPalette.disabled().color( effectFromItem(item) );	break;    }    buttonEffect->setColor(c);}void PaletteEditorAdvanced::mapToActiveCentralRole( const QColor& c ){    QColorGroup cg = editPalette.active();    cg.setColor( centralFromItem(comboCentral->currentItem()), c );    editPalette.setActive( cg );    buildActiveEffect();    if(checkBuildInactive->isChecked())	buildInactive();    if(checkBuildDisabled->isChecked())	buildDisabled();    setPreviewPalette( editPalette );}void PaletteEditorAdvanced::mapToActiveEffectRole( const QColor& c ){    QColorGroup cg = editPalette.active();    cg.setColor( effectFromItem(comboEffect->currentItem()), c );    editPalette.setActive( cg );    if(checkBuildInactive->isChecked())	buildInactive();    if(checkBuildDisabled->isChecked())	buildDisabled();    setPreviewPalette( editPalette );}void PaletteEditorAdvanced::mapToActivePixmapRole( const QPixmap& pm ){    QColorGroup::ColorRole role = centralFromItem(comboCentral->currentItem());    QColorGroup cg = editPalette.active();    if (  !pm.isNull()  )	cg.setBrush( role, QBrush( cg.color( role ), pm ) );

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -