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);
|
create(-1, 6, 72, 6, "BANNER", WSF_NONE, W_PLAIN);
|
||||||
hide_brush();
|
hide_brush();
|
||||||
open_modal();
|
open();
|
||||||
do_events();
|
do_events();
|
||||||
}
|
}
|
||||||
|
|
||||||
TBanner::~TBanner()
|
TBanner::~TBanner()
|
||||||
{
|
{
|
||||||
close_modal();
|
if (is_open())
|
||||||
|
close();
|
||||||
}
|
}
|
||||||
|
|
||||||
void TBanner::handler(WINDOW win, EVENT* ep)
|
void TBanner::handler(WINDOW win, EVENT* ep)
|
||||||
|
@ -483,8 +483,8 @@ void TMask::get_mask_fields()
|
|||||||
{
|
{
|
||||||
const char* fd = f.get_field_data();
|
const char* fd = f.get_field_data();
|
||||||
CHECK(fd, "NULL pointer comparison");
|
CHECK(fd, "NULL pointer comparison");
|
||||||
if (window_data != fd)
|
if (window_data == fd)
|
||||||
f.set_dirty(window_data != fd);
|
f.set_dirty(FALSE);
|
||||||
}
|
}
|
||||||
f.set_field_data(window_data);
|
f.set_field_data(window_data);
|
||||||
}
|
}
|
||||||
@ -756,8 +756,11 @@ bool TMask::on_key(KEY key)
|
|||||||
TMask_field& f = fld(i);
|
TMask_field& f = fld(i);
|
||||||
if (f.class_id() != CLASS_BUTTON_FIELD || !f.active()) continue;
|
if (f.class_id() != CLASS_BUTTON_FIELD || !f.active()) continue;
|
||||||
TButton_field& b = (TButton_field&)f;
|
TButton_field& b = (TButton_field&)f;
|
||||||
if (b.virtual_key() == key && test_focus_change())
|
if (b.virtual_key() == key)
|
||||||
{
|
{
|
||||||
|
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);
|
f.on_key(K_SPACE);
|
||||||
break;
|
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 <xvt.h>
|
||||||
|
|
||||||
#include <applicat.h>
|
#include <applicat.h>
|
||||||
@ -68,9 +68,11 @@ char TMask_field::TField_Flags::update(const char* s)
|
|||||||
exchange = TRUE; break;
|
exchange = TRUE; break;
|
||||||
case 'Z':
|
case 'Z':
|
||||||
zerofilled = TRUE; break;
|
zerofilled = TRUE; break;
|
||||||
|
default :
|
||||||
#ifdef DBG
|
#ifdef DBG
|
||||||
default : ::warning_box("FLAG sconosciuto in %s: %c", kk, *s); break;
|
yesnofatal_box("FLAG sconosciuto in %s: %c", kk, *s);
|
||||||
#endif
|
#endif
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return *s;
|
return *s;
|
||||||
}
|
}
|
||||||
@ -370,6 +372,23 @@ word TMask_field::last_key() const
|
|||||||
return (word)u;
|
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%
|
// Certified 99%
|
||||||
const char* TMask_field::get_window_data() const
|
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
|
#ifndef __MASKFLD_H
|
||||||
#define __MASKFLD_H
|
#define __MASKFLD_H
|
||||||
|
|
||||||
@ -121,7 +121,7 @@ public:
|
|||||||
bool dirty() const { return _flags.dirty; }
|
bool dirty() const { return _flags.dirty; }
|
||||||
bool focusdirty() const { return _flags.focusdirty; }
|
bool focusdirty() const { return _flags.focusdirty; }
|
||||||
void set_focusdirty(bool d = TRUE) { _flags.focusdirty = d; }
|
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 const char* class_name() const;
|
||||||
virtual word class_id() 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 <mailbox.h>
|
||||||
#include <sheet.h>
|
#include <sheet.h>
|
||||||
#include <urldefid.h>
|
#include <urldefid.h>
|
||||||
@ -553,6 +553,11 @@ bool TRelation_application::save(bool check_dirty)
|
|||||||
return TRUE;
|
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?"
|
const KEY k = yesnocancel_box(mode == MODE_MOD ? "Registrare le modifiche?"
|
||||||
: "Registrare i dati inseriti?");
|
: "Registrare i dati inseriti?");
|
||||||
if (k == K_ESC)
|
if (k == K_ESC)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user