fixed bug 564619.
This commit is contained in:
parent
d64410b161
commit
0d485b4b4a
|
@ -239,9 +239,11 @@ void SCH_SHEET::Place( WinEDA_SchematicFrame* frame, wxDC* DC )
|
|||
* @param aFrame = the schematic frame
|
||||
*/
|
||||
void SCH_SHEET::CleanupSheet( WinEDA_SchematicFrame* aFrame,
|
||||
bool aRedraw )
|
||||
bool aRedraw,
|
||||
bool aSaveForUndoRedo)
|
||||
{
|
||||
SCH_SHEET_PIN* Pinsheet, * NextPinsheet;
|
||||
bool isSaved = false;
|
||||
|
||||
if( !IsOK( aFrame, _( "Ok to cleanup this sheet" ) ) )
|
||||
return;
|
||||
|
@ -268,6 +270,11 @@ void SCH_SHEET::CleanupSheet( WinEDA_SchematicFrame* aFrame,
|
|||
NextPinsheet = Pinsheet->Next();
|
||||
if( HLabel == NULL ) // Hlabel not found: delete pinsheet
|
||||
{
|
||||
if( aSaveForUndoRedo && !isSaved )
|
||||
{
|
||||
isSaved = true;
|
||||
aFrame->SaveCopyInUndoList( this, UR_CHANGED);
|
||||
}
|
||||
aFrame->OnModify( );
|
||||
aFrame->DeleteSheetLabel( false, Pinsheet );
|
||||
}
|
||||
|
|
|
@ -178,10 +178,12 @@ public:
|
|||
|
||||
/** Function CleanupSheet
|
||||
* Delete pinsheets which are not corresponding to a hierarchical label
|
||||
* @param aRedraw = true to redraw Sheet
|
||||
* @param aFrame = the schematic frame
|
||||
* @param aRedraw = true to redraw Sheet
|
||||
* @param aSaveForUndoRedo = true to put this sheet in UndoRedo list,
|
||||
* if it is modified.
|
||||
*/
|
||||
void CleanupSheet( WinEDA_SchematicFrame* frame, bool aRedraw );
|
||||
void CleanupSheet( WinEDA_SchematicFrame* frame, bool aRedraw, bool aSaveForUndoRedo );
|
||||
|
||||
/** Function GetPenSize
|
||||
* @return the size of the "pen" that be used to draw or plot this item
|
||||
|
|
|
@ -383,7 +383,7 @@ void WinEDA_SchematicFrame::Process_Special_Functions( wxCommandEvent& event )
|
|||
case ID_POPUP_SCH_CLEANUP_SHEET:
|
||||
if ( screen->GetCurItem()
|
||||
&& screen->GetCurItem()->Type() == DRAW_SHEET_STRUCT_TYPE )
|
||||
( (SCH_SHEET*) screen->GetCurItem() )->CleanupSheet( this, true );
|
||||
( (SCH_SHEET*) screen->GetCurItem() )->CleanupSheet( this, true, true );
|
||||
break;
|
||||
|
||||
case ID_POPUP_SCH_EDIT_PINSHEET:
|
||||
|
|
|
@ -288,7 +288,6 @@ void WinEDA_ModuleEditFrame::SetToolbars()
|
|||
m_HToolBar->EnableTool( ID_MODEDIT_SAVE_LIBMODULE, active && islib );
|
||||
MODULE* module_in_edit = GetBoard()->m_Modules;
|
||||
if( module_in_edit && module_in_edit->m_Link ) // this is not a new module
|
||||
// ...
|
||||
{
|
||||
BOARD* mainpcb = frame->GetBoard();
|
||||
MODULE* source_module = mainpcb->m_Modules;
|
||||
|
@ -334,7 +333,7 @@ void WinEDA_ModuleEditFrame::SetToolbars()
|
|||
{
|
||||
m_HToolBar->EnableTool( ID_MODEDIT_LOAD_MODULE_FROM_BOARD, false );
|
||||
}
|
||||
|
||||
m_HToolBar->Refresh();
|
||||
|
||||
if( m_VToolBar )
|
||||
{
|
||||
|
@ -345,6 +344,7 @@ void WinEDA_ModuleEditFrame::SetToolbars()
|
|||
m_VToolBar->EnableTool( ID_PCB_ADD_TEXT_BUTT, active );
|
||||
m_VToolBar->EnableTool( ID_MODEDIT_PLACE_ANCHOR, active );
|
||||
m_VToolBar->EnableTool( ID_PCB_DELETE_ITEM_BUTT, active );
|
||||
m_VToolBar->Refresh();
|
||||
}
|
||||
|
||||
if( m_OptionsToolBar )
|
||||
|
@ -382,7 +382,8 @@ void WinEDA_ModuleEditFrame::SetToolbars()
|
|||
m_DisplayPadFill ?
|
||||
_( "Show pads in sketch mode" ) :
|
||||
_( "Show pads in filled mode" ) );
|
||||
}
|
||||
m_OptionsToolBar->Refresh();
|
||||
}
|
||||
|
||||
if( m_AuxiliaryToolBar )
|
||||
{
|
||||
|
@ -406,6 +407,8 @@ void WinEDA_ModuleEditFrame::SetToolbars()
|
|||
|
||||
if( m_SelGridBox )
|
||||
m_SelGridBox->SetSelection( m_LastGridSizeId );
|
||||
|
||||
m_AuxiliaryToolBar->Refresh();
|
||||
}
|
||||
|
||||
DisplayUnitsMsg();
|
||||
|
|
|
@ -141,6 +141,9 @@ void WinEDA_PcbFrame::AuxiliaryToolBar_Update_UI()
|
|||
m_SelGridBox->SetSelection( m_LastGridSizeId );
|
||||
|
||||
m_TrackAndViasSizesList_Changed = false;
|
||||
|
||||
m_AuxiliaryToolBar->Refresh();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -181,6 +184,7 @@ void WinEDA_PcbFrame::SetToolbars()
|
|||
|
||||
state = GetScreen()->GetRedoCommandCount() > 0;
|
||||
m_HToolBar->EnableTool( wxID_REDO, state );
|
||||
m_HToolBar->Refresh();
|
||||
|
||||
if( m_OptionsToolBar )
|
||||
{
|
||||
|
@ -267,6 +271,7 @@ void WinEDA_PcbFrame::SetToolbars()
|
|||
|
||||
m_OptionsToolBar->ToggleTool( ID_TB_OPTIONS_SHOW_EXTRA_VERTICAL_TOOLBAR1,
|
||||
m_auimgr.GetPane(wxT("m_AuxVToolBar")).IsShown() );
|
||||
m_OptionsToolBar->Refresh();
|
||||
}
|
||||
|
||||
if( m_AuxiliaryToolBar )
|
||||
|
|
Loading…
Reference in New Issue