Mercurial > hg > openttd
comparison src/company_gui.cpp @ 11504:898be4863fa6 draft
(svn r15865) -Codechange: New widgets for company finances windows
author | glx <glx@openttd.org> |
---|---|
date | Fri, 27 Mar 2009 22:59:43 +0000 |
parents | 9272c49b41d7 |
children | 06e6021a10f2 |
comparison
equal
deleted
inserted
replaced
11503:9272c49b41d7 | 11504:898be4863fa6 |
---|---|
206 | 206 |
207 SetDParam(0, c->money - c->current_loan); | 207 SetDParam(0, c->money - c->current_loan); |
208 DrawString(widget[CFW_TOTAL_VALUES].left, widget[CFW_TOTAL_VALUES].right, y, STR_7028, TC_FROMSTRING, SA_RIGHT); | 208 DrawString(widget[CFW_TOTAL_VALUES].left, widget[CFW_TOTAL_VALUES].right, y, STR_7028, TC_FROMSTRING, SA_RIGHT); |
209 } | 209 } |
210 | 210 |
211 static const NWidgetPart _nested_company_finances_widgets[] = { | |
212 NWidget(NWID_HORIZONTAL), | |
213 NWidget(WWT_CLOSEBOX, COLOUR_GREY, CFW_CLOSEBOX), | |
214 NWidget(WWT_CAPTION, COLOUR_GREY, CFW_CAPTION), SetMinimalSize(369, 14), SetDataTip(STR_700E_FINANCES, STR_018C_WINDOW_TITLE_DRAG_THIS), | |
215 NWidget(WWT_IMGBTN, COLOUR_GREY, CFW_TOGGLE_SIZE), SetMinimalSize(14, 14), SetDataTip(SPR_LARGE_SMALL_WINDOW, STR_7075_TOGGLE_LARGE_SMALL_WINDOW), | |
216 NWidget(WWT_STICKYBOX, COLOUR_GREY, CFW_STICKY), | |
217 EndContainer(), | |
218 NWidget(WWT_PANEL, COLOUR_GREY, CFW_EXPS_PANEL), | |
219 NWidget(NWID_HORIZONTAL), | |
220 NWidget(WWT_EMPTY, COLOUR_GREY, CFW_EXPS_CATEGORY), SetMinimalSize(123, 0), | |
221 NWidget(NWID_SPACER), SetMinimalSize(7, 0), | |
222 NWidget(WWT_EMPTY, COLOUR_GREY, CFW_EXPS_PRICE1), SetMinimalSize(86, 0), | |
223 NWidget(NWID_SPACER), SetMinimalSize(9, 0), | |
224 NWidget(WWT_EMPTY, COLOUR_GREY, CFW_EXPS_PRICE2), SetMinimalSize(86, 0), | |
225 NWidget(NWID_SPACER), SetMinimalSize(9, 0), | |
226 NWidget(WWT_EMPTY, COLOUR_GREY, CFW_EXPS_PRICE3), SetMinimalSize(86, 0), | |
227 NWidget(NWID_SPACER), SetMinimalSize(1, 0), | |
228 EndContainer(), | |
229 EndContainer(), | |
230 NWidget(WWT_PANEL, COLOUR_GREY, CFW_TOTAL_PANEL), | |
231 NWidget(NWID_HORIZONTAL), | |
232 NWidget(NWID_SPACER), SetMinimalSize(2, 0), | |
233 NWidget(WWT_EMPTY, COLOUR_GREY, CFW_TOTAL_LABELS), SetMinimalSize(95, 34), | |
234 NWidget(WWT_EMPTY, COLOUR_GREY, CFW_TOTAL_VALUES), SetMinimalSize(86, 34), | |
235 NWidget(NWID_SPACER), SetMinimalSize(19, 0), | |
236 NWidget(WWT_EMPTY, COLOUR_GREY, CFW_TOTAL_MAXLOAN), SetMinimalSize(205, 34), | |
237 EndContainer(), | |
238 EndContainer(), | |
239 NWidget(NWID_HORIZONTAL), | |
240 NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, CFW_INCREASE_LOAN), SetMinimalSize(203, 12), SetDataTip(STR_7029_BORROW, STR_7035_INCREASE_SIZE_OF_LOAN), | |
241 NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, CFW_REPAY_LOAN), SetMinimalSize(204, 12), SetDataTip(STR_702A_REPAY, STR_7036_REPAY_PART_OF_LOAN), | |
242 EndContainer(), | |
243 }; | |
244 | |
211 static const Widget _company_finances_widgets[] = { | 245 static const Widget _company_finances_widgets[] = { |
212 { WWT_CLOSEBOX, RESIZE_NONE, COLOUR_GREY, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, // CFW_CLOSEBOX | 246 { WWT_CLOSEBOX, RESIZE_NONE, COLOUR_GREY, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, // CFW_CLOSEBOX |
213 { WWT_CAPTION, RESIZE_NONE, COLOUR_GREY, 11, 380, 0, 13, STR_700E_FINANCES, STR_018C_WINDOW_TITLE_DRAG_THIS}, // CFW_CAPTION | 247 { WWT_CAPTION, RESIZE_NONE, COLOUR_GREY, 11, 380, 0, 13, STR_700E_FINANCES, STR_018C_WINDOW_TITLE_DRAG_THIS}, // CFW_CAPTION |
214 { WWT_IMGBTN, RESIZE_NONE, COLOUR_GREY, 381, 394, 0, 13, SPR_LARGE_SMALL_WINDOW, STR_7075_TOGGLE_LARGE_SMALL_WINDOW}, // CFW_TOGGLE_SIZE | 248 { WWT_IMGBTN, RESIZE_NONE, COLOUR_GREY, 381, 394, 0, 13, SPR_LARGE_SMALL_WINDOW, STR_7075_TOGGLE_LARGE_SMALL_WINDOW}, // CFW_TOGGLE_SIZE |
215 { WWT_STICKYBOX, RESIZE_NONE, COLOUR_GREY, 395, 406, 0, 13, 0x0, STR_STICKY_BUTTON}, // CFW_STICKY | 249 { WWT_STICKYBOX, RESIZE_NONE, COLOUR_GREY, 395, 406, 0, 13, 0x0, STR_STICKY_BUTTON}, // CFW_STICKY |
225 { WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_GREY, 0, 202, 48, 59, STR_7029_BORROW, STR_7035_INCREASE_SIZE_OF_LOAN}, // CFW_INCREASE_LOAN | 259 { WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_GREY, 0, 202, 48, 59, STR_7029_BORROW, STR_7035_INCREASE_SIZE_OF_LOAN}, // CFW_INCREASE_LOAN |
226 { WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_GREY, 203, 406, 48, 59, STR_702A_REPAY, STR_7036_REPAY_PART_OF_LOAN}, // CFW_REPAY_LOAN | 260 { WWT_PUSHTXTBTN, RESIZE_NONE, COLOUR_GREY, 203, 406, 48, 59, STR_702A_REPAY, STR_7036_REPAY_PART_OF_LOAN}, // CFW_REPAY_LOAN |
227 { WIDGETS_END}, | 261 { WIDGETS_END}, |
228 }; | 262 }; |
229 | 263 |
264 static const NWidgetPart _nested_company_finances_small_widgets[] = { | |
265 NWidget(NWID_HORIZONTAL), | |
266 NWidget(WWT_CLOSEBOX, COLOUR_GREY, CFW_CLOSEBOX), | |
267 NWidget(WWT_CAPTION, COLOUR_GREY, CFW_CAPTION), SetMinimalSize(243, 14), SetDataTip(STR_700E_FINANCES, STR_018C_WINDOW_TITLE_DRAG_THIS), | |
268 NWidget(WWT_IMGBTN, COLOUR_GREY, CFW_TOGGLE_SIZE), SetMinimalSize(14, 14), SetDataTip(SPR_LARGE_SMALL_WINDOW, STR_7075_TOGGLE_LARGE_SMALL_WINDOW), | |
269 NWidget(WWT_STICKYBOX, COLOUR_GREY, CFW_STICKY), | |
270 EndContainer(), | |
271 NWidget(WWT_EMPTY, COLOUR_GREY, CFW_EXPS_PANEL), | |
272 NWidget(WWT_EMPTY, COLOUR_GREY, CFW_EXPS_CATEGORY), | |
273 NWidget(WWT_EMPTY, COLOUR_GREY, CFW_EXPS_PRICE1), | |
274 NWidget(WWT_EMPTY, COLOUR_GREY, CFW_EXPS_PRICE2), | |
275 NWidget(WWT_EMPTY, COLOUR_GREY, CFW_EXPS_PRICE3), | |
276 NWidget(WWT_PANEL, COLOUR_GREY, CFW_TOTAL_PANEL), | |
277 NWidget(NWID_HORIZONTAL), | |
278 NWidget(NWID_SPACER), SetMinimalSize(2, 0), | |
279 NWidget(WWT_EMPTY, COLOUR_GREY, CFW_TOTAL_LABELS), SetMinimalSize(95, 34), | |
280 NWidget(WWT_EMPTY, COLOUR_GREY, CFW_TOTAL_VALUES), SetMinimalSize(86, 34), | |
281 NWidget(WWT_EMPTY, COLOUR_GREY, CFW_TOTAL_MAXLOAN), SetMinimalSize(97, 0), | |
282 EndContainer(), | |
283 EndContainer(), | |
284 NWidget(NWID_HORIZONTAL), | |
285 NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, CFW_INCREASE_LOAN), SetMinimalSize(140, 12), SetDataTip(STR_7029_BORROW, STR_7035_INCREASE_SIZE_OF_LOAN), | |
286 NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, CFW_REPAY_LOAN), SetMinimalSize(140, 12), SetDataTip(STR_702A_REPAY, STR_7036_REPAY_PART_OF_LOAN), | |
287 EndContainer(), | |
288 }; | |
289 | |
230 static const Widget _company_finances_small_widgets[] = { | 290 static const Widget _company_finances_small_widgets[] = { |
231 { WWT_CLOSEBOX, RESIZE_NONE, COLOUR_GREY, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, // CFW_CLOSEBOX | 291 { WWT_CLOSEBOX, RESIZE_NONE, COLOUR_GREY, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, // CFW_CLOSEBOX |
232 { WWT_CAPTION, RESIZE_NONE, COLOUR_GREY, 11, 253, 0, 13, STR_700E_FINANCES, STR_018C_WINDOW_TITLE_DRAG_THIS}, // CFW_CAPTION | 292 { WWT_CAPTION, RESIZE_NONE, COLOUR_GREY, 11, 253, 0, 13, STR_700E_FINANCES, STR_018C_WINDOW_TITLE_DRAG_THIS}, // CFW_CAPTION |
233 { WWT_IMGBTN, RESIZE_NONE, COLOUR_GREY, 254, 267, 0, 13, SPR_LARGE_SMALL_WINDOW, STR_7075_TOGGLE_LARGE_SMALL_WINDOW}, // CFW_TOGGLE_SIZE | 293 { WWT_IMGBTN, RESIZE_NONE, COLOUR_GREY, 254, 267, 0, 13, SPR_LARGE_SMALL_WINDOW, STR_7075_TOGGLE_LARGE_SMALL_WINDOW}, // CFW_TOGGLE_SIZE |
234 { WWT_STICKYBOX, RESIZE_NONE, COLOUR_GREY, 268, 279, 0, 13, 0x0, STR_STICKY_BUTTON}, // CFW_STICKY | 294 { WWT_STICKYBOX, RESIZE_NONE, COLOUR_GREY, 268, 279, 0, 13, 0x0, STR_STICKY_BUTTON}, // CFW_STICKY |
272 CompanyID company = (CompanyID)this->window_number; | 332 CompanyID company = (CompanyID)this->window_number; |
273 const Company *c = GetCompany(company); | 333 const Company *c = GetCompany(company); |
274 | 334 |
275 if (!small) { | 335 if (!small) { |
276 int type = _settings_client.gui.expenses_layout; | 336 int type = _settings_client.gui.expenses_layout; |
337 if (this->widget[CFW_EXPS_PANEL].bottom < this->widget[CFW_EXPS_PANEL].top) { | |
338 this->widget[CFW_EXPS_PANEL].bottom = this->widget[CFW_EXPS_PANEL].top; | |
339 } | |
277 int height = this->widget[CFW_EXPS_PANEL].bottom - this->widget[CFW_EXPS_PANEL].top + 1; | 340 int height = this->widget[CFW_EXPS_PANEL].bottom - this->widget[CFW_EXPS_PANEL].top + 1; |
278 if (_expenses_list_types[type].height + 26 != height) { | 341 if (_expenses_list_types[type].height + 26 != height) { |
279 this->SetDirty(); | 342 this->SetDirty(); |
280 ResizeWindowForWidget(this, CFW_EXPS_PANEL, 0, _expenses_list_types[type].height - height + 26); | 343 ResizeWindowForWidget(this, CFW_EXPS_PANEL, 0, _expenses_list_types[type].height - height + 26); |
281 this->SetDirty(); | 344 this->SetDirty(); |
338 | 401 |
339 static const WindowDesc _company_finances_desc( | 402 static const WindowDesc _company_finances_desc( |
340 WDP_AUTO, WDP_AUTO, 407, 60, 407, 60, | 403 WDP_AUTO, WDP_AUTO, 407, 60, 407, 60, |
341 WC_FINANCES, WC_NONE, | 404 WC_FINANCES, WC_NONE, |
342 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON, | 405 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON, |
343 _company_finances_widgets | 406 _company_finances_widgets, _nested_company_finances_widgets, lengthof(_nested_company_finances_widgets) |
344 ); | 407 ); |
345 | 408 |
346 static const WindowDesc _company_finances_small_desc( | 409 static const WindowDesc _company_finances_small_desc( |
347 WDP_AUTO, WDP_AUTO, 280, 60, 280, 60, | 410 WDP_AUTO, WDP_AUTO, 280, 60, 280, 60, |
348 WC_FINANCES, WC_NONE, | 411 WC_FINANCES, WC_NONE, |
349 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON, | 412 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON, |
350 _company_finances_small_widgets | 413 _company_finances_small_widgets, _nested_company_finances_small_widgets, lengthof(_nested_company_finances_small_widgets) |
351 ); | 414 ); |
352 | 415 |
353 /** | 416 /** |
354 * Open the small/large finance window of the company | 417 * Open the small/large finance window of the company |
355 * | 418 * |