Minor fix in fp editor and fp viewer: display the fp info instead of the useless board info.

board info makes sense only in board editor, not in fp editor and fp viewer.
This commit is contained in:
jean-pierre charras 2018-05-12 10:44:31 +02:00
parent 2bab30d9ac
commit 6e5131be5a
6 changed files with 57 additions and 8 deletions

View File

@ -956,6 +956,7 @@ void C3D_RENDER_OGL_LEGACY::load_3D_models( REPORTER *aStatusTextReporter )
} }
// Check if the model is not present in our cache map // Check if the model is not present in our cache map
// (Not already loaded in memory)
if( m_3dmodel_map.find( sM->m_Filename ) == m_3dmodel_map.end() ) if( m_3dmodel_map.find( sM->m_Filename ) == m_3dmodel_map.end() )
{ {
// It is not present, try get it from cache // It is not present, try get it from cache

View File

@ -979,3 +979,23 @@ int FOOTPRINT_EDIT_FRAME::GetIconScale()
} }
void FOOTPRINT_EDIT_FRAME::UpdateMsgPanel()
{
// If a item is currently selected, displays the item info.
// If nothing selected, display the current footprint info
BOARD_ITEM* item = GetScreen()->GetCurItem();
if( !item )
item = GetBoard()->m_Modules;
MSG_PANEL_ITEMS items;
if( item )
{
item->GetMsgPanelInfo( items );
SetMsgPanel( items );
}
else
ClearMsgPanel();
}

View File

@ -479,6 +479,15 @@ public:
int GetIconScale() override; int GetIconScale() override;
/**
* redraws the message panel.
* If a item is currently selected, displays the item info.
* If nothing selected, display the current footprint info, or
* clear the message panel if nothing is edited
*/
void UpdateMsgPanel() override;
DECLARE_EVENT_TABLE() DECLARE_EVENT_TABLE()
protected: protected:

View File

@ -885,14 +885,25 @@ void FOOTPRINT_VIEWER_FRAME::RedrawActiveWindow( wxDC* DC, bool EraseBg )
m_canvas->DrawBackGround( DC ); m_canvas->DrawBackGround( DC );
GetBoard()->Draw( m_canvas, DC, GR_COPY ); GetBoard()->Draw( m_canvas, DC, GR_COPY );
MODULE* module = GetBoard()->m_Modules;
m_canvas->DrawCrossHair( DC ); m_canvas->DrawCrossHair( DC );
ClearMsgPanel(); UpdateMsgPanel();
}
if( module )
SetMsgPanel( module ); void FOOTPRINT_VIEWER_FRAME::UpdateMsgPanel()
{
BOARD_ITEM* footprint = GetBoard()->m_Modules;
if( footprint )
{
MSG_PANEL_ITEMS items;
footprint->GetMsgPanelInfo( items );
SetMsgPanel( items );
}
else
ClearMsgPanel();
} }
@ -905,6 +916,7 @@ void FOOTPRINT_VIEWER_FRAME::updateView()
dp->DisplayBoard( GetBoard() ); dp->DisplayBoard( GetBoard() );
m_toolManager->ResetTools( TOOL_BASE::MODEL_RELOAD ); m_toolManager->ResetTools( TOOL_BASE::MODEL_RELOAD );
m_toolManager->RunAction( ACTIONS::zoomFitScreen, true ); m_toolManager->RunAction( ACTIONS::zoomFitScreen, true );
UpdateMsgPanel();
} }
} }

View File

@ -56,6 +56,13 @@ public:
virtual COLOR4D GetGridColor() override; virtual COLOR4D GetGridColor() override;
/**
* redraws the message panel.
* display the current footprint info, or
* clear the message panel if nothing is loaded
*/
void UpdateMsgPanel() override;
/** /**
* Function ReCreateLibraryList * Function ReCreateLibraryList
* *