10 #ifndef TEXTFILE_GUI_H
11 #define TEXTFILE_GUI_H
27 void OnClick([[maybe_unused]]
Point pt,
WidgetID widget, [[maybe_unused]]
int click_count)
override;
28 void DrawWidget(
const Rect &r,
WidgetID widget)
const override;
30 void OnInvalidateData(
int data = 0,
bool gui_scope =
true)
override;
31 void OnDropdownSelect(
WidgetID widget,
int index)
override;
33 void Reset()
override;
35 std::optional<std::string_view>
NextString()
override;
38 void ScrollToLine(
size_t line);
44 void ConstructWindow();
104 uint GetContentHeight();
A searcher for missing glyphs.
Types for Standard In/Out file operations.
Subdirectory
The different kinds of subdirectories OpenTTD uses.
fluid_settings_t * settings
FluidSynth settings handle.
FontSize
Available font sizes.
TextColour
Colour of the strings, see _string_colourmap in table/string_colours.h or docs/ottd-colourtext-palett...
Functions related to OTTD's strings.
Dimensions (a width and height) of a rectangle in 2D.
Settings for the four different fonts.
Coordinates of a point in 2D.
Specification of a rectangle with absolute coordinates of all edges.
int scrollpos
Scrolling position the file was at at navigation time.
std::string filepath
File the history entry is in.
size_t end
Character position on line the link end.
size_t line
Which line the link is on.
size_t begin
Character position on line the link begins.
std::string destination
Destination for the link.
int bottom
Bottom scroll position in visual lines.
TextColour colour
Colour to render text line in.
int top
Top scroll position in visual lines.
std::string text
Contents of the line.
Window for displaying a textfile.
Scrollbar * hscroll
Horizontal scrollbar.
uint ReflowContent()
Get the total height of the content displayed in this window, if wrapping is disabled.
void Reset() override
Reset the search, i.e.
uint search_iterator
Iterator for the font check search.
void AppendHistory(const std::string &filepath)
Append the new location to the history, so the user can go back.
void CheckHyperlinkClick(Point pt)
Check if the user clicked on a hyperlink, and handle it if so.
bool Monospace() override
Whether to search for a monospace font or not.
void NavigateToFile(std::string newfile, size_t line)
Navigate to the requested file.
std::optional< std::string_view > NextString() override
Get the next string to search through.
bool trusted
Whether the content is trusted (read: not from content like NewGRFs, etc).
std::vector< Line > lines
#text, split into lines in a table with lines.
void LoadText(std::string_view buf)
Load a text into the textfile viewer.
void UpdateHistoryScrollpos()
Update the scroll position to the current, so we can restore there if we go back.
virtual void AfterLoadText()
Post-processing after the text is loaded.
std::string filepath
Full path to the filename.
TextfileType file_type
Type of textfile to view.
void AfterLoadMarkdown()
Post-processing of markdown files.
void SetupScrollbars(bool force_reflow)
Set scrollbars to the right lengths.
FontSize DefaultSize() override
Get the default (font) size of the string.
size_t history_pos
Position in browsing history (for forward movement).
std::vector< Hyperlink > link_anchors
Anchor names of headings that can be linked to.
void SetFontNames(FontCacheSettings *settings, const char *font_name, const void *os_data) override
Set the right font names.
void NavigateHistory(int delta)
Navigate through the history, either forward or backward.
virtual void OnHyperlinkClick(const Hyperlink &link)
Handle the clicking on a hyperlink.
std::vector< HistoryEntry > history
Browsing history in this window.
std::vector< Hyperlink > links
Clickable links in lines.
uint max_length
Maximum length of unwrapped text line.
std::string filename
Filename of the textfile.
Scrollbar * vscroll
Vertical scrollbar.
virtual void LoadTextfile(const std::string &textfile, Subdirectory dir)
Loads the textfile text from file and setup lines.
void OnResize() override
Called after the window got resized.
std::vector< size_t > jumplist
Table of contents list, line numbers.
void FindHyperlinksInMarkdown(Line &line, size_t line_index)
Find any hyperlinks in a given line.
Data structure for an opened window.
ResizeInfo resize
Resize information.
std::optional< std::string > GetTextfile(TextfileType type, Subdirectory dir, const std::string &filename)
Search a textfile file next to the given content.
Types related to textfiles.
TextfileType
Additional text files accompanying Tar archives.
Functions, definitions and such used only by the GUI.