|
| | BuildRoadWaypointWindow (WindowDesc &desc, Window *parent) |
| |
| | PickerWindow (WindowDesc &desc, Window *parent, int window_number, PickerCallbacks &callbacks) |
| |
| void | OnInit () override |
| | Notification that the nested widget tree gets initialized.
|
| |
| void | Close (int data=0) override |
| | Hide the window and all its child windows, and mark them for a later deletion.
|
| |
| void | UpdateWidgetSize (WidgetID widget, Dimension &size, const Dimension &padding, Dimension &fill, Dimension &resize) override |
| | Update size and resize step of a widget in the window.
|
| |
| std::string | GetWidgetString (WidgetID widget, StringID stringid) const override |
| | Get the raw string for a widget.
|
| |
| void | DrawWidget (const Rect &r, WidgetID widget) const override |
| | Draw the contents of a nested widget.
|
| |
| void | OnDropdownSelect (WidgetID widget, int index, int click_result) override |
| | A dropdown option associated to this window has been selected.
|
| |
| void | OnResize () override |
| | Called after the window got resized.
|
| |
| void | OnClick (Point pt, WidgetID widget, int click_count) override |
| | A click with the left mouse button has been made on the window.
|
| |
| void | OnInvalidateData (int data=0, bool gui_scope=true) override |
| | Some data on this window has become invalid.
|
| |
| EventState | OnHotkey (int hotkey) override |
| | A hotkey has been pressed.
|
| |
| void | OnEditboxChanged (WidgetID wid) override |
| | The text in an editbox has been edited.
|
| |
| void | InvalidateData (PickerInvalidations data) |
| |
| | PickerWindowBase (WindowDesc &desc, Window *parent) |
| |
| void | Close (int data=0) override |
| | Hide the window and all its child windows, and mark them for a later deletion.
|
| |
| | Window (WindowDesc &desc) |
| | Empty constructor, initialization has been moved to InitNested() called from the constructor of the derived class.
|
| |
| void * | operator new[] (size_t size)=delete |
| | Helper allocation function to disallow something.
|
| |
| template<class NWID > |
| const NWID * | GetWidget (WidgetID widnum) const |
| | Get the nested widget with number widnum from the nested widget tree.
|
| |
| template<class NWID > |
| NWID * | GetWidget (WidgetID widnum) |
| | Get the nested widget with number widnum from the nested widget tree.
|
| |
| const Scrollbar * | GetScrollbar (WidgetID widnum) const |
| | Return the Scrollbar to a widget index.
|
| |
| Scrollbar * | GetScrollbar (WidgetID widnum) |
| | Return the Scrollbar to a widget index.
|
| |
| const QueryString * | GetQueryString (WidgetID widnum) const |
| | Return the querystring associated to a editbox.
|
| |
| QueryString * | GetQueryString (WidgetID widnum) |
| | Return the querystring associated to a editbox.
|
| |
| void | UpdateQueryStringSize () |
| | Update size of all QueryStrings of this window.
|
| |
| virtual const struct Textbuf * | GetFocusedTextbuf () const |
| | Get the current input text buffer.
|
| |
| virtual Point | GetCaretPosition () const |
| | Get the current caret position if an edit box has the focus.
|
| |
| virtual Rect | GetTextBoundingRect (size_t from, size_t to) const |
| | Get the bounding rectangle for a text range if an edit box has the focus.
|
| |
| virtual ptrdiff_t | GetTextCharacterAtPosition (const Point &pt) const |
| | Get the character that is rendered at a position by the focused edit box.
|
| |
| void | InitNested (WindowNumber number=0) |
| | Perform complete initialization of the Window with nested widgets, to allow use.
|
| |
| void | CreateNestedTree () |
| | Perform the first part of the initialization of a nested widget tree.
|
| |
| void | FinishInitNested (WindowNumber window_number=0) |
| | Perform the second part of the initialization of a nested widget tree.
|
| |
| void | SetTimeout () |
| | Set the timeout flag of the window and initiate the timer.
|
| |
| void | SetWhiteBorder () |
| | Set the timeout flag of the window and initiate the timer.
|
| |
| void | DisableAllWidgetHighlight () |
| | Disable the highlighted status of all widgets.
|
| |
| void | SetWidgetHighlight (WidgetID widget_index, TextColour highlighted_colour) |
| | Sets the highlighted status of a widget.
|
| |
| bool | IsWidgetHighlighted (WidgetID widget_index) const |
| | Gets the highlighted status of a widget.
|
| |
| void | SetWidgetDisabledState (WidgetID widget_index, bool disab_stat) |
| | Sets the enabled/disabled status of a widget.
|
| |
| void | DisableWidget (WidgetID widget_index) |
| | Sets a widget to disabled.
|
| |
| void | EnableWidget (WidgetID widget_index) |
| | Sets a widget to Enabled.
|
| |
| bool | IsWidgetDisabled (WidgetID widget_index) const |
| | Gets the enabled/disabled status of a widget.
|
| |
| bool | IsWidgetFocused (WidgetID widget_index) const |
| | Check if given widget is focused within this window.
|
| |
| bool | IsWidgetGloballyFocused (WidgetID widget_index) const |
| | Check if given widget has user input focus.
|
| |
| void | SetWidgetLoweredState (WidgetID widget_index, bool lowered_stat) |
| | Sets the lowered/raised status of a widget.
|
| |
| void | ToggleWidgetLoweredState (WidgetID widget_index) |
| | Invert the lowered/raised status of a widget.
|
| |
| void | LowerWidget (WidgetID widget_index) |
| | Marks a widget as lowered.
|
| |
| void | RaiseWidget (WidgetID widget_index) |
| | Marks a widget as raised.
|
| |
| void | RaiseWidgetWhenLowered (WidgetID widget_index) |
| | Marks a widget as raised and dirty (redraw), when it is marked as lowered.
|
| |
| bool | IsWidgetLowered (WidgetID widget_index) const |
| | Gets the lowered state of a widget.
|
| |
| void | UnfocusFocusedWidget () |
| | Makes no widget on this window have focus.
|
| |
| bool | SetFocusedWidget (WidgetID widget_index) |
| | Set focus within this window to the given widget.
|
| |
| EventState | HandleEditBoxKey (WidgetID wid, char32_t key, uint16_t keycode) |
| | Process keypress for editbox widget.
|
| |
| virtual void | InsertTextString (WidgetID wid, std::string_view str, bool marked, std::optional< size_t > caret, std::optional< size_t > insert_location, std::optional< size_t > replacement_end) |
| | Insert a text string at the cursor position into the edit box widget.
|
| |
| void | HandleButtonClick (WidgetID widget) |
| | Do all things to make a button look clicked and mark it to be unclicked in a few ticks.
|
| |
| int | GetRowFromWidget (int clickpos, WidgetID widget, int padding, int line_height=-1) const |
| | Compute the row of a widget that a user clicked in.
|
| |
| void | RaiseButtons (bool autoraise=false) |
| | Raise the buttons of the window.
|
| |
| template<typename... Args> |
| void | SetWidgetsDisabledState (bool disab_stat, Args... widgets) |
| | Sets the enabled/disabled status of a list of widgets.
|
| |
| template<typename... Args> |
| void | SetWidgetsLoweredState (bool lowered_stat, Args... widgets) |
| | Sets the lowered/raised status of a list of widgets.
|
| |
| template<typename... Args> |
| void | RaiseWidgetsWhenLowered (Args... widgets) |
| | Raises the widgets and sets widgets dirty that are lowered.
|
| |
| void | SetWidgetDirty (WidgetID widget_index) const |
| | Invalidate a widget, i.e.
|
| |
| void | DrawWidgets () const |
| | Paint all widgets of a window.
|
| |
| void | DrawViewport () const |
| | Draw the viewport of this window.
|
| |
| void | DrawSortButtonState (WidgetID widget, SortButtonState state) const |
| | Draw a sort button's up or down arrow symbol.
|
| |
| Window * | FindChildWindow (WindowClass wc=WC_INVALID) const |
| | Find the Window whose parent pointer points to this window.
|
| |
| Window * | FindChildWindowById (WindowClass wc, WindowNumber number) const |
| | Find the Window whose parent pointer points to this window.
|
| |
| void | CloseChildWindows (WindowClass wc=WC_INVALID) const |
| | Close all children a window might have in a head-recursive manner.
|
| |
| void | CloseChildWindowById (WindowClass wc, WindowNumber number) const |
| | Close all children a window might have in a head-recursive manner.
|
| |
| void | SetDirty () const |
| | Mark entire window as dirty (in need of re-paint)
|
| |
| void | ReInit (int rx=0, int ry=0, bool reposition=false) |
| | Re-initialize a window, and optionally change its size.
|
| |
| bool | IsShaded () const |
| | Is window shaded currently?
|
| |
| void | SetShaded (bool make_shaded) |
| | Set the shaded state of the window to make_shaded.
|
| |
| void | ScheduleResize () |
| | Mark this window as resized and in need of OnResize() event.
|
| |
| void | ProcessScheduledResize () |
| | Process scheduled OnResize() event.
|
| |
| void | InvalidateData (int data=0, bool gui_scope=true) |
| | Mark this window's data as invalid (in need of re-computing)
|
| |
| void | ProcessScheduledInvalidations () |
| | Process all scheduled invalidations.
|
| |
| void | ProcessHighlightedInvalidations () |
| | Process all invalidation of highlighted widgets.
|
| |
| virtual void | ApplyDefaults () |
| | Read default values from WindowDesc configuration an apply them to the window.
|
| |
| virtual Point | OnInitialPosition (int16_t sm_width, int16_t sm_height, int window_number) |
| | Compute the initial position of the window.
|
| |
| virtual void | OnPaint () |
| | The window must be repainted.
|
| |
| virtual void | OnFocus () |
| | The window has gained focus.
|
| |
| virtual void | OnFocusLost (bool closing) |
| | The window has lost focus.
|
| |
| virtual EventState | OnKeyPress (char32_t key, uint16_t keycode) |
| | A key has been pressed.
|
| |
| virtual EventState | OnCTRLStateChange () |
| | The state of the control key has changed.
|
| |
| virtual bool | OnRightClick (Point pt, WidgetID widget) |
| | A click with the right mouse button has been made on the window.
|
| |
| virtual void | OnHover (Point pt, WidgetID widget) |
| | The mouse is hovering over a widget in the window, perform an action for it.
|
| |
| virtual bool | OnTooltip (Point pt, WidgetID widget, TooltipCloseCondition close_cond) |
| | Event to display a custom tooltip.
|
| |
| virtual void | OnMouseDrag (Point pt, WidgetID widget) |
| | An 'object' is being dragged at the provided position, highlight the target if possible.
|
| |
| virtual void | OnDragDrop (Point pt, WidgetID widget) |
| | A dragged 'object' has been released.
|
| |
| virtual void | OnScroll (Point delta) |
| | Handle the request for (viewport) scrolling.
|
| |
| virtual void | OnScrollbarScroll (WidgetID widget) |
| | Notify window that a scrollbar position has been updated.
|
| |
| virtual void | OnMouseOver (Point pt, WidgetID widget) |
| | The mouse is currently moving over the window or has just moved outside of the window.
|
| |
| virtual void | OnMouseWheel (int wheel, WidgetID widget) |
| | The mouse wheel has been turned.
|
| |
| virtual void | OnMouseLoop () |
| | Called for every mouse loop run, which is at least once per (game) tick.
|
| |
| virtual void | OnGameTick () |
| | Called once per (game) tick.
|
| |
| virtual void | OnRealtimeTick (uint delta_ms) |
| | Called periodically.
|
| |
| virtual void | OnTimeout () |
| | Called when this window's timeout has been reached.
|
| |
| virtual void | OnDropdownClose (Point pt, WidgetID widget, int index, int click_result, bool instant_close) |
| | A dropdown window associated to this window has been closed.
|
| |
| virtual void | OnQueryTextFinished (std::optional< std::string > str) |
| | The query window opened from this window has closed.
|
| |
| virtual void | OnPlaceObject (Point pt, TileIndex tile) |
| | The user clicked some place on the map when a tile highlight mode has been set.
|
| |
| virtual bool | OnVehicleSelect (const struct Vehicle *v) |
| | The user clicked on a vehicle while HT_VEHICLE has been set.
|
| |
| virtual bool | OnVehicleSelect (VehicleList::const_iterator begin, VehicleList::const_iterator end) |
| | The user clicked on a vehicle while HT_VEHICLE has been set.
|
| |
| virtual void | OnPlaceObjectAbort () |
| | The user cancelled a tile highlight mode that has been set.
|
| |
| virtual void | OnPlaceDrag (ViewportPlaceMethod select_method, ViewportDragDropSelectionProcess select_proc, Point pt) |
| | The user is dragging over the map when the tile highlight mode has been set.
|
| |
| virtual void | OnPlaceMouseUp (ViewportPlaceMethod select_method, ViewportDragDropSelectionProcess select_proc, Point pt, TileIndex start_tile, TileIndex end_tile) |
| | The user has dragged over the map when the tile highlight mode has been set.
|
| |
| virtual void | OnPlacePresize (Point pt, TileIndex tile) |
| | The user moves over the map when a tile highlight mode has been set when the special mouse mode has been set to 'PRESIZE' mode.
|
| |
| virtual bool | IsNewGRFInspectable () const |
| | Is the data related to this window NewGRF inspectable?
|
| |
| virtual void | ShowNewGRFInspectWindow () const |
| | Show the NewGRF inspection window.
|
| |
| template<> |
| const NWidgetBase * | GetWidget (WidgetID widnum) const |
| | Specialized case of Window::GetWidget for the nested widget base class.
|
| |
|
| enum | PickerFilterModes : uint8_t { PFM_ALL = 0
, PFM_USED = 1
, PFM_SAVED = 2
} |
| |
| enum class | PickerInvalidation : uint8_t {
Class
, Type
, Position
, Validate
,
Filter
} |
| |
| enum | PickerClassWindowHotkeys : int32_t { PCWHK_FOCUS_FILTER_BOX
} |
| | Enum referring to the Hotkeys in the picker window. More...
|
| |
| using | PickerInvalidations = EnumBitSet< PickerInvalidation, uint8_t > |
| |
| using | IteratorToFront = WindowIterator< false > |
| | Iterate in Z order towards front.
|
| |
| using | IteratorToBack = WindowIterator< true > |
| | Iterate in Z order towards back.
|
| |
| using | Iterate = AllWindows< false > |
| | Iterate all windows in whatever order is easiest.
|
| |
| using | IterateFromBack = AllWindows< false > |
| | Iterate all windows in Z order from back to front.
|
| |
| using | IterateFromFront = AllWindows< true > |
| | Iterate all windows in Z order from front to back.
|
| |
| static int | SortButtonWidth () |
| | Get width of up/down arrow of sort button state.
|
| |
| static void | DeleteClosedWindows () |
| | Delete all closed windows.
|
| |
| bool | has_class_picker = false |
| | Set if this window has a class picker 'component'.
|
| |
| bool | has_type_picker = false |
| | Set if this window has a type picker 'component'.
|
| |
| int | preview_height = 0 |
| | Height of preview images.
|
| |
| WindowDesc & | window_desc |
| | Window description.
|
| |
| WindowFlags | flags {} |
| | Window flags.
|
| |
| WindowClass | window_class {} |
| | Window class.
|
| |
| WindowNumber | window_number = 0 |
| | Window number within the window class.
|
| |
| int | scale = 0 |
| | Scale of this window – used to determine how to resize.
|
| |
| uint8_t | timeout_timer = 0 |
| | Timer value of the WindowFlag::Timeout for flags.
|
| |
| uint8_t | white_border_timer = 0 |
| | Timer value of the WindowFlag::WhiteBorder for flags.
|
| |
| int | left = 0 |
| | x position of left edge of the window
|
| |
| int | top = 0 |
| | y position of top edge of the window
|
| |
| int | width = 0 |
| | width of the window (number of pixels to the right in x direction)
|
| |
| int | height = 0 |
| | Height of the window (number of pixels down in y direction)
|
| |
| ResizeInfo | resize {} |
| | Resize information.
|
| |
| Owner | owner = INVALID_OWNER |
| | The owner of the content shown in this window. Company colour is acquired from this variable.
|
| |
| std::unique_ptr< ViewportData > | viewport |
| | Pointer to viewport data, if present.
|
| |
| const NWidgetCore * | nested_focus = nullptr |
| | Currently focused nested widget, or nullptr if no nested widget has focus.
|
| |
| std::map< WidgetID, QueryString * > | querystrings {} |
| | QueryString associated to WWT_EDITBOX widgets.
|
| |
| std::unique_ptr< NWidgetBase > | nested_root {} |
| | Root of the nested tree.
|
| |
| WidgetLookup | widget_lookup {} |
| | Indexed access to the nested widget tree. Do not access directly, use Window::GetWidget() instead.
|
| |
| NWidgetStacked * | shade_select = nullptr |
| | Selection widget (NWID_SELECTION) to use for shading the window. If nullptr, window cannot shade.
|
| |
| Dimension | unshaded_size {} |
| | Last known unshaded size (only valid while shaded).
|
| |
| WidgetID | mouse_capture_widget = INVALID_WIDGET |
| | ID of current mouse capture widget (e.g. dragged scrollbar). INVALID_WIDGET if no widget has mouse capture.
|
| |
| Window * | parent = nullptr |
| | Parent window.
|
| |
| WindowList::iterator | z_position {} |
| |
| void | ConstructWindow () |
| |
| void | InitializeData (WindowNumber window_number) |
| | Initializes the data (except the position and initial size) of a new Window.
|
| |
| void | InitializePositionSize (int x, int y, int min_width, int min_height) |
| | Set the position and smallest size of the window.
|
| |
| virtual void | FindWindowPlacementAndResize (int def_width, int def_height, bool allow_resize) |
| | Resize window towards the default size.
|
| |
| virtual | ~Window () |
| | Remove window and all its child windows from the window stack.
|
| |
| PickerCallbacks & | callbacks |
| |
| std::vector< int > | scheduled_invalidation_data {} |
| | Data of scheduled OnInvalidateData() calls.
|
| |
| bool | scheduled_resize = false |
| | Set if window has been resized.
|
| |