reactos/base/setup/usetup
Bișoc George 2bf4180c80 [USETUP] Implement resource ID text based strings for MUI (#2193)
CORE-12683

Supersedes PR #612.

* [USETUP] Implement the internal MUI routines for text manipulation based on its ID and implement text resource based IDs

USETUP (the 1st stage text mode setup module) bases upon MUI (Multilingual User Interface) sub-component of USETUP which is responsible for the ability into translating the MUI pages (each page having corresponding properties like X, Y coordinates, text flags and text string buffer) in various languages.
The only problem, as of now, is that whenever you want to modify a certain property of a page, such as removing a text from the said page in the screen, you've got to rely on using CONSOLE_* specific functions and calling with hardcoded parameters, namely the coordinates.

This can become a problem as not every localized (translated) MUI page has the same properties for each language and this could lead to various issues. Therefore, assigning each entry with an ID you can remove a text by only giving its ID (and the entry page number) without having the need to specify the coordinates
as the internal MUI routine, MUIGetEntry(), automatically retrieves the entry with respective data fields.

The following commit implements:

- MUIGetEntry()
- MUIClearText()
- MUIClearStyledText()
- MUISetText()
- MUISetStyledText()
- Now the X and Y coordinate members of MUI_ENTRY are of SHORT integer type, for the sake of the general code as most of the coordination values, even the COORD structure itself, has the coordination points as SHORTs and not BYTEs.

The following MUI functions will be used to manipulate text based resources depending on their ID from the corresponding MUI entry.

* [USETUP] Make CONSOLE_ClearTextXY function public so that we can use across other files.

* [USETUP] Implement the IDs for each text MUI entry in locale files.

This mechanism follows the same principle of resource IDs in Win32 applications. Static text is merely a resource that doesn't get changed programmatically for whole of its lifetime whereas dynamic resources can change during the lifetime of the program depending on the algorithm (for example, hide that piece of text and set another one, etc.).

* [USETUP] Remove the "Press ENTER to continue" message prompt when the partition formatting begins.
2020-01-19 17:58:13 +01:00
..
lang [USETUP] Implement resource ID text based strings for MUI (#2193) 2020-01-19 17:58:13 +01:00
spapisup [USETUP] Check for invalid INF handles before doing operations. 2018-12-23 20:37:13 +01:00
chkdsk.c [SETUPLIB][USETUP] Factor out the usage of FS provider structures. 2019-03-10 15:41:05 +01:00
chkdsk.h [SETUPLIB][USETUP] Factor out the usage of FS provider structures. 2019-03-10 15:41:05 +01:00
CMakeLists.txt [SETUPLIB][REACTOS][USETUP] Further improve the interfacing with INF and File-Queue APIs. 2018-11-01 18:55:43 +01:00
cmdcons.c [SETUP] Remove myself from the 1st stage setup code 2018-05-27 21:33:07 +02:00
cmdcons.h [SETUP] Remove myself from the 1st stage setup code 2018-05-27 21:33:07 +02:00
console.c [BLUE] Improve initialization and interfacing with INBV. 2019-12-15 03:37:52 +01:00
console.h [SETUP] Remove myself from the 1st stage setup code 2018-05-27 21:33:07 +02:00
consup.c [USETUP] Implement resource ID text based strings for MUI (#2193) 2020-01-19 17:58:13 +01:00
consup.h [USETUP] Implement resource ID text based strings for MUI (#2193) 2020-01-19 17:58:13 +01:00
devinst.c [NTOSKRNL][USETUP][UMPNPMGR] Pass user response data to NtPlugPlayControl(PlugPlayControlUserResponse). 2019-06-12 13:48:27 +02:00
devinst.h [USETUP] Modify the integrated user-mode PnP manager along the lines of UMPNPMGR, so that we can wait until all the queued device installations finish before continuing the installation further. 2018-12-23 20:37:14 +01:00
format.c [SETUPLIB][USETUP] Factor out the usage of FS provider structures. 2019-03-10 15:41:05 +01:00
format.h [SETUPLIB][USETUP] Factor out the usage of FS provider structures. 2019-03-10 15:41:05 +01:00
fslist.c [SETUPLIB][USETUP] Factor out the usage of FS provider structures. 2019-03-10 15:41:05 +01:00
fslist.h [SETUPLIB][USETUP] Factor out the usage of FS provider structures. 2019-03-10 15:41:05 +01:00
genlist.c [SETUPLIB][USETUP] Remove the deprecated GenericListHasSingleEntry() function and use instead GetNumberOfListEntries(). 2018-10-28 15:04:33 +01:00
genlist.h [SETUPLIB][USETUP] Don't store UI-related display strings in GENERIC_LIST_ENTRY-ies, + other code adaptations. 2018-10-28 01:32:15 +02:00
keytrans.c [USETUP] Remove the WIN32 support because usetup is a native-only application 2018-05-15 23:35:17 +02:00
keytrans.h [USETUP] Remove the WIN32 support because usetup is a native-only application 2018-05-15 23:35:17 +02:00
mui.c [USETUP] Implement resource ID text based strings for MUI (#2193) 2020-01-19 17:58:13 +01:00
mui.h [USETUP] Implement resource ID text based strings for MUI (#2193) 2020-01-19 17:58:13 +01:00
muilanguages.h [USETUP] Hungarian translation (#2002) 2019-10-28 15:26:30 +01:00
partlist.c [USETUP] Use for-loops; simplify the code. 2019-03-11 00:05:37 +01:00
partlist.h [SETUPLIB][USETUP] Remove CurrentDisk/Partition from the partlist lib code, and move these into the UI code. 2019-03-11 00:05:37 +01:00
progress.c [USETUP] Progress-bar: minor improvements. 2018-08-27 23:55:58 +02:00
progress.h [USETUP] Progress-bar: minor improvements. 2018-08-27 23:55:58 +02:00
usetup.c [USETUP] Implement resource ID text based strings for MUI (#2193) 2020-01-19 17:58:13 +01:00
usetup.h [SETUPLIB][USETUP] Slightly modify how and when the HW system partition is detected and used. 2019-08-25 02:38:53 +02:00
usetup.rc [SETUPLIB][USETUP] Diverse additions. 2018-06-03 22:12:45 +02:00