ba1600.cpp Usate mitiche macro di iterazione sugli sheet
git-svn-id: svn://10.65.10.50/trunk@5566 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
e8ab85527c
commit
d0932e34a6
@ -11,7 +11,8 @@
|
||||
#include "ba1600.h"
|
||||
#include "ba1600a.h"
|
||||
|
||||
#define FOR_EACH_SHEET_ROW(sheet, row) TToken_string* row; for (int __row = 0; __row < sheet.items() && (const char*)(row = &sheet.row(__row)); __row++)
|
||||
#define FOR_EACH_SHEET_ROW(__sheet, __r, __riga) TToken_string* __riga; for (int __r = 0; __r < __sheet.items() && (const char*)(__riga = &__sheet.row(__r)); __r++)
|
||||
#define FOR_EACH_SHEET_ROW_BACK(__sheet, __r, __riga) TToken_string* __riga; for (int __r = __sheet.items()-1; __r >= 0 && (const char*)(__riga = &__sheet.row(__r)); __r--)
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// Configurazione per installazione
|
||||
@ -157,27 +158,27 @@ public:
|
||||
bool TModule_mask::find(const TString& name) const
|
||||
{
|
||||
TSheet_field& sf = sfield(F_SHEET);
|
||||
FOR_EACH_SHEET_ROW(sf, row)
|
||||
FOR_EACH_SHEET_ROW_BACK(sf, r, row)
|
||||
{
|
||||
if (name.compare(row->get(0), -1, TRUE) == 0)
|
||||
break;
|
||||
}
|
||||
return m >= 0;
|
||||
return r >= 0;
|
||||
}
|
||||
|
||||
// Toglie il file dallo sheet dei mancanti
|
||||
bool TModule_mask::kill_missing(const char* name, bool update)
|
||||
{
|
||||
TSheet_field& miss = sfield(F_MISSING);
|
||||
FOR_EACH_SHEET_ROW(miss, row)
|
||||
FOR_EACH_SHEET_ROW_BACK(miss, r, row)
|
||||
{
|
||||
if (row->compare(name, -1, TRUE) == 0)
|
||||
{
|
||||
miss.destroy(__row, update);
|
||||
miss.destroy(r, update);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return m >= 0;
|
||||
return r >= 0;
|
||||
}
|
||||
|
||||
bool TModule_mask::sheet_notify(TSheet_field& sf, int r, KEY key)
|
||||
@ -275,13 +276,13 @@ bool TModule_mask::missing_notify(TSheet_field& sf, int r, KEY key)
|
||||
TMask& mainmask = sf.mask();
|
||||
TSheet_field& sheet = mainmask.sfield(F_SHEET);
|
||||
|
||||
FOR_EACH_SHEET_ROW(sf, row)
|
||||
FOR_EACH_SHEET_ROW(sf, idx, riga)
|
||||
{
|
||||
TToken_string& newrow = sheet.row(-1);
|
||||
newrow = *row;
|
||||
newrow = *riga;
|
||||
TString16 submod = newrow.left(2);
|
||||
submod << '0';
|
||||
newrow.add(submod);
|
||||
newrow.add(submod, 2);
|
||||
}
|
||||
|
||||
sf.destroy();
|
||||
@ -370,16 +371,8 @@ bool TModule_mask::deselect_handler(TMask_field& f, KEY k)
|
||||
if (k == K_SPACE)
|
||||
{
|
||||
TSheet_field& sheet = f.mask().sfield(F_SHEET);
|
||||
|
||||
// for (int r = sheet.items()-1; r >= 0; r--)
|
||||
// {
|
||||
// sheet.row(r).add(" ", 1);
|
||||
// }
|
||||
|
||||
FOR_EACH_SHEET_ROW(sheet, row)
|
||||
{
|
||||
FOR_EACH_SHEET_ROW_BACK(sheet, r, row)
|
||||
row->add(" ", 1);
|
||||
}
|
||||
|
||||
sheet.force_update();
|
||||
}
|
||||
@ -407,15 +400,15 @@ void TModule_mask::load(const char* module)
|
||||
"res", "sbr", "vcw", "wsp", NULL };
|
||||
|
||||
for (int index = arr.items()-1; index >= 0; index--)
|
||||
{
|
||||
mask = arr.row(index);
|
||||
{
|
||||
mask = arr.row(index);
|
||||
mask.lower();
|
||||
const TString16 ext = mask.ext();
|
||||
|
||||
bool ok = TRUE;
|
||||
for (int e = 0; bad_ext[e]; e++)
|
||||
{
|
||||
if (ext.compare(bad_ext[e], -1, TRUE) == 0)
|
||||
if (ext == bad_ext[e])
|
||||
{
|
||||
ok = FALSE;
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user