212 lines
6.0 KiB
C++
212 lines
6.0 KiB
C++
/***********************************************************/
|
|
/* wxstruct.h: */
|
|
/* descriptions des principales classes derivees utilisees */
|
|
/***********************************************************/
|
|
|
|
#ifndef CVSTRUCT_H
|
|
#define CVSTRUCT_H
|
|
|
|
#ifndef eda_global
|
|
#define eda_global extern
|
|
#endif
|
|
|
|
|
|
#include "wx/listctrl.h"
|
|
|
|
/* Forward declarations of all top-level window classes. */
|
|
class FootprintListBox;
|
|
class ListBoxCmp;
|
|
class WinEDA_DisplayFrame;
|
|
class STORECMP;
|
|
|
|
#define LIST_BOX_TYPE wxListView
|
|
|
|
/******************************************************/
|
|
/* classe derivee pour la Fenetre principale de cvpcb */
|
|
/******************************************************/
|
|
|
|
class WinEDA_CvpcbFrame: public WinEDA_BasicFrame
|
|
{
|
|
public:
|
|
|
|
FootprintListBox * m_FootprintList;
|
|
ListBoxCmp * m_ListCmp;
|
|
WinEDA_DisplayFrame * DrawFrame;
|
|
WinEDA_Toolbar * m_HToolBar; // Toolbar horizontal haut d'ecran
|
|
|
|
private:
|
|
wxMenu * m_FilesMenu;
|
|
|
|
// Constructor and destructor
|
|
public:
|
|
WinEDA_CvpcbFrame(WinEDA_App * parent, const wxString & title,
|
|
long style = KICAD_DEFAULT_DRAWFRAME_STYLE);
|
|
~WinEDA_CvpcbFrame();
|
|
|
|
void OnLeftClick(wxListEvent & event);
|
|
void OnLeftDClick(wxListEvent & event);
|
|
void OnSelectComponent(wxListEvent & event);
|
|
|
|
void Update_Config(wxCommandEvent& event);/* enregistrement de la config */
|
|
void OnQuit(wxCommandEvent& event);
|
|
void OnCloseWindow(wxCloseEvent & Event);
|
|
void OnSize(wxSizeEvent& SizeEvent);
|
|
void OnChar(wxKeyEvent& event);
|
|
void ReCreateHToolbar();
|
|
virtual void ReCreateMenuBar();
|
|
void SetLanguage(wxCommandEvent& event);
|
|
void AddFontSelectionMenu(wxMenu * main_menu);
|
|
void ProcessFontPreferences(wxCommandEvent& event);
|
|
|
|
void ToFirstNA(wxCommandEvent& event);
|
|
void ToPreviousNA(wxCommandEvent& event);
|
|
void DelAssociations(wxCommandEvent& event);
|
|
void SaveQuitCvpcb(wxCommandEvent& event);
|
|
void LoadNetList(wxCommandEvent& event);
|
|
void ConfigCvpcb(wxCommandEvent& event);
|
|
void DisplayModule(wxCommandEvent& event);
|
|
void AssocieModule(wxCommandEvent& event);
|
|
void WriteStuffList(wxCommandEvent & event);
|
|
void DisplayDocFile(wxCommandEvent & event);
|
|
void OnSelectFilteringFootprint(wxCommandEvent & event);
|
|
void SetNewPkg(const wxString & package);
|
|
void BuildCmpListBox();
|
|
void BuildFootprintListBox();
|
|
void CreateScreenCmp();
|
|
void CreateConfigWindow();
|
|
int SaveNetList(const wxString & FullFileName);
|
|
int SaveComponentList(const wxString & FullFileName);
|
|
bool ReadInputNetList(const wxString & FullFileName);
|
|
void ReadNetListe();
|
|
int rdpcad();
|
|
int ReadSchematicNetlist();
|
|
int ReadFootprintFilterList( FILE * f);
|
|
int ReadViewlogicWirList();
|
|
int ReadViewlogicNetList();
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
|
|
/***********************************************/
|
|
/* ListBox derivee pour l'affichage des listes */
|
|
/***********************************************/
|
|
class ListBoxBase: public LIST_BOX_TYPE
|
|
{
|
|
public:
|
|
WinEDA_CvpcbFrame * m_Parent;
|
|
|
|
public:
|
|
|
|
ListBoxBase(WinEDA_CvpcbFrame * parent, wxWindowID id,
|
|
const wxPoint& loc, const wxSize& size);
|
|
|
|
~ListBoxBase();
|
|
|
|
int GetSelection();
|
|
void OnSize(wxSizeEvent& event);
|
|
};
|
|
|
|
/************************************************************/
|
|
/* ListBox derivee pour l'affichage de la liste des Modules */
|
|
/************************************************************/
|
|
|
|
class FootprintListBox: public ListBoxBase
|
|
{
|
|
private:
|
|
wxArrayString m_FullFootprintList;
|
|
wxArrayString m_FilteredFootprintList;
|
|
public:
|
|
wxArrayString * m_ActiveFootprintList;
|
|
bool m_UseFootprintFullList;
|
|
|
|
public:
|
|
FootprintListBox(WinEDA_CvpcbFrame * parent,
|
|
wxWindowID id, const wxPoint& loc, const wxSize& size,
|
|
int nbitems, wxString choice[]);
|
|
~FootprintListBox();
|
|
|
|
int GetCount();
|
|
void SetSelection(unsigned index, bool State = TRUE);
|
|
void SetString(unsigned linecount, const wxString & text);
|
|
void AppendLine(const wxString & text);
|
|
void SetFootprintFullList();
|
|
void SetFootprintFilteredList(STORECMP * Component);
|
|
void SetActiveFootprintList(bool FullList, bool Redraw = FALSE);
|
|
|
|
wxString GetSelectedFootprint();
|
|
wxString OnGetItemText(long item, long column) const;
|
|
void OnLeftClick(wxListEvent & event);
|
|
void OnLeftDClick(wxListEvent & event);
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
/***************************************************************/
|
|
/* ListBox derivee pour l'affichage de la liste des Composants */
|
|
/***************************************************************/
|
|
|
|
class ListBoxCmp: public ListBoxBase
|
|
{
|
|
public:
|
|
wxArrayString m_ComponentList;
|
|
WinEDA_CvpcbFrame * m_Parent;
|
|
|
|
public:
|
|
|
|
ListBoxCmp(WinEDA_CvpcbFrame * parent, wxWindowID id,
|
|
const wxPoint& loc, const wxSize& size,
|
|
int nbitems, wxString choice[]);
|
|
|
|
~ListBoxCmp();
|
|
|
|
void Clear();
|
|
int GetCount();
|
|
wxString OnGetItemText(long item, long column) const;
|
|
void SetSelection(unsigned index, bool State = TRUE);
|
|
void SetString(unsigned linecount, const wxString & text);
|
|
void AppendLine(const wxString & text);
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
|
|
/*******************************************************/
|
|
/* class WWinEDA_DisplayFrame: public WinEDA_DrawFrame */
|
|
/*******************************************************/
|
|
|
|
class WinEDA_DisplayFrame: public WinEDA_BasePcbFrame
|
|
{
|
|
public:
|
|
|
|
public:
|
|
WinEDA_DisplayFrame( wxWindow * father, WinEDA_App *parent,
|
|
const wxString & title,
|
|
const wxPoint& pos, const wxSize& size,
|
|
long style = KICAD_DEFAULT_DRAWFRAME_STYLE);
|
|
|
|
~WinEDA_DisplayFrame();
|
|
|
|
void OnCloseWindow(wxCloseEvent & Event);
|
|
void Process_Special_Functions(wxCommandEvent& event);
|
|
void RedrawActiveWindow(wxDC * DC, bool EraseBg);
|
|
void ReCreateHToolbar();
|
|
void ReCreateVToolbar();
|
|
void RecreateMenuBar();
|
|
void OnLeftClick(wxDC * DC, const wxPoint& MousePos);
|
|
void OnLeftDClick(wxDC * DC, const wxPoint& MousePos);
|
|
bool OnRightClick(const wxPoint& MousePos, wxMenu * PopMenu);
|
|
void SetToolbars();
|
|
void GeneralControle( wxDC* DC, wxPoint Mouse );
|
|
void InstallOptionsDisplay(wxCommandEvent& event);
|
|
MODULE * Get_Module(const wxString & CmpName);
|
|
|
|
void Process_Settings(wxCommandEvent& event);
|
|
void Show3D_Frame(wxCommandEvent& event);
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
|
|
#endif //#ifndef CVSTRUCT_H
|
|
|