00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include <KoPageLayoutColumns.h>
00021 #include <KoPageLayoutDia.h>
00022 #include <KoUnit.h>
00023 #include <KoUnitWidgets.h>
00024
00025 #include <QLabel>
00026 #include <QLayout>
00027 #include <QHBoxLayout>
00028
00029 KoPageLayoutColumns::KoPageLayoutColumns(QWidget *parent, const KoColumns& columns, KoUnit::Unit unit, const KoPageLayout& layout)
00030 : QWidget(parent) {
00031 setupUi(this);
00032 m_columns = columns;
00033 QHBoxLayout *lay = new QHBoxLayout(previewPane);
00034 m_preview = new KoPagePreview( previewPane, "Preview", layout );
00035 lay->addWidget(m_preview);
00036 lay = new QHBoxLayout(columnSpacingPane);
00037 m_spacing = new KoUnitDoubleSpinBox( columnSpacingPane );
00038 m_spacing->setValue( m_columns.ptColumnSpacing );
00039 m_spacing->setUnit( unit );
00040 double dStep = KoUnit::fromUserValue( 0.2, unit );
00041 m_spacing->setMinMaxStep( 0, layout.ptWidth/2, dStep );
00042 lay->addWidget(m_spacing);
00043 labelSpacing->setBuddy( m_spacing );
00044 nColumns->setValue( m_columns.columns );
00045 m_preview->setPageColumns( m_columns );
00046
00047 connect( nColumns, SIGNAL( valueChanged( int ) ), this, SLOT( nColChanged( int ) ) );
00048 connect( m_spacing, SIGNAL( valueChangedPt(double) ), this, SLOT( nSpaceChanged( double ) ) );
00049 }
00050
00051 void KoPageLayoutColumns::setEnableColumns(bool on) {
00052 nColumns->setEnabled(on);
00053 m_spacing->setEnabled(on);
00054 nColChanged(on ? nColumns->value(): 1 );
00055 }
00056
00057 void KoPageLayoutColumns::nColChanged( int columns ) {
00058 m_columns.columns = columns;
00059 m_preview->setPageColumns( m_columns );
00060 emit propertyChange(m_columns);
00061 }
00062
00063 void KoPageLayoutColumns::nSpaceChanged( double spacing ) {
00064 m_columns.ptColumnSpacing = spacing;
00065 emit propertyChange(m_columns);
00066 }
00067
00068 void KoPageLayoutColumns::setLayout(KoPageLayout &layout) {
00069 m_preview->setPageLayout( layout );
00070 }
00071
00072 #include <KoPageLayoutColumns.moc>