227 lines
7.8 KiB
C++
227 lines
7.8 KiB
C++
/***********************************************************/
|
|
/* cvstruct.h : */
|
|
/* descriptions des principales classes derivees utilisees */
|
|
/***********************************************************/
|
|
|
|
#ifndef CVSTRUCT_H
|
|
#define CVSTRUCT_H
|
|
|
|
#include "wx/listctrl.h"
|
|
#include <wx/filename.h>
|
|
#include "param_config.h"
|
|
#include "cvpcb.h"
|
|
|
|
/* Forward declarations of all top-level window classes. */
|
|
class FootprintListBox;
|
|
class ListBoxCmp;
|
|
class WinEDA_DisplayFrame;
|
|
|
|
|
|
/******************************************************/
|
|
/* classe derivee pour la Fenetre principale de cvpcb */
|
|
/******************************************************/
|
|
|
|
class WinEDA_CvpcbFrame : public WinEDA_BasicFrame
|
|
{
|
|
public:
|
|
|
|
bool m_KeepCvpcbOpen;
|
|
FootprintListBox* m_FootprintList;
|
|
ListBoxCmp* m_ListCmp;
|
|
WinEDA_DisplayFrame* DrawFrame;
|
|
WinEDA_Toolbar* m_HToolBar; // Toolbar horizontal haut d'ecran
|
|
wxFileName m_NetlistFileName;
|
|
wxArrayString m_ModuleLibNames;
|
|
wxArrayString m_AliasLibNames;
|
|
wxString m_UserLibraryPath;
|
|
wxString m_NetlistFileExtension;
|
|
wxString m_DocModulesFileName;
|
|
FOOTPRINT_LIST m_footprints;
|
|
COMPONENT_LIST m_components;
|
|
|
|
protected:
|
|
int m_undefinedComponentCnt;
|
|
bool m_modified;
|
|
bool m_rightJustify;
|
|
bool m_isEESchemaNetlist;
|
|
PARAM_CFG_ARRAY m_projectFileParams;
|
|
|
|
// 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 ToFirstNA( wxCommandEvent& event );
|
|
void ToPreviousNA( wxCommandEvent& event );
|
|
void DelAssociations( wxCommandEvent& event );
|
|
void SaveQuitCvpcb( wxCommandEvent& event );
|
|
void LoadNetList( wxCommandEvent& event );
|
|
void ConfigCvpcb( wxCommandEvent& event );
|
|
void OnKeepOpenOnSave( wxCommandEvent& event );
|
|
void DisplayModule( wxCommandEvent& event );
|
|
void AssocieModule( wxCommandEvent& event );
|
|
void WriteStuffList( wxCommandEvent& event );
|
|
void DisplayDocFile( wxCommandEvent& event );
|
|
void OnSelectFilteringFootprint( wxCommandEvent& event );
|
|
|
|
void OnUpdateKeepOpenOnSave( wxUpdateUIEvent& event );
|
|
|
|
void SetNewPkg( const wxString& package );
|
|
void BuildCmpListBox();
|
|
void BuildFootprintListBox();
|
|
void CreateScreenCmp();
|
|
int SaveNetList( const wxString& FullFileName );
|
|
int SaveComponentList( const wxString& FullFileName );
|
|
bool ReadNetList();
|
|
int rdpcad();
|
|
int ReadSchematicNetlist();
|
|
int ReadFootprintFilterList( FILE* f );
|
|
int ReadViewlogicWirList();
|
|
int ReadViewlogicNetList();
|
|
void LoadProjectFile( const wxString& FileName );
|
|
void SaveProjectFile( const wxString& fileName );
|
|
virtual void LoadSettings();
|
|
virtual void SaveSettings();
|
|
|
|
PARAM_CFG_ARRAY& GetProjectFileParameters( void );
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
|
|
/***********************************************/
|
|
/* ListBox derivee pour l'affichage des listes */
|
|
/***********************************************/
|
|
class ListBoxBase : public wxListView
|
|
{
|
|
public:
|
|
|
|
ListBoxBase( WinEDA_CvpcbFrame * parent, wxWindowID id,
|
|
const wxPoint &loc, const wxSize &size );
|
|
|
|
~ListBoxBase();
|
|
|
|
int GetSelection();
|
|
void OnSize( wxSizeEvent& event );
|
|
|
|
virtual WinEDA_CvpcbFrame* GetParent();
|
|
|
|
};
|
|
|
|
/************************************************************/
|
|
/* 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( FOOTPRINT_LIST& list );
|
|
void SetFootprintFilteredList( COMPONENT* Component,
|
|
FOOTPRINT_LIST& list );
|
|
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( WinEDA_CvpcbFrame* father,
|
|
const wxString &title,
|
|
const wxPoint &pos, const wxSize &size,
|
|
long style = KICAD_DEFAULT_DRAWFRAME_STYLE );
|
|
|
|
~WinEDA_DisplayFrame();
|
|
|
|
void OnCloseWindow( wxCloseEvent& 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
|