|
|
/*****************************************************************/ /* too_modeit.cpp: construction du menu de l'editeur de modules */ /*****************************************************************/
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "pcbnew.h"
#include "protos.h"
#define BITMAP wxBitmap
#include "bitmaps.h"
#include "id.h"
#include "Module_Check.xpm"
#include "Import_Module.xpm"
#include "Export_Module.xpm"
#include "New_FootPrint.xpm"
#include "module_options.xpm"
#include "Load_Module_Board.xpm"
#include "Repl_Module_Board.xpm"
#ifdef __UNIX__
#define LISTBOX_WIDTH 120
#else
#define LISTBOX_WIDTH 100
#endif
/***************************************************/void WinEDA_ModuleEditFrame::ReCreateHToolbar(void)/***************************************************/{ // Cecreate the toolbar
if ( m_HToolBar != NULL ) return;
m_HToolBar = new WinEDA_Toolbar(TOOLBAR_MAIN, this, ID_H_TOOLBAR, TRUE);
SetToolBar(m_HToolBar);
// Set up toolbar
m_HToolBar->AddTool(ID_LIBEDIT_SELECT_CURRENT_LIB, wxEmptyString, BITMAP(open_library_xpm), _("Select working library"));
m_HToolBar->AddTool(ID_MODEDIT_SAVE_LIBMODULE, wxEmptyString, BITMAP(save_library_xpm), _("Save Module in working library"));
m_HToolBar->AddTool(ID_LIBEDIT_CREATE_NEW_LIB_AND_SAVE_CURRENT_PART, wxEmptyString, BITMAP(new_library_xpm), _("Create new library and save current module"));
m_HToolBar->AddSeparator(); m_HToolBar->AddTool(ID_LIBEDIT_DELETE_PART, wxEmptyString, BITMAP(delete_xpm), _("Delete part in current library"));
m_HToolBar->AddSeparator(); m_HToolBar->AddTool(ID_MODEDIT_NEW_MODULE, wxEmptyString, BITMAP(new_footprint_xpm), _("New Module"));
m_HToolBar->AddTool(ID_MODEDIT_LOAD_MODULE, wxEmptyString, BITMAP(module_xpm), _("Load module from lib"));
m_HToolBar->AddSeparator(); m_HToolBar->AddTool(ID_MODEDIT_LOAD_MODULE_FROM_BOARD, wxEmptyString, BITMAP(load_module_board_xpm), _("Load module from current BOARD"));
m_HToolBar->AddTool(ID_MODEDIT_SAVE_MODULE_IN_BOARD, wxEmptyString, BITMAP(repl_module_board_xpm), _("Replace module in current BOARD"));
m_HToolBar->AddSeparator(); m_HToolBar->AddTool(ID_LIBEDIT_IMPORT_PART, wxEmptyString, BITMAP(import_module_xpm), _("import module"));
m_HToolBar->AddTool(ID_LIBEDIT_EXPORT_PART, wxEmptyString, BITMAP(export_module_xpm), _("export module"));
m_HToolBar->AddSeparator(); m_HToolBar->AddTool(ID_MODEDIT_UNDO, wxEmptyString, BITMAP(undo_xpm), _("Undo last edition")); m_HToolBar->AddTool(ID_MODEDIT_REDO, wxEmptyString, BITMAP(redo_xpm), _("Redo the last undo command"));
m_HToolBar->AddSeparator(); m_HToolBar->AddTool(ID_MODEDIT_EDIT_MODULE_PROPERTIES, wxEmptyString, BITMAP(module_options_xpm), _("Module Properties"));
m_HToolBar->AddSeparator(); m_HToolBar->AddTool(ID_GEN_PRINT, wxEmptyString, BITMAP(print_button), _("Print Module"));
m_HToolBar->AddSeparator(); m_HToolBar->AddTool(ID_ZOOM_PLUS_BUTT, wxEmptyString, BITMAP(zoom_in_xpm), _("zoom + (F1)"));
m_HToolBar->AddTool(ID_ZOOM_MOINS_BUTT, wxEmptyString,BITMAP(zoom_out_xpm), _("zoom - (F2)"));
m_HToolBar->AddTool(ID_ZOOM_REDRAW_BUTT, wxEmptyString,BITMAP(repaint_xpm), _("redraw (F3)"));
m_HToolBar->AddTool(ID_ZOOM_PAGE_BUTT, wxEmptyString,BITMAP(zoom_optimal_xpm), _("auto zoom"));
m_HToolBar->AddSeparator(); m_HToolBar->AddTool(ID_MODEDIT_PAD_SETTINGS, wxEmptyString, BITMAP(options_pad_xpm), _("Pad Settings"));
m_HToolBar->AddSeparator(); m_HToolBar->AddTool(ID_MODEDIT_CHECK, wxEmptyString, BITMAP(module_check_xpm), _("Module Check"));
// after adding the buttons to the toolbar, must call Realize() to reflect
// the changes
m_HToolBar->Realize(); SetToolbars();}
/********************************************************/void WinEDA_ModuleEditFrame::ReCreateVToolbar(void)/********************************************************/{ if( m_VToolBar ) return;
m_VToolBar = new WinEDA_Toolbar(TOOLBAR_TOOL, this, ID_V_TOOLBAR, FALSE);
// Set up toolbar
m_VToolBar->AddTool(ID_NO_SELECT_BUTT, wxEmptyString, BITMAP(cursor_xpm), wxEmptyString, wxITEM_CHECK ); m_VToolBar->ToggleTool(ID_NO_SELECT_BUTT, TRUE);
m_VToolBar->AddSeparator(); m_VToolBar->AddTool(ID_MODEDIT_ADD_PAD, wxEmptyString, BITMAP(pad_xpm), _("Add Pads"), wxITEM_CHECK);
m_VToolBar->AddSeparator(); m_VToolBar->AddTool(ID_LINE_COMMENT_BUTT, wxEmptyString, BITMAP(add_polygon_xpm), _("Add graphic line or polygon"), wxITEM_CHECK);
m_VToolBar->AddTool(ID_PCB_CIRCLE_BUTT, wxEmptyString, BITMAP(add_circle_xpm), _("Add graphic circle"), wxITEM_CHECK);
m_VToolBar->AddTool(ID_PCB_ARC_BUTT, wxEmptyString, BITMAP(add_arc_xpm), _("Add graphic arc"), wxITEM_CHECK);
m_VToolBar->AddTool(ID_TEXT_COMMENT_BUTT, wxEmptyString, BITMAP(add_text_xpm), _("Add Text"), wxITEM_CHECK);
m_VToolBar->AddSeparator(); m_VToolBar->AddTool(ID_MODEDIT_PLACE_ANCHOR, wxEmptyString, BITMAP(anchor_xpm), _("Place anchor"), wxITEM_CHECK);
m_VToolBar->AddSeparator(); m_VToolBar->AddTool(ID_MODEDIT_DELETE_ITEM_BUTT, wxEmptyString, BITMAP(delete_body_xpm), _("Delete items"), wxITEM_CHECK);
m_VToolBar->Realize();
SetToolbars();}
/*********************************************************/void WinEDA_ModuleEditFrame::ReCreateOptToolbar(void)/*********************************************************/{
if ( m_OptionsToolBar ) return;
// creation du tool bar options
m_OptionsToolBar = new WinEDA_Toolbar(TOOLBAR_OPTION, this, ID_OPT_TOOLBAR, FALSE);
m_OptionsToolBar->AddTool(ID_TB_OPTIONS_SHOW_GRID, BITMAP(grid_xpm), wxNullBitmap, TRUE, -1, -1, (wxObject *) NULL, _("Display Grid OFF"));
m_OptionsToolBar->AddTool(ID_TB_OPTIONS_SHOW_POLAR_COORD, wxEmptyString, BITMAP(polar_coord_xpm), _("Display Polar Coord ON"), wxITEM_CHECK);
m_OptionsToolBar->AddTool(ID_TB_OPTIONS_SELECT_UNIT_INCH, wxEmptyString, BITMAP(unit_inch_xpm), _("Units = Inch"), wxITEM_CHECK ); m_OptionsToolBar->AddTool(ID_TB_OPTIONS_SELECT_UNIT_MM, wxEmptyString, BITMAP(unit_mm_xpm), _("Units = mm"), wxITEM_CHECK );
m_OptionsToolBar->AddTool(ID_TB_OPTIONS_SELECT_CURSOR, BITMAP(cursor_shape_xpm), wxNullBitmap, TRUE, -1, -1, (wxObject *) NULL, _("Change Cursor Shape"));
m_OptionsToolBar->AddSeparator(); m_OptionsToolBar->AddTool(ID_TB_OPTIONS_SHOW_PADS_SKETCH, BITMAP(pad_sketch_xpm), wxNullBitmap, TRUE, -1, -1, (wxObject *) NULL, _("Show Pads Sketch"));
m_OptionsToolBar->AddTool(ID_TB_OPTIONS_SHOW_MODULE_TEXT_SKETCH, BITMAP(text_sketch_xpm), wxNullBitmap, TRUE, -1, -1, (wxObject *) NULL, _("Show Texts Sketch"));
m_OptionsToolBar->AddTool(ID_TB_OPTIONS_SHOW_MODULE_EDGE_SKETCH, BITMAP(show_mod_edge_xpm), wxNullBitmap, TRUE, -1, -1, (wxObject *) NULL, _("Show Edges Sketch"));
m_OptionsToolBar->Realize();
SetToolbars();}
/*********************************************************/void WinEDA_ModuleEditFrame::ReCreateAuxiliaryToolbar(void)/*********************************************************/{int ii;wxString msg;
if ( m_AuxiliaryToolBar == NULL ) { m_AuxiliaryToolBar = new WinEDA_Toolbar(TOOLBAR_AUX, this, ID_AUX_TOOLBAR, TRUE);
// Set up toolbar
m_AuxiliaryToolBar->AddSeparator();
// Boite de selection du pas de grille
m_SelGridBox = new WinEDAChoiceBox(m_AuxiliaryToolBar, ID_ON_GRID_SELECT, wxPoint(-1,-1), wxSize(LISTBOX_WIDTH , -1)); m_AuxiliaryToolBar->AddControl( m_SelGridBox);
// Boite de selection du Zoom
m_AuxiliaryToolBar->AddSeparator(); m_SelZoomBox = new WinEDAChoiceBox(m_AuxiliaryToolBar, ID_ON_ZOOM_SELECT, wxPoint(-1,-1), wxSize(LISTBOX_WIDTH , -1)); msg = _("Auto"); m_SelZoomBox->Append(msg); for ( int jj = 0, ii = 1; ii <= m_ZoomMaxValue; ii <<= 1, jj++ ) { msg.Printf(_("Zoom %d"), ii); m_SelZoomBox->Append(msg); } m_SelZoomBox->Append(wxT(""));
m_AuxiliaryToolBar->AddControl( m_SelZoomBox); // after adding the buttons to the toolbar, must call Realize() to reflect
// the changes
m_AuxiliaryToolBar->Realize(); }
// mise a jour des affichages
m_SelGridBox->Clear(); for ( ii = 0; g_GridList[ii].x > 0; ii++ ) { double value = To_User_Unit(g_UnitMetric, g_GridList[ii].x, PCB_INTERNAL_UNIT); if ( g_UnitMetric == INCHES ) msg.Printf(_("Grid %.1f"), value * 1000); else msg.Printf(_("Grid %.3f"), value); m_SelGridBox->Append(msg); } m_SelGridBox->Append( _("User Grid") );
SetToolbars();}
|