You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kbarcode/kbarcode/rectsettingsdlg.cpp

184 lines
5.4 KiB

/***************************************************************************
rectsettingsdlg.cpp - description
-------------------
begin : Mit Jun 18 2003
copyright : (C) 2003 by Dominik Seichter
email : domseichter@web.de
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#include "rectsettingsdlg.h"
// TQt includes
#include <tqcheckbox.h>
#include <tqlabel.h>
#include <tqlayout.h>
#include <tqpainter.h>
#include <tqpen.h>
// KDE includes
#include <kcolorbutton.h>
#include <kcombobox.h>
#include <tdelocale.h>
#include <knuminput.h>
void fillLineCombo( KComboBox* box )
{
/* A small helper function to fill
* a combobox with all by TQt
* supported pen styles.
*/
TQPainter p;
for( int i = 1; i < 6; i++ ) {
TQPixmap pixmap( 60, 20 );
pixmap.fill( TQt::white );
p.begin( &pixmap );
p.setPen( TQPen( TQt::black, 3, (TQt::PenStyle)i ) );
p.drawLine( 5, 10, 55, 10 );
p.end();
box->insertItem( pixmap );
}
}
RectSettingsDlg::RectSettingsDlg(TQWidget *parent, const char *name )
: KDialogBase( KDialogBase::Plain, i18n("Settings"),
KDialogBase::Ok | KDialogBase::Cancel, KDialogBase::Ok, parent,name)
{
TQFrame* frame = plainPage();
TQGridLayout* grid = new TQGridLayout( frame, 6, 6 );
TQSpacerItem* spacer = new TQSpacerItem( 0, 0, TQSizePolicy::Expanding, TQSizePolicy::Minimum );
buttonBorder = new KColorButton( frame );
buttonFill = new KColorButton( frame );
spinWidth = new KIntNumInput( frame );
spinWidth->setRange( 1, 100, 1, false );
comboLine = new KComboBox( false, frame );
fillLineCombo( comboLine );
checkBorder = new TQCheckBox( i18n("&Enable Border"), frame );
grid->addWidget( new TQLabel( i18n("Fill Color:"), frame ), 0, 0 );
grid->addWidget( buttonFill, 0, 1 );
grid->addItem( spacer, 1, 0 );
grid->addWidget( checkBorder, 2, 0 );
grid->addWidget( new TQLabel( i18n("Border Color:"), frame ), 3, 0 );
grid->addWidget( buttonBorder, 3, 1 );
grid->addWidget( new TQLabel( i18n("Border Width:"), frame ), 4, 0 );
grid->addWidget( spinWidth, 4, 1 );
grid->addWidget( new TQLabel( i18n("Line Style:"), frame ), 5, 0 );
grid->addWidget( comboLine, 5, 1 );
connect( checkBorder, TQT_SIGNAL( clicked() ), this, TQT_SLOT( enableControls() ) );
}
RectSettingsDlg::~RectSettingsDlg()
{
}
void RectSettingsDlg::enableControls()
{
buttonBorder->setEnabled( checkBorder->isChecked() );
spinWidth->setEnabled( checkBorder->isChecked() );
comboLine->setEnabled( checkBorder->isChecked() );
}
void RectSettingsDlg::setBorderColor( const TQColor & c )
{
buttonBorder->setColor( c );
}
void RectSettingsDlg::setFillColor( const TQColor & c )
{
buttonFill->setColor( c );
}
void RectSettingsDlg::setBorderWidth( int w )
{
spinWidth->setValue( w );
}
void RectSettingsDlg::setPenStyle( int s )
{
if( s ) {
comboLine->setCurrentItem( s - 1 );
checkBorder->setChecked( true );
} else
checkBorder->setChecked( false );
enableControls();
}
const TQColor RectSettingsDlg::borderColor() const
{
return buttonBorder->color();
}
const TQColor RectSettingsDlg::fillColor() const
{
return buttonFill->color();
}
int RectSettingsDlg::borderWidth() const
{
return spinWidth->value();
}
int RectSettingsDlg::penStyle() const
{
return checkBorder->isChecked() ? comboLine->currentItem() + 1 : 0;
}
LineSettingsDlg::LineSettingsDlg(TQWidget *parent, const char *name )
: KDialogBase( KDialogBase::Plain, i18n("Settings"),
KDialogBase::Ok | KDialogBase::Cancel, KDialogBase::Ok, parent,name)
{
TQFrame* frame = plainPage();
TQGridLayout* grid = new TQGridLayout( frame, 6, 6 );
buttonColor = new KColorButton( frame );
spinWidth = new KIntNumInput( frame );
spinWidth->setRange( 1, 100, 1, false );
comboLine = new KComboBox( false, frame );
fillLineCombo( comboLine );
grid->addWidget( new TQLabel( i18n("Color:"), frame ), 0, 0 );
grid->addWidget( buttonColor, 0, 1 );
grid->addWidget( new TQLabel( i18n("Line Width:"), frame ), 1, 0 );
grid->addWidget( spinWidth, 1, 1 );
grid->addWidget( new TQLabel( i18n("Line Style:"), frame ), 2, 0 );
grid->addWidget( comboLine, 2, 1 );
}
LineSettingsDlg::~LineSettingsDlg()
{
}
TQPen LineSettingsDlg::pen() const
{
return TQPen( buttonColor->color(), spinWidth->value(), (TQt::PenStyle)(comboLine->currentItem() + 1) );
}
void LineSettingsDlg::setPen( const TQPen p )
{
buttonColor->setColor( p.color() );
spinWidth->setValue( p.width() );
comboLine->setCurrentItem( p.style() - 1 );
}
#include "rectsettingsdlg.moc"