Example #1
0
/**
 * \ru
 *		\brief Конвертор суммы в пропись. Публичный интерфейс.
 * 		Возвращает значение хранимой суммы прописью с учетом валюты.
 * 		Например, "Сто долларов США 20 центов"
 * \_ru
 */
QString
AMoney::toText(){

	uint integerKopeiki;
	qulonglong integerRubli;

	integerRubli = QVariant( this->amount).toULongLong();

	double decimal = this->amount-integerRubli;

#ifdef Q_OS_UNIX
	integerKopeiki = round( decimal*100.0 );
#else
	integerKopeiki = decimal * 100.0;
#endif

	QString rubliText;
	if ( integerRubli > 0 ) {
		rubliText = valueToText( integerRubli );
	} else {
		rubliText = "Ноль";
	}

	QString kopeikiText;
	if ( integerKopeiki > 0 ) {
		kopeikiText = decimalValueToText( integerKopeiki );
	} else {
		kopeikiText = "ноль";
	}
	return this->firstUp(
			rubliText + " " + this->integerCurrencyName( rubliText ) + " " +
			QString::number( integerKopeiki ) + " " + this->decimalCurrencyName( kopeikiText )
		);
}
Example #2
0
void Slider::update(TCOD_key_t k) {
	float oldValue=value;
	TextBox::update(k);
	textToValue();
	if ( mouse.cx >= x+w-2 && mouse.cx < x+w && mouse.cy == y ) onArrows=true;
	else onArrows=false;
	if ( drag ) {
		if ( dragy == -1 ) {
			dragx = mouse.x;
			dragy = mouse.y;
		} else {
			float mdx = (float)((mouse.x-dragx)*sensitivity) / (con->getWidth()*8);
			float mdy = (float)((mouse.y-dragy)*sensitivity) / (con->getHeight()*8);
			float oldValue=value;
			if ( fabs(mdy) > fabs(mdx) ) mdx=-mdy;
			value = dragValue+(max-min)*mdx;
			value=CLAMP(min,max,value);
			if ( value != oldValue ) {
				valueToText();
				textToValue();
			}
		}
	}
	if ( value != oldValue && cbk ) {
		cbk(this,value,data);
	}
}
Example #3
0
/**
 * \ru
 *  	\brief Вспомогательная функция для копеек, центов....
 *
 * 		Используется для перевода цифры в пропись для дробной части суммы.
 * 		Эта функция необходима, так как дробная часть может имерь род отличный от целой части суммы.
 * 		Например, рубль - муж.род, копейка - жен.род.
 *
 * \_ru
 */
QString
AMoney::decimalValueToText( qulonglong value ){
	QString currencyId = this->currency->getId();
	this->currency->setId( "d"+ currencyId);
	QString result = valueToText( value );
	this->currency->setId( currencyId );
	return result;
}
Example #4
0
void FlatList::setValue(const char * v) {
	const char **ptr=list;
	while (*ptr) {
		if ( strcmp(v,*ptr) == 0 ) {
			value = ptr;
			valueToText();
			break;
		}
		ptr++;
	}
}
void QRoundProgressBar::drawText(QPainter &p, const QRectF &innerRect, double innerRadius, double value) {
    if (m_format.isEmpty())
        return;

    QFont f(font());
    f.setPixelSize(innerRadius * qMax(0.05, (0.35 - (double) m_decimals * 0.08)) - 30);
    p.setFont(f);

    QRectF textRect(innerRect);
    p.setPen(palette().text().color());
    p.drawText(textRect, Qt::AlignCenter, valueToText(value));
}
Example #6
0
void FlatList::onButtonClick() {
	const char **oldValue=value;
	if ( onLeftArrow ) {
		if ( value == list ) {
			while (*value) {
				value++;
			}
		}		
		value--;
	} else if ( onRightArrow ) {
		value++;
		if ( *value == NULL ) value=list;
	}
	if ( value != oldValue && cbk ) {
		valueToText();
		cbk(this,*value,data);
	}

}
Example #7
0
void Slider::setFormat(const char *fmt) {
	if ( this->fmt ) free(this->fmt);
	if ( fmt ) this->fmt = TCOD_strdup(fmt);
	else fmt=NULL;
	valueToText();
}
Example #8
0
Slider::Slider(int x,int y,int w, float min, float max, const char *label, const char *tip)
	: TextBox(x,y,w,10,label,NULL,tip),min(min),max(max),value((min+max)*0.5f),sensitivity(1.0f),
	onArrows(false),drag(false),fmt(NULL),cbk(NULL),data(NULL) {
	valueToText();
	this->w+=2;
}
Example #9
0
void Slider::setValue(float value) {
	this->value=CLAMP(min,max,value);
	valueToText();
}
Example #10
0
void FlatList::setList(const char **l) {
	value=list=l;
	valueToText();
}
Example #11
0
FlatList::FlatList(int x,int y,int w, const char **list, const char *label, const char *tip)
	: TextBox(x,y,w,10,label,NULL,tip),value(list),list(list),
	onLeftArrow(false),onRightArrow(false),cbk(NULL),data(NULL) {
	valueToText();
	this->w+=2;
}