[RAPPS] Making checkboxes useful WIP
[reactos.git] / reactos / base / setup / usetup / genlist.h
1 /*
2 * ReactOS kernel
3 * Copyright (C) 2004 ReactOS Team
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19 /*
20 * COPYRIGHT: See COPYING in the top level directory
21 * PROJECT: ReactOS text-mode setup
22 * FILE: base/setup/usetup/genlist.h
23 * PURPOSE: Generic list functions
24 * PROGRAMMER: Eric Kohl
25 */
26
27 #pragma once
28
29 struct _GENERIC_LIST_ENTRY;
30 typedef struct _GENERIC_LIST_ENTRY *PGENERIC_LIST_ENTRY;
31 struct _GENERIC_LIST;
32 typedef struct _GENERIC_LIST *PGENERIC_LIST;
33
34 PGENERIC_LIST
35 CreateGenericList(VOID);
36
37 VOID
38 DestroyGenericList(
39 PGENERIC_LIST List,
40 BOOLEAN FreeUserData);
41
42 BOOLEAN
43 AppendGenericListEntry(
44 PGENERIC_LIST List,
45 PCHAR Text,
46 PVOID UserData,
47 BOOLEAN Current);
48
49 VOID
50 DrawGenericList(
51 PGENERIC_LIST List,
52 SHORT Left,
53 SHORT Top,
54 SHORT Right,
55 SHORT Bottom);
56
57 VOID
58 ScrollDownGenericList(
59 PGENERIC_LIST List);
60
61 VOID
62 ScrollUpGenericList(
63 PGENERIC_LIST List);
64
65 VOID
66 ScrollPageDownGenericList(
67 PGENERIC_LIST List);
68
69 VOID
70 ScrollPageUpGenericList(
71 PGENERIC_LIST List);
72
73 VOID
74 ScrollToPositionGenericList(
75 PGENERIC_LIST List,
76 ULONG uIndex);
77
78 VOID
79 RedrawGenericList(
80 PGENERIC_LIST List);
81
82 VOID
83 SetCurrentListEntry(
84 PGENERIC_LIST List,
85 PGENERIC_LIST_ENTRY Entry);
86
87 PGENERIC_LIST_ENTRY
88 GetCurrentListEntry(
89 PGENERIC_LIST List);
90
91 PGENERIC_LIST_ENTRY
92 GetFirstListEntry(
93 PGENERIC_LIST List);
94
95 PGENERIC_LIST_ENTRY
96 GetNextListEntry(
97 PGENERIC_LIST_ENTRY Entry);
98
99 PVOID
100 GetListEntryUserData(
101 PGENERIC_LIST_ENTRY List);
102
103 LPCSTR
104 GetListEntryText(
105 PGENERIC_LIST_ENTRY List);
106
107 VOID
108 SaveGenericListState(
109 PGENERIC_LIST List);
110
111 VOID
112 RestoreGenericListState(
113 PGENERIC_LIST List);
114
115 VOID
116 GenericListKeyPress(
117 PGENERIC_LIST List,
118 CHAR AsciChar);
119
120 BOOL
121 GenericListHasSingleEntry(
122 PGENERIC_LIST List);
123
124 /* EOF */