Commit 70df1517 authored by Miguel Angel Ajo's avatar Miguel Angel Ajo
Browse files

Footprint wizard, plus fixes

parent 4dc70b2f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -290,6 +290,7 @@ if (KICAD_SCRIPTING)
                       DEPENDS ../scripting/dlist.i
                       DEPENDS ../scripting/kicad.i
                       DEPENDS ../scripting/wx.i
                       DEPENDS ../scripting/kicadplugins.i
                      # DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/pcbnew
                       
	               COMMAND ${SWIG_EXECUTABLE} ${SWIG_OPTS} -o ${CMAKE_CURRENT_BINARY_DIR}/pcbnew_wrap.cxx  scripting/pcbnew.i
+1 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ public:
    virtual wxString      GetParameterPageName(int aPage)=0;
    virtual wxArrayString GetParameterNames(int aPage)=0;
    virtual wxArrayString GetParameterValues(int aPage)=0;
    virtual wxArrayString GetParameterErrors(int aPage)=0;
    virtual wxString      SetParameterValues(int aPage,wxArrayString& aValues)=0;
    virtual MODULE       *GetModule()=0;
    void register_wizard();
+3 −0
Original line number Diff line number Diff line
@@ -28,6 +28,9 @@ DIALOG_FOOTPRINT_WIZARD_LIST::DIALOG_FOOTPRINT_WIZARD_LIST( wxWindow* aParent )
        m_FootprintWizard = FOOTPRINT_WIZARDS::GetWizard(0);
    
    // Choose selection mode and insert the needed rows
        
    m_footprintWizardsGrid->SetColSize( 0, 0 ); // hide the preview for now
    
    m_footprintWizardsGrid->SetSelectionMode(wxGrid::wxGridSelectRows);
    m_footprintWizardsGrid->InsertRows(0,n_wizards,true);
        
+21 −24
Original line number Diff line number Diff line
@@ -134,31 +134,28 @@ void FOOTPRINT_WIZARD_FRAME::SelectCurrentWizard( wxCommandEvent& event )
 * Function SelectCurrentFootprint
 * Selects the current footprint name and display it
 */
void FOOTPRINT_WIZARD_FRAME::ParametersUpdated( wxCommandEvent& event )
void FOOTPRINT_WIZARD_FRAME::ParametersUpdated( wxGridEvent& event )
{
    /*
    // will pick it from the wizard
    MODULE * module = new MODULE(NULL);
    if( module )
    {
        module->SetPosition( wxPoint( 0, 0 ) );
    
        // Only one fotprint allowed: remove the previous footprint (if exists)
        if( oldmodule )
    int page = m_PageList->GetSelection();
    
    if (page<0)
        return;
    
    int n=m_ParameterGrid->GetNumberRows();
    wxArrayString arr;
    
    for (int i=0;i<n;i++)
    {    
            GetBoard()->Remove( oldmodule );
            delete oldmodule;
        wxString val = m_ParameterGrid->GetCellValue(i,1);
        arr.Add(val);
    }
        m_footprintName = module->GetLibRef();
        module->ClearFlags();
        SetCurItem( NULL );
    
        Zoom_Automatique( false );
        m_canvas->Refresh( );
        Update3D_Frame();
        m_FootprintList->SetStringSelection( m_footprintName );
   }
     * */
    wxString res = m_FootprintWizard->SetParameterValues(page,arr);
    
    ReloadFootprint();
    DisplayWizardInfos();
    
}


+1 −16
Original line number Diff line number Diff line
@@ -74,7 +74,7 @@ BEGIN_EVENT_TABLE( FOOTPRINT_WIZARD_FRAME, EDA_DRAW_FRAME )

    /* listbox events */
    EVT_LISTBOX( ID_FOOTPRINT_WIZARD_PAGE_LIST, FOOTPRINT_WIZARD_FRAME::ClickOnPageList )
    EVT_LISTBOX( ID_FOOTPRINT_WIZARD_PARAMETER_LIST, FOOTPRINT_WIZARD_FRAME::ClickOnParameterGrid )
    EVT_GRID_CMD_CELL_CHANGE( ID_FOOTPRINT_WIZARD_PARAMETER_LIST, FOOTPRINT_WIZARD_FRAME::ParametersUpdated )

    EVT_MENU( ID_SET_RELATIVE_OFFSET, FOOTPRINT_WIZARD_FRAME::OnSetRelativeOffset )
END_EVENT_TABLE()
@@ -412,21 +412,6 @@ void FOOTPRINT_WIZARD_FRAME::ClickOnPageList( wxCommandEvent& event )
}


void FOOTPRINT_WIZARD_FRAME::ClickOnParameterGrid( wxCommandEvent& event )
{
    int n=m_ParameterGrid->GetNumberRows();
    
    for (int i=0;i<n;i++)
    {
        // Get values, send them to the object..
    }
    
    
    ReloadFootprint();
    DisplayWizardInfos();
    
}


#define PARTLIST_WIDTH_KEY wxT( "Partlist_width" )
#define PARAMLIST_WIDTH_KEY wxT( "Paramlist_width" )
Loading