Skip to content

Commit 96b6690

Browse files
committed
xrEProps: work on ItemList
1 parent 46ea987 commit 96b6690

File tree

4 files changed

+51
-51
lines changed

4 files changed

+51
-51
lines changed

src/editors/xrEProps/ItemList.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,8 @@ void TItemList::ClearParams(TElTreeItem* node)
126126
}
127127
}
128128
// real clear
129-
for (ListItemsIt it = m_Items.begin(); it != m_Items.end(); it++)
130-
xr_delete(*it);
129+
for (auto& it : m_Items)
130+
xr_delete();
131131
m_Items.clear();
132132
// fill list
133133
LockUpdating();

src/editors/xrEProps/ItemListHelper.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ IListHelper& LHelper() { return LHelper_impl; }
1212

1313
ListItem* CListHelper::FindItem(ListItemsVec& items, LPCSTR key)
1414
{
15-
for (ListItemsIt it = items.begin(); it != items.end(); it++)
16-
if ((*it)->key == key)
17-
return *it;
15+
for (auto& it : items)
16+
if (it->key == key)
17+
return it;
1818
return 0;
1919
}
2020

@@ -23,8 +23,8 @@ ListItem* CListHelper::CreateItem(ListItemsVec& items, LPCSTR key, int type, u32
2323
ListItem* item = new ListItem(type);
2424
item->SetName(key);
2525
item->m_Object = object;
26-
item->m_Flags.set(item_flags, TRUE);
27-
items.push_back(item);
26+
item->m_Flags.set(item_flags, true);
27+
items.emplace_back(item);
2828
return item;
2929
}
3030

@@ -56,14 +56,14 @@ bool CListHelper::NameAfterEdit(ListItem* sender, LPCSTR value, shared_str& N)
5656
{
5757
if ((itm != node) && (itm->Text == AnsiString(N.c_str())))
5858
{
59-
// елемент с таким именем уже существует
59+
// Элемент с таким именем уже существует
6060
N = value;
6161
return false;
6262
}
6363
}
6464
// all right
6565
node->Text = N.c_str();
66-
AnsiString tmp;
66+
xr_string tmp;
6767
_ReplaceItem(*sender->key, _GetItemCount(*sender->key, '\\') - 1, N.c_str(), tmp, '\\');
6868
sender->key = tmp.c_str();
6969
// Имя объекта может быть составным из a\\b\\name

src/xrCore/xr_trims.cpp

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -152,59 +152,37 @@ LPSTR _ReplaceItems(LPCSTR src, int idx_start, int idx_end, LPCSTR new_items, LP
152152
return dst;
153153
}
154154

155-
LPSTR _ReplaceItem(LPCSTR src, int index, LPCSTR new_item, LPSTR dst, char separator)
155+
xr_string& _ReplaceItems(pcstr src, int idx_start, int idx_end, pcstr new_items, xr_string& dst, char separator)
156156
{
157-
LPSTR n = dst;
157+
dst = "";
158158
int level = 0;
159159
bool bCopy = true;
160-
for (LPCSTR p = src; *p != 0; p++)
160+
for (pcstr p = src; *p != 0; p++)
161161
{
162-
if (level == index)
162+
if ((level >= idx_start) && (level < idx_end))
163163
{
164164
if (bCopy)
165165
{
166-
for (LPCSTR itm = new_item; *itm != 0;)
167-
*n++ = *itm++;
166+
for (pcstr itm = new_items; *itm != 0;)
167+
dst += *itm++;
168168
bCopy = false;
169169
}
170170
if (*p == separator)
171-
*n++ = separator;
171+
dst += separator;
172172
}
173173
else
174174
{
175-
*n++ = *p;
175+
dst += *p;
176176
}
177177
if (*p == separator)
178178
level++;
179179
}
180-
*n = '\0';
181180
return dst;
182181
}
183182

184-
LPSTR _ChangeSymbol(LPSTR name, char src, char dest)
185-
{
186-
char* sTmpName = name;
187-
while (sTmpName[0])
188-
{
189-
if (sTmpName[0] == src)
190-
sTmpName[0] = dest;
191-
sTmpName++;
192-
}
193-
return name;
194-
}
195-
196-
xr_string& _ChangeSymbol(xr_string& name, char src, char dest)
197-
{
198-
for (xr_string::iterator it = name.begin(); it != name.end(); it++)
199-
if (*it == src)
200-
*it = xr_string::value_type(dest);
201-
return name;
202-
}
203-
204-
#ifdef M_BORLAND
205-
AnsiString& _ReplaceItem(LPCSTR src, int index, LPCSTR new_item, AnsiString& dst, char separator)
183+
LPSTR _ReplaceItem(LPCSTR src, int index, LPCSTR new_item, LPSTR dst, char separator)
206184
{
207-
dst = "";
185+
LPSTR n = dst;
208186
int level = 0;
209187
bool bCopy = true;
210188
for (LPCSTR p = src; *p != 0; p++)
@@ -214,34 +192,35 @@ AnsiString& _ReplaceItem(LPCSTR src, int index, LPCSTR new_item, AnsiString& dst
214192
if (bCopy)
215193
{
216194
for (LPCSTR itm = new_item; *itm != 0;)
217-
dst += *itm++;
195+
*n++ = *itm++;
218196
bCopy = false;
219197
}
220198
if (*p == separator)
221-
dst += separator;
199+
*n++ = separator;
222200
}
223201
else
224202
{
225-
dst += *p;
203+
*n++ = *p;
226204
}
227205
if (*p == separator)
228206
level++;
229207
}
208+
*n = '\0';
230209
return dst;
231210
}
232211

233-
AnsiString& _ReplaceItems(LPCSTR src, int idx_start, int idx_end, LPCSTR new_items, AnsiString& dst, char separator)
212+
xr_string& _ReplaceItem(pcstr src, int index, pcstr new_item, xr_string& dst, char separator)
234213
{
235214
dst = "";
236215
int level = 0;
237216
bool bCopy = true;
238-
for (LPCSTR p = src; *p != 0; p++)
217+
for (pcstr p = src; *p != 0; p++)
239218
{
240-
if ((level >= idx_start) && (level < idx_end))
219+
if (level == index)
241220
{
242221
if (bCopy)
243222
{
244-
for (LPCSTR itm = new_items; *itm != 0;)
223+
for (pcstr itm = new_item; *itm != 0;)
245224
dst += *itm++;
246225
bCopy = false;
247226
}
@@ -258,6 +237,27 @@ AnsiString& _ReplaceItems(LPCSTR src, int idx_start, int idx_end, LPCSTR new_ite
258237
return dst;
259238
}
260239

240+
LPSTR _ChangeSymbol(LPSTR name, char src, char dest)
241+
{
242+
char* sTmpName = name;
243+
while (sTmpName[0])
244+
{
245+
if (sTmpName[0] == src)
246+
sTmpName[0] = dest;
247+
sTmpName++;
248+
}
249+
return name;
250+
}
251+
252+
xr_string& _ChangeSymbol(xr_string& name, char src, char dest)
253+
{
254+
for (xr_string::iterator it = name.begin(); it != name.end(); it++)
255+
if (*it == src)
256+
*it = xr_string::value_type(dest);
257+
return name;
258+
}
259+
260+
#ifdef M_BORLAND
261261
AnsiString& _Trim(AnsiString& str) { return str = str.Trim(); }
262262
LPCSTR _CopyVal(LPCSTR src, AnsiString& dst, char separator)
263263
{

src/xrCore/xr_trims.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,6 @@ XRCORE_API LPCSTR _CopyVal(LPCSTR src, AnsiString& dst, char separator = ',');
1717
XRCORE_API AnsiString _ListToSequence(const AStringVec& lst);
1818
XRCORE_API AnsiString _ListToSequence2(const AStringVec& lst);
1919
XRCORE_API void _SequenceToList(AStringVec& lst, LPCSTR in, char separator = ',');
20-
XRCORE_API AnsiString& _ReplaceItem(LPCSTR src, int index, LPCSTR new_item, AnsiString& dst, char separator);
21-
XRCORE_API AnsiString& _ReplaceItems(
22-
LPCSTR src, int idx_start, int idx_end, LPCSTR new_items, AnsiString& dst, char separator);
2320
XRCORE_API AnsiString FloatTimeToStrTime(float v, bool h = true, bool m = true, bool s = true, bool ms = false);
2421
XRCORE_API float StrTimeToFloatTime(LPCSTR buf, bool h = true, bool m = true, bool s = true, bool ms = false);
2522
#endif
@@ -44,7 +41,9 @@ XRCORE_API LPSTR _ChangeSymbol(LPSTR name, char src, char dest);
4441
XRCORE_API u32 _ParseItem(LPCSTR src, xr_token* token_list);
4542
XRCORE_API u32 _ParseItem(LPSTR src, int ind, xr_token* token_list);
4643
XRCORE_API LPSTR _ReplaceItem(LPCSTR src, int index, LPCSTR new_item, LPSTR dst, char separator);
44+
XRCORE_API xr_string& _ReplaceItem(pcstr src, int index, pcstr new_item, xr_string& dst, char separator);
4745
XRCORE_API LPSTR _ReplaceItems(LPCSTR src, int idx_start, int idx_end, LPCSTR new_items, LPSTR dst, char separator);
46+
XRCORE_API xr_string& _ReplaceItems(pcstr src, int idx_start, int idx_end, pcstr new_items, xr_string& dst, char separator);
4847
XRCORE_API void _SequenceToList(LPSTRVec& lst, LPCSTR in, char separator = ',');
4948
XRCORE_API void _SequenceToList(RStringVec& lst, LPCSTR in, char separator = ',');
5049
XRCORE_API void _SequenceToList(SStringVec& lst, LPCSTR in, char separator = ',');
@@ -57,3 +56,4 @@ XRCORE_API LPCSTR _CopyVal(LPCSTR src, xr_string& dst, char separator = ',');
5756
XRCORE_API LPCSTR _GetItem(LPCSTR src, int, xr_string& p, char separator = ',', LPCSTR = "", bool trim = true);
5857
XRCORE_API xr_string _ListToSequence(const SStringVec& lst);
5958
XRCORE_API shared_str _ListToSequence(const RStringVec& lst);
59+

0 commit comments

Comments
 (0)