212 lines
7.0 KiB
C++
212 lines
7.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( 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,
|
|
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
|