1
0
mirror of https://github.com/gryf/wmaker.git synced 2026-02-08 17:35:55 +01:00

- the list multiple selection code is working now. it still needs some

minor work and cleanup.
- made some bag and array functions to return void instead of int.
- a few new array functions.
- better handling of mouse wheel.

!!! make clean after this update before you rebuild. some enums changed.
This commit is contained in:
dan
2000-10-01 23:26:03 +00:00
parent 6de1c41865
commit b2478b634f
13 changed files with 467 additions and 157 deletions

View File

@@ -258,7 +258,7 @@ doScrolling(WMWidget *self, void *data)
vpsize = 1;
switch (WMGetScrollerHitPart(self)) {
case WSDecrementLine:
case WSDecrementLine:
if (pos > 0) {
pos-=sPtr->lineScroll;
if (pos < 0)
@@ -268,7 +268,7 @@ doScrolling(WMWidget *self, void *data)
WMGetScrollerKnobProportion(self));
}
break;
case WSIncrementLine:
case WSIncrementLine:
if (pos < size) {
pos+=sPtr->lineScroll;
if (pos > size)
@@ -278,12 +278,13 @@ doScrolling(WMWidget *self, void *data)
WMGetScrollerKnobProportion(self));
}
break;
case WSKnob:
case WSKnob:
value = WMGetScrollerValue(self);
pos = value*size;
break;
case WSDecrementPage:
case WSDecrementPage:
if (pos > 0) {
pos -= vpsize;
if (pos < 0)
@@ -292,9 +293,20 @@ doScrolling(WMWidget *self, void *data)
WMSetScrollerParameters(self, value,
WMGetScrollerKnobProportion(self));
}
break;
case WSDecrementWheel:
if (pos > 0) {
pos -= vpsize/3;
if (pos < 0)
pos = 0;
value = (float)pos / size;
WMSetScrollerParameters(self, value,
WMGetScrollerKnobProportion(self));
}
break;
case WSIncrementPage:
case WSIncrementPage:
if (pos < size) {
pos += vpsize;
if (pos > size)
@@ -304,7 +316,18 @@ doScrolling(WMWidget *self, void *data)
WMGetScrollerKnobProportion(self));
}
break;
case WSIncrementWheel:
if (pos < size) {
pos += vpsize/3;
if (pos > size)
pos = size;
value = (float)pos / size;
WMSetScrollerParameters(self, value,
WMGetScrollerKnobProportion(self));
}
break;
case WSNoPart:
case WSKnobSlot:
break;