aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Horn2010-03-18 15:09:24 +0000
committerMax Horn2010-03-18 15:09:24 +0000
commitc934642bdb7e6747a20054d7cc7b079e69bc22c2 (patch)
tree190d12bad5ed1cbabbd498d310f261c3a1c25bc9
parent30c84d2cff41924e6229d0cacd3d36ce1c2bf6ac (diff)
downloadscummvm-rg350-c934642bdb7e6747a20054d7cc7b079e69bc22c2.tar.gz
scummvm-rg350-c934642bdb7e6747a20054d7cc7b079e69bc22c2.tar.bz2
scummvm-rg350-c934642bdb7e6747a20054d7cc7b079e69bc22c2.zip
COMMON: Move typedef StringList from str.h to new header str-array.h
This removes the dependency on array.h from str.h. Also, begun migration from the confusing type name "StringList" to the more appropriate StringArray. svn-id: r48282
-rw-r--r--backends/platform/sdl/graphics.cpp2
-rw-r--r--base/plugins.h1
-rw-r--r--common/config-manager.cpp2
-rw-r--r--common/config-manager.h2
-rw-r--r--common/savefile.h5
-rw-r--r--common/str-array.h49
-rw-r--r--common/str.h8
-rw-r--r--engines/agi/predictive.cpp2
-rw-r--r--engines/agi/sound.cpp1
-rw-r--r--engines/cine/msg.cpp2
-rw-r--r--engines/cine/msg.h4
-rw-r--r--engines/groovie/cursor.h1
-rw-r--r--engines/m4/mads_anim.h4
-rw-r--r--engines/made/sound.h2
-rw-r--r--engines/mohawk/riven_scripts.cpp4
-rw-r--r--engines/mohawk/riven_scripts.h6
-rw-r--r--engines/mohawk/video/qdm2.h1
-rw-r--r--engines/queen/credits.h4
-rw-r--r--engines/queen/logic.h4
-rw-r--r--engines/queen/resource.h3
-rw-r--r--engines/sci/engine/kernel.h7
-rw-r--r--engines/sci/engine/state.h5
-rw-r--r--engines/sky/control.h7
-rw-r--r--engines/sword1/control.h3
-rw-r--r--engines/teenagent/music.h1
-rw-r--r--engines/teenagent/scene.h6
-rw-r--r--graphics/font.cpp6
-rw-r--r--graphics/font.h3
-rw-r--r--gui/KeysDialog.cpp2
-rw-r--r--gui/ListWidget.cpp6
-rw-r--r--gui/ListWidget.h10
-rw-r--r--gui/about.cpp4
-rw-r--r--gui/about.h4
-rw-r--r--gui/browser.cpp2
-rw-r--r--gui/chooser.cpp2
-rw-r--r--gui/chooser.h4
-rw-r--r--gui/debugger.cpp2
-rw-r--r--gui/launcher.cpp8
-rw-r--r--gui/launcher.h4
-rw-r--r--gui/massadd.cpp6
-rw-r--r--gui/massadd.h3
-rw-r--r--gui/message.cpp2
-rw-r--r--gui/saveload.cpp4
-rw-r--r--gui/saveload.h4
-rw-r--r--gui/themebrowser.cpp2
-rw-r--r--test/common/array.h2
46 files changed, 139 insertions, 77 deletions
diff --git a/backends/platform/sdl/graphics.cpp b/backends/platform/sdl/graphics.cpp
index 705b44215e..7cc100375c 100644
--- a/backends/platform/sdl/graphics.cpp
+++ b/backends/platform/sdl/graphics.cpp
@@ -1857,7 +1857,7 @@ void OSystem_SDL::displayMessageOnOSD(const char *msg) {
SDL_FillRect(_osdSurface, 0, kOSDColorKey);
// Split the message into separate lines.
- Common::StringList lines;
+ Common::Array<Common::String> lines;
const char *ptr;
for (ptr = msg; *ptr; ++ptr) {
if (*ptr == '\n') {
diff --git a/base/plugins.h b/base/plugins.h
index faf256c6b5..a4c7f114f9 100644
--- a/base/plugins.h
+++ b/base/plugins.h
@@ -26,6 +26,7 @@
#ifndef BASE_PLUGINS_H
#define BASE_PLUGINS_H
+#include "common/array.h"
#include "common/error.h"
#include "common/singleton.h"
#include "common/util.h"
diff --git a/common/config-manager.cpp b/common/config-manager.cpp
index 9d8281a748..5bb764bbb2 100644
--- a/common/config-manager.cpp
+++ b/common/config-manager.cpp
@@ -217,7 +217,7 @@ void ConfigManager::flushToDisk() {
// First write the domains in _domainSaveOrder, in that order.
// Note: It's possible for _domainSaveOrder to list domains which
// are not present anymore.
- StringList::const_iterator i;
+ Array<String>::const_iterator i;
for (i = _domainSaveOrder.begin(); i != _domainSaveOrder.end(); ++i) {
if (kApplicationDomain == *i) {
writeDomain(*stream, *i, _appDomain);
diff --git a/common/config-manager.h b/common/config-manager.h
index 699774dfcd..68c6c4f5ee 100644
--- a/common/config-manager.h
+++ b/common/config-manager.h
@@ -159,7 +159,7 @@ private:
Domain _keymapperDomain;
#endif
- StringList _domainSaveOrder;
+ Array<String> _domainSaveOrder;
String _activeDomainName;
Domain * _activeDomain;
diff --git a/common/savefile.h b/common/savefile.h
index d8d2dbc9c2..39be661b45 100644
--- a/common/savefile.h
+++ b/common/savefile.h
@@ -29,11 +29,12 @@
#include "common/noncopyable.h"
#include "common/scummsys.h"
#include "common/stream.h"
-#include "common/str.h"
+#include "common/str-array.h"
#include "common/error.h"
namespace Common {
+
/**
* A class which allows game engines to load game state data.
* That typically means "save games", but also includes things like the
@@ -142,7 +143,7 @@ public:
* @return list of strings for all present file names.
* @see Common::matchString()
*/
- virtual StringList listSavefiles(const String &pattern) = 0;
+ virtual StringArray listSavefiles(const String &pattern) = 0;
};
} // End of namespace Common
diff --git a/common/str-array.h b/common/str-array.h
new file mode 100644
index 0000000000..b8630bfadb
--- /dev/null
+++ b/common/str-array.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * $URL$
+ * $Id$
+ *
+ */
+
+#ifndef COMMON_STRING_ARRAY_H
+#define COMMON_STRING_ARRAY_H
+
+#include "common/array.h"
+#include "common/str.h"
+
+namespace Common {
+
+/**
+ * An array of of strings.
+ */
+typedef Array<String> StringArray;
+
+
+/**
+ * Alias for type StringArray. For backwards compatibility only.
+ * @deprecated Use StringArray instead!
+ */
+typedef StringArray StringList;
+
+
+} // End of namespace Common
+
+#endif
diff --git a/common/str.h b/common/str.h
index 829348a870..0cdd3e8c10 100644
--- a/common/str.h
+++ b/common/str.h
@@ -26,7 +26,6 @@
#define COMMON_STRING_H
#include "common/scummsys.h"
-#include "common/array.h"
namespace Common {
@@ -320,13 +319,6 @@ bool matchString(const char *str, const char *pat, bool ignoreCase = false, bool
/**
- * A 'list' of strings. Actually, this is nowadays an array, and hence misnamed.
- */
-typedef Array<String> StringList;
-
-
-
-/**
* Take a 32 bit value and turn it into a four character string, where each of
* the four bytes is turned into one character. Most significant byte is printed
* first.
diff --git a/engines/agi/predictive.cpp b/engines/agi/predictive.cpp
index c4b6649563..153fec641a 100644
--- a/engines/agi/predictive.cpp
+++ b/engines/agi/predictive.cpp
@@ -67,7 +67,7 @@ void bringWordtoTop(char *str, int wordnum) {
// This function reorders the words on the given pred.dic line
// by moving the word at position 'wordnum' to the front (that is, right behind
// right behind the numerical code word at the start of the line).
- Common::StringList words;
+ Common::Array<Common::String> words;
char buf[MAXLINELEN];
if (!str)
diff --git a/engines/agi/sound.cpp b/engines/agi/sound.cpp
index 760dfd3320..24abf88c0e 100644
--- a/engines/agi/sound.cpp
+++ b/engines/agi/sound.cpp
@@ -26,6 +26,7 @@
#include "common/md5.h"
#include "common/config-manager.h"
#include "common/random.h"
+#include "common/str-array.h"
#include "agi/agi.h"
diff --git a/engines/cine/msg.cpp b/engines/cine/msg.cpp
index a7cccf03c7..eb7167c6a3 100644
--- a/engines/cine/msg.cpp
+++ b/engines/cine/msg.cpp
@@ -31,6 +31,8 @@
namespace Cine {
+// FIXME: Global C++ objects affect portability negatively.
+// Turn this into a class member instead.
Common::StringList messageTable;
void loadMsg(char *pMsgName) {
diff --git a/engines/cine/msg.h b/engines/cine/msg.h
index ddf8ade8c2..cf51cdb48f 100644
--- a/engines/cine/msg.h
+++ b/engines/cine/msg.h
@@ -26,13 +26,13 @@
#ifndef CINE_MSG_H
#define CINE_MSG_H
-#include "common/str.h"
+#include "common/str-array.h"
namespace Cine {
#define NUM_MAX_MESSAGE 255
-extern Common::StringList messageTable;
+extern Common::StringArray messageTable;
void loadMsg(char *pMsgName);
diff --git a/engines/groovie/cursor.h b/engines/groovie/cursor.h
index b37384bee5..6df7860e23 100644
--- a/engines/groovie/cursor.h
+++ b/engines/groovie/cursor.h
@@ -27,6 +27,7 @@
#define GROOVIE_CURSOR_H
#include "common/system.h"
+#include "common/array.h"
#include "common/file.h"
namespace Groovie {
diff --git a/engines/m4/mads_anim.h b/engines/m4/mads_anim.h
index e4732f25b2..680c5ff901 100644
--- a/engines/m4/mads_anim.h
+++ b/engines/m4/mads_anim.h
@@ -29,6 +29,8 @@
#include "m4/viewmgr.h"
#include "m4/compression.h"
+#include "common/str-array.h"
+
namespace M4 {
enum SceneTransition {
@@ -97,7 +99,7 @@ public:
uint8 flags;
uint16 roomNumber;
uint16 frameTicks;
- Common::StringList filenames;
+ Common::StringArray filenames;
Common::String lbmFilename;
Common::String spritesFilename;
Common::String soundName;
diff --git a/engines/made/sound.h b/engines/made/sound.h
index eb2157bd42..0766c1040c 100644
--- a/engines/made/sound.h
+++ b/engines/made/sound.h
@@ -26,9 +26,9 @@
#ifndef MADE_SOUND_H
#define MADE_SOUND_H
+#include "common/array.h"
#include "common/util.h"
#include "common/file.h"
-#include "common/list.h"
#include "common/stream.h"
namespace Made {
diff --git a/engines/mohawk/riven_scripts.cpp b/engines/mohawk/riven_scripts.cpp
index 911ee16028..e809ad9642 100644
--- a/engines/mohawk/riven_scripts.cpp
+++ b/engines/mohawk/riven_scripts.cpp
@@ -172,7 +172,7 @@ static void printTabs(byte tabs) {
printf ("\t");
}
-void RivenScript::dumpScript(Common::StringList varNames, Common::StringList xNames, byte tabs) {
+void RivenScript::dumpScript(Common::StringArray varNames, Common::StringArray xNames, byte tabs) {
if (_stream->pos() != 0)
_stream->seek(0);
@@ -180,7 +180,7 @@ void RivenScript::dumpScript(Common::StringList varNames, Common::StringList xNa
dumpCommands(varNames, xNames, tabs + 1);
}
-void RivenScript::dumpCommands(Common::StringList varNames, Common::StringList xNames, byte tabs) {
+void RivenScript::dumpCommands(Common::StringArray varNames, Common::StringArray xNames, byte tabs) {
uint16 commandCount = _stream->readUint16BE();
for (uint16 i = 0; i < commandCount; i++) {
diff --git a/engines/mohawk/riven_scripts.h b/engines/mohawk/riven_scripts.h
index 2879fa014d..f61abee36b 100644
--- a/engines/mohawk/riven_scripts.h
+++ b/engines/mohawk/riven_scripts.h
@@ -26,6 +26,8 @@
#ifndef RIVEN_SCRIPTS_H
#define RIVEN_SCRIPTS_H
+#include "common/str-array.h"
+
class MohawkEngine_Riven;
#define DECLARE_OPCODE(x) void x(uint16 op, uint16 argc, uint16 *argv)
@@ -55,7 +57,7 @@ public:
~RivenScript();
void runScript();
- void dumpScript(Common::StringList varNames, Common::StringList xNames, byte tabs);
+ void dumpScript(Common::StringArray varNames, Common::StringArray xNames, byte tabs);
uint16 getScriptType() { return _scriptType; }
// Read in an array of script objects from a stream
@@ -74,7 +76,7 @@ private:
Common::SeekableReadStream *_stream;
uint16 _scriptType;
- void dumpCommands(Common::StringList varNames, Common::StringList xNames, byte tabs);
+ void dumpCommands(Common::StringArray varNames, Common::StringArray xNames, byte tabs);
void processCommands(bool runCommands);
static uint32 calculateCommandSize(Common::SeekableReadStream* script);
diff --git a/engines/mohawk/video/qdm2.h b/engines/mohawk/video/qdm2.h
index a2f55a10ac..ffa5f77030 100644
--- a/engines/mohawk/video/qdm2.h
+++ b/engines/mohawk/video/qdm2.h
@@ -27,6 +27,7 @@
#define MOHAWK_VIDEO_QDM2_H
#include "sound/audiostream.h"
+#include "common/array.h"
#include "common/stream.h"
namespace Mohawk {
diff --git a/engines/queen/credits.h b/engines/queen/credits.h
index 0aafe010f4..059c651ca7 100644
--- a/engines/queen/credits.h
+++ b/engines/queen/credits.h
@@ -26,7 +26,7 @@
#ifndef QUEEN_CREDITS_H
#define QUEEN_CREDITS_H
-#include "common/util.h"
+#include "common/str-array.h"
#include "queen/defs.h"
namespace Queen {
@@ -82,7 +82,7 @@ private:
uint _lineNum;
//! contains the credits description
- Common::StringList _credits;
+ Common::StringArray _credits;
QueenEngine *_vm;
};
diff --git a/engines/queen/logic.h b/engines/queen/logic.h
index ee0a4f2270..e6924b3e41 100644
--- a/engines/queen/logic.h
+++ b/engines/queen/logic.h
@@ -26,7 +26,7 @@
#ifndef QUEEN_LOGIC_H
#define QUEEN_LOGIC_H
-#include "common/str.h"
+#include "common/str-array.h"
#include "common/util.h"
#include "queen/structs.h"
@@ -337,7 +337,7 @@ protected:
//! actor initial position in room is _walkOffData[_entryObj]
int16 _entryObj;
- Common::StringList _jasStringList;
+ Common::StringArray _jasStringList;
int _jasStringOffset[JSO_COUNT];
uint16 _numDescriptions;
diff --git a/engines/queen/resource.h b/engines/queen/resource.h
index b057827dcd..63720a0755 100644
--- a/engines/queen/resource.h
+++ b/engines/queen/resource.h
@@ -27,6 +27,7 @@
#define QUEEN_RESOURCE_H
#include "common/file.h"
+#include "common/str-array.h"
#include "common/util.h"
#include "queen/defs.h"
@@ -74,7 +75,7 @@ public:
uint8 *loadFile(const char *filename, uint32 skipBytes = 0, uint32 *size = NULL);
//! loads a text file
- void loadTextFile(const char *filename, Common::StringList &stringList);
+ void loadTextFile(const char *filename, Common::StringArray &stringList);
//! returns true if the file is present in the resource
bool fileExists(const char *filename) const { return resourceEntry(filename) != NULL; }
diff --git a/engines/sci/engine/kernel.h b/engines/sci/engine/kernel.h
index 542612113d..a8915f4860 100644
--- a/engines/sci/engine/kernel.h
+++ b/engines/sci/engine/kernel.h
@@ -29,6 +29,7 @@
#include "common/scummsys.h"
#include "common/debug.h"
#include "common/rect.h"
+#include "common/str-array.h"
#include "sci/sci.h" // for USE_OLD_MUSIC_FUNCTIONS
#include "sci/engine/vm_types.h" // for reg_t
@@ -175,7 +176,7 @@ private:
* Check for any hardcoded selector table we might have that can be used
* if a game is missing the selector names.
*/
- Common::StringList checkStaticSelectorNames();
+ Common::StringArray checkStaticSelectorNames();
/**
* Maps special selectors
@@ -191,8 +192,8 @@ private:
uint32 features;
// Kernel-related lists
- Common::StringList _selectorNames;
- Common::StringList _kernelNames;
+ Common::StringArray _selectorNames;
+ Common::StringArray _kernelNames;
};
/******************** Text functionality ********************/
diff --git a/engines/sci/engine/state.h b/engines/sci/engine/state.h
index f638f78d03..4f36ae00c4 100644
--- a/engines/sci/engine/state.h
+++ b/engines/sci/engine/state.h
@@ -29,6 +29,7 @@
#include "common/scummsys.h"
#include "common/array.h"
#include "common/serializer.h"
+#include "common/str-array.h"
namespace Common {
class SeekableReadStream;
@@ -54,8 +55,8 @@ class SoundCommandParser;
class DirSeeker {
protected:
reg_t _outbuffer;
- Common::StringList _savefiles;
- Common::StringList::const_iterator _iter;
+ Common::StringArray _savefiles;
+ Common::StringArray::const_iterator _iter;
public:
DirSeeker() {
diff --git a/engines/sky/control.h b/engines/sky/control.h
index 9c0e3c3cac..a0024ce73b 100644
--- a/engines/sky/control.h
+++ b/engines/sky/control.h
@@ -29,6 +29,7 @@
#include "common/events.h"
#include "common/scummsys.h"
+#include "common/str-array.h"
class OSystem;
namespace Common {
@@ -194,8 +195,8 @@ public:
uint16 _selectedGame;
uint16 saveGameToFile();
- void loadDescriptions(Common::StringList &list);
- void saveDescriptions(const Common::StringList &list);
+ void loadDescriptions(Common::StringArray &list);
+ void saveDescriptions(const Common::StringArray &list);
private:
int displayMessage(const char *altButton, const char *message, ...) GCC_PRINTF(3, 4);
@@ -222,7 +223,7 @@ private:
void drawCross(uint16 x, uint16 y);
uint16 saveRestorePanel(bool allowSave);
- void setUpGameSprites(const Common::StringList &saveGameNames, DataFileHeader **nameSprites, uint16 firstNum, uint16 selectedGame);
+ void setUpGameSprites(const Common::StringArray &saveGameNames, DataFileHeader **nameSprites, uint16 firstNum, uint16 selectedGame);
void showSprites(DataFileHeader **nameSprites, bool allowSave);
void handleKeyPress(Common::KeyState kbd, Common::String &textBuf);
diff --git a/engines/sword1/control.h b/engines/sword1/control.h
index 6741b3dd79..a6ccb09a04 100644
--- a/engines/sword1/control.h
+++ b/engines/sword1/control.h
@@ -28,6 +28,7 @@
#include "common/scummsys.h"
#include "common/events.h"
+#include "common/str-array.h"
#include "sword1/sworddefs.h"
class OSystem;
@@ -111,7 +112,7 @@ private:
uint8 _numSaves;
uint8 _saveScrollPos;
uint8 _selectedSavegame;
- Common::StringList _saveNames;
+ Common::StringArray _saveNames;
Common::String _oldName;
uint8 _cursorTick;
bool _cursorVisible;
diff --git a/engines/teenagent/music.h b/engines/teenagent/music.h
index 9c518b58e0..c1f5765a55 100644
--- a/engines/teenagent/music.h
+++ b/engines/teenagent/music.h
@@ -27,6 +27,7 @@
#define TEEN_MUSIC_H
#include "sound/mods/paula.h"
+#include "common/array.h"
namespace TeenAgent {
diff --git a/engines/teenagent/scene.h b/engines/teenagent/scene.h
index bf01e211ef..92e5e05c04 100644
--- a/engines/teenagent/scene.h
+++ b/engines/teenagent/scene.h
@@ -27,12 +27,14 @@
#include "teenagent/surface.h"
#include "teenagent/actor.h"
-#include "common/system.h"
-#include "common/list.h"
#include "teenagent/objects.h"
#include "teenagent/surface.h"
#include "teenagent/surface_list.h"
+#include "common/system.h"
+#include "common/array.h"
+#include "common/list.h"
+
namespace TeenAgent {
class TeenAgentEngine;
diff --git a/graphics/font.cpp b/graphics/font.cpp
index c6053e9eb3..629f2f4b82 100644
--- a/graphics/font.cpp
+++ b/graphics/font.cpp
@@ -864,10 +864,10 @@ void Font::drawString(Surface *dst, const Common::String &sOld, int x, int y, in
struct WordWrapper {
- Common::StringList &lines;
+ Common::Array<Common::String> &lines;
int actualMaxLineWidth;
- WordWrapper(Common::StringList &l) : lines(l), actualMaxLineWidth(0) {
+ WordWrapper(Common::Array<Common::String> &l) : lines(l), actualMaxLineWidth(0) {
}
void add(Common::String &line, int &w) {
@@ -881,7 +881,7 @@ struct WordWrapper {
}
};
-int Font::wordWrapText(const Common::String &str, int maxWidth, Common::StringList &lines) const {
+int Font::wordWrapText(const Common::String &str, int maxWidth, Common::Array<Common::String> &lines) const {
WordWrapper wrapper(lines);
Common::String line;
Common::String tmpStr;
diff --git a/graphics/font.h b/graphics/font.h
index e1c052c9e1..6927e0e076 100644
--- a/graphics/font.h
+++ b/graphics/font.h
@@ -26,6 +26,7 @@
#define GRAPHICS_FONT_H
#include "common/str.h"
+#include "common/array.h"
#include "graphics/surface.h"
namespace Common {
@@ -78,7 +79,7 @@ public:
* @param lines the string list to which the text lines from str are appended
* @return the maximal width of any of the lines added to lines
*/
- int wordWrapText(const Common::String &str, int maxWidth, Common::StringList &lines) const;
+ int wordWrapText(const Common::String &str, int maxWidth, Common::Array<Common::String> &lines) const;
};
diff --git a/gui/KeysDialog.cpp b/gui/KeysDialog.cpp
index 7a9256e30f..103ae918ef 100644
--- a/gui/KeysDialog.cpp
+++ b/gui/KeysDialog.cpp
@@ -55,7 +55,7 @@ KeysDialog::KeysDialog(const Common::String &title)
_keyMapping->setFlags(WIDGET_CLEARBG);
// Get actions names
- Common::StringList l;
+ ListWidget::StringArray l;
for (int i = 0; i < Actions::Instance()->size(); i++)
l.push_back(Actions::Instance()->actionName((ActionType)i));
diff --git a/gui/ListWidget.cpp b/gui/ListWidget.cpp
index f138fe7cc1..80289b9b80 100644
--- a/gui/ListWidget.cpp
+++ b/gui/ListWidget.cpp
@@ -152,7 +152,7 @@ ThemeEngine::FontColor ListWidget::getSelectionColor() const {
return _listColors[_listIndex[_selectedItem]];
}
-void ListWidget::setList(const StringList &list, const ColorList *colors) {
+void ListWidget::setList(const StringArray &list, const ColorList *colors) {
if (_editMode && _caretVisible)
drawCaret(true);
@@ -306,7 +306,7 @@ bool ListWidget::handleKeyDown(Common::KeyState state) {
int newSelectedItem = 0;
int bestMatch = 0;
bool stop;
- for (StringList::const_iterator i = _list.begin(); i != _list.end(); ++i) {
+ for (StringArray::const_iterator i = _list.begin(); i != _list.end(); ++i) {
const int match = matchingCharsIgnoringCase(i->c_str(), _quickSelectStr.c_str(), stop);
if (match > bestMatch || stop) {
_selectedItem = newSelectedItem;
@@ -692,7 +692,7 @@ void ListWidget::setFilter(const String &filter, bool redraw) {
_list.clear();
_listIndex.clear();
- for (StringList::iterator i = _dataList.begin(); i != _dataList.end(); ++i, ++n) {
+ for (StringArray::iterator i = _dataList.begin(); i != _dataList.end(); ++i, ++n) {
tmp = *i;
tmp.toLowercase();
bool matches = true;
diff --git a/gui/ListWidget.h b/gui/ListWidget.h
index 9b9949c299..02f2c22e7c 100644
--- a/gui/ListWidget.h
+++ b/gui/ListWidget.h
@@ -52,11 +52,11 @@ enum {
class ListWidget : public EditableWidget {
public:
typedef Common::String String;
- typedef Common::StringList StringList;
+ typedef Common::Array<Common::String> StringArray;
typedef Common::Array<ThemeEngine::FontColor> ColorList;
protected:
- StringList _list;
- StringList _dataList;
+ StringArray _list;
+ StringArray _dataList;
ColorList _listColors;
Common::Array<int> _listIndex;
bool _editable;
@@ -93,8 +93,8 @@ public:
virtual Widget *findWidget(int x, int y);
- void setList(const StringList &list, const ColorList *colors = 0);
- const StringList &getList() const { return _dataList; }
+ void setList(const StringArray &list, const ColorList *colors = 0);
+ const StringArray &getList() const { return _dataList; }
void append(const String &s, ThemeEngine::FontColor color = ThemeEngine::kFontColorNormal);
diff --git a/gui/about.cpp b/gui/about.cpp
index 650c42d97c..74851caf94 100644
--- a/gui/about.cpp
+++ b/gui/about.cpp
@@ -164,10 +164,10 @@ void AboutDialog::addLine(const char *str) {
Common::String format(str, 2);
str += 2;
- Common::StringList wrappedLines;
+ StringArray wrappedLines;
g_gui.getFont().wordWrapText(str, _w - 2 * _xOff, wrappedLines);
- for (Common::StringList::const_iterator i = wrappedLines.begin(); i != wrappedLines.end(); ++i) {
+ for (StringArray::const_iterator i = wrappedLines.begin(); i != wrappedLines.end(); ++i) {
_lines.push_back(format + *i);
}
}
diff --git a/gui/about.h b/gui/about.h
index d62510b1a6..fc216a78dc 100644
--- a/gui/about.h
+++ b/gui/about.h
@@ -32,11 +32,11 @@
namespace GUI {
class AboutDialog : public Dialog {
- typedef Common::StringList StringList;
+ typedef Common::Array<Common::String> StringArray;
protected:
int _scrollPos;
uint32 _scrollTime;
- StringList _lines;
+ StringArray _lines;
uint32 _lineHeight;
bool _willClose;
diff --git a/gui/browser.cpp b/gui/browser.cpp
index 906ca0dbe0..c090742988 100644
--- a/gui/browser.cpp
+++ b/gui/browser.cpp
@@ -150,7 +150,7 @@ void BrowserDialog::updateListing() {
Common::sort(_nodeContent.begin(), _nodeContent.end());
// Populate the ListWidget
- Common::StringList list;
+ ListWidget::StringArray list;
ListWidget::ColorList colors;
for (Common::FSList::iterator i = _nodeContent.begin(); i != _nodeContent.end(); ++i) {
if (i->isDirectory())
diff --git a/gui/chooser.cpp b/gui/chooser.cpp
index 04f68a60b0..0155bb2afb 100644
--- a/gui/chooser.cpp
+++ b/gui/chooser.cpp
@@ -50,7 +50,7 @@ ChooserDialog::ChooserDialog(const String &title, String dialogId)
_chooseButton->setEnabled(false);
}
-void ChooserDialog::setList(const StringList& list) {
+void ChooserDialog::setList(const StringArray& list) {
_list->setList(list);
}
diff --git a/gui/chooser.h b/gui/chooser.h
index 836f30bd8c..ce67c008df 100644
--- a/gui/chooser.h
+++ b/gui/chooser.h
@@ -39,7 +39,7 @@ class ListWidget;
class ChooserDialog : public Dialog {
typedef Common::String String;
- typedef Common::StringList StringList;
+ typedef Common::Array<Common::String> StringArray;
protected:
ListWidget *_list;
ButtonWidget *_chooseButton;
@@ -47,7 +47,7 @@ protected:
public:
ChooserDialog(const String &title, String dialogId = "Browser");
- void setList(const StringList& list);
+ void setList(const StringArray& list);
virtual void handleCommand(CommandSender *sender, uint32 cmd, uint32 data);
};
diff --git a/gui/debugger.cpp b/gui/debugger.cpp
index 39e5d7d3bb..fa1c12f28e 100644
--- a/gui/debugger.cpp
+++ b/gui/debugger.cpp
@@ -427,7 +427,7 @@ bool Debugger::Cmd_Help(int argc, const char **argv) {
DebugPrintf("Commands are:\n");
// Obtain a list of sorted command names
- Common::StringList cmds;
+ Common::Array<Common::String> cmds;
CommandsMap::const_iterator iter, e = _cmds.end();
for (iter = _cmds.begin(); iter != e; ++iter) {
cmds.push_back(iter->_key);
diff --git a/gui/launcher.cpp b/gui/launcher.cpp
index 0b26c6c44e..ae23fe9499 100644
--- a/gui/launcher.cpp
+++ b/gui/launcher.cpp
@@ -119,7 +119,7 @@ protected:
class EditGameDialog : public OptionsDialog {
typedef Common::String String;
- typedef Common::StringList StringList;
+ typedef Common::Array<Common::String> StringArray;
public:
EditGameDialog(const String &domain, const String &desc);
@@ -553,7 +553,7 @@ LauncherDialog::LauncherDialog()
void LauncherDialog::selectTarget(const String &target) {
if (!target.empty()) {
int itemToSelect = 0;
- StringList::const_iterator iter;
+ StringArray::const_iterator iter;
for (iter = _domains.begin(); iter != _domains.end(); ++iter, ++itemToSelect) {
if (target == *iter) {
_list->setSelected(itemToSelect);
@@ -593,7 +593,7 @@ void LauncherDialog::close() {
}
void LauncherDialog::updateListing() {
- Common::StringList l;
+ StringArray l;
// Retrieve a list of all games defined in the config file
_domains.clear();
@@ -722,7 +722,7 @@ void LauncherDialog::addGame() {
idx = 0;
} else {
// Display the candidates to the user and let her/him pick one
- StringList list;
+ StringArray list;
for (idx = 0; idx < (int)candidates.size(); idx++)
list.push_back(candidates[idx].description());
diff --git a/gui/launcher.h b/gui/launcher.h
index ceb44d9e8e..df9a6fb639 100644
--- a/gui/launcher.h
+++ b/gui/launcher.h
@@ -40,7 +40,7 @@ Common::String addGameToConf(const GameDescriptor &result);
class LauncherDialog : public Dialog {
typedef Common::String String;
- typedef Common::StringList StringList;
+ typedef Common::Array<Common::String> StringArray;
public:
LauncherDialog();
~LauncherDialog();
@@ -64,7 +64,7 @@ protected:
#endif
StaticTextWidget *_searchDesc;
ButtonWidget *_searchClearButton;
- StringList _domains;
+ StringArray _domains;
BrowserDialog *_browser;
SaveLoadChooser *_loadDialog;
diff --git a/gui/massadd.cpp b/gui/massadd.cpp
index 8a1206ee31..91c1b6c459 100644
--- a/gui/massadd.cpp
+++ b/gui/massadd.cpp
@@ -66,7 +66,7 @@ MassAddDialog::MassAddDialog(const Common::FSNode &startDir)
_dirProgressText(0),
_gameProgressText(0) {
- Common::StringList l;
+ StringArray l;
// The dir we start our scan at
_scanStack.push(startDir);
@@ -199,8 +199,8 @@ void MassAddDialog::handleTickle() {
// Check for existing config entries for this path/gameid/lang/platform combination
if (_pathToTargets.contains(path)) {
bool duplicate = false;
- const Common::StringList &targets = _pathToTargets[path];
- for (Common::StringList::const_iterator iter = targets.begin(); iter != targets.end(); ++iter) {
+ const StringArray &targets = _pathToTargets[path];
+ for (StringArray::const_iterator iter = targets.begin(); iter != targets.end(); ++iter) {
// If the gameid, platform and language match -> skip it
Common::ConfigManager::Domain *dom = ConfMan.getDomain(*iter);
assert(dom);
diff --git a/gui/massadd.h b/gui/massadd.h
index e37df9f426..31a8821a26 100644
--- a/gui/massadd.h
+++ b/gui/massadd.h
@@ -37,6 +37,7 @@ namespace GUI {
class StaticTextWidget;
class MassAddDialog : public Dialog {
+ typedef Common::Array<Common::String> StringArray;
public:
MassAddDialog(const Common::FSNode &startDir);
@@ -59,7 +60,7 @@ private:
* Used to detect whether a potential new target is already present in the
* config manager.
*/
- Common::HashMap<Common::String, Common::StringList> _pathToTargets;
+ Common::HashMap<Common::String, StringArray> _pathToTargets;
int _dirsScanned;
diff --git a/gui/message.cpp b/gui/message.cpp
index e4f0bb12da..12ac3123a4 100644
--- a/gui/message.cpp
+++ b/gui/message.cpp
@@ -53,7 +53,7 @@ MessageDialog::MessageDialog(const Common::String &message, const char *defaultB
// down the string into lines, and taking the maximum of their widths.
// Using this, and accounting for the space the button(s) need, we can set
// the real size of the dialog
- Common::StringList lines;
+ Common::Array<Common::String> lines;
int lineCount, okButtonPos, cancelButtonPos;
int maxlineWidth = g_gui.getFont().wordWrapText(message, screenW - 2 * 20, lines);
diff --git a/gui/saveload.cpp b/gui/saveload.cpp
index 247b7bdeb8..8ec4dc4133 100644
--- a/gui/saveload.cpp
+++ b/gui/saveload.cpp
@@ -313,7 +313,7 @@ void SaveLoadChooser::close() {
_plugin = 0;
_target.clear();
_saveList.clear();
- _list->setList(StringList());
+ _list->setList(StringArray());
Dialog::close();
}
@@ -323,7 +323,7 @@ void SaveLoadChooser::updateSaveList() {
int curSlot = 0;
int saveSlot = 0;
- StringList saveNames;
+ StringArray saveNames;
ListWidget::ColorList colors;
for (SaveStateList::const_iterator x = _saveList.begin(); x != _saveList.end(); ++x) {
// Handle gaps in the list of save games
diff --git a/gui/saveload.h b/gui/saveload.h
index d1f58b1f59..dde70c9a7a 100644
--- a/gui/saveload.h
+++ b/gui/saveload.h
@@ -35,7 +35,7 @@ class GraphicsWidget;
class SaveLoadChooser : public GUI::Dialog {
typedef Common::String String;
- typedef Common::StringList StringList;
+ typedef Common::Array<Common::String> StringArray;
protected:
GUI::ListWidget *_list;
GUI::ButtonWidget *_chooseButton;
@@ -65,7 +65,7 @@ public:
~SaveLoadChooser();
virtual void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data);
- void setList(const StringList& list);
+ void setList(const StringArray& list);
int runModal(const EnginePlugin *plugin, const String &target);
void open();
diff --git a/gui/themebrowser.cpp b/gui/themebrowser.cpp
index cd207c54fe..5d0e24394f 100644
--- a/gui/themebrowser.cpp
+++ b/gui/themebrowser.cpp
@@ -100,7 +100,7 @@ void ThemeBrowser::updateListing() {
const Common::String currentThemeId = g_gui.theme()->getThemeId();
int currentThemeIndex = 0, index = 0;
- Common::StringList list;
+ ListWidget::StringArray list;
for (ThemeDescList::const_iterator i = _themes.begin(); i != _themes.end(); ++i, ++index) {
list.push_back(i->name);
diff --git a/test/common/array.h b/test/common/array.h
index 5ab6b73ef1..c85e056b19 100644
--- a/test/common/array.h
+++ b/test/common/array.h
@@ -196,7 +196,7 @@ class ArrayTestSuite : public CxxTest::TestSuite
void test_array_constructor_str() {
const char *array1[] = { "a", "b", "c" };
- Common::StringList array2(array1, 3);
+ Common::Array<Common::String> array2(array1, 3);
TS_ASSERT_EQUALS(array2[0], "a");
TS_ASSERT_EQUALS(array2[1], "b");