Patch level : 10.0
Files correlati : ba0.exe Ricompilazione Demo : [ ] Commento : Corretto errore 0000916: file logo Se nella custom si mette un'immagine di nome logo questa appare anche sulla mappa del menu non outlook sostituendo Sirio. git-svn-id: svn://10.65.10.50/trunk@17459 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
4ca44a0c36
commit
c88808ff25
@ -257,20 +257,16 @@ TPicture_mask::TPicture_mask(const char* name, int dx, int dy,
|
|||||||
: TMask(name, 1, dx, dy, x, y), _submenu(NULL), _logo(NULL)
|
: TMask(name, 1, dx, dy, x, y), _submenu(NULL), _logo(NULL)
|
||||||
{
|
{
|
||||||
set_current(submenu);
|
set_current(submenu);
|
||||||
TFilename logoname;
|
_logo = new TImage("menulogo");
|
||||||
const char* const ext[] = { "jpg", "png", "gif", "bmp", "jpeg", NULL };
|
if (_logo->ok())
|
||||||
for (int i = 0; ext[i]; i++)
|
|
||||||
{
|
{
|
||||||
logoname = "logo"; logoname.ext(ext[i]);
|
if (can_be_transparent(*_logo))
|
||||||
if (logoname.custom_path())
|
_logo->convert_transparent_color(MASK_BACK_COLOR);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
TImage logo(logoname);
|
else
|
||||||
if (logo.ok())
|
|
||||||
{
|
{
|
||||||
if (can_be_transparent(logo))
|
delete _logo;
|
||||||
logo.convert_transparent_color(MASK_BACK_COLOR);
|
_logo = NULL;
|
||||||
_logo = new TImage(logo);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,6 +29,11 @@ const TMenuitem& TMenu_tree::curr_item() const
|
|||||||
return sm.item(_menuitem);
|
return sm.item(_menuitem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool TMenu_tree::enabled() const
|
||||||
|
{
|
||||||
|
return curr_item().enabled();
|
||||||
|
}
|
||||||
|
|
||||||
struct TFind_node_data
|
struct TFind_node_data
|
||||||
{
|
{
|
||||||
TString _id;
|
TString _id;
|
||||||
@ -389,7 +394,7 @@ TObject* TMenulist_images::key2obj(const char* key)
|
|||||||
const double max_img = (double)_max_side;
|
const double max_img = (double)_max_side;
|
||||||
const double max_lgo = rct.right - _max_side;
|
const double max_lgo = rct.right - _max_side;
|
||||||
|
|
||||||
if (strcmp(key,"logo") != 0)
|
if (strcmp(key,"menulogo") != 0)
|
||||||
{
|
{
|
||||||
const double ratiox = max_img / image.width();
|
const double ratiox = max_img / image.width();
|
||||||
const double ratioy = max_img / image.height();
|
const double ratioy = max_img / image.height();
|
||||||
@ -441,7 +446,7 @@ TImage* TMenulist_images::image(const char* name)
|
|||||||
TObject* obj = objptr(name);
|
TObject* obj = objptr(name);
|
||||||
if (obj == NULL &&
|
if (obj == NULL &&
|
||||||
xvt_str_compare_ignoring_case(name, "ba00") != 0 &&
|
xvt_str_compare_ignoring_case(name, "ba00") != 0 &&
|
||||||
xvt_str_compare_ignoring_case(name, "logo") != 0)
|
xvt_str_compare_ignoring_case(name, "menulogo") != 0)
|
||||||
obj = objptr("ba00");
|
obj = objptr("ba00");
|
||||||
return (TImage*)obj;
|
return (TImage*)obj;
|
||||||
}
|
}
|
||||||
@ -592,7 +597,7 @@ void TMenulist_window::update()
|
|||||||
img->draw(win(), x, y);
|
img->draw(win(), x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
TImage* logo = db ? _images.image("logo") : NULL; //logo del programma
|
TImage* logo = db ? _images.image("menulogo") : NULL; //logo del programma
|
||||||
if (logo != NULL) //disegna il logo
|
if (logo != NULL) //disegna il logo
|
||||||
{
|
{
|
||||||
RCT rct; xvt_vobj_get_client_rect(win(), &rct);
|
RCT rct; xvt_vobj_get_client_rect(win(), &rct);
|
||||||
|
@ -46,6 +46,7 @@ public: // TTree
|
|||||||
virtual void curr_id(TString& id) const { id = _curr_id; }
|
virtual void curr_id(TString& id) const { id = _curr_id; }
|
||||||
virtual bool get_description(TString& desc) const;
|
virtual bool get_description(TString& desc) const;
|
||||||
virtual TImage* image(bool selected) const;
|
virtual TImage* image(bool selected) const;
|
||||||
|
virtual bool enabled() const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
const TSubmenu& curr_submenu() const;
|
const TSubmenu& curr_submenu() const;
|
||||||
|
@ -271,7 +271,7 @@ void TBook_window::erode_antipa()
|
|||||||
|
|
||||||
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("logo.gif")
|
: TControl_host_window(x, y, dx, dy, parent, owner), _logo("menulogo")
|
||||||
{
|
{
|
||||||
if (_logo.ok() && can_be_transparent(_logo))
|
if (_logo.ok() && can_be_transparent(_logo))
|
||||||
_logo.convert_transparent_color(NORMAL_BACK_COLOR);
|
_logo.convert_transparent_color(NORMAL_BACK_COLOR);
|
||||||
@ -425,6 +425,7 @@ void TOutlook_mask::handler(WINDOW w, EVENT* ep)
|
|||||||
_tree.shrink_all();
|
_tree.shrink_all();
|
||||||
tf.win().force_update(); // Provoca la rigenerazione dell'albero collassato
|
tf.win().force_update(); // Provoca la rigenerazione dell'albero collassato
|
||||||
tf.on_key(K_SPACE);
|
tf.on_key(K_SPACE);
|
||||||
|
set(DLG_LOOK, -1); // Deseleziona
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 8002:
|
case 8002:
|
||||||
@ -524,11 +525,15 @@ bool TOutlook_mask::on_field_event(TOperable_field& o, TField_event e, long joll
|
|||||||
case DLG_LOOK:
|
case DLG_LOOK:
|
||||||
if (e == fe_modify)
|
if (e == fe_modify)
|
||||||
{
|
{
|
||||||
|
const int sel = atoi(o.get());
|
||||||
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
|
||||||
const int sel = atoi(o.get());
|
|
||||||
for (int i = 0; i < sel; i++)
|
for (int i = 0; i < sel; i++)
|
||||||
_tree.goto_rbrother(); // Seglie l'opportuno ramo principale
|
{
|
||||||
|
do
|
||||||
|
_tree.goto_rbrother(); // Sceglie l'opportuno ramo principale
|
||||||
|
while (!_tree.enabled());
|
||||||
|
}
|
||||||
_tree.goto_firstson();
|
_tree.goto_firstson();
|
||||||
_tree.curr_id(id);
|
_tree.curr_id(id);
|
||||||
_tree.change_root(id.get(1)); // Imposta una nuova radice
|
_tree.change_root(id.get(1)); // Imposta una nuova radice
|
||||||
|
Loading…
x
Reference in New Issue
Block a user