Commit Graph

249 Commits

Author SHA1 Message Date
Patric Stout b6ac5a3ab9
Fix 85a49a0d3: hotkeys were enabled outside of GM_NORMAL (#8534) 2021-01-08 23:28:46 +01:00
Patric Stout af22a4f2cd Add: show in the tooltip of disabled toolbar buttons why they are disabled 2021-01-08 16:43:51 +01:00
Patric Stout 85a49a0d36 Change: always allow to click on the toolbar icons for road/rail/dock/airport
This change allows a user to see what is available and what will become
available before it is available, instead of only disabling the button
with no further explanation. It also always allows building roads and
canals, even if no vehicles are available for road / water.

For rail/road/tram, a dropdown with available types is shown. If
none are available, it reads "None". If the type is not yet available,
it is greyed out.

For dock/airport, this always open the toolbar, but building airports,
docks, and depots buttons are disabled till vehicles are available
for those.

Road is the only exception, with the primary road always being
available. Here too, stations and depots are disabled till vehicles
become available. It does mean you can now always build roads to
for example help towns grow.
2021-01-08 16:43:51 +01:00
Charles Pigott 9b800a96ed
Codechange: Remove min/max functions in favour of STL variants (#8502) 2021-01-08 11:16:18 +01:00
Łukasz Hryniuk 3effad0bea
Fix: Properly invalidate mouse-over station coverage highlight (#8263) 2020-07-27 17:37:47 +01:00
S. D. Cloudt 13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
glx22 b3fd787959 Fix #7188: check the validity of command callback for scripts (#7701) 2019-09-07 17:37:01 +01:00
peter1138 81f0f97406 Feature: Add existing station coverage area display when placing new station parts. 2019-04-25 09:14:01 +02:00
Henry Wilson 7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 2019-04-10 23:22:20 +02:00
Michael Lutz c7b9987d08 Codechange: Switch DropDownList to directly use std::vector, thus making AutoDeleteSmallVector obsolete.
DropDownListItem are strongly managed using std::unique_ptr to ensure leak-free handling. Appropriate use
of move-semantics make intent a lot clearer than parameter comments and allows the compiler to generate
copy-free code for most situations.
2019-04-09 22:45:15 +02:00
Henry Wilson a0f36a50e6 Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back() 2019-03-26 20:15:57 +00:00
peter1138 317f69c152 Codechange: Use override specifier in Window-derived classes. 2019-03-24 16:10:04 +01:00
Peter Nelson 2a8fa5fef9 Change: Split up Window::OnTick into OnGameTick and OnRealtimeTick. Adjust timers to work with milliseconds instead of ticks. 2019-01-11 11:56:21 +00:00
frosch c639fb0d8e (svn r27163) -Fix [FS#6204]: Toolbars were not invalidated when changing max-vehicles settings. (adf88) 2015-02-22 15:26:27 +00:00
peter1138 cb62e83e0e (svn r26996) -Codechange: Don't clamp airport construction window size -- this causes very poor performance if the game window is not large enough. 2014-10-12 10:48:18 +00:00
rubidium 03551d2b35 (svn r26732) -Fix [FS#6083]: do not reset the last selected airport or layout (unless it is really necessary) 2014-08-15 19:41:57 +00:00
rubidium 0463dbdc9e (svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values 2014-04-23 20:13:33 +00:00
frosch 5370613924 (svn r26422) -Fix [FS#5946]: Some road constructions used the rail sound effect. Rename the enum items to properly reflect their purpose. 2014-03-23 13:28:32 +00:00
frosch 4818b72c75 (svn r26165) -Change [FS#5832]: Improve layout of build-airport GUI (hackalittlebit) 2013-12-18 18:23:30 +00:00
rubidium 83eeba28b7 (svn r26086) -Codechange: use AutoDeleteSmallVector instead std::list for dropdowns 2013-11-24 14:46:26 +00:00
frosch f89375aa44 (svn r25731) -Fix [FS#5692]: Minor RTL alignment issues. (sbr) 2013-08-18 19:30:25 +00:00
frosch 5f8f71edf0 (svn r25532) -Fix: Do not make the minimal size of matrix or panel widgets depend on their number of rows, since that changes when resizing the window. 2013-06-30 14:33:15 +00:00
frosch 98fdd20f84 (svn r25531) -Codechange: Use separate function to set data of WWT_MATRIX widgets. 2013-06-30 14:32:31 +00:00
frosch fef30983e6 (svn r25414) -Codechange: Move handling of global hotkeys to HotkeyList. 2013-06-15 15:31:22 +00:00
frosch 5cb174c6b8 (svn r25412) -Codechange: Make use of Window::OnHotkey 2013-06-15 15:30:44 +00:00
frosch 1b8b1f3f6c (svn r25410) -Codechange: Put all hotkeys of a window into a static HotkeyList member. 2013-06-15 15:28:09 +00:00
frosch d9e9710cb3 (svn r25408) -Codechange: Simplify hotkeys by removing unused stuff. 2013-06-15 15:27:33 +00:00
frosch bb308c5e30 (svn r25401) -Fix-ish: Add missing includes with prototypes to functions declared in the cpp file. 2013-06-15 15:05:54 +00:00
frosch 9cb89b3639 (svn r25395) -Fix [FS#5596]: The size of station construction windows could oscillate when resizing the window moved the mouse into the window. 2013-06-11 18:36:26 +00:00
frosch 8157a8afd8 (svn r25290) -Add: Assign string names to notable windows. 2013-05-26 19:25:01 +00:00
frosch 56e4a8c4d6 (svn r25287) -Codechange: Keep a reference to the WindowDesc in the Window after construction. 2013-05-26 19:23:42 +00:00
frosch 3ce8d2ce70 (svn r24846) -Add: Advanced settings to disable certain sound effects. 2012-12-23 21:09:09 +00:00
frosch 03736af2ae (svn r24700) -Cleanup: Remove WDF_UNCLICK_BUTTONS and make it the default. 2012-11-11 16:10:43 +00:00
frosch c841a78f69 (svn r24167) -Codechange: Rename NewGRFClass::GetCount() to NewGRFClass::GetClassCount() 2012-04-22 16:28:19 +00:00
frosch 0f0e7e43cf (svn r24166) -Codechange: Turn NewGRFClass::Get(Tid, uint) and GetCount(Tid) into non-static members GetSpec(uint) and GetSpecCount(). 2012-04-22 16:28:14 +00:00
frosch 6f4d2160c2 (svn r24162) -Codechange: Remove NewGRFClass::GetName() and SetName() in favour of using Get() and direct member access (which is needed anyway for GRF string resolving). 2012-04-22 16:27:55 +00:00
rubidium 6d6be50ae0 (svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files 2012-01-03 21:32:51 +00:00
truebrain e9f584ac21 (svn r23531) -Codechange: document and rename widgets to be consistent and understandable 2011-12-16 16:27:45 +00:00
truebrain 2aa774e831 (svn r23528) -Codechange: move widget enums to widgets/NNN_type.h 2011-12-15 22:22:55 +00:00
rubidium 82077965fc (svn r23179) -Codechange: use some tooltips that already existed (monoid) 2011-11-10 17:55:52 +00:00
planetmaker ad254f2b7c (svn r22716) -Fix: Murphy is a bitch 2011-08-04 17:22:18 +00:00
planetmaker d20b5eb915 (svn r22715) -Fix: If there's also no point in opening the air toolbar via custom-defined global hotkeys, if there are no aircraft available 2011-08-04 17:13:24 +00:00
rubidium 015231a478 (svn r22538) -Fix [FS#4619]: possible crash when opening the airport build window for the first time 2011-06-04 14:48:21 +00:00
planetmaker 8828acd722 (svn r22497) -Codechange: Simplify button handling in airport build GUI 2011-05-27 16:26:10 +00:00
planetmaker 9a744793b0 (svn r22495) -Fix: The layout selectors of the airport build GUI did not latch properly 2011-05-27 15:40:32 +00:00
yexo 4ac6f2a994 (svn r22494) -Fix: airport preview sprite can depend on the layout, so update the cached SpriteID when the layout changes 2011-05-27 15:31:54 +00:00
frosch 5e449b8fae (svn r22429) -Add: some constants for specific palette colours used in the GUI. 2011-05-06 21:13:29 +00:00
frosch 22286bd7b6 (svn r22421) -Fix: Replace various references to Windows palette greyscale indices with the DOS palette indices. 2011-05-04 17:45:16 +00:00
rubidium 8017c2a3d7 (svn r21909) -Fix: some missing spaces 2011-01-26 08:14:36 +00:00
alberth 852e647bcc (svn r21627) -Codechange: Remove _place_proc global variable. 2010-12-24 15:08:19 +00:00
alberth 802ec80c5d (svn r21609) -Fix (r21545,r21552,r21580,r21586): Restore diagonal clearing of areas. 2010-12-23 14:38:01 +00:00
alberth 264acca2fa (svn r21580) -Codechange: Replace callback via pointer by a switch statement. 2010-12-21 16:27:50 +00:00
alberth 5a2bf89caf (svn r21579) -Codechange: Remove _build_air_button_proc and its functions to a switch statement, record the last started action. 2010-12-21 16:26:34 +00:00
alberth f5c6fd1a25 (svn r21331) -Codechange: Make drawing the widgets default behaviour in OnPaint(). 2010-11-26 15:22:18 +00:00
rubidium 30f2afac9b (svn r20632) -Cleanup: remove "a few" unneeded includes, and add them to some headers 2010-08-26 22:01:16 +00:00
frosch d496ec65b9 (svn r20470) -Codechange: Make arrow buttons lower and raise like other buttons when clicked. 2010-08-12 16:44:51 +00:00
frosch 9e538acc03 (svn r20461) -Codechange: Replace WWT_HSCROLLBAR, WWT_SCROLLBAR and WWT_SCROLL2BAR with NWID_HSCROLLBAR and NWID_VSCROLLBAR. 2010-08-12 09:16:43 +00:00
frosch 71ca58c2bb (svn r20453) -Codechange: Remove direct accesses to Window::hscroll, vscroll and vscroll2.
Note: All windows get individual members with the same names, which are initialised via Window::GetScrollbar(). This caching is not required at all, but simplifies conversion.
2010-08-12 08:37:01 +00:00
frosch 10339c60c0 (svn r20452) -Codechange: Remove NWidgetCore::FindScrollbar() and associate scrollbar explicitly using a NWidgetPart via SetScrollbar(). 2010-08-12 06:44:45 +00:00
rubidium ef50a89ca5 (svn r20407) -Codechange: make AirportClass use the new generic class 2010-08-07 22:08:20 +00:00
frosch 1cd34128d6 (svn r20382) -Codechange: Hide default airport layoutname if there is only one layout. 2010-08-05 17:24:45 +00:00
frosch 66dd872bdc (svn r20379) -Codechange: Draw airport preview using company colours. 2010-08-05 17:16:31 +00:00
yexo 00902294b3 (svn r20373) -Feature: [NewGRF] callback 0x156 to use another name for airport layouts than the default "Layout x" 2010-08-05 12:05:56 +00:00
yexo d6fa76b044 (svn r20372) -Feature; [NewGRF] callback 0x155 to display extra information about an airport in the build gui 2010-08-05 12:05:15 +00:00
yexo 3e6f8165d4 (svn r20369) -Feature: preview sprites for airports 2010-08-05 12:03:34 +00:00
yexo d2f9b87ccd (svn r20366) -Codechange: store the rotation of the airport layout in the station struct and use it to rotate hangar tiles 2010-08-05 12:00:09 +00:00
yexo 330c2f979e (svn r20365) -Codechange: allow multiple layouts for one airport statemachine, store the layout number 2010-08-05 11:59:07 +00:00
yexo 63951fada6 (svn r20362) -Codechange: use correct parameter type for SetFill in airport gui 2010-08-04 10:33:18 +00:00
rubidium e356cb9405 (svn r20281) -Codechange: unify case scope closure + break coding style 2010-08-01 18:53:30 +00:00
frosch 397d1186d7 (svn r20071) -Codechange: Consistently return the toolbar window for ShowBuildXxxToolbar(). 2010-07-04 09:27:15 +00:00
yexo 26be68ae98 (svn r20070) -Feature: when none of the open windows handles a keypress, try all toolbars for global hotkeys
Users that have run a version between r20056 and r20068 should delete their hotkeys.cfg to reset the terraform toolbar hotkeys to default
2010-07-03 21:43:44 +00:00
yexo 2e0acdbb07 (svn r20062) -Feature: customizable hotkeys for the airport toolbar 2010-07-03 18:10:18 +00:00
rubidium 062dd0e24c (svn r19814) -Codechange: give some more unnamed enums a name, in case they consisted of unrelated values use static const (u)int 2010-05-13 10:14:29 +00:00
alberth c7a5695d9d (svn r19333) -Fix (r19328): int versus uint comparison warning fixed. 2010-03-06 11:08:39 +00:00
yexo b8d7680e66 (svn r19328) -Feature: a more extendable gui for building airports 2010-03-05 23:21:56 +00:00
yexo dd7c2b2f9d (svn r19205) -Codechange: move AirportSpec to newgrf_airport.h/cpp 2010-02-22 16:09:26 +00:00
frosch 88019e64e1 (svn r18966) -Codechange: Remove Window::OnDoubleClick() in favour of a parameter for OnClick(). 2010-01-30 18:34:48 +00:00
rubidium 82fc28f77f (svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header 2010-01-15 16:41:15 +00:00
yexo d669801f1d (svn r18807) -Codechange: introduce AirportSpec and move several non-statemachine-related variables to there 2010-01-15 12:08:08 +00:00
rubidium 2b97f38cd1 (svn r18781) -Codechange: pass the CommandCost to the callback instead of whether it succeeded or not.
-Fix: AIs did update their last cost incorrectly in network games if the cost of the DC_EXEC phase differed from the ~DC_EXEC phase.
2010-01-11 18:46:09 +00:00
rubidium 1f0da3710f (svn r18324) -Codechange: there's no need for a default size when the window isn't resizable 2009-11-28 15:01:49 +00:00
rubidium 293dfd7c3e (svn r18322) -Codechange: remove the WDP duplication; no need to tell the same twice. 2009-11-28 14:42:35 +00:00
rubidium b58b058e2b (svn r18321) -Fix [FS#3331]: make the toolbars also calculate their top location based on the main toolbar's height instead of hardcoding that 2009-11-28 14:36:43 +00:00
rubidium 8d6e323ef8 (svn r18280) -Codechange: remove widget indices that are not needed for custom drawing/handling input 2009-11-24 21:13:36 +00:00
rubidium 14300d309c (svn r18277) -Codechange: remove unneeded widget indices for close, resize and sticky boxes and for window captions 2009-11-24 18:05:55 +00:00
rubidium 69b6d9309a (svn r18274) -Codechange: remove the unused WDF flags 2009-11-24 17:28:29 +00:00
alberth 2b6f792513 (svn r18229) -Codechange: Make fill_x, fill_y a number instead of a bool. 2009-11-22 18:26:01 +00:00
rubidium d913282e7a (svn r18212) -Codechange: remove unneeded 'parameters' for WWT_CAPTION, WWT_CLOSEBOX and WWT_STICKYBOX in the nested widget arrays 2009-11-22 11:20:12 +00:00
rubidium 5f2ddfbc5a (svn r18152) -Codechange: remove the 'minimum window size' from the WindowDesc; it's determined from the (nested) widgets 2009-11-17 19:16:48 +00:00
rubidium 3d2d7af88f (svn r18086) -Codechange: remove 'widget' from WindowDesc 2009-11-15 10:26:01 +00:00
rubidium d6cded5380 (svn r17693) -Cleanup: remove some unneeded includes 2009-10-04 17:16:41 +00:00
alberth 116c77c342 (svn r17572) -Codechange: Use the Window::GetWidget() function to access nested widgets through the nested_array. 2009-09-19 11:31:12 +00:00
rubidium aca7ba714a (svn r17271) -Fix: SetFill sometimes used 1/0 when it should be using true/false 2009-08-23 19:03:09 +00:00
rubidium 7fbc33dae1 (svn r17248) -Fix: add GPL license notice where appropriate 2009-08-21 20:21:05 +00:00
smatz bd6acb36ae (svn r17164) -Fix: crash when clicking on the spacer in the build airport GUI 2009-08-13 12:49:51 +00:00
rubidium 1fe3ad3288 (svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives 2009-08-05 17:59:21 +00:00
rubidium 4b2592dbc0 (svn r17062) -Change: unify the naming of some 125 strings 2009-08-04 18:04:33 +00:00
alberth 926c8b6fef (svn r17048) -Codechange: Airport toolbar and airport builder window use nested widgets. 2009-08-02 21:04:15 +00:00
rubidium 47a37b6093 (svn r16965) -Codechange: use tile area instead of sets of variables for the station joiner code. 2009-07-26 21:07:03 +00:00
alberth 8083d67780 (svn r16906) -Fix (r12939): Child windows of build toolbars were placed inconsistently. 2009-07-21 22:25:21 +00:00