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

📄 paletteeditorimpl.cpp

📁 Qt/Embedded是一个多平台的C++图形用户界面应用程序框架
💻 CPP
📖 第 1 页 / 共 2 页
字号:
    setPreviewPalette( editPalette );}void PaletteEditor::mapToActivePixmapRole( const QPixmap& pm ){    QColorGroup::ColorRole role = centralFromItem(comboActiveCentral->currentItem());    QColorGroup cg = editPalette.active();    if (  !pm.isNull()  )	cg.setBrush( role, QBrush( cg.color( role ), pm ) );    else	cg.setBrush( role, QBrush( cg.color( role ) ) );    editPalette.setActive( cg );    if ( checkBuildActiveEffect->isChecked() )	buildActiveEffect();    if ( checkBuildInactive->isChecked() )	buildInactive();    if ( checkBuildDisabled->isChecked() )	buildDisabled();    setPreviewPalette( editPalette );}void PaletteEditor::mapToInactiveCentralRole( const QColor& c ){    QColorGroup cg = editPalette.inactive();    cg.setColor( centralFromItem(comboInactiveCentral->currentItem()), c );    editPalette.setInactive( cg );    if ( checkBuildInactiveEffect->isChecked() )	buildInactiveEffect();    setPreviewPalette( editPalette );}void PaletteEditor::mapToInactiveEffectRole( const QColor& c ){    QColorGroup cg = editPalette.inactive();    cg.setColor( effectFromItem(comboInactiveEffect->currentItem()), c );    editPalette.setInactive( cg );    setPreviewPalette( editPalette );}void PaletteEditor::mapToInactivePixmapRole( const QPixmap& pm ){    QColorGroup::ColorRole role = centralFromItem(comboInactiveCentral->currentItem());    QColorGroup cg = editPalette.inactive();    if (  !pm.isNull()  )	cg.setBrush( role, QBrush( cg.color( role ), pm ) );    else	cg.setBrush( role, QBrush( cg.color( role ) ) );    editPalette.setInactive( cg );    setPreviewPalette( editPalette );}void PaletteEditor::mapToDisabledCentralRole( const QColor& c ){    QColorGroup cg = editPalette.disabled();    cg.setColor( centralFromItem(comboDisabledCentral->currentItem()), c );    editPalette.setDisabled( cg );    if ( checkBuildDisabledEffect->isChecked() )	buildDisabledEffect();    setPreviewPalette( editPalette );}void PaletteEditor::mapToDisabledEffectRole( const QColor& c ){    QColorGroup cg = editPalette.disabled();    cg.setColor( effectFromItem(comboDisabledEffect->currentItem()), c );    editPalette.setDisabled( cg );    setPreviewPalette( editPalette );}void PaletteEditor::mapToDisabledPixmapRole( const QPixmap& pm ){    QColorGroup::ColorRole role = centralFromItem(comboDisabledCentral->currentItem());    QColorGroup cg = editPalette.disabled();    if (  !pm.isNull()  )	cg.setBrush( role, QBrush( cg.color( role ), pm ) );    else	cg.setBrush( role, QBrush( cg.color( role ) ) );    editPalette.setDisabled( cg );    setPreviewPalette( editPalette );}void PaletteEditor::buildPalette(){    int i;    QColorGroup cg;    QColor btn = buttonMainColor->color();    QColor back = buttonMainColor2->color();    QPalette automake( btn, back );    for (i = 0; i<9; i++)	cg.setColor( centralFromItem(i), automake.active().color( centralFromItem(i) ) );    editPalette.setActive( cg );    buildActiveEffect();    cg = editPalette.inactive();    QPalette temp( editPalette.active().color( QColorGroup::Button ),		   editPalette.active().color( QColorGroup::Background ) );    for (i = 0; i<9; i++)	cg.setColor( centralFromItem(i), temp.inactive().color( centralFromItem(i) ) );    editPalette.setInactive( cg );    buildInactiveEffect();    cg = editPalette.disabled();    for (i = 0; i<9; i++)	cg.setColor( centralFromItem(i), temp.disabled().color( centralFromItem(i) ) );    editPalette.setDisabled( cg );    buildDisabledEffect();    updateStyledButtons();}void PaletteEditor::buildActiveEffect(){    QColorGroup cg = editPalette.active();    QColor btn = cg.color( QColorGroup::Button );    QPalette temp( btn, btn );    for (int i = 0; i<5; i++)	cg.setColor( effectFromItem(i), temp.active().color( effectFromItem(i) ) );    editPalette.setActive( cg );    setPreviewPalette( editPalette );    updateStyledButtons();}void PaletteEditor::buildInactive(){    editPalette.setInactive( editPalette.active() );    buildInactiveEffect();}void PaletteEditor::buildInactiveEffect(){    QColorGroup cg = editPalette.inactive();    QColor light, midlight, mid, dark, shadow;    QColor btn = cg.color( QColorGroup::Button );    light = btn.light(150);    midlight = btn.light(115);    mid = btn.dark(150);    dark = btn.dark();    shadow = black;    cg.setColor( QColorGroup::Light, light );    cg.setColor( QColorGroup::Midlight, midlight );    cg.setColor( QColorGroup::Mid, mid );    cg.setColor( QColorGroup::Dark, dark );    cg.setColor( QColorGroup::Shadow, shadow );    editPalette.setInactive( cg );    setPreviewPalette( editPalette );    updateStyledButtons();}void PaletteEditor::buildDisabled(){    QColorGroup cg = editPalette.active();    cg.setColor( QColorGroup::ButtonText, darkGray );    cg.setColor( QColorGroup::Foreground, darkGray );    editPalette.setDisabled( cg );    buildDisabledEffect();}void PaletteEditor::buildDisabledEffect(){    QColorGroup cg = editPalette.disabled();    QColor light, midlight, mid, dark, shadow;    QColor btn = cg.color( QColorGroup::Button );    light = btn.light(150);    midlight = btn.light(115);    mid = btn.dark(150);    dark = btn.dark();    shadow = black;    cg.setColor( QColorGroup::Light, light );    cg.setColor( QColorGroup::Midlight, midlight );    cg.setColor( QColorGroup::Mid, mid );    cg.setColor( QColorGroup::Dark, dark );    cg.setColor( QColorGroup::Shadow, shadow );    editPalette.setDisabled( cg );    setPreviewPalette( editPalette );    updateStyledButtons();}void PaletteEditor::setPreviewPalette( const QPalette& pal ){    QColorGroup cg;    switch ( tabWidget->currentPageIndex() ) {    case 0:	cg = pal.active();	break;    case 1:	cg = pal.inactive();	break;    case 2:	cg = pal.disabled();	break;    }    previewPalette.setActive( cg );    previewPalette.setInactive( cg );    previewPalette.setDisabled( cg );    previewActive->setPreviewPalette( previewPalette );    previewInactive->setPreviewPalette( previewPalette );    previewDisabled->setPreviewPalette( previewPalette );}void PaletteEditor::updateStyledButtons(){    buttonMainColor->setColor( editPalette.active().color( QColorGroup::Button ));    buttonMainColor2->setColor( editPalette.active().color( QColorGroup::Background ));    buttonActiveCentral->setColor( editPalette.active().color( centralFromItem( comboActiveCentral->currentItem() ) ) );    buttonActiveEffect->setColor( editPalette.active().color( effectFromItem( comboActiveEffect->currentItem() ) ) );    QPixmap* pm = editPalette.active().brush( centralFromItem( comboActiveCentral->currentItem() ) ).pixmap();    if ( pm && !pm->isNull() )	buttonActivePixmap->setPixmap( *pm );    buttonInactiveCentral->setColor( editPalette.inactive().color( centralFromItem( comboInactiveCentral->currentItem() ) ) );    buttonInactiveEffect->setColor( editPalette.inactive().color( effectFromItem( comboInactiveEffect->currentItem() ) ) );    pm = editPalette.inactive().brush( centralFromItem( comboActiveCentral->currentItem() ) ).pixmap();    if ( pm && !pm->isNull() )	buttonInactivePixmap->setPixmap( *pm );    buttonDisabledCentral->setColor( editPalette.disabled().color( centralFromItem( comboDisabledCentral->currentItem() ) ) );    buttonDisabledEffect->setColor( editPalette.disabled().color( effectFromItem( comboDisabledEffect->currentItem() ) ) );    pm = editPalette.disabled().brush( centralFromItem( comboActiveCentral->currentItem() ) ).pixmap();    if ( pm && !pm->isNull() )	buttonDisabledPixmap->setPixmap( *pm );}void PaletteEditor::setPal( const QPalette& pal ){    checkBuildPalette->setChecked( FALSE );    editPalette = pal;    setPreviewPalette( pal );    updateStyledButtons();}QPalette PaletteEditor::pal() const{    return editPalette;}void PaletteEditor::setupBackgroundMode( BackgroundMode mode ){    int initRole = 0;    switch( mode ) {    case PaletteBackground:	initRole = 0;	break;    case PaletteForeground:	initRole = 1;	break;    case PaletteButton:	initRole = 2;	break;    case PaletteBase:	initRole = 3;	break;    case PaletteText:	initRole = 4;	break;    case PaletteBrightText:	initRole = 5;	break;    case PaletteButtonText:	initRole = 6;	break;    case PaletteHighlight:	initRole = 7;	break;    case PaletteHighlightedText:	initRole = 8;	break;    case PaletteLight:	initRole = 9;	break;    case PaletteMidlight:	initRole = 10;	break;    case PaletteDark:	initRole = 11;	break;    case PaletteMid:	initRole = 12;	break;    case PaletteShadow:	initRole = 13;	break;    default:	initRole = -1;	break;    }    if ( initRole > -1 ) {	if (initRole > 8 ) {	    comboActiveEffect->setCurrentItem( initRole - 9 );	    comboInactiveEffect->setCurrentItem( initRole - 9 );	    comboDisabledEffect->setCurrentItem( initRole - 9 );	    if ( comboActiveEffect->listBox() ) {		QString text = comboActiveEffect->currentText();		comboActiveEffect->listBox()->changeItem( new BoldListBoxText( text ), initRole - 9 );		comboInactiveEffect->listBox()->changeItem( new BoldListBoxText( text ), initRole - 9 );		comboDisabledEffect->listBox()->changeItem( new BoldListBoxText( text ), initRole - 9 );	    }	} else {	    comboActiveCentral->setCurrentItem( initRole );	    comboInactiveCentral->setCurrentItem( initRole );	    comboDisabledCentral->setCurrentItem( initRole );	    if ( comboActiveCentral->listBox() ) {		QString text = comboActiveCentral->currentText();		comboActiveCentral->listBox()->changeItem( new BoldListBoxText( text ), initRole );		comboInactiveCentral->listBox()->changeItem( new BoldListBoxText( text ), initRole );		comboDisabledCentral->listBox()->changeItem( new BoldListBoxText( text ), initRole );	    }	}    }}QPalette PaletteEditor::getPalette( bool *ok, const QPalette &init, BackgroundMode mode, QWidget* parent, const char* name, FormWindow *fw ){    target = 0;    PaletteEditor* dlg = new PaletteEditor( fw, parent, name, TRUE );    dlg->setupBackgroundMode( mode );    dlg->setCaption( PaletteEditor::tr( "Change palette" ) );    if ( init != QPalette() )        dlg->setPal( init );    int resultCode = dlg->exec();    QPalette result = init;    if ( resultCode == QDialog::Accepted ) {	if ( ok )	    *ok = TRUE;	result = dlg->pal();    } else {	if ( ok )	    *ok = FALSE;    }    delete dlg;    return result;}void PaletteEditor::getPalette( bool *ok, QWidget* t, QWidget* parent, const char* name ){    target = t;    PaletteEditor* dlg = new PaletteEditor( 0, parent, name, TRUE );    dlg->setCaption( PaletteEditor::tr( "Change palette" ) );    int resultCode = dlg->exec();    if ( resultCode == QDialog::Accepted ) {	if ( ok )	    *ok = TRUE;	target->setPalette( dlg->pal() );    } else {	if ( ok )	    *ok = FALSE;    }    delete dlg;}

⌨️ 快捷键说明

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