Patch level : 2.0 nopatch
Files correlati : tutti Ricompilazione Demo : [ ] Commento : Cancellato un sacco, una sporta ed un sacchettino di plastica di roba inutile: riferimenti a FOXPRO, simboli doppi, __tmp_string e compagnia bella. git-svn-id: svn://10.65.10.50/trunk@10949 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
85776578c2
commit
80e4d5fb3e
@ -345,7 +345,6 @@ long TApplication::task_eh(WINDOW win, EVENT *ep)
|
|||||||
create_backdrop();
|
create_backdrop();
|
||||||
|
|
||||||
do_events();
|
do_events();
|
||||||
os_allow_another_instance();
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case E_UPDATE:
|
case E_UPDATE:
|
||||||
@ -557,8 +556,6 @@ bool TApplication::destroy()
|
|||||||
|
|
||||||
void TApplication::terminate()
|
void TApplication::terminate()
|
||||||
{
|
{
|
||||||
os_wake_up_caller();
|
|
||||||
|
|
||||||
close_all_dialogs();
|
close_all_dialogs();
|
||||||
|
|
||||||
if (_create_ok)
|
if (_create_ok)
|
||||||
|
@ -78,7 +78,7 @@
|
|||||||
#define CCLEAREOL(w) xwclrtoeol(WINHND(w))
|
#define CCLEAREOL(w) xwclrtoeol(WINHND(w))
|
||||||
#define CCLEAREOS(w) xwclrtobot(WINHND(w))
|
#define CCLEAREOS(w) xwclrtobot(WINHND(w))
|
||||||
#define CCLEARWIN(w) xpaint(WINHND(w), setattr[warr[(w)].bkat][iscolordisp])
|
#define CCLEARWIN(w) xpaint(WINHND(w), setattr[warr[(w)].bkat][iscolordisp])
|
||||||
#define INSET(c,s) (ustrchr((s), (c)) != (uchar *) NULL)
|
#define INSET(c,s) (ustrchr((s), (c)) != (byte *) NULL)
|
||||||
#define CBITTEST(w,p) (((w) & (0x0001 << (p))) != 0)
|
#define CBITTEST(w,p) (((w) & (0x0001 << (p))) != 0)
|
||||||
#define CBITSET(w,p,v) ((v) ? ((w) |= (0x0001 << (p))) : ((w) &= (~(0x0001 << (p)))))
|
#define CBITSET(w,p,v) ((v) ? ((w) |= (0x0001 << (p))) : ((w) &= (~(0x0001 << (p)))))
|
||||||
/* @(!) 2.3.01.temp */
|
/* @(!) 2.3.01.temp */
|
||||||
@ -87,43 +87,18 @@
|
|||||||
#endif
|
#endif
|
||||||
/* @(:) 2.3.01.temp */
|
/* @(:) 2.3.01.temp */
|
||||||
#define NoErr 0
|
#define NoErr 0
|
||||||
//#define BADSIG (int (*)()) -1
|
|
||||||
//#define MAXMENUITEM 21
|
|
||||||
//#define MAXWIN 20
|
|
||||||
//#define MAXBORDERS 8
|
|
||||||
//#define MAXATTRS 20
|
|
||||||
//#define BackCh '_'
|
|
||||||
#define directory "dir.gen"
|
#define directory "dir.gen"
|
||||||
#define ntrrec "trc.gen"
|
#define ntrrec "trc.gen"
|
||||||
#define nditta "dta.gen"
|
#define nditta "dta.gen"
|
||||||
//#define printers "prt.gen"
|
|
||||||
//#define prcodes "prc.gen"
|
|
||||||
//#define WWMESS 0
|
|
||||||
//#define WWBAR 1
|
|
||||||
|
|
||||||
/* gia' definito in gm.h
|
|
||||||
typedef unsigned int word;
|
|
||||||
*/
|
|
||||||
typedef unsigned char byte;
|
|
||||||
#ifndef DOS
|
|
||||||
typedef unsigned char uchar;
|
|
||||||
#endif
|
|
||||||
#ifdef FOXPRO
|
|
||||||
typedef unsigned char uchar;
|
|
||||||
#endif
|
|
||||||
#ifdef XVT
|
|
||||||
#ifdef DOS
|
|
||||||
typedef unsigned char uchar;
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef unsigned char byte;
|
||||||
typedef char Str8[9];
|
typedef char Str8[9];
|
||||||
typedef char Str25[26];
|
typedef char Str25[26];
|
||||||
typedef char Str30[32];
|
typedef char Str30[32];
|
||||||
typedef char Str80[82];
|
typedef char Str80[82];
|
||||||
typedef char Str255[256];
|
typedef char Str255[256];
|
||||||
typedef uchar StCh[256];
|
typedef byte StCh[256];
|
||||||
typedef long TrDate;
|
typedef long TrDate;
|
||||||
|
|
||||||
typedef char PathSt[82];
|
typedef char PathSt[82];
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
#ifdef DOS
|
#ifdef DOS
|
||||||
|
|
||||||
#define XVT_INCL_NATIVE
|
|
||||||
#include <xvt.h>
|
#include <xvt.h>
|
||||||
#include <checks.h>
|
#include <checks.h>
|
||||||
|
|
||||||
@ -385,7 +384,8 @@ HIDDEN const char* prefname()
|
|||||||
{
|
{
|
||||||
#ifdef DOS
|
#ifdef DOS
|
||||||
char *s1 = getenv("PREFPATH");
|
char *s1 = getenv("PREFPATH");
|
||||||
if (s1 == NULL) s1 = "campo.ini";
|
if (s1 == NULL)
|
||||||
|
s1 = "campo.ini";
|
||||||
s = strdup(s1);
|
s = strdup(s1);
|
||||||
#else
|
#else
|
||||||
s = malloc(32);
|
s = malloc(32);
|
||||||
@ -428,7 +428,7 @@ HIDDEN BOOLEAN CGetPrawin()
|
|||||||
BOOLEAN good = _access(prawin, 0x00) == 0;
|
BOOLEAN good = _access(prawin, 0x00) == 0;
|
||||||
if (good)
|
if (good)
|
||||||
{
|
{
|
||||||
UINT len = GetPrivateProfileString("Main", "Study", "", __ptprf, sizeof(__ptprf), prawin);
|
const int len = xvt_sys_get_profile_string(prawin, "Main", "Study", "", __ptprf, sizeof(__ptprf));
|
||||||
good = len > 0;
|
good = len > 0;
|
||||||
if (good)
|
if (good)
|
||||||
{
|
{
|
||||||
@ -441,7 +441,7 @@ HIDDEN BOOLEAN CGetPrawin()
|
|||||||
__ptprf[len+1] = '\0';
|
__ptprf[len+1] = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
GetPrivateProfileString("Main", "Firm", "COM", firm, sizeof(firm), prawin);
|
xvt_sys_get_profile_string(prawin, "Main", "Firm", "COM", firm, sizeof(firm));
|
||||||
ditta = atol(firm);
|
ditta = atol(firm);
|
||||||
if (ditta > 0) sprintf(firm, "%05ldA", ditta);
|
if (ditta > 0) sprintf(firm, "%05ldA", ditta);
|
||||||
_makepath(cprefix, NULL, __ptprf, firm, NULL);
|
_makepath(cprefix, NULL, __ptprf, firm, NULL);
|
||||||
@ -454,8 +454,8 @@ HIDDEN BOOLEAN CGetPrawin()
|
|||||||
BOOLEAN CPutPrawin(const char* pref)
|
BOOLEAN CPutPrawin(const char* pref)
|
||||||
{
|
{
|
||||||
const char* prawin = CGetPrawinName();
|
const char* prawin = CGetPrawinName();
|
||||||
BOOLEAN good = WritePrivateProfileString("Main", "Firm", pref, prawin);
|
BOOLEAN good = xvt_sys_set_profile_string(prawin, "Main", "Firm", pref);
|
||||||
WritePrivateProfileString("Main", "Study", __ptprf, prawin);
|
xvt_sys_set_profile_string(prawin, "Main", "Study", __ptprf);
|
||||||
return good;
|
return good;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
#define XVT_INCL_NATIVE
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include <applicat.h>
|
#include <applicat.h>
|
||||||
@ -18,7 +17,6 @@
|
|||||||
#define USERADR 26952
|
#define USERADR 26952
|
||||||
#define AGAADR 26953
|
#define AGAADR 26953
|
||||||
#define PRASSIADR 26954
|
#define PRASSIADR 26954
|
||||||
#define PROCOMADR 26956
|
|
||||||
#define REFKEY (unsigned char*)"CAMPOKEY"
|
#define REFKEY (unsigned char*)"CAMPOKEY"
|
||||||
#define VERKEY (unsigned char*)"ìpÙˆ¬cê<"
|
#define VERKEY (unsigned char*)"ìpÙˆ¬cê<"
|
||||||
|
|
||||||
@ -288,12 +286,6 @@ bool TDongle::hardlock_login(bool test_all_keys)
|
|||||||
HL_LOGOUT();
|
HL_LOGOUT();
|
||||||
if (HL_LOGIN(PRASSIADR, LOCAL_DEVICE, REFKEY, VERKEY) == STATUS_OK)
|
if (HL_LOGIN(PRASSIADR, LOCAL_DEVICE, REFKEY, VERKEY) == STATUS_OK)
|
||||||
_type = _prassi_dongle;
|
_type = _prassi_dongle;
|
||||||
else
|
|
||||||
{
|
|
||||||
HL_LOGOUT();
|
|
||||||
if (HL_LOGIN(PROCOMADR, LOCAL_DEVICE, REFKEY, VERKEY) == STATUS_OK)
|
|
||||||
_type = _procom_dongle;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
HL_LOGOUT();
|
HL_LOGOUT();
|
||||||
|
@ -27,7 +27,7 @@ word TExternal_app::run(
|
|||||||
comm_name.custom_path();
|
comm_name.custom_path();
|
||||||
|
|
||||||
TString name(comm_name.name());
|
TString name(comm_name.name());
|
||||||
if (utente == TRUE) // utente puo' essere 0 = No, 1 = Si, 3 = Forzatura
|
if (utente == 1) // utente puo' essere 0 = No, 1 = Si, 3 = Forzatura
|
||||||
{
|
{
|
||||||
bool our_app = name.len() > 2;
|
bool our_app = name.len() > 2;
|
||||||
if (our_app && atoi(name) < 70)
|
if (our_app && atoi(name) < 70)
|
||||||
|
@ -39,6 +39,9 @@
|
|||||||
#define MOSTMEM 51200
|
#define MOSTMEM 51200
|
||||||
#define LEASTMEM 10240
|
#define LEASTMEM 10240
|
||||||
|
|
||||||
|
#define INT16 short
|
||||||
|
#define UINT16 unsigned short
|
||||||
|
|
||||||
/* @END */
|
/* @END */
|
||||||
|
|
||||||
/* @T */
|
/* @T */
|
||||||
|
@ -196,15 +196,13 @@ const char* TDir::tab_des(const char* tab)
|
|||||||
{
|
{
|
||||||
const char* t = tab; if (t[0] == '$' || t[0] == '%') t++;
|
const char* t = tab; if (t[0] == '$' || t[0] == '%') t++;
|
||||||
|
|
||||||
TString256 tmp;
|
TString& tmp = get_tmp_string();
|
||||||
tmp << DESCDIR << "/d" << t << ".des";
|
tmp << DESCDIR << "/d" << t << ".des";
|
||||||
|
|
||||||
#ifndef FOXPRO
|
|
||||||
TConfig cnf(tmp, DESCTAB);
|
TConfig cnf(tmp, DESCTAB);
|
||||||
t = cnf.get("Description", NULL, -1, tab);
|
tmp = cnf.get("Description", NULL, -1, tab);
|
||||||
#endif
|
|
||||||
|
|
||||||
return strcpy(__tmp_string, t);
|
return tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -448,9 +448,9 @@ void TForm_item::string_at(int x, int y, const char* s)
|
|||||||
|
|
||||||
if (_width > 0 && strlen(s) > (word)_width) // Tronca testo se necessario
|
if (_width > 0 && strlen(s) > (word)_width) // Tronca testo se necessario
|
||||||
{
|
{
|
||||||
strncpy(__tmp_string, s, width());
|
TString& tmp = get_tmp_string();
|
||||||
__tmp_string[_width] = '\0';
|
tmp.strncpy(s, _width);
|
||||||
s = __tmp_string;
|
s = tmp;
|
||||||
}
|
}
|
||||||
row.put(s, x-1); // Stampa testo
|
row.put(s, x-1); // Stampa testo
|
||||||
}
|
}
|
||||||
@ -1187,15 +1187,15 @@ bool TForm_string::update()
|
|||||||
|
|
||||||
const char* TForm_string::example() const
|
const char* TForm_string::example() const
|
||||||
{
|
{
|
||||||
TString prova("XXXXXXXXXXXXXXXXXXXXXXXXXX");
|
TString& prova = get_tmp_string();
|
||||||
|
prova = "XXXXXXXXXXXXXXXXXXXXXXXXXX";
|
||||||
apply_format(prova);
|
apply_format(prova);
|
||||||
const int w = width();
|
const int w = width();
|
||||||
if (prova.size() > w && w > 0) prova.cut(w);
|
if (prova.size() > w && w > 0)
|
||||||
return strcpy(__tmp_string, prova);
|
prova.cut(w);
|
||||||
|
return prova;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// TForm_number
|
// TForm_number
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
@ -1404,9 +1404,10 @@ void TForm_number::set_picture(const char *p)
|
|||||||
|
|
||||||
const char* TForm_number::example() const
|
const char* TForm_number::example() const
|
||||||
{
|
{
|
||||||
TString s("1234567890.123456");
|
TString& s = get_tmp_string();
|
||||||
|
s = "1234567890.123456";
|
||||||
apply_format(s);
|
apply_format(s);
|
||||||
return strcpy(__tmp_string, s);
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
@ -1747,8 +1748,9 @@ const char* TForm_date::example() const
|
|||||||
{
|
{
|
||||||
const TDate dd(TODAY);
|
const TDate dd(TODAY);
|
||||||
TFormatted_date d(dd); d.set_format(_format);
|
TFormatted_date d(dd); d.set_format(_format);
|
||||||
TString s(d.string());
|
TString& s = get_tmp_string();
|
||||||
return strcpy(__tmp_string, s);
|
s = d.string();
|
||||||
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
@ -3360,6 +3362,7 @@ void TForm::arrange_form()
|
|||||||
// CHR(15), allora prima del posizionamento scrivo il chr(15) sulla stampante!
|
// CHR(15), allora prima del posizionamento scrivo il chr(15) sulla stampante!
|
||||||
|
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
int i, x;
|
int i, x;
|
||||||
TString str_pos;
|
TString str_pos;
|
||||||
TMask m("ba2100c");
|
TMask m("ba2100c");
|
||||||
@ -3386,14 +3389,8 @@ void TForm::arrange_form()
|
|||||||
os_spool_row(str_pos);
|
os_spool_row(str_pos);
|
||||||
os_close_spool_row();
|
os_close_spool_row();
|
||||||
} while (m.run() == K_ESC); // cicla sulla stampa posizionamento...
|
} while (m.run() == K_ESC); // cicla sulla stampa posizionamento...
|
||||||
/* const int h = height(odd_page);
|
|
||||||
str_pos.cut(0);
|
|
||||||
for (i=0; i < h; i++) str_pos << "\n";
|
|
||||||
lpt = fopen(device,"w");
|
|
||||||
if (lpt == NULL) fatal_box("Non rieso ad aprire il device %s.",device);
|
|
||||||
fprintf(lpt, "%s", (const char*) str_pos); // Salta tante righe quanto e' lungo il form standard
|
|
||||||
fclose (lpt); */
|
|
||||||
printer().set_offset(-(_ipy-1), printer().get_column_offset());
|
printer().set_offset(-(_ipy-1), printer().get_column_offset());
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
long TForm::records() const
|
long TForm::records() const
|
||||||
|
@ -481,7 +481,7 @@ void TMask::start_run()
|
|||||||
for (int i = 0; i < max; i++)
|
for (int i = 0; i < max; i++)
|
||||||
{
|
{
|
||||||
TMask_field& f = fld(i);
|
TMask_field& f = fld(i);
|
||||||
if (f.dirty() <= TRUE)
|
if (f.dirty() <= 1) // Attenzione puo' valere anche 3 per i very dirty!
|
||||||
{
|
{
|
||||||
f.set_dirty(FALSE);
|
f.set_dirty(FALSE);
|
||||||
const bool op = f.is_operable() && !f.is_kind_of(CLASS_BUTTON_FIELD);
|
const bool op = f.is_operable() && !f.is_kind_of(CLASS_BUTTON_FIELD);
|
||||||
@ -496,20 +496,8 @@ void TMask::start_run()
|
|||||||
for (int i = 0; i < max; i++)
|
for (int i = 0; i < max; i++)
|
||||||
{
|
{
|
||||||
TMask_field& f = fld(i);
|
TMask_field& f = fld(i);
|
||||||
|
if (f.dirty() == 1) // Attenzione puo' valere anche 3 per i very dirty!
|
||||||
/* Guy: proviamo a fregarcene
|
f.set_dirty(FALSE);
|
||||||
if (query_mode() && f.is_edit() && f.in_key(1) &&
|
|
||||||
!f.automagic() && !f.empty())
|
|
||||||
{
|
|
||||||
f.set_dirty(TRUE);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
*/
|
|
||||||
|
|
||||||
{
|
|
||||||
if (f.dirty() == TRUE)
|
|
||||||
f.set_dirty(FALSE);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_init_time = clock()-start;
|
_init_time = clock()-start;
|
||||||
|
@ -14,7 +14,6 @@ enum os_type { os_Unknown, os_Win32s, os_Windows, os_Windows95, os_Windows98,
|
|||||||
os_type os_get_type();
|
os_type os_get_type();
|
||||||
|
|
||||||
void os_post_menu_event(WINDOW win, MENU_TAG tag);
|
void os_post_menu_event(WINDOW win, MENU_TAG tag);
|
||||||
void os_set_event_hook();
|
|
||||||
|
|
||||||
unsigned long os_get_free_memory();
|
unsigned long os_get_free_memory();
|
||||||
bool os_is_removable_drive(const char* path);
|
bool os_is_removable_drive(const char* path);
|
||||||
@ -26,16 +25,11 @@ bool os_test_disk_free_space(const char* path, unsigned long filesize_bytes);
|
|||||||
|
|
||||||
int os_execute(const TFilename& path, bool sync, bool iconizetask, bool showchild);
|
int os_execute(const TFilename& path, bool sync, bool iconizetask, bool showchild);
|
||||||
unsigned long os_execute_in_window(const TFilename& path, WINDOW win);
|
unsigned long os_execute_in_window(const TFilename& path, WINDOW win);
|
||||||
bool os_file_exist(const char* path);
|
|
||||||
|
|
||||||
bool os_destroy_native_icon(unsigned icon);
|
bool os_destroy_native_icon(unsigned icon);
|
||||||
void os_draw_native_icon(WINDOW win, const RCT& rct, unsigned icon);
|
void os_draw_native_icon(WINDOW win, const RCT& rct, unsigned icon);
|
||||||
|
|
||||||
bool os_allow_another_instance();
|
|
||||||
bool os_deny_another_instance();
|
|
||||||
|
|
||||||
bool os_spawn_by_menu();
|
bool os_spawn_by_menu();
|
||||||
void os_wake_up_caller();
|
|
||||||
|
|
||||||
void os_iconize_window(WINDOW win);
|
void os_iconize_window(WINDOW win);
|
||||||
void os_maximize_window(WINDOW win);
|
void os_maximize_window(WINDOW win);
|
||||||
@ -44,9 +38,12 @@ void os_restore_window(WINDOW win);
|
|||||||
int os_get_printer_names(TToken_string& printers);
|
int os_get_printer_names(TToken_string& printers);
|
||||||
bool os_set_default_printer(const char* name);
|
bool os_set_default_printer(const char* name);
|
||||||
bool os_get_default_printer(TString& name);
|
bool os_get_default_printer(TString& name);
|
||||||
|
|
||||||
|
/*
|
||||||
bool os_open_spool_row(const char* device);
|
bool os_open_spool_row(const char* device);
|
||||||
bool os_spool_row(const char* str);
|
bool os_spool_row(const char* str);
|
||||||
bool os_close_spool_row();
|
bool os_close_spool_row();
|
||||||
|
*/
|
||||||
|
|
||||||
bool os_dongle_server_running();
|
bool os_dongle_server_running();
|
||||||
|
|
||||||
|
@ -12,70 +12,10 @@
|
|||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
#include <window.h>
|
#include <window.h>
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
|
||||||
// Win32 event hook
|
|
||||||
///////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
HIDDEN BOOLEAN event_hook(HWND hwnd,
|
|
||||||
UINT msg,
|
|
||||||
UINT wparam,
|
|
||||||
ULONG lparam,
|
|
||||||
long* ret)
|
|
||||||
{
|
|
||||||
switch(msg)
|
|
||||||
{
|
|
||||||
case WM_MENUCHAR:
|
|
||||||
if (wparam > ' ' && wparam <= 'z')
|
|
||||||
{
|
|
||||||
WINDOW win = cur_win();
|
|
||||||
if (win != NULL_WIN)
|
|
||||||
{
|
|
||||||
const KEY key = toupper(wparam)+K_CTRL;
|
|
||||||
dispatch_e_char(win, key);
|
|
||||||
*ret = 2 << 16;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case WM_KEYDOWN:
|
|
||||||
if (wparam == VK_F1)
|
|
||||||
{
|
|
||||||
if ((lparam & (1<<29)) == 0) // Il tasto alt non e' premuto
|
|
||||||
{
|
|
||||||
KEY k = K_F1;
|
|
||||||
|
|
||||||
int sc = GetAsyncKeyState(VK_CONTROL); // Stato del tasto control
|
|
||||||
if (sc & 0x8000) k += K_CTRL;
|
|
||||||
|
|
||||||
int ss = GetAsyncKeyState(VK_SHIFT); // Stato del tasto shift
|
|
||||||
if (ss & 0x8000) k += K_SHIFT;
|
|
||||||
|
|
||||||
WINDOW win = cur_win();
|
|
||||||
if (win != NULL_WIN)
|
|
||||||
dispatch_e_char(win, k);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return TRUE; // Continua col processo normale
|
|
||||||
}
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// Operating system dependent functions
|
// Operating system dependent functions
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
bool os_allow_another_instance()
|
|
||||||
{
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool os_deny_another_instance()
|
|
||||||
{
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool os_destroy_native_icon(unsigned icon)
|
bool os_destroy_native_icon(unsigned icon)
|
||||||
{
|
{
|
||||||
return DestroyIcon((HICON)icon) != 0;
|
return DestroyIcon((HICON)icon) != 0;
|
||||||
@ -131,8 +71,9 @@ static unsigned long get_disk_size(const char* path, bool tot, char unit)
|
|||||||
case 'T': nBytes >>= 40; break; // Terabytes
|
case 'T': nBytes >>= 40; break; // Terabytes
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
unsigned long nVal = nBytes > ULONG_MAX ? (unsigned long)ULONG_MAX
|
|
||||||
: (unsigned long)nBytes;
|
const unsigned long nMax = (unsigned long)(~0L);
|
||||||
|
unsigned long nVal = nBytes > nMax ? nMax : (unsigned long)nBytes;
|
||||||
return nVal;
|
return nVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -322,11 +263,10 @@ bool os_get_default_printer(TString& name)
|
|||||||
|
|
||||||
bool os_spawn_by_menu()
|
bool os_spawn_by_menu()
|
||||||
{
|
{
|
||||||
#ifdef DBG
|
bool ok = true;
|
||||||
bool ok = TRUE;
|
#ifndef DBG
|
||||||
#else
|
TString16 str = main_app().name();
|
||||||
TString str = main_app().name();
|
ok = str == "ba0100";
|
||||||
bool ok = str == "ba0100";
|
|
||||||
if (!ok)
|
if (!ok)
|
||||||
{
|
{
|
||||||
str.insert("ba0100->", 0);
|
str.insert("ba0100->", 0);
|
||||||
@ -369,72 +309,6 @@ void os_post_menu_event(WINDOW win, MENU_TAG tag)
|
|||||||
PostMessage(w, WM_COMMAND, tag, 0L);
|
PostMessage(w, WM_COMMAND, tag, 0L);
|
||||||
}
|
}
|
||||||
|
|
||||||
void os_set_event_hook()
|
|
||||||
{
|
|
||||||
xvt_vobj_set_attr(NULL_WIN, ATTR_EVENT_HOOK, (long)event_hook);
|
|
||||||
|
|
||||||
long twin_style = WSF_ICONIZABLE | WSF_CLOSE | WSF_SIZE;
|
|
||||||
const int scx = GetSystemMetrics(SM_CXSCREEN);
|
|
||||||
const int scy = GetSystemMetrics(SM_CYSCREEN);
|
|
||||||
static RCT rct;
|
|
||||||
if (scx <= 640 && os_get_type() >= os_Windows95)
|
|
||||||
{
|
|
||||||
const int bcx = GetSystemMetrics(SM_CXFRAME);
|
|
||||||
const int bcy = GetSystemMetrics(SM_CYFRAME);
|
|
||||||
rct.left = -bcx;
|
|
||||||
rct.top = GetSystemMetrics(SM_CYCAPTION)-bcy-1;
|
|
||||||
rct.right = scx+bcx;
|
|
||||||
rct.bottom = scy+bcy;
|
|
||||||
xvt_vobj_set_attr(NULL_WIN, ATTR_WIN_PM_TWIN_STARTUP_RCT, long(&rct));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
TConfig cfg(CONFIG_USER, "Colors");
|
|
||||||
const int res = cfg.get_int("Resolution");
|
|
||||||
if (res >= 640 && res < scx)
|
|
||||||
{
|
|
||||||
const int width = res + 2*GetSystemMetrics(SM_CXFRAME);
|
|
||||||
const int height = (res * 3) / 4 + 2*GetSystemMetrics(SM_CYFRAME) - GetSystemMetrics(SM_CYCAPTION) - 1;
|
|
||||||
const int deltax = (scx - width) / 2;
|
|
||||||
const int deltay = (scy - height) / 2;
|
|
||||||
rct.left = deltax;
|
|
||||||
rct.top = deltay;
|
|
||||||
rct.right = deltax + width;
|
|
||||||
rct.bottom = deltay + height;
|
|
||||||
xvt_vobj_set_attr(NULL_WIN, ATTR_WIN_PM_TWIN_STARTUP_RCT, long(&rct));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
twin_style |= WSF_MAXIMIZED;
|
|
||||||
}
|
|
||||||
|
|
||||||
xvt_vobj_set_attr(NULL_WIN,ATTR_WIN_PM_TWIN_STARTUP_STYLE, twin_style);
|
|
||||||
}
|
|
||||||
|
|
||||||
void os_wake_up_caller()
|
|
||||||
{
|
|
||||||
HWND hwnd = (HWND)xvt_vobj_get_attr(TASK_WIN, ATTR_NATIVE_WINDOW);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool os_file_exist(const char* file)
|
|
||||||
{
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool os_open_spool_row(const char* device)
|
|
||||||
{
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool os_spool_row(const char* str)
|
|
||||||
{
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool os_close_spool_row()
|
|
||||||
{
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
void os_iconize_window(WINDOW win)
|
void os_iconize_window(WINDOW win)
|
||||||
{
|
{
|
||||||
HWND hwnd = (HWND)xvt_vobj_get_attr(win, ATTR_NATIVE_WINDOW);
|
HWND hwnd = (HWND)xvt_vobj_get_attr(win, ATTR_NATIVE_WINDOW);
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#include <codeb.h>
|
#include <codeb.h>
|
||||||
|
#include <diction.h>
|
||||||
#include <extcdecl.h>
|
#include <extcdecl.h>
|
||||||
#include <currency.h>
|
#include <currency.h>
|
||||||
#include <prefix.h>
|
#include <prefix.h>
|
||||||
@ -857,12 +858,13 @@ TFirm::TFirm(long code)
|
|||||||
// TPrefix
|
// TPrefix
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
HIDDEN const char* const glockname = "xx";
|
|
||||||
|
|
||||||
TPrefix::TPrefix() : _filelevel(0), _items(0), _firm(NULL)
|
TPrefix::TPrefix() : _filelevel(0), _items(0), _firm(NULL)
|
||||||
{
|
{
|
||||||
_prefix = ".";
|
_prefix = ".";
|
||||||
CGetPref();
|
CGetPref();
|
||||||
|
|
||||||
|
if (!fexist(__ptprf) || strchr(__ptprf, ' ') != NULL)
|
||||||
|
fatal_box(FR("Percorso dati non valido: '%s'"), __ptprf);
|
||||||
|
|
||||||
const TFilename dir(cprefix);
|
const TFilename dir(cprefix);
|
||||||
const long primaditta = atol(dir.name());
|
const long primaditta = atol(dir.name());
|
||||||
@ -872,7 +874,6 @@ TPrefix::TPrefix() : _filelevel(0), _items(0), _firm(NULL)
|
|||||||
DB_init();
|
DB_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
TPrefix::~TPrefix()
|
TPrefix::~TPrefix()
|
||||||
{
|
{
|
||||||
set();
|
set();
|
||||||
@ -988,7 +989,7 @@ bool TPrefix::test(const char* s) const
|
|||||||
s1.add("dir.gen");
|
s1.add("dir.gen");
|
||||||
|
|
||||||
if (!s1.exist())
|
if (!s1.exist())
|
||||||
return error_box("Impossibile trovare il file '%s'", (const char*)s1);
|
return error_box(FR("Impossibile trovare il file '%s'"), (const char*)s1);
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@ -1043,6 +1044,9 @@ const char* TPrefix::get_studio() const
|
|||||||
bool TPrefix::set_studio(const char* study, long ditta)
|
bool TPrefix::set_studio(const char* study, long ditta)
|
||||||
{
|
{
|
||||||
TFilename dirtest(study);
|
TFilename dirtest(study);
|
||||||
|
if (!dirtest.exist() || dirtest.find(' ') >= 0)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
dirtest.add("com/dir.gen");
|
dirtest.add("com/dir.gen");
|
||||||
if (!dirtest.exist())
|
if (!dirtest.exist())
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -13,8 +13,6 @@
|
|||||||
|
|
||||||
#include <bagn001a.h>
|
#include <bagn001a.h>
|
||||||
|
|
||||||
#define STYLE_NUM 4
|
|
||||||
|
|
||||||
HIDDEN TPrinter* _printer = NULL;
|
HIDDEN TPrinter* _printer = NULL;
|
||||||
|
|
||||||
TPrinter& printer()
|
TPrinter& printer()
|
||||||
@ -1697,8 +1695,10 @@ void TPrinter::print_txt(TTextfile& txt)
|
|||||||
xvt_print_open();
|
xvt_print_open();
|
||||||
xvt_print_start_thread(start_print, (long) (&PrintWhat));
|
xvt_print_start_thread(start_print, (long) (&PrintWhat));
|
||||||
xvt_print_close();
|
xvt_print_close();
|
||||||
|
/*
|
||||||
if (is_generic())
|
if (is_generic())
|
||||||
os_spool_row("\n"); // Force flushing on Generic printer
|
os_spool_row("\n"); // Force flushing on Generic printer
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1745,8 +1745,6 @@ void TPrinter::close ()
|
|||||||
else if (_printertype == winprinter && _txt.lines() > 0L)
|
else if (_printertype == winprinter && _txt.lines() > 0L)
|
||||||
{
|
{
|
||||||
print_txt(_txt);
|
print_txt(_txt);
|
||||||
if (is_generic())
|
|
||||||
os_spool_row("\n"); // Force flushing on Generic printer
|
|
||||||
os_set_default_printer(_defPrinter);
|
os_set_default_printer(_defPrinter);
|
||||||
}
|
}
|
||||||
else if (_printertype == fileprinter)
|
else if (_printertype == fileprinter)
|
||||||
|
@ -976,7 +976,7 @@ bool TRelation_application::save(bool check_dirty)
|
|||||||
|
|
||||||
const KEY last = _mask->last_key();
|
const KEY last = _mask->last_key();
|
||||||
const bool annulla = last == K_ESC || last == K_QUIT || last == K_F9;
|
const bool annulla = last == K_ESC || last == K_QUIT || last == K_F9;
|
||||||
const bool errore = dirty && _mask->field(dirty).dirty() > TRUE;
|
const bool errore = dirty && _mask->field(dirty).dirty() > 1;
|
||||||
|
|
||||||
KEY k;
|
KEY k;
|
||||||
if (errore)
|
if (errore)
|
||||||
|
@ -1,11 +1,9 @@
|
|||||||
#ifndef __STDTYPES_H
|
#ifndef __STDTYPES_H
|
||||||
#define __STDTYPES_H
|
#define __STDTYPES_H
|
||||||
|
|
||||||
#ifdef XVT
|
|
||||||
#ifndef XVT_INCL_XVTENV
|
#ifndef XVT_INCL_XVTENV
|
||||||
#include <xvt_env.h>
|
#include <xvt_env.h>
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef DBG
|
#ifndef DBG
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
@ -20,76 +18,42 @@
|
|||||||
#define EOL -1
|
#define EOL -1
|
||||||
#define NOERR 0
|
#define NOERR 0
|
||||||
|
|
||||||
// @doc EXTERNAL
|
|
||||||
|
|
||||||
// @type UINT8 | Altro nome di assegnazione per gli unsigned char
|
|
||||||
typedef unsigned char UINT8;
|
|
||||||
|
|
||||||
// @type UINT16 | Altro nome di assegnazione per gli unsigned short
|
|
||||||
typedef unsigned short UINT16;
|
|
||||||
|
|
||||||
// @doc EXTERNAL
|
|
||||||
|
|
||||||
// @type UINT32 | Altro nome di assegnazione per gli unsigned long
|
|
||||||
#if XVT_OS==XVT_OS_WIN32
|
|
||||||
typedef unsigned int UINT32;
|
|
||||||
#else
|
|
||||||
typedef unsigned long UINT32;
|
|
||||||
#endif
|
|
||||||
// @doc EXTERNAL
|
|
||||||
|
|
||||||
// @type INT8 | Altro nome di assegnazione per i char
|
|
||||||
typedef char INT8;
|
|
||||||
// @type INT16 | Altro nome di assegnazione per gli short
|
|
||||||
typedef short INT16;
|
|
||||||
|
|
||||||
// @doc EXTERNAL
|
|
||||||
|
|
||||||
// @type INT32 | Altro nome di assegnazione per i long
|
|
||||||
#if XVT_OS==XVT_OS_WIN32
|
|
||||||
typedef int INT32;
|
|
||||||
#else
|
|
||||||
typedef long INT32;
|
|
||||||
#endif
|
|
||||||
// @doc EXTERNAL
|
// @doc EXTERNAL
|
||||||
|
|
||||||
// @type bool | Tipo booleano che puo' assumere i valori TRUE (definito come 1)
|
// @type bool | Tipo booleano che puo' assumere i valori TRUE (definito come 1)
|
||||||
// e FALSE (definito come 0).
|
// e FALSE (definito come 0).
|
||||||
|
|
||||||
#if XVT_OS==XVT_OS_WIN32
|
#ifdef __cplusplus
|
||||||
|
#ifndef FALSE
|
||||||
#ifndef __cplusplus
|
#define FALSE false
|
||||||
typedef unsigned short bool;
|
#define TRUE true
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
typedef unsigned short bool;
|
||||||
typedef unsigned char bool;
|
#ifndef FALSE
|
||||||
|
#define FALSE 0
|
||||||
#endif
|
#define TRUE 1
|
||||||
|
#endif
|
||||||
#ifndef FALSE
|
|
||||||
#define FALSE 0
|
|
||||||
#define TRUE 1
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @doc EXTERNAL
|
// @doc EXTERNAL
|
||||||
|
|
||||||
// @type word | Tipo per la definizione di tipi di lunghezza pari a due byte
|
// @type word | Tipo per la definizione di tipi di lunghezza pari a due byte
|
||||||
typedef UINT16 word;
|
typedef unsigned short word;
|
||||||
// @doc EXTERNAL
|
// @doc EXTERNAL
|
||||||
|
|
||||||
// @type dword | Tipo per la definizione di tipi di lunghezza pari a quattro byte
|
// @type dword | Tipo per la definizione di tipi di lunghezza pari a quattro byte
|
||||||
typedef UINT32 dword;
|
typedef unsigned int dword;
|
||||||
// @doc EXTERNAL
|
// @doc EXTERNAL
|
||||||
|
|
||||||
// @type byte | Tipo per la definizione di tipi di lunghezza pari ad un byte
|
// @type byte | Tipo per la definizione di tipi di lunghezza pari ad un byte
|
||||||
typedef UINT8 byte;
|
typedef unsigned char byte;
|
||||||
// @doc EXTERNAL
|
// @doc EXTERNAL
|
||||||
|
|
||||||
// @type KEY | Tipo per la definizione di variabili destinati a contenere i caratteri
|
// @type KEY | Tipo per la definizione di variabili destinati a contenere i caratteri
|
||||||
// immessi da tastiera
|
// immessi da tastiera
|
||||||
typedef UINT16 KEY;
|
typedef unsigned short KEY;
|
||||||
|
|
||||||
#define UNDEFINED -32767
|
#define UNDEFINED -32767
|
||||||
|
|
||||||
@ -103,13 +67,6 @@ void set_std_level(const long l);
|
|||||||
void init_global_vars();
|
void init_global_vars();
|
||||||
void free_global_vars();
|
void free_global_vars();
|
||||||
|
|
||||||
/*
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern void* operator new(unsigned);
|
|
||||||
extern void operator delete(void*);
|
|
||||||
#endif
|
|
||||||
*/
|
|
||||||
|
|
||||||
#endif // __STDTYPES_H
|
#endif // __STDTYPES_H
|
||||||
|
|
||||||
|
|
||||||
|
@ -754,6 +754,21 @@ TString& TString::picture(
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Certified 99% (s != NULL)
|
||||||
|
int TString::strncpy(const char* s, int n)
|
||||||
|
{
|
||||||
|
if (n > size())
|
||||||
|
resize(n, FALSE);
|
||||||
|
int i = 0;
|
||||||
|
if (s && *s)
|
||||||
|
{
|
||||||
|
for (; *s && i < n; i++)
|
||||||
|
_str[i] = *s++;
|
||||||
|
}
|
||||||
|
_str[i] = '\0';
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
|
||||||
// Certified 90% (spark size limited)
|
// Certified 90% (spark size limited)
|
||||||
// @doc EXTERNAL
|
// @doc EXTERNAL
|
||||||
|
|
||||||
@ -940,16 +955,6 @@ void TFixed_string::resize(int size, bool)
|
|||||||
_size, size, _str);
|
_size, size, _str);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Certified 99% (s != NULL)
|
|
||||||
void TFixed_string::strncpy(const char* s, int n)
|
|
||||||
{
|
|
||||||
CHECKD(n <= _size, "Fixed string can't be strncpyed: lenght ", n);
|
|
||||||
int i = 0;
|
|
||||||
if (s && *s)
|
|
||||||
for (; *s && i < n; i++) _str[i] = *s++;
|
|
||||||
_str[i] = '\0';
|
|
||||||
}
|
|
||||||
|
|
||||||
// Certified 99%
|
// Certified 99%
|
||||||
// @doc EXTERNAL
|
// @doc EXTERNAL
|
||||||
|
|
||||||
|
@ -168,6 +168,9 @@ public:
|
|||||||
// @cmember Formatta una stringa usando il formato dato da pic
|
// @cmember Formatta una stringa usando il formato dato da pic
|
||||||
TString& picture(const char* pic, const char* s);
|
TString& picture(const char* pic, const char* s);
|
||||||
|
|
||||||
|
// @cmember Copia n caratteri nella stringa oggetto
|
||||||
|
int strncpy(const char* s, int n);
|
||||||
|
|
||||||
// @cmember Manda un output formattato alla stringa oggetto
|
// @cmember Manda un output formattato alla stringa oggetto
|
||||||
virtual TString& format(const char* fmt, ...);
|
virtual TString& format(const char* fmt, ...);
|
||||||
|
|
||||||
@ -293,8 +296,6 @@ public:
|
|||||||
// @cmember Assegna la stringa passata
|
// @cmember Assegna la stringa passata
|
||||||
const TString& operator =(const char* str)
|
const TString& operator =(const char* str)
|
||||||
{ return set(str); }
|
{ return set(str); }
|
||||||
// @cmember Copia n caratteri nella stringa oggetto
|
|
||||||
void strncpy(const char* s, int n);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#include <direct.h>
|
#include <direct.h>
|
||||||
|
|
||||||
|
#include <diction.h>
|
||||||
#include <os_dep.h>
|
#include <os_dep.h>
|
||||||
#include <strings.h>
|
#include <strings.h>
|
||||||
|
|
||||||
@ -75,11 +76,6 @@ bool fexist(
|
|||||||
const char* file) // @parm Nome del file di cui contrallare l'esistenza
|
const char* file) // @parm Nome del file di cui contrallare l'esistenza
|
||||||
{
|
{
|
||||||
int err = access(file, 0x00);
|
int err = access(file, 0x00);
|
||||||
if (err) // Se la access fallisce provo con una funzione dipendente dal sistema
|
|
||||||
{
|
|
||||||
if (os_file_exist(file))
|
|
||||||
err = 0;
|
|
||||||
}
|
|
||||||
return err == 0;
|
return err == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -115,8 +111,6 @@ bool make_dir(
|
|||||||
return res == 0;
|
return res == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef FOXPRO
|
|
||||||
|
|
||||||
// @doc EXTERNAL
|
// @doc EXTERNAL
|
||||||
|
|
||||||
// @func Ritorna la lista dei file il cui nome corrisponde alla stringa (con caratteri
|
// @func Ritorna la lista dei file il cui nome corrisponde alla stringa (con caratteri
|
||||||
@ -182,15 +176,19 @@ bool input_filename(TFilename& file)
|
|||||||
strcpy(fs.name, file);
|
strcpy(fs.name, file);
|
||||||
strcpy(fs.creator, "AGA");
|
strcpy(fs.creator, "AGA");
|
||||||
|
|
||||||
const bool good = xvt_dm_post_file_open(&fs, "Selezionare il file ...") == FL_OK;
|
const bool good = xvt_dm_post_file_open(&fs, TR("Selezionare il file")) == FL_OK;
|
||||||
xvt_fsys_set_dir(&dir);
|
xvt_fsys_set_dir(&dir);
|
||||||
|
|
||||||
if (good)
|
if (good)
|
||||||
file = fs.name;
|
{
|
||||||
|
char buf[_MAX_PATH];
|
||||||
|
xvt_fsys_convert_dir_to_str(&fs.dir, buf, sizeof(buf));
|
||||||
|
file = buf;
|
||||||
|
file.add(fs.name);
|
||||||
|
}
|
||||||
return good;
|
return good;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Certified 99%
|
// Certified 99%
|
||||||
// @doc EXTERNAL
|
// @doc EXTERNAL
|
||||||
@ -207,12 +205,15 @@ char* format(
|
|||||||
{
|
{
|
||||||
va_list pars;
|
va_list pars;
|
||||||
|
|
||||||
|
TString& tmp = get_tmp_string(512);
|
||||||
|
char* buf = tmp.get_buffer();
|
||||||
|
|
||||||
va_start(pars, fmt);
|
va_start(pars, fmt);
|
||||||
const int tot = vsprintf(__tmp_string, fmt, pars);
|
const int tot = vsprintf(buf, fmt, pars);
|
||||||
va_end(pars);
|
va_end(pars);
|
||||||
|
|
||||||
CHECK(tot >= 0 && tot < sizeof(__tmp_string)-1, "Ue'! Ma quanto scrivi?");
|
CHECK(tot >= 0 && tot < 512, "Ue'! Ma quanto scrivi?");
|
||||||
return(__tmp_string);
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
// @doc EXTERNAL
|
// @doc EXTERNAL
|
||||||
|
@ -2603,8 +2603,8 @@ TViswin::TViswin(const char *fname,
|
|||||||
_showbuts = cnf.get_bool("Bottoni", NULL, -1,TRUE);
|
_showbuts = cnf.get_bool("Bottoni", NULL, -1,TRUE);
|
||||||
|
|
||||||
// Se rulers vale 3 allora leggi dal config il vero valore
|
// Se rulers vale 3 allora leggi dal config il vero valore
|
||||||
if (_rulers != FALSE && _rulers != TRUE)
|
if (_rulers != 0 && _rulers != 1)
|
||||||
_rulers = cnf.get_bool("Righelli", NULL, -1,TRUE);
|
_rulers = cnf.get_bool("Righelli", NULL, -1, TRUE);
|
||||||
|
|
||||||
PRINT_HEIGHT = cnf.get_int("FontSize", NULL, -1, PRINT_HEIGHT);
|
PRINT_HEIGHT = cnf.get_int("FontSize", NULL, -1, PRINT_HEIGHT);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#include <applicat.h>
|
#include <applicat.h>
|
||||||
#include <colors.h>
|
#include <colors.h>
|
||||||
|
#include <config.h>
|
||||||
#include <controls.h>
|
#include <controls.h>
|
||||||
#include <mask.h>
|
#include <mask.h>
|
||||||
#include <os_dep.h>
|
#include <os_dep.h>
|
||||||
@ -377,7 +378,34 @@ void set_xvt_hooks()
|
|||||||
{
|
{
|
||||||
xvt_vobj_set_attr(NULL_WIN,ATTR_ERRMSG_HANDLER, (long)error_hook);
|
xvt_vobj_set_attr(NULL_WIN,ATTR_ERRMSG_HANDLER, (long)error_hook);
|
||||||
xvt_vobj_set_attr(NULL_WIN,ATTR_WIN_PM_DRAWABLE_TWIN, TRUE);
|
xvt_vobj_set_attr(NULL_WIN,ATTR_WIN_PM_DRAWABLE_TWIN, TRUE);
|
||||||
os_set_event_hook();
|
|
||||||
|
long twin_style = WSF_ICONIZABLE | WSF_CLOSE | WSF_SIZE;
|
||||||
|
TConfig cfg(CONFIG_USER, "Colors");
|
||||||
|
const int res = cfg.get_int("Resolution");
|
||||||
|
|
||||||
|
const int scx = xvt_vobj_get_attr(NULL_WIN, ATTR_SCREEN_WIDTH);
|
||||||
|
const int scy = xvt_vobj_get_attr(NULL_WIN, ATTR_SCREEN_HEIGHT);
|
||||||
|
if (res >= 640 && res < scx)
|
||||||
|
{
|
||||||
|
const fx = xvt_vobj_get_attr(NULL_WIN, ATTR_FRAME_WIDTH);
|
||||||
|
const fy = xvt_vobj_get_attr(NULL_WIN, ATTR_FRAME_HEIGHT);
|
||||||
|
const cy = xvt_vobj_get_attr(NULL_WIN, ATTR_TITLE_HEIGHT);
|
||||||
|
const int width = res + 2*fx;
|
||||||
|
const int height = (res * scy) / scx + 2*fy + cy;
|
||||||
|
const int deltax = (scx - width) / 2;
|
||||||
|
const int deltay = (scy - height) / 2;
|
||||||
|
|
||||||
|
RCT rct;
|
||||||
|
rct.left = deltax;
|
||||||
|
rct.top = deltay;
|
||||||
|
rct.right = deltax + width;
|
||||||
|
rct.bottom = deltay + height;
|
||||||
|
xvt_vobj_set_attr(NULL_WIN, ATTR_WIN_PM_TWIN_STARTUP_RCT, long(&rct));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
twin_style |= WSF_MAXIMIZED;
|
||||||
|
|
||||||
|
xvt_vobj_set_attr(NULL_WIN,ATTR_WIN_PM_TWIN_STARTUP_STYLE, twin_style);
|
||||||
}
|
}
|
||||||
|
|
||||||
// @doc INTERNAL
|
// @doc INTERNAL
|
||||||
@ -388,15 +416,11 @@ void customize_controls(
|
|||||||
{
|
{
|
||||||
if (on)
|
if (on)
|
||||||
{
|
{
|
||||||
//#if XVT_OS == XVT_OS_WIN || XVT_OS == XVT_OS_WIN32
|
|
||||||
// HInstance = (HINSTANCE)xvt_vobj_get_attr(NULL_WIN, ATTR_WIN_INSTANCE);
|
|
||||||
//#endif
|
|
||||||
customize_colors();
|
customize_colors();
|
||||||
init_controls();
|
init_controls();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
os_deny_another_instance();
|
|
||||||
free_controls();
|
free_controls();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user