1 /* ScummVM - Graphic Adventure Engine
2 *
3 * ScummVM is the legal property of its developers, whose names
4 * are too numerous to list here. Please refer to the COPYRIGHT
5 * file distributed with this source distribution.
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20 *
21 */
22
23 #include "ags/engine/ac/global_listbox.h"
24 #include "ags/shared/ac/common.h"
25 #include "ags/engine/ac/listbox.h"
26 #include "ags/engine/ac/string.h"
27
28 namespace AGS3 {
29
ListBoxClear(int guin,int objn)30 void ListBoxClear(int guin, int objn) {
31 GUIListBox *guisl = is_valid_listbox(guin, objn);
32 ListBox_Clear(guisl);
33 }
ListBoxAdd(int guin,int objn,const char * newitem)34 void ListBoxAdd(int guin, int objn, const char *newitem) {
35 GUIListBox *guisl = is_valid_listbox(guin, objn);
36 ListBox_AddItem(guisl, newitem);
37 }
ListBoxRemove(int guin,int objn,int itemIndex)38 void ListBoxRemove(int guin, int objn, int itemIndex) {
39 GUIListBox *guisl = is_valid_listbox(guin, objn);
40 ListBox_RemoveItem(guisl, itemIndex);
41 }
ListBoxGetSelected(int guin,int objn)42 int ListBoxGetSelected(int guin, int objn) {
43 GUIListBox *guisl = is_valid_listbox(guin, objn);
44 return ListBox_GetSelectedIndex(guisl);
45 }
ListBoxGetNumItems(int guin,int objn)46 int ListBoxGetNumItems(int guin, int objn) {
47 GUIListBox *guisl = is_valid_listbox(guin, objn);
48 return ListBox_GetItemCount(guisl);
49 }
ListBoxGetItemText(int guin,int objn,int item,char * buffer)50 char *ListBoxGetItemText(int guin, int objn, int item, char *buffer) {
51 VALIDATE_STRING(buffer);
52 GUIListBox *guisl = is_valid_listbox(guin, objn);
53 return ListBox_GetItemText(guisl, item, buffer);
54 }
ListBoxSetSelected(int guin,int objn,int newsel)55 void ListBoxSetSelected(int guin, int objn, int newsel) {
56 GUIListBox *guisl = is_valid_listbox(guin, objn);
57 ListBox_SetSelectedIndex(guisl, newsel);
58 }
ListBoxSetTopItem(int guin,int objn,int item)59 void ListBoxSetTopItem(int guin, int objn, int item) {
60 GUIListBox *guisl = is_valid_listbox(guin, objn);
61 ListBox_SetTopItem(guisl, item);
62 }
63
ListBoxSaveGameList(int guin,int objn)64 int ListBoxSaveGameList(int guin, int objn) {
65 GUIListBox *guisl = is_valid_listbox(guin, objn);
66 return ListBox_FillSaveGameList(guisl);
67 }
68
ListBoxDirList(int guin,int objn,const char * filemask)69 void ListBoxDirList(int guin, int objn, const char *filemask) {
70 GUIListBox *guisl = is_valid_listbox(guin, objn);
71 ListBox_FillDirList(guisl, filemask);
72 }
73
74 } // namespace AGS3
75