Changeset - r11519:80d5a7e0eeb8
[Not reviewed]
master
0 23 0
alberth - 15 years ago 2009-03-29 09:49:11
alberth@openttd.org
(svn r15885) -Codechange: Removed new_size parameter of Window::OnResize() callback
23 files changed with 39 insertions and 49 deletions:
0 comments (0 inline, 0 general)
src/ai/ai_gui.cpp
Show inline comments
 
@@ -158,25 +158,25 @@ struct AIListWindow : public Window {
 
			case AIL_WIDGET_LIST: {
 
				int sel = (pt.y - this->widget[AIL_WIDGET_LIST].top) / 14 + this->vscroll.pos - 1;
 
				if (sel < (int)this->ai_info_list->size()) {
 
					this->selected = sel;
 
					this->ChangeAI();
 
					delete this;
 
				}
 
				break;
 
			}
 
		}
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		if (delta.x != 0) {
 
			ResizeButtons(this, AIL_WIDGET_ACCEPT, AIL_WIDGET_CANCEL);
 
		}
 

	
 
		this->vscroll.cap += delta.y / 14;
 
		SetVScrollCount(this, (int)this->ai_info_list->size() + 1);
 
		this->widget[AIL_WIDGET_LIST].data = (this->vscroll.cap << 8) + 1;
 
	}
 
};
 

	
 
/* Widget definition for the ai list window. */
 
@@ -356,25 +356,25 @@ struct AISettingsWindow : public Window 
 
	}
 

	
 
	virtual void OnQueryTextFinished(char *str)
 
	{
 
		if (StrEmpty(str)) return;
 
		AIConfigItemList::const_iterator it = this->ai_config->GetConfigList()->begin();
 
		for (int i = 0; i < this->clicked_row; i++) it++;
 
		int32 value = atoi(str);
 
		this->ai_config->SetSetting((*it).name, value);
 
		this->SetDirty();
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		if (delta.x != 0) {
 
			ResizeButtons(this, AIS_WIDGET_ACCEPT, AIS_WIDGET_RESET);
 
		}
 

	
 
		this->vscroll.cap += delta.y / 14;
 
		this->widget[AIS_WIDGET_BACKGROUND].data = (this->vscroll.cap << 8) + 1;
 
	}
 

	
 
	virtual void OnTick()
 
	{
 
		if (--this->timeout == 0) {
 
@@ -579,25 +579,25 @@ struct AIConfigWindow : public Window {
 
	}
 

	
 
	virtual void OnDoubleClick(Point pt, int widget)
 
	{
 
		switch (widget) {
 
			case AIC_WIDGET_LIST:
 
				this->OnClick(pt, widget);
 
				if (this->selected_slot != INVALID_COMPANY) ShowAIListWindow((CompanyID)this->selected_slot);
 
				break;
 
		}
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		this->vscroll.cap += delta.y / 14;
 
		this->widget[AIC_WIDGET_LIST].data = (this->vscroll.cap << 8) + 1;
 
	}
 

	
 
	virtual void OnTick()
 
	{
 
		if (--this->timeout == 0) {
 
			this->clicked_button = false;
 
			this->SetDirty();
 
		}
 
	}
 
@@ -768,25 +768,25 @@ struct AIDebugWindow : public Window {
 

	
 
	virtual void OnTimeout()
 
	{
 
		this->RaiseWidget(AID_WIDGET_RELOAD_TOGGLE);
 
		this->SetDirty();
 
	}
 

	
 
	virtual void OnInvalidateData(int data = 0)
 
	{
 
		if (data == -1 || ai_debug_company == data) this->SetDirty();
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		this->vscroll.cap += delta.y / (int)this->resize.step_height;
 
	}
 
};
 

	
 
CompanyID AIDebugWindow::ai_debug_company = INVALID_COMPANY;
 

	
 
static const Widget _ai_debug_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,  COLOUR_GREY,     0,    10,     0,    13, STR_00C5,                   STR_018B_CLOSE_WINDOW},                 // AID_WIDGET_CLOSEBOX
 
{    WWT_CAPTION,  RESIZE_RIGHT,  COLOUR_GREY,    11,   298,     0,    13, STR_AI_DEBUG,               STR_018C_WINDOW_TITLE_DRAG_THIS},       // AID_WIDGET_CAPTION
 
{      WWT_PANEL,  RESIZE_RIGHT,  COLOUR_GREY,     0,   298,    14,    40, 0x0,                        STR_NULL},                              // AID_WIDGET_VIEW
 

	
src/autoreplace_gui.cpp
Show inline comments
 
@@ -393,25 +393,25 @@ public:
 
		if (temp == sel_railtype) return; // we didn't select a new one. No need to change anything
 
		sel_railtype = temp;
 
		/* Reset scrollbar positions */
 
		this->vscroll.pos  = 0;
 
		this->vscroll2.pos = 0;
 
		/* Rebuild the lists */
 
		this->update_left  = true;
 
		this->update_right = true;
 
		this->init_lists   = true;
 
		this->SetDirty();
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta) {
 
	virtual void OnResize(Point delta) {
 
		this->vscroll.cap  += delta.y / (int)this->resize.step_height;
 
		this->vscroll2.cap += delta.y / (int)this->resize.step_height;
 

	
 
		Widget *widget = this->widget;
 

	
 
		widget[RVW_WIDGET_LEFT_MATRIX].data = widget[RVW_WIDGET_RIGHT_MATRIX].data = (this->vscroll2.cap << 8) + 1;
 

	
 
		if (delta.x != 0) {
 
			/* We changed the width of the window so we have to resize the lists.
 
			 * Because ResizeButtons() makes each widget the same size it can't be used on the lists
 
			 * because then the lists would have the same size as the scrollbars.
 
			 * Instead we use it on the detail panels.
src/bridge_gui.cpp
Show inline comments
 
@@ -214,25 +214,25 @@ public:
 
		}
 
	}
 

	
 
	virtual void OnDropdownSelect(int widget, int index)
 
	{
 
		if (widget == BBSW_DROPDOWN_CRITERIA && this->bridges->SortType() != index) {
 
			this->bridges->SetSortType(index);
 

	
 
			this->SortBridgeList();
 
		}
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		this->vscroll.cap += delta.y / (int)this->resize.step_height;
 
		this->widget[BBSW_BRIDGE_LIST].data = (this->vscroll.cap << 8) + 1;
 
		SetVScrollCount(this, this->bridges->Length());
 

	
 
		this->last_size = max(this->vscroll.cap, this->last_size);
 
	}
 
};
 

	
 
/* Set the default size of the Build Bridge Window */
 
uint16 BuildBridgeWindow::last_size = 4;
 
/* Set the default sorting for the bridges */
src/build_vehicle_gui.cpp
Show inline comments
 
@@ -1090,25 +1090,25 @@ struct BuildVehicleWindow : Window {
 
	}
 

	
 
	virtual void OnDropdownSelect(int widget, int index)
 
	{
 
		if (this->sort_criteria != index) {
 
			this->sort_criteria = index;
 
			_last_sort_criteria[this->vehicle_type] = this->sort_criteria;
 
			this->regenerate_list = true;
 
		}
 
		this->SetDirty();
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		if (delta.x != 0 && !this->listview_mode) {
 
			ResizeButtons(this, BUILD_VEHICLE_WIDGET_BUILD, BUILD_VEHICLE_WIDGET_RENAME);
 
		}
 
		if (delta.y == 0) return;
 

	
 
		this->vscroll.cap += delta.y / (int)GetVehicleListHeight(this->vehicle_type);
 
		this->widget[BUILD_VEHICLE_WIDGET_LIST].data = (this->vscroll.cap << 8) + 1;
 
	}
 
};
 

	
 
static const WindowDesc _build_vehicle_desc(
src/depot_gui.cpp
Show inline comments
 
@@ -994,25 +994,25 @@ struct DepotWindow : Window {
 
					}
 

	
 
					if (!DoCommandP(v->tile, v->index, sell_cmd, command) && is_engine) _backup_orders_tile = 0;
 
				}
 
				break;
 
			default:
 
				this->sel = INVALID_VEHICLE;
 
				this->SetDirty();
 
		}
 
		_cursor.vehchain = false;
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		this->vscroll.cap += delta.y / (int)this->resize.step_height;
 
		this->hscroll.cap += delta.x / (int)this->resize.step_width;
 
		this->widget[DEPOT_WIDGET_MATRIX].data = (this->vscroll.cap << 8) + (this->type == VEH_TRAIN ? 1 : this->hscroll.cap);
 
		ResizeDepotButtons(this);
 
	}
 

	
 
	virtual EventState OnCTRLStateChange()
 
	{
 
		if (this->sel != INVALID_VEHICLE) {
 
			_cursor.vehchain = _ctrl_pressed;
 
			this->InvalidateWidget(DEPOT_WIDGET_MATRIX);
src/group_gui.cpp
Show inline comments
 
@@ -661,25 +661,25 @@ public:
 
			}
 
		}
 
		_cursor.vehchain = false;
 
	}
 

	
 
	virtual void OnQueryTextFinished(char *str)
 
	{
 
		if (str == NULL) return;
 

	
 
		DoCommandP(0, this->group_sel, 0, CMD_RENAME_GROUP | CMD_MSG(STR_GROUP_CAN_T_RENAME), NULL, str);
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		this->vscroll2.cap += delta.y / PLY_WND_PRC__SIZE_OF_ROW_TINY;
 
		this->vscroll.cap += delta.y / (int)this->resize.step_height;
 

	
 
		this->widget[GRP_WIDGET_LIST_GROUP].data = (this->vscroll2.cap << 8) + 1;
 
		this->widget[GRP_WIDGET_LIST_VEHICLE].data = (this->vscroll.cap << 8) + 1;
 
	}
 

	
 
	virtual void OnDropdownSelect(int widget, int index)
 
	{
 
		switch (widget) {
 
			case GRP_WIDGET_SORT_BY_DROPDOWN:
src/industry_gui.cpp
Show inline comments
 
@@ -343,25 +343,25 @@ public:
 
						_generating_world = false;
 
					}
 
				} else if (_game_mode != GM_EDITOR && _settings_game.construction.raw_industry_construction == 2 && GetIndustrySpec(this->selected_type)->IsRawIndustry()) {
 
					DoCommandP(0, this->selected_type, InteractiveRandom(), CMD_BUILD_INDUSTRY | CMD_MSG(STR_4830_CAN_T_CONSTRUCT_THIS_INDUSTRY));
 
					this->HandleButtonClick(DPIW_FUND_WIDGET);
 
				} else {
 
					HandlePlacePushButton(this, DPIW_FUND_WIDGET, SPR_CURSOR_INDUSTRY, VHM_RECT, NULL);
 
				}
 
			} break;
 
		}
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		/* Adjust the number of items in the matrix depending of the rezise */
 
		this->vscroll.cap  += delta.y / (int)this->resize.step_height;
 
		this->widget[DPIW_MATRIX_WIDGET].data = (this->vscroll.cap << 8) + 1;
 
	}
 

	
 
	virtual void OnPlaceObject(Point pt, TileIndex tile)
 
	{
 
		bool success = true;
 
		/* We do not need to protect ourselves against "Random Many Industries" in this mode */
 
		const IndustrySpec *indsp = GetIndustrySpec(this->selected_type);
 
		uint32 seed = InteractiveRandom();
 
@@ -634,25 +634,25 @@ public:
 
				}
 
				break;
 
		}
 
	}
 

	
 
	virtual void OnTimeout()
 
	{
 
		this->clicked_line = 0;
 
		this->clicked_button = 0;
 
		this->SetDirty();
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		this->viewport->width            += delta.x;
 
		this->viewport->height           += delta.y;
 
		this->viewport->virtual_width    += delta.x;
 
		this->viewport->virtual_height   += delta.y;
 
		this->viewport->dest_scrollpos_x -= delta.x;
 
		this->viewport->dest_scrollpos_y -= delta.y;
 
		UpdateViewportPosition(this);
 
	}
 

	
 
	virtual void OnQueryTextFinished(char *str)
 
	{
 
@@ -999,25 +999,25 @@ public:
 
		}
 
	}
 

	
 
	virtual void OnDropdownSelect(int widget, int index)
 
	{
 
		if (this->industries.SortType() != index) {
 
			this->industries.SetSortType(index);
 
			this->widget[IDW_DROPDOWN_CRITERIA].data = this->sorter_names[this->industries.SortType()];
 
			this->SetDirty();
 
		}
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		this->vscroll.cap += delta.y / 10;
 
	}
 

	
 
	virtual void OnInvalidateData(int data)
 
	{
 
		if (data == 0) {
 
			this->industries.ForceRebuild();
 
		} else {
 
			this->industries.ForceResort();
 
		}
 
		this->InvalidateWidget(IDW_INDUSTRY_LIST);
src/misc_gui.cpp
Show inline comments
 
@@ -1718,25 +1718,25 @@ public:
 

	
 
			UpdateTextBufferSize(&this->text);
 
			this->SetDirty();
 
		} else if (this->IsWidgetLowered(SLWW_SAVE_GAME)) { // Save button clicked
 
			_switch_mode = SM_SAVE;
 
			FiosMakeSavegameName(_file_to_saveload.name, this->text.buf, sizeof(_file_to_saveload.name));
 

	
 
			/* In the editor set up the vehicle engines correctly (date might have changed) */
 
			if (_game_mode == GM_EDITOR) StartupEngines();
 
		}
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		/* Widget 2 and 3 have to go with halve speed, make it so obiwan */
 
		uint diff = delta.x / 2;
 
		this->widget[SLWW_SORT_BYNAME].right += diff;
 
		this->widget[SLWW_SORT_BYDATE].left  += diff;
 
		this->widget[SLWW_SORT_BYDATE].right += delta.x;
 

	
 
		/* Same for widget 11 and 12 in save-dialog */
 
		if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO) {
 
			this->widget[SLWW_DELETE_SELECTION].right += diff;
 
			this->widget[SLWW_SAVE_GAME].left  += diff;
 
			this->widget[SLWW_SAVE_GAME].right += delta.x;
src/network/network_content_gui.cpp
Show inline comments
 
@@ -665,25 +665,25 @@ public:
 
		/* redraw window */
 
		this->SetDirty();
 
		return ES_HANDLED;
 
	}
 

	
 
	virtual void OnOSKInput(int wid)
 
	{
 
		this->content.SetFilterState(!StrEmpty(this->edit_str_buf));
 
		this->content.ForceRebuild();
 
		this->SetDirty();
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		this->vscroll.cap += delta.y / (int)this->resize.step_height;
 

	
 
		this->widget[NCLWW_MATRIX].data = (this->vscroll.cap << 8) + 1;
 

	
 
		SetVScrollCount(this, this->content.Length());
 

	
 
		/* Make the matrix and details section grow both bigger (or smaller) */
 
		delta.x /= 2;
 
		this->widget[NCLWW_NAME].right      -= delta.x;
 
		this->widget[NCLWW_MATRIX].right    -= delta.x;
 
		this->widget[NCLWW_SCROLLBAR].left  -= delta.x;
src/network/network_gui.cpp
Show inline comments
 
@@ -713,25 +713,25 @@ public:
 
		}
 
		return state;
 
	}
 

	
 
	virtual void OnQueryTextFinished(char *str)
 
	{
 
		if (!StrEmpty(str)) {
 
			NetworkAddServer(str);
 
			NetworkRebuildHostList();
 
		}
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		this->vscroll.cap += delta.y / (int)this->resize.step_height;
 

	
 
		this->widget[NGWW_MATRIX].data = (this->vscroll.cap << 8) + 1;
 

	
 
		SetVScrollCount(this, this->servers.Length());
 

	
 
		/* Additional colums in server list */
 
		if (this->width > NetworkGameWindow::MIN_EXTRA_COLUMNS_WIDTH + GetWidgetWidth(NGWW_MAPSIZE) +
 
				GetWidgetWidth(NGWW_DATE) + GetWidgetWidth(NGWW_YEARS)) {
 
			/* show columns 'Map size', 'Date' and 'Years' */
 
			this->SetWidgetsHiddenState(false, NGWW_MAPSIZE, NGWW_DATE, NGWW_YEARS, WIDGET_LIST_END);
src/newgrf_gui.cpp
Show inline comments
 
@@ -675,25 +675,25 @@ struct NewGRFWindow : public Window {
 
				c->num_params = parse_intlist(str, (int*)c->param, lengthof(c->param));
 

	
 
				/* parse_intlist returns -1 on error */
 
				if (c->num_params == (byte)-1) c->num_params = 0;
 

	
 
				this->preset = -1;
 
				this->SetDirty();
 
				break;
 
			}
 
		}
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		if (delta.x != 0) {
 
			ResizeButtons(this, SNGRFS_ADD, SNGRFS_MOVE_DOWN);
 
			ResizeButtons(this, SNGRFS_SET_PARAMETERS, SNGRFS_APPLY_CHANGES);
 
		}
 

	
 
		this->vscroll.cap += delta.y / 14;
 
		this->widget[SNGRFS_FILE_LIST].data = (this->vscroll.cap << 8) + 1;
 

	
 
		this->SetupNewGRFWindow();
 
	}
 

	
src/news_gui.cpp
Show inline comments
 
@@ -758,25 +758,25 @@ struct MessageHistoryWindow : Window {
 
			NewsItem *ni = _latest_news;
 
			if (ni == NULL) return;
 

	
 
			for (int n = (pt.y - 19) / 12 + this->vscroll.pos; n > 0; n--) {
 
				ni = ni->prev;
 
				if (ni == NULL) return;
 
			}
 

	
 
			ShowNewsMessage(ni);
 
		}
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		this->vscroll.cap += delta.y / 12;
 
	}
 
};
 

	
 
static const Widget _message_history_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,  COLOUR_BROWN,     0,    10,     0,    13, STR_00C5,            STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,  RESIZE_RIGHT,  COLOUR_BROWN,    11,   387,     0,    13, STR_MESSAGE_HISTORY, STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{  WWT_STICKYBOX,     RESIZE_LR,  COLOUR_BROWN,   388,   399,     0,    13, 0x0,                 STR_STICKY_BUTTON},
 
{      WWT_PANEL,     RESIZE_RB,  COLOUR_BROWN,     0,   387,    14,   139, 0x0,                 STR_MESSAGE_HISTORY_TIP},
 
{  WWT_SCROLLBAR,    RESIZE_LRB,  COLOUR_BROWN,   388,   399,    14,   127, 0x0,                 STR_0190_SCROLL_BAR_SCROLLS_LIST},
 
{  WWT_RESIZEBOX,   RESIZE_LRTB,  COLOUR_BROWN,   388,   399,   128,   139, 0x0,                 STR_RESIZE_BUTTON},
src/order_gui.cpp
Show inline comments
 
@@ -1116,25 +1116,25 @@ public:
 
		 * and if the GOTO button of this window is pressed
 
		 * This is because of all open order windows WE_MOUSELOOP is called
 
		 * and if you have 3 windows open, and this check is not done
 
		 * the order is copied to the last open window instead of the
 
		 * one where GOTO is enabled
 
		 */
 
		if (v != NULL && this->IsWidgetLowered(ORDER_WIDGET_GOTO)) {
 
			_place_clicked_vehicle = NULL;
 
			this->HandleOrderVehClick(v);
 
		}
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		/* Update the scroll + matrix */
 
		this->vscroll.cap = (this->widget[ORDER_WIDGET_ORDER_LIST].bottom - this->widget[ORDER_WIDGET_ORDER_LIST].top) / 10;
 
	}
 

	
 
	virtual void OnTimeout()
 
	{
 
		/* unclick all buttons except for the 'goto' button (ORDER_WIDGET_GOTO), which is 'persistent' */
 
		for (uint i = 0; i < this->widget_count; i++) {
 
			if (this->IsWidgetLowered(i) && i != ORDER_WIDGET_GOTO) {
 
				this->RaiseWidget(i);
 
				this->InvalidateWidget(i);
src/settings_gui.cpp
Show inline comments
 
@@ -1492,25 +1492,25 @@ struct GameSettingsWindow : Window {
 
			assert((this->valuewindow_entry->flags & SEF_KIND_MASK) == SEF_SETTING_KIND);
 
			const SettingDesc *sd = this->valuewindow_entry->d.entry.setting;
 
			int32 value = atoi(str);
 

	
 
			/* Save the correct currency-translated value */
 
			if (sd->desc.flags & SGF_CURRENCY) value /= _currency->rate;
 

	
 
			SetSettingValue(this->valuewindow_entry->d.entry.index, value);
 
			this->SetDirty();
 
		}
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		this->vscroll.cap += delta.y / SETTING_HEIGHT;
 
		SetVScrollCount(this, _settings_main_page.Length());
 
	}
 
};
 

	
 
GameSettings *GameSettingsWindow::settings_ptr = NULL;
 
const int GameSettingsWindow::SETTINGTREE_LEFT_OFFSET = 5;
 
const int GameSettingsWindow::SETTINGTREE_TOP_OFFSET = 19;
 

	
 
static const Widget _settings_selection_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,  COLOUR_MAUVE,     0,    10,     0,    13, STR_00C5,                        STR_018B_CLOSE_WINDOW},
src/signs_gui.cpp
Show inline comments
 
@@ -127,25 +127,25 @@ struct SignListWindow : Window, SignList
 
		if (widget == SLW_LIST) {
 
			uint32 id_v = (pt.y - this->widget[SLW_LIST].top - 1) / 10;
 

	
 
			if (id_v >= this->vscroll.cap) return;
 
			id_v += this->vscroll.pos;
 
			if (id_v >= this->vscroll.count) return;
 

	
 
			const Sign *si = this->signs[id_v];
 
			ScrollMainWindowToTile(TileVirtXY(si->x, si->y));
 
		}
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		this->vscroll.cap += delta.y / 10;
 
	}
 

	
 
	virtual void OnInvalidateData(int data)
 
	{
 
		if (data == 0) {
 
			this->signs.ForceRebuild();
 
		} else {
 
			this->signs.ForceResort();
 
		}
 
	}
src/smallmap_gui.cpp
Show inline comments
 
@@ -1037,25 +1037,25 @@ public:
 
		if (y > (int)MapMaxY() * TILE_SIZE - hvy) {
 
			y = MapMaxY() * TILE_SIZE - hvy;
 
			sub = 0;
 
		}
 

	
 
		this->scroll_x = x;
 
		this->scroll_y = y;
 
		this->subscroll = sub;
 

	
 
		this->SetDirty();
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		if (delta.x != 0 && this->map_type == SMT_INDUSTRY) this->ResizeLegend();
 
	}
 
};
 

	
 
SmallMapWindow::SmallMapType SmallMapWindow::map_type = SMT_CONTOUR;
 
bool SmallMapWindow::show_towns = true;
 

	
 
static const WindowDesc _smallmap_desc(
 
	WDP_AUTO, WDP_AUTO, 350, 214, 446, 314,
 
	WC_SMALLMAP, WC_NONE,
 
	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON | WDF_RESIZABLE,
 
@@ -1157,25 +1157,25 @@ public:
 

	
 
			case EVW_VIEW_TO_MAIN: { // inverse location button (move this view to same spot as main view) 'Copy Location'
 
				const Window *w = FindWindowById(WC_MAIN_WINDOW, 0);
 
				int x = w->viewport->scrollpos_x;
 
				int y = w->viewport->scrollpos_y;
 

	
 
				this->viewport->dest_scrollpos_x =  x + (w->viewport->virtual_width -  this->viewport->virtual_width) / 2;
 
				this->viewport->dest_scrollpos_y =  y + (w->viewport->virtual_height - this->viewport->virtual_height) / 2;
 
			} break;
 
		}
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		this->viewport->width          += delta.x;
 
		this->viewport->height         += delta.y;
 
		this->viewport->virtual_width  += delta.x;
 
		this->viewport->virtual_height += delta.y;
 
	}
 

	
 
	virtual void OnScroll(Point delta)
 
	{
 
		const ViewPort *vp = IsPtInWindowViewport(this, _cursor.pos.x, _cursor.pos.y);
 
		if (vp == NULL) return;
 

	
src/station_gui.cpp
Show inline comments
 
@@ -537,25 +537,25 @@ public:
 
		if (this->stations.NeedResort()) {
 
			DEBUG(misc, 3, "Periodic rebuild station list company %d", this->window_number);
 
			this->SetDirty();
 
		}
 
	}
 

	
 
	virtual void OnTimeout()
 
	{
 
		this->RaiseWidget(SLW_SORTBY);
 
		this->SetDirty();
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		this->vscroll.cap += delta.y / 10;
 
	}
 

	
 
	virtual void OnInvalidateData(int data)
 
	{
 
		if (data == 0) {
 
			this->stations.ForceRebuild();
 
		} else {
 
			this->stations.ForceResort();
 
		}
 
	}
 
@@ -966,25 +966,25 @@ struct StationViewWindow : public Window
 
				break;
 
			}
 
		}
 
	}
 

	
 
	virtual void OnQueryTextFinished(char *str)
 
	{
 
		if (str == NULL) return;
 

	
 
		DoCommandP(0, this->window_number, 0, CMD_RENAME_STATION | CMD_MSG(STR_3031_CAN_T_RENAME_STATION), NULL, str);
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		if (delta.x != 0) ResizeButtons(this, SVW_LOCATION, SVW_RENAME);
 
		this->vscroll.cap += delta.y / (int)this->resize.step_height;
 
	}
 
};
 

	
 

	
 
static const WindowDesc _station_view_desc(
 
	WDP_AUTO, WDP_AUTO, 249, 110, 249, 110,
 
	WC_STATION_VIEW, WC_NONE,
 
	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
 
	_station_view_widgets
 
@@ -1178,25 +1178,25 @@ struct SelectStationWindow : Window {
 
		/* Close Window; this might cause double frees! */
 
		DeleteWindowById(WC_SELECT_STATION, 0);
 
	}
 

	
 
	virtual void OnTick()
 
	{
 
		if (_thd.dirty & 2) {
 
			_thd.dirty &= ~2;
 
			this->SetDirty();
 
		}
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		this->vscroll.cap = (this->widget[JSW_PANEL].bottom - this->widget[JSW_PANEL].top) / 10;
 
	}
 

	
 
	virtual void OnInvalidateData(int data)
 
	{
 
		FindStationsNearby(this->tile, this->size_x, this->size_y, true);
 
		this->SetDirty();
 
	}
 
};
 

	
 
static const WindowDesc _select_station_desc(
src/timetable_gui.cpp
Show inline comments
 
@@ -316,25 +316,25 @@ struct TimetableWindow : Window {
 
		const Vehicle *v = this->vehicle;
 

	
 
		uint32 p1 = PackTimetableArgs(v, this->sel_index);
 

	
 
		uint64 time = StrEmpty(str) ? 0 : strtoul(str, NULL, 10);
 
		if (!_settings_client.gui.timetable_in_ticks) time *= DAY_TICKS;
 

	
 
		uint32 p2 = minu(time, UINT16_MAX);
 

	
 
		DoCommandP(0, p1, p2, CMD_CHANGE_TIMETABLE | CMD_MSG(STR_CAN_T_TIMETABLE_VEHICLE));
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		/* Update the scroll + matrix */
 
		this->vscroll.cap = (this->widget[TTV_TIMETABLE_PANEL].bottom - this->widget[TTV_TIMETABLE_PANEL].top) / 10;
 
	}
 
};
 

	
 
static const Widget _timetable_widgets[] = {
 
	{   WWT_CLOSEBOX,   RESIZE_NONE,   COLOUR_GREY,     0,    10,     0,    13, STR_00C5,                   STR_018B_CLOSE_WINDOW},                // TTV_WIDGET_CLOSEBOX
 
	{    WWT_CAPTION,   RESIZE_RIGHT,  COLOUR_GREY,    11,   326,     0,    13, STR_TIMETABLE_TITLE,        STR_018C_WINDOW_TITLE_DRAG_THIS},      // TTV_CAPTION
 
	{ WWT_PUSHTXTBTN,   RESIZE_LR,     COLOUR_GREY,   327,   387,     0,    13, STR_ORDER_VIEW,             STR_ORDER_VIEW_TOOLTIP},               // TTV_ORDER_VIEW
 
	{  WWT_STICKYBOX,   RESIZE_LR,     COLOUR_GREY,   388,   399,     0,    13, STR_NULL,                   STR_STICKY_BUTTON},                    // TTV_STICKY
 

	
src/toolbar_gui.cpp
Show inline comments
 
@@ -1108,25 +1108,25 @@ struct MainToolbarWindow : Window {
 
	{
 
		if (this->IsWidgetLowered(TBN_PAUSE) != !!_pause_game) {
 
			this->ToggleWidgetLoweredState(TBN_PAUSE);
 
			this->InvalidateWidget(TBN_PAUSE);
 
		}
 

	
 
		if (this->IsWidgetLowered(TBN_FASTFORWARD) != !!_fast_forward) {
 
			this->ToggleWidgetLoweredState(TBN_FASTFORWARD);
 
			this->InvalidateWidget(TBN_FASTFORWARD);
 
		}
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		if (this->width <= TBP_NORMAL_MAXBUTTON * TBP_BUTTONWIDTH) {
 
			SplitToolbar(this);
 
		} else {
 
			ResizeToolbar(this);
 
		}
 
	}
 

	
 
	virtual void OnTimeout()
 
	{
 
		for (uint i = TBN_SETTINGS; i < this->widget_count - 1; i++) {
 
			if (this->IsWidgetLowered(i)) {
 
@@ -1302,25 +1302,25 @@ public:
 
			case 'M': ShowSmallMap(); break;
 
			case 'V': ShowExtraViewPortWindow(); break;
 
			default: return ES_NOT_HANDLED;
 
		}
 
		return ES_HANDLED;
 
	}
 

	
 
	virtual void OnPlaceObject(Point pt, TileIndex tile)
 
	{
 
		_place_proc(tile);
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		/* There are 16 buttons plus some spacings if the space allows it.
 
		 * Furthermore there are two panels of which one is non - essential
 
		 * and that one can be removed if the space is too small. */
 
		uint buttons_width;
 
		uint spacing;
 

	
 
		static const int normal_min_width = (TBP_SCENARIO_MAXBUTTON * TBP_BUTTONWIDTH) + (2 * TBP_DATEPANELWIDTH);
 
		static const int one_less_panel_min_width = (TBP_SCENARIO_MAXBUTTON * TBP_BUTTONWIDTH) + TBP_DATEPANELWIDTH;
 

	
 
		if (this->width >= one_less_panel_min_width) {
 
			buttons_width = TBP_SCENARIO_MAXBUTTON * TBP_BUTTONWIDTH;
src/town_gui.cpp
Show inline comments
 
@@ -616,25 +616,25 @@ public:
 
					ScrollMainWindowToTile(t->xy);
 
				}
 
				break;
 
			}
 
		}
 
	}
 

	
 
	virtual void OnHundredthTick()
 
	{
 
		this->SetDirty();
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		this->vscroll.cap += delta.y / 10;
 
	}
 

	
 
	virtual void OnInvalidateData(int data)
 
	{
 
		if (data == 0) {
 
			this->towns.ForceRebuild();
 
		} else {
 
			this->towns.ForceResort();
 
		}
 
	}
src/vehicle_gui.cpp
Show inline comments
 
@@ -383,25 +383,25 @@ struct RefitWindow : public Window {
 
							case VEH_SHIP:     command = CMD_REFIT_SHIP         | CMD_MSG(STR_9841_CAN_T_REFIT_SHIP);     break;
 
							case VEH_AIRCRAFT: command = CMD_REFIT_AIRCRAFT     | CMD_MSG(STR_A042_CAN_T_REFIT_AIRCRAFT); break;
 
						}
 
						if (DoCommandP(v->tile, v->index, this->cargo->cargo | this->cargo->subtype << 8, command)) delete this;
 
					} else {
 
						if (DoCommandP(v->tile, v->index, this->cargo->cargo | this->cargo->subtype << 8 | this->order << 16, CMD_ORDER_REFIT)) delete this;
 
					}
 
				}
 
				break;
 
		}
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		this->vscroll.cap += delta.y / (int)this->resize.step_height;
 
		this->widget[3].data = (this->vscroll.cap << 8) + 1;
 
	}
 
};
 

	
 

	
 
static const Widget _vehicle_refit_widgets[] = {
 
	{   WWT_CLOSEBOX,   RESIZE_NONE,  COLOUR_GREY,     0,    10,     0,    13, STR_00C5,                            STR_018B_CLOSE_WINDOW},
 
	{    WWT_CAPTION,   RESIZE_NONE,  COLOUR_GREY,    11,   239,     0,    13, STR_983B_REFIT,                      STR_018C_WINDOW_TITLE_DRAG_THIS},
 
	{    WWT_TEXTBTN,   RESIZE_NONE,  COLOUR_GREY,     0,   239,    14,    27, STR_983F_SELECT_CARGO_TYPE_TO_CARRY, STR_983D_SELECT_TYPE_OF_CARGO_FOR},
 
	{     WWT_MATRIX, RESIZE_BOTTOM,  COLOUR_GREY,     0,   227,    28,   139, 0x801,                               STR_EMPTY},
 
@@ -1143,25 +1143,25 @@ struct VehicleListWindow : public BaseVe
 

	
 
	virtual void OnTick()
 
	{
 
		if (_pause_game != 0) return;
 
		if (this->vehicles.NeedResort()) {
 
			StationID station = ((this->window_number & VLW_MASK) == VLW_STATION_LIST) ? GB(this->window_number, 16, 16) : INVALID_STATION;
 

	
 
			DEBUG(misc, 3, "Periodic resort %d list company %d at station %d", this->vehicle_type, this->owner, station);
 
			this->SetDirty();
 
		}
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		this->vscroll.cap += delta.y / (int)this->resize.step_height;
 
		this->widget[VLW_WIDGET_LIST].data = (this->vscroll.cap << 8) + 1;
 
	}
 

	
 
	virtual void OnInvalidateData(int data)
 
	{
 
		if (HasBit(data, 15) && (this->window_number & VLW_MASK) == VLW_SHARED_ORDERS) {
 
			SB(this->window_number, 16, 16, GB(data, 16, 16));
 
			this->vehicles.ForceRebuild();
 
			return;
 
		}
 
@@ -1566,25 +1566,25 @@ struct VehicleDetailsWindow : Window {
 
		static const StringID _name_vehicle_error[] = {
 
			STR_8866_CAN_T_NAME_TRAIN,
 
			STR_902D_CAN_T_NAME_ROAD_VEHICLE,
 
			STR_9832_CAN_T_NAME_SHIP,
 
			STR_A031_CAN_T_NAME_AIRCRAFT
 
		};
 

	
 
		if (str == NULL) return;
 

	
 
		DoCommandP(0, this->window_number, 0, CMD_RENAME_VEHICLE | CMD_MSG(_name_vehicle_error[GetVehicle(this->window_number)->type]), NULL, str);
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		if (delta.x != 0) ResizeButtons(this, VLD_WIDGET_DETAILS_CARGO_CARRIED, VLD_WIDGET_DETAILS_TOTAL_CARGO);
 
		if (delta.y == 0) return;
 

	
 
		this->vscroll.cap += delta.y / 14;
 
		this->widget[VLD_WIDGET_MIDDLE_DETAILS].data = (this->vscroll.cap << 8) + 1;
 
	}
 
};
 

	
 
/** Vehicle details window descriptor. */
 
static const WindowDesc _vehicle_details_desc(
 
	WDP_AUTO, WDP_AUTO, 405, 113, 405, 113,
 
@@ -2028,25 +2028,25 @@ struct VehicleViewWindow : Window {
 
			case VVW_WIDGET_TURN_AROUND: // turn around
 
				assert(v->type == VEH_TRAIN || v->type == VEH_ROAD);
 
				DoCommandP(v->tile, v->index, 0,
 
										_vehicle_command_translation_table[VCT_CMD_TURN_AROUND][v->type]);
 
				break;
 
			case VVW_WIDGET_FORCE_PROCEED: // force proceed
 
				assert(v->type == VEH_TRAIN);
 
				DoCommandP(v->tile, v->index, 0, CMD_FORCE_TRAIN_PROCEED | CMD_MSG(STR_8862_CAN_T_MAKE_TRAIN_PASS_SIGNAL));
 
				break;
 
		}
 
	}
 

	
 
	virtual void OnResize(Point new_size, Point delta)
 
	virtual void OnResize(Point delta)
 
	{
 
		this->viewport->width          += delta.x;
 
		this->viewport->height         += delta.y;
 
		this->viewport->virtual_width  += delta.x;
 
		this->viewport->virtual_height += delta.y;
 
	}
 

	
 
	virtual void OnTick()
 
	{
 
		const Vehicle *v = GetVehicle(this->window_number);
 
		bool veh_stopped = v->IsStoppedInDepot();
 

	
src/window.cpp
Show inline comments
 
@@ -911,31 +911,28 @@ void Window::FindWindowPlacementAndResiz
 

	
 
		int enlarge_x = max(min(def_width  - this->width,  _screen.width - this->width),  0);
 
		int enlarge_y = max(min(def_height - this->height, free_height   - this->height), 0);
 

	
 
		/* X and Y has to go by step.. calculate it.
 
		 * The cast to int is necessary else x/y are implicitly casted to
 
		 * unsigned int, which won't work. */
 
		if (this->resize.step_width  > 1) enlarge_x -= enlarge_x % (int)this->resize.step_width;
 
		if (this->resize.step_height > 1) enlarge_y -= enlarge_y % (int)this->resize.step_height;
 

	
 
		ResizeWindow(this, enlarge_x, enlarge_y);
 

	
 
		Point size;
 
		Point diff;
 
		size.x = this->width;
 
		size.y = this->height;
 
		diff.x = enlarge_x;
 
		diff.y = enlarge_y;
 
		this->OnResize(size, diff);
 
		this->OnResize(diff);
 
	}
 

	
 
	int nx = this->left;
 
	int ny = this->top;
 

	
 
	if (nx + this->width > _screen.width) nx -= (nx + this->width - _screen.width);
 

	
 
	const Window *wt = FindWindowById(WC_MAIN_TOOLBAR, 0);
 
	ny = max(ny, (wt == NULL || this == wt || this->top == 0) ? 0 : wt->height);
 
	nx = max(nx, 0);
 

	
 
	if (this->viewport != NULL) {
 
@@ -1591,31 +1588,28 @@ static bool HandleWindowDragging()
 
			if (w->flags4 & WF_SIZING_LEFT && x != 0) {
 
				_drag_delta.x -= x; // x > 0 -> window gets longer -> left-edge moves to left -> subtract x to get new position.
 
				w->SetDirty();
 
				w->left -= x;  // If dragging left edge, move left window edge in opposite direction by the same amount.
 
				/* ResizeWindow() below ensures marking new position as dirty. */
 
			} else {
 
				_drag_delta.x += x;
 
			}
 

	
 
			/* ResizeWindow sets both pre- and after-size to dirty for redrawal */
 
			ResizeWindow(w, x, y);
 

	
 
			Point size;
 
			Point diff;
 
			size.x = x + w->width;
 
			size.y = y + w->height;
 
			diff.x = x;
 
			diff.y = y;
 
			w->OnResize(size, diff);
 
			w->OnResize(diff);
 
			return false;
 
		}
 
	}
 

	
 
	_dragging_window = false;
 
	return false;
 
}
 

	
 
/**
 
 * Start window dragging
 
 * @param w Window to start dragging
 
 */
 
@@ -2469,31 +2463,28 @@ void RelocateAllWindows(int neww, int ne
 
			vp->virtual_width = ScaleByZoom(neww, vp->zoom);
 
			vp->virtual_height = ScaleByZoom(newh, vp->zoom);
 
			continue; // don't modify top,left
 
		}
 

	
 
		/* XXX - this probably needs something more sane. For example specying
 
		 * in a 'backup'-desc that the window should always be centred. */
 
		switch (w->window_class) {
 
			case WC_MAIN_TOOLBAR:
 
				if (neww - w->width != 0) {
 
					ResizeWindow(w, min(neww, 640) - w->width, 0);
 

	
 
					Point size;
 
					Point delta;
 
					size.x = w->width;
 
					size.y = w->height;
 
					delta.x = neww - w->width;
 
					delta.y = 0;
 
					w->OnResize(size, delta);
 
					w->OnResize(delta);
 
				}
 

	
 
				top = w->top;
 
				left = PositionMainToolbar(w); // changes toolbar orientation
 
				break;
 

	
 
			case WC_SELECT_GAME:
 
			case WC_GAME_OPTIONS:
 
			case WC_NETWORK_WINDOW:
 
				top = (newh - w->height) >> 1;
 
				left = (neww - w->width) >> 1;
 
				break;
src/window_gui.h
Show inline comments
 
@@ -488,29 +488,28 @@ public:
 
	/**
 
	 * Called once every 100 (game) ticks.
 
	 */
 
	virtual void OnHundredthTick() {}
 

	
 
	/**
 
	 * Called when this window's timeout has been reached.
 
	 */
 
	virtual void OnTimeout() {}
 

	
 

	
 
	/**
 
	 * Called when the window got resized.
 
	 * @param new_size the new size of the window.
 
	 * @param delta    the amount of which the window size changed.
 
	 * Called after the window got resized.
 
	 * @param delta The amount of which the window size changed.
 
	 */
 
	virtual void OnResize(Point new_size, Point delta) {}
 
	virtual void OnResize(Point delta) {}
 

	
 
	/**
 
	 * A dropdown option associated to this window has been selected.
 
	 * @param widget the widget (button) that the dropdown is associated with.
 
	 * @param index  the element in the dropdown that is selected.
 
	 */
 
	virtual void OnDropdownSelect(int widget, int index) {}
 

	
 
	/**
 
	 * The query window opened from this window has closed.
 
	 * @param str the new value of the string or NULL if the window
 
	 *            was cancelled.
0 comments (0 inline, 0 general)