Correzione errori dirty
git-svn-id: svn://10.65.10.50/trunk@609 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
26384cd733
commit
c0b436abe6
@ -97,13 +97,14 @@ TBanner::TBanner()
|
||||
{
|
||||
create(-1, 6, 72, 6, "BANNER", WSF_NONE, W_PLAIN);
|
||||
hide_brush();
|
||||
open_modal();
|
||||
open();
|
||||
do_events();
|
||||
}
|
||||
|
||||
TBanner::~TBanner()
|
||||
{
|
||||
close_modal();
|
||||
{
|
||||
if (is_open())
|
||||
close();
|
||||
}
|
||||
|
||||
void TBanner::handler(WINDOW win, EVENT* ep)
|
||||
|
@ -483,8 +483,8 @@ void TMask::get_mask_fields()
|
||||
{
|
||||
const char* fd = f.get_field_data();
|
||||
CHECK(fd, "NULL pointer comparison");
|
||||
if (window_data != fd)
|
||||
f.set_dirty(window_data != fd);
|
||||
if (window_data == fd)
|
||||
f.set_dirty(FALSE);
|
||||
}
|
||||
f.set_field_data(window_data);
|
||||
}
|
||||
@ -756,9 +756,12 @@ bool TMask::on_key(KEY key)
|
||||
TMask_field& f = fld(i);
|
||||
if (f.class_id() != CLASS_BUTTON_FIELD || !f.active()) continue;
|
||||
TButton_field& b = (TButton_field&)f;
|
||||
if (b.virtual_key() == key && test_focus_change())
|
||||
if (b.virtual_key() == key)
|
||||
{
|
||||
f.on_key(K_SPACE);
|
||||
bool ok = b.dlg() != DLG_CANCEL && b.dlg() != DLG_QUIT && b.dlg() != DLG_F9;
|
||||
if (!ok) ok = test_focus_change(b.win());
|
||||
if (ok)
|
||||
f.on_key(K_SPACE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
// $Id: maskfld.cpp,v 1.44 1994-11-11 18:04:13 guy Exp $
|
||||
// $Id: maskfld.cpp,v 1.45 1994-11-14 09:59:59 guy Exp $
|
||||
#include <xvt.h>
|
||||
|
||||
#include <applicat.h>
|
||||
@ -68,9 +68,11 @@ char TMask_field::TField_Flags::update(const char* s)
|
||||
exchange = TRUE; break;
|
||||
case 'Z':
|
||||
zerofilled = TRUE; break;
|
||||
default :
|
||||
#ifdef DBG
|
||||
default : ::warning_box("FLAG sconosciuto in %s: %c", kk, *s); break;
|
||||
yesnofatal_box("FLAG sconosciuto in %s: %c", kk, *s);
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
return *s;
|
||||
}
|
||||
@ -370,6 +372,23 @@ word TMask_field::last_key() const
|
||||
return (word)u;
|
||||
}
|
||||
|
||||
void TMask_field::set_dirty(bool d)
|
||||
{
|
||||
#ifdef DBG
|
||||
if (_flags.dirty == 3)
|
||||
{
|
||||
if (d == 0)
|
||||
{
|
||||
error_box("Can't reset dirty flag of a bad field: %d", dlg());
|
||||
return;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
_flags.dirty = d;
|
||||
set_focusdirty(d);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Certified 99%
|
||||
const char* TMask_field::get_window_data() const
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $Id: maskfld.h,v 1.7 1994-11-07 13:51:00 guy Exp $ */
|
||||
/* $Id: maskfld.h,v 1.8 1994-11-14 10:00:04 guy Exp $ */
|
||||
#ifndef __MASKFLD_H
|
||||
#define __MASKFLD_H
|
||||
|
||||
@ -121,7 +121,7 @@ public:
|
||||
bool dirty() const { return _flags.dirty; }
|
||||
bool focusdirty() const { return _flags.focusdirty; }
|
||||
void set_focusdirty(bool d = TRUE) { _flags.focusdirty = d; }
|
||||
void set_dirty(bool d = TRUE) { _flags.dirty = d; set_focusdirty(d); }
|
||||
void set_dirty(bool d = TRUE);
|
||||
|
||||
virtual const char* class_name() const;
|
||||
virtual word class_id() const;
|
||||
|
@ -1,4 +1,4 @@
|
||||
// $Id: relapp.cpp,v 1.25 1994-11-08 16:50:58 guy Exp $
|
||||
// $Id: relapp.cpp,v 1.26 1994-11-14 10:00:06 guy Exp $
|
||||
#include <mailbox.h>
|
||||
#include <sheet.h>
|
||||
#include <urldefid.h>
|
||||
@ -553,6 +553,11 @@ bool TRelation_application::save(bool check_dirty)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (_mask->field(dirty).dirty() > TRUE) // C'e' un campo errato
|
||||
{
|
||||
was_dirty = TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
const KEY k = yesnocancel_box(mode == MODE_MOD ? "Registrare le modifiche?"
|
||||
: "Registrare i dati inseriti?");
|
||||
if (k == K_ESC)
|
||||
|
Loading…
x
Reference in New Issue
Block a user