Patch level : 10.0
Files correlati : ba0.exe ba0200a.msk ba4200b.msk Ricompilazione Demo : [ ] Commento : Aggiunta possibilita' di kill dei sottoprocessi del menu principale Riallineati alcuni campi delle maschere ba0200a e ba4200b git-svn-id: svn://10.65.10.50/trunk@20083 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
30d9f89bf3
commit
6fb77b6d8b
@ -699,6 +699,12 @@ TColor_mask::TColor_mask()
|
|||||||
set(220, ENTER_AS_TAB ? "X" : "");
|
set(220, ENTER_AS_TAB ? "X" : "");
|
||||||
set(221, TMenuitem::always_run_fullscreen() ? "X" : "");
|
set(221, TMenuitem::always_run_fullscreen() ? "X" : "");
|
||||||
set(222, INTERLINE);
|
set(222, INTERLINE);
|
||||||
|
|
||||||
|
if (is_power_reseller())
|
||||||
|
{
|
||||||
|
show(223); // Hidden by default
|
||||||
|
set(223, ANIMATED_BOXES ? "X" : "");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TColor_mask::save_colors(TConfig& colors)
|
void TColor_mask::save_colors(TConfig& colors)
|
||||||
@ -712,11 +718,12 @@ void TColor_mask::save_colors(TConfig& colors)
|
|||||||
colors.set("TreeView", get_int(216));
|
colors.set("TreeView", get_int(216));
|
||||||
const int sz = get_int(217);
|
const int sz = get_int(217);
|
||||||
colors.set("ToolSize", 16+sz*8);
|
colors.set("ToolSize", 16+sz*8);
|
||||||
colors.set("EasyRider", get_bool(218) ? "X" : "");
|
colors.set("EasyRider", get_bool(218) ? "X" : "");
|
||||||
colors.set("ToolText", get_bool(219) ? "X" : "");
|
colors.set("ToolText", get_bool(219) ? "X" : "");
|
||||||
colors.set("EnterAsTab", get_bool(220) ? "X" : "");
|
colors.set("EnterAsTab", get_bool(220) ? "X" : "");
|
||||||
colors.set("RunModal", get_bool(221) ? "X" : "");
|
colors.set("RunModal", get_bool(221) ? "X" : "");
|
||||||
colors.set("InterLine", get_int(222));
|
colors.set("InterLine", get_int(222));
|
||||||
|
colors.set("AnimatedBoxes", get_bool(223) ? "X" : "");
|
||||||
}
|
}
|
||||||
|
|
||||||
void TColor_mask::save_colors()
|
void TColor_mask::save_colors()
|
||||||
@ -1753,10 +1760,22 @@ bool TMenu_application::choose_study()
|
|||||||
long TMenu_application::handler(WINDOW win, EVENT* ep)
|
long TMenu_application::handler(WINDOW win, EVENT* ep)
|
||||||
{
|
{
|
||||||
long ret = TApplication::handler(win, ep);
|
long ret = TApplication::handler(win, ep);
|
||||||
if (ep->type == E_FONT)
|
|
||||||
|
if (_mask != NULL)
|
||||||
{
|
{
|
||||||
if (_mask != NULL)
|
switch (ep->type)
|
||||||
_mask->stop_run(K_CTRL + 'R');
|
{
|
||||||
|
case E_FONT: // Sono cambiate le opzioni di visualizzazione
|
||||||
|
_mask->stop_run(K_CTRL + 'R');
|
||||||
|
break;
|
||||||
|
case E_PROCESS: // Notifica nascita e morte processi
|
||||||
|
if (_tree_view == 3)
|
||||||
|
{
|
||||||
|
TOutlook_mask& m = (TOutlook_mask&)*_mask;
|
||||||
|
m.handler(m.win(), ep);
|
||||||
|
}
|
||||||
|
default : break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -236,7 +236,7 @@ bool TMenuitem::enabled() const
|
|||||||
{
|
{
|
||||||
n = name; n.ext(ext[e]);
|
n = name; n.ext(ext[e]);
|
||||||
if (n.custom_path())
|
if (n.custom_path())
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
yes = ext[e] != NULL;
|
yes = ext[e] != NULL;
|
||||||
}
|
}
|
||||||
|
183
ba/ba0103.cpp
183
ba/ba0103.cpp
@ -33,24 +33,28 @@ public:
|
|||||||
|
|
||||||
class TBook_window : public TControl_host_window
|
class TBook_window : public TControl_host_window
|
||||||
{
|
{
|
||||||
TImage _logo;
|
TImage _logo, _back;
|
||||||
|
TAssoc_array _alfano;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void update();
|
virtual void update();
|
||||||
virtual long handler(WINDOW win, EVENT* ep);
|
|
||||||
|
|
||||||
void force_page(short page);
|
void force_page(short page);
|
||||||
void erode_antipa();
|
void erode_antipa();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
virtual long handler(WINDOW win, EVENT* ep); // Used by E_PROCESS
|
||||||
WINDOW notebook() const { return _ctrl; }
|
WINDOW notebook() const { return _ctrl; }
|
||||||
short pages() const;
|
short pages() const;
|
||||||
short curr_page() const;
|
short curr_page() const;
|
||||||
WINDOW page_win(short pg);
|
WINDOW page_win(short pg) const;
|
||||||
|
short find_page(WINDOW win) const;
|
||||||
short add_page(const TMenuitem& mi);
|
short add_page(const TMenuitem& mi);
|
||||||
void set_page_caption(short page, const TString& caption, int icon);
|
void set_page_caption(short page, const TString& caption, int icon);
|
||||||
bool remove_page(WINDOW page);
|
bool remove_page(WINDOW page);
|
||||||
void set_logo(const char* logo);
|
void set_logo(const char* logo);
|
||||||
|
void set_back(const TString& back);
|
||||||
|
void kill_processes();
|
||||||
|
|
||||||
TBook_window(int x, int y, int dx, int dy, WINDOW parent, TWindowed_field* owner);
|
TBook_window(int x, int y, int dx, int dy, WINDOW parent, TWindowed_field* owner);
|
||||||
~TBook_window();
|
~TBook_window();
|
||||||
@ -64,6 +68,7 @@ long TApp_window::handler(WINDOW win, EVENT* ep)
|
|||||||
{
|
{
|
||||||
switch (ep->type)
|
switch (ep->type)
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
case E_TIMER:
|
case E_TIMER:
|
||||||
if (xvt_vobj_is_focusable(win))
|
if (xvt_vobj_is_focusable(win))
|
||||||
{
|
{
|
||||||
@ -81,6 +86,7 @@ long TApp_window::handler(WINDOW win, EVENT* ep)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
*/
|
||||||
case E_DESTROY:
|
case E_DESTROY:
|
||||||
xvt_sys_close_children(win);
|
xvt_sys_close_children(win);
|
||||||
break;
|
break;
|
||||||
@ -93,7 +99,7 @@ long TApp_window::handler(WINDOW win, EVENT* ep)
|
|||||||
TApp_window::TApp_window(TBook_window* owner, const char* appname) : _owner(owner), _appname(appname)
|
TApp_window::TApp_window(TBook_window* owner, const char* appname) : _owner(owner), _appname(appname)
|
||||||
{
|
{
|
||||||
WINDOW w = create(0, 0, -1, -1, __MAGIC_CAPTION__, WSF_NONE, W_PLAIN, owner->notebook());
|
WINDOW w = create(0, 0, -1, -1, __MAGIC_CAPTION__, WSF_NONE, W_PLAIN, owner->notebook());
|
||||||
xvt_timer_create(w, 1000); // Ogni tanto controllo che l'applicazione sia ancora viva
|
//xvt_timer_create(w, 1000); // Ogni tanto controllo che l'applicazione sia ancora viva
|
||||||
}
|
}
|
||||||
|
|
||||||
TApp_window::~TApp_window()
|
TApp_window::~TApp_window()
|
||||||
@ -108,16 +114,25 @@ TApp_window::~TApp_window()
|
|||||||
void TBook_window::update()
|
void TBook_window::update()
|
||||||
{
|
{
|
||||||
// Disegno lo sfondo solo se non esiste nessun notebook che occupa tutto lo spazio!
|
// Disegno lo sfondo solo se non esiste nessun notebook che occupa tutto lo spazio!
|
||||||
if (_ctrl == NULL_WIN)
|
if (_ctrl == NULL_WIN && ADVANCED_GRAPHICS)
|
||||||
{
|
{
|
||||||
|
WINDOW w = win();
|
||||||
clear(NORMAL_BACK_COLOR);
|
clear(NORMAL_BACK_COLOR);
|
||||||
RCT rctw; xvt_vobj_get_client_rect(win(), &rctw);
|
RCT rctw; xvt_vobj_get_client_rect(w, &rctw);
|
||||||
if (rctw.right >= 64 && rctw.bottom >= 64)
|
if (rctw.right >= 64 && rctw.bottom >= 64)
|
||||||
{
|
{
|
||||||
if (_logo.ok())
|
if (_logo.ok())
|
||||||
_logo.draw(win(), rctw, 'C', 'B', '-'); // Disegna logo riducendolo al centro in basso
|
{
|
||||||
|
const RCT& r = _logo.draw(w, rctw, 'R', 'B', '-'); // Disegna logo basso a destra in basso
|
||||||
|
if (_back.ok())
|
||||||
|
{
|
||||||
|
rctw.bottom = r.top;
|
||||||
|
_back.draw(w, rctw, 'R', 'T', '*'); // Disegna sfondo in alto
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const PNT pnt = { 0, 0 };
|
const PNT pnt = { 0, 0 };
|
||||||
draw_spider(win(), 0x3, pnt);
|
draw_spider(w, 0x3, pnt);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -129,7 +144,7 @@ short TBook_window::pages() const
|
|||||||
|
|
||||||
short TBook_window::curr_page() const
|
short TBook_window::curr_page() const
|
||||||
{
|
{
|
||||||
return _ctrl == NULL_WIN ? 0 : xvt_notebk_get_front_page(_ctrl);
|
return _ctrl == NULL_WIN ? -1 : xvt_notebk_get_front_page(_ctrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOLEAN hell_riser(WINDOW child, long data)
|
static BOOLEAN hell_riser(WINDOW child, long data)
|
||||||
@ -142,7 +157,7 @@ static BOOLEAN hell_riser(WINDOW child, long data)
|
|||||||
|
|
||||||
void TBook_window::force_page(short page)
|
void TBook_window::force_page(short page)
|
||||||
{
|
{
|
||||||
if (page < pages()) // Implies _ctrl != NULL_WIN too
|
if (page >= 0 && page < pages()) // Implies _ctrl != NULL_WIN too
|
||||||
{
|
{
|
||||||
xvt_notebk_set_front_page(_ctrl, page);
|
xvt_notebk_set_front_page(_ctrl, page);
|
||||||
WINDOW w = xvt_notebk_get_page(_ctrl, page);
|
WINDOW w = xvt_notebk_get_page(_ctrl, page);
|
||||||
@ -170,13 +185,38 @@ long TBook_window::handler(WINDOW win, EVENT* ep)
|
|||||||
if (pages() > 0)
|
if (pages() > 0)
|
||||||
dispatch_e_menu(cur_win(), 8883); // Notifica un ridimensionamento indesiderato
|
dispatch_e_menu(cur_win(), 8883); // Notifica un ridimensionamento indesiderato
|
||||||
break;
|
break;
|
||||||
|
case E_PROCESS:
|
||||||
|
{
|
||||||
|
TString8 pid; pid << ep->v.process.pid;
|
||||||
|
switch (ep->v.process.msg_id)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
{
|
||||||
|
TString16 pg; pg << (long)page_win(pages()-1);
|
||||||
|
_alfano.add(pid, pg); // Memorizza la pagina che ospita il processo
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
const TString* pg = (const TString*)_alfano.objptr(pid);
|
||||||
|
if (pg != NULL)
|
||||||
|
{
|
||||||
|
WINDOW pw = atol(*pg); // Converte pg
|
||||||
|
_alfano.remove(pid); // Distrugge pg
|
||||||
|
remove_page(pw); // Elimina pagina
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return TControl_host_window::handler(win, ep);
|
return TControl_host_window::handler(win, ep);
|
||||||
}
|
}
|
||||||
|
|
||||||
WINDOW TBook_window::page_win(short pg)
|
WINDOW TBook_window::page_win(short pg) const
|
||||||
{
|
{
|
||||||
WINDOW win = NULL_WIN;
|
WINDOW win = NULL_WIN;
|
||||||
if (_ctrl != NULL_WIN)
|
if (_ctrl != NULL_WIN)
|
||||||
@ -188,6 +228,15 @@ WINDOW TBook_window::page_win(short pg)
|
|||||||
return win;
|
return win;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
short TBook_window::find_page(WINDOW win) const
|
||||||
|
{
|
||||||
|
short pg = -1;
|
||||||
|
for (pg = pages()-1; pg >= 0; pg--)
|
||||||
|
if (xvt_notebk_get_page(_ctrl, pg) == win)
|
||||||
|
break;
|
||||||
|
return pg;
|
||||||
|
}
|
||||||
|
|
||||||
short TBook_window::add_page(const TMenuitem& mi)
|
short TBook_window::add_page(const TMenuitem& mi)
|
||||||
{
|
{
|
||||||
if (_ctrl == NULL_WIN)
|
if (_ctrl == NULL_WIN)
|
||||||
@ -324,9 +373,63 @@ void TBook_window::set_logo(const char* logo)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TBook_window::set_back(const TString& back)
|
||||||
|
{
|
||||||
|
if (ADVANCED_GRAPHICS && is_power_station())
|
||||||
|
{
|
||||||
|
TFilename str = back;
|
||||||
|
str.ext("png");
|
||||||
|
bool ok = str.custom_path();
|
||||||
|
if (!ok)
|
||||||
|
{
|
||||||
|
str.ext("jpg");
|
||||||
|
ok = str.custom_path();
|
||||||
|
}
|
||||||
|
if (!ok)
|
||||||
|
{
|
||||||
|
str.ext("gif");
|
||||||
|
str.custom_path();
|
||||||
|
}
|
||||||
|
if (ok && _back.load(back))
|
||||||
|
{
|
||||||
|
TWait_cursor hourglass;
|
||||||
|
const short w = _back.width();
|
||||||
|
const short h = _back.height();
|
||||||
|
for (short y = 0; y < h; y++)
|
||||||
|
{
|
||||||
|
for (short x = 0; x < w; x++)
|
||||||
|
{
|
||||||
|
const COLOR rgb = _back.get_pixel(x, y);
|
||||||
|
if (rgb != NORMAL_BACK_COLOR)
|
||||||
|
{
|
||||||
|
const unsigned char r = XVT_COLOR_GET_RED(rgb);
|
||||||
|
const unsigned char g = XVT_COLOR_GET_GREEN(rgb);
|
||||||
|
const unsigned char b = XVT_COLOR_GET_BLUE(rgb);
|
||||||
|
const COLOR col = blend_colors(NORMAL_BACK_COLOR, rgb, 0.9);
|
||||||
|
if (col != rgb)
|
||||||
|
_back.set_pixel(x, y, col);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
force_update();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void TBook_window::kill_processes()
|
||||||
|
{
|
||||||
|
TString_array pid;
|
||||||
|
_alfano.get_keys(pid);
|
||||||
|
for (int i = pid.last(); i >= 0; i--)
|
||||||
|
{
|
||||||
|
const long p = atol(pid.row(i));
|
||||||
|
xvt_sys_kill(p);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
TBook_window::TBook_window(int x, int y, int dx, int dy,
|
TBook_window::TBook_window(int x, int y, int dx, int dy,
|
||||||
WINDOW parent, TWindowed_field* owner)
|
WINDOW parent, TWindowed_field* owner)
|
||||||
: TControl_host_window(x, y, dx, dy, parent, owner), _logo("")
|
: TControl_host_window(x, y, dx, dy, parent, owner), _logo(""), _back("")
|
||||||
{
|
{
|
||||||
set_logo(get_logo());
|
set_logo(get_logo());
|
||||||
}
|
}
|
||||||
@ -349,8 +452,11 @@ public:
|
|||||||
short pages() const;
|
short pages() const;
|
||||||
short add_page(const TMenuitem& mi);
|
short add_page(const TMenuitem& mi);
|
||||||
void set_page_caption(short page, const TString& caption, int icon);
|
void set_page_caption(short page, const TString& caption, int icon);
|
||||||
|
void set_back(const TString& image);
|
||||||
WINDOW page_win(short page);
|
WINDOW page_win(short page);
|
||||||
void remove_all_pages();
|
void remove_all_pages();
|
||||||
|
|
||||||
|
void kill_processes() { ((TBook_window&)win()).kill_processes(); }
|
||||||
TBook_field(TMask* m) : TWindowed_field(m) {}
|
TBook_field(TMask* m) : TWindowed_field(m) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -372,6 +478,12 @@ void TBook_field::set_page_caption(short page, const TString& caption, int icon)
|
|||||||
bw.set_page_caption(page, caption, icon);
|
bw.set_page_caption(page, caption, icon);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TBook_field::set_back(const TString& image)
|
||||||
|
{
|
||||||
|
TBook_window& bw = (TBook_window&)win();
|
||||||
|
bw.set_back(image);
|
||||||
|
}
|
||||||
|
|
||||||
WINDOW TBook_field::page_win(short page)
|
WINDOW TBook_field::page_win(short page)
|
||||||
{
|
{
|
||||||
TBook_window& bw = (TBook_window&)win();
|
TBook_window& bw = (TBook_window&)win();
|
||||||
@ -436,23 +548,34 @@ void TOutlook_mask::load_perspective(int per)
|
|||||||
xvt_pane_manager_load_perspective(bf.win().win(), str);
|
xvt_pane_manager_load_perspective(bf.win().win(), str);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TBook_field& TOutlook_mask::book_field() const
|
||||||
|
{ return (TBook_field&)field(DLG_MAIN); }
|
||||||
|
|
||||||
bool TOutlook_mask::can_be_closed() const
|
bool TOutlook_mask::can_be_closed() const
|
||||||
{
|
{
|
||||||
const bool yes = !is_running();
|
const bool yes = !is_running();
|
||||||
if (!yes)
|
if (!yes)
|
||||||
{
|
{
|
||||||
TBook_field& bf = (TBook_field&)field(DLG_MAIN);
|
TBook_field& bf = book_field();
|
||||||
|
if (bf.pages() > 0)
|
||||||
|
{
|
||||||
|
TMask cm(TR("Chiusura applicazioni"), 1, 50, 7);
|
||||||
|
cm.add_radio(DLG_USER, 0, TR("Azione"), 1, 0, 48, "0|1",
|
||||||
|
TR("Non chiudere le applicazioni in esecuzione|Chiusura forzata (solo in caso d'emergenza)"));
|
||||||
|
cm.add_button(DLG_OK, 0, "", -12, -1, 10, 2);
|
||||||
|
cm.add_button(DLG_CANCEL, 0, "", -22, -1, 10, 2);
|
||||||
|
if (cm.run() == K_ENTER && cm.get_bool(DLG_USER))
|
||||||
|
bf.kill_processes();
|
||||||
|
}
|
||||||
if (bf.pages() == 0)
|
if (bf.pages() == 0)
|
||||||
((TOutlook_mask*)this)->send_key(K_FORCE_CLOSE, 0);
|
((TOutlook_mask*)this)->send_key(K_FORCE_CLOSE, 0);
|
||||||
else
|
|
||||||
warning_box(TR("E' necessario chiudere tutte le applicazioni attive"));
|
|
||||||
}
|
}
|
||||||
return yes;
|
return yes;
|
||||||
}
|
}
|
||||||
|
|
||||||
short TOutlook_mask::add_page(const TMenuitem& mi)
|
short TOutlook_mask::add_page(const TMenuitem& mi)
|
||||||
{
|
{
|
||||||
TBook_field& bf = (TBook_field&)field(DLG_MAIN);
|
TBook_field& bf = book_field();
|
||||||
if (bf.pages() == 0)
|
if (bf.pages() == 0)
|
||||||
save_perspective(2); // Save temporary perspective
|
save_perspective(2); // Save temporary perspective
|
||||||
return bf.add_page(mi);
|
return bf.add_page(mi);
|
||||||
@ -460,7 +583,7 @@ short TOutlook_mask::add_page(const TMenuitem& mi)
|
|||||||
|
|
||||||
void TOutlook_mask::set_page_caption(short page, const TString& caption, int icon)
|
void TOutlook_mask::set_page_caption(short page, const TString& caption, int icon)
|
||||||
{
|
{
|
||||||
TBook_field& bf = (TBook_field&)field(DLG_MAIN);
|
TBook_field& bf = book_field();
|
||||||
bf.set_page_caption(page, caption, icon);
|
bf.set_page_caption(page, caption, icon);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -501,7 +624,13 @@ long TOutlook_mask::handler(WINDOW w, EVENT* ep)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default : break;
|
default : break;
|
||||||
}
|
}
|
||||||
|
} else
|
||||||
|
if (ep->type == E_PROCESS)
|
||||||
|
{
|
||||||
|
TBook_field& bf = book_field();
|
||||||
|
TBook_window& bw = (TBook_window&)bf.win();
|
||||||
|
bw.handler(bw.win(), ep);
|
||||||
}
|
}
|
||||||
return TSpidey_mask::handler(w, ep);
|
return TSpidey_mask::handler(w, ep);
|
||||||
}
|
}
|
||||||
@ -523,7 +652,7 @@ bool TOutlook_mask::on_field_event(TOperable_field& o, TField_event e, long joll
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TBook_field& bf = (TBook_field&)field(DLG_MAIN);
|
TBook_field& bf = book_field();
|
||||||
// ba1 e ba2 sono programmi di manutenzione da eseguire in modo esclusivo
|
// ba1 e ba2 sono programmi di manutenzione da eseguire in modo esclusivo
|
||||||
if (mi.run_modal())
|
if (mi.run_modal())
|
||||||
{
|
{
|
||||||
@ -557,8 +686,8 @@ bool TOutlook_mask::on_field_event(TOperable_field& o, TField_event e, long joll
|
|||||||
if (ico <= 0 || ico == ICON_RSRC)
|
if (ico <= 0 || ico == ICON_RSRC)
|
||||||
{
|
{
|
||||||
const int area = get_int(DLG_LOOK);
|
const int area = get_int(DLG_LOOK);
|
||||||
if (area > 0 && area < 16)
|
if (area > 0 && area < _icon.items())
|
||||||
ico = _icon[area];
|
ico = _icon.get_int(area);
|
||||||
else
|
else
|
||||||
ico = ICON_RSRC;
|
ico = ICON_RSRC;
|
||||||
}
|
}
|
||||||
@ -596,6 +725,7 @@ bool TOutlook_mask::on_field_event(TOperable_field& o, TField_event e, long joll
|
|||||||
tf.win().force_update();
|
tf.win().force_update();
|
||||||
tf.on_key(K_SPACE);
|
tf.on_key(K_SPACE);
|
||||||
}
|
}
|
||||||
|
book_field().set_back(_picture.row(sel));
|
||||||
main_app().enable_menu_item(30005, id.find("MENU_PREFERITI") < 0);
|
main_app().enable_menu_item(30005, id.find("MENU_PREFERITI") < 0);
|
||||||
} else
|
} else
|
||||||
if (e == fe_init)
|
if (e == fe_init)
|
||||||
@ -604,10 +734,9 @@ bool TOutlook_mask::on_field_event(TOperable_field& o, TField_event e, long joll
|
|||||||
of.clear();
|
of.clear();
|
||||||
|
|
||||||
TString caption;
|
TString caption;
|
||||||
int i = 0;
|
|
||||||
int ico = 10219;
|
int ico = 10219;
|
||||||
of.add_item(ico, TR("Menu principale"), 0);
|
of.add_item(ico, TR("Menu principale"), 0);
|
||||||
_icon[i++] = ico;
|
_icon.add_long(ico);
|
||||||
TToken_string id("MENU_000", '/');
|
TToken_string id("MENU_000", '/');
|
||||||
_tree.change_root(id); // Torna alla radice standard
|
_tree.change_root(id); // Torna alla radice standard
|
||||||
for (bool ok = _tree.goto_root(); ok; ok = _tree.goto_rbrother())
|
for (bool ok = _tree.goto_root(); ok; ok = _tree.goto_rbrother())
|
||||||
@ -618,11 +747,15 @@ bool TOutlook_mask::on_field_event(TOperable_field& o, TField_event e, long joll
|
|||||||
_tree.get_description(caption);
|
_tree.get_description(caption);
|
||||||
const int ico = mi.icon();
|
const int ico = mi.icon();
|
||||||
of.add_item(ico, caption, 0);
|
of.add_item(ico, caption, 0);
|
||||||
_icon[i++] = ico; // Memorizza icona per orecchie
|
_icon.add_long(ico); // Memorizza icona per orecchie
|
||||||
|
if (_picture.empty())
|
||||||
|
_picture.add(mi.submenu().picture());
|
||||||
|
_picture.add(mi.child_submenu()->picture());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (atoi(of.get()) >= of.items()-1) // Se sono sui preferiti ...
|
if (atoi(of.get()) >= of.items()-1) // Se sono sui preferiti ...
|
||||||
set(o.dlg(), "", true); // ... torna al menu principale
|
set(o.dlg(), "", true); // ... torna al menu principale
|
||||||
|
book_field().set_back(_picture.row(0));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default: break;
|
default: break;
|
||||||
@ -681,6 +814,4 @@ TOutlook_mask::~TOutlook_mask()
|
|||||||
save_perspective(1); // Salva custom
|
save_perspective(1); // Salva custom
|
||||||
// Ricostruisci status bar tornata utile
|
// Ricostruisci status bar tornata utile
|
||||||
xvtil_create_statbar();
|
xvtil_create_statbar();
|
||||||
// Ammazza eventuali processi dormienti in background
|
|
||||||
xvt_sys_close_siblings(TASK_WIN);
|
|
||||||
}
|
}
|
||||||
|
@ -9,20 +9,23 @@
|
|||||||
// TOutlook_mask
|
// TOutlook_mask
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
class TBook_field;
|
||||||
|
|
||||||
class TOutlook_mask : public TSpidey_mask
|
class TOutlook_mask : public TSpidey_mask
|
||||||
{
|
{
|
||||||
TMenu_tree _tree;
|
TMenu_tree _tree;
|
||||||
int _icon[16];
|
TPointer_array _icon;
|
||||||
|
TString_array _picture;
|
||||||
|
|
||||||
TString _per_def, _per_tmp;
|
TString _per_def, _per_tmp;
|
||||||
bool _locked;
|
bool _locked;
|
||||||
TString _last_search;
|
TString _last_search;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual long handler(WINDOW w, EVENT* ep);
|
|
||||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||||
virtual bool can_be_closed() const;
|
virtual bool can_be_closed() const;
|
||||||
|
|
||||||
|
TBook_field& book_field() const;
|
||||||
short add_page(const TMenuitem& mi);
|
short add_page(const TMenuitem& mi);
|
||||||
void set_page_caption(short page, const TString& caption, int icon);
|
void set_page_caption(short page, const TString& caption, int icon);
|
||||||
|
|
||||||
@ -30,6 +33,8 @@ protected:
|
|||||||
void load_perspective(int per);
|
void load_perspective(int per);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
virtual long handler(WINDOW w, EVENT* ep); // Used by E_PROCESS
|
||||||
|
|
||||||
TOutlook_mask(TMenu& menu);
|
TOutlook_mask(TMenu& menu);
|
||||||
~TOutlook_mask();
|
~TOutlook_mask();
|
||||||
};
|
};
|
||||||
|
@ -78,9 +78,16 @@ BEGIN
|
|||||||
FIELD AlwaysFullScreen
|
FIELD AlwaysFullScreen
|
||||||
END
|
END
|
||||||
|
|
||||||
|
BOOLEAN 223
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 8 "Messaggi d'errore animati"
|
||||||
|
FIELD AnimatedBoxes
|
||||||
|
FLAGS "H" // OEM=0 Only
|
||||||
|
END
|
||||||
|
|
||||||
LIST 222 2 10
|
LIST 222 2 10
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 8 "Interlinea "
|
PROMPT 1 9 "Interlinea "
|
||||||
ITEM "-1|Automatica"
|
ITEM "-1|Automatica"
|
||||||
ITEM "0|Minima"
|
ITEM "0|Minima"
|
||||||
ITEM "4|Normale"
|
ITEM "4|Normale"
|
||||||
|
@ -138,7 +138,7 @@ bool TDictionary::read(const char* fname)
|
|||||||
if (line.empty())
|
if (line.empty())
|
||||||
break;
|
break;
|
||||||
if (c % 100 == 0)
|
if (c % 100 == 0)
|
||||||
pi.setstatus(scan.tellg());
|
pi.setstatus((long)scan.tellg());
|
||||||
line.trim();
|
line.trim();
|
||||||
if (line.starts_with("<ita>"))
|
if (line.starts_with("<ita>"))
|
||||||
{
|
{
|
||||||
|
@ -95,7 +95,7 @@ MESSAGE COPY,3@
|
|||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
RADIOBUTTON LST_AF1_SESSO 1 12
|
RADIOBUTTON LST_AF1_SESSO 1 16
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 0 5 "Sesso"
|
PROMPT 0 5 "Sesso"
|
||||||
FIELD LF_ANAGFIS->SESSO
|
FIELD LF_ANAGFIS->SESSO
|
||||||
@ -104,14 +104,14 @@ ITEM "M|Maschio"
|
|||||||
ITEM "F|Femmina"
|
ITEM "F|Femmina"
|
||||||
END
|
END
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 31 4
|
GROUPBOX DLG_NULL 25 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 12 5 "Partita IVA "
|
PROMPT 17 5 "Partita IVA "
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING FLD_AF1_STATOPAIV 2
|
STRING FLD_AF1_STATOPAIV 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 13 6 "Stato "
|
PROMPT 18 6 "Stato "
|
||||||
FIELD LF_ANAG->STATOPAIV
|
FIELD LF_ANAG->STATOPAIV
|
||||||
HELP "Codice dello stato cui si riferisce la partita IVA"
|
HELP "Codice dello stato cui si riferisce la partita IVA"
|
||||||
FLAGS "U"
|
FLAGS "U"
|
||||||
@ -125,7 +125,7 @@ END
|
|||||||
|
|
||||||
STRING FLD_AF1_PAIV 12
|
STRING FLD_AF1_PAIV 12
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 13 7 "Codice "
|
PROMPT 18 7 "Codice "
|
||||||
FIELD LF_ANAG->PAIV
|
FIELD LF_ANAG->PAIV
|
||||||
HELP "Partita IVA della persona"
|
HELP "Partita IVA della persona"
|
||||||
VALIDATE XTZPI_FUNC FLD_AF1_STATOPAIV FLD_AF2_COMRF FLD_AF1_COMRES
|
VALIDATE XTZPI_FUNC FLD_AF1_STATOPAIV FLD_AF2_COMRF FLD_AF1_COMRES
|
||||||
|
Loading…
x
Reference in New Issue
Block a user