default.url Aggiunto supporto per l'italiano
printer.cpp Vietao il registra di configurazioni utente text.cpp Modificati include inutili text.h Cambiati valori di un enum per compatibilita con release 4.5 viswin.cpp Tolto bottone di chiusura window.cpp Aggiunti controlli sulla chiusura/distruzione delle finestre. git-svn-id: svn://10.65.10.50/trunk@3804 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
164505b132
commit
76d2e43293
@ -3,8 +3,10 @@
|
||||
#define QAPPNAME "PRASSI"
|
||||
#endif
|
||||
|
||||
#define LANG_ITA_W52
|
||||
|
||||
#ifndef LIBDIR
|
||||
#define LIBDIR f:\xvt.403\win_x86\ptk\lib
|
||||
#define LIBDIR c:\xvt.450\w16_x86\lib
|
||||
#endif
|
||||
|
||||
#define NO_STD_EDIT_MENU
|
||||
|
@ -1072,7 +1072,6 @@ TPrinter::TPrinter()
|
||||
// char szDevice[50];
|
||||
// get default printer driver
|
||||
GetProfileString ("windows", "device", ",,,", defPrinter, sizeof(defPrinter));
|
||||
|
||||
|
||||
TToken_string& pn2 = getprinternames(); // get printer names
|
||||
|
||||
@ -1099,7 +1098,6 @@ TPrinter::TPrinter()
|
||||
|
||||
WriteProfileString("windows", "device", pdev);
|
||||
}
|
||||
|
||||
|
||||
set_fincatura("+++++++++-|");
|
||||
#else
|
||||
@ -1759,15 +1757,17 @@ bool TPrinter::set()
|
||||
{
|
||||
main_app().disable_menu_item (M_FILE_PG_SETUP);
|
||||
|
||||
TMask* msk = new TMask("bagn001a");
|
||||
TMask& mask = *msk;
|
||||
TMask mask("bagn001a");
|
||||
|
||||
TToken_string pn1(50), pn2(100);
|
||||
int i;
|
||||
|
||||
mask.set(MSK_FILENAME, _printerfile);
|
||||
mask.set(MSK_NPAGES, _ncopies);
|
||||
mask.enable(DLG_OK, _config == "Printer");
|
||||
|
||||
const bool can_save = _config == "Printer";
|
||||
mask.enable(DLG_OK, can_save);
|
||||
mask.enable(DLG_SAVEREC, can_save);
|
||||
|
||||
#if XVT_OS == XVT_OS_WIN
|
||||
|
||||
@ -1844,7 +1844,6 @@ bool TPrinter::set()
|
||||
s_printrcd * rcd = get_printrcd();
|
||||
memcpy(rcd, (const char *) oldrcd, _print_rcd_size);
|
||||
set_win_formlen();
|
||||
delete msk;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -1882,8 +1881,6 @@ bool TPrinter::set()
|
||||
|
||||
main_app().enable_menu_item (M_FILE_PG_SETUP);
|
||||
|
||||
if (msk)
|
||||
delete msk;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
@ -1,8 +1,10 @@
|
||||
#include <ctype.h>
|
||||
|
||||
#include <text.h>
|
||||
#include <xvtility.h>
|
||||
#include <regexp.h>
|
||||
#include <relation.h>
|
||||
#include <text.h>
|
||||
#include <window.h>
|
||||
#include <xvtility.h>
|
||||
|
||||
static char TEXT_TMP[513];
|
||||
|
||||
|
@ -10,11 +10,11 @@
|
||||
#endif
|
||||
|
||||
#ifndef __RELATION_H
|
||||
#include <relation.h>
|
||||
class TRelation;
|
||||
#endif
|
||||
|
||||
#ifndef __WINDOW_H
|
||||
#include <window.h>
|
||||
#ifndef __WINDOW_H
|
||||
struct TPoint;
|
||||
#endif
|
||||
|
||||
// @doc INTERNAL
|
||||
@ -30,11 +30,12 @@ enum direction {
|
||||
|
||||
// @enum style | Stile del carattere da utilizzare per il disegno del testo
|
||||
enum style {
|
||||
normal = XVT_FS_NONE, // @emem Stile carattere normale
|
||||
bold = XVT_FS_BOLD, // @emem Stile carattere in grassetto
|
||||
italic = XVT_FS_ITALIC, // @emem Stile carattere in corsivo
|
||||
underlined = XVT_FS_UNDERLINE, // @emem Stile carattere sottolineato
|
||||
tabbed = XVT_FS_SCALE }; // @emem Stile carattere scalato
|
||||
normal, // @emem Stile carattere normale
|
||||
bold, // @emem Stile carattere in grassetto
|
||||
italic, // @emem Stile carattere in corsivo
|
||||
underlined, // @emem Stile carattere sottolineato
|
||||
tabbed // @emem Stile di comodo per tabulazioni
|
||||
};
|
||||
|
||||
// @doc EXTERNAL
|
||||
|
||||
|
@ -244,9 +244,7 @@ void TViswin::exec_link()
|
||||
{
|
||||
((TPrint_application&)main_app()).repeat_print();
|
||||
((TPrint_application&)main_app()).current_cursor()->freeze(FALSE);
|
||||
#if XVT_OS == XVT_OS_WIN
|
||||
xvt_statbar_refresh ();
|
||||
#endif
|
||||
stop_run(K_ENTER);
|
||||
}
|
||||
}
|
||||
@ -307,13 +305,13 @@ void TViswin::erase_link (
|
||||
paint_link (y, x1, x2);
|
||||
_link_displayed = FALSE;
|
||||
if (in_update) return;
|
||||
#if XVT_OS == XVT_OS_WIN
|
||||
|
||||
if (!in_update)
|
||||
{
|
||||
xvt_statbar_set("");
|
||||
xvt_statbar_refresh();
|
||||
}
|
||||
#endif
|
||||
|
||||
if (_link_button)
|
||||
{
|
||||
if (_showbuts) _link_button->disable();
|
||||
@ -649,7 +647,6 @@ void TViswin::paint_screen ()
|
||||
paint_row (rw);
|
||||
else if (!_isopen)
|
||||
{
|
||||
#if XVT_OS == XVT_OS_WIN
|
||||
autoscroll (FALSE);
|
||||
set_mode (M_COPY);
|
||||
set_pen (COLOR_BLACK);
|
||||
@ -671,7 +668,6 @@ void TViswin::paint_screen ()
|
||||
(int)columns()+1, (int)(rows()-(long)BUTTONROW_SIZE));
|
||||
autoscroll (TRUE);
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -924,7 +920,6 @@ void TViswin::paint_row (long j)
|
||||
printat (X_OFFSET+pos, row, fill);
|
||||
}
|
||||
|
||||
#if XVT_OS == XVT_OS_WIN // paint page limits
|
||||
if ((j % _formlen) == (_formlen - 1) && _toplevel) // last row
|
||||
{
|
||||
PNT b, e;
|
||||
@ -937,7 +932,7 @@ void TViswin::paint_row (long j)
|
||||
xvt_dwin_draw_set_pos (win(), b);
|
||||
xvt_dwin_draw_line (win(), e);
|
||||
}
|
||||
#endif
|
||||
|
||||
autoscroll (TRUE);
|
||||
}
|
||||
|
||||
@ -977,7 +972,7 @@ void TViswin::paint_column (
|
||||
const long riga_txt = orig_y + l;
|
||||
const int riga_scr = (int)l+Y_OFFSET;
|
||||
paint_background (riga_txt, riga_scr);
|
||||
#if XVT_OS == XVT_OS_WIN // paint page limits
|
||||
|
||||
if ((riga_txt% _formlen) == (_formlen - 1) && _toplevel)
|
||||
{
|
||||
PNT b, e;
|
||||
@ -990,16 +985,15 @@ void TViswin::paint_column (
|
||||
xvt_dwin_draw_set_pos (win(), b);
|
||||
xvt_dwin_draw_line (win(), e);
|
||||
}
|
||||
#endif
|
||||
|
||||
const char *c = (const char *) _txt.line (riga_txt);
|
||||
#if XVT_OS != XVT_OS_SCOUNIX
|
||||
|
||||
int st = _txt.get_style ((int) j);
|
||||
set_font (PRINT_FONT, st, PRINT_HEIGHT);
|
||||
COLOR bg = trans_color (_txt.get_background ((int) j));
|
||||
COLOR fg = trans_color (_txt.get_foreground ((int) j));
|
||||
set_color (fg, bg);
|
||||
#endif
|
||||
|
||||
printat (col, riga_scr, "%c",
|
||||
(unsigned int) j < strlen (c) ? c[(int) j] : ' ');
|
||||
}
|
||||
@ -1012,8 +1006,6 @@ void TViswin::paint_column (
|
||||
void TViswin::draw_crossbars ()
|
||||
// prints reference crossbars
|
||||
{
|
||||
#if XVT_OS == XVT_OS_WIN
|
||||
|
||||
if (_cross.v > taby(1) && _cross.v < taby(rows () - BUTTONROW_SIZE) &&
|
||||
_cross.h > tabx (X_OFFSET - 1) && _cross.h < tabx(columns()) )
|
||||
{
|
||||
@ -1037,7 +1029,6 @@ void TViswin::draw_crossbars ()
|
||||
xvt_dwin_draw_line (win (), e2);
|
||||
autoscroll (TRUE);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void TViswin::display_crossbar ()
|
||||
@ -1159,18 +1150,9 @@ void TViswin::paint_selection ()
|
||||
void TViswin::paint_waitbar (
|
||||
bool xor) // @parm Utilizzato in UNIX. (default TRUE)
|
||||
{
|
||||
#if XVT_OS == XVT_OS_WIN
|
||||
HIDDEN int pic = 0;
|
||||
((TImage&)_modules[pic]).draw(win());
|
||||
pic = (pic+1) & 0x3;
|
||||
#else
|
||||
autoscroll (FALSE);
|
||||
if (xor)
|
||||
invert_bar (3, rows() - 2, 4, rows() - 1);
|
||||
else
|
||||
printat (3, rows() - 2, "%c", '*');
|
||||
autoscroll (TRUE);
|
||||
#endif
|
||||
}
|
||||
|
||||
void TViswin::txt_clear(COLOR color)
|
||||
@ -1215,10 +1197,8 @@ void TViswin::update ()
|
||||
// bar ((X_OFFSET -1), rows()-BUTTONROW_SIZE, columns() + 1, rows() + 1); //**
|
||||
if (_showbuts && _isopen)
|
||||
paint_waitbar (FALSE);
|
||||
#if XVT_OS == XVT_OS_WIN
|
||||
else
|
||||
if (_showbuts) ((TImage&)_modules[4]).draw(win());
|
||||
#endif
|
||||
else
|
||||
if (_showbuts) ((TImage&)_modules[4]).draw(win());
|
||||
autoscroll (TRUE);
|
||||
paint_header ();
|
||||
paint_screen ();
|
||||
@ -1249,12 +1229,10 @@ void TViswin::scroll_error(long x, long y)
|
||||
beep();
|
||||
update_thumb(x, y);
|
||||
|
||||
#if XVT_OS == XVT_OS_WIN
|
||||
POINT p; GetCursorPos(&p);
|
||||
if (x < 0) p.x -= 16;
|
||||
if (y < 0) p.y -= 16;
|
||||
SetCursorPos(p.x, p.y);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@ -1267,10 +1245,8 @@ void TViswin::on_button(short dlg)
|
||||
if (_isopen) abort_print();
|
||||
else
|
||||
{
|
||||
#if XVT_OS == XVT_OS_WIN
|
||||
xvt_statbar_set("");
|
||||
xvt_statbar_refresh();
|
||||
#endif
|
||||
stop_run(K_ENTER);
|
||||
}
|
||||
break;
|
||||
@ -1351,11 +1327,9 @@ void TViswin::handler (WINDOW win, EVENT * ep)
|
||||
dispatch_e_char(win, CTRL_E);
|
||||
break;
|
||||
case M_EDIT_SEL_ALL: // stampa
|
||||
#if XVT_OS == XVT_OS_WIN
|
||||
xvt_statbar_set ("");
|
||||
xvt_statbar_refresh ();
|
||||
stop_run(CTRL_S);
|
||||
#endif
|
||||
break;
|
||||
case M_SHOW_RULERS: // mostra righelli
|
||||
show_rulers(!_rulers);
|
||||
@ -1366,10 +1340,8 @@ void TViswin::handler (WINDOW win, EVENT * ep)
|
||||
check_menu_item(M_SHOW_BUTTONS, _showbuts);
|
||||
break;
|
||||
case M_EDIT_QUIT: // chiudi
|
||||
#if XVT_OS == XVT_OS_WIN
|
||||
xvt_statbar_set ("");
|
||||
xvt_statbar_refresh ();
|
||||
#endif
|
||||
stop_run (K_ENTER);
|
||||
break;
|
||||
case M_EDIT_COPY: // copia nella clipboard
|
||||
@ -1837,7 +1809,7 @@ void TViswin::handler (WINDOW win, EVENT * ep)
|
||||
display_selection ();
|
||||
}
|
||||
if (ep->type != E_UPDATE || _need_update)
|
||||
TWindow ::handler (win, ep);
|
||||
TWindow::handler (win, ep);
|
||||
else if (ep->type == E_UPDATE)
|
||||
update ();
|
||||
}
|
||||
@ -1900,11 +1872,8 @@ bool TViswin::on_key (KEY key)
|
||||
abort_print ();
|
||||
else
|
||||
{
|
||||
|
||||
#if XVT_OS == XVT_OS_WIN
|
||||
xvt_statbar_set ("");
|
||||
xvt_statbar_refresh ();
|
||||
#endif
|
||||
stop_run (K_ESC);
|
||||
}
|
||||
break;
|
||||
@ -2544,16 +2513,14 @@ TViswin::TViswin(const char *fname,
|
||||
if (_toplevel && alt > maxalt)
|
||||
maxalt = alt;
|
||||
|
||||
#if XVT_OS == XVT_OS_WIN
|
||||
for (int i = 0; i < 4; i++)
|
||||
_modules.add(new TImage(BMP_MODULE1 + i), i);
|
||||
_modules.add(new TImage(BMP_MODULE), i);
|
||||
#endif
|
||||
|
||||
long flags = WSF_HSCROLL | WSF_VSCROLL;
|
||||
if (_toplevel)
|
||||
{
|
||||
flags |= (WSF_CLOSE | WSF_SIZE);
|
||||
flags |= WSF_SIZE /* | WSF_CLOSE */;
|
||||
}
|
||||
|
||||
WIN_TYPE rt = _toplevel ? W_DOC : W_PLAIN;
|
||||
|
@ -284,6 +284,14 @@ bool can_close()
|
||||
return WinManager.can_close();
|
||||
}
|
||||
|
||||
bool is_valid_window(WINDOW w)
|
||||
{
|
||||
bool ok = FALSE;
|
||||
if (w != NULL_WIN)
|
||||
ok = xvt_vobj_get_attr(w, ATTR_NATIVE_WINDOW) != NULL;
|
||||
return ok;
|
||||
}
|
||||
|
||||
// @func Ritorna l'handle della finestra corrente
|
||||
//
|
||||
// @rdesc Restituisce l'handle della finestra corrente.
|
||||
@ -291,8 +299,18 @@ WINDOW cur_win()
|
||||
|
||||
// @comm Se non esiste una finestra corrente allora ritorna NULL_WIN
|
||||
{
|
||||
const TWindow* w = WinManager.cur_win();
|
||||
return w ? w->win() : NULL_WIN;
|
||||
WINDOW win = NULL_WIN;
|
||||
TWindow* w = WinManager.cur_win();
|
||||
if (w)
|
||||
{
|
||||
win = w->win();
|
||||
if (!is_valid_window(w->win()))
|
||||
{
|
||||
w->stop_run(K_FORCE_CLOSE);
|
||||
win = NULL_WIN;
|
||||
}
|
||||
}
|
||||
return win;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
@ -587,7 +605,7 @@ TWindow::~TWindow()
|
||||
{
|
||||
if (_win != NULL_WIN)
|
||||
{
|
||||
if (xvt_vobj_get_attr(_win, ATTR_NATIVE_WINDOW) != 0)
|
||||
if (is_valid_window(_win));
|
||||
xvt_vobj_destroy(_win);
|
||||
_win = NULL_WIN;
|
||||
}
|
||||
@ -597,7 +615,7 @@ TWindow::~TWindow()
|
||||
void TWindow::open()
|
||||
{
|
||||
WINDOW w = win();
|
||||
CHECK(w != NULL_WIN, "Can't open a NULL window");
|
||||
CHECK(is_valid_window(w), "Can't open a NULL window");
|
||||
xvt_vobj_set_visible(w, _open = TRUE);
|
||||
xvt_scr_set_focus_vobj(w);
|
||||
xvt_vobj_raise(w);
|
||||
@ -617,7 +635,8 @@ void TWindow::open_modal()
|
||||
void TWindow::close()
|
||||
{
|
||||
CHECK(_win != NULL_WIN, "Can't close a NULL window");
|
||||
xvt_vobj_set_visible(_win, _open = FALSE);
|
||||
if (is_valid_window(_win))
|
||||
xvt_vobj_set_visible(_win, _open = FALSE);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user