Aggiustate lunghezze dei lisbox (forse) e posizioni dei radio-button
orizzontali git-svn-id: svn://10.65.10.50/trunk@2882 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
ecb53048ca
commit
47f30ceee4
@ -1,20 +1,20 @@
|
|||||||
// Header file for PRINT SETUP mask
|
// Header file for PRINT SETUP mask
|
||||||
|
|
||||||
#define MSK_1_TYPE 101
|
#define MSK_TYPE 101
|
||||||
#define MSK_1_FILENAME 102
|
#define MSK_FILENAME 102
|
||||||
#define MSK_1_PRINTERS 103
|
#define MSK_PRINTERS 103
|
||||||
#define MSK_1_CODES 111
|
#define MSK_CODES 111
|
||||||
// IMPORTANTE! lasciare il numero 111,
|
// IMPORTANTE! lasciare il numero 111,
|
||||||
// in modo che la maschera sia compatibile
|
// in modo che la maschera sia compatibile
|
||||||
// con i metodi di ba2300, usati anche
|
// con i metodi di ba2300, usati anche
|
||||||
// da printer
|
// da printer
|
||||||
#define MSK_1_ISGRAPHICS 334
|
#define MSK_ISGRAPHICS 334
|
||||||
#define MSK_1_SIZE 335
|
#define MSK_SIZE 335
|
||||||
#define MSK_1_LINES 336
|
#define MSK_LINES 336
|
||||||
#define MSK_1_NPAGES 337
|
#define MSK_NPAGES 337
|
||||||
#define MSK_1_FONT 338
|
#define MSK_FONT 338
|
||||||
|
|
||||||
#define MSK_1_PRINTERFILE prn.epf
|
#define MSK_PRINTERFILE prn.epf
|
||||||
#define MSK_1_NAMESFILE nms.epf
|
#define MSK_NAMESFILE nms.epf
|
||||||
#define PRINTERSFILE "prn.epf"
|
#define PRINTERSFILE "prn.epf"
|
||||||
#define NAMESFILE "nms.epf"
|
#define NAMESFILE "nms.epf"
|
||||||
|
@ -1,39 +1,39 @@
|
|||||||
#include <bagn001a.h>
|
#include <bagn001a.h>
|
||||||
|
|
||||||
PAGE "IMPOSTAZIONE STAMPANTE" -1 -1 76 13
|
PAGE "IMPOSTAZIONE STAMPANTE" -1 -1 76 11
|
||||||
|
|
||||||
RADIOBUTTON MSK_1_TYPE 1 74
|
RADIOBUTTON MSK_TYPE 1 74
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 1 "Stampa su..."
|
PROMPT 2 1 "Stampa su..."
|
||||||
HELP "Selezionare il tipo dove direzionare la stampa"
|
HELP "Selezionare il tipo dove direzionare la stampa"
|
||||||
ITEM "0|Stampante"
|
ITEM "0|Stampante"
|
||||||
MESSAGE HIDE,MSK_1_FILENAME
|
MESSAGE HIDE,MSK_FILENAME
|
||||||
MESSAGE SHOW,MSK_1_PRINTERS|ENABLE,MSK_1_PRINTERS
|
MESSAGE SHOW,MSK_PRINTERS|ENABLE,MSK_PRINTERS
|
||||||
MESSAGE ENABLE,MSK_1_CODES
|
MESSAGE ENABLE,MSK_CODES
|
||||||
MESSAGE ENABLE,MSK_1_SIZE
|
MESSAGE ENABLE,MSK_SIZE
|
||||||
MESSAGE ENABLE,MSK_1_LINES
|
MESSAGE ENABLE,MSK_LINES
|
||||||
MESSAGE ENABLE,MSK_1_FONT
|
MESSAGE ENABLE,MSK_FONT
|
||||||
MESSAGE ENABLE,DLG_SETPRINT
|
MESSAGE ENABLE,DLG_SETPRINT
|
||||||
ITEM "2|Visualizzazione"
|
ITEM "2|Visualizzazione"
|
||||||
MESSAGE HIDE,MSK_1_FILENAME
|
MESSAGE HIDE,MSK_FILENAME
|
||||||
MESSAGE SHOW,MSK_1_PRINTERS|DISABLE,MSK_1_PRINTERS
|
MESSAGE SHOW,MSK_PRINTERS|DISABLE,MSK_PRINTERS
|
||||||
MESSAGE DISABLE,MSK_1_CODES
|
MESSAGE DISABLE,MSK_CODES
|
||||||
MESSAGE DISABLE,MSK_1_SIZE
|
MESSAGE DISABLE,MSK_SIZE
|
||||||
MESSAGE DISABLE,MSK_1_LINES
|
MESSAGE DISABLE,MSK_LINES
|
||||||
MESSAGE DISABLE,MSK_1_FONT
|
MESSAGE DISABLE,MSK_FONT
|
||||||
MESSAGE DISABLE,DLG_SETPRINT
|
MESSAGE DISABLE,DLG_SETPRINT
|
||||||
ITEM "1|File su disco"
|
ITEM "1|File su disco"
|
||||||
MESSAGE SHOW,MSK_1_FILENAME
|
MESSAGE SHOW,MSK_FILENAME
|
||||||
MESSAGE HIDE,MSK_1_PRINTERS
|
MESSAGE HIDE,MSK_PRINTERS
|
||||||
MESSAGE ENABLE,MSK_1_CODES
|
MESSAGE ENABLE,MSK_CODES
|
||||||
MESSAGE DISABLE,MSK_1_SIZE
|
MESSAGE DISABLE,MSK_SIZE
|
||||||
MESSAGE DISABLE,MSK_1_LINES
|
MESSAGE DISABLE,MSK_LINES
|
||||||
MESSAGE DISABLE,MSK_1_FONT
|
MESSAGE DISABLE,MSK_FONT
|
||||||
MESSAGE DISABLE,DLG_SETPRINT
|
MESSAGE DISABLE,DLG_SETPRINT
|
||||||
FLAGS "Z"
|
FLAGS "Z"
|
||||||
END
|
END
|
||||||
|
|
||||||
LIST MSK_1_PRINTERS 50
|
LIST MSK_PRINTERS 50
|
||||||
BEGIN
|
BEGIN
|
||||||
/* viene riempito a run-time con nomi letti da config */
|
/* viene riempito a run-time con nomi letti da config */
|
||||||
PROMPT 4 5 "Stampante "
|
PROMPT 4 5 "Stampante "
|
||||||
@ -41,7 +41,7 @@ BEGIN
|
|||||||
FLAGS "G"
|
FLAGS "G"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING MSK_1_FILENAME 52
|
STRING MSK_FILENAME 52
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 4 5 "Nome file "
|
PROMPT 4 5 "Nome file "
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
@ -51,28 +51,28 @@ BEGIN
|
|||||||
WARNING "E' necessario specificare un nome di file"
|
WARNING "E' necessario specificare un nome di file"
|
||||||
END
|
END
|
||||||
|
|
||||||
LIST MSK_1_CODES 40
|
LIST MSK_CODES 40
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 4 6 "Tipo stampa "
|
PROMPT 4 6 "Tipo stampa "
|
||||||
HELP "Modalita' nelle quale si desidera la stampa"
|
HELP "Modalita' nelle quale si desidera la stampa"
|
||||||
FLAGS "H"
|
FLAGS "H"
|
||||||
END
|
END
|
||||||
|
|
||||||
LIST MSK_1_FONT 2 16
|
LIST MSK_FONT 2 16
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 4 6 "Font "
|
PROMPT 4 6 "Font "
|
||||||
HELP "Font di stampa su video o stampante"
|
HELP "Font di stampa su video o stampante"
|
||||||
ITEM "Courier|Courier"
|
ITEM "Courier|Courier"
|
||||||
END
|
END
|
||||||
|
|
||||||
LIST MSK_1_SIZE 3
|
LIST MSK_SIZE 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 31 6 "Carattere "
|
PROMPT 31 6 "Carattere "
|
||||||
ITEM "12|12"
|
ITEM "12|12"
|
||||||
HELP "Dimensioni del carattere di stampa"
|
HELP "Dimensioni del carattere di stampa"
|
||||||
END
|
END
|
||||||
|
|
||||||
LIST MSK_1_LINES 3
|
LIST MSK_LINES 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 52 6 "Linee/Inch "
|
PROMPT 52 6 "Linee/Inch "
|
||||||
ITEM "4|4"
|
ITEM "4|4"
|
||||||
@ -85,26 +85,21 @@ BEGIN
|
|||||||
HELP "Numero di linee per pollice"
|
HELP "Numero di linee per pollice"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER MSK_1_NPAGES 3
|
NUMBER MSK_NPAGES 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 54 8 "N.o copie "
|
PROMPT 54 8 "N.o copie "
|
||||||
HELP "Numero di copie da fare"
|
HELP "Numero di copie da fare"
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN MSK_1_ISGRAPHICS
|
BOOLEAN MSK_ISGRAPHICS
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 4 8 "Stampa elementi grafici"
|
PROMPT 4 8 "Stampa elementi grafici"
|
||||||
HELP "Indicare se stampare elementi grafici (linee, box, logo) quando la stampante lo consente"
|
HELP "Indicare se stampare elementi grafici (linee, box, logo) quando la stampante lo consente"
|
||||||
END
|
END
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 73 4
|
|
||||||
BEGIN
|
|
||||||
PROMPT 2 9 ""
|
|
||||||
END
|
|
||||||
|
|
||||||
BUTTON DLG_SETPRINT 10 2
|
BUTTON DLG_SETPRINT 10 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -14 10 "~Imposta"
|
PROMPT -14 -1 "~Imposta"
|
||||||
HELP "Chiama l'Impostazione Stampante di Windows"
|
HELP "Chiama l'Impostazione Stampante di Windows"
|
||||||
MESSAGE EXIT,DLG_SETPRINT
|
MESSAGE EXIT,DLG_SETPRINT
|
||||||
PICTURE 165
|
PICTURE 165
|
||||||
@ -112,7 +107,7 @@ END
|
|||||||
|
|
||||||
BUTTON DLG_SAVEREC 10 2
|
BUTTON DLG_SAVEREC 10 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -24 10 "~Registra"
|
PROMPT -24 -1 "~Registra"
|
||||||
MESSAGE EXIT,K_INS
|
MESSAGE EXIT,K_INS
|
||||||
PICTURE 103
|
PICTURE 103
|
||||||
PICTURE 153
|
PICTURE 153
|
||||||
@ -120,12 +115,12 @@ END
|
|||||||
|
|
||||||
BUTTON DLG_OK 10 2
|
BUTTON DLG_OK 10 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -34 10 ""
|
PROMPT -34 -1 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_CANCEL 10 2
|
BUTTON DLG_CANCEL 10 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -44 10 ""
|
PROMPT -44 -1 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
@ -1247,6 +1247,8 @@ TRadiobutton_control::TRadiobutton_control(WINDOW win, short cid,
|
|||||||
const XI_CONTAINER_ORIENTATION orient = height == 1 ? XI_STACK_HORIZONTAL : XI_STACK_VERTICAL;
|
const XI_CONTAINER_ORIENTATION orient = height == 1 ? XI_STACK_HORIZONTAL : XI_STACK_VERTICAL;
|
||||||
XI_RCT rct; coord2rct(win, left, top, width, height, rct);
|
XI_RCT rct; coord2rct(win, left, top, width, height, rct);
|
||||||
|
|
||||||
|
if (height > 1)
|
||||||
|
{
|
||||||
// Aggiusta rettangolo in modo da centrare i bottoni
|
// Aggiusta rettangolo in modo da centrare i bottoni
|
||||||
const int extra = rct.bottom - rct.top - tot * XI_FU_MULTIPLE;
|
const int extra = rct.bottom - rct.top - tot * XI_FU_MULTIPLE;
|
||||||
if (extra > 0)
|
if (extra > 0)
|
||||||
@ -1254,7 +1256,7 @@ TRadiobutton_control::TRadiobutton_control(WINDOW win, short cid,
|
|||||||
else
|
else
|
||||||
if (extra < 0)
|
if (extra < 0)
|
||||||
rct.bottom -= extra;
|
rct.bottom -= extra;
|
||||||
|
}
|
||||||
XI_OBJ_DEF* def = xi_add_container_def(NULL, cid, &rct, orient, cid);
|
XI_OBJ_DEF* def = xi_add_container_def(NULL, cid, &rct, orient, cid);
|
||||||
def->app_data = (long)this;
|
def->app_data = (long)this;
|
||||||
|
|
||||||
@ -1509,9 +1511,12 @@ void TDropDownList::ddl_str_eh(XI_OBJ* itf, XI_EVENT* xiev)
|
|||||||
ddl->close();
|
ddl->close();
|
||||||
else if (xiev->v.xvte.type == E_CHAR)
|
else if (xiev->v.xvte.type == E_CHAR)
|
||||||
{
|
{
|
||||||
KEY k = xiev->v.xvte.v.chr.ch;
|
const KEY k = xiev->v.xvte.v.chr.ch;
|
||||||
if (k == K_ENTER || k == K_ESC)
|
if (k == K_ENTER || k == K_ESC)
|
||||||
ddl->close();
|
ddl->close();
|
||||||
|
else
|
||||||
|
if (k >= ' ' && k <= 'z')
|
||||||
|
ddl->select_by_initial(k);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case XIE_CHAR_CELL: // TBI: questa e' copiata da edit
|
case XIE_CHAR_CELL: // TBI: questa e' copiata da edit
|
||||||
@ -1527,7 +1532,7 @@ void TDropDownList::close()
|
|||||||
{
|
{
|
||||||
_open = _displayed = FALSE;
|
_open = _displayed = FALSE;
|
||||||
xvt_vobj_destroy(xi_get_window(_xi_lst->itf));
|
xvt_vobj_destroy(xi_get_window(_xi_lst->itf));
|
||||||
xvt_dwin_update (xi_get_window(_xi_obj->itf));
|
xvt_dwin_update (xi_get_window(_obj->itf));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1536,13 +1541,26 @@ void TDropDownList::select(int i, bool force)
|
|||||||
if (force || i != _selected)
|
if (force || i != _selected)
|
||||||
{
|
{
|
||||||
_selected = i;
|
_selected = i;
|
||||||
xi_set_text(_xi_obj, (char*)_values.get(i));
|
xi_set_text(_obj, (char*)_values.get(i));
|
||||||
|
|
||||||
if (!_in_cell)
|
if (!_in_cell)
|
||||||
{
|
{
|
||||||
TListbox_control* listbox = (TListbox_control *)xi_get_app_data(_xi_obj);
|
TListbox_control* listbox = (TListbox_control *)xi_get_app_data(_obj);
|
||||||
listbox->notify_key(K_SPACE);
|
listbox->notify_key(K_SPACE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (is_open())
|
||||||
|
{
|
||||||
|
int r = rec2row(i);
|
||||||
|
if (r < 0)
|
||||||
|
{
|
||||||
|
xi_scroll_rec(_xi_lst, i, FOCUS_COLOR, XI_ATR_ENABLED, 0);
|
||||||
|
r = rec2row(i);
|
||||||
|
}
|
||||||
|
CHECKD(r >= 0, "Can't select listbox item ", r);
|
||||||
|
XI_OBJ cell; XI_MAKE_CELL(&cell, _xi_lst, r, 0);
|
||||||
|
xi_set_focus(&cell);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1575,7 +1593,7 @@ void TDropDownList::select_by_ofs(int i)
|
|||||||
}
|
}
|
||||||
|
|
||||||
TDropDownList::TDropDownList(XI_OBJ* o, const char* values, int width, bool cell)
|
TDropDownList::TDropDownList(XI_OBJ* o, const char* values, int width, bool cell)
|
||||||
: _xi_obj(o), _values(values), _open(FALSE), _xi_lst(NULL), _width(width),
|
: _obj(o), _values(values), _open(FALSE), _xi_lst(NULL), _width(width),
|
||||||
_displayed(FALSE), _in_cell(cell), _selected(0)
|
_displayed(FALSE), _in_cell(cell), _selected(0)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
@ -1588,13 +1606,24 @@ void TDropDownList::open()
|
|||||||
// qui si vedra' se e cosa modificare
|
// qui si vedra' se e cosa modificare
|
||||||
itfdef->v.itf->automatic_back_color = TRUE;
|
itfdef->v.itf->automatic_back_color = TRUE;
|
||||||
// compute size of field with button
|
// compute size of field with button
|
||||||
RCT r; xi_get_rect(_xi_obj, &r);
|
|
||||||
|
RCT r; xi_get_rect(_obj, &r);
|
||||||
|
|
||||||
|
XI_RCT xr = r;
|
||||||
|
xi_pu_to_fu(_obj->itf, (PNT*)&xr, 2);
|
||||||
|
|
||||||
if (_width == 0) // usually in spreadsheet cells
|
if (_width == 0) // usually in spreadsheet cells
|
||||||
_width = (r.right - r.left)/XI_FU_MULTIPLE;
|
_width = (xr.right - xr.left)/XI_FU_MULTIPLE;
|
||||||
|
|
||||||
|
if ((xr.right - xr.left) < (_width * XI_FU_MULTIPLE))
|
||||||
|
{
|
||||||
|
xr.right = xr.left + (_width * XI_FU_MULTIPLE);
|
||||||
|
r = xr;
|
||||||
|
xi_fu_to_pu(_obj->itf, (PNT*)&r, 2);
|
||||||
|
}
|
||||||
|
|
||||||
int hei = items() <= 1 ? 2*XI_FU_MULTIPLE + 1 : (min(6,items()) * XI_FU_MULTIPLE) + 1;
|
int hei = items() <= 1 ? 2*XI_FU_MULTIPLE + 1 : (min(6,items()) * XI_FU_MULTIPLE) + 1;
|
||||||
XI_OBJ_DEF* lstdef = xi_add_list_def(itfdef, _xi_obj->cid+1000, 0, 0, hei,
|
XI_OBJ_DEF* lstdef = xi_add_list_def(itfdef, _obj->cid+1000, 0, 0, hei,
|
||||||
XI_ATR_ENABLED|XI_ATR_VISIBLE, NORMAL_COLOR, NORMAL_BACK_COLOR,
|
XI_ATR_ENABLED|XI_ATR_VISIBLE, NORMAL_COLOR, NORMAL_BACK_COLOR,
|
||||||
DISABLED_COLOR, DISABLED_BACK_COLOR, FOCUS_COLOR, 0);
|
DISABLED_COLOR, DISABLED_BACK_COLOR, FOCUS_COLOR, 0);
|
||||||
|
|
||||||
@ -1605,23 +1634,24 @@ void TDropDownList::open()
|
|||||||
lstdef->v.list->no_vert_lines = TRUE;
|
lstdef->v.list->no_vert_lines = TRUE;
|
||||||
lstdef->v.list->resize_with_window = TRUE;
|
lstdef->v.list->resize_with_window = TRUE;
|
||||||
|
|
||||||
|
/*
|
||||||
int len;
|
int len;
|
||||||
|
|
||||||
if (_in_cell)
|
if (_in_cell)
|
||||||
len = items() <= 6 ? r.right - r.left - 2 : (_width-1) * XI_FU_MULTIPLE;
|
len = items() <= 6 ? r.right - r.left - 2 : (_width-1) * XI_FU_MULTIPLE;
|
||||||
else
|
else
|
||||||
len = items() <= 6 ? _xi_obj->v.field->rct.right - _xi_obj->v.field->rct.left - 2 :
|
len = items() <= 6 ? _obj->v.field->rct.right - _obj->v.field->rct.left - 2 :
|
||||||
(_width-1) * XI_FU_MULTIPLE;
|
(_width-1) * XI_FU_MULTIPLE;
|
||||||
|
*/
|
||||||
|
int len = xr.right - xr.left - 2;
|
||||||
|
if (items() > 6) len = (_width-1) * XI_FU_MULTIPLE;
|
||||||
|
|
||||||
XI_OBJ_DEF* coldef = xi_add_column_def(lstdef, _xi_obj->cid+2000,
|
XI_OBJ_DEF* coldef = xi_add_column_def(lstdef, _obj->cid+2000,
|
||||||
XI_ATR_VISIBLE|XI_ATR_ENABLED|XI_ATR_READONLY,
|
XI_ATR_VISIBLE|XI_ATR_ENABLED|XI_ATR_READONLY,
|
||||||
0, len, 80, "");
|
0, len, 80, "");
|
||||||
|
|
||||||
coldef->v.column->column_platform = FALSE;
|
|
||||||
|
|
||||||
RCT l; xi_get_def_rect(lstdef, &l);
|
RCT l; xi_get_def_rect(lstdef, &l);
|
||||||
PNT p; p.h = r.left;
|
PNT p; p.h = r.left;
|
||||||
WINDOW pwin = xi_get_window(_xi_obj->itf);
|
WINDOW pwin = xi_get_window(_obj->itf);
|
||||||
RCT w; xvt_vobj_get_client_rect(pwin, &w);
|
RCT w; xvt_vobj_get_client_rect(pwin, &w);
|
||||||
// place rectangle
|
// place rectangle
|
||||||
if (r.bottom + l.bottom - l.top <= w.bottom)
|
if (r.bottom + l.bottom - l.top <= w.bottom)
|
||||||
@ -1634,10 +1664,10 @@ void TDropDownList::open()
|
|||||||
RCT wr;
|
RCT wr;
|
||||||
wr.left = p.h; wr.top = p.v;
|
wr.left = p.h; wr.top = p.v;
|
||||||
xi_get_def_rect(lstdef, &l);
|
xi_get_def_rect(lstdef, &l);
|
||||||
wr.right = wr.left + (l.right - l.left) -1; // r.right;
|
wr.right = r.right; // wr.left + (l.right - l.left) -1;
|
||||||
wr.bottom = wr.top + l.bottom - l.top;
|
wr.bottom = wr.top + l.bottom - l.top;
|
||||||
const int delta_x = _xi_obj->itf->v.itf->delta_x;
|
const int delta_x = _obj->itf->v.itf->delta_x;
|
||||||
const int delta_y = _xi_obj->itf->v.itf->delta_y;
|
const int delta_y = _obj->itf->v.itf->delta_y;
|
||||||
wr.left -= delta_x;
|
wr.left -= delta_x;
|
||||||
wr.right -= delta_x;
|
wr.right -= delta_x;
|
||||||
wr.top -= delta_y;
|
wr.top -= delta_y;
|
||||||
@ -1652,7 +1682,7 @@ void TDropDownList::open()
|
|||||||
|
|
||||||
CHECK(itfobj != NULL, "Oggetto del cazzo!");
|
CHECK(itfobj != NULL, "Oggetto del cazzo!");
|
||||||
|
|
||||||
_xi_lst = xi_get_obj(itfobj, _xi_obj->cid+1000);
|
_xi_lst = xi_get_obj(itfobj, _obj->cid+1000);
|
||||||
|
|
||||||
CHECK(_xi_lst != NULL, "Lista del cazzo!");
|
CHECK(_xi_lst != NULL, "Lista del cazzo!");
|
||||||
|
|
||||||
@ -1661,11 +1691,16 @@ void TDropDownList::open()
|
|||||||
xvt_scr_set_focus_vobj(win);
|
xvt_scr_set_focus_vobj(win);
|
||||||
xvt_vobj_raise(win);
|
xvt_vobj_raise(win);
|
||||||
_displayed = TRUE;
|
_displayed = TRUE;
|
||||||
|
|
||||||
|
/*
|
||||||
xi_scroll_rec(_xi_lst, _selected, NORMAL_COLOR, XI_ATR_ENABLED, 0);
|
xi_scroll_rec(_xi_lst, _selected, NORMAL_COLOR, XI_ATR_ENABLED, 0);
|
||||||
const int row = rec2row(_selected);
|
const int row = rec2row(_selected);
|
||||||
XI_OBJ cell;
|
XI_OBJ cell;
|
||||||
XI_MAKE_CELL(&cell, _xi_lst, row, 0);
|
XI_MAKE_CELL(&cell, _xi_lst, row, 0);
|
||||||
xi_set_focus(&cell);
|
xi_set_focus(&cell);
|
||||||
|
*/
|
||||||
|
select(_selected, TRUE);
|
||||||
|
|
||||||
xi_dequeue();
|
xi_dequeue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -265,7 +265,7 @@ public:
|
|||||||
class TDropDownList : public TObject
|
class TDropDownList : public TObject
|
||||||
{
|
{
|
||||||
|
|
||||||
XI_OBJ* _xi_obj;
|
XI_OBJ* _obj;
|
||||||
XI_OBJ* _xi_lst;
|
XI_OBJ* _xi_lst;
|
||||||
TToken_string _values;
|
TToken_string _values;
|
||||||
int _selected;
|
int _selected;
|
||||||
|
@ -872,7 +872,7 @@ HIDDEN bool printer_handler (TMask_field & f, KEY key)
|
|||||||
pn2.add (s);
|
pn2.add (s);
|
||||||
j++;
|
j++;
|
||||||
}
|
}
|
||||||
((TList_field &) f.mask ().field (MSK_1_CODES)).replace_items (pn1, pn2);
|
((TList_field &) f.mask ().field (MSK_CODES)).replace_items (pn1, pn2);
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@ -929,7 +929,7 @@ void TPrinter::set_win_formlen(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
warning_box ("Il driver di stampante non e' valido.\n"
|
warning_box ("Il driver della stampante non e' valido.\n"
|
||||||
"Non stampare prima di averlo reinstallato");
|
"Non stampare prima di averlo reinstallato");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -978,7 +978,7 @@ HIDDEN bool set_windows_print_device (TMask_field& f, KEY key)
|
|||||||
}
|
}
|
||||||
|
|
||||||
TMask& m = f.mask();
|
TMask& m = f.mask();
|
||||||
TList_field& lst = (TList_field&)m.field(MSK_1_FONT);
|
TList_field& lst = (TList_field&)m.field(MSK_FONT);
|
||||||
|
|
||||||
lst.replace_items(pn1, pn2);
|
lst.replace_items(pn1, pn2);
|
||||||
lst.set(printer().fontname());
|
lst.set(printer().fontname());
|
||||||
@ -1021,7 +1021,7 @@ HIDDEN bool font_handler(TMask_field& f, KEY key)
|
|||||||
else pn1.add(printer().get_char_size());
|
else pn1.add(printer().get_char_size());
|
||||||
pn2 = pn1;
|
pn2 = pn1;
|
||||||
}
|
}
|
||||||
TList_field& lst = (TList_field&)f.mask().field(MSK_1_SIZE);
|
TList_field& lst = (TList_field&)f.mask().field(MSK_SIZE);
|
||||||
lst.replace_items(pn1, pn2);
|
lst.replace_items(pn1, pn2);
|
||||||
lst.set(format("%d", printer().get_char_size()));
|
lst.set(format("%d", printer().get_char_size()));
|
||||||
|
|
||||||
@ -1722,97 +1722,19 @@ bool TPrinter::set()
|
|||||||
{
|
{
|
||||||
main_app().disable_menu_item (M_FILE_PG_SETUP);
|
main_app().disable_menu_item (M_FILE_PG_SETUP);
|
||||||
|
|
||||||
TMask mask("bagn001a");
|
TMask* msk = new TMask("bagn001a");
|
||||||
|
TMask& mask = *msk;
|
||||||
|
|
||||||
TToken_string pn1(50), pn2(100);
|
TToken_string pn1(50), pn2(100);
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
mask.set(MSK_1_FILENAME, _printerfile);
|
mask.set(MSK_FILENAME, _printerfile);
|
||||||
mask.set(MSK_1_NPAGES, _ncopies);
|
mask.set(MSK_NPAGES, _ncopies);
|
||||||
mask.enable(DLG_OK, _config == "Printer");
|
mask.enable(DLG_OK, _config == "Printer");
|
||||||
|
|
||||||
#if XVT_OS == XVT_OS_SCOUNIX
|
#if XVT_OS == XVT_OS_WIN
|
||||||
|
mask.set_handler (MSK_PRINTERS, set_windows_print_device);
|
||||||
for (i = 0; i < _printers.items (); i++)
|
mask.set_handler (MSK_FONT, font_handler);
|
||||||
{
|
|
||||||
pn1.add (i);
|
|
||||||
pn2.add (((PrinterDef &) _printers[i])._printername);
|
|
||||||
}
|
|
||||||
|
|
||||||
((TList_field &) (mask.field (MSK_1_PRINTERS))).replace_items (pn1, pn2);
|
|
||||||
mask.hide(MSK_1_SIZE);
|
|
||||||
mask.hide(MSK_1_LINES);
|
|
||||||
mask.disable(DLG_SETPRINT);
|
|
||||||
if (!_multiple_copies)
|
|
||||||
mask.hide(MSK_1_NPAGES);
|
|
||||||
|
|
||||||
pn1 = pn2 = "";
|
|
||||||
for (i = 0; i < ((PrinterDef &)_printers[_curprn])._names.items(); i++)
|
|
||||||
{
|
|
||||||
pn1.add(i);
|
|
||||||
pn2.add((TString &)((PrinterDef &) _printers[_curprn])._names[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
((TList_field &)(mask.field (MSK_1_CODES))).replace_items(pn1, pn2);
|
|
||||||
mask.set_handler (MSK_1_PRINTERS, printer_handler);
|
|
||||||
|
|
||||||
if (_printertype == fileprinter)
|
|
||||||
mask.set (MSK_1_TYPE, "1");
|
|
||||||
else if (_printertype == screenvis)
|
|
||||||
mask.set (MSK_1_TYPE, "2");
|
|
||||||
else
|
|
||||||
mask.set (MSK_1_TYPE, "0");
|
|
||||||
|
|
||||||
mask.set(MSK_1_PRINTERS, _curprn);
|
|
||||||
|
|
||||||
mask.show(MSK_1_CODES);
|
|
||||||
mask.set(MSK_1_CODES, _curcode);
|
|
||||||
|
|
||||||
KEY k = mask.run();
|
|
||||||
|
|
||||||
if (k == K_ESC)
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
// get user choices
|
|
||||||
|
|
||||||
_curprn = atoi(mask.get(MSK_1_PRINTERS));
|
|
||||||
_ncopies = atoi(mask.get(MSK_1_NPAGES));
|
|
||||||
|
|
||||||
PrinterDef& def = (PrinterDef &) get_description (_curprn);
|
|
||||||
switch (atoi(mask.get (MSK_1_TYPE)))
|
|
||||||
{
|
|
||||||
case 0: // stampante
|
|
||||||
|
|
||||||
_printertype = normprinter;
|
|
||||||
_curcode = atoi (mask.get (MSK_1_CODES));
|
|
||||||
switch (atoi (def._printertype))
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
_printertype = normprinter;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
_printertype = localprinter;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
_printertype = spoolprinter;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 1: // file
|
|
||||||
_printertype = fileprinter;
|
|
||||||
_printerfile = mask.get (MSK_1_FILENAME);
|
|
||||||
_curcode = atoi (mask.get (MSK_1_CODES));
|
|
||||||
break;
|
|
||||||
case 2: // video
|
|
||||||
|
|
||||||
_printertype = screenvis;
|
|
||||||
_curcode = 0;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
|
||||||
mask.set_handler (MSK_1_PRINTERS, set_windows_print_device);
|
|
||||||
mask.set_handler (MSK_1_FONT, font_handler);
|
|
||||||
|
|
||||||
pn2 = getprinternames();
|
pn2 = getprinternames();
|
||||||
char old_default[80];
|
char old_default[80];
|
||||||
@ -1822,24 +1744,24 @@ bool TPrinter::set()
|
|||||||
for (i = 0; i < np; i++)
|
for (i = 0; i < np; i++)
|
||||||
pn1.add(i);
|
pn1.add(i);
|
||||||
|
|
||||||
TList_field& plst = (TList_field&)mask.field (MSK_1_PRINTERS);
|
TList_field& plst = (TList_field&)mask.field (MSK_PRINTERS);
|
||||||
plst.replace_items(pn1, pn2); // Genera printer list
|
plst.replace_items(pn1, pn2); // Genera printer list
|
||||||
|
|
||||||
mask.set(MSK_1_PRINTERS, _curprn, TRUE); // Genera font list
|
mask.set(MSK_PRINTERS, _curprn, TRUE); // Genera font list
|
||||||
mask.set(MSK_1_FONT, _fontname, TRUE); // Genera size list
|
mask.set(MSK_FONT, _fontname, TRUE); // Genera size list
|
||||||
mask.set(MSK_1_SIZE, _ch_size);
|
mask.set(MSK_SIZE, _ch_size);
|
||||||
mask.set(MSK_1_LINES, _lines_per_inch);
|
mask.set(MSK_LINES, _lines_per_inch);
|
||||||
mask.set(MSK_1_ISGRAPHICS, _isgraphics ? "X" : "");
|
mask.set(MSK_ISGRAPHICS, _isgraphics ? "X" : "");
|
||||||
|
|
||||||
if (!_multiple_copies)
|
if (!_multiple_copies)
|
||||||
mask.hide(MSK_1_NPAGES);
|
mask.hide(MSK_NPAGES);
|
||||||
|
|
||||||
if (_printertype == fileprinter)
|
if (_printertype == fileprinter)
|
||||||
mask.set (MSK_1_TYPE, "1");
|
mask.set (MSK_TYPE, "1");
|
||||||
else if (_printertype == screenvis)
|
else if (_printertype == screenvis)
|
||||||
mask.set (MSK_1_TYPE, "2");
|
mask.set (MSK_TYPE, "2");
|
||||||
else
|
else
|
||||||
mask.set (MSK_1_TYPE, "0");
|
mask.set (MSK_TYPE, "0");
|
||||||
|
|
||||||
KEY k;
|
KEY k;
|
||||||
int oldprn = _curprn;
|
int oldprn = _curprn;
|
||||||
@ -1859,7 +1781,7 @@ bool TPrinter::set()
|
|||||||
const char* name = (const char *)(_print_rcd + 4);
|
const char* name = (const char *)(_print_rcd + 4);
|
||||||
_curprn = pn2.get_pos(name);
|
_curprn = pn2.get_pos(name);
|
||||||
CHECKS(_curprn >= 0, "Can't find printer ", name);
|
CHECKS(_curprn >= 0, "Can't find printer ", name);
|
||||||
mask.set(MSK_1_PRINTERS, pn1.get(_curprn));
|
mask.set(MSK_PRINTERS, pn1.get(_curprn));
|
||||||
// set_win_formlen(); // Update dimensions
|
// set_win_formlen(); // Update dimensions
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1880,21 +1802,23 @@ bool TPrinter::set()
|
|||||||
_curprn = oldprn;
|
_curprn = oldprn;
|
||||||
set_printrcd();
|
set_printrcd();
|
||||||
set_win_formlen();
|
set_win_formlen();
|
||||||
|
|
||||||
|
delete msk; msk = NULL;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
_curprn = atoi(mask.get(MSK_1_PRINTERS));
|
_curprn = atoi(mask.get(MSK_PRINTERS));
|
||||||
_ncopies = atoi (mask.get (MSK_1_NPAGES));
|
_ncopies = atoi (mask.get (MSK_NPAGES));
|
||||||
|
|
||||||
switch (atoi (mask.get (MSK_1_TYPE)))
|
switch (atoi (mask.get (MSK_TYPE)))
|
||||||
{
|
{
|
||||||
case 0: // stampante
|
case 0: // stampante
|
||||||
_printertype = winprinter;
|
_printertype = winprinter;
|
||||||
break;
|
break;
|
||||||
case 1: // file
|
case 1: // file
|
||||||
_printertype = fileprinter;
|
_printertype = fileprinter;
|
||||||
_printerfile = mask.get (MSK_1_FILENAME);
|
_printerfile = mask.get (MSK_FILENAME);
|
||||||
_curcode = atoi (mask.get (MSK_1_CODES));
|
_curcode = atoi (mask.get (MSK_CODES));
|
||||||
break;
|
break;
|
||||||
case 2: // video
|
case 2: // video
|
||||||
_printertype = screenvis;
|
_printertype = screenvis;
|
||||||
@ -1902,21 +1826,26 @@ bool TPrinter::set()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
_fontname = mask.get(MSK_1_FONT);
|
_fontname = mask.get(MSK_FONT);
|
||||||
|
|
||||||
const int cs = mask.get_int(MSK_1_SIZE);
|
const int cs = mask.get_int(MSK_SIZE);
|
||||||
if (cs > 4) _ch_size = cs;
|
if (cs > 4) _ch_size = cs;
|
||||||
|
|
||||||
_lines_per_inch = mask.get_int (MSK_1_LINES);
|
_lines_per_inch = mask.get_int (MSK_LINES);
|
||||||
_isgraphics = mask.get_bool (MSK_1_ISGRAPHICS);
|
_isgraphics = mask.get_bool (MSK_ISGRAPHICS);
|
||||||
set_win_formlen ();
|
set_win_formlen ();
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (k == K_INS)
|
if (k == K_INS)
|
||||||
save_configuration();
|
save_configuration();
|
||||||
|
|
||||||
main_app().enable_menu_item (M_FILE_PG_SETUP);
|
main_app().enable_menu_item (M_FILE_PG_SETUP);
|
||||||
|
|
||||||
|
if (msk)
|
||||||
|
{
|
||||||
|
delete msk;
|
||||||
|
msk = NULL;
|
||||||
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user