kicad/kicad/kicad.h

170 lines
4.5 KiB
C
Raw Normal View History

/***********/
/* kicad.h */
/***********/
2007-05-06 16:03:28 +00:00
#ifndef KICAD_H
#define KICAD_H
#include <vector>
#include <wx/treectrl.h>
#include <wx/dragimag.h>
#include <wx/filename.h>
2007-05-06 16:03:28 +00:00
#include "id.h"
#include "wxstruct.h"
#include "appl_wxstruct.h"
2010-05-29 18:34:18 +00:00
extern const wxString g_KicadPrjFilenameExtension;
2009-11-18 20:12:11 +00:00
class RIGHT_KM_FRAME;
class TREEPROJECTFILES;
class TREE_PROJECT_FRAME;
2007-05-06 16:03:28 +00:00
/**
* Command IDs for Kicad.
*
* Please add IDs that are unique to Kicad here and not in the global id.h
* file. This will prevent the entire project from being rebuilt when adding
* new commands to Kicad.
*/
2009-11-18 20:12:11 +00:00
enum id_kicad_frm {
ID_LEFT_FRAME = ID_END_LIST,
ID_PROJECT_TREE,
ID_PROJECT_TXTEDIT,
ID_PROJECT_TREE_REFRESH,
ID_PROJECT_NEWDIR,
ID_PROJECT_DELETE,
ID_PROJECT_RENAME,
ID_PROJECT_OPEN_FILE_WITH_TEXT_EDITOR,
ID_TO_EDITOR,
ID_TO_EESCHEMA,
ID_TO_GERBVIEW,
ID_TO_BITMAP_CONVERTER,
ID_TO_PCB_CALCULATOR,
ID_BROWSE_AN_SELECT_FILE,
ID_SELECT_PREFERED_EDITOR,
ID_SELECT_PREFERED_PDF_BROWSER_NAME,
ID_SELECT_PREFERED_PDF_BROWSER,
ID_SELECT_DEFAULT_PDF_BROWSER,
ID_SAVE_AND_ZIP_FILES,
2010-10-04 12:58:07 +00:00
ID_READ_ZIP_ARCHIVE
};
2011-04-17 13:54:17 +00:00
/* class KICAD_MANAGER_FRAME
* This is the main kicad frame
*/
2011-04-17 13:54:17 +00:00
class KICAD_MANAGER_FRAME : public EDA_BASE_FRAME
2007-05-06 16:03:28 +00:00
{
public:
TREE_PROJECT_FRAME* m_LeftWin;
RIGHT_KM_FRAME* m_RightWin;
2011-04-13 19:30:27 +00:00
EDA_TOOLBAR* m_VToolBar; // Vertical toolbar (not used)
wxString m_BoardFileName;
wxString m_SchematicRootFileName;
wxFileName m_ProjectFileName;
2007-05-06 16:03:28 +00:00
2009-11-18 20:12:11 +00:00
private:
int m_LeftWin_Width;
2007-05-06 16:03:28 +00:00
public:
2011-04-17 13:54:17 +00:00
KICAD_MANAGER_FRAME( wxWindow* parent, const wxString& title,
const wxPoint& pos, const wxSize& size );
2011-04-17 13:54:17 +00:00
~KICAD_MANAGER_FRAME();
2010-11-12 15:17:10 +00:00
/**
* Function CreateCommandToolbar
2009-11-18 20:12:11 +00:00
* Create the main buttons (fast launch buttons)
*/
void OnCloseWindow( wxCloseEvent& Event );
void OnSize( wxSizeEvent& event );
void OnSashDrag( wxSashEvent& event );
void OnLoadProject( wxCommandEvent& event );
void OnSaveProject( wxCommandEvent& event );
void OnArchiveFiles( wxCommandEvent& event );
void OnUnarchiveFiles( wxCommandEvent& event );
void OnRunPcbNew( wxCommandEvent& event );
void OnRunCvpcb( wxCommandEvent& event );
void OnRunEeschema( wxCommandEvent& event );
void OnRunGerbview( wxCommandEvent& event );
void OnRunBitmapConverter( wxCommandEvent& event );
void OnRunPcbCalculator( wxCommandEvent& event );
void OnOpenTextEditor( wxCommandEvent& event );
void OnOpenFileInTextEditor( wxCommandEvent& event );
void OnOpenFileInEditor( wxCommandEvent& event );
void OnFileHistory( wxCommandEvent& event );
void OnExit( wxCommandEvent& event );
void Process_Preferences( wxCommandEvent& event );
void ReCreateMenuBar();
void RecreateBaseHToolbar();
void PrintMsg( const wxString& text );
void ClearMsg();
void SetLanguage( wxCommandEvent& event );
void OnRefresh( wxCommandEvent& event );
void OnSelectDefaultPdfBrowser( wxCommandEvent& event );
void OnSelectPreferredPdfBrowser( wxCommandEvent& event );
void OnUpdateDefaultPdfBrowser( wxUpdateUIEvent& event );
void OnUpdatePreferredPdfBrowser( wxUpdateUIEvent& event );
void CreateNewProject( const wxString PrjFullFileName );
void LoadSettings();
void SaveSettings();
DECLARE_EVENT_TABLE()
2007-05-06 16:03:28 +00:00
};
// Order of this enum changes AddFile() internal working
// please update both
enum TreeFileType {
TREE_PROJECT = 1,
TREE_SCHEMA,
TREE_PCB,
TREE_GERBER,
TREE_PDF,
TREE_TXT,
TREE_NET,
TREE_UNKNOWN,
TREE_DIRECTORY,
2010-10-04 12:58:07 +00:00
TREE_MAX
};
2009-11-18 20:12:11 +00:00
/** class RIGHT_KM_FRAME
*/
2009-11-18 20:12:11 +00:00
class RIGHT_KM_FRAME : public wxSashLayoutWindow
{
public:
wxTextCtrl* m_DialogWin;
2009-11-18 20:12:11 +00:00
private:
2011-04-17 13:54:17 +00:00
KICAD_MANAGER_FRAME* m_Parent;
2009-11-18 20:12:11 +00:00
int m_ButtonsPanelHeight;
wxPanel* m_ButtPanel;
int m_ButtonSeparation; // button distance in pixels
wxPoint m_ButtonsListPosition; /* position of the left bottom corner
* of the first bitmap button
*/
wxPoint m_ButtonLastPosition; // position of the last button in the window
public:
2011-04-17 13:54:17 +00:00
RIGHT_KM_FRAME( KICAD_MANAGER_FRAME* parent );
2009-11-18 20:12:11 +00:00
~RIGHT_KM_FRAME() { };
void OnSize( wxSizeEvent& event );
private:
2009-11-18 20:12:11 +00:00
void CreateCommandToolbar( void );
wxBitmapButton* AddBitmapButton( wxWindowID aId, const wxBitmap & aBitmap );
2009-11-18 20:12:11 +00:00
DECLARE_EVENT_TABLE()
};
2007-05-06 16:03:28 +00:00
#endif