Loading change_log.txt +1 −1 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ email address. 2008-Nov-25 UPDATE Dick Hollenbeck <dick@softplc.com> ================================================================================ +eeschema edit component in schematic editor. works except for field add, remove, move up. edit component in schematic editor. works pretty well, I'm done. 2008-Nov-24 UPDATE Dick Hollenbeck <dick@softplc.com> Loading eeschema/dialog_edit_component_in_schematic.cpp +89 −2 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::DIALOG_EDIT_COMPONENT_IN_SCHEMATIC( wxWindow m_Parent = (WinEDA_SchematicFrame*) parent; m_LibEntry = 0; m_skipCopyFromPanel = false; wxListItem columnLabel; Loading Loading @@ -86,9 +87,12 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnListItemDeselected( wxListEvent& even { D(printf("OnListItemDeselected()\n");) if( !m_skipCopyFromPanel ) { if( !copyPanelToSelectedField() ) event.Skip(); // do not go to the next row } } void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnListItemSelected( wxListEvent& event ) Loading Loading @@ -229,6 +233,89 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnOKButtonClick( wxCommandEvent& event } void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::addFieldButtonHandler( wxCommandEvent& event ) { // in case m_FieldsBuf[REFERENCE].m_Orient has changed on screen only, grab // screen contents. if( !copyPanelToSelectedField() ) return; unsigned fieldNdx = m_FieldsBuf.size(); SCH_CMP_FIELD blank( wxPoint(), fieldNdx, m_Cmp ); blank.m_Orient = m_FieldsBuf[REFERENCE].m_Orient; m_FieldsBuf.push_back( blank ); setRowItem( fieldNdx, m_FieldsBuf[fieldNdx] ); m_skipCopyFromPanel = true; setSelectedFieldNdx( fieldNdx ); m_skipCopyFromPanel = false; } void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::deleteFieldButtonHandler( wxCommandEvent& event ) { unsigned fieldNdx = getSelectedFieldNdx(); if( fieldNdx >= m_FieldsBuf.size() ) // traps the -1 case too return; if( fieldNdx < FIELD1 ) { wxBell(); return; } m_FieldsBuf.erase( m_FieldsBuf.begin() + fieldNdx ); fieldListCtrl->DeleteItem( fieldNdx ); if( fieldNdx >= m_FieldsBuf.size() ) --fieldNdx; m_skipCopyFromPanel = true; setSelectedFieldNdx( fieldNdx ); m_skipCopyFromPanel = false; } void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC:: moveUpButtonHandler( wxCommandEvent& event ) { unsigned fieldNdx = getSelectedFieldNdx(); if( fieldNdx >= m_FieldsBuf.size() ) // traps the -1 case too return; if( fieldNdx <= FIELD1 ) { wxBell(); return; } if( !copyPanelToSelectedField() ) return; // swap the fieldNdx field with the one before it, in both the vector // and in the fieldListCtrl SCH_CMP_FIELD tmp = m_FieldsBuf[fieldNdx-1]; D(printf("tmp.m_Text=\"%s\" tmp.m_Name=\"%s\"\n", CONV_TO_UTF8(tmp.m_Text), CONV_TO_UTF8(tmp.m_Name) ); ) m_FieldsBuf[fieldNdx-1] = m_FieldsBuf[fieldNdx]; setRowItem( fieldNdx-1, m_FieldsBuf[fieldNdx] ); m_FieldsBuf[fieldNdx] = tmp; setRowItem( fieldNdx, tmp ); m_skipCopyFromPanel = true; setSelectedFieldNdx( fieldNdx - 1 ); m_skipCopyFromPanel = false; } void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::setSelectedFieldNdx( int aFieldNdx ) { /* deselect old selection, but I think this is done by single selection flag within fieldListCtrl Loading eeschema/dialog_edit_component_in_schematic.fbp +3 −3 Original line number Diff line number Diff line Loading @@ -620,7 +620,7 @@ <property name="window_extra_style"></property> <property name="window_name"></property> <property name="window_style"></property> <event name="OnButtonClick"></event> <event name="OnButtonClick">addFieldButtonHandler</event> <event name="OnChar"></event> <event name="OnEnterWindow"></event> <event name="OnEraseBackground"></event> Loading Loading @@ -676,7 +676,7 @@ <property name="window_extra_style"></property> <property name="window_name"></property> <property name="window_style"></property> <event name="OnButtonClick"></event> <event name="OnButtonClick">deleteFieldButtonHandler</event> <event name="OnChar"></event> <event name="OnEnterWindow"></event> <event name="OnEraseBackground"></event> Loading Loading @@ -732,7 +732,7 @@ <property name="window_extra_style"></property> <property name="window_name"></property> <property name="window_style"></property> <event name="OnButtonClick"></event> <event name="OnButtonClick">moveUpButtonHandler</event> <event name="OnChar"></event> <event name="OnEnterWindow"></event> <event name="OnEraseBackground"></event> Loading eeschema/dialog_edit_component_in_schematic.h +4 −1 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ class DIALOG_EDIT_COMPONENT_IN_SCHEMATIC : public DIALOG_EDIT_COMPONENT_IN_SCHEM WinEDA_SchematicFrame* m_Parent; SCH_COMPONENT* m_Cmp; EDA_LibComponentStruct* m_LibEntry; bool m_skipCopyFromPanel; static int s_SelectedRow; Loading Loading @@ -53,7 +54,9 @@ class DIALOG_EDIT_COMPONENT_IN_SCHEMATIC : public DIALOG_EDIT_COMPONENT_IN_SCHEM void OnCancelButtonClick( wxCommandEvent& event ); void OnOKButtonClick( wxCommandEvent& event ); void SetInitCmp( wxCommandEvent& event ); void addFieldButtonHandler( wxCommandEvent& event ); void deleteFieldButtonHandler( wxCommandEvent& event ); void moveUpButtonHandler( wxCommandEvent& event ); protected: Loading eeschema/dialog_edit_component_in_schematic_fbp.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -227,6 +227,9 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP( // Connect Events fieldListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnListItemDeselected ), NULL, this ); fieldListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnListItemSelected ), NULL, this ); addFieldButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::addFieldButtonHandler ), NULL, this ); deleteFieldButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::deleteFieldButtonHandler ), NULL, this ); moveUpButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::moveUpButtonHandler ), NULL, this ); defaultsButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::SetInitCmp ), NULL, this ); stdDialogButtonSizerCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnCancelButtonClick ), NULL, this ); stdDialogButtonSizerOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnOKButtonClick ), NULL, this ); Loading @@ -237,6 +240,9 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::~DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP( // Disconnect Events fieldListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnListItemDeselected ), NULL, this ); fieldListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnListItemSelected ), NULL, this ); addFieldButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::addFieldButtonHandler ), NULL, this ); deleteFieldButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::deleteFieldButtonHandler ), NULL, this ); moveUpButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::moveUpButtonHandler ), NULL, this ); defaultsButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::SetInitCmp ), NULL, this ); stdDialogButtonSizerCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnCancelButtonClick ), NULL, this ); stdDialogButtonSizerOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnOKButtonClick ), NULL, this ); Loading Loading
change_log.txt +1 −1 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ email address. 2008-Nov-25 UPDATE Dick Hollenbeck <dick@softplc.com> ================================================================================ +eeschema edit component in schematic editor. works except for field add, remove, move up. edit component in schematic editor. works pretty well, I'm done. 2008-Nov-24 UPDATE Dick Hollenbeck <dick@softplc.com> Loading
eeschema/dialog_edit_component_in_schematic.cpp +89 −2 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::DIALOG_EDIT_COMPONENT_IN_SCHEMATIC( wxWindow m_Parent = (WinEDA_SchematicFrame*) parent; m_LibEntry = 0; m_skipCopyFromPanel = false; wxListItem columnLabel; Loading Loading @@ -86,9 +87,12 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnListItemDeselected( wxListEvent& even { D(printf("OnListItemDeselected()\n");) if( !m_skipCopyFromPanel ) { if( !copyPanelToSelectedField() ) event.Skip(); // do not go to the next row } } void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnListItemSelected( wxListEvent& event ) Loading Loading @@ -229,6 +233,89 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnOKButtonClick( wxCommandEvent& event } void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::addFieldButtonHandler( wxCommandEvent& event ) { // in case m_FieldsBuf[REFERENCE].m_Orient has changed on screen only, grab // screen contents. if( !copyPanelToSelectedField() ) return; unsigned fieldNdx = m_FieldsBuf.size(); SCH_CMP_FIELD blank( wxPoint(), fieldNdx, m_Cmp ); blank.m_Orient = m_FieldsBuf[REFERENCE].m_Orient; m_FieldsBuf.push_back( blank ); setRowItem( fieldNdx, m_FieldsBuf[fieldNdx] ); m_skipCopyFromPanel = true; setSelectedFieldNdx( fieldNdx ); m_skipCopyFromPanel = false; } void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::deleteFieldButtonHandler( wxCommandEvent& event ) { unsigned fieldNdx = getSelectedFieldNdx(); if( fieldNdx >= m_FieldsBuf.size() ) // traps the -1 case too return; if( fieldNdx < FIELD1 ) { wxBell(); return; } m_FieldsBuf.erase( m_FieldsBuf.begin() + fieldNdx ); fieldListCtrl->DeleteItem( fieldNdx ); if( fieldNdx >= m_FieldsBuf.size() ) --fieldNdx; m_skipCopyFromPanel = true; setSelectedFieldNdx( fieldNdx ); m_skipCopyFromPanel = false; } void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC:: moveUpButtonHandler( wxCommandEvent& event ) { unsigned fieldNdx = getSelectedFieldNdx(); if( fieldNdx >= m_FieldsBuf.size() ) // traps the -1 case too return; if( fieldNdx <= FIELD1 ) { wxBell(); return; } if( !copyPanelToSelectedField() ) return; // swap the fieldNdx field with the one before it, in both the vector // and in the fieldListCtrl SCH_CMP_FIELD tmp = m_FieldsBuf[fieldNdx-1]; D(printf("tmp.m_Text=\"%s\" tmp.m_Name=\"%s\"\n", CONV_TO_UTF8(tmp.m_Text), CONV_TO_UTF8(tmp.m_Name) ); ) m_FieldsBuf[fieldNdx-1] = m_FieldsBuf[fieldNdx]; setRowItem( fieldNdx-1, m_FieldsBuf[fieldNdx] ); m_FieldsBuf[fieldNdx] = tmp; setRowItem( fieldNdx, tmp ); m_skipCopyFromPanel = true; setSelectedFieldNdx( fieldNdx - 1 ); m_skipCopyFromPanel = false; } void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::setSelectedFieldNdx( int aFieldNdx ) { /* deselect old selection, but I think this is done by single selection flag within fieldListCtrl Loading
eeschema/dialog_edit_component_in_schematic.fbp +3 −3 Original line number Diff line number Diff line Loading @@ -620,7 +620,7 @@ <property name="window_extra_style"></property> <property name="window_name"></property> <property name="window_style"></property> <event name="OnButtonClick"></event> <event name="OnButtonClick">addFieldButtonHandler</event> <event name="OnChar"></event> <event name="OnEnterWindow"></event> <event name="OnEraseBackground"></event> Loading Loading @@ -676,7 +676,7 @@ <property name="window_extra_style"></property> <property name="window_name"></property> <property name="window_style"></property> <event name="OnButtonClick"></event> <event name="OnButtonClick">deleteFieldButtonHandler</event> <event name="OnChar"></event> <event name="OnEnterWindow"></event> <event name="OnEraseBackground"></event> Loading Loading @@ -732,7 +732,7 @@ <property name="window_extra_style"></property> <property name="window_name"></property> <property name="window_style"></property> <event name="OnButtonClick"></event> <event name="OnButtonClick">moveUpButtonHandler</event> <event name="OnChar"></event> <event name="OnEnterWindow"></event> <event name="OnEraseBackground"></event> Loading
eeschema/dialog_edit_component_in_schematic.h +4 −1 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ class DIALOG_EDIT_COMPONENT_IN_SCHEMATIC : public DIALOG_EDIT_COMPONENT_IN_SCHEM WinEDA_SchematicFrame* m_Parent; SCH_COMPONENT* m_Cmp; EDA_LibComponentStruct* m_LibEntry; bool m_skipCopyFromPanel; static int s_SelectedRow; Loading Loading @@ -53,7 +54,9 @@ class DIALOG_EDIT_COMPONENT_IN_SCHEMATIC : public DIALOG_EDIT_COMPONENT_IN_SCHEM void OnCancelButtonClick( wxCommandEvent& event ); void OnOKButtonClick( wxCommandEvent& event ); void SetInitCmp( wxCommandEvent& event ); void addFieldButtonHandler( wxCommandEvent& event ); void deleteFieldButtonHandler( wxCommandEvent& event ); void moveUpButtonHandler( wxCommandEvent& event ); protected: Loading
eeschema/dialog_edit_component_in_schematic_fbp.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -227,6 +227,9 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP( // Connect Events fieldListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnListItemDeselected ), NULL, this ); fieldListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnListItemSelected ), NULL, this ); addFieldButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::addFieldButtonHandler ), NULL, this ); deleteFieldButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::deleteFieldButtonHandler ), NULL, this ); moveUpButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::moveUpButtonHandler ), NULL, this ); defaultsButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::SetInitCmp ), NULL, this ); stdDialogButtonSizerCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnCancelButtonClick ), NULL, this ); stdDialogButtonSizerOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnOKButtonClick ), NULL, this ); Loading @@ -237,6 +240,9 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::~DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP( // Disconnect Events fieldListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnListItemDeselected ), NULL, this ); fieldListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnListItemSelected ), NULL, this ); addFieldButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::addFieldButtonHandler ), NULL, this ); deleteFieldButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::deleteFieldButtonHandler ), NULL, this ); moveUpButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::moveUpButtonHandler ), NULL, this ); defaultsButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::SetInitCmp ), NULL, this ); stdDialogButtonSizerCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnCancelButtonClick ), NULL, this ); stdDialogButtonSizerOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnOKButtonClick ), NULL, this ); Loading