WinEDA_CvpcbFrame::WinEDA_CvpcbFrame(WinEDA_App *parent, const wxString & title ): WinEDA_BasicFrame(NULL, CVPCB_FRAME, parent, title, wxDefaultPosition, wxDefaultSize ) { m_FrameName = "CvpcbFrame"; m_ListCmp = NULL; m_ListMod = NULL; DrawFrame = NULL; m_FilesMenu = NULL; m_HToolBar = NULL; // Give an icon SetIcon( wxICON(icon_cvpcb)); SetFont(*g_StdFont); SetAutoLayout(TRUE); GetSettings(); if ( m_FrameSize.x < FRAME_MIN_SIZE_X ) m_FrameSize.x = FRAME_MIN_SIZE_X; if ( m_FrameSize.y < FRAME_MIN_SIZE_Y ) m_FrameSize.y = FRAME_MIN_SIZE_Y; // create the status bar int dims[3] = { -1, -1, 150}; CreateStatusBar(3); SetStatusWidths(3,dims); ReCreateMenuBar(); ReCreateHToolbar(); // Creation des listes de modules disponibles et des composants du schema // Create child subwindows. BuildCmpListBox(); BuildModListBox(); /* Creation des contraintes de dimension de la fenetre d'affichage des composants du schema */ wxLayoutConstraints * linkpos = new wxLayoutConstraints; linkpos->top.SameAs(this,wxTop); linkpos->bottom.SameAs(this,wxBottom); linkpos->left.SameAs(this,wxLeft); linkpos->width.PercentOf(this,wxWidth,66); m_ListCmp->SetConstraints(linkpos); /* Creation des contraintes de dimension de la fenetre d'affichage des modules de la librairie */ linkpos = new wxLayoutConstraints; linkpos->top.SameAs(m_ListCmp,wxTop); linkpos->bottom.SameAs(m_ListCmp,wxBottom); linkpos->right.SameAs(this,wxRight); linkpos->left.SameAs(m_ListCmp,wxRight); m_ListMod->SetConstraints(linkpos); SetSizeHints(FRAME_MIN_SIZE_X,FRAME_MIN_SIZE_Y, -1,-1, -1,-1); // Set minimal size to w,h SetSize(m_FramePos.x, m_FramePos.y, m_FrameSize.x, m_FrameSize.y); }
CVPCB_MAINFRAME::CVPCB_MAINFRAME( KIWAY* aKiway, wxWindow* aParent ) : KIWAY_PLAYER( aKiway, aParent, FRAME_CVPCB, wxT( "CvPCB" ), wxDefaultPosition, wxDefaultSize, KICAD_DEFAULT_DRAWFRAME_STYLE, CVPCB_MAINFRAME_NAME ) { m_compListBox = NULL; m_footprintListBox = NULL; m_libListBox = NULL; m_mainToolBar = NULL; m_modified = false; m_isEESchemaNetlist = false; m_KeepCvpcbOpen = false; m_undefinedComponentCnt = 0; m_skipComponentSelect = false; m_NetlistFileExtension = wxT( "net" ); /* Name of the document footprint list * usually located in share/modules/footprints_doc * this is of the responsibility to users to create this file * if they want to have a list of footprints */ m_DocModulesFileName = DEFAULT_FOOTPRINTS_LIST_FILENAME; // Give an icon wxIcon icon; icon.CopyFromBitmap( KiBitmap( icon_cvpcb_xpm ) ); SetIcon( icon ); SetAutoLayout( true ); LoadSettings( config() ); if( m_FrameSize.x < FRAME_MIN_SIZE_X ) m_FrameSize.x = FRAME_MIN_SIZE_X; if( m_FrameSize.y < FRAME_MIN_SIZE_Y ) m_FrameSize.y = FRAME_MIN_SIZE_Y; // Set minimal frame width and height SetSizeHints( FRAME_MIN_SIZE_X, FRAME_MIN_SIZE_Y, -1, -1, -1, -1 ); // Frame size and position SetSize( m_FramePos.x, m_FramePos.y, m_FrameSize.x, m_FrameSize.y ); // create the status bar static const int dims[3] = { -1, -1, 250 }; CreateStatusBar( 3 ); SetStatusWidths( 3, dims ); ReCreateMenuBar(); ReCreateHToolbar(); // Create list of available modules and components of the schematic BuildCmpListBox(); BuildFOOTPRINTS_LISTBOX(); BuildLIBRARY_LISTBOX(); m_auimgr.SetManagedWindow( this ); UpdateTitle(); EDA_PANEINFO horiz; horiz.HorizontalToolbarPane(); EDA_PANEINFO info; info.InfoToolbarPane(); if( m_mainToolBar ) m_auimgr.AddPane( m_mainToolBar, wxAuiPaneInfo( horiz ).Name( wxT( "m_mainToolBar" ) ).Top() ); if( m_compListBox ) m_auimgr.AddPane( m_compListBox, wxAuiPaneInfo( horiz ).Name( wxT( "m_compListBox" ) ).CentrePane() ); if( m_libListBox) m_auimgr.AddPane( m_libListBox, wxAuiPaneInfo( info ).Name( wxT( "m_libListBox" ) ). Left().BestSize( (int) ( m_FrameSize.x * 0.20 ), m_FrameSize.y ) ); if( m_footprintListBox ) m_auimgr.AddPane( m_footprintListBox, wxAuiPaneInfo( info ).Name( wxT( "m_footprintListBox" ) ). Right().BestSize( (int) ( m_FrameSize.x * 0.30 ), m_FrameSize.y ) ); m_auimgr.Update(); }