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 "ba1600.h"
|
||||||
#include "ba1600a.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
|
// Configurazione per installazione
|
||||||
@ -157,27 +158,27 @@ public:
|
|||||||
bool TModule_mask::find(const TString& name) const
|
bool TModule_mask::find(const TString& name) const
|
||||||
{
|
{
|
||||||
TSheet_field& sf = sfield(F_SHEET);
|
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)
|
if (name.compare(row->get(0), -1, TRUE) == 0)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return m >= 0;
|
return r >= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Toglie il file dallo sheet dei mancanti
|
// Toglie il file dallo sheet dei mancanti
|
||||||
bool TModule_mask::kill_missing(const char* name, bool update)
|
bool TModule_mask::kill_missing(const char* name, bool update)
|
||||||
{
|
{
|
||||||
TSheet_field& miss = sfield(F_MISSING);
|
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)
|
if (row->compare(name, -1, TRUE) == 0)
|
||||||
{
|
{
|
||||||
miss.destroy(__row, update);
|
miss.destroy(r, update);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return m >= 0;
|
return r >= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TModule_mask::sheet_notify(TSheet_field& sf, int r, KEY key)
|
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();
|
TMask& mainmask = sf.mask();
|
||||||
TSheet_field& sheet = mainmask.sfield(F_SHEET);
|
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);
|
TToken_string& newrow = sheet.row(-1);
|
||||||
newrow = *row;
|
newrow = *riga;
|
||||||
TString16 submod = newrow.left(2);
|
TString16 submod = newrow.left(2);
|
||||||
submod << '0';
|
submod << '0';
|
||||||
newrow.add(submod);
|
newrow.add(submod, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
sf.destroy();
|
sf.destroy();
|
||||||
@ -370,16 +371,8 @@ bool TModule_mask::deselect_handler(TMask_field& f, KEY k)
|
|||||||
if (k == K_SPACE)
|
if (k == K_SPACE)
|
||||||
{
|
{
|
||||||
TSheet_field& sheet = f.mask().sfield(F_SHEET);
|
TSheet_field& sheet = f.mask().sfield(F_SHEET);
|
||||||
|
FOR_EACH_SHEET_ROW_BACK(sheet, r, row)
|
||||||
// for (int r = sheet.items()-1; r >= 0; r--)
|
|
||||||
// {
|
|
||||||
// sheet.row(r).add(" ", 1);
|
|
||||||
// }
|
|
||||||
|
|
||||||
FOR_EACH_SHEET_ROW(sheet, row)
|
|
||||||
{
|
|
||||||
row->add(" ", 1);
|
row->add(" ", 1);
|
||||||
}
|
|
||||||
|
|
||||||
sheet.force_update();
|
sheet.force_update();
|
||||||
}
|
}
|
||||||
@ -415,7 +408,7 @@ void TModule_mask::load(const char* module)
|
|||||||
bool ok = TRUE;
|
bool ok = TRUE;
|
||||||
for (int e = 0; bad_ext[e]; e++)
|
for (int e = 0; bad_ext[e]; e++)
|
||||||
{
|
{
|
||||||
if (ext.compare(bad_ext[e], -1, TRUE) == 0)
|
if (ext == bad_ext[e])
|
||||||
{
|
{
|
||||||
ok = FALSE;
|
ok = FALSE;
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user