(svn r6631) -Codechange: Use accessors for click_state.

Another step toward merging XTDwidget.
The only two files not converted (window.h and widget.c) will be done at the very last commit)
This commit is contained in:
belugas
2006-10-03 20:16:20 +00:00
parent 0dd2126543
commit 688da1d940
23 changed files with 313 additions and 185 deletions

View File

@@ -247,13 +247,6 @@ static void PlayerStationsWndProc(Window *w, WindowEvent *e)
switch (e->event) {
case WE_PAINT: {
/* Set up cargo click-states. Toggle the all-vehicle and all-cargo types button
* depending on if all types are clicked or not */
SB(w->click_state, 6, 5, facilities);
SB(w->click_state, 26, 1, facilities == (FACIL_TRAIN | FACIL_TRUCK_STOP | FACIL_BUS_STOP | FACIL_AIRPORT | FACIL_DOCK));
SB(w->click_state, 12, NUM_CARGO + 1, cargo_filter);
SB(w->click_state, 27, 1, cargo_filter == 0x1FFF);
BuildStationsList(sl, owner, facilities, cargo_filter);
SortStationsList(sl);
@@ -353,23 +346,43 @@ static void PlayerStationsWndProc(Window *w, WindowEvent *e)
case 10: /* dock */
if (_ctrl_pressed) {
TOGGLEBIT(facilities, e->we.click.widget - 6);
ToggleWidgetLoweredState(w, e->we.click.widget);
} else {
facilities = 0;
int i;
for (i = 0; facilities != 0; i++, facilities >>= 1) {
if (HASBIT(facilities, 0)) RaiseWindowWidget(w, i + 6);
}
SETBIT(facilities, e->we.click.widget - 6);
LowerWindowWidget(w, e->we.click.widget);
}
SetWidgetLoweredState(w, 26, facilities == (FACIL_TRAIN | FACIL_TRUCK_STOP | FACIL_BUS_STOP | FACIL_AIRPORT | FACIL_DOCK));
sl->flags |= SL_REBUILD;
SetWindowDirty(w);
break;
case 26:
case 26: {
int i;
for (i = 0; i < 5; i++) {
LowerWindowWidget(w, i + 6);
}
LowerWindowWidget(w, 26);
facilities = FACIL_TRAIN | FACIL_TRUCK_STOP | FACIL_BUS_STOP | FACIL_AIRPORT | FACIL_DOCK;
sl->flags |= SL_REBUILD;
SetWindowDirty(w);
break;
case 27:
}
case 27: {
int i;
for (i = 0; i < NUM_CARGO; i++) {
LowerWindowWidget(w, i + 12);
}
LowerWindowWidget(w, 27);
cargo_filter = 0x1FFF; /* select everything */
sl->flags |= SL_REBUILD;
SetWindowDirty(w);
break;
}
case 28: /*flip sorting method asc/desc*/
TOGGLEBIT(sl->flags, 0); //DESC-flag
sl->flags |= SL_RESORT;
@@ -382,11 +395,17 @@ static void PlayerStationsWndProc(Window *w, WindowEvent *e)
if (e->we.click.widget >= 12 && e->we.click.widget <= 24) { //change cargo_filter
if (_ctrl_pressed) {
TOGGLEBIT(cargo_filter, e->we.click.widget - 12);
ToggleWidgetLoweredState(w, e->we.click.widget);
} else {
cargo_filter = 0;
int i;
for (i = 0; cargo_filter != 0; i++, cargo_filter >>= 1) {
if (HASBIT(cargo_filter, 0)) RaiseWindowWidget(w, i + 12);
}
SETBIT(cargo_filter, e->we.click.widget - 12);
LowerWindowWidget(w, e->we.click.widget);
}
sl->flags |= SL_REBUILD;
SetWidgetLoweredState(w, 27, cargo_filter == 0x1FFF);
SetWindowDirty(w);
}
}
@@ -409,12 +428,22 @@ static void PlayerStationsWndProc(Window *w, WindowEvent *e)
}
break;
case WE_CREATE: /* set up resort timer */
case WE_CREATE: { /* set up resort timer */
int i;
for (i = 0; i < 5; i++) {
if (HASBIT(facilities, i)) LowerWindowWidget(w, i + 6);
}
for (i = 0; i < NUM_CARGO; i++) {
if (HASBIT(cargo_filter, i)) LowerWindowWidget(w, i + 12);
}
SetWidgetLoweredState(w, 26, facilities == (FACIL_TRAIN | FACIL_TRUCK_STOP | FACIL_BUS_STOP | FACIL_AIRPORT | FACIL_DOCK));
SetWidgetLoweredState(w, 27, cargo_filter == 0x1FFF);
sl->sort_list = NULL;
sl->flags = SL_REBUILD;
sl->sort_type = 0;
sl->resort_timer = DAY_TICKS * PERIODIC_RESORT_DAYS;
break;
}
case WE_RESIZE:
w->vscroll.cap += e->we.sizing.diff.y / 10;