20#include "marginvaluewidget.h"
24MarginValueWidget::MarginValueWidget(KNumInput *below,
double value, TQWidget *parent,
const char *name)
25: KDoubleNumInput(below, value, parent, name)
31 m_margin = ( float )value;
33 setRange(0, 999, 1,
false);
34 connect(
this, TQ_SIGNAL(valueChanged(
double)), TQ_SLOT(slotValueChanged(
double)));
37float MarginValueWidget::margin()
40 m_margin = toPixel(value(), m_mode);
44void MarginValueWidget::setMargin(
float m)
47 double v = toValue(m, m_mode);
51 emit marginChanged( m_margin );
54float MarginValueWidget::toPixel(
double value,
int mode)
59 case Pixels:
return (
float)value;
60 case IN:
return (
float)(value * m_dpi);
61 case CM:
return (
float)(value * m_dpi / 2.54);
62 case MM:
return (
float)(value * m_dpi / 25.4);
66double MarginValueWidget::toValue(
float pix,
int mode)
74 return (
double(pix) / m_dpi);
76 return (
double(pix) * 2.54 / m_dpi);
78 return (
double( pix ) * 25.4 / m_dpi );
82void MarginValueWidget::slotValueChanged(
double v)
86 m_margin = toPixel( v, m_mode );
87 emit marginChanged(margin());
91void MarginValueWidget::setMode(
int m)
97 double v = toValue(m_margin, m);
101 setRange(0.0, 999.0, 1.0,
false);
106 setRange(0.0, 999.0, 0.01,
false);
113void MarginValueWidget::setResolution(
int dpi)
121int MarginValueWidget::resolution()
const
123 return (
int)(m_dpi+0.5);
126#include "marginvaluewidget.moc"