예제 #1
0
void hSlider::setValue(double val)
{
	double pRange = w - 2;

    if(table == NULL) {
        if(val < min) val = min;
        else if(val > max) val = max;

        data->value = val;

        double vRange = max - min;
        position = ((data->value - min) * pRange) / vRange;
    }
    else {
        double tMin = table->getMinValue();
        double tMax = table->getMaxValue();

        if(val < tMin) val = tMin;
        else if(val > tMax) val = tMax;

        data->value = val;

        double vRange = tMax - tMin;
        position = ((data->value - tMin) * pRange) / vRange;
    }

	syncVar(); // synchronize the eventual used variable with the state of the widget

    setLinkedValues();
}
예제 #2
0
void hSlider::bang(void)
{
	if(varType != HGUI_NO_VAR) syncVar();

	if(data->message.size() > 0) {
        hEvents::getInstance()->sendEvent(data->message, data->value, data->index);
	}
}
예제 #3
0
void hCheckBox::bang(void)
{
	if(varType != HGUI_NO_VAR) syncVar();

	if(data->message.size() > 0) {
	    if((data->selected == true) || (data->message2.size() == 0))
             hEvents::getInstance()->sendEvent(data->message,  data->index, data->selected);
        else hEvents::getInstance()->sendEvent(data->message2, data->index, data->selected);
	}
}