kicad-source/eeschema/dialogs/dialog_lib_edit_pin_table_base.h
John Beard 4c8b971021 Eeschema: Symbol editor: pin table CSV interchange
This adds the ability to export the pin table content to a CSV file
or the clipboard as CSV, then re-import it from CSV or TSV. This allows:

* to round-trip pin table data via a spreadsheet program, so that the pin
  data can be manipulated in a richer/more familiar editing environment
* an import method to bring in tabular pin data from other formats
  "semi-automatically", without having to write a full-blown symbol generator.

Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/19207
2025-05-03 23:22:35 +08:00

102 lines
3.3 KiB
C++

///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6)
// http://www.wxformbuilder.org/
//
// PLEASE DO *NOT* EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////
#pragma once
#include <wx/artprov.h>
#include <wx/xrc/xmlres.h>
#include <wx/intl.h>
class BITMAP_BUTTON;
class STD_BITMAP_BUTTON;
class WX_GRID;
#include "dialog_shim.h"
#include <wx/string.h>
#include <wx/stattext.h>
#include <wx/gdicmn.h>
#include <wx/font.h>
#include <wx/colour.h>
#include <wx/settings.h>
#include <wx/sizer.h>
#include <wx/grid.h>
#include <wx/radiobut.h>
#include <wx/button.h>
#include <wx/bitmap.h>
#include <wx/image.h>
#include <wx/icon.h>
#include <wx/collpane.h>
#include <wx/bmpbuttn.h>
#include <wx/checkbox.h>
#include <wx/choice.h>
#include <wx/dialog.h>
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
/// Class DIALOG_LIB_EDIT_PIN_TABLE_BASE
///////////////////////////////////////////////////////////////////////////////
class DIALOG_LIB_EDIT_PIN_TABLE_BASE : public DIALOG_SHIM
{
private:
protected:
wxStaticText* m_staticTextPinNumbers;
wxStaticText* m_pin_numbers_summary;
wxStaticText* m_staticTextPinCount;
wxStaticText* m_pin_count;
wxStaticText* m_staticTextDuplicatePins;
wxStaticText* m_duplicate_pins;
WX_GRID* m_grid;
wxCollapsiblePane* m_exportPane;
wxRadioButton* m_rbExportAllPins;
wxRadioButton* m_rbExportOnlyShownPins;
wxButton* m_btnExportToFile;
wxButton* m_btnExportToClipboard;
wxCollapsiblePane* m_importPane;
wxRadioButton* m_rbReplaceAll;
wxRadioButton* m_radioBtn1;
wxButton* m_btnImportFromFile;
wxButton* m_btnImportFromClipboard;
STD_BITMAP_BUTTON* m_addButton;
STD_BITMAP_BUTTON* m_deleteButton;
BITMAP_BUTTON* m_divider1;
wxCheckBox* m_cbGroup;
wxButton* m_groupSelected;
STD_BITMAP_BUTTON* m_refreshButton;
BITMAP_BUTTON* m_divider2;
wxCheckBox* m_cbFilterByUnit;
wxChoice* m_unitFilter;
wxStdDialogButtonSizer* m_Buttons;
wxButton* m_ButtonsOK;
wxButton* m_ButtonsCancel;
// Virtual event handlers, override them in your derived class
virtual void OnClose( wxCloseEvent& event ) = 0;
virtual void OnUpdateUI( wxUpdateUIEvent& event ) = 0;
virtual void OnCellEdited( wxGridEvent& event ) = 0;
virtual void OnCellSelected( wxGridEvent& event ) = 0;
virtual void OnSize( wxSizeEvent& event ) = 0;
virtual void OnExportButtonClick( wxCommandEvent& event ) = 0;
virtual void OnImportButtonClick( wxCommandEvent& event ) = 0;
virtual void OnAddRow( wxCommandEvent& event ) = 0;
virtual void OnDeleteRow( wxCommandEvent& event ) = 0;
virtual void OnRebuildRows( wxCommandEvent& event ) = 0;
virtual void OnGroupSelected( wxCommandEvent& event ) = 0;
virtual void OnFilterCheckBox( wxCommandEvent& event ) = 0;
virtual void OnFilterChoice( wxCommandEvent& event ) = 0;
virtual void OnCancel( wxCommandEvent& event ) = 0;
public:
DIALOG_LIB_EDIT_PIN_TABLE_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Pin Table"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
~DIALOG_LIB_EDIT_PIN_TABLE_BASE();
};