kspread
kspread_dlg_resize2.cc00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include <float.h>
00027
00028 #include <qlabel.h>
00029 #include <qlayout.h>
00030
00031 #include <knuminput.h>
00032
00033 #include <KoUnit.h>
00034 #include <KoUnitWidgets.h>
00035
00036 #include <kspread_canvas.h>
00037 #include <kspread_doc.h>
00038 #include <kspread_global.h>
00039 #include <kspread_locale.h>
00040 #include <kspread_sheet.h>
00041 #include <kspread_undo.h>
00042 #include <kspread_view.h>
00043 #include "manipulator.h"
00044 #include "selection.h"
00045
00046 #include "kspread_dlg_resize2.h"
00047
00048 using namespace KSpread;
00049
00050 ResizeRow::ResizeRow( View* parent, const char* name )
00051 : KDialogBase( parent, name, true, i18n("Resize Row"), Ok|Cancel|Default )
00052 {
00053 m_pView = parent;
00054
00055 QWidget *page = new QWidget( this );
00056 setMainWidget( page );
00057
00058 QVBoxLayout *vLay = new QVBoxLayout( page, 0, spacingHint() );
00059 QHBoxLayout *hLay = new QHBoxLayout( vLay );
00060
00061 QRect selection( m_pView->selectionInfo()->selection() );
00062 RowFormat* rl = m_pView->activeSheet()->rowFormat( selection.top() );
00063 rowHeight = rl->dblHeight();
00064
00065 QLabel * label1 = new QLabel( page, "label1" );
00066 label1->setText( i18n( "Height:" ) );
00067 hLay->addWidget( label1 );
00068
00069 m_pHeight = new KoUnitDoubleSpinBox( page );
00070 m_pHeight->setValue( rowHeight );
00071 m_pHeight->setUnit( m_pView->doc()->unit() );
00072
00073 hLay->addWidget( m_pHeight );
00074
00075 QWidget *hSpacer = new QWidget( page );
00076 hSpacer->setMinimumSize( spacingHint(), spacingHint() );
00077 hLay->addWidget( hSpacer );
00078
00079 QWidget *vSpacer = new QWidget( page );
00080 vSpacer->setMinimumSize( spacingHint(), spacingHint() );
00081 vLay->addWidget( vSpacer );
00082
00083 m_pHeight->setFocus();
00084
00085
00086 rowHeight = m_pHeight->value();
00087 }
00088
00089 void ResizeRow::slotOk()
00090 {
00091 double height = m_pHeight->value();
00092
00093
00094 if ( fabs( height - rowHeight ) > DBL_EPSILON )
00095 {
00096 ResizeRowManipulator* manipulator = new ResizeRowManipulator();
00097 manipulator->setSheet(m_pView->activeSheet());
00098 manipulator->setSize(height);
00099
00100 manipulator->setOldSize(rowHeight);
00101 manipulator->add(*m_pView->selectionInfo());
00102 manipulator->execute();
00103 }
00104 accept();
00105 }
00106
00107 void ResizeRow::slotDefault()
00108 {
00109 m_pHeight->setValue( POINT_TO_MM( heightOfRow ) );
00110 }
00111
00112 ResizeColumn::ResizeColumn( View* parent, const char* name )
00113 : KDialogBase( parent, name, true, i18n("Resize Column"), Ok|Cancel|Default )
00114 {
00115 m_pView = parent;
00116
00117 QWidget *page = new QWidget( this );
00118 setMainWidget(page);
00119
00120 QVBoxLayout *vLay = new QVBoxLayout( page, 0, spacingHint() );
00121 QHBoxLayout *hLay = new QHBoxLayout( vLay );
00122
00123 QRect selection( m_pView->selectionInfo()->selection() );
00124 ColumnFormat* cl = m_pView->activeSheet()->columnFormat( selection.left() );
00125 columnWidth = cl->dblWidth();
00126
00127 QLabel * label1 = new QLabel( page, "label1" );
00128 label1->setText( i18n( "Width:" ) );
00129 hLay->addWidget( label1 );
00130
00131 m_pWidth = new KoUnitDoubleSpinBox( page );
00132 m_pWidth->setValue( columnWidth );
00133 m_pWidth->setUnit( m_pView->doc()->unit() );
00134
00135 hLay->addWidget( m_pWidth );
00136
00137 QWidget *hSpacer = new QWidget( page );
00138 hSpacer->setMinimumSize( spacingHint(), spacingHint() );
00139 hLay->addWidget( hSpacer );
00140
00141 QWidget *vSpacer = new QWidget( page );
00142 vSpacer->setMinimumSize( spacingHint(), spacingHint() );
00143 vLay->addWidget( vSpacer );
00144
00145 m_pWidth->setFocus();
00146
00147
00148 columnWidth = m_pWidth->value();
00149 }
00150
00151 void ResizeColumn::slotOk()
00152 {
00153 double width = m_pWidth->value();
00154
00155
00156 if ( fabs( width - columnWidth ) > DBL_EPSILON )
00157 {
00158 ResizeColumnManipulator* manipulator = new ResizeColumnManipulator();
00159 manipulator->setSheet(m_pView->activeSheet());
00160 manipulator->setSize(width);
00161
00162 manipulator->setOldSize(columnWidth);
00163 manipulator->add(*m_pView->selectionInfo());
00164 manipulator->execute();
00165 }
00166 accept();
00167 }
00168
00169 void ResizeColumn::slotDefault()
00170 {
00171 m_pWidth->setValue( POINT_TO_MM(colWidth ) );
00172 }
00173
00174
00175 #include "kspread_dlg_resize2.moc"
|