From 199fb91939fb8d395af504d620f3564dbfca4e51 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Mon, 15 May 2017 01:43:28 +0000 Subject: [PATCH] [USETUP] Additions for generic lists. - Allow retrieving the number of items existing in the list; - Fix the name of some function parameters. svn path=/branches/setup_improvements/; revision=74547 --- base/setup/usetup/genlist.c | 20 ++++++++++++++++---- base/setup/usetup/genlist.h | 12 ++++++++---- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/base/setup/usetup/genlist.c b/base/setup/usetup/genlist.c index c6b0b536d1e..5f79a906bf2 100644 --- a/base/setup/usetup/genlist.c +++ b/base/setup/usetup/genlist.c @@ -45,6 +45,7 @@ typedef struct _GENERIC_LIST_ENTRY typedef struct _GENERIC_LIST { LIST_ENTRY ListHead; + ULONG NumOfEntries; PLIST_ENTRY FirstShown; PLIST_ENTRY LastShown; @@ -70,6 +71,7 @@ CreateGenericList(VOID) return NULL; InitializeListHead(&List->ListHead); + List->NumOfEntries = 0; List->Left = 0; List->Top = 0; @@ -78,6 +80,7 @@ CreateGenericList(VOID) List->Redraw = TRUE; List->CurrentEntry = NULL; + List->BackupEntry = NULL; return List; } @@ -131,6 +134,7 @@ AppendGenericListEntry( InsertTailList(&List->ListHead, &Entry->Entry); + List->NumOfEntries++; if (Current || List->CurrentEntry == NULL) { @@ -609,17 +613,25 @@ GetNextListEntry( PVOID GetListEntryUserData( - PGENERIC_LIST_ENTRY List) + PGENERIC_LIST_ENTRY Entry) { - return List->UserData; + return Entry->UserData; } LPCSTR GetListEntryText( - PGENERIC_LIST_ENTRY List) + PGENERIC_LIST_ENTRY Entry) +{ + return Entry->Text; +} + + +ULONG +GetNumberOfListEntries( + PGENERIC_LIST List) { - return List->Text; + return List->NumOfEntries; } diff --git a/base/setup/usetup/genlist.h b/base/setup/usetup/genlist.h index 0361d2b8882..adc5c5c9238 100644 --- a/base/setup/usetup/genlist.h +++ b/base/setup/usetup/genlist.h @@ -98,11 +98,15 @@ GetNextListEntry( PVOID GetListEntryUserData( - PGENERIC_LIST_ENTRY List); + PGENERIC_LIST_ENTRY Entry); LPCSTR GetListEntryText( - PGENERIC_LIST_ENTRY List); + PGENERIC_LIST_ENTRY Entry); + +ULONG +GetNumberOfListEntries( + PGENERIC_LIST List); VOID SaveGenericListState( @@ -114,8 +118,8 @@ RestoreGenericListState( VOID GenericListKeyPress( - PGENERIC_LIST List, - CHAR AsciChar); + PGENERIC_LIST GenericList, + CHAR AsciiChar); BOOL GenericListHasSingleEntry( -- 2.17.1