diff --git a/cvpcb/dialog_cvpcb_config.cpp b/cvpcb/dialog_cvpcb_config.cpp index 4530c5c616..d8c86406ab 100644 --- a/cvpcb/dialog_cvpcb_config.cpp +++ b/cvpcb/dialog_cvpcb_config.cpp @@ -137,24 +137,102 @@ void DIALOG_CVPCB_CONFIG::OnCloseWindow( wxCloseEvent& event ) } +/********************************************************************/ +void DIALOG_CVPCB_CONFIG::OnButtonUpClick( wxCommandEvent& event ) +/********************************************************************/ +{ + wxListBox * list = m_ListLibr; + if( (event.GetId() == ID_EQU_UP) || (event.GetId() == ID_EQU_DOWN) ) + { + list = m_ListEquiv; + } + + wxArrayInt selections; + + list->GetSelections(selections); + if ( selections.GetCount() <= 0 ) // No selection. + return; + + if( selections[0] == 0 ) // The first lib is selected. cannot move up it + return; + + wxArrayString libnames = list->GetStrings(); + + for( size_t ii = 0; ii < selections.GetCount(); ii++ ) + { + int jj = selections[ii]; + EXCHG( libnames[jj], libnames[jj-1]); + } + list->Set(libnames); + + // Reselect previously selected names + for( size_t ii = 0; ii < selections.GetCount(); ii++ ) + { + int jj = selections[ii]; + list->SetSelection(jj-1); + } + + m_LibListChanged = TRUE; +} + + +/*********************************************************************/ +void DIALOG_CVPCB_CONFIG::OnButtonDownClick( wxCommandEvent& event ) +/*********************************************************************/ +{ + wxListBox * list = m_ListLibr; + if( (event.GetId() == ID_EQU_UP) || (event.GetId() == ID_EQU_DOWN) ) + { + list = m_ListEquiv; + } + + wxArrayInt selections; + + list->GetSelections(selections); + if ( selections.GetCount() <= 0 ) // No selection. + return; + + // The last lib is selected. cannot move down it + if( selections.Last() == (int)(list->GetCount()-1) ) + return; + + wxArrayString libnames = list->GetStrings(); + + for( int ii = selections.GetCount()-1; ii >= 0; ii-- ) + { + int jj = selections[ii]; + EXCHG( libnames[jj], libnames[jj+1]); + } + list->Set(libnames); + + // Reselect previously selected names + for( size_t ii = 0; ii < selections.GetCount(); ii++ ) + { + int jj = selections[ii]; + list->SetSelection(jj+1); + } + m_LibListChanged = TRUE; +} + + /* Remove a library to the library list. * The real list (g_LibName_List) is not changed, so the change can be canceled */ void DIALOG_CVPCB_CONFIG::OnRemoveLibClick( wxCommandEvent& event ) { - int ii; - wxListBox * list = m_ListEquiv; if( event.GetId() == ID_REMOVE_LIB ) list = m_ListLibr; - ii = list->GetSelection(); - if( ii < 0 ) - return; + wxArrayInt selections; - list->Delete( ii ); - m_LibListChanged = TRUE; + list->GetSelections(selections); + for( int ii = selections.GetCount()-1; ii >= 0; ii-- ) + { + list->Delete(selections[ii] ); + m_LibListChanged = TRUE; + } } @@ -182,8 +260,13 @@ void DIALOG_CVPCB_CONFIG::OnAddOrInsertLibClick( wxCommandEvent& event ) wildcard = ModuleFileWildcard; } - ii = list->GetSelection(); - if( ii == wxNOT_FOUND ) + wxArrayInt selections; + list->GetSelections(selections); + + ii = selections.GetCount(); + if( ii > 0 ) + ii = selections[0]; + else ii = 0; wxString libpath; diff --git a/cvpcb/dialog_cvpcb_config.h b/cvpcb/dialog_cvpcb_config.h index 3c92600849..5916222f88 100644 --- a/cvpcb/dialog_cvpcb_config.h +++ b/cvpcb/dialog_cvpcb_config.h @@ -31,6 +31,8 @@ private: void OnBrowseModDocFile( wxCommandEvent& event ); void OnAddOrInsertPath( wxCommandEvent& event ); void OnRemoveUserPath( wxCommandEvent& event ); + void OnButtonUpClick( wxCommandEvent& event ); + void OnButtonDownClick( wxCommandEvent& event ); public: diff --git a/cvpcb/dialog_cvpcb_config_fbp.cpp b/cvpcb/dialog_cvpcb_config_fbp.cpp index 4e70f95bed..3cc5bc80ce 100644 --- a/cvpcb/dialog_cvpcb_config_fbp.cpp +++ b/cvpcb/dialog_cvpcb_config_fbp.cpp @@ -19,11 +19,11 @@ DIALOG_CVPCB_CONFIG_FBP::DIALOG_CVPCB_CONFIG_FBP( wxWindow* parent, wxWindowID i wxStaticBoxSizer* sbLibsChoiceSizer; sbLibsChoiceSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Footprint library files") ), wxHORIZONTAL ); - m_ListLibr = new wxListBox( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_HSCROLL|wxLB_NEEDED_SB|wxLB_SINGLE ); + m_ListLibr = new wxListBox( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_EXTENDED|wxLB_HSCROLL|wxLB_NEEDED_SB|wxLB_SINGLE ); m_ListLibr->SetToolTip( _("List of active library files.\nOnly library files in this list are loaded by Pcbnew.\nThe order of this list is important:\nPcbnew searchs for a given footprint using this list order priority.") ); m_ListLibr->SetMinSize( wxSize( 450,90 ) ); - sbLibsChoiceSizer->Add( m_ListLibr, 1, wxALL|wxEXPAND, 5 ); + sbLibsChoiceSizer->Add( m_ListLibr, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 ); wxBoxSizer* bSizerLibButtons; bSizerLibButtons = new wxBoxSizer( wxVERTICAL ); @@ -43,18 +43,24 @@ DIALOG_CVPCB_CONFIG_FBP::DIALOG_CVPCB_CONFIG_FBP( wxWindow* parent, wxWindowID i bSizerLibButtons->Add( m_buttonRemoveLib, 0, wxALIGN_CENTER_HORIZONTAL|wxLEFT|wxRIGHT, 5 ); + m_buttonLibUp = new wxButton( this, ID_LIB_UP, _("Up"), wxDefaultPosition, wxDefaultSize, 0 ); + bSizerLibButtons->Add( m_buttonLibUp, 0, wxRIGHT|wxLEFT, 5 ); + + m_buttonLibDown = new wxButton( this, ID_LIB_DOWN, _("Down"), wxDefaultPosition, wxDefaultSize, 0 ); + bSizerLibButtons->Add( m_buttonLibDown, 0, wxRIGHT|wxLEFT, 5 ); + sbLibsChoiceSizer->Add( bSizerLibButtons, 0, wxALIGN_CENTER_VERTICAL, 5 ); - bMainSizer->Add( sbLibsChoiceSizer, 1, wxALL|wxEXPAND, 5 ); + bMainSizer->Add( sbLibsChoiceSizer, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 ); wxStaticBoxSizer* sbEquivChoiceSizer; sbEquivChoiceSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Footprint alias files") ), wxHORIZONTAL ); - m_ListEquiv = new wxListBox( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_HSCROLL|wxLB_NEEDED_SB|wxLB_SINGLE ); + m_ListEquiv = new wxListBox( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_EXTENDED|wxLB_HSCROLL|wxLB_NEEDED_SB|wxLB_SINGLE ); m_ListEquiv->SetToolTip( _("List of active library files.\nOnly library files in this list are loaded by Pcbnew.\nThe order of this list is important:\nPcbnew searchs for a given footprint using this list order priority.") ); m_ListEquiv->SetMinSize( wxSize( 400,-1 ) ); - sbEquivChoiceSizer->Add( m_ListEquiv, 1, wxALL|wxEXPAND, 5 ); + sbEquivChoiceSizer->Add( m_ListEquiv, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 ); wxBoxSizer* bSizerEquButtons; bSizerEquButtons = new wxBoxSizer( wxVERTICAL ); @@ -62,7 +68,7 @@ DIALOG_CVPCB_CONFIG_FBP::DIALOG_CVPCB_CONFIG_FBP( wxWindow* parent, wxWindowID i m_buttonAddEqu = new wxButton( this, ID_ADD_EQU, _("Add"), wxDefaultPosition, wxDefaultSize, 0 ); m_buttonAddEqu->SetToolTip( _("Add a new library after the selected library, and load it") ); - bSizerEquButtons->Add( m_buttonAddEqu, 0, wxALIGN_CENTER_HORIZONTAL|wxLEFT|wxRIGHT|wxTOP, 5 ); + bSizerEquButtons->Add( m_buttonAddEqu, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT, 5 ); m_buttonInsEqu = new wxButton( this, ID_INSERT_EQU, _("Insert"), wxDefaultPosition, wxDefaultSize, 0 ); m_buttonInsEqu->SetToolTip( _("Add a new library before the selected library, and load it") ); @@ -72,22 +78,28 @@ DIALOG_CVPCB_CONFIG_FBP::DIALOG_CVPCB_CONFIG_FBP( wxWindow* parent, wxWindowID i m_buttonRemoveEqu = new wxButton( this, ID_REMOVE_EQU, _("Remove"), wxDefaultPosition, wxDefaultSize, 0 ); m_buttonRemoveEqu->SetToolTip( _("Unload the selected library") ); - bSizerEquButtons->Add( m_buttonRemoveEqu, 0, wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxLEFT|wxRIGHT, 5 ); + bSizerEquButtons->Add( m_buttonRemoveEqu, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT, 5 ); + + m_buttonEquUp = new wxButton( this, ID_EQU_UP, _("Up"), wxDefaultPosition, wxDefaultSize, 0 ); + bSizerEquButtons->Add( m_buttonEquUp, 0, wxRIGHT|wxLEFT, 5 ); + + m_buttonEquDown = new wxButton( this, ID_EQU_DOWN, _("Down"), wxDefaultPosition, wxDefaultSize, 0 ); + bSizerEquButtons->Add( m_buttonEquDown, 0, wxRIGHT|wxLEFT, 5 ); sbEquivChoiceSizer->Add( bSizerEquButtons, 0, wxALIGN_CENTER_VERTICAL, 5 ); - bMainSizer->Add( sbEquivChoiceSizer, 1, wxALL|wxEXPAND, 5 ); + bMainSizer->Add( sbEquivChoiceSizer, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 ); wxStaticBoxSizer* sbModulesDocSizer; sbModulesDocSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Footprint documentation file") ), wxHORIZONTAL ); m_TextHelpModulesFileName = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - sbModulesDocSizer->Add( m_TextHelpModulesFileName, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + sbModulesDocSizer->Add( m_TextHelpModulesFileName, 1, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); m_buttonModDoc = new wxButton( this, ID_BROWSE_MOD_DOC, _("Browse"), wxDefaultPosition, wxDefaultSize, 0 ); - sbModulesDocSizer->Add( m_buttonModDoc, 0, wxALL, 5 ); + sbModulesDocSizer->Add( m_buttonModDoc, 0, wxRIGHT|wxLEFT, 5 ); - bMainSizer->Add( sbModulesDocSizer, 0, wxALL|wxEXPAND, 5 ); + bMainSizer->Add( sbModulesDocSizer, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 ); wxStaticBoxSizer* sbSizer4; sbSizer4 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("User defined search paths") ), wxHORIZONTAL ); @@ -97,9 +109,9 @@ DIALOG_CVPCB_CONFIG_FBP::DIALOG_CVPCB_CONFIG_FBP( wxWindow* parent, wxWindowID i m_listUserPaths = new wxListBox( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_NEEDED_SB ); m_listUserPaths->SetToolTip( _("Additional paths used in this project. The priority is highter than default Kicad paths.") ); - m_listUserPaths->SetMinSize( wxSize( 300,-1 ) ); + m_listUserPaths->SetMinSize( wxSize( -1,70 ) ); - bUserListSizer->Add( m_listUserPaths, 1, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 ); + bUserListSizer->Add( m_listUserPaths, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 ); sbSizer4->Add( bUserListSizer, 1, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 ); @@ -107,17 +119,17 @@ DIALOG_CVPCB_CONFIG_FBP::DIALOG_CVPCB_CONFIG_FBP( wxWindow* parent, wxWindowID i bUserPathsButtonsSizer = new wxBoxSizer( wxVERTICAL ); m_buttonAddPath = new wxButton( this, ID_LIB_PATH_SEL, _("Add"), wxDefaultPosition, wxDefaultSize, 0 ); - bUserPathsButtonsSizer->Add( m_buttonAddPath, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT, 5 ); + bUserPathsButtonsSizer->Add( m_buttonAddPath, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 ); m_buttonInsPath = new wxButton( this, ID_INSERT_PATH, _("Insert"), wxDefaultPosition, wxDefaultSize, 0 ); bUserPathsButtonsSizer->Add( m_buttonInsPath, 0, wxRIGHT|wxLEFT, 5 ); m_buttonRemovePath = new wxButton( this, ID_REMOVE_PATH, _("Remove"), wxDefaultPosition, wxDefaultSize, 0 ); - bUserPathsButtonsSizer->Add( m_buttonRemovePath, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); + bUserPathsButtonsSizer->Add( m_buttonRemovePath, 0, wxRIGHT|wxLEFT, 5 ); sbSizer4->Add( bUserPathsButtonsSizer, 0, wxALIGN_CENTER_VERTICAL, 5 ); - bMainSizer->Add( sbSizer4, 1, wxALL|wxEXPAND, 5 ); + bMainSizer->Add( sbSizer4, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 ); wxStaticBoxSizer* sbSizer6; sbSizer6 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Current search path list") ), wxHORIZONTAL ); @@ -126,12 +138,12 @@ DIALOG_CVPCB_CONFIG_FBP::DIALOG_CVPCB_CONFIG_FBP( wxWindow* parent, wxWindowID i m_DefaultLibraryPathslistBox->SetToolTip( _("Paths (system paths and user paths) used to search and load libraries files and component doc files.\nSorted by decreasing priority order.") ); m_DefaultLibraryPathslistBox->SetMinSize( wxSize( -1,70 ) ); - sbSizer6->Add( m_DefaultLibraryPathslistBox, 1, wxALL|wxEXPAND, 5 ); + sbSizer6->Add( m_DefaultLibraryPathslistBox, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 ); bMainSizer->Add( sbSizer6, 1, wxALL|wxEXPAND, 5 ); m_staticline2 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); - bMainSizer->Add( m_staticline2, 0, wxEXPAND | wxALL, 5 ); + bMainSizer->Add( m_staticline2, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); m_sdbSizer2 = new wxStdDialogButtonSizer(); m_sdbSizer2OK = new wxButton( this, wxID_OK ); @@ -143,7 +155,6 @@ DIALOG_CVPCB_CONFIG_FBP::DIALOG_CVPCB_CONFIG_FBP( wxWindow* parent, wxWindowID i this->SetSizer( bMainSizer ); this->Layout(); - bMainSizer->Fit( this ); this->Centre( wxBOTH ); @@ -152,9 +163,13 @@ DIALOG_CVPCB_CONFIG_FBP::DIALOG_CVPCB_CONFIG_FBP( wxWindow* parent, wxWindowID i m_buttonAddLib->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnAddOrInsertLibClick ), NULL, this ); m_buttonInsLib->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnAddOrInsertLibClick ), NULL, this ); m_buttonRemoveLib->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnRemoveLibClick ), NULL, this ); + m_buttonLibUp->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnButtonUpClick ), NULL, this ); + m_buttonLibDown->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnButtonDownClick ), NULL, this ); m_buttonAddEqu->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnAddOrInsertLibClick ), NULL, this ); m_buttonInsEqu->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnAddOrInsertLibClick ), NULL, this ); m_buttonRemoveEqu->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnRemoveLibClick ), NULL, this ); + m_buttonEquUp->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnButtonUpClick ), NULL, this ); + m_buttonEquDown->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnButtonDownClick ), NULL, this ); m_buttonModDoc->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnBrowseModDocFile ), NULL, this ); m_buttonAddPath->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnAddOrInsertPath ), NULL, this ); m_buttonInsPath->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnAddOrInsertPath ), NULL, this ); @@ -170,9 +185,13 @@ DIALOG_CVPCB_CONFIG_FBP::~DIALOG_CVPCB_CONFIG_FBP() m_buttonAddLib->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnAddOrInsertLibClick ), NULL, this ); m_buttonInsLib->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnAddOrInsertLibClick ), NULL, this ); m_buttonRemoveLib->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnRemoveLibClick ), NULL, this ); + m_buttonLibUp->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnButtonUpClick ), NULL, this ); + m_buttonLibDown->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnButtonDownClick ), NULL, this ); m_buttonAddEqu->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnAddOrInsertLibClick ), NULL, this ); m_buttonInsEqu->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnAddOrInsertLibClick ), NULL, this ); m_buttonRemoveEqu->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnRemoveLibClick ), NULL, this ); + m_buttonEquUp->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnButtonUpClick ), NULL, this ); + m_buttonEquDown->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnButtonDownClick ), NULL, this ); m_buttonModDoc->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnBrowseModDocFile ), NULL, this ); m_buttonAddPath->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnAddOrInsertPath ), NULL, this ); m_buttonInsPath->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CVPCB_CONFIG_FBP::OnAddOrInsertPath ), NULL, this ); diff --git a/cvpcb/dialog_cvpcb_config_fbp.fbp b/cvpcb/dialog_cvpcb_config_fbp.fbp index 369ba2e110..b65d915341 100644 --- a/cvpcb/dialog_cvpcb_config_fbp.fbp +++ b/cvpcb/dialog_cvpcb_config_fbp.fbp @@ -32,7 +32,7 @@ DIALOG_CVPCB_CONFIG_FBP - -1,-1 + 570,625 wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER @@ -77,7 +77,7 @@ none 5 - wxALL|wxEXPAND + wxEXPAND|wxTOP|wxRIGHT|wxLEFT 1 wxID_ANY @@ -89,7 +89,7 @@ 5 - wxALL|wxEXPAND + wxEXPAND|wxRIGHT|wxLEFT 1 @@ -106,7 +106,7 @@ protected - wxLB_HSCROLL|wxLB_NEEDED_SB|wxLB_SINGLE + wxLB_EXTENDED|wxLB_HSCROLL|wxLB_NEEDED_SB|wxLB_SINGLE List of active library files. Only library files in this list are loaded by Pcbnew. The order of this list is important: Pcbnew searchs for a given footprint using this list order priority. @@ -304,13 +304,117 @@ + + 5 + wxRIGHT|wxLEFT + 0 + + + + 0 + 1 + + + 0 + ID_LIB_UP + Up + + + m_buttonLibUp + protected + + + + + + + + + OnButtonUpClick + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxRIGHT|wxLEFT + 0 + + + + 0 + 1 + + + 0 + ID_LIB_DOWN + Down + + + m_buttonLibDown + protected + + + + + + + + + OnButtonDownClick + + + + + + + + + + + + + + + + + + + + + + + + + 5 - wxALL|wxEXPAND + wxEXPAND|wxTOP|wxRIGHT|wxLEFT 1 wxID_ANY @@ -322,7 +426,7 @@ 5 - wxALL|wxEXPAND + wxEXPAND|wxRIGHT|wxLEFT 1 @@ -339,7 +443,7 @@ protected - wxLB_HSCROLL|wxLB_NEEDED_SB|wxLB_SINGLE + wxLB_EXTENDED|wxLB_HSCROLL|wxLB_NEEDED_SB|wxLB_SINGLE List of active library files. Only library files in this list are loaded by Pcbnew. The order of this list is important: Pcbnew searchs for a given footprint using this list order priority. @@ -383,7 +487,7 @@ none 5 - wxALIGN_CENTER_HORIZONTAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT 0 @@ -487,7 +591,7 @@ 5 - wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxLEFT|wxRIGHT + wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT 0 @@ -537,13 +641,117 @@ + + 5 + wxRIGHT|wxLEFT + 0 + + + + 0 + 1 + + + 0 + ID_EQU_UP + Up + + + m_buttonEquUp + protected + + + + + + + + + OnButtonUpClick + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxRIGHT|wxLEFT + 0 + + + + 0 + 1 + + + 0 + ID_EQU_DOWN + Down + + + m_buttonEquDown + protected + + + + + + + + + OnButtonDownClick + + + + + + + + + + + + + + + + + + + + + + + + + 5 - wxALL|wxEXPAND + wxEXPAND|wxTOP|wxRIGHT|wxLEFT 0 wxID_ANY @@ -555,7 +763,7 @@ 5 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT 1 @@ -610,7 +818,7 @@ 5 - wxALL + wxRIGHT|wxLEFT 0 @@ -664,7 +872,7 @@ 5 - wxALL|wxEXPAND + wxEXPAND|wxTOP|wxRIGHT|wxLEFT 1 wxID_ANY @@ -685,7 +893,7 @@ none 5 - wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND + wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT 1 @@ -697,7 +905,7 @@ 0 wxID_ANY -1,-1 - 300,-1 + -1,70 m_listUserPaths protected @@ -748,7 +956,7 @@ none 5 - wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT + wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT 0 @@ -852,7 +1060,7 @@ 5 - wxBOTTOM|wxRIGHT|wxLEFT + wxRIGHT|wxLEFT 0 @@ -920,7 +1128,7 @@ 5 - wxALL|wxEXPAND + wxEXPAND|wxRIGHT|wxLEFT 1 @@ -974,7 +1182,7 @@ 5 - wxEXPAND | wxALL + wxEXPAND|wxRIGHT|wxLEFT 0 diff --git a/cvpcb/dialog_cvpcb_config_fbp.h b/cvpcb/dialog_cvpcb_config_fbp.h index 4845bfe80e..aa6eba2649 100644 --- a/cvpcb/dialog_cvpcb_config_fbp.h +++ b/cvpcb/dialog_cvpcb_config_fbp.h @@ -38,9 +38,13 @@ class DIALOG_CVPCB_CONFIG_FBP : public wxDialog ID_ADD_LIB = 1000, ID_INSERT_LIB, ID_REMOVE_LIB, + ID_LIB_UP, + ID_LIB_DOWN, ID_ADD_EQU, ID_INSERT_EQU, ID_REMOVE_EQU, + ID_EQU_UP, + ID_EQU_DOWN, ID_BROWSE_MOD_DOC, ID_LIB_PATH_SEL, ID_INSERT_PATH, @@ -51,10 +55,14 @@ class DIALOG_CVPCB_CONFIG_FBP : public wxDialog wxButton* m_buttonAddLib; wxButton* m_buttonInsLib; wxButton* m_buttonRemoveLib; + wxButton* m_buttonLibUp; + wxButton* m_buttonLibDown; wxListBox* m_ListEquiv; wxButton* m_buttonAddEqu; wxButton* m_buttonInsEqu; wxButton* m_buttonRemoveEqu; + wxButton* m_buttonEquUp; + wxButton* m_buttonEquDown; wxTextCtrl* m_TextHelpModulesFileName; wxButton* m_buttonModDoc; wxListBox* m_listUserPaths; @@ -71,6 +79,8 @@ class DIALOG_CVPCB_CONFIG_FBP : public wxDialog virtual void OnCloseWindow( wxCloseEvent& event ){ event.Skip(); } virtual void OnAddOrInsertLibClick( wxCommandEvent& event ){ event.Skip(); } virtual void OnRemoveLibClick( wxCommandEvent& event ){ event.Skip(); } + virtual void OnButtonUpClick( wxCommandEvent& event ){ event.Skip(); } + virtual void OnButtonDownClick( wxCommandEvent& event ){ event.Skip(); } virtual void OnBrowseModDocFile( wxCommandEvent& event ){ event.Skip(); } virtual void OnAddOrInsertPath( wxCommandEvent& event ){ event.Skip(); } virtual void OnRemoveUserPath( wxCommandEvent& event ){ event.Skip(); } @@ -79,7 +89,7 @@ class DIALOG_CVPCB_CONFIG_FBP : public wxDialog public: - DIALOG_CVPCB_CONFIG_FBP( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ); + DIALOG_CVPCB_CONFIG_FBP( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 570,625 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ); ~DIALOG_CVPCB_CONFIG_FBP(); };