@ -319,7 +319,7 @@ void LinkGraphOverlay::SetCompanyMask(uint32 company_mask)
/** Make a number of rows with buttons for each company for the linkgraph legend window. */
NWidgetBase * MakeCompanyButtonRowsLinkGraphGUI ( int * biggest_index )
{
return MakeCompanyButtonRows ( biggest_index , WID_LGL_COMPANY_FIRST , WID_LGL_COMPANY_LAST , 3 , STR_ LINKGRAPH_LEGEND_SELECT_COMPANIES ) ;
return MakeCompanyButtonRows ( biggest_index , WID_LGL_COMPANY_FIRST , WID_LGL_COMPANY_LAST , 3 , STR_ NULL ) ;
}
NWidgetBase * MakeSaturationLegendLinkGraphGUI ( int * biggest_index )
@ -500,6 +500,44 @@ void LinkGraphLegendWindow::DrawWidget(const Rect &r, int widget) const
}
}
bool LinkGraphLegendWindow : : OnHoverCommon ( Point pt , int widget , TooltipCloseCondition close_cond )
{
if ( IsInsideMM ( widget , WID_LGL_COMPANY_FIRST , WID_LGL_COMPANY_LAST + 1 ) ) {
if ( this - > IsWidgetDisabled ( widget ) ) {
GuiShowTooltips ( this , STR_LINKGRAPH_LEGEND_SELECT_COMPANIES , 0 , NULL , close_cond ) ;
} else {
uint64 params [ 2 ] ;
CompanyID cid = ( CompanyID ) ( widget - WID_LGL_COMPANY_FIRST ) ;
params [ 0 ] = STR_LINKGRAPH_LEGEND_SELECT_COMPANIES ;
params [ 1 ] = cid ;
GuiShowTooltips ( this , STR_LINKGRAPH_LEGEND_COMPANY_TOOLTIP , 2 , params , close_cond ) ;
}
return true ;
}
if ( IsInsideMM ( widget , WID_LGL_CARGO_FIRST , WID_LGL_CARGO_LAST + 1 ) ) {
if ( this - > IsWidgetDisabled ( widget ) ) return false ;
CargoSpec * cargo = CargoSpec : : Get ( widget - WID_LGL_CARGO_FIRST ) ;
uint64 params [ 1 ] ;
params [ 0 ] = cargo - > name ;
GuiShowTooltips ( this , STR_BLACK_STRING , 1 , params , close_cond ) ;
return true ;
}
return false ;
}
void LinkGraphLegendWindow : : OnHover ( Point pt , int widget )
{
this - > OnHoverCommon ( pt , widget , TCC_HOVER ) ;
}
bool LinkGraphLegendWindow : : OnRightClick ( Point pt , int widget )
{
if ( _settings_client . gui . hover_delay_ms = = 0 ) {
return this - > OnHoverCommon ( pt , widget , TCC_RIGHT_CLICK ) ;
}
return false ;
}
/**
* Update the overlay with the new company selection .
*/