Source Code (Use browser search to find items of interest.)

Class Index

killustrator'UnitBox (./koffice/killustrator/share/UnitBox.h:35)

class UnitBox : public QWidget {
  Q_OBJECT
public:
  UnitBox (QWidget* parent = 0L, const char* name = 0L);
  ~UnitBox ();
  
  void setFormatString (const char* fmt);
  
  float getValue ();
  void setValue (float value);
  
  void setStep (float step);
  float getStep () const;

  void setRange (float minVal, float maxVal);
  void getRange (float& minVal, float& maxVal);

  void setEditable (bool);
  void enableUnits (bool flag);

  static void setDefaultMeasurementUnit (MeasurementUnit unit);

signals:
  void valueChanged (float val);

protected slots:
  void unitChanged (int id);
  void slotValueChange (float f);

private:
  FloatSpinBox *valueBox;
  bool isUnitEnabled;
  QComboBox *unitCombo;
  MeasurementUnit unit;
  float ptMinVal, ptMaxVal; // the minimal and maximal value in points

  static MeasurementUnit defaultUnit;
};

killustrator'UnitBox::UnitBox() (./koffice/killustrator/share/UnitBox.cc:32)

UnitBox::UnitBox (QWidget* parent, const char* name) : QWidget (parent, name) {
  valueBox = new FloatSpinBox (this, "valueBox");
//  valueBox->setGeometry (0, 0, 80, valueBox->height ());
  valueBox->setGeometry (0, 0, 80, 24);

  unitCombo = new QComboBox (this, "unitCombo");
  unitCombo->insertItem (unitToString (UnitPoint));
  unitCombo->insertItem (unitToString (UnitMillimeter));
  unitCombo->insertItem (unitToString (UnitInch));
  unitCombo->insertItem (unitToString (UnitPica));
  unitCombo->insertItem (unitToString (UnitCentimeter));
  unitCombo->insertItem (unitToString (UnitDidot));
  unitCombo->insertItem (unitToString (UnitCicero));
  unitCombo->setCurrentItem (int (unit = defaultUnit));
  unitCombo->setGeometry (valueBox->width () + 5, 0, 50, valueBox->height ());
  connect (unitCombo, SIGNAL(activated(int)), this, SLOT(unitChanged(int)));
  connect (valueBox, SIGNAL (valueChanged (float)), 
	   this, SLOT(slotValueChange (float)));
  setMinimumSize (valueBox->width () + unitCombo->width () + 5,
	          valueBox->height ());
  isUnitEnabled = true;
}
 

killustrator'UnitBox::~UnitBox() (./koffice/killustrator/share/UnitBox.cc:55)

UnitBox::~UnitBox () {
}
  

killustrator'UnitBox::setFormatString() (./koffice/killustrator/share/UnitBox.cc:58)

void UnitBox::setFormatString (const char* fmt) {
  valueBox->setFormatString (fmt);
}


killustrator'UnitBox::getValue() (./koffice/killustrator/share/UnitBox.cc:62)

float UnitBox::getValue () {
  if(isUnitEnabled)
     return cvtUnitToPt (unit, valueBox->getValue ());
  else
     return valueBox->getValue ();
}


killustrator'UnitBox::setValue() (./koffice/killustrator/share/UnitBox.cc:69)

void UnitBox::setValue (float value) {
  if(isUnitEnabled)
     valueBox->setValue (cvtPtToUnit (unit, value));
  else
     valueBox->setValue (value);
}
  

killustrator'UnitBox::setStep() (./koffice/killustrator/share/UnitBox.cc:76)

void UnitBox::setStep (float step) {
  valueBox->setStep (step);
}


killustrator'UnitBox::getStep() (./koffice/killustrator/share/UnitBox.cc:80)

float UnitBox::getStep () const {
  return valueBox->getStep ();
}


killustrator'UnitBox::setRange() (./koffice/killustrator/share/UnitBox.cc:84)

void UnitBox::setRange (float minVal, float maxVal) {
  ptMinVal = minVal;
  ptMaxVal = maxVal;
  valueBox->setRange (cvtPtToUnit (unit, minVal), cvtPtToUnit (unit, maxVal));
}
 

killustrator'UnitBox::getRange() (./koffice/killustrator/share/UnitBox.cc:90)

void UnitBox::getRange (float& minVal, float& maxVal) {
  minVal = ptMinVal;
  maxVal = ptMaxVal;  
}


killustrator'UnitBox::setEditable() (./koffice/killustrator/share/UnitBox.cc:95)

void UnitBox::setEditable (bool flag) {
  //  valueBox->setEditable (flag);
}


killustrator'UnitBox::unitChanged() (./koffice/killustrator/share/UnitBox.cc:99)

void UnitBox::unitChanged (int id) {
  MeasurementUnit newUnit = (MeasurementUnit) id;
  float ptValue = getValue ();
  unit = newUnit;
  valueBox->setRange (cvtPtToUnit (unit, ptMinVal), cvtPtToUnit (unit, ptMaxVal));
  setValue (ptValue);
}


killustrator'UnitBox::setDefaultMeasurementUnit() (./koffice/killustrator/share/UnitBox.cc:107)

void UnitBox::setDefaultMeasurementUnit (MeasurementUnit unit) {
  defaultUnit = unit;
}


killustrator'UnitBox::slotValueChange() (./koffice/killustrator/share/UnitBox.cc:111)

void UnitBox::slotValueChange (float f) {
  // convert the value according current unit
  if(isUnitEnabled){
    float val = cvtUnitToPt (unit, f);
    emit valueChanged (val);
  }
  else 
    emit valueChanged (f);
}


killustrator'UnitBox::enableUnits() (./koffice/killustrator/share/UnitBox.cc:121)

void UnitBox::enableUnits (bool flag) {
  unitCombo->setEnabled (flag);
  isUnitEnabled = flag;
}