Patch level : 12.00 1396
Files correlati : ve0.exe fp0.exe fp0300a.msk cg2.exe cg5.exe Commento : Se non è attiva l'analitica non mostra la pagina relativa IL ripristino funziona anche senza la data di ultima stampa Pulsante per segnare fatture come inviate
This commit is contained in:
parent
50d6211398
commit
faf43c2a8d
@ -83,6 +83,7 @@ void TMask::init_mask()
|
||||
}
|
||||
_toolwin = _toolbar = _notebook = _single = NULL_WIN;
|
||||
memset(_pagewin, 0, sizeof(_pagewin)); // Azzero lista pagine
|
||||
memset(_act_pagewin, 0, sizeof(_act_pagewin)); // Azzero lista pagine
|
||||
}
|
||||
|
||||
WINDOW TMask::page_win(int p) const
|
||||
@ -90,7 +91,7 @@ WINDOW TMask::page_win(int p) const
|
||||
if (p >= MAX_PAGES)
|
||||
return p == MAX_PAGES ? toolwin() : toolbar();
|
||||
if (p >= 0 && p < _pages)
|
||||
return _pagewin[p];
|
||||
return _act_pagewin[p];
|
||||
return p <= 0 ? win() : NULL_WIN;
|
||||
}
|
||||
|
||||
@ -444,7 +445,7 @@ void TMask::set_focus_field(short id)
|
||||
if (f.parent() != curr_win()) // Controllo se devo cambiar pagina
|
||||
{
|
||||
p = find_parent_page(f);
|
||||
if (p < 0 || p >= _pages || !page_enabled(p))
|
||||
if (p < 0 || p >= _pages) // || !page_enabled(p))
|
||||
p = 0;
|
||||
}
|
||||
show_page(p);
|
||||
@ -535,34 +536,43 @@ void TMask::enable_page(
|
||||
{
|
||||
if (page > 0 && page < _pages) // Non posso spegnere la prima pagina
|
||||
{
|
||||
if (_enabled[page] != on)
|
||||
if (_enabled[page] != on)
|
||||
{
|
||||
memset(_act_pagewin, 0, sizeof(_act_pagewin)); // Azzero lista pagine
|
||||
CHECK(_notebook, "Can't find an useful notebook");
|
||||
const short tabs = xvt_notebk_get_num_tabs(_notebook);
|
||||
if (on)
|
||||
{
|
||||
// Riaggiungo i tab buttons (normalmente tabs == page)
|
||||
for (short i = tabs; i < _pages; i++)
|
||||
{
|
||||
short i;
|
||||
|
||||
for (int p = 0; _pagewin[p] != NULL_WIN; p++)
|
||||
_act_pagewin[p] = _pagewin[p];
|
||||
for (i = tabs; _pagewin[i] != NULL_WIN; i++)
|
||||
{
|
||||
_enabled.set(i, true);
|
||||
xvt_notebk_add_page(_notebook, _pagewin[i], NULL, NULL, i);
|
||||
}
|
||||
_pages = i;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Elimino i tab buttons (normalmente tabs == _pages)
|
||||
for (short i = tabs-1; i >= page; i--)
|
||||
for (int p = 0; p < page; p++)
|
||||
_act_pagewin[p] = _pagewin[p];
|
||||
for (short i = tabs-1; i >= page; i--)
|
||||
{
|
||||
_enabled.set(i, false);
|
||||
xvt_notebk_rem_tab(_notebook, i);
|
||||
}
|
||||
_page = -1;
|
||||
_pages = page;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// @mfunc Abilita/disabilita una pagina
|
||||
|
||||
// @mfunc Abilita/disabilita una pagina
|
||||
void TMask::enable_single_page(
|
||||
byte page, // @parm Pagina da abilitare/disabilitare
|
||||
bool on) // @parm Operazione da svolgere:
|
||||
@ -574,15 +584,21 @@ void TMask::enable_single_page(
|
||||
{
|
||||
CHECK(_notebook, "Can't find an useful notebook");
|
||||
const short tabs = xvt_notebk_get_num_tabs(_notebook);
|
||||
int npages = 0;
|
||||
|
||||
_enabled.set(page, on);
|
||||
for (int p = tabs - 1; p >= 0; p--)
|
||||
memset(_act_pagewin, 0, sizeof(_act_pagewin)); // Azzero lista pagine
|
||||
for (int p = tabs - 1 ; p >= 0; p--)
|
||||
xvt_notebk_rem_tab(_notebook, p);
|
||||
for (int p = 0; p < _pages; p++)
|
||||
for (int p = 0; _pagewin[p] != NULL_WIN; p++)
|
||||
if (_enabled[p])
|
||||
{
|
||||
xvt_notebk_add_page(_notebook, _pagewin[p], NULL, NULL, p);
|
||||
_act_pagewin[npages++] = _pagewin[p];
|
||||
}
|
||||
if (!on)
|
||||
_page = -1;
|
||||
_pages = npages;
|
||||
}
|
||||
}
|
||||
|
||||
@ -649,8 +665,8 @@ bool TMask::check_fields()
|
||||
if (f.parent() != curpage)
|
||||
{
|
||||
const int pa = find_parent_page(f);
|
||||
if (!page_enabled(pa))
|
||||
break; // Page disabled: end of test
|
||||
// if (!page_enabled(pa))
|
||||
// break; // Page disabled: end of test
|
||||
curpage = f.parent(); // Update current page
|
||||
}
|
||||
if (sheet) f.set_dirty(); // Force check in sheet masks
|
||||
@ -1425,7 +1441,7 @@ WINDOW TMask::create_book(bool single)
|
||||
CHECK(_notebook == NULL_WIN, "Single and notebook?");
|
||||
_single = create_interface(parent, 0, 0, 0, 0, "", this);
|
||||
xvt_pane_add(parent, _single, "_MainSingle_", 0, 0);
|
||||
_pagewin[0] = _single;
|
||||
_act_pagewin[0] = _pagewin[0] = _single;
|
||||
_pages = 1;
|
||||
}
|
||||
else
|
||||
@ -1526,19 +1542,20 @@ void TMask::insert_page(WINDOW page, int dove)
|
||||
create_book(false);
|
||||
|
||||
memset(_pagewin, 0, sizeof(_pagewin)); // Azzero lista pagine
|
||||
memset(_act_pagewin, 0, sizeof(_act_pagewin)); // Azzero lista pagine
|
||||
if (_notebook != NULL_WIN) // property sheet
|
||||
{
|
||||
xvt_notebk_add_page(_notebook, page, NULL, NULL, dove);
|
||||
_pages = xvt_notebk_get_num_tabs(_notebook);
|
||||
// Ricostruisco lista pagine
|
||||
for (short p = 0; p < _pages; p++)
|
||||
_pagewin[p] = xvt_notebk_get_page(_notebook, p);
|
||||
_act_pagewin[p] = _pagewin[p] = xvt_notebk_get_page(_notebook, p);
|
||||
}
|
||||
else // single page
|
||||
{
|
||||
CHECK(win() == NULL_WIN, "One single main page, please!");
|
||||
set_win(page);
|
||||
_pagewin[0] = page; // Assegno la prima ed unica pagina
|
||||
_act_pagewin[0] = _pagewin[0] = page; // Assegno la prima ed unica pagina
|
||||
_pages = 1;
|
||||
}
|
||||
}
|
||||
@ -1579,7 +1596,7 @@ void TMask::next_page(
|
||||
if (p != 0)
|
||||
{
|
||||
const int k = (p < 1000) ? _page+p : p-1000;
|
||||
if (k < 0 || k >= _pages || !page_enabled(k))
|
||||
if (k < 0 || k >= _pages) // || !page_enabled(k))
|
||||
{
|
||||
beep();
|
||||
return;
|
||||
|
@ -72,7 +72,8 @@ class TMask : public TWindow
|
||||
|
||||
// @cmember:(INTERNAL) Windows delle pagine
|
||||
WINDOW _toolwin, _notebook, _single, _toolbar;
|
||||
WINDOW _pagewin[MAX_PAGES];
|
||||
WINDOW _pagewin[MAX_PAGES + 1];
|
||||
WINDOW _act_pagewin[MAX_PAGES + 1];
|
||||
|
||||
// @cmember:(INTERNAL) Numero della maschera all'interno del file sorgente
|
||||
int _mask_num;
|
||||
|
Loading…
x
Reference in New Issue
Block a user