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:
parent
5f971428d6
commit
dfc624e6b3
|
@ -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()
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue