Fixed a crash that happens sometimes when opening the design rule dialog.

preparing auto refresh of the 3D view in mod edit (not yet working)
This commit is contained in:
Administrateur 2010-04-29 11:06:01 +02:00
parent 5f971428d6
commit dfc624e6b3
3 changed files with 21 additions and 4 deletions

View File

@ -33,6 +33,7 @@ double DataScale3D; // 3D conversion units.
BEGIN_EVENT_TABLE( WinEDA3D_DrawFrame, wxFrame )
EVT_ACTIVATE( WinEDA3D_DrawFrame::OnActivate )
EVT_TOOL_RANGE( ID_ZOOM_IN, ID_ZOOM_PAGE, WinEDA3D_DrawFrame::Process_Zoom )
EVT_TOOL_RANGE( ID_START_COMMAND_3D, ID_END_COMMAND_3D,
WinEDA3D_DrawFrame::Process_Special_Functions )
@ -351,6 +352,18 @@ void WinEDA3D_DrawFrame::NewDisplay()
}
void WinEDA3D_DrawFrame::OnActivate( wxActivateEvent& event )
{
// Reload data if 3D frame shows a footprint,
// because it can be changed since last frame activation
if( m_Parent->m_Ident == MODULE_EDITOR_FRAME )
{
// NewDisplay();
}
event.Skip(); // required under wxMAC
}
/* called to set the background color of the 3D scene
*/
void WinEDA3D_DrawFrame::Set3DBgColor()

View File

@ -123,7 +123,7 @@ public:
double m_BoardScale; /* Normalization scale for coordinates:
* when scaled between -1.0 and +1.0 */
double m_LayerZcoord[32];
double m_ActZpos;
double m_ActZpos;
public: Info_3D_Visu();
~Info_3D_Visu();
};
@ -219,6 +219,7 @@ public:
void RedrawActiveWindow( wxDC* DC, bool EraseBg );
void Process_Special_Functions( wxCommandEvent& event );
void Process_Zoom( wxCommandEvent& event );
void OnActivate( wxActivateEvent& event );
void NewDisplay();
void Set3DBgColor();

View File

@ -290,12 +290,15 @@ void DIALOG_DESIGN_RULES::InitDimensionsLists()
static bool sortByClassThenName( NETCUP* a, NETCUP* b )
{
// return a < b
if( a->clazz < b->clazz )
return true;
if( a->net < b->net )
return true;
// inside the same class, sort by net name:
if( a->clazz == b->clazz )
{
if( a->net < b->net )
return true;
}
return false;
}