(svn r6619) -Codechange: Use accessors for disabled_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:
41
player_gui.c
41
player_gui.c
@@ -154,7 +154,7 @@ static void PlayerFinancesWndProc(Window *w, WindowEvent *e)
|
||||
PlayerID player = w->window_number;
|
||||
const Player *p = GetPlayer(player);
|
||||
|
||||
w->disabled_state = p->current_loan != 0 ? 0 : (1 << 7);
|
||||
SetWindowWidgetDisabledState(w, 7, p->current_loan == 0);
|
||||
|
||||
SetDParam(0, p->name_1);
|
||||
SetDParam(1, p->name_2);
|
||||
@@ -322,11 +322,13 @@ static void SelectPlayerLiveryWndProc(Window *w, WindowEvent *e)
|
||||
LiveryScheme scheme = LS_DEFAULT;
|
||||
int y = 51;
|
||||
|
||||
if ((WP(w, livery_d).sel == 0)) {
|
||||
/* Disable dropdown controls if no scheme is selected */
|
||||
w->disabled_state = 1 << 9 | 1 << 10 | 1 << 11 | 1 << 12;
|
||||
} else {
|
||||
w->disabled_state = 0;
|
||||
/* Disable dropdown controls if no scheme is selected */
|
||||
SetWindowWidgetDisabledState(w, 9, (WP(w, livery_d).sel == 0));
|
||||
SetWindowWidgetDisabledState(w, 10, (WP(w, livery_d).sel == 0));
|
||||
SetWindowWidgetDisabledState(w, 11, (WP(w, livery_d).sel == 0));
|
||||
SetWindowWidgetDisabledState(w, 12, (WP(w, livery_d).sel == 0));
|
||||
|
||||
if (!(WP(w, livery_d).sel == 0)) {
|
||||
for (scheme = 0; scheme < LS_END; scheme++) {
|
||||
if (HASBIT(WP(w, livery_d).sel, scheme)) break;
|
||||
}
|
||||
@@ -649,29 +651,29 @@ static void PlayerCompanyWndProc(Window *w, WindowEvent *e)
|
||||
switch (e->event) {
|
||||
case WE_PAINT: {
|
||||
const Player *p = GetPlayer(w->window_number);
|
||||
uint32 dis = 0;
|
||||
|
||||
if (!IsWindowOfPrototype(w, _other_player_company_widgets)) {
|
||||
AssignWidgetToWindow(w, (p->location_of_house != 0) ? _my_player_company_bh_widgets : _my_player_company_widgets);
|
||||
|
||||
SetWindowWidgetHiddenState(w, 11, !_networking); // Hide company-password widget
|
||||
} else {
|
||||
if (p->location_of_house == 0) SETBIT(dis, 7);
|
||||
SetWindowWidgetDisabledState(w, 7, p->location_of_house == 0);
|
||||
|
||||
if (_patches.allow_shares) { /* shares are allowed */
|
||||
if (_patches.allow_shares) { // Shares are allowed
|
||||
/* If all shares are owned by someone (none by nobody), disable buy button */
|
||||
if (GetAmountOwnedBy(p, OWNER_SPECTATOR) == 0) SETBIT(dis, 9);
|
||||
|
||||
/* Only 25% left to buy. If the player is human, disable buying it up.. TODO issues! */
|
||||
if (GetAmountOwnedBy(p, OWNER_SPECTATOR) == 1 && !p->is_ai) SETBIT(dis, 9);
|
||||
SetWindowWidgetDisabledState(w, 9, GetAmountOwnedBy(p, OWNER_SPECTATOR) == 0 ||
|
||||
/* Only 25% left to buy. If the player is human, disable buying it up.. TODO issues! */
|
||||
(GetAmountOwnedBy(p, OWNER_SPECTATOR) == 1 && !p->is_ai) ||
|
||||
/* Spectators cannot do anything of course */
|
||||
_local_player == OWNER_SPECTATOR);
|
||||
|
||||
/* If the player doesn't own any shares, disable sell button */
|
||||
if (GetAmountOwnedBy(p, _local_player) == 0) SETBIT(dis, 10);
|
||||
|
||||
/* Spectators cannot do anything of course */
|
||||
if (_local_player == OWNER_SPECTATOR) dis |= (1 << 9) | (1 << 10);
|
||||
} else { /* shares are not allowed, disable buy/sell buttons */
|
||||
dis |= (1 << 9) | (1 << 10);
|
||||
SetWindowWidgetDisabledState(w, 10, (GetAmountOwnedBy(p, _local_player) == 0) ||
|
||||
/* Spectators cannot do anything of course */
|
||||
_local_player == OWNER_SPECTATOR);
|
||||
} else { // Shares are not allowed, disable buy/sell buttons
|
||||
DisableWindowWidget(w, 9);
|
||||
DisableWindowWidget(w, 10);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -679,7 +681,6 @@ static void PlayerCompanyWndProc(Window *w, WindowEvent *e)
|
||||
SetDParam(1, p->name_2);
|
||||
SetDParam(2, GetPlayerNameString((byte)w->window_number, 3));
|
||||
|
||||
w->disabled_state = dis;
|
||||
DrawWindowWidgets(w);
|
||||
|
||||
SetDParam(0, p->inaugurated_year);
|
||||
|
||||
Reference in New Issue
Block a user