diff --git a/eeschema/dialogs/dialog_erc.cpp b/eeschema/dialogs/dialog_erc.cpp index c68198f0d1..49f5038623 100644 --- a/eeschema/dialogs/dialog_erc.cpp +++ b/eeschema/dialogs/dialog_erc.cpp @@ -175,6 +175,7 @@ void DIALOG_ERC::OnLeftDClickMarkersList( wxCommandEvent& event ) m_Parent->m_CurrentSheet->UpdateAllScreenReferences(); } + m_Parent->GetScreen()->SetCrossHairPosition(pos); m_Parent->RedrawScreen( pos, true ); } diff --git a/eeschema/hierarch.cpp b/eeschema/hierarch.cpp index 48cf14754a..f001bddd90 100644 --- a/eeschema/hierarch.cpp +++ b/eeschema/hierarch.cpp @@ -3,7 +3,6 @@ /******************/ #include "fctsys.h" -#include "gr_basic.h" #include "common.h" #include "class_drawpanel.h" #include "confirm.h" @@ -25,7 +24,7 @@ enum }; -class WinEDA_HierFrame; +class HIERARCHY_NAVIG_DLG; /* This class derived from wxTreeItemData stores the SCH_SHEET_PATH of each * sheet in hierarchy in each TreeItem, in its associated data buffer @@ -41,23 +40,23 @@ public: }; /* Class to handle hierarchy tree. */ -class WinEDA_Tree : public wxTreeCtrl +class HIERARCHY_TREE : public wxTreeCtrl { private: - WinEDA_HierFrame* m_Parent; + HIERARCHY_NAVIG_DLG* m_Parent; wxImageList* imageList; public: - WinEDA_Tree() { } - WinEDA_Tree( WinEDA_HierFrame* parent ); + HIERARCHY_TREE() { } + HIERARCHY_TREE( HIERARCHY_NAVIG_DLG* parent ); - DECLARE_DYNAMIC_CLASS( WinEDA_Tree ) + DECLARE_DYNAMIC_CLASS( HIERARCHY_TREE ) }; -IMPLEMENT_DYNAMIC_CLASS( WinEDA_Tree, wxTreeCtrl ) +IMPLEMENT_DYNAMIC_CLASS( HIERARCHY_TREE, wxTreeCtrl ) -WinEDA_Tree::WinEDA_Tree( WinEDA_HierFrame* parent ) : +HIERARCHY_TREE::HIERARCHY_TREE( HIERARCHY_NAVIG_DLG* parent ) : wxTreeCtrl( (wxWindow*)parent, ID_TREECTRL_HIERARCHY, wxDefaultPosition, wxDefaultSize, wxTR_HAS_BUTTONS, wxDefaultValidator, wxT( "HierachyTreeCtrl" ) ) { @@ -73,11 +72,11 @@ WinEDA_Tree::WinEDA_Tree( WinEDA_HierFrame* parent ) : } -class WinEDA_HierFrame : public wxDialog +class HIERARCHY_NAVIG_DLG : public wxDialog { public: SCH_EDIT_FRAME* m_Parent; - WinEDA_Tree* m_Tree; + HIERARCHY_TREE* m_Tree; int m_nbsheets; wxDC* m_DC; @@ -86,10 +85,10 @@ private: int maxposx; public: - WinEDA_HierFrame( SCH_EDIT_FRAME* parent, wxDC* DC, const wxPoint& pos ); + HIERARCHY_NAVIG_DLG( SCH_EDIT_FRAME* parent, wxDC* DC, const wxPoint& pos ); void BuildSheetsTree( SCH_SHEET_PATH* list, wxTreeItemId* previousmenu ); - ~WinEDA_HierFrame(); + ~HIERARCHY_NAVIG_DLG(); void OnSelect( wxTreeEvent& event ); @@ -99,28 +98,28 @@ private: DECLARE_EVENT_TABLE() }; -BEGIN_EVENT_TABLE( WinEDA_HierFrame, wxDialog ) - EVT_TREE_ITEM_ACTIVATED( ID_TREECTRL_HIERARCHY, WinEDA_HierFrame::OnSelect ) +BEGIN_EVENT_TABLE( HIERARCHY_NAVIG_DLG, wxDialog ) + EVT_TREE_ITEM_ACTIVATED( ID_TREECTRL_HIERARCHY, HIERARCHY_NAVIG_DLG::OnSelect ) END_EVENT_TABLE() void SCH_EDIT_FRAME::InstallHierarchyFrame( wxDC* DC, wxPoint& pos ) { - WinEDA_HierFrame* treeframe = new WinEDA_HierFrame( this, DC, pos ); + HIERARCHY_NAVIG_DLG* treeframe = new HIERARCHY_NAVIG_DLG( this, DC, pos ); treeframe->ShowModal(); treeframe->Destroy(); } -WinEDA_HierFrame::WinEDA_HierFrame( SCH_EDIT_FRAME* parent, wxDC* DC, const wxPoint& pos ) : +HIERARCHY_NAVIG_DLG::HIERARCHY_NAVIG_DLG( SCH_EDIT_FRAME* parent, wxDC* DC, const wxPoint& pos ) : wxDialog( parent, -1, _( "Navigator" ), pos, wxSize( 110, 50 ), DIALOG_STYLE ) { wxTreeItemId cellule; m_Parent = parent; m_DC = DC; - m_Tree = new WinEDA_Tree( this ); + m_Tree = new HIERARCHY_TREE( this ); m_nbsheets = 1; @@ -159,23 +158,22 @@ WinEDA_HierFrame::WinEDA_HierFrame( SCH_EDIT_FRAME* parent, wxDC* DC, const wxPo } -WinEDA_HierFrame::~WinEDA_HierFrame() +HIERARCHY_NAVIG_DLG::~HIERARCHY_NAVIG_DLG() { } -void WinEDA_HierFrame::OnQuit( wxCommandEvent& event ) +void HIERARCHY_NAVIG_DLG::OnQuit( wxCommandEvent& event ) { // true is to force the frame to close Close( true ); } -/* Routine to create the tree in the navigation hierarchy - * Schematic +/* Routine to create the hierarchical tree of the schematic * This routine is re-entrant! */ -void WinEDA_HierFrame::BuildSheetsTree( SCH_SHEET_PATH* list, wxTreeItemId* previousmenu ) +void HIERARCHY_NAVIG_DLG::BuildSheetsTree( SCH_SHEET_PATH* list, wxTreeItemId* previousmenu ) { wxTreeItemId menu; @@ -237,13 +235,13 @@ void WinEDA_HierFrame::BuildSheetsTree( SCH_SHEET_PATH* list, wxTreeItemId* pre /* Called on a double-click on a tree item: * Open the selected sheet, and display the corresponding screen */ -void WinEDA_HierFrame::OnSelect( wxTreeEvent& event ) +void HIERARCHY_NAVIG_DLG::OnSelect( wxTreeEvent& event ) { wxTreeItemId ItemSel = m_Tree->GetSelection(); - SCH_SHEET* sheet = ( (TreeItemData*) m_Tree->GetItemData( ItemSel ) )->m_SheetPath.Last(); - m_Parent->m_CurrentSheet->Push( sheet ); + *(m_Parent->m_CurrentSheet) = + ( (TreeItemData*) m_Tree->GetItemData( ItemSel ) )->m_SheetPath; m_Parent->DisplayCurrentSheet(); Close( true ); }