Commit 72357970 authored by charras's avatar charras
Browse files

Netlist dialog redesigned, netlist.cpp code modified

parent 154be142
Loading
Loading
Loading
Loading
+8 −0
Original line number Original line Diff line number Diff line
@@ -5,6 +5,14 @@ Started 2007-June-11
Please add newer entries at the top, list the date and your name with
Please add newer entries at the top, list the date and your name with
email address.
email address.


2008-Mar-21 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+pcbnew
    Netlist dialog redesigned, netlist.cpp code modified
    and added an option to remove not locked footprints
    when not found in netlist


2008-Mar-21 UPDATE   Dick Hollenbeck <dick@softplc.com>
2008-Mar-21 UPDATE   Dick Hollenbeck <dick@softplc.com>
================================================================================
================================================================================
+pcbnew
+pcbnew
+3 −1
Original line number Original line Diff line number Diff line
@@ -298,7 +298,9 @@ void AddMenusForComponent( wxMenu* PopMenu, SCH_COMPONENT* Component )


    if( !Component->m_Flags )
    if( !Component->m_Flags )
    {
    {
        msg = AddHotkeyName( _( "Move Component" ), s_Schematic_Hokeys_Descr, HK_MOVE_COMPONENT );
        msg = _( "Move Component" );
        msg << wxT(" ") << Component->GetFieldValue( REFERENCE );
        msg = AddHotkeyName( msg, s_Schematic_Hokeys_Descr, HK_MOVE_COMPONENT );
        ADD_MENUITEM( PopMenu, ID_POPUP_SCH_MOVE_CMP_REQUEST,
        ADD_MENUITEM( PopMenu, ID_POPUP_SCH_MOVE_CMP_REQUEST,
                      msg, move_xpm );
                      msg, move_xpm );
        msg = AddHotkeyName( _( "Drag Component" ), s_Schematic_Hokeys_Descr, HK_DRAG_COMPONENT );
        msg = AddHotkeyName( _( "Drag Component" ), s_Schematic_Hokeys_Descr, HK_DRAG_COMPONENT );
+1 −1
Original line number Original line Diff line number Diff line
@@ -441,7 +441,7 @@ public:


    // Footprint edition (see also WinEDA_BasePcbFrame)
    // Footprint edition (see also WinEDA_BasePcbFrame)
    void                StartMove_Module( MODULE* module, wxDC* DC );
    void                StartMove_Module( MODULE* module, wxDC* DC );
    bool                Delete_Module( MODULE* module, wxDC* DC );
    bool                Delete_Module( MODULE* module, wxDC* DC, bool aAskBeforeDeleting );


    // loading modules: see WinEDA_BasePcbFrame
    // loading modules: see WinEDA_BasePcbFrame


+150 −54
Original line number Original line Diff line number Diff line
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////

// Name:        dialog_netlist.cpp
// Name:        dialog_netlist.cpp
// Purpose:
// Purpose:
// Author:      jean-pierre Charras
// Author:      jean-pierre Charras
@@ -11,7 +12,6 @@


// Generated by DialogBlocks (unregistered), 26/02/2006 17:42:19
// Generated by DialogBlocks (unregistered), 26/02/2006 17:42:19



// For compilers that support precompilation, includes "wx/wx.h".
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
#include "wx/wxprec.h"


@@ -31,6 +31,8 @@
////@begin XPM images
////@begin XPM images
////@end XPM images
////@end XPM images


static bool DisplayWarning;

/*!
/*!
 * WinEDA_NetlistFrame type definition
 * WinEDA_NetlistFrame type definition
 */
 */
@@ -66,32 +68,51 @@ WinEDA_NetlistFrame::WinEDA_NetlistFrame( )
{
{
}
}


WinEDA_NetlistFrame::WinEDA_NetlistFrame( WinEDA_PcbFrame* parent, wxDC * DC, 

        wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style )
WinEDA_NetlistFrame::WinEDA_NetlistFrame( WinEDA_PcbFrame* parent,
                                          wxDC* DC,
                                          const wxString& aNetlistFilename,
                                          wxWindowID id,
                                          const wxString& caption,
                                          const wxPoint& pos,
                                          const wxSize& size,
                                          long style )
{
{
    m_Parent = parent;
    m_Parent = parent;
    m_DC = DC;
    m_DC = DC;
    /* Setup the NETLIST file name according to the board file name */
    NetNameBuffer = m_Parent->m_CurrentScreen->m_FileName;
    ChangeFileNameExt(NetNameBuffer, NetExtBuffer);


    Create( parent, id, caption, pos, size, style );
    Create( parent, id, caption, pos, size, style );


    wxString title = GetTitle() + NetNameBuffer;
    m_NetlistFilenameCtrl->SetValue( aNetlistFilename );
    SetTitle(title);
}


/*!
 * WinEDA_NetlistFrame destructor
 */

WinEDA_NetlistFrame::~WinEDA_NetlistFrame()
{
}
}


/*!
/*!
 * WinEDA_NetlistFrame creator
 * WinEDA_NetlistFrame creator
 */
 */


bool WinEDA_NetlistFrame::Create( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style )
bool WinEDA_NetlistFrame::Create( wxWindow* parent,
                                  wxWindowID id,
                                  const wxString& caption,
                                  const wxPoint& pos,
                                  const wxSize& size,
                                  long style )
{
{
////@begin WinEDA_NetlistFrame member initialisation
////@begin WinEDA_NetlistFrame member initialisation
    m_Select_By_Timestamp = NULL;
    m_Select_By_Timestamp = NULL;
    m_ChangeExistingFootprintCtrl = NULL;
    m_DeleteBadTracks = NULL;
    m_DeleteBadTracks = NULL;
    m_ChangeExistantModuleCtrl = NULL;
    m_DisplayWarningCtrl = NULL;
    m_DisplayWarningCtrl = NULL;
    m_RemoveExtraFootprintsCtrl = NULL;
    m_NetlistFilenameCtrl = NULL;
    m_MessageWindow = NULL;
    m_MessageWindow = NULL;
    StdDialogButtonSizer = NULL;
    StdDialogButtonSizer = NULL;
////@end WinEDA_NetlistFrame member initialisation
////@end WinEDA_NetlistFrame member initialisation
@@ -110,6 +131,7 @@ bool WinEDA_NetlistFrame::Create( wxWindow* parent, wxWindowID id, const wxStrin
    return true;
    return true;
}
}



/*!
/*!
 * Control creation for WinEDA_NetlistFrame
 * Control creation for WinEDA_NetlistFrame
 */
 */
@@ -117,8 +139,9 @@ bool WinEDA_NetlistFrame::Create( wxWindow* parent, wxWindowID id, const wxStrin
void WinEDA_NetlistFrame::CreateControls()
void WinEDA_NetlistFrame::CreateControls()
{
{
    SetFont( *g_DialogFont );
    SetFont( *g_DialogFont );

////@begin WinEDA_NetlistFrame content construction
////@begin WinEDA_NetlistFrame content construction
    // Generated by DialogBlocks, 13/11/2007 15:31:19 (unregistered)
    // Generated by DialogBlocks, 22/03/2008 18:44:52 (unregistered)


    WinEDA_NetlistFrame* itemDialog1 = this;
    WinEDA_NetlistFrame* itemDialog1 = this;


@@ -128,67 +151,103 @@ void WinEDA_NetlistFrame::CreateControls()
    wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxHORIZONTAL);
    wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxHORIZONTAL);
    itemBoxSizer2->Add(itemBoxSizer3, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP, 5);
    itemBoxSizer2->Add(itemBoxSizer3, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP, 5);


    wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxVERTICAL);
    wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxHORIZONTAL);
    itemBoxSizer3->Add(itemBoxSizer4, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5);
    itemBoxSizer3->Add(itemBoxSizer4, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5);


    wxBoxSizer* itemBoxSizer5 = new wxBoxSizer(wxVERTICAL);
    itemBoxSizer4->Add(itemBoxSizer5, 0, wxGROW|wxALL, 5);

    wxArrayString m_Select_By_TimestampStrings;
    wxArrayString m_Select_By_TimestampStrings;
    m_Select_By_TimestampStrings.Add(_("Reference"));
    m_Select_By_TimestampStrings.Add(_("Reference"));
    m_Select_By_TimestampStrings.Add(_("Timestamp"));
    m_Select_By_TimestampStrings.Add(_("Timestamp"));
    m_Select_By_Timestamp = new wxRadioBox( itemDialog1, ID_RADIOBOX, _("Module Selection:"), wxDefaultPosition, wxDefaultSize, m_Select_By_TimestampStrings, 1, wxRA_SPECIFY_COLS );
    m_Select_By_Timestamp = new wxRadioBox( itemDialog1, ID_SELECTION_FOOTPRINT_MODE, _("Module Selection:"), wxDefaultPosition, wxDefaultSize, m_Select_By_TimestampStrings, 1, wxRA_SPECIFY_COLS );
    m_Select_By_Timestamp->SetSelection(0);
    m_Select_By_Timestamp->SetSelection(0);
    itemBoxSizer4->Add(m_Select_By_Timestamp, 0, wxGROW|wxALL, 5);
    if (WinEDA_NetlistFrame::ShowToolTips())
        m_Select_By_Timestamp->SetToolTip(_("Select how footprints are reconized:\nby their reference (U1, R3...) (normal setting)\nor their time stamp (special setting after a full schematic reannotation)"));
    itemBoxSizer5->Add(m_Select_By_Timestamp, 0, wxGROW|wxALL, 5);

    wxArrayString m_ChangeExistingFootprintCtrlStrings;
    m_ChangeExistingFootprintCtrlStrings.Add(_("Keep"));
    m_ChangeExistingFootprintCtrlStrings.Add(_("Change"));
    m_ChangeExistingFootprintCtrl = new wxRadioBox( itemDialog1, ID_KEEP_OR_CHANGE_FOOTPRINTS, _("Exchange Module:"), wxDefaultPosition, wxDefaultSize, m_ChangeExistingFootprintCtrlStrings, 1, wxRA_SPECIFY_COLS );
    m_ChangeExistingFootprintCtrl->SetSelection(0);
    if (WinEDA_NetlistFrame::ShowToolTips())
        m_ChangeExistingFootprintCtrl->SetToolTip(_("Keep or change an existing footprint when the netlist gives a different footprint"));
    itemBoxSizer5->Add(m_ChangeExistingFootprintCtrl, 0, wxGROW|wxALL, 5);

    itemBoxSizer4->Add(5, 5, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);

    wxBoxSizer* itemBoxSizer9 = new wxBoxSizer(wxVERTICAL);
    itemBoxSizer4->Add(itemBoxSizer9, 0, wxGROW|wxALL, 5);


    wxArrayString m_DeleteBadTracksStrings;
    wxArrayString m_DeleteBadTracksStrings;
    m_DeleteBadTracksStrings.Add(_("Keep"));
    m_DeleteBadTracksStrings.Add(_("Keep"));
    m_DeleteBadTracksStrings.Add(_("Delete"));
    m_DeleteBadTracksStrings.Add(_("Delete"));
    m_DeleteBadTracks = new wxRadioBox( itemDialog1, ID_RADIOBOX1, _("Bad Tracks Deletion:"), wxDefaultPosition, wxDefaultSize, m_DeleteBadTracksStrings, 1, wxRA_SPECIFY_COLS );
    m_DeleteBadTracks = new wxRadioBox( itemDialog1, ID_DELETE_TRACKS_OPTION, _("Bad Tracks Deletion:"), wxDefaultPosition, wxDefaultSize, m_DeleteBadTracksStrings, 1, wxRA_SPECIFY_COLS );
    m_DeleteBadTracks->SetSelection(0);
    m_DeleteBadTracks->SetSelection(0);
    itemBoxSizer4->Add(m_DeleteBadTracks, 0, wxGROW|wxALL, 5);
    if (WinEDA_NetlistFrame::ShowToolTips())
        m_DeleteBadTracks->SetToolTip(_("Keep or delete bad tracks after a netlist change"));
    itemBoxSizer9->Add(m_DeleteBadTracks, 0, wxGROW|wxALL, 5);


    wxArrayString m_ChangeExistantModuleCtrlStrings;
    wxStaticBox* itemStaticBoxSizer11Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Options"));
    m_ChangeExistantModuleCtrlStrings.Add(_("Keep"));
    wxStaticBoxSizer* itemStaticBoxSizer11 = new wxStaticBoxSizer(itemStaticBoxSizer11Static, wxVERTICAL);
    m_ChangeExistantModuleCtrlStrings.Add(_("Change"));
    itemBoxSizer9->Add(itemStaticBoxSizer11, 0, wxGROW|wxALL, 5);
    m_ChangeExistantModuleCtrl = new wxRadioBox( itemDialog1, ID_RADIOBOX2, _("Exchange Module:"), wxDefaultPosition, wxDefaultSize, m_ChangeExistantModuleCtrlStrings, 1, wxRA_SPECIFY_COLS );
    m_ChangeExistantModuleCtrl->SetSelection(0);
    itemBoxSizer4->Add(m_ChangeExistantModuleCtrl, 0, wxGROW|wxALL, 5);


    m_DisplayWarningCtrl = new wxCheckBox( itemDialog1, ID_CHECKBOX, _("Display Warnings"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE );
    m_DisplayWarningCtrl = new wxCheckBox( itemDialog1, ID_DISPLAY_WARNINGS_OPT, _("Display Warnings"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE );
    m_DisplayWarningCtrl->SetValue(false);
    m_DisplayWarningCtrl->SetValue(false);
    itemBoxSizer4->Add(m_DisplayWarningCtrl, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP, 5);
    itemStaticBoxSizer11->Add(m_DisplayWarningCtrl, 0, wxGROW|wxALL, 5);

    m_RemoveExtraFootprintsCtrl = new wxCheckBox( itemDialog1, ID_REMOVE_EXTRA_FOOTPRINTS_OPT, _("Remove Extra Footprints"), wxDefaultPosition, wxDefaultSize, 0 );
    m_RemoveExtraFootprintsCtrl->SetValue(false);
    if (WinEDA_NetlistFrame::ShowToolTips())
        m_RemoveExtraFootprintsCtrl->SetToolTip(_("Remove footprints found on the Board but not in netlist\nNote: only not locked footprints will be removed"));
    itemStaticBoxSizer11->Add(m_RemoveExtraFootprintsCtrl, 0, wxGROW|wxALL, 5);


    itemBoxSizer3->Add(5, 5, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
    itemBoxSizer3->Add(5, 5, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);


    wxBoxSizer* itemBoxSizer10 = new wxBoxSizer(wxVERTICAL);
    wxBoxSizer* itemBoxSizer15 = new wxBoxSizer(wxVERTICAL);
    itemBoxSizer3->Add(itemBoxSizer10, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5);
    itemBoxSizer3->Add(itemBoxSizer15, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5);

    wxButton* itemButton16 = new wxButton( itemDialog1, ID_OPEN_NELIST, _("Browse Netlist Files"), wxDefaultPosition, wxDefaultSize, 0 );
    itemButton16->SetForegroundColour(wxColour(217, 0, 0));
    itemBoxSizer15->Add(itemButton16, 0, wxGROW|wxALL, 5);


    wxButton* itemButton11 = new wxButton( itemDialog1, ID_OPEN_NELIST, _("Select"), wxDefaultPosition, wxDefaultSize, 0 );
    wxButton* itemButton17 = new wxButton( itemDialog1, ID_READ_NETLIST_FILE, _("Read Current Netlist"), wxDefaultPosition, wxDefaultSize, 0 );
    itemButton11->SetForegroundColour(wxColour(217, 0, 0));
    itemButton17->SetForegroundColour(wxColour(0, 128, 0));
    itemBoxSizer10->Add(itemButton11, 0, wxGROW|wxALL, 5);
    itemBoxSizer15->Add(itemButton17, 0, wxGROW|wxALL, 5);


    wxButton* itemButton12 = new wxButton( itemDialog1, ID_READ_NETLIST_FILE, _("Read"), wxDefaultPosition, wxDefaultSize, 0 );
    wxButton* itemButton18 = new wxButton( itemDialog1, ID_TEST_NETLIST, _("Footprints Test"), wxDefaultPosition, wxDefaultSize, 0 );
    itemButton12->SetForegroundColour(wxColour(0, 128, 0));
    if (WinEDA_NetlistFrame::ShowToolTips())
    itemBoxSizer10->Add(itemButton12, 0, wxGROW|wxALL, 5);
        itemButton18->SetToolTip(_("Read the current neltist file and list missing and extra footprints"));
    itemButton18->SetForegroundColour(wxColour(0, 128, 128));
    itemBoxSizer15->Add(itemButton18, 0, wxGROW|wxALL, 5);


    wxButton* itemButton13 = new wxButton( itemDialog1, ID_TEST_NETLIST, _("Module Test"), wxDefaultPosition, wxDefaultSize, 0 );
    wxButton* itemButton19 = new wxButton( itemDialog1, ID_COMPILE_RATSNEST, _("Rebuild Board Connectivity"), wxDefaultPosition, wxDefaultSize, 0 );
    itemButton13->SetForegroundColour(wxColour(0, 128, 128));
    if (WinEDA_NetlistFrame::ShowToolTips())
    itemBoxSizer10->Add(itemButton13, 0, wxGROW|wxALL, 5);
        itemButton19->SetToolTip(_("Rebuild the full ratsnest (usefull after a manual pad netname edition)"));
    itemButton19->SetForegroundColour(wxColour(0, 0, 132));
    itemBoxSizer15->Add(itemButton19, 0, wxGROW|wxALL, 5);


    wxButton* itemButton14 = new wxButton( itemDialog1, ID_COMPILE_RATSNEST, _("Compile"), wxDefaultPosition, wxDefaultSize, 0 );
    wxStaticBox* itemStaticBoxSizer20Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Netlist File:"));
    itemButton14->SetForegroundColour(wxColour(0, 0, 132));
    wxStaticBoxSizer* itemStaticBoxSizer20 = new wxStaticBoxSizer(itemStaticBoxSizer20Static, wxVERTICAL);
    itemBoxSizer10->Add(itemButton14, 0, wxGROW|wxALL, 5);
    itemStaticBoxSizer20Static->SetForegroundColour(wxColour(0, 0, 255));
    itemBoxSizer2->Add(itemStaticBoxSizer20, 0, wxGROW|wxALL, 5);

    m_NetlistFilenameCtrl = new wxTextCtrl( itemDialog1, ID_TEXT_NETLIST_FILENAME, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
    itemStaticBoxSizer20->Add(m_NetlistFilenameCtrl, 0, wxGROW|wxALL, 5);


    m_MessageWindow = new wxTextCtrl( itemDialog1, ID_TEXTCTRL, _T(""), wxDefaultPosition, wxSize(-1, 120), wxTE_MULTILINE|wxTE_READONLY );
    m_MessageWindow = new wxTextCtrl( itemDialog1, ID_TEXTCTRL, _T(""), wxDefaultPosition, wxSize(-1, 120), wxTE_MULTILINE|wxTE_READONLY );
    itemBoxSizer2->Add(m_MessageWindow, 1, wxGROW|wxALL, 10);
    itemBoxSizer2->Add(m_MessageWindow, 1, wxGROW|wxALL, 10);


    wxStaticLine* itemStaticLine16 = new wxStaticLine( itemDialog1, ID_STATICLINE, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
    wxStaticLine* itemStaticLine23 = new wxStaticLine( itemDialog1, ID_STATICLINE, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
    itemBoxSizer2->Add(itemStaticLine16, 0, wxGROW|wxLEFT|wxRIGHT, 5);
    itemBoxSizer2->Add(itemStaticLine23, 0, wxGROW|wxLEFT|wxRIGHT, 5);


    StdDialogButtonSizer = new wxStdDialogButtonSizer;
    StdDialogButtonSizer = new wxStdDialogButtonSizer;


    itemBoxSizer2->Add(StdDialogButtonSizer, 0, wxGROW|wxALL, 10);
    itemBoxSizer2->Add(StdDialogButtonSizer, 0, wxGROW|wxALL, 10);
    wxButton* itemButton18 = new wxButton( itemDialog1, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
    wxButton* itemButton25 = new wxButton( itemDialog1, wxID_CANCEL, _("&Close"), wxDefaultPosition, wxDefaultSize, 0 );
    itemButton18->SetForegroundColour(wxColour(0, 0, 255));
    itemButton25->SetForegroundColour(wxColour(0, 0, 255));
    StdDialogButtonSizer->AddButton(itemButton18);
    StdDialogButtonSizer->AddButton(itemButton25);


    StdDialogButtonSizer->Realize();
    StdDialogButtonSizer->Realize();


@@ -197,6 +256,7 @@ void WinEDA_NetlistFrame::CreateControls()
////@end WinEDA_NetlistFrame content construction
////@end WinEDA_NetlistFrame content construction
}
}



/*!
/*!
 * Should we show tooltips?
 * Should we show tooltips?
 */
 */
@@ -206,6 +266,7 @@ bool WinEDA_NetlistFrame::ShowToolTips()
    return true;
    return true;
}
}



/*!
/*!
 * Get bitmap resources
 * Get bitmap resources
 */
 */
@@ -219,6 +280,7 @@ wxBitmap WinEDA_NetlistFrame::GetBitmapResource( const wxString& name )
////@end WinEDA_NetlistFrame bitmap retrieval
////@end WinEDA_NetlistFrame bitmap retrieval
}
}



/*!
/*!
 * Get icon resources
 * Get icon resources
 */
 */
@@ -231,33 +293,66 @@ wxIcon WinEDA_NetlistFrame::GetIconResource( const wxString& name )
    return wxNullIcon;
    return wxNullIcon;
////@end WinEDA_NetlistFrame icon retrieval
////@end WinEDA_NetlistFrame icon retrieval
}
}


/*!
/*!
 * wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_OPEN_NELIST
 * wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_OPEN_NELIST
 */
 */


void WinEDA_NetlistFrame::OnOpenNelistClick( wxCommandEvent& event )
void WinEDA_NetlistFrame::OnOpenNelistClick( wxCommandEvent& event )
{
{
    Set_NetlisteName(event);
    wxString fullfilename, mask( wxT( "*" ) );

    fullfilename = m_NetlistFilenameCtrl->GetValue();
    mask += NetExtBuffer;

    fullfilename = EDA_FileSelector( _( "Netlist Selection:" ),
        wxEmptyString,                                  /* Chemin par defaut */
        fullfilename,                                   /* nom fichier par defaut */
        NetExtBuffer,                                   /* extension par defaut */
        mask,                                           /* Masque d'affichage */
        this,
        0,
        TRUE
        );

    if( fullfilename.IsEmpty() )
        return;
    m_NetlistFilenameCtrl->SetValue( fullfilename );
}
}



/*!
/*!
 * wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_READ_NETLIST_FILE
 * wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_READ_NETLIST_FILE
 */
 */


void WinEDA_NetlistFrame::OnReadNetlistFileClick( wxCommandEvent& event )
void WinEDA_NetlistFrame::OnReadNetlistFileClick( wxCommandEvent& event )
{
{
    ReadPcbNetlist(event);
    wxString CmpFullFileName;
    CmpFullFileName = m_NetlistFilenameCtrl->GetValue();
    ChangeFileNameExt( CmpFullFileName, NetCmpExtBuffer );

    ReadPcbNetlist( m_Parent, m_NetlistFilenameCtrl->GetValue(),
                    CmpFullFileName,
                    m_MessageWindow,
                    m_ChangeExistingFootprintCtrl->GetSelection() == 1 ? TRUE : FALSE,
                    m_DeleteBadTracks->GetSelection() == 1 ? TRUE : FALSE,
                    m_RemoveExtraFootprintsCtrl->IsChecked(),
                    m_Select_By_Timestamp->GetSelection() == 1 ? TRUE : FALSE,
                    m_DisplayWarningCtrl->IsChecked());
}
}



/*!
/*!
 * wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_TEST_NETLIST
 * wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_TEST_NETLIST
 */
 */


void WinEDA_NetlistFrame::OnTestNetlistClick( wxCommandEvent& event )
void WinEDA_NetlistFrame::OnTestNetlistClick( wxCommandEvent& event )
{
{
    ModulesControle(event);
    TestFor_Duplicate_Missing_And_Extra_Footprints( this, m_NetlistFilenameCtrl->GetValue(), m_Parent->m_Pcb);
}
}



/*!
/*!
 * wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_COMPILE_RATSNEST
 * wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_COMPILE_RATSNEST
 */
 */
@@ -267,6 +362,7 @@ void WinEDA_NetlistFrame::OnCompileRatsnestClick( wxCommandEvent& event )
    m_Parent->Compile_Ratsnest( m_DC, TRUE );
    m_Parent->Compile_Ratsnest( m_DC, TRUE );
}
}



/*!
/*!
 * wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL
 * wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL
 */
 */
+32 −32
Original line number Original line Diff line number Diff line
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////

// Name:        dialog_netlist.h
// Name:        dialog_netlist.h
// Purpose:
// Purpose:
// Author:      jean-pierre Charras
// Author:      jean-pierre Charras
@@ -14,7 +15,6 @@
#ifndef _DIALOG_NETLIST_H_
#ifndef _DIALOG_NETLIST_H_
#define _DIALOG_NETLIST_H_
#define _DIALOG_NETLIST_H_



/*!
/*!
 * Includes
 * Includes
 */
 */
@@ -38,18 +38,20 @@ class wxStdDialogButtonSizer;


////@begin control identifiers
////@begin control identifiers
#define ID_DIALOG 10000
#define ID_DIALOG 10000
#define ID_RADIOBOX 10005
#define ID_SELECTION_FOOTPRINT_MODE 10005
#define ID_RADIOBOX1 10006
#define ID_KEEP_OR_CHANGE_FOOTPRINTS 10007
#define ID_RADIOBOX2 10007
#define ID_DELETE_TRACKS_OPTION 10006
#define ID_CHECKBOX 10008
#define ID_DISPLAY_WARNINGS_OPT 10008
#define ID_REMOVE_EXTRA_FOOTPRINTS_OPT 10011
#define ID_OPEN_NELIST 10001
#define ID_OPEN_NELIST 10001
#define ID_READ_NETLIST_FILE 10002
#define ID_READ_NETLIST_FILE 10002
#define ID_TEST_NETLIST 10003
#define ID_TEST_NETLIST 10003
#define ID_COMPILE_RATSNEST 10004
#define ID_COMPILE_RATSNEST 10004
#define ID_TEXT_NETLIST_FILENAME 10012
#define ID_TEXTCTRL 10009
#define ID_TEXTCTRL 10009
#define ID_STATICLINE 10010
#define ID_STATICLINE 10010
#define SYMBOL_WINEDA_NETLISTFRAME_STYLE wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER
#define SYMBOL_WINEDA_NETLISTFRAME_STYLE wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER
#define SYMBOL_WINEDA_NETLISTFRAME_TITLE _("Netlist: ")
#define SYMBOL_WINEDA_NETLISTFRAME_TITLE _("Netlist Dialog")
#define SYMBOL_WINEDA_NETLISTFRAME_IDNAME ID_DIALOG
#define SYMBOL_WINEDA_NETLISTFRAME_IDNAME ID_DIALOG
#define SYMBOL_WINEDA_NETLISTFRAME_SIZE wxSize(400, 300)
#define SYMBOL_WINEDA_NETLISTFRAME_SIZE wxSize(400, 300)
#define SYMBOL_WINEDA_NETLISTFRAME_POSITION wxDefaultPosition
#define SYMBOL_WINEDA_NETLISTFRAME_POSITION wxDefaultPosition
@@ -63,6 +65,7 @@ class wxStdDialogButtonSizer;
#define wxCLOSE_BOX 0x1000
#define wxCLOSE_BOX 0x1000
#endif
#endif



/*!
/*!
 * WinEDA_NetlistFrame class declaration
 * WinEDA_NetlistFrame class declaration
 */
 */
@@ -75,12 +78,20 @@ class WinEDA_NetlistFrame: public wxDialog
public:
public:
    /// Constructors
    /// Constructors
    WinEDA_NetlistFrame();
    WinEDA_NetlistFrame();
    WinEDA_NetlistFrame( WinEDA_PcbFrame* parent,wxDC * DC, 
    WinEDA_NetlistFrame(WinEDA_PcbFrame* parent,
                         wxDC* DC,
                         const wxString& aNetlistFilename,
                         wxWindowID id = SYMBOL_WINEDA_NETLISTFRAME_IDNAME, const wxString& caption = SYMBOL_WINEDA_NETLISTFRAME_TITLE, const wxPoint& pos = SYMBOL_WINEDA_NETLISTFRAME_POSITION, const wxSize& size = SYMBOL_WINEDA_NETLISTFRAME_SIZE, long style = SYMBOL_WINEDA_NETLISTFRAME_STYLE );
                         wxWindowID id = SYMBOL_WINEDA_NETLISTFRAME_IDNAME, const wxString& caption = SYMBOL_WINEDA_NETLISTFRAME_TITLE, const wxPoint& pos = SYMBOL_WINEDA_NETLISTFRAME_POSITION, const wxSize& size = SYMBOL_WINEDA_NETLISTFRAME_SIZE, long style = SYMBOL_WINEDA_NETLISTFRAME_STYLE );


    /// Creation
    /// Creation
    bool Create( wxWindow* parent, wxWindowID id = SYMBOL_WINEDA_NETLISTFRAME_IDNAME, const wxString& caption = SYMBOL_WINEDA_NETLISTFRAME_TITLE, const wxPoint& pos = SYMBOL_WINEDA_NETLISTFRAME_POSITION, const wxSize& size = SYMBOL_WINEDA_NETLISTFRAME_SIZE, long style = SYMBOL_WINEDA_NETLISTFRAME_STYLE );
    bool Create( wxWindow* parent, wxWindowID id = SYMBOL_WINEDA_NETLISTFRAME_IDNAME, const wxString& caption = SYMBOL_WINEDA_NETLISTFRAME_TITLE, const wxPoint& pos = SYMBOL_WINEDA_NETLISTFRAME_POSITION, const wxSize& size = SYMBOL_WINEDA_NETLISTFRAME_SIZE, long style = SYMBOL_WINEDA_NETLISTFRAME_STYLE );


    /// Destructor
    ~WinEDA_NetlistFrame();

    /// Initialises member variables
    void Init();

    /// Creates the controls and sizers
    /// Creates the controls and sizers
    void CreateControls();
    void CreateControls();


@@ -115,25 +126,13 @@ public:
    /// Should we show tooltips?
    /// Should we show tooltips?
    static bool ShowToolTips();
    static bool ShowToolTips();


    void ReadPcbNetlist(wxCommandEvent& event);
    void Set_NetlisteName(wxCommandEvent& event);
    bool OpenNetlistFile(wxCommandEvent& event);
    int BuildListeNetModules(wxCommandEvent& event, wxArrayString & BufName);
    void ModulesControle(wxCommandEvent& event);
    int ReadListeModules(const wxString * RefCmp, long TimeStamp, wxString & NameModule);
    int SetPadNetName( char * Line, MODULE * Module);
    MODULE * ReadNetModule( char * Text, int * UseFichCmp, int TstOnly);
    void AddToList(const wxString & NameLibCmp, 
				   const wxString & NameCmp,
	   			   int TimeStamp, 
		  		   const wxString& path);
    void LoadListeModules(wxDC *DC);

////@begin WinEDA_NetlistFrame member variables
////@begin WinEDA_NetlistFrame member variables
    wxRadioBox* m_Select_By_Timestamp;
    wxRadioBox* m_Select_By_Timestamp;
    wxRadioBox* m_ChangeExistingFootprintCtrl;
    wxRadioBox* m_DeleteBadTracks;
    wxRadioBox* m_DeleteBadTracks;
    wxRadioBox* m_ChangeExistantModuleCtrl;
    wxCheckBox* m_DisplayWarningCtrl;
    wxCheckBox* m_DisplayWarningCtrl;
    wxCheckBox* m_RemoveExtraFootprintsCtrl;
    wxTextCtrl* m_NetlistFilenameCtrl;
    wxTextCtrl* m_MessageWindow;
    wxTextCtrl* m_MessageWindow;
    wxStdDialogButtonSizer* StdDialogButtonSizer;
    wxStdDialogButtonSizer* StdDialogButtonSizer;
////@end WinEDA_NetlistFrame member variables
////@end WinEDA_NetlistFrame member variables
@@ -142,4 +141,5 @@ public:
};
};


#endif
#endif

// _DIALOG_NETLIST_H_
// _DIALOG_NETLIST_H_
Loading