maskfld.* Aggiunta class TField_window usata dai TWindowed_field
sheet.cpp Tolto #include<mask.h> inutile stdtypes.* Tolti riferimenti alla chiave Hardlock e usata classe TDongle git-svn-id: svn://10.65.10.50/trunk@6186 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
377fc430a9
commit
d38dca6338
@ -4216,6 +4216,46 @@ const char* TZoom_field::win2raw(const char* data) const
|
|||||||
const char* TZoom_field::get_first_line() const
|
const char* TZoom_field::get_first_line() const
|
||||||
{ return raw2win(_str); }
|
{ return raw2win(_str); }
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
// TField_window
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef INCL_XI
|
||||||
|
extern "C"
|
||||||
|
{
|
||||||
|
void XVT_CALLCONV1 xi_draw_3d_rect XVT_CC_ARGS( ( WINDOW win, RCT* rctp, BOOLEAN well, int height,
|
||||||
|
COLOR color_light, COLOR color_ctrl, COLOR color_dark ) );
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void TField_window::update()
|
||||||
|
{
|
||||||
|
const WINDOW me = win();
|
||||||
|
const WINDOW pa = parent();
|
||||||
|
if (CAMPI_SCAVATI)
|
||||||
|
{
|
||||||
|
RCT rct; xvt_vobj_get_outer_rect(me, &rct);
|
||||||
|
rct.left -= 2; rct.top -= 2; rct.right += 3; rct.bottom += 3;
|
||||||
|
xi_draw_3d_rect(pa, &rct, TRUE, 2,
|
||||||
|
MASK_LIGHT_COLOR, MASK_BACK_COLOR, MASK_DARK_COLOR);
|
||||||
|
}
|
||||||
|
xvt_dwin_clear(me, NORMAL_BACK_COLOR);
|
||||||
|
}
|
||||||
|
|
||||||
|
TField_window::TField_window(int x, int y, int dx, int dy, WINDOW parent, TWindowed_field* owner)
|
||||||
|
: _owner(owner)
|
||||||
|
{
|
||||||
|
if (owner)
|
||||||
|
{
|
||||||
|
create(x, y, dx, dy, "", WSF_HSCROLL | WSF_VSCROLL, W_PLAIN, parent);
|
||||||
|
set_font();
|
||||||
|
activate(owner->enabled());
|
||||||
|
if (owner->shown())
|
||||||
|
open();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// TWindowed field
|
// TWindowed field
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
@ -4245,21 +4285,18 @@ void TWindowed_field::parse_head(TScanner& scanner)
|
|||||||
_ctl_data._size = scanner.integer();
|
_ctl_data._size = scanner.integer();
|
||||||
}
|
}
|
||||||
|
|
||||||
void TWindowed_field::set_win(TWindow* w)
|
TField_window* TWindowed_field::create_window(int x, int y, int dx, int dy, WINDOW parent)
|
||||||
{
|
{
|
||||||
if (_win)
|
// Must be always overridden and look like this
|
||||||
delete _win;
|
return new TField_window(x, y, dx, dy, parent, this);
|
||||||
_win = w;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TWindowed_field::create(WINDOW parent)
|
void TWindowed_field::create(WINDOW parent)
|
||||||
{
|
{
|
||||||
_dlg = _ctl_data._dlg;
|
_dlg = _ctl_data._dlg;
|
||||||
_parent = parent;
|
_win = create_window(_ctl_data._x, _ctl_data._y,
|
||||||
// Example of what should be done in derived classes
|
_ctl_data._width, _ctl_data._size,
|
||||||
// set_win(new TSpecial_window(_ctl_data._x, _ctl_data._y,
|
parent);
|
||||||
// _ctl_data._width, _ctl_data._size,
|
|
||||||
// parent, this));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TWindowed_field::~TWindowed_field()
|
TWindowed_field::~TWindowed_field()
|
||||||
|
@ -1412,25 +1412,48 @@ public:
|
|||||||
virtual ~TGolem_field();
|
virtual ~TGolem_field();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
// TField_window & TWindowed_field
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
class TWindowed_field;
|
||||||
|
|
||||||
|
class TField_window : public TScroll_window
|
||||||
|
{
|
||||||
|
TWindowed_field* _owner;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void update();
|
||||||
|
|
||||||
|
public:
|
||||||
|
TWindowed_field& owner() const { return *_owner; }
|
||||||
|
|
||||||
|
TField_window(int x, int y, int dx, int dy,
|
||||||
|
WINDOW parent, TWindowed_field* owner);
|
||||||
|
virtual ~TField_window() { }
|
||||||
|
};
|
||||||
|
|
||||||
class TWindowed_field : public TOperable_field
|
class TWindowed_field : public TOperable_field
|
||||||
{
|
{
|
||||||
WINDOW _parent;
|
short _dlg;
|
||||||
short _dlg;
|
TField_window* _win;
|
||||||
TWindow* _win;
|
|
||||||
|
|
||||||
protected: // TMask_field
|
protected: // TMask_field
|
||||||
virtual void parse_head(TScanner& scanner);
|
virtual void parse_head(TScanner& scanner);
|
||||||
virtual void create(WINDOW parent);
|
virtual void create(WINDOW parent);
|
||||||
virtual void enable(bool on = TRUE);
|
|
||||||
virtual void show(bool on = TRUE);
|
protected:
|
||||||
|
virtual TField_window* create_window(int x, int y, int dx, int dy,
|
||||||
|
WINDOW parent) pure;
|
||||||
|
|
||||||
public: // TMask_field
|
public: // TMask_field
|
||||||
virtual short dlg() const { return _dlg; }
|
virtual short dlg() const { return _dlg; }
|
||||||
virtual WINDOW parent() const { return _parent; }
|
virtual WINDOW parent() const { return win().parent(); }
|
||||||
|
virtual void enable(bool on = TRUE);
|
||||||
|
virtual void show(bool on = TRUE);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TWindow& win() const { CHECK(_win, "NULL Window in field"); return *_win; }
|
TField_window& win() const { CHECK(_win, "NULL Window in field"); return *_win; }
|
||||||
void set_win(TWindow* w);
|
|
||||||
|
|
||||||
TWindowed_field(TMask* m) : TOperable_field(m), _win(NULL) { }
|
TWindowed_field(TMask* m) : TOperable_field(m), _win(NULL) { }
|
||||||
virtual ~TWindowed_field();
|
virtual ~TWindowed_field();
|
||||||
@ -1444,12 +1467,15 @@ protected: // TObject
|
|||||||
word class_id() const;
|
word class_id() const;
|
||||||
bool is_kind_of(word cid) const;
|
bool is_kind_of(word cid) const;
|
||||||
|
|
||||||
protected: // TMask_field
|
protected: // TWindowed_field
|
||||||
virtual void create(WINDOW parent);
|
virtual TField_window* create_window(int x, int y, int dx, int dy,
|
||||||
|
WINDOW parent);
|
||||||
public:
|
public:
|
||||||
TTree* tree() const;
|
TTree* tree() const;
|
||||||
void set_tree(TTree* t);
|
void set_tree(TTree* t);
|
||||||
|
|
||||||
|
void hide_leaves(bool yes = TRUE);
|
||||||
|
void show_leaves(bool yes = TRUE) { hide_leaves(!yes); }
|
||||||
|
|
||||||
TTree_field(TMask* m) : TWindowed_field(m) { }
|
TTree_field(TMask* m) : TWindowed_field(m) { }
|
||||||
virtual ~TTree_field() { }
|
virtual ~TTree_field() { }
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
#include <colors.h>
|
#include <colors.h>
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <controls.h>
|
#include <controls.h>
|
||||||
#include <maskfld.h>
|
|
||||||
#include <relation.h>
|
#include <relation.h>
|
||||||
#include <sheet.h>
|
#include <sheet.h>
|
||||||
#include <urldefid.h>
|
#include <urldefid.h>
|
||||||
|
@ -4,14 +4,8 @@
|
|||||||
#define __STDTYPES_CPP
|
#define __STDTYPES_CPP
|
||||||
|
|
||||||
#include <extcdecl.h>
|
#include <extcdecl.h>
|
||||||
#include <conf.h>
|
|
||||||
#include <modaut.h>
|
|
||||||
#include <isamrpc.h>
|
|
||||||
|
|
||||||
#if XVT_OS == XVT_OS_WIN || XVT_OS == XVT_OS_WIN32
|
#include <dongle.h>
|
||||||
#include <dos.h>
|
|
||||||
#include <hlapi_c.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <applicat.h>
|
#include <applicat.h>
|
||||||
#include <isam.h>
|
#include <isam.h>
|
||||||
@ -34,87 +28,25 @@ void set_std_level(const long l)
|
|||||||
|
|
||||||
// @doc INTERNAL
|
// @doc INTERNAL
|
||||||
|
|
||||||
static int _login_status = 0;
|
|
||||||
|
|
||||||
// @func Ritorna il numero di serie della chiave
|
// @func Ritorna il numero di serie della chiave
|
||||||
//
|
//
|
||||||
// @rdesc Numero di serie della chiave
|
// @rdesc Numero di serie della chiave
|
||||||
int get_serial_number(const char* appname)
|
int get_serial_number()
|
||||||
{
|
{
|
||||||
#ifdef _DEMO_
|
bool ok = dongle().ok();
|
||||||
return 0;
|
if (!ok)
|
||||||
#else
|
ok = dongle().login();
|
||||||
|
return ok ? int(dongle().number()) : -1;
|
||||||
if (_login_status == 0)
|
|
||||||
{
|
|
||||||
if (HL_LOGIN(ModAd, DONT_CARE, REFKEY, VERKEY) == STATUS_OK)
|
|
||||||
{
|
|
||||||
_login_status = 1;
|
|
||||||
getser();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_login_status != 1)
|
|
||||||
{
|
|
||||||
if (_login_status == 2)
|
|
||||||
{
|
|
||||||
rpc_UserLogout();
|
|
||||||
SerNo = 0xFFFF;
|
|
||||||
}
|
|
||||||
|
|
||||||
TConfig ini(CONFIG_INSTALL, "Server");
|
|
||||||
const char* server = ini.get("Dongle");
|
|
||||||
const char* guest = "******";
|
|
||||||
const char* utente = (!xvt_running() && !stricmp(appname, "ba0100")) ? guest : user();
|
|
||||||
|
|
||||||
if (rpc_UserLogin(server, utente, guest, appname))
|
|
||||||
{
|
|
||||||
_login_status = 2;
|
|
||||||
SerNo = rpc_DongleNumber();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
_login_status = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch(_login_status)
|
|
||||||
{
|
|
||||||
case 1 : CGetAut(1) != 0; break;
|
|
||||||
case 2 : rpc_DongleModules(_int_tab0); break;
|
|
||||||
default: memset(_int_tab0, 0, sizeof(_int_tab0)); break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return SerNo;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool test_assistance_year()
|
bool test_assistance_year()
|
||||||
{
|
{
|
||||||
#ifndef _DEMO_
|
#ifndef _DEMO_
|
||||||
int dongle_year = TDate(TODAY).year();
|
int dongle_year = TDate(TODAY).year();
|
||||||
|
|
||||||
if (SerNo > 0)
|
if (get_serial_number() > 0)
|
||||||
{
|
{
|
||||||
int new_year = 0;
|
const int new_year = dongle().year_assist();
|
||||||
switch(_login_status)
|
|
||||||
{
|
|
||||||
case 1:
|
|
||||||
{
|
|
||||||
word dati[4];
|
|
||||||
HL_READ(60, (int*)&dati[0]);
|
|
||||||
HL_READ(61, (int*)&dati[1]);
|
|
||||||
HL_READ(62, (int*)&dati[2]);
|
|
||||||
HL_READ(63, (int*)&dati[3]);
|
|
||||||
HL_CODE(dati, HLBLOCK);
|
|
||||||
new_year = int(dati[0]);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
new_year = rpc_DongleYear();
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (new_year >= 1997 && new_year <= dongle_year)
|
if (new_year >= 1997 && new_year <= dongle_year)
|
||||||
dongle_year = new_year;
|
dongle_year = new_year;
|
||||||
}
|
}
|
||||||
@ -166,15 +98,8 @@ void init_global_vars()
|
|||||||
|
|
||||||
// @func Dealloca le variabili globali
|
// @func Dealloca le variabili globali
|
||||||
void free_global_vars()
|
void free_global_vars()
|
||||||
{
|
{
|
||||||
#ifndef _DEMO_
|
destroy_dongle();
|
||||||
#if XVT_OS == XVT_OS_WIN || XVT_OS == XVT_OS_WIN32
|
|
||||||
if (_login_status == 2)
|
|
||||||
rpc_UserLogout();
|
|
||||||
else
|
|
||||||
HL_LOGOUT();
|
|
||||||
#endif
|
|
||||||
#endif // _DEMO_
|
|
||||||
|
|
||||||
if (openf != NULL)
|
if (openf != NULL)
|
||||||
{
|
{
|
||||||
@ -186,8 +111,7 @@ void free_global_vars()
|
|||||||
// DB_exit();
|
// DB_exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef FOXPRO
|
#ifndef FOXPRO
|
||||||
#include <xvt.h>
|
|
||||||
|
|
||||||
// @doc EXTERNAL
|
// @doc EXTERNAL
|
||||||
|
|
||||||
|
@ -17,10 +17,6 @@
|
|||||||
#define EOL -1
|
#define EOL -1
|
||||||
#define NOERR 0
|
#define NOERR 0
|
||||||
|
|
||||||
#define REFKEY "CAMPOKEY"
|
|
||||||
#define VERKEY "ìpÙˆ¬cê<"
|
|
||||||
|
|
||||||
|
|
||||||
// @doc EXTERNAL
|
// @doc EXTERNAL
|
||||||
|
|
||||||
// @type UINT8 | Altro nome di assegnazione per gli unsigned char
|
// @type UINT8 | Altro nome di assegnazione per gli unsigned char
|
||||||
@ -80,7 +76,7 @@ typedef UINT16 KEY;
|
|||||||
|
|
||||||
#undef _SVID
|
#undef _SVID
|
||||||
|
|
||||||
int get_serial_number(const char* appname);
|
int get_serial_number();
|
||||||
bool test_assistance_year();
|
bool test_assistance_year();
|
||||||
|
|
||||||
long get_std_level();
|
long get_std_level();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user