Command ID refactoring and other minor improvements.
* Split out application specific command IDs to prevent unnecessary rebuilding. * Eliminate duplicate menu and tool bar command IDs. * Split component library editor and viewer definitions to separate header files. * More component library and document file merge code. * A bunch of minor string readability and consistency fixes.
This commit is contained in:
parent
dcc3463bf1
commit
43d6c685b5
|
@ -21,7 +21,6 @@
|
||||||
#include "wx/dataobj.h"
|
#include "wx/dataobj.h"
|
||||||
#include "wx/clipbrd.h"
|
#include "wx/clipbrd.h"
|
||||||
|
|
||||||
#include "id.h"
|
|
||||||
#include "gestfich.h"
|
#include "gestfich.h"
|
||||||
|
|
||||||
#include "3d_viewer.h"
|
#include "3d_viewer.h"
|
||||||
|
@ -30,23 +29,6 @@
|
||||||
/* Tool and button Bitmaps */
|
/* Tool and button Bitmaps */
|
||||||
#include "bitmaps.h"
|
#include "bitmaps.h"
|
||||||
|
|
||||||
enum onrclick_id {
|
|
||||||
ID_POPUP_3D_VIEW_START = 2000,
|
|
||||||
ID_POPUP_ZOOMIN,
|
|
||||||
ID_POPUP_ZOOMOUT,
|
|
||||||
ID_POPUP_VIEW_XPOS,
|
|
||||||
ID_POPUP_VIEW_XNEG,
|
|
||||||
ID_POPUP_VIEW_YPOS,
|
|
||||||
ID_POPUP_VIEW_YNEG,
|
|
||||||
ID_POPUP_VIEW_ZPOS,
|
|
||||||
ID_POPUP_VIEW_ZNEG,
|
|
||||||
ID_POPUP_MOVE3D_LEFT,
|
|
||||||
ID_POPUP_MOVE3D_RIGHT,
|
|
||||||
ID_POPUP_MOVE3D_UP,
|
|
||||||
ID_POPUP_MOVE3D_DOWN,
|
|
||||||
ID_POPUP_3D_VIEW_END
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Pcb3D_GLCanvas implementation
|
* Pcb3D_GLCanvas implementation
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "bitmaps.h"
|
#include "bitmaps.h"
|
||||||
#include "id.h"
|
|
||||||
|
|
||||||
#include "3d_viewer.h"
|
#include "3d_viewer.h"
|
||||||
#include "trackball.h"
|
#include "trackball.h"
|
||||||
|
|
|
@ -4,11 +4,8 @@
|
||||||
|
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "macros.h"
|
#include "macros.h"
|
||||||
|
|
||||||
#include "bitmaps.h"
|
#include "bitmaps.h"
|
||||||
|
|
||||||
#include "id.h"
|
|
||||||
|
|
||||||
#include "3d_viewer.h"
|
#include "3d_viewer.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -23,12 +23,68 @@
|
||||||
|
|
||||||
#include "pcbstruct.h"
|
#include "pcbstruct.h"
|
||||||
#include "3d_struct.h"
|
#include "3d_struct.h"
|
||||||
|
#include "id.h"
|
||||||
|
|
||||||
|
|
||||||
#define KICAD_DEFAULT_3D_DRAWFRAME_STYLE wxDEFAULT_FRAME_STYLE|wxWANTS_CHARS
|
#define KICAD_DEFAULT_3D_DRAWFRAME_STYLE wxDEFAULT_FRAME_STYLE|wxWANTS_CHARS
|
||||||
|
|
||||||
|
|
||||||
#define LIB3D_PATH wxT("packages3d")
|
#define LIB3D_PATH wxT("packages3d")
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Command IDs for the 3D viewer.
|
||||||
|
*
|
||||||
|
* Please add IDs that are unique to the 3D viewer here and not in the global
|
||||||
|
* id.h file. This will prevent the entire project from being rebuilt when
|
||||||
|
* adding new commands to the 3D viewer.
|
||||||
|
*/
|
||||||
|
enum id_3dview_frm
|
||||||
|
{
|
||||||
|
ID_START_COMMAND_3D = ID_END_LIST,
|
||||||
|
ID_ROTATE3D_X_NEG,
|
||||||
|
ID_ROTATE3D_X_POS,
|
||||||
|
ID_ROTATE3D_Y_NEG,
|
||||||
|
ID_ROTATE3D_Y_POS,
|
||||||
|
ID_ROTATE3D_Z_NEG,
|
||||||
|
ID_ROTATE3D_Z_POS,
|
||||||
|
ID_RELOAD3D_BOARD,
|
||||||
|
ID_TOOL_SCREENCOPY_TOCLIBBOARD,
|
||||||
|
ID_MOVE3D_LEFT,
|
||||||
|
ID_MOVE3D_RIGHT,
|
||||||
|
ID_MOVE3D_UP,
|
||||||
|
ID_MOVE3D_DOWN,
|
||||||
|
ID_MENU3D_BGCOLOR_SELECTION,
|
||||||
|
ID_MENU3D_AXIS_ONOFF,
|
||||||
|
ID_MENU3D_MODULE_ONOFF,
|
||||||
|
ID_MENU3D_UNUSED,
|
||||||
|
ID_MENU3D_ZONE_ONOFF,
|
||||||
|
ID_MENU3D_DRAWINGS_ONOFF,
|
||||||
|
ID_MENU3D_COMMENTS_ONOFF,
|
||||||
|
ID_MENU3D_ECO1_ONOFF,
|
||||||
|
ID_MENU3D_ECO2_ONOFF,
|
||||||
|
ID_END_COMMAND_3D,
|
||||||
|
|
||||||
|
ID_MENU_SCREENCOPY_PNG,
|
||||||
|
ID_MENU_SCREENCOPY_JPEG,
|
||||||
|
ID_MENU_SCREENCOPY_TOCLIBBOARD,
|
||||||
|
|
||||||
|
ID_POPUP_3D_VIEW_START,
|
||||||
|
ID_POPUP_ZOOMIN,
|
||||||
|
ID_POPUP_ZOOMOUT,
|
||||||
|
ID_POPUP_VIEW_XPOS,
|
||||||
|
ID_POPUP_VIEW_XNEG,
|
||||||
|
ID_POPUP_VIEW_YPOS,
|
||||||
|
ID_POPUP_VIEW_YNEG,
|
||||||
|
ID_POPUP_VIEW_ZPOS,
|
||||||
|
ID_POPUP_VIEW_ZNEG,
|
||||||
|
ID_POPUP_MOVE3D_LEFT,
|
||||||
|
ID_POPUP_MOVE3D_RIGHT,
|
||||||
|
ID_POPUP_MOVE3D_UP,
|
||||||
|
ID_POPUP_MOVE3D_DOWN,
|
||||||
|
ID_POPUP_3D_VIEW_END
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
class Pcb3D_GLCanvas;
|
class Pcb3D_GLCanvas;
|
||||||
class WinEDA3D_DrawFrame;
|
class WinEDA3D_DrawFrame;
|
||||||
class Info_3D_Visu;
|
class Info_3D_Visu;
|
||||||
|
|
|
@ -81,6 +81,8 @@ const wxString ModuleFileExtension( wxT( "mod" ) );
|
||||||
const wxString ModuleFileWildcard(
|
const wxString ModuleFileWildcard(
|
||||||
_( "Kicad footprint library files (*.mod)|*.mod" )
|
_( "Kicad footprint library files (*.mod)|*.mod" )
|
||||||
);
|
);
|
||||||
|
const wxString PcbFileWildcard(
|
||||||
|
_( "Printed circuit board files (*.brd)|*.brd" ) );
|
||||||
|
|
||||||
int g_CurrentVersionPCB = 1;
|
int g_CurrentVersionPCB = 1;
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "wxstruct.h"
|
#include "wxstruct.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "id.h"
|
|
||||||
|
|
||||||
#include "cvpcb.h"
|
#include "cvpcb.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
@ -33,8 +32,8 @@ COMPONENTS_LISTBOX::~COMPONENTS_LISTBOX()
|
||||||
*/
|
*/
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE( COMPONENTS_LISTBOX, ITEMS_LISTBOX_BASE )
|
BEGIN_EVENT_TABLE( COMPONENTS_LISTBOX, ITEMS_LISTBOX_BASE )
|
||||||
EVT_SIZE( ITEMS_LISTBOX_BASE::OnSize )
|
EVT_SIZE( ITEMS_LISTBOX_BASE::OnSize )
|
||||||
EVT_CHAR( COMPONENTS_LISTBOX::OnChar )
|
EVT_CHAR( COMPONENTS_LISTBOX::OnChar )
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "wxstruct.h"
|
#include "wxstruct.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "id.h"
|
|
||||||
|
|
||||||
#include "cvpcb.h"
|
#include "cvpcb.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
#include "eda_doc.h"
|
#include "eda_doc.h"
|
||||||
#include "gestfich.h"
|
#include "gestfich.h"
|
||||||
#include "id.h"
|
|
||||||
#include "param_config.h"
|
#include "param_config.h"
|
||||||
#include "bitmaps.h"
|
#include "bitmaps.h"
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
#include "gestfich.h"
|
#include "gestfich.h"
|
||||||
#include "id.h"
|
|
||||||
|
|
||||||
#include "cvpcb.h"
|
#include "cvpcb.h"
|
||||||
#include "zones.h"
|
#include "zones.h"
|
||||||
|
|
|
@ -17,10 +17,40 @@ class COMPONENTS_LISTBOX;
|
||||||
class WinEDA_DisplayFrame;
|
class WinEDA_DisplayFrame;
|
||||||
|
|
||||||
|
|
||||||
/******************************************************/
|
#include "id.h"
|
||||||
/* classe derivee pour la Fenetre principale de cvpcb */
|
|
||||||
/******************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Command IDs for the component library viewer.
|
||||||
|
*
|
||||||
|
* Please add IDs that are unique to the component library viewer here and
|
||||||
|
* not in the global id.h file. This will prevent the entire project from
|
||||||
|
* being rebuilt when adding new commands to the component library viewer.
|
||||||
|
*/
|
||||||
|
enum id_cvpcb_frm
|
||||||
|
{
|
||||||
|
ID_CVPCB_QUIT = ID_END_LIST,
|
||||||
|
ID_CVPCB_READ_INPUT_NETLIST,
|
||||||
|
ID_CVPCB_SAVEQUITCVPCB,
|
||||||
|
ID_CVPCB_CREATE_CONFIGWINDOW,
|
||||||
|
ID_CVPCB_CREATE_SCREENCMP,
|
||||||
|
ID_CVPCB_GOTO_FIRSTNA,
|
||||||
|
ID_CVPCB_GOTO_PREVIOUSNA,
|
||||||
|
ID_CVPCB_DEL_ASSOCIATIONS,
|
||||||
|
ID_CVPCB_AUTO_ASSOCIE,
|
||||||
|
ID_CVPCB_COMPONENT_LIST,
|
||||||
|
ID_CVPCB_FOOTPRINT_LIST,
|
||||||
|
ID_CVPCB_CREATE_STUFF_FILE,
|
||||||
|
ID_CVPCB_SHOW3D_FRAME,
|
||||||
|
ID_CVPCB_FOOTPRINT_DISPLAY_FULL_LIST,
|
||||||
|
ID_CVPCB_FOOTPRINT_DISPLAY_FILTERED_LIST,
|
||||||
|
ID_CVPCB_CONFIG_KEEP_OPEN_ON_SAVE
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The CVPcb application main window.
|
||||||
|
*/
|
||||||
class WinEDA_CvpcbFrame : public WinEDA_BasicFrame
|
class WinEDA_CvpcbFrame : public WinEDA_BasicFrame
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -227,9 +257,9 @@ public:
|
||||||
* currently: do nothing in cvpcb.
|
* currently: do nothing in cvpcb.
|
||||||
* but but be defined because it is a pure virtual in WinEDA_BasePcbFrame
|
* but but be defined because it is a pure virtual in WinEDA_BasePcbFrame
|
||||||
*/
|
*/
|
||||||
virtual void SaveCopyInUndoList( BOARD_ITEM* aItemToCopy,
|
virtual void SaveCopyInUndoList( BOARD_ITEM* aItemToCopy,
|
||||||
UndoRedoOpType aTypeCommand = UR_UNSPECIFIED,
|
UndoRedoOpType aTypeCommand = UR_UNSPECIFIED,
|
||||||
const wxPoint& aTransformPoint = wxPoint( 0, 0 ) )
|
const wxPoint& aTransformPoint = wxPoint( 0, 0 ) )
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -241,8 +271,9 @@ public:
|
||||||
* @param aTypeCommand = command type (see enum UndoRedoOpType)
|
* @param aTypeCommand = command type (see enum UndoRedoOpType)
|
||||||
* @param aTransformPoint = the reference point of the transformation, for commands like move
|
* @param aTransformPoint = the reference point of the transformation, for commands like move
|
||||||
*/
|
*/
|
||||||
virtual void SaveCopyInUndoList( PICKED_ITEMS_LIST& aItemsList, UndoRedoOpType aTypeCommand,
|
virtual void SaveCopyInUndoList( PICKED_ITEMS_LIST& aItemsList,
|
||||||
const wxPoint& aTransformPoint = wxPoint( 0, 0 ) )
|
UndoRedoOpType aTypeCommand,
|
||||||
|
const wxPoint& aTransformPoint = wxPoint( 0, 0 ) )
|
||||||
{
|
{
|
||||||
// currently: do nothing in cvpcb.
|
// currently: do nothing in cvpcb.
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,6 @@
|
||||||
#include "appl_wxstruct.h"
|
#include "appl_wxstruct.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "id.h"
|
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
#include "macros.h"
|
#include "macros.h"
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
#include "gr_basic.h"
|
#include "gr_basic.h"
|
||||||
#include "gestfich.h"
|
#include "gestfich.h"
|
||||||
#include "id.h"
|
|
||||||
#include "appl_wxstruct.h"
|
#include "appl_wxstruct.h"
|
||||||
|
|
||||||
#include "cvpcb.h"
|
#include "cvpcb.h"
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "wxstruct.h"
|
#include "wxstruct.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "id.h"
|
|
||||||
|
|
||||||
#include "cvpcb.h"
|
#include "cvpcb.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
|
|
@ -13,8 +13,6 @@
|
||||||
|
|
||||||
#include "bitmaps.h"
|
#include "bitmaps.h"
|
||||||
|
|
||||||
#include "id.h"
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************/
|
/*******************************************/
|
||||||
void WinEDA_CvpcbFrame::ReCreateMenuBar()
|
void WinEDA_CvpcbFrame::ReCreateMenuBar()
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "id.h"
|
|
||||||
|
|
||||||
#include "bitmaps.h"
|
#include "bitmaps.h"
|
||||||
#include "cvpcb.h"
|
#include "cvpcb.h"
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "appl_wxstruct.h"
|
#include "appl_wxstruct.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "id.h"
|
|
||||||
#include "trigo.h"
|
#include "trigo.h"
|
||||||
|
|
||||||
#include "bitmaps.h"
|
#include "bitmaps.h"
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
#include "libeditfrm.h"
|
||||||
|
|
||||||
|
|
||||||
static void DrawMovingBlockOutlines( WinEDA_DrawPanel* panel, wxDC* DC,
|
static void DrawMovingBlockOutlines( WinEDA_DrawPanel* panel, wxDC* DC,
|
||||||
|
@ -183,7 +184,7 @@ int WinEDA_LibeditFrame::HandleBlockEnd( wxDC* DC )
|
||||||
case BLOCK_DRAG: /* Drag */
|
case BLOCK_DRAG: /* Drag */
|
||||||
case BLOCK_MOVE: /* Move */
|
case BLOCK_MOVE: /* Move */
|
||||||
case BLOCK_COPY: /* Copy */
|
case BLOCK_COPY: /* Copy */
|
||||||
ItemsCount = MarkItemsInBloc( CurrentLibEntry,
|
ItemsCount = MarkItemsInBloc( m_currentComponent,
|
||||||
GetScreen()->m_BlockLocate );
|
GetScreen()->m_BlockLocate );
|
||||||
if( ItemsCount )
|
if( ItemsCount )
|
||||||
{
|
{
|
||||||
|
@ -206,11 +207,11 @@ int WinEDA_LibeditFrame::HandleBlockEnd( wxDC* DC )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BLOCK_DELETE: /* Delete */
|
case BLOCK_DELETE: /* Delete */
|
||||||
ItemsCount = MarkItemsInBloc( CurrentLibEntry,
|
ItemsCount = MarkItemsInBloc( m_currentComponent,
|
||||||
GetScreen()->m_BlockLocate );
|
GetScreen()->m_BlockLocate );
|
||||||
if( ItemsCount )
|
if( ItemsCount )
|
||||||
SaveCopyInUndoList( CurrentLibEntry );
|
SaveCopyInUndoList( m_currentComponent );
|
||||||
DeleteMarkedItems( CurrentLibEntry );
|
DeleteMarkedItems( m_currentComponent );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BLOCK_SAVE: /* Save */
|
case BLOCK_SAVE: /* Save */
|
||||||
|
@ -222,11 +223,11 @@ int WinEDA_LibeditFrame::HandleBlockEnd( wxDC* DC )
|
||||||
|
|
||||||
|
|
||||||
case BLOCK_MIRROR_Y:
|
case BLOCK_MIRROR_Y:
|
||||||
ItemsCount = MarkItemsInBloc( CurrentLibEntry,
|
ItemsCount = MarkItemsInBloc( m_currentComponent,
|
||||||
GetScreen()->m_BlockLocate );
|
GetScreen()->m_BlockLocate );
|
||||||
if( ItemsCount )
|
if( ItemsCount )
|
||||||
SaveCopyInUndoList( CurrentLibEntry );
|
SaveCopyInUndoList( m_currentComponent );
|
||||||
MirrorMarkedItems( CurrentLibEntry,
|
MirrorMarkedItems( m_currentComponent,
|
||||||
GetScreen()->m_BlockLocate.Centre() );
|
GetScreen()->m_BlockLocate.Centre() );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -245,7 +246,7 @@ int WinEDA_LibeditFrame::HandleBlockEnd( wxDC* DC )
|
||||||
{
|
{
|
||||||
if( GetScreen()->m_BlockLocate.m_Command != BLOCK_SELECT_ITEMS_ONLY )
|
if( GetScreen()->m_BlockLocate.m_Command != BLOCK_SELECT_ITEMS_ONLY )
|
||||||
{
|
{
|
||||||
ClearMarkItems( CurrentLibEntry );
|
ClearMarkItems( m_currentComponent );
|
||||||
}
|
}
|
||||||
GetScreen()->m_BlockLocate.m_Flags = 0;
|
GetScreen()->m_BlockLocate.m_Flags = 0;
|
||||||
GetScreen()->m_BlockLocate.m_State = STATE_NO_BLOCK;
|
GetScreen()->m_BlockLocate.m_State = STATE_NO_BLOCK;
|
||||||
|
@ -291,16 +292,16 @@ void WinEDA_LibeditFrame::HandleBlockPlace( wxDC* DC )
|
||||||
case BLOCK_MOVE: /* Move */
|
case BLOCK_MOVE: /* Move */
|
||||||
case BLOCK_PRESELECT_MOVE: /* Move with preselection list*/
|
case BLOCK_PRESELECT_MOVE: /* Move with preselection list*/
|
||||||
GetScreen()->m_BlockLocate.ClearItemsList();
|
GetScreen()->m_BlockLocate.ClearItemsList();
|
||||||
SaveCopyInUndoList( CurrentLibEntry );
|
SaveCopyInUndoList( m_currentComponent );
|
||||||
MoveMarkedItems( CurrentLibEntry,
|
MoveMarkedItems( m_currentComponent,
|
||||||
GetScreen()->m_BlockLocate.m_MoveVector );
|
GetScreen()->m_BlockLocate.m_MoveVector );
|
||||||
DrawPanel->Refresh( TRUE );
|
DrawPanel->Refresh( TRUE );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BLOCK_COPY: /* Copy */
|
case BLOCK_COPY: /* Copy */
|
||||||
GetScreen()->m_BlockLocate.ClearItemsList();
|
GetScreen()->m_BlockLocate.ClearItemsList();
|
||||||
SaveCopyInUndoList( CurrentLibEntry );
|
SaveCopyInUndoList( m_currentComponent );
|
||||||
CopyMarkedItems( CurrentLibEntry,
|
CopyMarkedItems( m_currentComponent,
|
||||||
GetScreen()->m_BlockLocate.m_MoveVector );
|
GetScreen()->m_BlockLocate.m_MoveVector );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -309,8 +310,8 @@ void WinEDA_LibeditFrame::HandleBlockPlace( wxDC* DC )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BLOCK_MIRROR_Y: /* Invert by popup menu, from block move */
|
case BLOCK_MIRROR_Y: /* Invert by popup menu, from block move */
|
||||||
SaveCopyInUndoList( CurrentLibEntry );
|
SaveCopyInUndoList( m_currentComponent );
|
||||||
MirrorMarkedItems( CurrentLibEntry,
|
MirrorMarkedItems( m_currentComponent,
|
||||||
GetScreen()->m_BlockLocate.Centre() );
|
GetScreen()->m_BlockLocate.Centre() );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -342,8 +343,7 @@ void WinEDA_LibeditFrame::HandleBlockPlace( wxDC* DC )
|
||||||
* Retrace le contour du block de recherche de structures
|
* Retrace le contour du block de recherche de structures
|
||||||
* L'ensemble du block suit le curseur
|
* L'ensemble du block suit le curseur
|
||||||
*/
|
*/
|
||||||
static void DrawMovingBlockOutlines( WinEDA_DrawPanel* panel, wxDC* DC,
|
void DrawMovingBlockOutlines( WinEDA_DrawPanel* panel, wxDC* DC, bool erase )
|
||||||
bool erase )
|
|
||||||
{
|
{
|
||||||
BLOCK_SELECTOR* PtBlock;
|
BLOCK_SELECTOR* PtBlock;
|
||||||
BASE_SCREEN* screen = panel->GetScreen();
|
BASE_SCREEN* screen = panel->GetScreen();
|
||||||
|
@ -351,19 +351,22 @@ static void DrawMovingBlockOutlines( WinEDA_DrawPanel* panel, wxDC* DC,
|
||||||
|
|
||||||
PtBlock = &screen->m_BlockLocate;
|
PtBlock = &screen->m_BlockLocate;
|
||||||
|
|
||||||
/* Effacement ancien cadre */
|
WinEDA_LibeditFrame* parent = ( WinEDA_LibeditFrame* ) panel->GetParent();
|
||||||
|
wxASSERT( parent != NULL );
|
||||||
|
|
||||||
|
LIB_COMPONENT* component = parent->GetCurrentComponent();
|
||||||
|
|
||||||
|
if( component == NULL )
|
||||||
|
return;
|
||||||
|
|
||||||
if( erase )
|
if( erase )
|
||||||
{
|
{
|
||||||
PtBlock->Draw( panel, DC, PtBlock->m_MoveVector, g_XorMode,
|
PtBlock->Draw( panel, DC, PtBlock->m_MoveVector, g_XorMode,
|
||||||
PtBlock->m_Color );
|
PtBlock->m_Color );
|
||||||
|
|
||||||
if( CurrentLibEntry )
|
component->Draw( panel, DC, PtBlock->m_MoveVector, CurrentUnit,
|
||||||
{
|
CurrentConvert, g_XorMode, -1, DefaultTransformMatrix,
|
||||||
CurrentLibEntry->Draw( panel, DC, PtBlock->m_MoveVector,
|
true, false, true );
|
||||||
CurrentUnit, CurrentConvert, g_XorMode,
|
|
||||||
-1, DefaultTransformMatrix, true, false,
|
|
||||||
true );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Redessin nouvel affichage */
|
/* Redessin nouvel affichage */
|
||||||
|
@ -376,13 +379,9 @@ static void DrawMovingBlockOutlines( WinEDA_DrawPanel* panel, wxDC* DC,
|
||||||
PtBlock->Draw( panel, DC, PtBlock->m_MoveVector, g_XorMode,
|
PtBlock->Draw( panel, DC, PtBlock->m_MoveVector, g_XorMode,
|
||||||
PtBlock->m_Color );
|
PtBlock->m_Color );
|
||||||
|
|
||||||
if( CurrentLibEntry )
|
component->Draw( panel, DC, PtBlock->m_MoveVector, CurrentUnit,
|
||||||
{
|
CurrentConvert, g_XorMode, -1, DefaultTransformMatrix,
|
||||||
CurrentLibEntry->Draw( panel, DC, PtBlock->m_MoveVector,
|
true, false, true );
|
||||||
CurrentUnit, CurrentConvert, g_XorMode,
|
|
||||||
-1, DefaultTransformMatrix, true, false,
|
|
||||||
true );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#include "gr_basic.h"
|
#include "gr_basic.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "id.h"
|
#include "eeschema_id.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
|
|
||||||
#include "program.h"
|
#include "program.h"
|
||||||
|
|
|
@ -416,6 +416,37 @@ bool LibDrawField::DoTestInside( EDA_Rect& rect )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If the field is the reference, return reference like schematic,
|
||||||
|
* i.e U -> U? or U?A or the field text for others
|
||||||
|
*
|
||||||
|
* @fixme This should be handled by the field object.
|
||||||
|
*/
|
||||||
|
wxString LibDrawField::GetFullText( void )
|
||||||
|
{
|
||||||
|
if( m_FieldId != REFERENCE )
|
||||||
|
return m_Text;
|
||||||
|
|
||||||
|
wxString text = m_Text;
|
||||||
|
|
||||||
|
if( GetParent()->m_UnitCount > 1 )
|
||||||
|
{
|
||||||
|
#if defined(KICAD_GOST)
|
||||||
|
text.Printf( wxT( "%s?.%c" ),
|
||||||
|
m_Text.GetData(), CurrentUnit + '1' - 1 );
|
||||||
|
#else
|
||||||
|
|
||||||
|
text.Printf( wxT( "%s?%c" ),
|
||||||
|
m_Text.GetData(), CurrentUnit + 'A' - 1 );
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
else
|
||||||
|
text << wxT( "?" );
|
||||||
|
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function ReturnDefaultFieldName
|
* Function ReturnDefaultFieldName
|
||||||
* Return the default field name from its index (REFERENCE, VALUE ..)
|
* Return the default field name from its index (REFERENCE, VALUE ..)
|
||||||
|
|
|
@ -103,6 +103,8 @@ public:
|
||||||
m_Parent = field.m_Parent;
|
m_Parent = field.m_Parent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxString GetFullText( void );
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual LibEDA_BaseStruct* DoGenCopy();
|
virtual LibEDA_BaseStruct* DoGenCopy();
|
||||||
virtual bool DoCompare( const LibEDA_BaseStruct& other ) const;
|
virtual bool DoCompare( const LibEDA_BaseStruct& other ) const;
|
||||||
|
|
|
@ -514,8 +514,8 @@ information." );
|
||||||
{
|
{
|
||||||
wxLogWarning( _( "The component library <%s> header version \
|
wxLogWarning( _( "The component library <%s> header version \
|
||||||
number is invalid.\n\nIn future versions of EESchema this library may not \
|
number is invalid.\n\nIn future versions of EESchema this library may not \
|
||||||
load correctly.\nTo resolve this problem open the library in the library \
|
load correctly. To resolve this problem open the library in the library \
|
||||||
editor and save it.\nIf this library is the project cache library, save \
|
editor and save it. If this library is the project cache library, save \
|
||||||
the current schematic." ),
|
the current schematic." ),
|
||||||
(const wxChar*) GetName() );
|
(const wxChar*) GetName() );
|
||||||
}
|
}
|
||||||
|
@ -636,7 +636,7 @@ bool CMP_LIBRARY::LoadDocs( wxString& errMsg )
|
||||||
|
|
||||||
if( f == NULL )
|
if( f == NULL )
|
||||||
{
|
{
|
||||||
errMsg.Printf( _( "Could not open component document libray file\n<%s>." ),
|
errMsg.Printf( _( "Could not open component document libray file <%s>." ),
|
||||||
(const wxChar*) fn.GetFullPath() );
|
(const wxChar*) fn.GetFullPath() );
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,11 +9,14 @@
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "drawtxt.h"
|
#include "drawtxt.h"
|
||||||
|
#include "plot_common.h"
|
||||||
|
|
||||||
#include "program.h"
|
#include "program.h"
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "plot_common.h"
|
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
#include "libeditfrm.h"
|
||||||
|
|
||||||
|
|
||||||
const wxChar* MsgPinElectricType[] =
|
const wxChar* MsgPinElectricType[] =
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "gr_basic.h"
|
#include "gr_basic.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "id.h"
|
#include "eeschema_id.h"
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "program.h"
|
#include "program.h"
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#include "gr_basic.h"
|
#include "gr_basic.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "trigo.h"
|
#include "trigo.h"
|
||||||
#include "id.h"
|
#include "eeschema_id.h"
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "drawtxt.h"
|
#include "drawtxt.h"
|
||||||
|
|
||||||
|
|
|
@ -7,12 +7,14 @@
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "eda_dde.h"
|
#include "eda_dde.h"
|
||||||
#include "id.h"
|
#include "eeschema_id.h"
|
||||||
|
|
||||||
#include "program.h"
|
#include "program.h"
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
#include "libeditfrm.h"
|
||||||
|
#include "libviewfrm.h"
|
||||||
|
|
||||||
#include "class_marker_sch.h"
|
#include "class_marker_sch.h"
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
#include "eda_dde.h"
|
#include "eda_dde.h"
|
||||||
|
|
||||||
#include "id.h"
|
#include "eeschema_id.h"
|
||||||
|
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "appl_wxstruct.h"
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
#include "gestfich.h"
|
#include "gestfich.h"
|
||||||
|
@ -13,10 +12,11 @@
|
||||||
#include "program.h"
|
#include "program.h"
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
|
#include "protos.h"
|
||||||
|
#include "libeditfrm.h"
|
||||||
|
|
||||||
#include "dialog_edit_component_in_lib.h"
|
#include "dialog_edit_component_in_lib.h"
|
||||||
|
|
||||||
#include "protos.h"
|
|
||||||
|
|
||||||
DIALOG_EDIT_COMPONENT_IN_LIBRARY::DIALOG_EDIT_COMPONENT_IN_LIBRARY( WinEDA_LibeditFrame* aParent):
|
DIALOG_EDIT_COMPONENT_IN_LIBRARY::DIALOG_EDIT_COMPONENT_IN_LIBRARY( WinEDA_LibeditFrame* aParent):
|
||||||
DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE(aParent)
|
DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE(aParent)
|
||||||
|
@ -45,7 +45,9 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::Init( )
|
||||||
SetFocus();
|
SetFocus();
|
||||||
m_AliasLocation = -1;
|
m_AliasLocation = -1;
|
||||||
|
|
||||||
if( CurrentLibEntry == NULL )
|
LIB_COMPONENT* component = m_Parent->GetCurrentComponent();
|
||||||
|
|
||||||
|
if( component == NULL )
|
||||||
{
|
{
|
||||||
SetTitle( _( "Library Component Properties" ) );
|
SetTitle( _( "Library Component Properties" ) );
|
||||||
return;
|
return;
|
||||||
|
@ -56,16 +58,15 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::Init( )
|
||||||
if( !CurrentAliasName.IsEmpty() )
|
if( !CurrentAliasName.IsEmpty() )
|
||||||
{
|
{
|
||||||
title += CurrentAliasName + _( " (alias of " ) +
|
title += CurrentAliasName + _( " (alias of " ) +
|
||||||
wxString( CurrentLibEntry->m_Name.m_Text )+ wxT( ")" );
|
component->GetName() + wxT( ")" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
title += CurrentLibEntry->m_Name.m_Text;
|
title += component->GetName();
|
||||||
CurrentAliasName.Empty();
|
CurrentAliasName.Empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
SetTitle( title );
|
SetTitle( title );
|
||||||
|
|
||||||
InitPanelDoc();
|
InitPanelDoc();
|
||||||
InitBasicPanel();
|
InitBasicPanel();
|
||||||
|
|
||||||
|
@ -73,26 +74,18 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::Init( )
|
||||||
m_ButtonDeleteAllAlias->Enable( false );
|
m_ButtonDeleteAllAlias->Enable( false );
|
||||||
|
|
||||||
/* Place list of alias names in listbox */
|
/* Place list of alias names in listbox */
|
||||||
if( CurrentLibEntry )
|
m_PartAliasList->Append( component->m_AliasList );
|
||||||
{
|
|
||||||
m_PartAliasList->Append( CurrentLibEntry->m_AliasList );
|
|
||||||
}
|
|
||||||
|
|
||||||
if( ( CurrentLibEntry == NULL )
|
if( component->m_AliasList.GetCount() == 0 )
|
||||||
|| ( CurrentLibEntry->m_AliasList.GetCount() == 0 ) )
|
|
||||||
{
|
{
|
||||||
m_ButtonDeleteAllAlias->Enable( false );
|
m_ButtonDeleteAllAlias->Enable( false );
|
||||||
m_ButtonDeleteOneAlias->Enable( false );
|
m_ButtonDeleteOneAlias->Enable( false );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Read the Footprint Filter list */
|
/* Read the Footprint Filter list */
|
||||||
if( CurrentLibEntry )
|
m_FootprintFilterListBox->Append( component->m_FootprintList );
|
||||||
{
|
|
||||||
m_FootprintFilterListBox->Append( CurrentLibEntry->m_FootprintList );
|
|
||||||
}
|
|
||||||
|
|
||||||
if( ( CurrentLibEntry == NULL )
|
if( component->m_FootprintList.GetCount() == 0 )
|
||||||
|| ( CurrentLibEntry->m_FootprintList.GetCount() == 0 ) )
|
|
||||||
{
|
{
|
||||||
m_ButtonDeleteAllFootprintFilter->Enable( false );
|
m_ButtonDeleteAllFootprintFilter->Enable( false );
|
||||||
m_ButtonDeleteOneFootprintFilter->Enable( false );
|
m_ButtonDeleteOneFootprintFilter->Enable( false );
|
||||||
|
|
|
@ -2,17 +2,18 @@
|
||||||
/* library editor: edition of fields of lib entries (components in libraries) */
|
/* library editor: edition of fields of lib entries (components in libraries) */
|
||||||
/*******************************************************************************/
|
/*******************************************************************************/
|
||||||
|
|
||||||
#include "fctsys.h"
|
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
|
#include "fctsys.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
|
#include "class_drawpanel.h"
|
||||||
|
|
||||||
#include "program.h"
|
#include "program.h"
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
|
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
#include "libeditfrm.h"
|
||||||
|
|
||||||
#include "dialog_edit_libentry_fields_in_lib_base.h"
|
#include "dialog_edit_libentry_fields_in_lib_base.h"
|
||||||
|
|
||||||
|
@ -97,25 +98,25 @@ private:
|
||||||
void reinitializeFieldsIdAndDefaultNames();
|
void reinitializeFieldsIdAndDefaultNames();
|
||||||
};
|
};
|
||||||
|
|
||||||
/*****************************************************************/
|
|
||||||
void WinEDA_LibeditFrame::InstallFieldsEditorDialog( void )
|
void WinEDA_LibeditFrame::InstallFieldsEditorDialog( wxCommandEvent& event )
|
||||||
/*****************************************************************/
|
|
||||||
{
|
{
|
||||||
if( CurrentLibEntry == NULL )
|
if( m_currentComponent == NULL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB* frame =
|
DrawPanel->UnManageCursor( 0, wxCURSOR_ARROW );
|
||||||
new DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB( this, CurrentLibEntry );
|
|
||||||
|
|
||||||
int abort = frame->ShowModal(); frame->Destroy();
|
DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB dlg( this, m_currentComponent );
|
||||||
|
|
||||||
if( ! abort )
|
int abort = dlg.ShowModal();
|
||||||
{
|
|
||||||
ReCreateHToolbar();
|
|
||||||
Refresh();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if( abort )
|
||||||
|
return;
|
||||||
|
|
||||||
|
UpdateAliasSelectList();
|
||||||
|
UpdatePartSelectList();
|
||||||
DisplayLibInfos();
|
DisplayLibInfos();
|
||||||
|
Refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include <wx/tokenzr.h>
|
|
||||||
#include "appl_wxstruct.h"
|
#include "appl_wxstruct.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
|
@ -17,11 +16,11 @@
|
||||||
#include "program.h"
|
#include "program.h"
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
|
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "netlist.h"
|
#include "netlist.h"
|
||||||
|
#include "libviewfrm.h"
|
||||||
|
|
||||||
#include "id.h"
|
#include <wx/tokenzr.h>
|
||||||
|
|
||||||
#include "dialog_eeschema_config_fbp.h"
|
#include "dialog_eeschema_config_fbp.h"
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "gr_basic.h"
|
#include "gr_basic.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "id.h"
|
#include "eeschema_id.h"
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
|
|
||||||
|
|
|
@ -11,8 +11,8 @@
|
||||||
#include "program.h"
|
#include "program.h"
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
|
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
#include "libeditfrm.h"
|
||||||
|
|
||||||
|
|
||||||
extern int CurrentUnit;
|
extern int CurrentUnit;
|
||||||
|
@ -38,7 +38,7 @@ void WinEDA_LibeditFrame::OnEditComponentProperties( wxCommandEvent& event )
|
||||||
|
|
||||||
void WinEDA_LibeditFrame::EditComponentProperties()
|
void WinEDA_LibeditFrame::EditComponentProperties()
|
||||||
{
|
{
|
||||||
wxASSERT( CurrentLibEntry != NULL && CurrentLib != NULL );
|
wxASSERT( m_currentComponent != NULL && CurrentLib != NULL );
|
||||||
|
|
||||||
DIALOG_EDIT_COMPONENT_IN_LIBRARY dlg( this );
|
DIALOG_EDIT_COMPONENT_IN_LIBRARY dlg( this );
|
||||||
|
|
||||||
|
@ -48,8 +48,9 @@ void WinEDA_LibeditFrame::EditComponentProperties()
|
||||||
UpdateAliasSelectList();
|
UpdateAliasSelectList();
|
||||||
UpdatePartSelectList();
|
UpdatePartSelectList();
|
||||||
DisplayLibInfos();
|
DisplayLibInfos();
|
||||||
|
DisplayCmpDoc();
|
||||||
GetScreen()->SetModify();
|
GetScreen()->SetModify();
|
||||||
SaveCopyInUndoList( CurrentLibEntry );
|
SaveCopyInUndoList( m_currentComponent );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -57,13 +58,14 @@ void WinEDA_LibeditFrame::EditComponentProperties()
|
||||||
void DIALOG_EDIT_COMPONENT_IN_LIBRARY::InitPanelDoc()
|
void DIALOG_EDIT_COMPONENT_IN_LIBRARY::InitPanelDoc()
|
||||||
{
|
{
|
||||||
CMP_LIB_ENTRY* entry;
|
CMP_LIB_ENTRY* entry;
|
||||||
|
LIB_COMPONENT* component = m_Parent->GetCurrentComponent();
|
||||||
|
|
||||||
if( CurrentLibEntry == NULL )
|
if( component == NULL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if( CurrentAliasName.IsEmpty() )
|
if( CurrentAliasName.IsEmpty() )
|
||||||
{
|
{
|
||||||
entry = CurrentLibEntry;
|
entry = component;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -84,51 +86,31 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::InitPanelDoc()
|
||||||
*/
|
*/
|
||||||
void DIALOG_EDIT_COMPONENT_IN_LIBRARY::InitBasicPanel()
|
void DIALOG_EDIT_COMPONENT_IN_LIBRARY::InitBasicPanel()
|
||||||
{
|
{
|
||||||
|
LIB_COMPONENT* component = m_Parent->GetCurrentComponent();
|
||||||
|
|
||||||
if( g_AsDeMorgan )
|
if( g_AsDeMorgan )
|
||||||
m_AsConvertButt->SetValue( TRUE );
|
m_AsConvertButt->SetValue( true );
|
||||||
if( CurrentLibEntry )
|
|
||||||
|
/* Default values for a new component. */
|
||||||
|
if( component == NULL )
|
||||||
{
|
{
|
||||||
if( CurrentLibEntry->m_DrawPinNum )
|
m_ShowPinNumButt->SetValue( true );
|
||||||
m_ShowPinNumButt->SetValue( TRUE );
|
m_ShowPinNameButt->SetValue( true );
|
||||||
|
m_PinsNameInsideButt->SetValue( true );
|
||||||
|
m_SelNumberOfUnits->SetValue( 1 );
|
||||||
|
m_SetSkew->SetValue( 40 );
|
||||||
|
m_OptionPower->SetValue( false );
|
||||||
|
m_OptionPartsLocked->SetValue( false );
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
m_ShowPinNumButt->SetValue( TRUE );
|
|
||||||
|
|
||||||
if( CurrentLibEntry )
|
m_ShowPinNumButt->SetValue( component->m_DrawPinNum );
|
||||||
{
|
m_ShowPinNameButt->SetValue( component->m_DrawPinName );
|
||||||
if( CurrentLibEntry->m_DrawPinName )
|
m_PinsNameInsideButt->SetValue( component->m_TextInside != 0 );
|
||||||
m_ShowPinNameButt->SetValue( TRUE );
|
m_SelNumberOfUnits->SetValue( component->m_UnitCount );
|
||||||
}
|
m_SetSkew->SetValue( component->m_TextInside );
|
||||||
else
|
m_OptionPower->SetValue( component->m_Options == ENTRY_POWER );
|
||||||
m_ShowPinNameButt->SetValue( TRUE );
|
m_OptionPartsLocked->SetValue( component->m_UnitSelectionLocked );
|
||||||
|
|
||||||
|
|
||||||
if( CurrentLibEntry )
|
|
||||||
{
|
|
||||||
if( CurrentLibEntry->m_TextInside )
|
|
||||||
m_PinsNameInsideButt->SetValue( TRUE );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
m_PinsNameInsideButt->SetValue( TRUE );
|
|
||||||
|
|
||||||
int number, number_of_units;
|
|
||||||
if( CurrentLibEntry )
|
|
||||||
number_of_units = CurrentLibEntry->m_UnitCount;
|
|
||||||
else
|
|
||||||
number_of_units = 1;
|
|
||||||
m_SelNumberOfUnits->SetValue( number_of_units );
|
|
||||||
|
|
||||||
if( CurrentLibEntry && CurrentLibEntry->m_TextInside )
|
|
||||||
number = CurrentLibEntry->m_TextInside;
|
|
||||||
else
|
|
||||||
number = 40;
|
|
||||||
m_SetSkew->SetValue( number );
|
|
||||||
|
|
||||||
if( CurrentLibEntry && CurrentLibEntry->m_Options == ENTRY_POWER )
|
|
||||||
m_OptionPower->SetValue( TRUE );
|
|
||||||
|
|
||||||
if( CurrentLibEntry && CurrentLibEntry->m_UnitSelectionLocked )
|
|
||||||
m_OptionPartsLocked->SetValue( TRUE );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -139,10 +121,11 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::OnOkClick( wxCommandEvent& event )
|
||||||
size_t i;
|
size_t i;
|
||||||
int index;
|
int index;
|
||||||
CMP_LIB_ENTRY* entry;
|
CMP_LIB_ENTRY* entry;
|
||||||
|
LIB_COMPONENT* component = m_Parent->GetCurrentComponent();
|
||||||
|
|
||||||
if( CurrentAliasName.IsEmpty() )
|
if( CurrentAliasName.IsEmpty() )
|
||||||
{
|
{
|
||||||
entry = CurrentLibEntry;
|
entry = (CMP_LIB_ENTRY*) component;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -152,9 +135,10 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::OnOkClick( wxCommandEvent& event )
|
||||||
if( entry == NULL )
|
if( entry == NULL )
|
||||||
{
|
{
|
||||||
wxString msg;
|
wxString msg;
|
||||||
msg.Printf( _( "Alias <%s> not found for component <%s> in library <%s>." ),
|
msg.Printf( _( "Alias <%s> not found for component <%s> in library \
|
||||||
|
<%s>." ),
|
||||||
(const wxChar*) CurrentAliasName,
|
(const wxChar*) CurrentAliasName,
|
||||||
(const wxChar*) CurrentLibEntry->GetName(),
|
(const wxChar*) component->GetName(),
|
||||||
(const wxChar*) CurrentLib->GetName() );
|
(const wxChar*) CurrentLib->GetName() );
|
||||||
wxMessageBox( msg, _( "Component Library Error" ),
|
wxMessageBox( msg, _( "Component Library Error" ),
|
||||||
wxID_OK | wxICON_ERROR, this );
|
wxID_OK | wxICON_ERROR, this );
|
||||||
|
@ -166,7 +150,7 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::OnOkClick( wxCommandEvent& event )
|
||||||
entry->m_DocFile = m_Docfile->GetValue();
|
entry->m_DocFile = m_Docfile->GetValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
if( m_PartAliasList->GetStrings() != CurrentLibEntry->m_AliasList )
|
if( m_PartAliasList->GetStrings() != component->m_AliasList )
|
||||||
{
|
{
|
||||||
LIB_ALIAS* alias;
|
LIB_ALIAS* alias;
|
||||||
wxArrayString aliases = m_PartAliasList->GetStrings();
|
wxArrayString aliases = m_PartAliasList->GetStrings();
|
||||||
|
@ -174,12 +158,12 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::OnOkClick( wxCommandEvent& event )
|
||||||
/* Add names not existing in the old alias list. */
|
/* Add names not existing in the old alias list. */
|
||||||
for( i = 0; i < aliases.GetCount(); i++ )
|
for( i = 0; i < aliases.GetCount(); i++ )
|
||||||
{
|
{
|
||||||
index = CurrentLibEntry->m_AliasList.Index( aliases[ i ], false );
|
index = component->m_AliasList.Index( aliases[ i ], false );
|
||||||
|
|
||||||
if( index != wxNOT_FOUND )
|
if( index != wxNOT_FOUND )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
alias = new LIB_ALIAS( aliases[ i ], CurrentLibEntry );
|
alias = new LIB_ALIAS( aliases[ i ], component );
|
||||||
|
|
||||||
if( !CurrentLib->AddAlias( alias ) )
|
if( !CurrentLib->AddAlias( alias ) )
|
||||||
{
|
{
|
||||||
|
@ -189,20 +173,20 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::OnOkClick( wxCommandEvent& event )
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Remove names and library alias entries not in the new alias list. */
|
/* Remove names and library alias entries not in the new alias list. */
|
||||||
for( i = 0; CurrentLibEntry->m_AliasList.GetCount(); i++ )
|
for( i = 0; component->m_AliasList.GetCount(); i++ )
|
||||||
{
|
{
|
||||||
index = aliases.Index( CurrentLibEntry->m_AliasList[ i ], false );
|
index = aliases.Index( component->m_AliasList[ i ], false );
|
||||||
|
|
||||||
if( index == wxNOT_FOUND )
|
if( index == wxNOT_FOUND )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
CMP_LIB_ENTRY* alias =
|
CMP_LIB_ENTRY* alias =
|
||||||
CurrentLib->FindAlias( CurrentLibEntry->m_AliasList[ i ] );
|
CurrentLib->FindAlias( component->m_AliasList[ i ] );
|
||||||
if( alias != NULL )
|
if( alias != NULL )
|
||||||
CurrentLib->RemoveEntry( alias );
|
CurrentLib->RemoveEntry( alias );
|
||||||
}
|
}
|
||||||
|
|
||||||
CurrentLibEntry->m_AliasList = aliases;
|
component->m_AliasList = aliases;
|
||||||
}
|
}
|
||||||
|
|
||||||
index = m_SelNumberOfUnits->GetValue();
|
index = m_SelNumberOfUnits->GetValue();
|
||||||
|
@ -225,28 +209,28 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::OnOkClick( wxCommandEvent& event )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CurrentLibEntry->m_DrawPinNum = m_ShowPinNumButt->GetValue() ? 1 : 0;
|
component->m_DrawPinNum = m_ShowPinNumButt->GetValue() ? 1 : 0;
|
||||||
CurrentLibEntry->m_DrawPinName = m_ShowPinNameButt->GetValue() ? 1 : 0;
|
component->m_DrawPinName = m_ShowPinNameButt->GetValue() ? 1 : 0;
|
||||||
|
|
||||||
if( m_PinsNameInsideButt->GetValue() == FALSE )
|
if( m_PinsNameInsideButt->GetValue() == FALSE )
|
||||||
CurrentLibEntry->m_TextInside = 0;
|
component->m_TextInside = 0;
|
||||||
else
|
else
|
||||||
CurrentLibEntry->m_TextInside = m_SetSkew->GetValue();
|
component->m_TextInside = m_SetSkew->GetValue();
|
||||||
|
|
||||||
if( m_OptionPower->GetValue() == TRUE )
|
if( m_OptionPower->GetValue() == TRUE )
|
||||||
CurrentLibEntry->m_Options = ENTRY_POWER;
|
component->m_Options = ENTRY_POWER;
|
||||||
else
|
else
|
||||||
CurrentLibEntry->m_Options = ENTRY_NORMAL;
|
component->m_Options = ENTRY_NORMAL;
|
||||||
|
|
||||||
/* Set the option "Units locked".
|
/* Set the option "Units locked".
|
||||||
* Obviously, cannot be TRUE if there is only one part */
|
* Obviously, cannot be TRUE if there is only one part */
|
||||||
CurrentLibEntry->m_UnitSelectionLocked = m_OptionPartsLocked->GetValue();
|
component->m_UnitSelectionLocked = m_OptionPartsLocked->GetValue();
|
||||||
if( CurrentLibEntry->m_UnitCount <= 1 )
|
if( component->m_UnitCount <= 1 )
|
||||||
CurrentLibEntry->m_UnitSelectionLocked = FALSE;
|
component->m_UnitSelectionLocked = FALSE;
|
||||||
|
|
||||||
/* Update the footprint filter list */
|
/* Update the footprint filter list */
|
||||||
CurrentLibEntry->m_FootprintList.Clear();
|
component->m_FootprintList.Clear();
|
||||||
CurrentLibEntry->m_FootprintList = m_FootprintFilterListBox->GetStrings();
|
component->m_FootprintList = m_FootprintFilterListBox->GetStrings();
|
||||||
|
|
||||||
EndModal( wxID_OK );
|
EndModal( wxID_OK );
|
||||||
}
|
}
|
||||||
|
@ -256,12 +240,14 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::OnOkClick( wxCommandEvent& event )
|
||||||
void DIALOG_EDIT_COMPONENT_IN_LIBRARY::CopyDocToAlias( wxCommandEvent& WXUNUSED (event) )
|
void DIALOG_EDIT_COMPONENT_IN_LIBRARY::CopyDocToAlias( wxCommandEvent& WXUNUSED (event) )
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
{
|
{
|
||||||
if( CurrentLibEntry == NULL || CurrentAliasName.IsEmpty() )
|
LIB_COMPONENT* component = m_Parent->GetCurrentComponent();
|
||||||
|
|
||||||
|
if( component == NULL || CurrentAliasName.IsEmpty() )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
m_Doc->SetValue( CurrentLibEntry->m_Doc );
|
m_Doc->SetValue( component->m_Doc );
|
||||||
m_Docfile->SetValue( CurrentLibEntry->m_DocFile );
|
m_Docfile->SetValue( component->m_DocFile );
|
||||||
m_Keywords->SetValue( CurrentLibEntry->m_KeyWord );
|
m_Keywords->SetValue( component->m_KeyWord );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -301,8 +287,9 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::AddAliasOfPart( wxCommandEvent& WXUNUSED
|
||||||
{
|
{
|
||||||
wxString Line;
|
wxString Line;
|
||||||
wxString aliasname;
|
wxString aliasname;
|
||||||
|
LIB_COMPONENT* component = m_Parent->GetCurrentComponent();
|
||||||
|
|
||||||
if( CurrentLibEntry == NULL )
|
if( component == NULL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if( Get_Message( _( "New alias:" ), _( "Component Alias" ), Line, this ) != 0 )
|
if( Get_Message( _( "New alias:" ), _( "Component Alias" ), Line, this ) != 0 )
|
||||||
|
@ -367,25 +354,26 @@ bool DIALOG_EDIT_COMPONENT_IN_LIBRARY::ChangeNbUnitsPerPackage( int MaxUnit )
|
||||||
{
|
{
|
||||||
int OldNumUnits, ii, FlagDel = -1;
|
int OldNumUnits, ii, FlagDel = -1;
|
||||||
LibEDA_BaseStruct* DrawItem, * NextDrawItem;
|
LibEDA_BaseStruct* DrawItem, * NextDrawItem;
|
||||||
|
LIB_COMPONENT* component = m_Parent->GetCurrentComponent();
|
||||||
|
|
||||||
if( CurrentLibEntry == NULL )
|
if( component == NULL )
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
/* Si pas de changement: termine */
|
/* Si pas de changement: termine */
|
||||||
if( CurrentLibEntry->m_UnitCount == MaxUnit )
|
if( component->m_UnitCount == MaxUnit )
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
OldNumUnits = CurrentLibEntry->m_UnitCount;
|
OldNumUnits = component->m_UnitCount;
|
||||||
if( OldNumUnits < 1 )
|
if( OldNumUnits < 1 )
|
||||||
OldNumUnits = 1;
|
OldNumUnits = 1;
|
||||||
|
|
||||||
CurrentLibEntry->m_UnitCount = MaxUnit;
|
component->m_UnitCount = MaxUnit;
|
||||||
|
|
||||||
|
|
||||||
/* Traitement des unites enlevees ou rajoutees */
|
/* Traitement des unites enlevees ou rajoutees */
|
||||||
if( OldNumUnits > CurrentLibEntry->m_UnitCount )
|
if( OldNumUnits > component->m_UnitCount )
|
||||||
{
|
{
|
||||||
DrawItem = CurrentLibEntry->m_Drawings;
|
DrawItem = component->m_Drawings;
|
||||||
for( ; DrawItem != NULL; DrawItem = NextDrawItem )
|
for( ; DrawItem != NULL; DrawItem = NextDrawItem )
|
||||||
{
|
{
|
||||||
NextDrawItem = DrawItem->Next();
|
NextDrawItem = DrawItem->Next();
|
||||||
|
@ -404,21 +392,21 @@ bool DIALOG_EDIT_COMPONENT_IN_LIBRARY::ChangeNbUnitsPerPackage( int MaxUnit )
|
||||||
{
|
{
|
||||||
FlagDel = 0;
|
FlagDel = 0;
|
||||||
MaxUnit = OldNumUnits;
|
MaxUnit = OldNumUnits;
|
||||||
CurrentLibEntry->m_UnitCount = MaxUnit;
|
component->m_UnitCount = MaxUnit;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CurrentLibEntry->RemoveDrawItem( DrawItem );
|
component->RemoveDrawItem( DrawItem );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( OldNumUnits < CurrentLibEntry->m_UnitCount )
|
if( OldNumUnits < component->m_UnitCount )
|
||||||
{
|
{
|
||||||
DrawItem = CurrentLibEntry->m_Drawings;
|
DrawItem = component->m_Drawings;
|
||||||
for( ; DrawItem != NULL; DrawItem = DrawItem->Next() )
|
for( ; DrawItem != NULL; DrawItem = DrawItem->Next() )
|
||||||
{
|
{
|
||||||
/* Duplication des items pour autres elements */
|
/* Duplication des items pour autres elements */
|
||||||
|
@ -427,8 +415,8 @@ bool DIALOG_EDIT_COMPONENT_IN_LIBRARY::ChangeNbUnitsPerPackage( int MaxUnit )
|
||||||
for( ii = OldNumUnits + 1; ii <= MaxUnit; ii++ )
|
for( ii = OldNumUnits + 1; ii <= MaxUnit; ii++ )
|
||||||
{
|
{
|
||||||
NextDrawItem = DrawItem->GenCopy();
|
NextDrawItem = DrawItem->GenCopy();
|
||||||
NextDrawItem->SetNext( CurrentLibEntry->m_Drawings );
|
NextDrawItem->SetNext( component->m_Drawings );
|
||||||
CurrentLibEntry->m_Drawings = NextDrawItem;
|
component->m_Drawings = NextDrawItem;
|
||||||
NextDrawItem->m_Unit = ii;
|
NextDrawItem->m_Unit = ii;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -448,12 +436,13 @@ bool DIALOG_EDIT_COMPONENT_IN_LIBRARY::SetUnsetConvert()
|
||||||
{
|
{
|
||||||
int FlagDel = 0;
|
int FlagDel = 0;
|
||||||
LibEDA_BaseStruct* DrawItem = NULL, * NextDrawItem;
|
LibEDA_BaseStruct* DrawItem = NULL, * NextDrawItem;
|
||||||
|
LIB_COMPONENT* component = m_Parent->GetCurrentComponent();
|
||||||
|
|
||||||
if( g_AsDeMorgan ) /* Representation convertie a creer */
|
if( g_AsDeMorgan ) /* Representation convertie a creer */
|
||||||
{
|
{
|
||||||
/* Traitement des elements a ajouter ( pins seulement ) */
|
/* Traitement des elements a ajouter ( pins seulement ) */
|
||||||
if( CurrentLibEntry )
|
if( component )
|
||||||
DrawItem = CurrentLibEntry->m_Drawings;
|
DrawItem = component->m_Drawings;
|
||||||
for( ; DrawItem != NULL; DrawItem = DrawItem->Next() )
|
for( ; DrawItem != NULL; DrawItem = DrawItem->Next() )
|
||||||
{
|
{
|
||||||
/* Duplication des items pour autres elements */
|
/* Duplication des items pour autres elements */
|
||||||
|
@ -474,8 +463,8 @@ bool DIALOG_EDIT_COMPONENT_IN_LIBRARY::SetUnsetConvert()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
NextDrawItem = DrawItem->GenCopy();
|
NextDrawItem = DrawItem->GenCopy();
|
||||||
NextDrawItem->SetNext( CurrentLibEntry->m_Drawings );
|
NextDrawItem->SetNext( component->m_Drawings );
|
||||||
CurrentLibEntry->m_Drawings = NextDrawItem;
|
component->m_Drawings = NextDrawItem;
|
||||||
NextDrawItem->m_Convert = 2;
|
NextDrawItem->m_Convert = 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -483,8 +472,8 @@ bool DIALOG_EDIT_COMPONENT_IN_LIBRARY::SetUnsetConvert()
|
||||||
else /* Representation convertie a supprimer */
|
else /* Representation convertie a supprimer */
|
||||||
{
|
{
|
||||||
/* Traitement des elements <20> supprimer */
|
/* Traitement des elements <20> supprimer */
|
||||||
if( CurrentLibEntry )
|
if( component )
|
||||||
DrawItem = CurrentLibEntry->m_Drawings;
|
DrawItem = component->m_Drawings;
|
||||||
for( ; DrawItem != NULL; DrawItem = NextDrawItem )
|
for( ; DrawItem != NULL; DrawItem = NextDrawItem )
|
||||||
{
|
{
|
||||||
NextDrawItem = DrawItem->Next();
|
NextDrawItem = DrawItem->Next();
|
||||||
|
@ -505,7 +494,7 @@ bool DIALOG_EDIT_COMPONENT_IN_LIBRARY::SetUnsetConvert()
|
||||||
}
|
}
|
||||||
|
|
||||||
m_Parent->GetScreen()->SetModify();
|
m_Parent->GetScreen()->SetModify();
|
||||||
CurrentLibEntry->RemoveDrawItem( DrawItem );
|
component->RemoveDrawItem( DrawItem );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -572,8 +561,9 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::AddFootprintFilter( wxCommandEvent& WXUNU
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
wxString Line;
|
wxString Line;
|
||||||
|
LIB_COMPONENT* component = m_Parent->GetCurrentComponent();
|
||||||
|
|
||||||
if( CurrentLibEntry == NULL )
|
if( component == NULL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if( Get_Message( _( "Add Footprint Filter" ), _( "Footprint Filter" ),
|
if( Get_Message( _( "Add Footprint Filter" ), _( "Footprint Filter" ),
|
||||||
|
@ -606,11 +596,12 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::DeleteOneFootprintFilter(
|
||||||
wxCommandEvent& WXUNUSED (event) )
|
wxCommandEvent& WXUNUSED (event) )
|
||||||
/********************************************************/
|
/********************************************************/
|
||||||
{
|
{
|
||||||
|
LIB_COMPONENT* component = m_Parent->GetCurrentComponent();
|
||||||
int ii = m_FootprintFilterListBox->GetSelection();
|
int ii = m_FootprintFilterListBox->GetSelection();
|
||||||
|
|
||||||
m_FootprintFilterListBox->Delete( ii );
|
m_FootprintFilterListBox->Delete( ii );
|
||||||
|
|
||||||
if( !CurrentLibEntry || (m_FootprintFilterListBox->GetCount() == 0) )
|
if( !component || (m_FootprintFilterListBox->GetCount() == 0) )
|
||||||
{
|
{
|
||||||
m_ButtonDeleteAllFootprintFilter->Enable( FALSE );
|
m_ButtonDeleteAllFootprintFilter->Enable( FALSE );
|
||||||
m_ButtonDeleteOneFootprintFilter->Enable( FALSE );
|
m_ButtonDeleteOneFootprintFilter->Enable( FALSE );
|
||||||
|
|
|
@ -15,11 +15,11 @@
|
||||||
#include "program.h"
|
#include "program.h"
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
|
#include "protos.h"
|
||||||
|
#include "libeditfrm.h"
|
||||||
|
|
||||||
#include "dialog_bodygraphictext_properties_base.h"
|
#include "dialog_bodygraphictext_properties_base.h"
|
||||||
|
|
||||||
#include "protos.h"
|
|
||||||
|
|
||||||
|
|
||||||
class Dialog_BodyGraphicText_Properties : public Dialog_BodyGraphicText_Properties_base
|
class Dialog_BodyGraphicText_Properties : public Dialog_BodyGraphicText_Properties_base
|
||||||
{
|
{
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#include "appl_wxstruct.h"
|
#include "appl_wxstruct.h"
|
||||||
#include "gr_basic.h"
|
#include "gr_basic.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "id.h"
|
#include "eeschema_id.h"
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
#include "gestfich.h"
|
#include "gestfich.h"
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "gr_basic.h"
|
#include "gr_basic.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "id.h"
|
#include "eeschema_id.h"
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
|
|
||||||
#include "program.h"
|
#include "program.h"
|
||||||
|
|
|
@ -102,7 +102,6 @@ LibEDA_BaseStruct* LibItemToRepeat = NULL; /* pointer on a graphic item than
|
||||||
* can be duplicated by the Ins key
|
* can be duplicated by the Ins key
|
||||||
* (usually the last created item */
|
* (usually the last created item */
|
||||||
CMP_LIBRARY* CurrentLib = NULL; /* Current opened library */
|
CMP_LIBRARY* CurrentLib = NULL; /* Current opened library */
|
||||||
LIB_COMPONENT* CurrentLibEntry = NULL; /* Current component */
|
|
||||||
LibEDA_BaseStruct* CurrentDrawItem = NULL; /* current edited item */
|
LibEDA_BaseStruct* CurrentDrawItem = NULL; /* current edited item */
|
||||||
|
|
||||||
// Current selected alias (for components which have aliases)
|
// Current selected alias (for components which have aliases)
|
||||||
|
|
|
@ -0,0 +1,196 @@
|
||||||
|
#ifndef __EESCHEMA_ID_H__
|
||||||
|
#define __EESCHEMA_ID_H__
|
||||||
|
|
||||||
|
|
||||||
|
#include "id.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Command IDs for the schematic editor.
|
||||||
|
*
|
||||||
|
* Please add IDs that are unique to the schematic editor (EESchema) here and
|
||||||
|
* not in the global id.h file. This will prevent the entire project from
|
||||||
|
* being rebuilt when adding new command to EESchema.
|
||||||
|
*/
|
||||||
|
|
||||||
|
enum id_eeschema_frm
|
||||||
|
{
|
||||||
|
/* Schecmatic editor horizontal toolbar IDs */
|
||||||
|
ID_SCHEMATIC_UNDO = ID_END_LIST,
|
||||||
|
ID_SCHEMATIC_REDO,
|
||||||
|
ID_HIERARCHY,
|
||||||
|
ID_TO_LIBVIEW,
|
||||||
|
ID_GET_ANNOTATE,
|
||||||
|
ID_GET_ERC,
|
||||||
|
ID_BACKANNO_ITEMS,
|
||||||
|
|
||||||
|
/* Schematic editor veritcal toolbar IDs */
|
||||||
|
ID_SCHEMATIC_VERTICAL_TOOLBAR_START,
|
||||||
|
ID_HIERARCHY_PUSH_POP_BUTT,
|
||||||
|
ID_PLACE_POWER_BUTT,
|
||||||
|
ID_BUS_BUTT,
|
||||||
|
ID_WIRE_BUTT,
|
||||||
|
ID_BUSTOBUS_ENTRY_BUTT,
|
||||||
|
ID_WIRETOBUS_ENTRY_BUTT,
|
||||||
|
ID_LABEL_BUTT,
|
||||||
|
ID_GLABEL_BUTT,
|
||||||
|
ID_HIERLABEL_BUTT,
|
||||||
|
ID_IMPORT_HLABEL_BUTT,
|
||||||
|
ID_SHEET_LABEL_BUTT,
|
||||||
|
ID_NOCONN_BUTT,
|
||||||
|
ID_JUNCTION_BUTT,
|
||||||
|
ID_SHEET_SYMBOL_BUTT,
|
||||||
|
ID_TEXT_COMMENT_BUTT,
|
||||||
|
ID_LINE_COMMENT_BUTT,
|
||||||
|
ID_SCHEMATIC_DELETE_ITEM_BUTT,
|
||||||
|
ID_SCHEMATIC_VERTICAL_TOOLBAR_END,
|
||||||
|
|
||||||
|
/* Schematic editor context menu IDs. */
|
||||||
|
ID_POPUP_START_RANGE,
|
||||||
|
ID_POPUP_SCH_DELETE,
|
||||||
|
ID_POPUP_SCH_BREAK_WIRE,
|
||||||
|
ID_POPUP_SCH_DELETE_CONNECTION,
|
||||||
|
ID_POPUP_SCH_MOVE_ITEM_REQUEST,
|
||||||
|
ID_POPUP_SCH_DELETE_NODE,
|
||||||
|
ID_POPUP_SCH_MOVE_CMP_REQUEST,
|
||||||
|
ID_POPUP_SCH_DELETE_CMP,
|
||||||
|
ID_POPUP_SCH_DRAG_CMP_REQUEST,
|
||||||
|
ID_POPUP_SCH_DRAG_WIRE_REQUEST,
|
||||||
|
ID_POPUP_SCH_UNUSED_2,
|
||||||
|
ID_POPUP_SCH_ENTRY_SELECT_SLASH,
|
||||||
|
ID_POPUP_SCH_ENTRY_SELECT_ANTISLASH,
|
||||||
|
|
||||||
|
ID_POPUP_SCH_EDIT_CMP,
|
||||||
|
ID_POPUP_SCH_MIROR_X_CMP,
|
||||||
|
ID_POPUP_SCH_MIROR_Y_CMP,
|
||||||
|
ID_POPUP_SCH_ROTATE_CMP_CLOCKWISE,
|
||||||
|
ID_POPUP_SCH_ROTATE_CMP_COUNTERCLOCKWISE,
|
||||||
|
ID_POPUP_SCH_ORIENT_NORMAL_CMP,
|
||||||
|
ID_POPUP_SCH_INIT_CMP,
|
||||||
|
|
||||||
|
ID_POPUP_SCH_EDIT_TEXT,
|
||||||
|
ID_POPUP_SCH_ROTATE_TEXT,
|
||||||
|
ID_POPUP_SCH_SET_SHAPE_TEXT,
|
||||||
|
ID_POPUP_END_LINE,
|
||||||
|
ID_POPUP_SCH_END_SHEET,
|
||||||
|
ID_POPUP_SCH_EDIT_SHEET,
|
||||||
|
ID_POPUP_SCH_RESIZE_SHEET,
|
||||||
|
ID_POPUP_SCH_CLEANUP_SHEET,
|
||||||
|
ID_POPUP_SCH_EDIT_PINSHEET,
|
||||||
|
ID_POPUP_SCH_MOVE_PINSHEET,
|
||||||
|
ID_POPUP_IMPORT_GLABEL,
|
||||||
|
ID_POPUP_SCH_GENERIC_ORIENT_CMP,
|
||||||
|
ID_POPUP_SCH_GENERIC_EDIT_CMP,
|
||||||
|
ID_POPUP_SCH_EDIT_VALUE_CMP,
|
||||||
|
ID_POPUP_SCH_EDIT_REF_CMP,
|
||||||
|
ID_POPUP_SCH_EDIT_FOOTPRINT_CMP,
|
||||||
|
ID_POPUP_SCH_EDIT_CONVERT_CMP,
|
||||||
|
ID_POPUP_SCH_COPY_COMPONENT_CMP,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT_CMP,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT1,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT2,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT3,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT4,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT5,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT6,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT7,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT8,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT9,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT10,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT11,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT12,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT13,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT14,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT15,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT16,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT17,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT18,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT19,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT20,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT21,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT22,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT23,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT24,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT25,
|
||||||
|
ID_POPUP_SCH_SELECT_UNIT26,
|
||||||
|
ID_POPUP_SCH_ROTATE_FIELD,
|
||||||
|
ID_POPUP_SCH_EDIT_FIELD,
|
||||||
|
ID_POPUP_SCH_CHANGE_TYPE_TEXT,
|
||||||
|
ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_LABEL,
|
||||||
|
ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_GLABEL,
|
||||||
|
ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_COMMENT,
|
||||||
|
ID_POPUP_SCH_DISPLAYDOC_CMP,
|
||||||
|
ID_POPUP_SCH_ENTER_SHEET,
|
||||||
|
ID_POPUP_SCH_LEAVE_SHEET,
|
||||||
|
ID_POPUP_SCH_ADD_JUNCTION,
|
||||||
|
ID_POPUP_SCH_ADD_LABEL,
|
||||||
|
ID_POPUP_SCH_ADD_GLABEL,
|
||||||
|
ID_POPUP_SCH_CHANGE_TYPE_TEXT_TO_HLABEL,
|
||||||
|
ID_POPUP_SCH_GETINFO_MARKER,
|
||||||
|
ID_POPUP_END_RANGE,
|
||||||
|
|
||||||
|
/* Library editor horizontal toolbar IDs. */
|
||||||
|
ID_LIBEDIT_SELECT_PART,
|
||||||
|
ID_LIBEDIT_SELECT_CURRENT_LIB,
|
||||||
|
ID_LIBEDIT_SAVE_CURRENT_LIB,
|
||||||
|
ID_LIBEDIT_SAVE_CURRENT_PART,
|
||||||
|
ID_LIBEDIT_NEW_PART,
|
||||||
|
ID_LIBEDIT_GET_FRAME_EDIT_PART,
|
||||||
|
ID_LIBEDIT_GET_FRAME_EDIT_FIELDS,
|
||||||
|
ID_LIBEDIT_DELETE_PART,
|
||||||
|
ID_LIBEDIT_UNDO,
|
||||||
|
ID_LIBEDIT_REDO,
|
||||||
|
ID_DE_MORGAN_NORMAL_BUTT,
|
||||||
|
ID_DE_MORGAN_CONVERT_BUTT,
|
||||||
|
ID_LIBEDIT_EDIT_PIN_BY_PIN,
|
||||||
|
ID_LIBEDIT_VIEW_DOC,
|
||||||
|
ID_LIBEDIT_CHECK_PART,
|
||||||
|
|
||||||
|
ID_LIBEDIT_SELECT_PART_NUMBER,
|
||||||
|
ID_LIBEDIT_SELECT_ALIAS,
|
||||||
|
|
||||||
|
/* Library editor vertical toolbar IDs. */
|
||||||
|
ID_LIBEDIT_PIN_BUTT,
|
||||||
|
ID_LIBEDIT_BODY_LINE_BUTT,
|
||||||
|
ID_LIBEDIT_BODY_ARC_BUTT,
|
||||||
|
ID_LIBEDIT_BODY_CIRCLE_BUTT,
|
||||||
|
ID_LIBEDIT_BODY_RECT_BUTT,
|
||||||
|
ID_LIBEDIT_BODY_TEXT_BUTT,
|
||||||
|
ID_LIBEDIT_DELETE_ITEM_BUTT,
|
||||||
|
ID_LIBEDIT_ANCHOR_ITEM_BUTT,
|
||||||
|
ID_LIBEDIT_IMPORT_BODY_BUTT,
|
||||||
|
ID_LIBEDIT_EXPORT_BODY_BUTT,
|
||||||
|
|
||||||
|
/* Library editor context menu IDs */
|
||||||
|
ID_POPUP_LIBEDIT_PIN_EDIT,
|
||||||
|
ID_POPUP_LIBEDIT_PIN_GLOBAL_CHANGE_ITEM,
|
||||||
|
ID_POPUP_LIBEDIT_PIN_GLOBAL_CHANGE_PINSIZE_ITEM,
|
||||||
|
ID_POPUP_LIBEDIT_PIN_GLOBAL_CHANGE_PINNAMESIZE_ITEM,
|
||||||
|
ID_POPUP_LIBEDIT_PIN_GLOBAL_CHANGE_PINNUMSIZE_ITEM,
|
||||||
|
ID_POPUP_LIBEDIT_BODY_EDIT_ITEM,
|
||||||
|
ID_POPUP_LIBEDIT_DELETE_ITEM,
|
||||||
|
ID_POPUP_LIBEDIT_END_CREATE_ITEM,
|
||||||
|
ID_POPUP_LIBEDIT_CANCEL_EDITING,
|
||||||
|
ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST,
|
||||||
|
ID_POPUP_LIBEDIT_FIELD_EDIT_ITEM,
|
||||||
|
ID_POPUP_LIBEDIT_FIELD_ROTATE_ITEM,
|
||||||
|
ID_POPUP_LIBEDIT_DELETE_CURRENT_POLY_SEGMENT,
|
||||||
|
ID_POPUP_LIBEDIT_ROTATE_GRAPHIC_TEXT,
|
||||||
|
|
||||||
|
/* Library viewer horizontal toolbar IDs */
|
||||||
|
ID_LIBVIEW_NEXT,
|
||||||
|
ID_LIBVIEW_PREVIOUS,
|
||||||
|
ID_LIBVIEW_SELECT_PART,
|
||||||
|
ID_LIBVIEW_SELECT_LIB,
|
||||||
|
ID_LIBVIEW_VIEWDOC,
|
||||||
|
ID_LIBVIEW_DE_MORGAN_NORMAL_BUTT,
|
||||||
|
ID_LIBVIEW_DE_MORGAN_CONVERT_BUTT,
|
||||||
|
ID_LIBVIEW_SELECT_PART_NUMBER,
|
||||||
|
ID_LIBVIEW_LIB_LIST,
|
||||||
|
ID_LIBVIEW_CMP_LIST,
|
||||||
|
ID_LIBVIEW_LIBWINDOW,
|
||||||
|
ID_LIBVIEW_CMPWINDOW,
|
||||||
|
ID_LIBVIEW_CMP_EXPORT_TO_SCHEMATIC
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* __EESCHEMA_ID_H__ */
|
|
@ -12,7 +12,7 @@
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
|
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "id.h"
|
#include "eeschema_id.h"
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************/
|
/****************************************************************/
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_library.h"
|
#include "class_library.h"
|
||||||
|
#include "libviewfrm.h"
|
||||||
|
|
||||||
#include <boost/foreach.hpp>
|
#include <boost/foreach.hpp>
|
||||||
|
|
||||||
|
|
|
@ -3,17 +3,15 @@
|
||||||
/***************/
|
/***************/
|
||||||
|
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
#include "eeschema_id.h"
|
||||||
|
#include "hotkeys.h"
|
||||||
|
|
||||||
#include "program.h"
|
#include "program.h"
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
|
|
||||||
#include "id.h"
|
|
||||||
|
|
||||||
#include "hotkeys.h"
|
|
||||||
|
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
#include "libeditfrm.h"
|
||||||
|
|
||||||
/* How to add a new hotkey:
|
/* How to add a new hotkey:
|
||||||
* add a new id in the enum hotkey_id_commnand like MY_NEW_ID_FUNCTION (see
|
* add a new id in the enum hotkey_id_commnand like MY_NEW_ID_FUNCTION (see
|
||||||
|
|
|
@ -13,12 +13,13 @@
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
#include "gestfich.h"
|
#include "gestfich.h"
|
||||||
#include "id.h"
|
#include "eeschema_id.h"
|
||||||
|
|
||||||
#include "program.h"
|
#include "program.h"
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
#include "libeditfrm.h"
|
||||||
|
|
||||||
#include <wx/filename.h>
|
#include <wx/filename.h>
|
||||||
|
|
||||||
|
@ -95,13 +96,13 @@ void WinEDA_LibeditFrame::OnExportPart( wxCommandEvent& event )
|
||||||
CMP_LIBRARY* CurLibTmp;
|
CMP_LIBRARY* CurLibTmp;
|
||||||
bool createLib = ( event.GetId() != ExportPartId ) ? false : true;
|
bool createLib = ( event.GetId() != ExportPartId ) ? false : true;
|
||||||
|
|
||||||
if( CurrentLibEntry == NULL )
|
if( m_currentComponent == NULL )
|
||||||
{
|
{
|
||||||
DisplayError( this, _( "There is no component selected to save." ) );
|
DisplayError( this, _( "There is no component selected to save." ) );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
fn = CurrentLibEntry->GetName().Lower();
|
fn = m_currentComponent->GetName().Lower();
|
||||||
fn.SetExt( CompLibFileExtension );
|
fn.SetExt( CompLibFileExtension );
|
||||||
|
|
||||||
title = createLib ? _( "New Library" ) : _( "Export Component" );
|
title = createLib ? _( "New Library" ) : _( "Export Component" );
|
||||||
|
@ -132,7 +133,7 @@ void WinEDA_LibeditFrame::OnExportPart( wxCommandEvent& event )
|
||||||
{
|
{
|
||||||
msg = fn.GetFullPath() + _( " - OK" );
|
msg = fn.GetFullPath() + _( " - OK" );
|
||||||
DisplayInfoMessage( this, _( "This library will not be available \
|
DisplayInfoMessage( this, _( "This library will not be available \
|
||||||
until it is loaded by EESchema.\nModify the EESchema library configuration \
|
until it is loaded by EESchema.\n\nModify the EESchema library configuration \
|
||||||
if you want to include it as part of this project." ) );
|
if you want to include it as part of this project." ) );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -20,6 +20,15 @@
|
||||||
LIB_VERSION( LIB_VERSION_MAJOR, LIB_VERSION_MINOR) \
|
LIB_VERSION( LIB_VERSION_MAJOR, LIB_VERSION_MINOR) \
|
||||||
)
|
)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Library versions 2.3 and lower use the old separate library (.lib) and
|
||||||
|
* document (.dcm) files. Component libraries after 2.3 merged the library
|
||||||
|
* and document files into a single library file. This macro checks if the
|
||||||
|
* library version supports the old format
|
||||||
|
*/
|
||||||
|
#define USE_OLD_DOC_FILE_FORMAT( major, minor ) \
|
||||||
|
( LIB_VERSION( major, minor ) < LIB_VERSION( 2, 3 )
|
||||||
|
|
||||||
/* Must be the first line of component library document (.dcm) files. */
|
/* Must be the first line of component library document (.dcm) files. */
|
||||||
#define DOCFILE_IDENT "EESchema-DOCLIB Version 2.0"
|
#define DOCFILE_IDENT "EESchema-DOCLIB Version 2.0"
|
||||||
|
|
||||||
|
@ -48,7 +57,6 @@ extern LibEDA_BaseStruct* LibItemToRepeat; /* pointer on a graphic item than
|
||||||
* can be duplicated by the Ins key
|
* can be duplicated by the Ins key
|
||||||
* (usually the last created item */
|
* (usually the last created item */
|
||||||
extern CMP_LIBRARY* CurrentLib; /* Current opened library */
|
extern CMP_LIBRARY* CurrentLib; /* Current opened library */
|
||||||
extern LIB_COMPONENT* CurrentLibEntry; /* Current component */
|
|
||||||
extern LibEDA_BaseStruct* CurrentDrawItem; /* current edited item */
|
extern LibEDA_BaseStruct* CurrentDrawItem; /* current edited item */
|
||||||
|
|
||||||
extern wxString CurrentAliasName;
|
extern wxString CurrentAliasName;
|
||||||
|
|
|
@ -13,12 +13,14 @@
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
#include "gestfich.h"
|
#include "gestfich.h"
|
||||||
|
#include "eeschema_id.h"
|
||||||
|
|
||||||
#include "program.h"
|
#include "program.h"
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
#include "libeditfrm.h"
|
||||||
|
|
||||||
#include "id.h"
|
|
||||||
#include "dialog_create_component.h"
|
#include "dialog_create_component.h"
|
||||||
|
|
||||||
|
|
||||||
|
@ -64,30 +66,28 @@ bool WinEDA_LibeditFrame::LoadOneLibraryPart()
|
||||||
wxString CmpName;
|
wxString CmpName;
|
||||||
CMP_LIB_ENTRY* LibEntry = NULL;
|
CMP_LIB_ENTRY* LibEntry = NULL;
|
||||||
|
|
||||||
if( g_ScreenLib->IsModify() )
|
if( g_ScreenLib->IsModify() && !IsOK( this, _( "Current part not \
|
||||||
{
|
saved.\n\nDiscard current changes?" ) ) )
|
||||||
if( !IsOK( this, _( "Current part not saved.\nContinue?" ) ) )
|
return false;
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( CurrentLib == NULL ) // No current lib, ask user for the library to use
|
if( CurrentLib == NULL ) // No current lib, ask user for the library to use
|
||||||
{
|
{
|
||||||
SelectActiveLibrary();
|
SelectActiveLibrary();
|
||||||
if( CurrentLib == NULL )
|
if( CurrentLib == NULL )
|
||||||
return FALSE;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
i = GetNameOfPartToLoad( this, CurrentLib, CmpName );
|
i = GetNameOfPartToLoad( this, CurrentLib, CmpName );
|
||||||
if( i == 0 )
|
if( i == 0 )
|
||||||
return FALSE;
|
return false;
|
||||||
|
|
||||||
g_ScreenLib->ClrModify();
|
g_ScreenLib->ClrModify();
|
||||||
CurrentDrawItem = NULL;
|
CurrentDrawItem = NULL;
|
||||||
|
|
||||||
// Delete previous library component, if any
|
// Delete previous library component, if any
|
||||||
if( CurrentLibEntry )
|
if( m_currentComponent )
|
||||||
{
|
{
|
||||||
SAFE_DELETE( CurrentLibEntry );
|
SAFE_DELETE( m_currentComponent );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Load the new library component */
|
/* Load the new library component */
|
||||||
|
@ -108,9 +108,9 @@ library \"%s\"." ),
|
||||||
if( !LoadOneLibraryPartAux( LibEntry, CurrentLib ) )
|
if( !LoadOneLibraryPartAux( LibEntry, CurrentLib ) )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
Zoom_Automatique( FALSE );
|
Zoom_Automatique( false );
|
||||||
DrawPanel->Refresh();
|
DrawPanel->Refresh();
|
||||||
return TRUE;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -119,7 +119,7 @@ library \"%s\"." ),
|
||||||
* retourne
|
* retourne
|
||||||
* 0 si OK
|
* 0 si OK
|
||||||
* 1 si err
|
* 1 si err
|
||||||
* CurrentLibEntry pointe la copie ainsi creee
|
* m_currentComponent pointe la copie ainsi creee
|
||||||
*/
|
*/
|
||||||
bool WinEDA_LibeditFrame::LoadOneLibraryPartAux( CMP_LIB_ENTRY* LibEntry,
|
bool WinEDA_LibeditFrame::LoadOneLibraryPartAux( CMP_LIB_ENTRY* LibEntry,
|
||||||
CMP_LIBRARY* Library )
|
CMP_LIBRARY* Library )
|
||||||
|
@ -158,12 +158,12 @@ bool WinEDA_LibeditFrame::LoadOneLibraryPartAux( CMP_LIB_ENTRY* LibEntry,
|
||||||
component = (LIB_COMPONENT*) LibEntry;
|
component = (LIB_COMPONENT*) LibEntry;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( CurrentLibEntry )
|
if( m_currentComponent )
|
||||||
SAFE_DELETE( CurrentLibEntry );
|
SAFE_DELETE( m_currentComponent );
|
||||||
|
|
||||||
CurrentLibEntry = CopyLibEntryStruct( component );
|
m_currentComponent = CopyLibEntryStruct( component );
|
||||||
|
|
||||||
if( CurrentLibEntry == NULL )
|
if( m_currentComponent == NULL )
|
||||||
{
|
{
|
||||||
msg.Printf( _( "Could not create copy of part <%s> in library <%s>." ),
|
msg.Printf( _( "Could not create copy of part <%s> in library <%s>." ),
|
||||||
(const wxChar*) LibEntry->GetName(),
|
(const wxChar*) LibEntry->GetName(),
|
||||||
|
@ -177,7 +177,7 @@ bool WinEDA_LibeditFrame::LoadOneLibraryPartAux( CMP_LIB_ENTRY* LibEntry,
|
||||||
|
|
||||||
g_AsDeMorgan = 0;
|
g_AsDeMorgan = 0;
|
||||||
|
|
||||||
if( LookForConvertPart( CurrentLibEntry ) > 1 )
|
if( LookForConvertPart( m_currentComponent ) > 1 )
|
||||||
g_AsDeMorgan = 1;
|
g_AsDeMorgan = 1;
|
||||||
|
|
||||||
g_ScreenLib->ClrModify();
|
g_ScreenLib->ClrModify();
|
||||||
|
@ -208,7 +208,7 @@ void WinEDA_LibeditFrame::RedrawActiveWindow( wxDC* DC, bool EraseBg )
|
||||||
DrawPanel->CursorOff( DC ); // erase cursor
|
DrawPanel->CursorOff( DC ); // erase cursor
|
||||||
if( DrawPanel->ManageCurseur )
|
if( DrawPanel->ManageCurseur )
|
||||||
{
|
{
|
||||||
DrawPanel->ManageCurseur( DrawPanel, DC, FALSE );
|
DrawPanel->ManageCurseur( DrawPanel, DC, false );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( EraseBg )
|
if( EraseBg )
|
||||||
|
@ -216,15 +216,15 @@ void WinEDA_LibeditFrame::RedrawActiveWindow( wxDC* DC, bool EraseBg )
|
||||||
|
|
||||||
DrawPanel->DrawBackGround( DC );
|
DrawPanel->DrawBackGround( DC );
|
||||||
|
|
||||||
if( CurrentLibEntry )
|
if( m_currentComponent )
|
||||||
CurrentLibEntry->Draw( DrawPanel, DC, wxPoint( 0, 0 ), CurrentUnit,
|
m_currentComponent->Draw( DrawPanel, DC, wxPoint( 0, 0 ), CurrentUnit,
|
||||||
CurrentConvert, GR_DEFAULT_DRAWMODE );
|
CurrentConvert, GR_DEFAULT_DRAWMODE );
|
||||||
|
|
||||||
DrawPanel->CursorOn( DC ); // redraw cursor
|
DrawPanel->CursorOn( DC ); // redraw cursor
|
||||||
|
|
||||||
if( DrawPanel->ManageCurseur )
|
if( DrawPanel->ManageCurseur )
|
||||||
{
|
{
|
||||||
DrawPanel->ManageCurseur( DrawPanel, DC, FALSE );
|
DrawPanel->ManageCurseur( DrawPanel, DC, false );
|
||||||
}
|
}
|
||||||
|
|
||||||
GetScreen()->ClrRefreshReq();
|
GetScreen()->ClrRefreshReq();
|
||||||
|
@ -296,10 +296,10 @@ void WinEDA_LibeditFrame::DisplayCmpDoc()
|
||||||
|
|
||||||
MsgPanel->EraseMsgBox();
|
MsgPanel->EraseMsgBox();
|
||||||
|
|
||||||
if( CurrentLib == NULL && CurrentLibEntry == NULL )
|
if( CurrentLib == NULL || m_currentComponent == NULL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
msg = CurrentLibEntry->GetName();
|
msg = m_currentComponent->GetName();
|
||||||
|
|
||||||
MsgPanel->AppendMessage( _( "Part" ), msg, BLUE, 8 );
|
MsgPanel->AppendMessage( _( "Part" ), msg, BLUE, 8 );
|
||||||
|
|
||||||
|
@ -327,7 +327,7 @@ void WinEDA_LibeditFrame::DisplayCmpDoc()
|
||||||
|
|
||||||
MsgPanel->AppendMessage( _( "Body" ), msg, GREEN, 8 );
|
MsgPanel->AppendMessage( _( "Body" ), msg, GREEN, 8 );
|
||||||
|
|
||||||
if( CurrentLibEntry->m_Options == ENTRY_POWER )
|
if( m_currentComponent->m_Options == ENTRY_POWER )
|
||||||
msg = _( "Power Symbol" );
|
msg = _( "Power Symbol" );
|
||||||
else
|
else
|
||||||
msg = _( "Component" );
|
msg = _( "Component" );
|
||||||
|
@ -337,14 +337,14 @@ void WinEDA_LibeditFrame::DisplayCmpDoc()
|
||||||
if( alias != NULL )
|
if( alias != NULL )
|
||||||
msg = alias->m_Doc;
|
msg = alias->m_Doc;
|
||||||
else
|
else
|
||||||
msg = CurrentLibEntry->m_Doc;
|
msg = m_currentComponent->m_Doc;
|
||||||
|
|
||||||
MsgPanel->AppendMessage( _( "Description" ), msg, CYAN, 8 );
|
MsgPanel->AppendMessage( _( "Description" ), msg, CYAN, 8 );
|
||||||
|
|
||||||
if( alias != NULL )
|
if( alias != NULL )
|
||||||
msg = alias->m_KeyWord;
|
msg = alias->m_KeyWord;
|
||||||
else
|
else
|
||||||
msg = CurrentLibEntry->m_KeyWord;
|
msg = m_currentComponent->m_KeyWord;
|
||||||
|
|
||||||
MsgPanel->AppendMessage( _( "Key words" ), msg, DARKDARKGRAY );
|
MsgPanel->AppendMessage( _( "Key words" ), msg, DARKDARKGRAY );
|
||||||
}
|
}
|
||||||
|
@ -362,13 +362,16 @@ void WinEDA_LibeditFrame::DisplayCmpDoc()
|
||||||
* Sinon le premier alias devient le composant de base, et les autres
|
* Sinon le premier alias devient le composant de base, et les autres
|
||||||
* alias deviennent dependants de celui ci.
|
* alias deviennent dependants de celui ci.
|
||||||
*/
|
*/
|
||||||
void WinEDA_LibeditFrame::DeleteOnePart()
|
void WinEDA_LibeditFrame::DeleteOnePart( wxCommandEvent& event )
|
||||||
{
|
{
|
||||||
wxString CmpName;
|
wxString CmpName;
|
||||||
CMP_LIB_ENTRY* LibEntry;
|
CMP_LIB_ENTRY* LibEntry;
|
||||||
wxArrayString ListNames;
|
wxArrayString ListNames;
|
||||||
wxString msg;
|
wxString msg;
|
||||||
|
|
||||||
|
DrawPanel->UnManageCursor( 0, wxCURSOR_ARROW );
|
||||||
|
|
||||||
|
LibItemToRepeat = NULL;
|
||||||
CurrentDrawItem = NULL;
|
CurrentDrawItem = NULL;
|
||||||
|
|
||||||
if( CurrentLib == NULL )
|
if( CurrentLib == NULL )
|
||||||
|
@ -419,9 +422,9 @@ void WinEDA_LibeditFrame::DeleteOnePart()
|
||||||
if( !IsOK( this, msg ) )
|
if( !IsOK( this, msg ) )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if( CurrentLibEntry == NULL
|
if( m_currentComponent == NULL
|
||||||
|| ( CurrentLibEntry->GetName().CmpNoCase( LibEntry->GetName() ) != 0
|
|| ( m_currentComponent->GetName().CmpNoCase( LibEntry->GetName() ) != 0
|
||||||
&& !CurrentLibEntry->HasAlias( LibEntry->GetName() ) ) )
|
&& !m_currentComponent->HasAlias( LibEntry->GetName() ) ) )
|
||||||
{
|
{
|
||||||
CurrentLib->RemoveEntry( LibEntry );
|
CurrentLib->RemoveEntry( LibEntry );
|
||||||
return;
|
return;
|
||||||
|
@ -444,23 +447,24 @@ All changes will be lost. Discard changes?" ) ) )
|
||||||
* in the library will be shown. If the current component has
|
* in the library will be shown. If the current component has
|
||||||
* aliases, the updated component will be shown
|
* aliases, the updated component will be shown
|
||||||
*/
|
*/
|
||||||
if( CurrentLibEntry->GetName().CmpNoCase( LibEntry->GetName() ) == 0 )
|
if( m_currentComponent->GetName().CmpNoCase( LibEntry->GetName() ) == 0 )
|
||||||
{
|
{
|
||||||
if( CurrentLibEntry->m_AliasList.IsEmpty() )
|
if( m_currentComponent->m_AliasList.IsEmpty() )
|
||||||
{
|
{
|
||||||
nextEntry = CurrentLib->GetNextEntry( CurrentLibEntry->GetName() );
|
nextEntry =
|
||||||
|
CurrentLib->GetNextEntry( m_currentComponent->GetName() );
|
||||||
|
|
||||||
if( nextEntry != NULL )
|
if( nextEntry != NULL )
|
||||||
newCmpName = nextEntry->GetName();
|
newCmpName = nextEntry->GetName();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
newCmpName = CurrentLibEntry->m_AliasList[ 0 ];
|
newCmpName = m_currentComponent->m_AliasList[ 0 ];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
newCmpName = CurrentLibEntry->GetName();
|
newCmpName = m_currentComponent->GetName();
|
||||||
}
|
}
|
||||||
|
|
||||||
CurrentLib->RemoveEntry( LibEntry );
|
CurrentLib->RemoveEntry( LibEntry );
|
||||||
|
@ -482,18 +486,19 @@ All changes will be lost. Discard changes?" ) ) )
|
||||||
*
|
*
|
||||||
* If an old component is currently in edit, it is deleted.
|
* If an old component is currently in edit, it is deleted.
|
||||||
*/
|
*/
|
||||||
void WinEDA_LibeditFrame::CreateNewLibraryPart()
|
void WinEDA_LibeditFrame::CreateNewLibraryPart( wxCommandEvent& event )
|
||||||
{
|
{
|
||||||
wxString msg;
|
int diag;
|
||||||
|
wxString msg;
|
||||||
LIB_COMPONENT* NewStruct;
|
LIB_COMPONENT* NewStruct;
|
||||||
int diag;
|
|
||||||
|
|
||||||
if( CurrentLibEntry && GetScreen()->IsModify()
|
if( m_currentComponent && GetScreen()->IsModify()
|
||||||
&& !IsOK( this,
|
&& !IsOK( this, _( "All changes to the current component will be \
|
||||||
_( "All changes to the current component will be lost!\n\n\
|
lost!\n\nClear the current component from the screen?" ) ) )
|
||||||
Clear the current component from the screen?" ) ) )
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
DrawPanel->UnManageCursor( 0, wxCURSOR_ARROW );
|
||||||
|
|
||||||
CurrentDrawItem = NULL;
|
CurrentDrawItem = NULL;
|
||||||
|
|
||||||
WinEDA_CreateCmpDialog Dialogbox( this );
|
WinEDA_CreateCmpDialog Dialogbox( this );
|
||||||
|
@ -512,7 +517,8 @@ Clear the current component from the screen?" ) ) )
|
||||||
if( CurrentLib->FindEntry( msg ) )
|
if( CurrentLib->FindEntry( msg ) )
|
||||||
{
|
{
|
||||||
wxString msg;
|
wxString msg;
|
||||||
msg.Printf( _( "Component \"%s\" exists in library \"%s\"." ),
|
msg.Printf( _( "Component \"%s\" already exists in \
|
||||||
|
library \"%s\"." ),
|
||||||
(const wxChar*) Dialogbox.ReturnCmpName(),
|
(const wxChar*) Dialogbox.ReturnCmpName(),
|
||||||
(const wxChar*) CurrentLib->GetName() );
|
(const wxChar*) CurrentLib->GetName() );
|
||||||
DisplayError( this, msg );
|
DisplayError( this, msg );
|
||||||
|
@ -527,15 +533,21 @@ Clear the current component from the screen?" ) ) )
|
||||||
NewStruct->m_Prefix.m_Text.MakeUpper();
|
NewStruct->m_Prefix.m_Text.MakeUpper();
|
||||||
|
|
||||||
// Effacement ancien composant affich<63>
|
// Effacement ancien composant affich<63>
|
||||||
if( CurrentLibEntry )
|
if( m_currentComponent )
|
||||||
{
|
{
|
||||||
SAFE_DELETE( CurrentLibEntry );
|
SAFE_DELETE( m_currentComponent );
|
||||||
}
|
}
|
||||||
CurrentLibEntry = NewStruct;
|
m_currentComponent = NewStruct;
|
||||||
CurrentUnit = 1;
|
CurrentUnit = 1;
|
||||||
CurrentConvert = 1;
|
CurrentConvert = 1;
|
||||||
DisplayLibInfos();
|
DisplayLibInfos();
|
||||||
DisplayCmpDoc();
|
DisplayCmpDoc();
|
||||||
|
UpdateAliasSelectList();
|
||||||
|
UpdatePartSelectList();
|
||||||
|
g_EditPinByPinIsOn = false;
|
||||||
|
LibItemToRepeat = NULL;
|
||||||
|
GetScreen()->ClearUndoRedoList();
|
||||||
|
DrawPanel->Refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -552,7 +564,7 @@ void WinEDA_LibeditFrame::SaveOnePartInMemory()
|
||||||
LIB_COMPONENT* Component;
|
LIB_COMPONENT* Component;
|
||||||
wxString msg;
|
wxString msg;
|
||||||
|
|
||||||
if( CurrentLibEntry == NULL )
|
if( m_currentComponent == NULL )
|
||||||
{
|
{
|
||||||
DisplayError( this, _( "No component to save." ) );
|
DisplayError( this, _( "No component to save." ) );
|
||||||
return;
|
return;
|
||||||
|
@ -569,7 +581,7 @@ void WinEDA_LibeditFrame::SaveOnePartInMemory()
|
||||||
|
|
||||||
g_ScreenLib->ClrModify();
|
g_ScreenLib->ClrModify();
|
||||||
|
|
||||||
oldComponent = CurrentLib->FindComponent( CurrentLibEntry->GetName() );
|
oldComponent = CurrentLib->FindComponent( m_currentComponent->GetName() );
|
||||||
|
|
||||||
if( oldComponent != NULL )
|
if( oldComponent != NULL )
|
||||||
{
|
{
|
||||||
|
@ -579,13 +591,13 @@ void WinEDA_LibeditFrame::SaveOnePartInMemory()
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
wxASSERT( CurrentLibEntry->Type == ROOT );
|
wxASSERT( m_currentComponent->Type == ROOT );
|
||||||
|
|
||||||
if( oldComponent != NULL )
|
if( oldComponent != NULL )
|
||||||
Component = CurrentLib->ReplaceComponent( oldComponent,
|
Component = CurrentLib->ReplaceComponent( oldComponent,
|
||||||
CurrentLibEntry );
|
m_currentComponent );
|
||||||
else
|
else
|
||||||
Component = CurrentLib->AddComponent( CurrentLibEntry );
|
Component = CurrentLib->AddComponent( m_currentComponent );
|
||||||
|
|
||||||
if( Component == NULL )
|
if( Component == NULL )
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -10,28 +10,27 @@
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
|
#include "eeschema_id.h"
|
||||||
|
|
||||||
#include "program.h"
|
#include "program.h"
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
|
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
#include "libeditfrm.h"
|
||||||
#include "id.h"
|
|
||||||
|
|
||||||
|
|
||||||
void WinEDA_LibeditFrame::OnLeftClick( wxDC* DC, const wxPoint& MousePos )
|
void WinEDA_LibeditFrame::OnLeftClick( wxDC* DC, const wxPoint& MousePos )
|
||||||
{
|
{
|
||||||
LibEDA_BaseStruct* DrawEntry = CurrentDrawItem;
|
LibEDA_BaseStruct* DrawEntry = CurrentDrawItem;
|
||||||
|
|
||||||
if( CurrentLibEntry == NULL ) // No component loaded !
|
if( m_currentComponent == NULL ) // No component loaded !
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if( m_ID_current_state == 0 )
|
if( m_ID_current_state == 0 )
|
||||||
{
|
{
|
||||||
if( DrawEntry && DrawEntry->m_Flags )
|
if( DrawEntry && DrawEntry->m_Flags )
|
||||||
{
|
{
|
||||||
SaveCopyInUndoList( CurrentLibEntry );
|
SaveCopyInUndoList( m_currentComponent );
|
||||||
|
|
||||||
switch( DrawEntry->Type() )
|
switch( DrawEntry->Type() )
|
||||||
{
|
{
|
||||||
|
@ -51,25 +50,27 @@ void WinEDA_LibeditFrame::OnLeftClick( wxDC* DC, const wxPoint& MousePos )
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DrawEntry = LocatePin( GetScreen()->m_MousePosition, CurrentLibEntry,
|
DrawEntry = LocatePin( GetScreen()->m_MousePosition,
|
||||||
CurrentUnit, CurrentConvert );
|
m_currentComponent, CurrentUnit,
|
||||||
|
CurrentConvert );
|
||||||
if( DrawEntry == NULL )
|
if( DrawEntry == NULL )
|
||||||
{
|
{
|
||||||
DrawEntry = LocateDrawItem( (SCH_SCREEN*)GetScreen(),
|
DrawEntry = LocateDrawItem( (SCH_SCREEN*)GetScreen(),
|
||||||
GetScreen()->m_MousePosition,
|
GetScreen()->m_MousePosition,
|
||||||
CurrentLibEntry, CurrentUnit,
|
m_currentComponent, CurrentUnit,
|
||||||
CurrentConvert,
|
CurrentConvert,
|
||||||
LOCATE_ALL_DRAW_ITEM );
|
LOCATE_ALL_DRAW_ITEM );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( DrawEntry == NULL )
|
if( DrawEntry == NULL )
|
||||||
DrawEntry = LocatePin( GetScreen()->m_Curseur, CurrentLibEntry,
|
DrawEntry = LocatePin( GetScreen()->m_Curseur,
|
||||||
CurrentUnit, CurrentConvert );
|
m_currentComponent, CurrentUnit,
|
||||||
|
CurrentConvert );
|
||||||
if( DrawEntry == NULL )
|
if( DrawEntry == NULL )
|
||||||
{
|
{
|
||||||
DrawEntry = LocateDrawItem( (SCH_SCREEN*)GetScreen(),
|
DrawEntry = LocateDrawItem( (SCH_SCREEN*)GetScreen(),
|
||||||
GetScreen()->m_Curseur,
|
GetScreen()->m_Curseur,
|
||||||
CurrentLibEntry, CurrentUnit,
|
m_currentComponent, CurrentUnit,
|
||||||
CurrentConvert,
|
CurrentConvert,
|
||||||
LOCATE_ALL_DRAW_ITEM );
|
LOCATE_ALL_DRAW_ITEM );
|
||||||
}
|
}
|
||||||
|
@ -96,7 +97,7 @@ void WinEDA_LibeditFrame::OnLeftClick( wxDC* DC, const wxPoint& MousePos )
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SaveCopyInUndoList( CurrentLibEntry );
|
SaveCopyInUndoList( m_currentComponent );
|
||||||
PlacePin( DC );
|
PlacePin( DC );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -108,7 +109,7 @@ void WinEDA_LibeditFrame::OnLeftClick( wxDC* DC, const wxPoint& MousePos )
|
||||||
case ID_LIBEDIT_BODY_TEXT_BUTT:
|
case ID_LIBEDIT_BODY_TEXT_BUTT:
|
||||||
if( CurrentDrawItem == NULL || CurrentDrawItem->m_Flags == 0 )
|
if( CurrentDrawItem == NULL || CurrentDrawItem->m_Flags == 0 )
|
||||||
{
|
{
|
||||||
CurrentDrawItem = CreateGraphicItem( CurrentLibEntry, DC );
|
CurrentDrawItem = CreateGraphicItem( m_currentComponent, DC );
|
||||||
}
|
}
|
||||||
else if( CurrentDrawItem )
|
else if( CurrentDrawItem )
|
||||||
{
|
{
|
||||||
|
@ -116,48 +117,50 @@ void WinEDA_LibeditFrame::OnLeftClick( wxDC* DC, const wxPoint& MousePos )
|
||||||
GraphicItemBeginDraw( DC );
|
GraphicItemBeginDraw( DC );
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SaveCopyInUndoList( CurrentLibEntry );
|
SaveCopyInUndoList( m_currentComponent );
|
||||||
EndDrawGraphicItem( DC );
|
EndDrawGraphicItem( DC );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_LIBEDIT_DELETE_ITEM_BUTT:
|
case ID_LIBEDIT_DELETE_ITEM_BUTT:
|
||||||
DrawEntry = LocatePin( GetScreen()->m_MousePosition, CurrentLibEntry,
|
DrawEntry = LocatePin( GetScreen()->m_MousePosition,
|
||||||
CurrentUnit, CurrentConvert );
|
m_currentComponent, CurrentUnit,
|
||||||
|
CurrentConvert );
|
||||||
if( DrawEntry == NULL )
|
if( DrawEntry == NULL )
|
||||||
{
|
{
|
||||||
DrawEntry = LocateDrawItem( (SCH_SCREEN*)GetScreen(),
|
DrawEntry = LocateDrawItem( (SCH_SCREEN*)GetScreen(),
|
||||||
GetScreen()->m_MousePosition,
|
GetScreen()->m_MousePosition,
|
||||||
CurrentLibEntry, CurrentUnit,
|
m_currentComponent, CurrentUnit,
|
||||||
CurrentConvert,
|
CurrentConvert,
|
||||||
LOCATE_ALL_DRAW_ITEM );
|
LOCATE_ALL_DRAW_ITEM );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( DrawEntry == NULL )
|
if( DrawEntry == NULL )
|
||||||
DrawEntry = LocatePin( GetScreen()->m_Curseur, CurrentLibEntry,
|
DrawEntry = LocatePin( GetScreen()->m_Curseur,
|
||||||
CurrentUnit, CurrentConvert );
|
m_currentComponent, CurrentUnit,
|
||||||
|
CurrentConvert );
|
||||||
if( DrawEntry == NULL )
|
if( DrawEntry == NULL )
|
||||||
{
|
{
|
||||||
DrawEntry = LocateDrawItem( (SCH_SCREEN*)GetScreen(),
|
DrawEntry = LocateDrawItem( (SCH_SCREEN*)GetScreen(),
|
||||||
GetScreen()->m_Curseur,
|
GetScreen()->m_Curseur,
|
||||||
CurrentLibEntry, CurrentUnit,
|
m_currentComponent, CurrentUnit,
|
||||||
CurrentConvert,
|
CurrentConvert,
|
||||||
LOCATE_ALL_DRAW_ITEM );
|
LOCATE_ALL_DRAW_ITEM );
|
||||||
}
|
}
|
||||||
if( DrawEntry == NULL )
|
if( DrawEntry == NULL )
|
||||||
DisplayCmpDoc();
|
DisplayCmpDoc();
|
||||||
SaveCopyInUndoList( CurrentLibEntry );
|
SaveCopyInUndoList( m_currentComponent );
|
||||||
if( DrawEntry->Type() == COMPONENT_PIN_DRAW_TYPE )
|
if( DrawEntry->Type() == COMPONENT_PIN_DRAW_TYPE )
|
||||||
DeletePin( DC, CurrentLibEntry, (LibDrawPin*) DrawEntry );
|
DeletePin( DC, m_currentComponent, (LibDrawPin*) DrawEntry );
|
||||||
else
|
else
|
||||||
CurrentLibEntry->RemoveDrawItem( DrawEntry, DrawPanel, DC );
|
m_currentComponent->RemoveDrawItem( DrawEntry, DrawPanel, DC );
|
||||||
DrawEntry = NULL;
|
DrawEntry = NULL;
|
||||||
GetScreen()->SetModify();
|
GetScreen()->SetModify();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_LIBEDIT_ANCHOR_ITEM_BUTT:
|
case ID_LIBEDIT_ANCHOR_ITEM_BUTT:
|
||||||
SaveCopyInUndoList( CurrentLibEntry );
|
SaveCopyInUndoList( m_currentComponent );
|
||||||
PlaceAncre();
|
PlaceAncre();
|
||||||
SetToolID( 0, wxCURSOR_ARROW, wxEmptyString );
|
SetToolID( 0, wxCURSOR_ARROW, wxEmptyString );
|
||||||
break;
|
break;
|
||||||
|
@ -183,22 +186,22 @@ void WinEDA_LibeditFrame::OnLeftDClick( wxDC* DC, const wxPoint& MousePos )
|
||||||
wxPoint pos = GetPosition();
|
wxPoint pos = GetPosition();
|
||||||
LibEDA_BaseStruct* DrawEntry = CurrentDrawItem;
|
LibEDA_BaseStruct* DrawEntry = CurrentDrawItem;
|
||||||
|
|
||||||
if( CurrentLibEntry == NULL )
|
if( m_currentComponent == NULL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if( ( DrawEntry == NULL ) || ( DrawEntry->m_Flags == 0 ) )
|
if( ( DrawEntry == NULL ) || ( DrawEntry->m_Flags == 0 ) )
|
||||||
{ // We can locate an item
|
{ // We can locate an item
|
||||||
DrawEntry = LocatePin( GetScreen()->m_MousePosition, CurrentLibEntry,
|
DrawEntry = LocatePin( GetScreen()->m_MousePosition, m_currentComponent,
|
||||||
CurrentUnit, CurrentConvert );
|
CurrentUnit, CurrentConvert );
|
||||||
if( DrawEntry == NULL )
|
if( DrawEntry == NULL )
|
||||||
DrawEntry = LocatePin( GetScreen()->m_Curseur, CurrentLibEntry,
|
DrawEntry = LocatePin( GetScreen()->m_Curseur, m_currentComponent,
|
||||||
CurrentUnit, CurrentConvert );
|
CurrentUnit, CurrentConvert );
|
||||||
if( DrawEntry == NULL )
|
if( DrawEntry == NULL )
|
||||||
{
|
{
|
||||||
DrawEntry = CurrentDrawItem =
|
DrawEntry = CurrentDrawItem =
|
||||||
LocateDrawItem( (SCH_SCREEN*) GetScreen(),
|
LocateDrawItem( (SCH_SCREEN*) GetScreen(),
|
||||||
GetScreen()->m_MousePosition,
|
GetScreen()->m_MousePosition,
|
||||||
CurrentLibEntry, CurrentUnit,
|
m_currentComponent, CurrentUnit,
|
||||||
CurrentConvert, LOCATE_ALL_DRAW_ITEM );
|
CurrentConvert, LOCATE_ALL_DRAW_ITEM );
|
||||||
}
|
}
|
||||||
if( DrawEntry == NULL )
|
if( DrawEntry == NULL )
|
||||||
|
@ -206,13 +209,13 @@ void WinEDA_LibeditFrame::OnLeftDClick( wxDC* DC, const wxPoint& MousePos )
|
||||||
DrawEntry = CurrentDrawItem =
|
DrawEntry = CurrentDrawItem =
|
||||||
LocateDrawItem( (SCH_SCREEN*) GetScreen(),
|
LocateDrawItem( (SCH_SCREEN*) GetScreen(),
|
||||||
GetScreen()->m_Curseur,
|
GetScreen()->m_Curseur,
|
||||||
CurrentLibEntry, CurrentUnit,
|
m_currentComponent, CurrentUnit,
|
||||||
CurrentConvert, LOCATE_ALL_DRAW_ITEM );
|
CurrentConvert, LOCATE_ALL_DRAW_ITEM );
|
||||||
}
|
}
|
||||||
if( DrawEntry == NULL )
|
if( DrawEntry == NULL )
|
||||||
{
|
{
|
||||||
DrawEntry = CurrentDrawItem =
|
DrawEntry = CurrentDrawItem =
|
||||||
(LibEDA_BaseStruct*) LocateField( CurrentLibEntry );
|
(LibEDA_BaseStruct*) LocateField( m_currentComponent );
|
||||||
}
|
}
|
||||||
if( DrawEntry == NULL )
|
if( DrawEntry == NULL )
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,65 +1,69 @@
|
||||||
/****************************/
|
/****************************/
|
||||||
/* EESchema - libedit_onrightclick.cpp */
|
/* EESchema - libedit_onrightclick.cpp */
|
||||||
/****************************/
|
/****************************/
|
||||||
|
|
||||||
/* , In library editor, create the pop menu when clicking on mouse right button
|
/* , In library editor, create the pop menu when clicking on mouse right button
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "gr_basic.h"
|
#include "gr_basic.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
|
#include "bitmaps.h"
|
||||||
|
#include "eeschema_id.h"
|
||||||
|
#include "hotkeys.h"
|
||||||
|
|
||||||
#include "program.h"
|
#include "program.h"
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
|
|
||||||
#include "bitmaps.h"
|
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
#include "libeditfrm.h"
|
||||||
|
|
||||||
#include "id.h"
|
|
||||||
#include "hotkeys.h"
|
|
||||||
|
|
||||||
/* functions to add commands and submenus depending on the item */
|
/* functions to add commands and submenus depending on the item */
|
||||||
static void AddMenusForBlock(wxMenu * PopMenu, WinEDA_LibeditFrame * frame);
|
static void AddMenusForBlock( wxMenu* PopMenu, WinEDA_LibeditFrame* frame );
|
||||||
static void AddMenusForPin(wxMenu * PopMenu, LibDrawPin* Pin, WinEDA_LibeditFrame * frame);
|
static void AddMenusForPin( wxMenu* PopMenu, LibDrawPin* Pin,
|
||||||
|
WinEDA_LibeditFrame* frame );
|
||||||
|
|
||||||
|
|
||||||
/********************************************************************************/
|
bool WinEDA_LibeditFrame::OnRightClick( const wxPoint& MousePos,
|
||||||
bool WinEDA_LibeditFrame::OnRightClick(const wxPoint& MousePos, wxMenu * PopMenu)
|
wxMenu* PopMenu )
|
||||||
/********************************************************************************/
|
|
||||||
{
|
{
|
||||||
LibEDA_BaseStruct* DrawEntry = LocateItemUsingCursor();
|
LibEDA_BaseStruct* DrawEntry = LocateItemUsingCursor();
|
||||||
bool BlockActive = (GetScreen()->m_BlockLocate.m_Command != BLOCK_IDLE);
|
bool BlockActive = (GetScreen()->m_BlockLocate.m_Command != BLOCK_IDLE);
|
||||||
|
|
||||||
if ( CurrentLibEntry == NULL ) return true;
|
if( m_currentComponent == NULL )
|
||||||
|
return true;
|
||||||
|
|
||||||
// If Command in progresss: put the menu "cancel" and "end tool"
|
// If Command in progresss: put the menu "cancel" and "end tool"
|
||||||
if ( m_ID_current_state )
|
if( m_ID_current_state )
|
||||||
{
|
{
|
||||||
if (DrawEntry && DrawEntry->m_Flags)
|
if( DrawEntry && DrawEntry->m_Flags )
|
||||||
{
|
{
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_CANCEL_EDITING,
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_CANCEL_EDITING,
|
||||||
_("Cancel"), cancel_xpm);
|
_( "Cancel" ), cancel_xpm );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_CANCEL_EDITING,
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_CANCEL_EDITING,
|
||||||
_("End Tool"), cancel_tool_xpm);
|
_( "End Tool" ), cancel_tool_xpm );
|
||||||
}
|
}
|
||||||
PopMenu->AppendSeparator();
|
PopMenu->AppendSeparator();
|
||||||
}
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ( (DrawEntry && DrawEntry->m_Flags) || BlockActive )
|
if( (DrawEntry && DrawEntry->m_Flags) || BlockActive )
|
||||||
{
|
{
|
||||||
if ( BlockActive ) AddMenusForBlock( PopMenu, this);
|
if( BlockActive )
|
||||||
else ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_CANCEL_EDITING, _("Cancel"), cancel_xpm);
|
AddMenusForBlock( PopMenu, this );
|
||||||
|
else
|
||||||
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_CANCEL_EDITING,
|
||||||
|
_( "Cancel" ), cancel_xpm );
|
||||||
PopMenu->AppendSeparator();
|
PopMenu->AppendSeparator();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( DrawEntry )
|
if( DrawEntry )
|
||||||
DrawEntry->DisplayInfo( this );
|
DrawEntry->DisplayInfo( this );
|
||||||
else
|
else
|
||||||
return true;
|
return true;
|
||||||
|
@ -67,186 +71,222 @@ bool BlockActive = (GetScreen()->m_BlockLocate.m_Command != BLOCK_IDLE);
|
||||||
CurrentDrawItem = DrawEntry;
|
CurrentDrawItem = DrawEntry;
|
||||||
wxString msg;
|
wxString msg;
|
||||||
|
|
||||||
switch ( DrawEntry->Type() )
|
switch( DrawEntry->Type() )
|
||||||
{
|
{
|
||||||
case COMPONENT_PIN_DRAW_TYPE:
|
case COMPONENT_PIN_DRAW_TYPE:
|
||||||
AddMenusForPin(PopMenu, (LibDrawPin*)DrawEntry, this);
|
AddMenusForPin( PopMenu, (LibDrawPin*) DrawEntry, this );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case COMPONENT_ARC_DRAW_TYPE:
|
case COMPONENT_ARC_DRAW_TYPE:
|
||||||
if( DrawEntry->m_Flags == 0 )
|
if( DrawEntry->m_Flags == 0 )
|
||||||
{
|
{
|
||||||
msg = AddHotkeyName( _( "Move Arc " ), s_Libedit_Hokeys_Descr, HK_MOVE_PIN );
|
msg = AddHotkeyName( _( "Move Arc " ), s_Libedit_Hokeys_Descr,
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST, msg, move_arc_xpm);
|
HK_MOVE_PIN );
|
||||||
}
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST,
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_BODY_EDIT_ITEM,
|
msg, move_arc_xpm );
|
||||||
_("Arc Options"), options_arc_xpm );
|
}
|
||||||
if( DrawEntry->m_Flags == 0 )
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_BODY_EDIT_ITEM,
|
||||||
{
|
_( "Arc Options" ), options_arc_xpm );
|
||||||
msg = AddHotkeyName( _( "Delete Arc " ), s_Libedit_Hokeys_Descr, HK_DELETE_PIN );
|
if( DrawEntry->m_Flags == 0 )
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_DELETE_ITEM, msg, delete_arc_xpm);
|
{
|
||||||
}
|
msg = AddHotkeyName( _( "Delete Arc " ), s_Libedit_Hokeys_Descr,
|
||||||
break;
|
HK_DELETE_PIN );
|
||||||
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_DELETE_ITEM,
|
||||||
|
msg, delete_arc_xpm );
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case COMPONENT_CIRCLE_DRAW_TYPE:
|
case COMPONENT_CIRCLE_DRAW_TYPE:
|
||||||
if( DrawEntry->m_Flags == 0 )
|
if( DrawEntry->m_Flags == 0 )
|
||||||
{
|
{
|
||||||
msg = AddHotkeyName( _( "Move Circle " ), s_Libedit_Hokeys_Descr, HK_MOVE_PIN );
|
msg = AddHotkeyName( _( "Move Circle " ), s_Libedit_Hokeys_Descr,
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST, msg, move_circle_xpm);
|
HK_MOVE_PIN );
|
||||||
}
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST,
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_BODY_EDIT_ITEM,
|
msg, move_circle_xpm );
|
||||||
_("Circle Options"), options_circle_xpm);
|
}
|
||||||
if( DrawEntry->m_Flags == 0 )
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_BODY_EDIT_ITEM,
|
||||||
{
|
_( "Circle Options" ), options_circle_xpm );
|
||||||
msg = AddHotkeyName( _( "Delete Circle " ), s_Libedit_Hokeys_Descr, HK_DELETE_PIN );
|
if( DrawEntry->m_Flags == 0 )
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_DELETE_ITEM,msg, delete_circle_xpm);
|
{
|
||||||
}
|
msg = AddHotkeyName( _( "Delete Circle " ),
|
||||||
break;
|
s_Libedit_Hokeys_Descr, HK_DELETE_PIN );
|
||||||
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_DELETE_ITEM,
|
||||||
|
msg, delete_circle_xpm );
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case COMPONENT_RECT_DRAW_TYPE:
|
case COMPONENT_RECT_DRAW_TYPE:
|
||||||
if( DrawEntry->m_Flags == 0 )
|
if( DrawEntry->m_Flags == 0 )
|
||||||
{
|
{
|
||||||
msg = AddHotkeyName( _( "Move Rect " ), s_Libedit_Hokeys_Descr, HK_MOVE_PIN );
|
msg = AddHotkeyName( _( "Move Rect " ), s_Libedit_Hokeys_Descr,
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST, msg, move_rectangle_xpm);
|
HK_MOVE_PIN );
|
||||||
}
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST,
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_BODY_EDIT_ITEM,
|
msg, move_rectangle_xpm );
|
||||||
_("Rect Options"), options_rectangle_xpm);
|
}
|
||||||
if( DrawEntry->m_Flags == 0 )
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_BODY_EDIT_ITEM,
|
||||||
{
|
_( "Rect Options" ), options_rectangle_xpm );
|
||||||
msg = AddHotkeyName( _( "Delete Rect " ), s_Libedit_Hokeys_Descr, HK_DELETE_PIN );
|
if( DrawEntry->m_Flags == 0 )
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_DELETE_ITEM, msg, delete_rectangle_xpm);
|
{
|
||||||
}
|
msg = AddHotkeyName( _( "Delete Rect " ), s_Libedit_Hokeys_Descr,
|
||||||
break;
|
HK_DELETE_PIN );
|
||||||
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_DELETE_ITEM,
|
||||||
|
msg, delete_rectangle_xpm );
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case COMPONENT_GRAPHIC_TEXT_DRAW_TYPE:
|
case COMPONENT_GRAPHIC_TEXT_DRAW_TYPE:
|
||||||
if( DrawEntry->m_Flags == 0 )
|
if( DrawEntry->m_Flags == 0 )
|
||||||
{
|
{
|
||||||
msg = AddHotkeyName( _( "Move Text " ), s_Libedit_Hokeys_Descr, HK_MOVE_PIN );
|
msg = AddHotkeyName( _( "Move Text " ), s_Libedit_Hokeys_Descr,
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST, msg, move_text_xpm);
|
HK_MOVE_PIN );
|
||||||
}
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST,
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_BODY_EDIT_ITEM,
|
msg, move_text_xpm );
|
||||||
_("Text Editor"), edit_text_xpm);
|
}
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_ROTATE_GRAPHIC_TEXT,
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_BODY_EDIT_ITEM,
|
||||||
_("Rotate Text"), edit_text_xpm);
|
_( "Text Editor" ), edit_text_xpm );
|
||||||
if( DrawEntry->m_Flags == 0 )
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_ROTATE_GRAPHIC_TEXT,
|
||||||
{
|
_( "Rotate Text" ), edit_text_xpm );
|
||||||
msg = AddHotkeyName( _( "Delete Text " ), s_Libedit_Hokeys_Descr, HK_DELETE_PIN );
|
if( DrawEntry->m_Flags == 0 )
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_DELETE_ITEM, msg, delete_text_xpm);
|
{
|
||||||
}
|
msg = AddHotkeyName( _( "Delete Text " ), s_Libedit_Hokeys_Descr,
|
||||||
break;
|
HK_DELETE_PIN );
|
||||||
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_DELETE_ITEM,
|
||||||
|
msg, delete_text_xpm );
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case COMPONENT_POLYLINE_DRAW_TYPE:
|
case COMPONENT_POLYLINE_DRAW_TYPE:
|
||||||
if( DrawEntry->m_Flags == 0 )
|
if( DrawEntry->m_Flags == 0 )
|
||||||
|
{
|
||||||
|
msg = AddHotkeyName( _( "Move Line " ), s_Libedit_Hokeys_Descr,
|
||||||
|
HK_MOVE_PIN );
|
||||||
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST,
|
||||||
|
msg, move_line_xpm );
|
||||||
|
}
|
||||||
|
if( DrawEntry->m_Flags & IS_NEW )
|
||||||
|
{
|
||||||
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_END_CREATE_ITEM,
|
||||||
|
_( "Line End" ), apply_xpm );
|
||||||
|
}
|
||||||
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_BODY_EDIT_ITEM,
|
||||||
|
_( "Line Options" ), options_segment_xpm );
|
||||||
|
if( DrawEntry->m_Flags == 0 )
|
||||||
|
{
|
||||||
|
msg = AddHotkeyName( _( "Delete Line " ), s_Libedit_Hokeys_Descr,
|
||||||
|
HK_DELETE_PIN );
|
||||||
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_DELETE_ITEM,
|
||||||
|
msg, delete_segment_xpm );
|
||||||
|
}
|
||||||
|
else if( (DrawEntry->m_Flags & IS_NEW) )
|
||||||
|
{
|
||||||
|
if( ( (LibDrawPolyline*) DrawEntry )->GetCornerCount() > 2 )
|
||||||
{
|
{
|
||||||
msg = AddHotkeyName( _( "Move Line " ), s_Libedit_Hokeys_Descr, HK_MOVE_PIN );
|
msg = AddHotkeyName( _( "Delete Segment " ),
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST, msg, move_line_xpm);
|
s_Libedit_Hokeys_Descr, HK_DELETE_PIN );
|
||||||
|
ADD_MENUITEM( PopMenu,
|
||||||
|
ID_POPUP_LIBEDIT_DELETE_CURRENT_POLY_SEGMENT,
|
||||||
|
msg, delete_segment_xpm );
|
||||||
}
|
}
|
||||||
if ( DrawEntry->m_Flags & IS_NEW )
|
}
|
||||||
{
|
break;
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_END_CREATE_ITEM,
|
|
||||||
_("Line End"), apply_xpm);
|
|
||||||
}
|
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_BODY_EDIT_ITEM,
|
|
||||||
_("Line Options"), options_segment_xpm);
|
|
||||||
if( DrawEntry->m_Flags == 0 )
|
|
||||||
{
|
|
||||||
msg = AddHotkeyName( _( "Delete Line " ), s_Libedit_Hokeys_Descr, HK_DELETE_PIN );
|
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_DELETE_ITEM, msg, delete_segment_xpm);
|
|
||||||
}
|
|
||||||
else if( (DrawEntry->m_Flags & IS_NEW) )
|
|
||||||
{
|
|
||||||
if( ((LibDrawPolyline*)DrawEntry)->GetCornerCount() > 2 )
|
|
||||||
{
|
|
||||||
msg = AddHotkeyName( _( "Delete Segment " ), s_Libedit_Hokeys_Descr, HK_DELETE_PIN );
|
|
||||||
ADD_MENUITEM(PopMenu,
|
|
||||||
ID_POPUP_LIBEDIT_DELETE_CURRENT_POLY_SEGMENT, msg, delete_segment_xpm);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case COMPONENT_FIELD_DRAW_TYPE:
|
case COMPONENT_FIELD_DRAW_TYPE:
|
||||||
if( DrawEntry->m_Flags == 0 )
|
if( DrawEntry->m_Flags == 0 )
|
||||||
{
|
{
|
||||||
msg = AddHotkeyName( _( "Move Field " ), s_Libedit_Hokeys_Descr, HK_MOVE_PIN );
|
msg = AddHotkeyName( _( "Move Field " ), s_Libedit_Hokeys_Descr,
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST, msg, move_field_xpm);
|
HK_MOVE_PIN );
|
||||||
}
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST,
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_FIELD_ROTATE_ITEM,
|
msg, move_field_xpm );
|
||||||
_("Field Rotate"), rotate_field_xpm);
|
}
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_FIELD_EDIT_ITEM,
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_FIELD_ROTATE_ITEM,
|
||||||
_("Field Edit"), edit_text_xpm);
|
_( "Field Rotate" ), rotate_field_xpm );
|
||||||
break;
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_FIELD_EDIT_ITEM,
|
||||||
|
_( "Field Edit" ), edit_text_xpm );
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
wxString msg;
|
wxString msg;
|
||||||
msg.Printf(
|
msg.Printf( wxT( "WinEDA_LibeditFrame::OnRightClick Error: unknown \
|
||||||
wxT("WinEDA_LibeditFrame::OnRightClick Error: unknown StructType %d"),
|
StructType %d" ),
|
||||||
DrawEntry->Type());
|
DrawEntry->Type() );
|
||||||
DisplayError(this, msg );
|
DisplayError( this, msg );
|
||||||
CurrentDrawItem = NULL;
|
CurrentDrawItem = NULL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
PopMenu->AppendSeparator();
|
PopMenu->AppendSeparator();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**********************************************************************************/
|
|
||||||
void AddMenusForPin(wxMenu * PopMenu, LibDrawPin* Pin, WinEDA_LibeditFrame * frame)
|
void AddMenusForPin( wxMenu* PopMenu,
|
||||||
/**********************************************************************************/
|
LibDrawPin* Pin,
|
||||||
|
WinEDA_LibeditFrame* frame )
|
||||||
{
|
{
|
||||||
bool selected = (Pin->m_Selected & IS_SELECTED) != 0;
|
bool selected = (Pin->m_Selected & IS_SELECTED) != 0;
|
||||||
bool not_in_move = (Pin->m_Flags == 0);
|
bool not_in_move = (Pin->m_Flags == 0);
|
||||||
|
|
||||||
if( not_in_move )
|
if( not_in_move )
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST, _("Move Pin"), move_xpm );
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST,
|
||||||
|
_( "Move Pin" ), move_xpm );
|
||||||
|
|
||||||
wxString msg;
|
wxString msg;
|
||||||
msg = AddHotkeyName( _( "Edit Pin " ), s_Libedit_Hokeys_Descr, HK_EDIT_PIN );
|
msg = AddHotkeyName( _( "Edit Pin " ), s_Libedit_Hokeys_Descr, HK_EDIT_PIN );
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_PIN_EDIT, msg, edit_xpm );
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_PIN_EDIT, msg, edit_xpm );
|
||||||
|
|
||||||
if( not_in_move )
|
if( not_in_move )
|
||||||
{
|
{
|
||||||
msg = AddHotkeyName( _( "Delete Pin " ), s_Libedit_Hokeys_Descr, HK_DELETE_PIN );
|
msg = AddHotkeyName( _( "Delete Pin " ), s_Libedit_Hokeys_Descr,
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_DELETE_ITEM, msg, delete_pin_xpm );
|
HK_DELETE_PIN );
|
||||||
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_DELETE_ITEM,
|
||||||
|
msg, delete_pin_xpm );
|
||||||
}
|
}
|
||||||
wxMenu * global_pin_change = new wxMenu;
|
wxMenu* global_pin_change = new wxMenu;
|
||||||
ADD_MENUITEM_WITH_SUBMENU(PopMenu, global_pin_change, ID_POPUP_LIBEDIT_PIN_GLOBAL_CHANGE_ITEM,
|
ADD_MENUITEM_WITH_SUBMENU( PopMenu, global_pin_change,
|
||||||
_("Global"), pin_to_xpm);
|
ID_POPUP_LIBEDIT_PIN_GLOBAL_CHANGE_ITEM,
|
||||||
ADD_MENUITEM(global_pin_change, ID_POPUP_LIBEDIT_PIN_GLOBAL_CHANGE_PINSIZE_ITEM,
|
_( "Global" ), pin_to_xpm );
|
||||||
selected ? _("Pin Size to selected pins"): _("Pin Size to Others"),
|
ADD_MENUITEM( global_pin_change,
|
||||||
pin_size_to_xpm);
|
ID_POPUP_LIBEDIT_PIN_GLOBAL_CHANGE_PINSIZE_ITEM,
|
||||||
ADD_MENUITEM(global_pin_change, ID_POPUP_LIBEDIT_PIN_GLOBAL_CHANGE_PINNAMESIZE_ITEM,
|
selected ? _( "Pin Size to selected pins" ) :
|
||||||
selected ? _("Pin Name Size to selected pin") : _("Pin Name Size to Others"),
|
_( "Pin Size to Others" ), pin_size_to_xpm );
|
||||||
pin_name_to_xpm);
|
ADD_MENUITEM( global_pin_change,
|
||||||
ADD_MENUITEM(global_pin_change, ID_POPUP_LIBEDIT_PIN_GLOBAL_CHANGE_PINNUMSIZE_ITEM,
|
ID_POPUP_LIBEDIT_PIN_GLOBAL_CHANGE_PINNAMESIZE_ITEM,
|
||||||
selected ?_("Pin Num Size to selected pin") : _("Pin Num Size to Others"),
|
selected ? _( "Pin Name Size to selected pin" ) :
|
||||||
pin_number_to_xpm);
|
_( "Pin Name Size to Others" ), pin_name_to_xpm );
|
||||||
|
ADD_MENUITEM( global_pin_change,
|
||||||
|
ID_POPUP_LIBEDIT_PIN_GLOBAL_CHANGE_PINNUMSIZE_ITEM,
|
||||||
|
selected ? _( "Pin Num Size to selected pin" ) :
|
||||||
|
_( "Pin Num Size to Others" ), pin_number_to_xpm );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************/
|
/* Add menu commands for block */
|
||||||
void AddMenusForBlock(wxMenu * PopMenu, WinEDA_LibeditFrame * frame)
|
|
||||||
/**********************************************************************/
|
void AddMenusForBlock( wxMenu* PopMenu, WinEDA_LibeditFrame* frame )
|
||||||
/* Add menu commands for block
|
|
||||||
*/
|
|
||||||
{
|
{
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_LIBEDIT_CANCEL_EDITING, _("Cancel Block"), cancel_xpm);
|
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_CANCEL_EDITING,
|
||||||
|
_( "Cancel Block" ), cancel_xpm );
|
||||||
|
|
||||||
if( frame->GetScreen()->m_BlockLocate.m_Command == BLOCK_MOVE )
|
if( frame->GetScreen()->m_BlockLocate.m_Command == BLOCK_MOVE )
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_ZOOM_BLOCK, _("Zoom Block (drag middle mouse)"), zoom_selected_xpm);
|
ADD_MENUITEM( PopMenu, ID_POPUP_ZOOM_BLOCK,
|
||||||
|
_( "Zoom Block (drag middle mouse)" ),
|
||||||
|
zoom_selected_xpm );
|
||||||
|
|
||||||
PopMenu->AppendSeparator();
|
PopMenu->AppendSeparator();
|
||||||
|
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_PLACE_BLOCK, _("Place Block"), apply_xpm );
|
ADD_MENUITEM( PopMenu, ID_POPUP_PLACE_BLOCK, _( "Place Block" ),
|
||||||
|
apply_xpm );
|
||||||
|
|
||||||
if( frame->GetScreen()->m_BlockLocate.m_Command == BLOCK_MOVE )
|
if( frame->GetScreen()->m_BlockLocate.m_Command == BLOCK_MOVE )
|
||||||
{
|
{
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_SELECT_ITEMS_BLOCK, _("Select Items"), green_xpm);
|
ADD_MENUITEM( PopMenu, ID_POPUP_SELECT_ITEMS_BLOCK,
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_COPY_BLOCK,
|
_( "Select Items" ), green_xpm );
|
||||||
_("Copy Block"), copyblock_xpm);
|
ADD_MENUITEM( PopMenu, ID_POPUP_COPY_BLOCK,
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_MIRROR_Y_BLOCK, _("Mirror Block ||"), mirror_H_xpm );
|
_( "Copy Block" ), copyblock_xpm );
|
||||||
ADD_MENUITEM(PopMenu, ID_POPUP_DELETE_BLOCK,
|
ADD_MENUITEM( PopMenu, ID_POPUP_MIRROR_Y_BLOCK,
|
||||||
_("Delete Block"), delete_xpm );
|
_( "Mirror Block ||" ), mirror_H_xpm );
|
||||||
|
ADD_MENUITEM( PopMenu, ID_POPUP_DELETE_BLOCK,
|
||||||
|
_( "Delete Block" ), delete_xpm );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,9 +9,8 @@
|
||||||
#include "program.h"
|
#include "program.h"
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
//#include "id.h"
|
|
||||||
|
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
#include "libeditfrm.h"
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
|
@ -55,16 +54,16 @@ void WinEDA_LibeditFrame::GetComponentFromRedoList(wxCommandEvent& event)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
PICKED_ITEMS_LIST* lastcmd = new PICKED_ITEMS_LIST();
|
PICKED_ITEMS_LIST* lastcmd = new PICKED_ITEMS_LIST();
|
||||||
ITEM_PICKER wrapper(CurrentLibEntry, UR_LIBEDIT);
|
ITEM_PICKER wrapper(m_currentComponent, UR_LIBEDIT);
|
||||||
lastcmd->PushItem(wrapper);
|
lastcmd->PushItem(wrapper);
|
||||||
GetScreen()->PushCommandToUndoList( lastcmd );
|
GetScreen()->PushCommandToUndoList( lastcmd );
|
||||||
|
|
||||||
lastcmd = GetScreen()->PopCommandFromRedoList( );
|
lastcmd = GetScreen()->PopCommandFromRedoList( );
|
||||||
|
|
||||||
wrapper = lastcmd->PopItem();
|
wrapper = lastcmd->PopItem();
|
||||||
CurrentLibEntry = (LIB_COMPONENT*) wrapper.m_PickedItem;
|
m_currentComponent = (LIB_COMPONENT*) wrapper.m_PickedItem;
|
||||||
if( CurrentLibEntry )
|
if( m_currentComponent )
|
||||||
CurrentLibEntry->SetNext( NULL );
|
m_currentComponent->SetNext( NULL );
|
||||||
CurrentDrawItem = NULL;
|
CurrentDrawItem = NULL;
|
||||||
GetScreen()->SetModify();
|
GetScreen()->SetModify();
|
||||||
DrawPanel->Refresh();
|
DrawPanel->Refresh();
|
||||||
|
@ -85,17 +84,17 @@ void WinEDA_LibeditFrame::GetComponentFromUndoList(wxCommandEvent& event)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
PICKED_ITEMS_LIST* lastcmd = new PICKED_ITEMS_LIST();
|
PICKED_ITEMS_LIST* lastcmd = new PICKED_ITEMS_LIST();
|
||||||
ITEM_PICKER wrapper(CurrentLibEntry, UR_LIBEDIT);
|
ITEM_PICKER wrapper(m_currentComponent, UR_LIBEDIT);
|
||||||
lastcmd->PushItem(wrapper);
|
lastcmd->PushItem(wrapper);
|
||||||
GetScreen()->PushCommandToRedoList( lastcmd );
|
GetScreen()->PushCommandToRedoList( lastcmd );
|
||||||
|
|
||||||
lastcmd = GetScreen()->PopCommandFromUndoList( );
|
lastcmd = GetScreen()->PopCommandFromUndoList( );
|
||||||
|
|
||||||
wrapper = lastcmd->PopItem();
|
wrapper = lastcmd->PopItem();
|
||||||
CurrentLibEntry = (LIB_COMPONENT*) wrapper.m_PickedItem;
|
m_currentComponent = (LIB_COMPONENT*) wrapper.m_PickedItem;
|
||||||
|
|
||||||
if( CurrentLibEntry )
|
if( m_currentComponent )
|
||||||
CurrentLibEntry->SetNext( NULL );
|
m_currentComponent->SetNext( NULL );
|
||||||
CurrentDrawItem = NULL;
|
CurrentDrawItem = NULL;
|
||||||
GetScreen()->SetModify();
|
GetScreen()->SetModify();
|
||||||
DrawPanel->Refresh();
|
DrawPanel->Refresh();
|
||||||
|
|
|
@ -0,0 +1,160 @@
|
||||||
|
/*****************************/
|
||||||
|
/* class WinEDA_LibeditFrame */
|
||||||
|
/*****************************/
|
||||||
|
|
||||||
|
#ifndef __LIBEDITFRM_H__
|
||||||
|
#define __LIBEDITFRM_H__
|
||||||
|
|
||||||
|
#include "wxstruct.h"
|
||||||
|
|
||||||
|
|
||||||
|
class SCH_SCREEN;
|
||||||
|
class CMP_LIBRARY;
|
||||||
|
class LIB_COMPONENT;
|
||||||
|
class LIB_ALIAS;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The component library editor main window.
|
||||||
|
*/
|
||||||
|
class WinEDA_LibeditFrame : public WinEDA_DrawFrame
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
WinEDAChoiceBox* m_SelpartBox;
|
||||||
|
WinEDAChoiceBox* m_SelAliasBox;
|
||||||
|
|
||||||
|
public:
|
||||||
|
WinEDA_LibeditFrame( wxWindow* father,
|
||||||
|
const wxString& title,
|
||||||
|
const wxPoint& pos, const wxSize& size,
|
||||||
|
long style = KICAD_DEFAULT_DRAWFRAME_STYLE );
|
||||||
|
|
||||||
|
~WinEDA_LibeditFrame();
|
||||||
|
|
||||||
|
void Process_Special_Functions( wxCommandEvent& event );
|
||||||
|
void OnImportPart( wxCommandEvent& event );
|
||||||
|
void OnExportPart( wxCommandEvent& event );
|
||||||
|
void OnSelectAlias( wxCommandEvent& event );
|
||||||
|
void OnSelectPart( wxCommandEvent& event );
|
||||||
|
void DeleteOnePart( wxCommandEvent& event );
|
||||||
|
void CreateNewLibraryPart( wxCommandEvent& event );
|
||||||
|
void OnEditComponentProperties( wxCommandEvent& event );
|
||||||
|
void InstallFieldsEditorDialog( wxCommandEvent& event );
|
||||||
|
|
||||||
|
void OnUpdateEditingPart( wxUpdateUIEvent& event );
|
||||||
|
void OnUpdateNotEditingPart( wxUpdateUIEvent& event );
|
||||||
|
void OnUpdateUndo( wxUpdateUIEvent& event );
|
||||||
|
void OnUpdateRedo( wxUpdateUIEvent& event );
|
||||||
|
void OnUpdateSaveCurrentLib( wxUpdateUIEvent& event );
|
||||||
|
void OnUpdateViewDoc( wxUpdateUIEvent& event );
|
||||||
|
void OnUpdatePinByPin( wxUpdateUIEvent& event );
|
||||||
|
void OnUpdatePartNumber( wxUpdateUIEvent& event );
|
||||||
|
void OnUpdateDeMorganNormal( wxUpdateUIEvent& event );
|
||||||
|
void OnUpdateDeMorganConvert( wxUpdateUIEvent& event );
|
||||||
|
void OnUpdateSelectAlias( wxUpdateUIEvent& event );
|
||||||
|
|
||||||
|
void UpdateAliasSelectList();
|
||||||
|
void UpdatePartSelectList();
|
||||||
|
void DisplayLibInfos();
|
||||||
|
void RedrawActiveWindow( wxDC* DC, bool EraseBg );
|
||||||
|
void OnCloseWindow( wxCloseEvent& Event );
|
||||||
|
void ReCreateHToolbar();
|
||||||
|
void ReCreateVToolbar();
|
||||||
|
void OnLeftClick( wxDC* DC, const wxPoint& MousePos );
|
||||||
|
bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu );
|
||||||
|
int BestZoom(); // Retourne le meilleur zoom
|
||||||
|
void OnLeftDClick( wxDC* DC, const wxPoint& MousePos );
|
||||||
|
|
||||||
|
SCH_SCREEN* GetScreen() { return (SCH_SCREEN*) GetBaseScreen(); }
|
||||||
|
void OnHotKey( wxDC* DC, int hotkey,
|
||||||
|
EDA_BaseStruct* DrawStruct );
|
||||||
|
|
||||||
|
void GeneralControle( wxDC* DC,
|
||||||
|
wxPoint MousePositionInPixels );
|
||||||
|
|
||||||
|
void LoadSettings();
|
||||||
|
void SaveSettings();
|
||||||
|
|
||||||
|
LIB_COMPONENT* GetCurrentComponent( void )
|
||||||
|
{
|
||||||
|
return m_currentComponent;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
// General:
|
||||||
|
void SaveOnePartInMemory();
|
||||||
|
void SelectActiveLibrary();
|
||||||
|
bool LoadOneLibraryPart();
|
||||||
|
void SaveActiveLibrary( wxCommandEvent& event );
|
||||||
|
|
||||||
|
bool LoadOneLibraryPartAux( CMP_LIB_ENTRY* LibEntry,
|
||||||
|
CMP_LIBRARY* Library );
|
||||||
|
|
||||||
|
void DisplayCmpDoc();
|
||||||
|
void EditComponentProperties();
|
||||||
|
|
||||||
|
// General editing
|
||||||
|
public:
|
||||||
|
void SaveCopyInUndoList( EDA_BaseStruct* ItemToCopy,
|
||||||
|
int flag_type_command = 0 );
|
||||||
|
|
||||||
|
private:
|
||||||
|
void GetComponentFromUndoList(wxCommandEvent& event);
|
||||||
|
void GetComponentFromRedoList(wxCommandEvent& event);
|
||||||
|
|
||||||
|
// Edition des Pins:
|
||||||
|
void CreatePin( wxDC* DC );
|
||||||
|
void DeletePin( wxDC* DC,
|
||||||
|
LIB_COMPONENT* LibEntry,
|
||||||
|
LibDrawPin* Pin );
|
||||||
|
void StartMovePin( wxDC* DC );
|
||||||
|
|
||||||
|
// Test des pins ( duplicates...)
|
||||||
|
bool TestPins( LIB_COMPONENT* LibEntry );
|
||||||
|
|
||||||
|
// Edition de l'ancre
|
||||||
|
void PlaceAncre();
|
||||||
|
|
||||||
|
// Edition des graphismes:
|
||||||
|
LibEDA_BaseStruct* CreateGraphicItem( LIB_COMPONENT* LibEntry, wxDC* DC );
|
||||||
|
void GraphicItemBeginDraw( wxDC* DC );
|
||||||
|
void StartMoveDrawSymbol( wxDC* DC );
|
||||||
|
void EndDrawGraphicItem( wxDC* DC );
|
||||||
|
void LoadOneSymbol();
|
||||||
|
void SaveOneSymbol();
|
||||||
|
void EditGraphicSymbol( wxDC* DC,
|
||||||
|
LibEDA_BaseStruct* DrawItem );
|
||||||
|
void EditSymbolText( wxDC* DC, LibEDA_BaseStruct* DrawItem );
|
||||||
|
void RotateSymbolText( wxDC* DC );
|
||||||
|
void DeleteDrawPoly( wxDC* DC );
|
||||||
|
LibDrawField* LocateField( LIB_COMPONENT* LibEntry );
|
||||||
|
LibEDA_BaseStruct* LocateItemUsingCursor();
|
||||||
|
void RotateField( wxDC* DC, LibDrawField* Field );
|
||||||
|
void PlaceField( wxDC* DC, LibDrawField* Field );
|
||||||
|
void EditField( wxDC* DC, LibDrawField* Field );
|
||||||
|
void StartMoveField( wxDC* DC, LibDrawField* field );
|
||||||
|
|
||||||
|
public:
|
||||||
|
/* Block commands: */
|
||||||
|
int ReturnBlockCommand( int key );
|
||||||
|
void HandleBlockPlace( wxDC* DC );
|
||||||
|
int HandleBlockEnd( wxDC* DC );
|
||||||
|
|
||||||
|
void PlacePin( wxDC* DC );
|
||||||
|
void InitEditOnePin();
|
||||||
|
void GlobalSetPins( wxDC* DC, LibDrawPin* MasterPin, int id );
|
||||||
|
|
||||||
|
// Repetition automatique de placement de pins
|
||||||
|
void RepeatPinItem( wxDC* DC, LibDrawPin* Pin );
|
||||||
|
|
||||||
|
protected:
|
||||||
|
wxString m_ConfigPath;
|
||||||
|
wxString m_LastLibImportPath;
|
||||||
|
wxString m_LastLibExportPath;
|
||||||
|
|
||||||
|
static LIB_COMPONENT* m_currentComponent;
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* __LIBEDITFRM_H__ */
|
|
@ -11,19 +11,13 @@
|
||||||
#include "program.h"
|
#include "program.h"
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
|
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
#include "libeditfrm.h"
|
||||||
|
|
||||||
|
|
||||||
/* Routines locales */
|
/* Routines locales */
|
||||||
static void ShowMoveField( WinEDA_DrawPanel* panel, wxDC* DC, bool erase );
|
static void ShowMoveField( WinEDA_DrawPanel* panel, wxDC* DC, bool erase );
|
||||||
|
|
||||||
/*
|
|
||||||
* if the field is the reference, return reference like schematic,
|
|
||||||
* i.e U -> U? or U?A or the field text for others
|
|
||||||
*/
|
|
||||||
static wxString ReturnFieldFullText( LibDrawField* aField );
|
|
||||||
|
|
||||||
|
|
||||||
/* Variables locales */
|
/* Variables locales */
|
||||||
extern int CurrentUnit;
|
extern int CurrentUnit;
|
||||||
|
@ -55,7 +49,7 @@ void WinEDA_LibeditFrame::StartMoveField( wxDC* DC, LibDrawField* field )
|
||||||
{
|
{
|
||||||
wxPoint startPos;
|
wxPoint startPos;
|
||||||
|
|
||||||
if( ( CurrentLibEntry == NULL ) || ( field == NULL ) )
|
if( ( m_currentComponent == NULL ) || ( field == NULL ) )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
CurrentDrawItem = field;
|
CurrentDrawItem = field;
|
||||||
|
@ -77,37 +71,6 @@ void WinEDA_LibeditFrame::StartMoveField( wxDC* DC, LibDrawField* field )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If the field is the reference, return reference like schematic,
|
|
||||||
* i.e U -> U? or U?A or the field text for others
|
|
||||||
*
|
|
||||||
* @fixme This should be handled by the field object.
|
|
||||||
*/
|
|
||||||
static wxString ReturnFieldFullText( LibDrawField* aField )
|
|
||||||
{
|
|
||||||
if( aField->m_FieldId != REFERENCE )
|
|
||||||
return aField->m_Text;
|
|
||||||
|
|
||||||
wxString text = aField->m_Text;
|
|
||||||
|
|
||||||
if( CurrentLibEntry->m_UnitCount > 1 )
|
|
||||||
{
|
|
||||||
#if defined(KICAD_GOST)
|
|
||||||
text.Printf( wxT( "%s?.%c" ),
|
|
||||||
aField->m_Text.GetData(), CurrentUnit + '1' - 1 );
|
|
||||||
#else
|
|
||||||
|
|
||||||
text.Printf( wxT( "%s?%c" ),
|
|
||||||
aField->m_Text.GetData(), CurrentUnit + 'A' - 1 );
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
else
|
|
||||||
text << wxT( "?" );
|
|
||||||
|
|
||||||
return text;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************/
|
/*****************************************************************/
|
||||||
/* Routine d'affichage du texte 'Field' en cours de deplacement. */
|
/* Routine d'affichage du texte 'Field' en cours de deplacement. */
|
||||||
/* Routine normalement attachee au curseur */
|
/* Routine normalement attachee au curseur */
|
||||||
|
@ -116,10 +79,10 @@ static void ShowMoveField( WinEDA_DrawPanel* panel, wxDC* DC, bool erase )
|
||||||
{
|
{
|
||||||
LibDrawField* Field = (LibDrawField*) CurrentDrawItem;
|
LibDrawField* Field = (LibDrawField*) CurrentDrawItem;
|
||||||
|
|
||||||
if( ( CurrentLibEntry == NULL ) || ( Field == NULL ) )
|
if( Field == NULL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
wxString text = ReturnFieldFullText( Field );
|
wxString text = Field->GetFullText();
|
||||||
|
|
||||||
if( erase )
|
if( erase )
|
||||||
Field->Draw( panel, DC, wxPoint( 0, 0 ), -1, g_XorMode, &text,
|
Field->Draw( panel, DC, wxPoint( 0, 0 ), -1, g_XorMode, &text,
|
||||||
|
@ -144,7 +107,7 @@ void WinEDA_LibeditFrame::PlaceField( wxDC* DC, LibDrawField* Field )
|
||||||
Field->m_Pos.y = -GetScreen()->m_Curseur.y;
|
Field->m_Pos.y = -GetScreen()->m_Curseur.y;
|
||||||
DrawPanel->CursorOff( DC );
|
DrawPanel->CursorOff( DC );
|
||||||
|
|
||||||
wxString fieldText = ReturnFieldFullText( Field );
|
wxString fieldText = Field->GetFullText();
|
||||||
|
|
||||||
Field->Draw( DrawPanel, DC, wxPoint( 0, 0 ), -1, GR_DEFAULT_DRAWMODE,
|
Field->Draw( DrawPanel, DC, wxPoint( 0, 0 ), -1, GR_DEFAULT_DRAWMODE,
|
||||||
&fieldText, DefaultTransformMatrix );
|
&fieldText, DefaultTransformMatrix );
|
||||||
|
@ -196,13 +159,13 @@ void WinEDA_LibeditFrame::EditField( wxDC* DC, LibDrawField* Field )
|
||||||
wxString msg;
|
wxString msg;
|
||||||
|
|
||||||
/* Test for an existing name in the current components alias list. */
|
/* Test for an existing name in the current components alias list. */
|
||||||
if( CurrentLibEntry->m_AliasList.Index( Text, false ) != wxNOT_FOUND )
|
if( Field->GetParent()->m_AliasList.Index( Text, false ) != wxNOT_FOUND )
|
||||||
{
|
{
|
||||||
msg.Printf( _( "The field name <%s> is an existing alias of the \
|
msg.Printf( _( "The field name <%s> is an existing alias of the \
|
||||||
component <%s>.\nPlease choose another name that does not conflict with any \
|
component <%s>.\nPlease choose another name that does not conflict with any \
|
||||||
names in the alias list." ),
|
names in the alias list." ),
|
||||||
(const wxChar*) Text,
|
(const wxChar*) Text,
|
||||||
(const wxChar*) CurrentLibEntry->GetName() );
|
(const wxChar*) Field->GetParent()->GetName() );
|
||||||
DisplayError( this, msg );
|
DisplayError( this, msg );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -222,14 +185,14 @@ not conflict with any library entries." ),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
wxString fieldText = ReturnFieldFullText( Field );
|
wxString fieldText = Field->GetFullText();
|
||||||
|
|
||||||
Field->Draw( DrawPanel, DC, wxPoint( 0, 0 ), -1, g_XorMode, &fieldText,
|
Field->Draw( DrawPanel, DC, wxPoint( 0, 0 ), -1, g_XorMode, &fieldText,
|
||||||
DefaultTransformMatrix );
|
DefaultTransformMatrix );
|
||||||
|
|
||||||
if( !Text.IsEmpty() )
|
if( !Text.IsEmpty() )
|
||||||
{
|
{
|
||||||
SaveCopyInUndoList( CurrentLibEntry );
|
SaveCopyInUndoList( Field->GetParent() );
|
||||||
Field->m_Text = Text;
|
Field->m_Text = Text;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -237,7 +200,7 @@ not conflict with any library entries." ),
|
||||||
DisplayError( this, _( "No new text: no change" ) );
|
DisplayError( this, _( "No new text: no change" ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
fieldText = ReturnFieldFullText( Field );
|
fieldText = Field->GetFullText();
|
||||||
int drawMode = g_XorMode;
|
int drawMode = g_XorMode;
|
||||||
|
|
||||||
if( Field->m_Flags == 0 )
|
if( Field->m_Flags == 0 )
|
||||||
|
@ -266,7 +229,7 @@ void WinEDA_LibeditFrame::RotateField( wxDC* DC, LibDrawField* Field )
|
||||||
DrawPanel->CursorOff( DC );
|
DrawPanel->CursorOff( DC );
|
||||||
GRSetDrawMode( DC, g_XorMode );
|
GRSetDrawMode( DC, g_XorMode );
|
||||||
|
|
||||||
wxString fieldText = ReturnFieldFullText( Field );
|
wxString fieldText = Field->GetFullText();
|
||||||
|
|
||||||
Field->Draw( DrawPanel, DC, wxPoint( 0, 0 ), -1, g_XorMode, &fieldText,
|
Field->Draw( DrawPanel, DC, wxPoint( 0, 0 ), -1, g_XorMode, &fieldText,
|
||||||
DefaultTransformMatrix );
|
DefaultTransformMatrix );
|
||||||
|
@ -324,33 +287,33 @@ LibEDA_BaseStruct* WinEDA_LibeditFrame::LocateItemUsingCursor()
|
||||||
{
|
{
|
||||||
LibEDA_BaseStruct* DrawEntry = CurrentDrawItem;
|
LibEDA_BaseStruct* DrawEntry = CurrentDrawItem;
|
||||||
|
|
||||||
if( CurrentLibEntry == NULL )
|
if( m_currentComponent == NULL )
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if( ( DrawEntry == NULL ) || ( DrawEntry->m_Flags == 0 ) )
|
if( ( DrawEntry == NULL ) || ( DrawEntry->m_Flags == 0 ) )
|
||||||
{
|
{
|
||||||
DrawEntry = LocatePin( GetScreen()->m_Curseur, CurrentLibEntry,
|
DrawEntry = LocatePin( GetScreen()->m_Curseur, m_currentComponent,
|
||||||
CurrentUnit, CurrentConvert );
|
CurrentUnit, CurrentConvert );
|
||||||
if( DrawEntry == NULL )
|
if( DrawEntry == NULL )
|
||||||
{
|
{
|
||||||
DrawEntry = CurrentDrawItem =
|
DrawEntry = CurrentDrawItem =
|
||||||
LocateDrawItem( (SCH_SCREEN*) GetScreen(),
|
LocateDrawItem( (SCH_SCREEN*) GetScreen(),
|
||||||
GetScreen()->m_MousePosition,
|
GetScreen()->m_MousePosition,
|
||||||
CurrentLibEntry, CurrentUnit,
|
m_currentComponent, CurrentUnit,
|
||||||
CurrentConvert, LOCATE_ALL_DRAW_ITEM );
|
CurrentConvert, LOCATE_ALL_DRAW_ITEM );
|
||||||
}
|
}
|
||||||
if( DrawEntry == NULL )
|
if( DrawEntry == NULL )
|
||||||
{
|
{
|
||||||
DrawEntry = CurrentDrawItem =
|
DrawEntry = CurrentDrawItem =
|
||||||
LocateDrawItem( (SCH_SCREEN*) GetScreen(),
|
LocateDrawItem( (SCH_SCREEN*) GetScreen(),
|
||||||
GetScreen()->m_Curseur, CurrentLibEntry,
|
GetScreen()->m_Curseur, m_currentComponent,
|
||||||
CurrentUnit, CurrentConvert,
|
CurrentUnit, CurrentConvert,
|
||||||
LOCATE_ALL_DRAW_ITEM );
|
LOCATE_ALL_DRAW_ITEM );
|
||||||
}
|
}
|
||||||
if( DrawEntry == NULL )
|
if( DrawEntry == NULL )
|
||||||
{
|
{
|
||||||
DrawEntry = CurrentDrawItem =
|
DrawEntry = CurrentDrawItem =
|
||||||
(LibEDA_BaseStruct*) LocateField( CurrentLibEntry );
|
(LibEDA_BaseStruct*) LocateField( m_currentComponent );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,13 +11,15 @@
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
#include "eda_doc.h"
|
#include "eda_doc.h"
|
||||||
|
|
||||||
#include "program.h"
|
#include "program.h"
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "bitmaps.h"
|
#include "bitmaps.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "id.h"
|
#include "eeschema_id.h"
|
||||||
#include "class_library.h"
|
#include "class_library.h"
|
||||||
|
#include "libeditfrm.h"
|
||||||
|
|
||||||
#include <boost/foreach.hpp>
|
#include <boost/foreach.hpp>
|
||||||
|
|
||||||
|
@ -35,6 +37,9 @@ int ImportPartId = ::wxNewId();
|
||||||
int CreateNewLibAndSavePartId = ::wxNewId();
|
int CreateNewLibAndSavePartId = ::wxNewId();
|
||||||
|
|
||||||
|
|
||||||
|
LIB_COMPONENT* WinEDA_LibeditFrame::m_currentComponent = NULL;
|
||||||
|
|
||||||
|
|
||||||
/*****************************/
|
/*****************************/
|
||||||
/* class WinEDA_LibeditFrame */
|
/* class WinEDA_LibeditFrame */
|
||||||
/*****************************/
|
/*****************************/
|
||||||
|
@ -49,9 +54,9 @@ BEGIN_EVENT_TABLE( WinEDA_LibeditFrame, WinEDA_DrawFrame )
|
||||||
EVT_TOOL( ID_LIBEDIT_SELECT_CURRENT_LIB,
|
EVT_TOOL( ID_LIBEDIT_SELECT_CURRENT_LIB,
|
||||||
WinEDA_LibeditFrame::Process_Special_Functions )
|
WinEDA_LibeditFrame::Process_Special_Functions )
|
||||||
EVT_TOOL( ID_LIBEDIT_DELETE_PART,
|
EVT_TOOL( ID_LIBEDIT_DELETE_PART,
|
||||||
WinEDA_LibeditFrame::Process_Special_Functions )
|
WinEDA_LibeditFrame::DeleteOnePart )
|
||||||
EVT_TOOL( ID_LIBEDIT_NEW_PART,
|
EVT_TOOL( ID_LIBEDIT_NEW_PART,
|
||||||
WinEDA_LibeditFrame::Process_Special_Functions )
|
WinEDA_LibeditFrame::CreateNewLibraryPart )
|
||||||
EVT_TOOL( ID_LIBEDIT_SELECT_PART,
|
EVT_TOOL( ID_LIBEDIT_SELECT_PART,
|
||||||
WinEDA_LibeditFrame::Process_Special_Functions )
|
WinEDA_LibeditFrame::Process_Special_Functions )
|
||||||
EVT_TOOL( ID_LIBEDIT_SAVE_CURRENT_PART,
|
EVT_TOOL( ID_LIBEDIT_SAVE_CURRENT_PART,
|
||||||
|
@ -63,7 +68,7 @@ BEGIN_EVENT_TABLE( WinEDA_LibeditFrame, WinEDA_DrawFrame )
|
||||||
EVT_TOOL( ID_LIBEDIT_GET_FRAME_EDIT_PART,
|
EVT_TOOL( ID_LIBEDIT_GET_FRAME_EDIT_PART,
|
||||||
WinEDA_LibeditFrame::OnEditComponentProperties )
|
WinEDA_LibeditFrame::OnEditComponentProperties )
|
||||||
EVT_TOOL( ID_LIBEDIT_GET_FRAME_EDIT_FIELDS,
|
EVT_TOOL( ID_LIBEDIT_GET_FRAME_EDIT_FIELDS,
|
||||||
WinEDA_LibeditFrame::Process_Special_Functions )
|
WinEDA_LibeditFrame::InstallFieldsEditorDialog )
|
||||||
EVT_TOOL( ID_LIBEDIT_CHECK_PART,
|
EVT_TOOL( ID_LIBEDIT_CHECK_PART,
|
||||||
WinEDA_LibeditFrame::Process_Special_Functions )
|
WinEDA_LibeditFrame::Process_Special_Functions )
|
||||||
EVT_TOOL( ID_DE_MORGAN_NORMAL_BUTT,
|
EVT_TOOL( ID_DE_MORGAN_NORMAL_BUTT,
|
||||||
|
@ -86,11 +91,12 @@ BEGIN_EVENT_TABLE( WinEDA_LibeditFrame, WinEDA_DrawFrame )
|
||||||
|
|
||||||
/* Right vertical toolbar. */
|
/* Right vertical toolbar. */
|
||||||
EVT_TOOL( ID_NO_SELECT_BUTT, WinEDA_LibeditFrame::Process_Special_Functions )
|
EVT_TOOL( ID_NO_SELECT_BUTT, WinEDA_LibeditFrame::Process_Special_Functions )
|
||||||
EVT_TOOL_RANGE( ID_LIBEDIT_START_V_TOOL, ID_LIBEDIT_END_V_TOOL,
|
EVT_TOOL_RANGE( ID_LIBEDIT_PIN_BUTT, ID_LIBEDIT_EXPORT_BODY_BUTT,
|
||||||
WinEDA_LibeditFrame::Process_Special_Functions )
|
WinEDA_LibeditFrame::Process_Special_Functions )
|
||||||
|
|
||||||
/* Context menu events and commands. */
|
/* Context menu events and commands. */
|
||||||
EVT_MENU_RANGE( ID_POPUP_START_RANGE, ID_POPUP_END_RANGE,
|
EVT_MENU_RANGE( ID_POPUP_LIBEDIT_PIN_EDIT,
|
||||||
|
ID_POPUP_LIBEDIT_ROTATE_GRAPHIC_TEXT,
|
||||||
WinEDA_LibeditFrame::Process_Special_Functions )
|
WinEDA_LibeditFrame::Process_Special_Functions )
|
||||||
|
|
||||||
EVT_MENU_RANGE( ID_POPUP_GENERAL_START_RANGE, ID_POPUP_GENERAL_END_RANGE,
|
EVT_MENU_RANGE( ID_POPUP_GENERAL_START_RANGE, ID_POPUP_GENERAL_END_RANGE,
|
||||||
|
@ -246,10 +252,10 @@ int WinEDA_LibeditFrame::BestZoom()
|
||||||
wxSize size;
|
wxSize size;
|
||||||
EDA_Rect BoundaryBox;
|
EDA_Rect BoundaryBox;
|
||||||
|
|
||||||
if( CurrentLibEntry )
|
if( m_currentComponent )
|
||||||
{
|
{
|
||||||
BoundaryBox = CurrentLibEntry->GetBoundaryBox( CurrentUnit,
|
BoundaryBox = m_currentComponent->GetBoundaryBox( CurrentUnit,
|
||||||
CurrentConvert );
|
CurrentConvert );
|
||||||
dx = BoundaryBox.GetWidth();
|
dx = BoundaryBox.GetWidth();
|
||||||
dy = BoundaryBox.GetHeight();
|
dy = BoundaryBox.GetHeight();
|
||||||
}
|
}
|
||||||
|
@ -266,7 +272,7 @@ int WinEDA_LibeditFrame::BestZoom()
|
||||||
|
|
||||||
bestzoom = MAX( ii, jj ) + 1;
|
bestzoom = MAX( ii, jj ) + 1;
|
||||||
|
|
||||||
if( CurrentLibEntry )
|
if( m_currentComponent )
|
||||||
{
|
{
|
||||||
GetScreen()->m_Curseur = BoundaryBox.Centre();
|
GetScreen()->m_Curseur = BoundaryBox.Centre();
|
||||||
}
|
}
|
||||||
|
@ -287,15 +293,15 @@ void WinEDA_LibeditFrame::UpdateAliasSelectList()
|
||||||
|
|
||||||
m_SelAliasBox->Clear();
|
m_SelAliasBox->Clear();
|
||||||
|
|
||||||
if( CurrentLibEntry == NULL )
|
if( m_currentComponent == NULL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
m_SelAliasBox->Append( CurrentLibEntry->GetName() );
|
m_SelAliasBox->Append( m_currentComponent->GetName() );
|
||||||
m_SelAliasBox->SetSelection( 0 );
|
m_SelAliasBox->SetSelection( 0 );
|
||||||
|
|
||||||
if( !CurrentLibEntry->m_AliasList.IsEmpty() )
|
if( !m_currentComponent->m_AliasList.IsEmpty() )
|
||||||
{
|
{
|
||||||
m_SelAliasBox->Append( CurrentLibEntry->m_AliasList );
|
m_SelAliasBox->Append( m_currentComponent->m_AliasList );
|
||||||
|
|
||||||
int index = m_SelAliasBox->FindString( CurrentAliasName );
|
int index = m_SelAliasBox->FindString( CurrentAliasName );
|
||||||
|
|
||||||
|
@ -314,13 +320,13 @@ void WinEDA_LibeditFrame::UpdatePartSelectList()
|
||||||
if( m_SelpartBox->GetCount() != 0 )
|
if( m_SelpartBox->GetCount() != 0 )
|
||||||
m_SelpartBox->Clear();
|
m_SelpartBox->Clear();
|
||||||
|
|
||||||
if( CurrentLibEntry == NULL || CurrentLibEntry->m_UnitCount <= 1 )
|
if( m_currentComponent == NULL || m_currentComponent->m_UnitCount <= 1 )
|
||||||
{
|
{
|
||||||
m_SelpartBox->Append( wxEmptyString );
|
m_SelpartBox->Append( wxEmptyString );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
for( int i = 0; i < CurrentLibEntry->m_UnitCount; i++ )
|
for( int i = 0; i < m_currentComponent->m_UnitCount; i++ )
|
||||||
{
|
{
|
||||||
wxString msg;
|
wxString msg;
|
||||||
msg.Printf( _( "Part %c" ), 'A' + i );
|
msg.Printf( _( "Part %c" ), 'A' + i );
|
||||||
|
@ -334,26 +340,26 @@ void WinEDA_LibeditFrame::UpdatePartSelectList()
|
||||||
|
|
||||||
void WinEDA_LibeditFrame::OnUpdateEditingPart( wxUpdateUIEvent& event )
|
void WinEDA_LibeditFrame::OnUpdateEditingPart( wxUpdateUIEvent& event )
|
||||||
{
|
{
|
||||||
event.Enable( CurrentLibEntry != NULL );
|
event.Enable( m_currentComponent != NULL );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void WinEDA_LibeditFrame::OnUpdateNotEditingPart( wxUpdateUIEvent& event )
|
void WinEDA_LibeditFrame::OnUpdateNotEditingPart( wxUpdateUIEvent& event )
|
||||||
{
|
{
|
||||||
event.Enable( CurrentLibEntry == NULL );
|
event.Enable( m_currentComponent == NULL );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void WinEDA_LibeditFrame::OnUpdateUndo( wxUpdateUIEvent& event )
|
void WinEDA_LibeditFrame::OnUpdateUndo( wxUpdateUIEvent& event )
|
||||||
{
|
{
|
||||||
event.Enable( CurrentLibEntry != NULL && GetScreen() != NULL
|
event.Enable( m_currentComponent != NULL && GetScreen() != NULL
|
||||||
&& GetScreen()->GetUndoCommandCount() != 0 );
|
&& GetScreen()->GetUndoCommandCount() != 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void WinEDA_LibeditFrame::OnUpdateRedo( wxUpdateUIEvent& event )
|
void WinEDA_LibeditFrame::OnUpdateRedo( wxUpdateUIEvent& event )
|
||||||
{
|
{
|
||||||
event.Enable( CurrentLibEntry != NULL && GetScreen() != NULL
|
event.Enable( m_currentComponent != NULL && GetScreen() != NULL
|
||||||
&& GetScreen()->GetRedoCommandCount() != 0 );
|
&& GetScreen()->GetRedoCommandCount() != 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -369,7 +375,7 @@ void WinEDA_LibeditFrame::OnUpdateViewDoc( wxUpdateUIEvent& event )
|
||||||
{
|
{
|
||||||
bool enable = false;
|
bool enable = false;
|
||||||
|
|
||||||
if( CurrentLibEntry != NULL && CurrentLib != NULL )
|
if( m_currentComponent != NULL && CurrentLib != NULL )
|
||||||
{
|
{
|
||||||
if( !CurrentAliasName.IsEmpty() )
|
if( !CurrentAliasName.IsEmpty() )
|
||||||
{
|
{
|
||||||
|
@ -378,7 +384,7 @@ void WinEDA_LibeditFrame::OnUpdateViewDoc( wxUpdateUIEvent& event )
|
||||||
if( entry != NULL )
|
if( entry != NULL )
|
||||||
enable = !entry->m_DocFile.IsEmpty();
|
enable = !entry->m_DocFile.IsEmpty();
|
||||||
}
|
}
|
||||||
else if( !CurrentLibEntry->m_DocFile.IsEmpty() )
|
else if( !m_currentComponent->m_DocFile.IsEmpty() )
|
||||||
{
|
{
|
||||||
enable = true;
|
enable = true;
|
||||||
}
|
}
|
||||||
|
@ -390,8 +396,9 @@ void WinEDA_LibeditFrame::OnUpdateViewDoc( wxUpdateUIEvent& event )
|
||||||
|
|
||||||
void WinEDA_LibeditFrame::OnUpdatePinByPin( wxUpdateUIEvent& event )
|
void WinEDA_LibeditFrame::OnUpdatePinByPin( wxUpdateUIEvent& event )
|
||||||
{
|
{
|
||||||
event.Enable( ( CurrentLibEntry != NULL )
|
event.Enable( ( m_currentComponent != NULL )
|
||||||
&& ( ( CurrentLibEntry->m_UnitCount > 1 ) || g_AsDeMorgan ) );
|
&& ( ( m_currentComponent->m_UnitCount > 1 )
|
||||||
|
|| g_AsDeMorgan ) );
|
||||||
|
|
||||||
if( m_HToolBar )
|
if( m_HToolBar )
|
||||||
m_HToolBar->ToggleTool( event.GetId(), g_EditPinByPinIsOn );
|
m_HToolBar->ToggleTool( event.GetId(), g_EditPinByPinIsOn );
|
||||||
|
@ -406,8 +413,8 @@ void WinEDA_LibeditFrame::OnUpdatePartNumber( wxUpdateUIEvent& event )
|
||||||
/* Using the typical event.Enable() call dosen't seem to work with wxGTK
|
/* Using the typical event.Enable() call dosen't seem to work with wxGTK
|
||||||
* so use the pointer to alias combobox to directly enable or disable.
|
* so use the pointer to alias combobox to directly enable or disable.
|
||||||
*/
|
*/
|
||||||
m_SelpartBox->Enable( CurrentLibEntry != NULL
|
m_SelpartBox->Enable( m_currentComponent != NULL
|
||||||
&& CurrentLibEntry->m_UnitCount > 1 );
|
&& m_currentComponent->m_UnitCount > 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -416,7 +423,8 @@ void WinEDA_LibeditFrame::OnUpdateDeMorganNormal( wxUpdateUIEvent& event )
|
||||||
if( m_HToolBar == NULL )
|
if( m_HToolBar == NULL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
event.Enable( CurrentLibEntry != NULL && CurrentLibEntry->HasConversion() );
|
event.Enable( m_currentComponent != NULL
|
||||||
|
&& m_currentComponent->HasConversion() );
|
||||||
m_HToolBar->ToggleTool( event.GetId(), CurrentConvert <= 1 );
|
m_HToolBar->ToggleTool( event.GetId(), CurrentConvert <= 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -426,7 +434,8 @@ void WinEDA_LibeditFrame::OnUpdateDeMorganConvert( wxUpdateUIEvent& event )
|
||||||
if( m_HToolBar == NULL )
|
if( m_HToolBar == NULL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
event.Enable( CurrentLibEntry != NULL && CurrentLibEntry->HasConversion() );
|
event.Enable( m_currentComponent != NULL
|
||||||
|
&& m_currentComponent->HasConversion() );
|
||||||
m_HToolBar->ToggleTool( event.GetId(), CurrentConvert > 1 );
|
m_HToolBar->ToggleTool( event.GetId(), CurrentConvert > 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -439,8 +448,8 @@ void WinEDA_LibeditFrame::OnUpdateSelectAlias( wxUpdateUIEvent& event )
|
||||||
/* Using the typical event.Enable() call dosen't seem to work with wxGTK
|
/* Using the typical event.Enable() call dosen't seem to work with wxGTK
|
||||||
* so use the pointer to alias combobox to directly enable or disable.
|
* so use the pointer to alias combobox to directly enable or disable.
|
||||||
*/
|
*/
|
||||||
m_SelAliasBox->Enable( CurrentLibEntry != NULL
|
m_SelAliasBox->Enable( m_currentComponent != NULL
|
||||||
&& !CurrentLibEntry->m_AliasList.IsEmpty() );
|
&& !m_currentComponent->m_AliasList.IsEmpty() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -452,7 +461,7 @@ void WinEDA_LibeditFrame::OnSelectAlias( wxCommandEvent& event )
|
||||||
|
|
||||||
LibItemToRepeat = NULL;
|
LibItemToRepeat = NULL;
|
||||||
|
|
||||||
if( m_SelAliasBox->GetStringSelection().CmpNoCase(CurrentLibEntry->GetName() ) == 0 )
|
if( m_SelAliasBox->GetStringSelection().CmpNoCase(m_currentComponent->GetName() ) == 0 )
|
||||||
CurrentAliasName.Empty();
|
CurrentAliasName.Empty();
|
||||||
else
|
else
|
||||||
CurrentAliasName = m_SelAliasBox->GetStringSelection();
|
CurrentAliasName = m_SelAliasBox->GetStringSelection();
|
||||||
|
@ -525,18 +534,6 @@ void WinEDA_LibeditFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
|
|
||||||
switch( id )
|
switch( id )
|
||||||
{
|
{
|
||||||
case ID_LIBEDIT_NEW_PART:
|
|
||||||
{
|
|
||||||
g_EditPinByPinIsOn = false;
|
|
||||||
LibItemToRepeat = NULL;
|
|
||||||
CreateNewLibraryPart();
|
|
||||||
UpdateAliasSelectList();
|
|
||||||
UpdatePartSelectList();
|
|
||||||
GetScreen()->ClearUndoRedoList();
|
|
||||||
DrawPanel->Refresh();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
case ID_LIBEDIT_SELECT_CURRENT_LIB:
|
case ID_LIBEDIT_SELECT_CURRENT_LIB:
|
||||||
SelectActiveLibrary();
|
SelectActiveLibrary();
|
||||||
break;
|
break;
|
||||||
|
@ -555,19 +552,8 @@ void WinEDA_LibeditFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
SaveOnePartInMemory();
|
SaveOnePartInMemory();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_LIBEDIT_GET_FRAME_EDIT_FIELDS:
|
|
||||||
InstallFieldsEditorDialog( );
|
|
||||||
UpdateAliasSelectList();
|
|
||||||
UpdatePartSelectList();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ID_LIBEDIT_DELETE_PART:
|
|
||||||
LibItemToRepeat = NULL;
|
|
||||||
DeleteOnePart();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ID_LIBEDIT_CHECK_PART:
|
case ID_LIBEDIT_CHECK_PART:
|
||||||
if( CurrentLibEntry && TestPins( CurrentLibEntry ) == false )
|
if( m_currentComponent && TestPins( m_currentComponent ) == false )
|
||||||
DisplayInfoMessage( this, _( " Pins Test OK!" ) );
|
DisplayInfoMessage( this, _( " Pins Test OK!" ) );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -584,7 +570,7 @@ void WinEDA_LibeditFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_LIBEDIT_VIEW_DOC:
|
case ID_LIBEDIT_VIEW_DOC:
|
||||||
if( CurrentLibEntry )
|
if( m_currentComponent )
|
||||||
{
|
{
|
||||||
wxString docfilename;
|
wxString docfilename;
|
||||||
if( !CurrentAliasName.IsEmpty() )
|
if( !CurrentAliasName.IsEmpty() )
|
||||||
|
@ -594,7 +580,7 @@ void WinEDA_LibeditFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
docfilename = entry->m_DocFile;
|
docfilename = entry->m_DocFile;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
docfilename = CurrentLibEntry->m_DocFile;
|
docfilename = m_currentComponent->m_DocFile;
|
||||||
|
|
||||||
if( !docfilename.IsEmpty() )
|
if( !docfilename.IsEmpty() )
|
||||||
GetAssociatedDocument( this, docfilename,
|
GetAssociatedDocument( this, docfilename,
|
||||||
|
@ -611,7 +597,7 @@ void WinEDA_LibeditFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_LIBEDIT_PIN_BUTT:
|
case ID_LIBEDIT_PIN_BUTT:
|
||||||
if( CurrentLibEntry )
|
if( m_currentComponent )
|
||||||
{
|
{
|
||||||
SetToolID( id, wxCURSOR_PENCIL, _( "Add Pin" ) );
|
SetToolID( id, wxCURSOR_PENCIL, _( "Add Pin" ) );
|
||||||
}
|
}
|
||||||
|
@ -707,7 +693,7 @@ void WinEDA_LibeditFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
|
|
||||||
|
|
||||||
case ID_LIBEDIT_DELETE_ITEM_BUTT:
|
case ID_LIBEDIT_DELETE_ITEM_BUTT:
|
||||||
if( CurrentLibEntry == NULL )
|
if( m_currentComponent == NULL )
|
||||||
{
|
{
|
||||||
wxBell();
|
wxBell();
|
||||||
break;
|
break;
|
||||||
|
@ -729,18 +715,18 @@ void WinEDA_LibeditFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
break;
|
break;
|
||||||
DrawPanel->MouseToCursorSchema();
|
DrawPanel->MouseToCursorSchema();
|
||||||
DrawPanel->CursorOff( &dc );
|
DrawPanel->CursorOff( &dc );
|
||||||
SaveCopyInUndoList( CurrentLibEntry );
|
SaveCopyInUndoList( m_currentComponent );
|
||||||
if( CurrentDrawItem->Type() == COMPONENT_PIN_DRAW_TYPE )
|
if( CurrentDrawItem->Type() == COMPONENT_PIN_DRAW_TYPE )
|
||||||
{
|
{
|
||||||
DeletePin( &dc, CurrentLibEntry, (LibDrawPin*) CurrentDrawItem );
|
DeletePin( &dc, m_currentComponent, (LibDrawPin*) CurrentDrawItem );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if( DrawPanel->ManageCurseur && DrawPanel->ForceCloseManageCurseur )
|
if( DrawPanel->ManageCurseur && DrawPanel->ForceCloseManageCurseur )
|
||||||
DrawPanel->ForceCloseManageCurseur( DrawPanel, &dc );
|
DrawPanel->ForceCloseManageCurseur( DrawPanel, &dc );
|
||||||
else
|
else
|
||||||
CurrentLibEntry->RemoveDrawItem( CurrentDrawItem, DrawPanel,
|
m_currentComponent->RemoveDrawItem( CurrentDrawItem, DrawPanel,
|
||||||
&dc );
|
&dc );
|
||||||
}
|
}
|
||||||
|
|
||||||
CurrentDrawItem = NULL;
|
CurrentDrawItem = NULL;
|
||||||
|
@ -766,7 +752,7 @@ void WinEDA_LibeditFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
DrawPanel->CursorOff( &dc );
|
DrawPanel->CursorOff( &dc );
|
||||||
DrawPanel->MouseToCursorSchema();
|
DrawPanel->MouseToCursorSchema();
|
||||||
if( (CurrentDrawItem->m_Flags & IS_NEW) == 0 )
|
if( (CurrentDrawItem->m_Flags & IS_NEW) == 0 )
|
||||||
SaveCopyInUndoList( CurrentLibEntry );
|
SaveCopyInUndoList( m_currentComponent );
|
||||||
RotateSymbolText( &dc );
|
RotateSymbolText( &dc );
|
||||||
DrawPanel->CursorOn( &dc );
|
DrawPanel->CursorOn( &dc );
|
||||||
break;
|
break;
|
||||||
|
@ -778,7 +764,7 @@ void WinEDA_LibeditFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
DrawPanel->MouseToCursorSchema();
|
DrawPanel->MouseToCursorSchema();
|
||||||
if( CurrentDrawItem->Type() == COMPONENT_FIELD_DRAW_TYPE )
|
if( CurrentDrawItem->Type() == COMPONENT_FIELD_DRAW_TYPE )
|
||||||
{
|
{
|
||||||
SaveCopyInUndoList( CurrentLibEntry );
|
SaveCopyInUndoList( m_currentComponent );
|
||||||
RotateField( &dc, (LibDrawField*) CurrentDrawItem );
|
RotateField( &dc, (LibDrawField*) CurrentDrawItem );
|
||||||
}
|
}
|
||||||
DrawPanel->CursorOn( &dc );
|
DrawPanel->CursorOn( &dc );
|
||||||
|
@ -802,7 +788,7 @@ void WinEDA_LibeditFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
if( (CurrentDrawItem == NULL )
|
if( (CurrentDrawItem == NULL )
|
||||||
|| (CurrentDrawItem->Type() != COMPONENT_PIN_DRAW_TYPE) )
|
|| (CurrentDrawItem->Type() != COMPONENT_PIN_DRAW_TYPE) )
|
||||||
break;
|
break;
|
||||||
SaveCopyInUndoList( CurrentLibEntry );
|
SaveCopyInUndoList( m_currentComponent );
|
||||||
GlobalSetPins( &dc, (LibDrawPin*) CurrentDrawItem, id );
|
GlobalSetPins( &dc, (LibDrawPin*) CurrentDrawItem, id );
|
||||||
DrawPanel->MouseToCursorSchema();
|
DrawPanel->MouseToCursorSchema();
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -0,0 +1,71 @@
|
||||||
|
#ifndef __LIBVIEWFRM_H__
|
||||||
|
#define __LIBVIEWFRM_H__
|
||||||
|
|
||||||
|
|
||||||
|
class WinEDAChoiceBox;
|
||||||
|
class SCH_SCREEN;
|
||||||
|
class CMP_LIBRARY;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Component library viewer main window.
|
||||||
|
*/
|
||||||
|
class WinEDA_ViewlibFrame : public WinEDA_DrawFrame
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
WinEDAChoiceBox* SelpartBox;
|
||||||
|
|
||||||
|
// List of libraries (for selection )
|
||||||
|
wxSashLayoutWindow* m_LibListWindow;
|
||||||
|
wxListBox* m_LibList; // The list of libs
|
||||||
|
wxSize m_LibListSize; // size of the window
|
||||||
|
|
||||||
|
// List of components in the selected library
|
||||||
|
wxSashLayoutWindow* m_CmpListWindow;
|
||||||
|
wxListBox* m_CmpList; // The list of components
|
||||||
|
wxSize m_CmpListSize; // size of the window
|
||||||
|
|
||||||
|
// Flags
|
||||||
|
wxSemaphore* m_Semaphore; // != NULL if the frame must emulate a modal dialog
|
||||||
|
wxString m_ConfigPath; // subpath for configuartion
|
||||||
|
|
||||||
|
public:
|
||||||
|
WinEDA_ViewlibFrame( wxWindow* father,
|
||||||
|
CMP_LIBRARY* Library = NULL,
|
||||||
|
wxSemaphore* semaphore = NULL );
|
||||||
|
|
||||||
|
~WinEDA_ViewlibFrame();
|
||||||
|
|
||||||
|
void OnSize( wxSizeEvent& event );
|
||||||
|
void OnSashDrag( wxSashEvent& event );
|
||||||
|
void ReCreateListLib();
|
||||||
|
void ReCreateListCmp();
|
||||||
|
void Process_Special_Functions( wxCommandEvent& event );
|
||||||
|
void DisplayLibInfos();
|
||||||
|
void RedrawActiveWindow( wxDC* DC, bool EraseBg );
|
||||||
|
void OnCloseWindow( wxCloseEvent& Event );
|
||||||
|
void ReCreateHToolbar();
|
||||||
|
void ReCreateVToolbar();
|
||||||
|
void OnLeftClick( wxDC* DC, const wxPoint& MousePos );
|
||||||
|
int BestZoom(); // Retourne le meilleur zoom
|
||||||
|
void ClickOnLibList( wxCommandEvent& event );
|
||||||
|
void ClickOnCmpList( wxCommandEvent& event );
|
||||||
|
|
||||||
|
SCH_SCREEN* GetScreen() { return (SCH_SCREEN*) GetBaseScreen(); }
|
||||||
|
|
||||||
|
void GeneralControle( wxDC* DC, wxPoint MousePositionInPixels );
|
||||||
|
|
||||||
|
void LoadSettings();
|
||||||
|
void SaveSettings();
|
||||||
|
|
||||||
|
private:
|
||||||
|
void SelectCurrentLibrary();
|
||||||
|
void SelectAndViewLibraryPart( int option );
|
||||||
|
void ExportToSchematicLibraryPart( wxCommandEvent& event );
|
||||||
|
void ViewOneLibraryContent( CMP_LIBRARY* Lib, int Flag );
|
||||||
|
bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu );
|
||||||
|
|
||||||
|
DECLARE_EVENT_TABLE()
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* __LIBVIEWFRM_H__ */
|
|
@ -14,7 +14,7 @@
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "bitmaps.h"
|
#include "bitmaps.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "id.h"
|
#include "eeschema_id.h"
|
||||||
#include "hotkeys.h"
|
#include "hotkeys.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "id.h"
|
#include "eeschema_id.h"
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "id.h"
|
#include "eeschema_id.h"
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
|
|
||||||
|
|
|
@ -14,9 +14,9 @@
|
||||||
#ifndef _PINEDIT_DIALOG_H_
|
#ifndef _PINEDIT_DIALOG_H_
|
||||||
#define _PINEDIT_DIALOG_H_
|
#define _PINEDIT_DIALOG_H_
|
||||||
|
|
||||||
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
|
/* #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) */
|
||||||
#pragma interface "pinedit-dialog.h"
|
/* #pragma interface "pinedit-dialog.h" */
|
||||||
#endif
|
/* #endif */
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* Includes
|
* Includes
|
||||||
|
@ -29,8 +29,8 @@
|
||||||
#include "program.h"
|
#include "program.h"
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "id.h"
|
#include "eeschema_id.h"
|
||||||
|
#include "libeditfrm.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
|
||||||
////@begin includes
|
////@begin includes
|
||||||
|
|
|
@ -2,9 +2,11 @@
|
||||||
/* EESchema - PinEdit.cpp */
|
/* EESchema - PinEdit.cpp */
|
||||||
/***************************/
|
/***************************/
|
||||||
|
|
||||||
#if defined (__GNUG__) && !defined (NO_GCC_PRAGMA)
|
#include "fctsys.h"
|
||||||
#pragma implementation "pinedit-dialog.h"
|
|
||||||
#endif
|
#include "program.h"
|
||||||
|
#include "libeditfrm.h"
|
||||||
|
#include "eeschema_id.h"
|
||||||
|
|
||||||
#include "pinedit-dialog.h"
|
#include "pinedit-dialog.h"
|
||||||
|
|
||||||
|
@ -83,7 +85,7 @@ void WinEDA_PinPropertiesFrame::PinPropertiesAccept( wxCommandEvent& event )
|
||||||
if( CurrentDrawItem ) // Set Pin Name & Num
|
if( CurrentDrawItem ) // Set Pin Name & Num
|
||||||
{
|
{
|
||||||
if( !(CurrentDrawItem->m_Flags & IS_NEW) ) // if IS_NEW, copy for undo is done before place
|
if( !(CurrentDrawItem->m_Flags & IS_NEW) ) // if IS_NEW, copy for undo is done before place
|
||||||
m_Parent->SaveCopyInUndoList( CurrentLibEntry );
|
m_Parent->SaveCopyInUndoList( CurrentDrawItem->GetParent() );
|
||||||
|
|
||||||
SetPinName( m_PinNameCtrl->GetValue(), LastPinNameSize );
|
SetPinName( m_PinNameCtrl->GetValue(), LastPinNameSize );
|
||||||
msg = m_PinNumCtrl->GetValue();
|
msg = m_PinNumCtrl->GetValue();
|
||||||
|
@ -117,13 +119,13 @@ void WinEDA_LibeditFrame::InitEditOnePin()
|
||||||
LibDrawPin* Pin;
|
LibDrawPin* Pin;
|
||||||
LibDrawPin* CurrentPin = (LibDrawPin*) CurrentDrawItem;
|
LibDrawPin* CurrentPin = (LibDrawPin*) CurrentDrawItem;
|
||||||
|
|
||||||
if( CurrentLibEntry == NULL )
|
if( m_currentComponent == NULL )
|
||||||
return;
|
return;
|
||||||
if( CurrentPin == NULL )
|
if( CurrentPin == NULL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* Marquage des pins a traiter,Si edition d'une pin non deja selectionnee */
|
/* Marquage des pins a traiter,Si edition d'une pin non deja selectionnee */
|
||||||
Pin = (LibDrawPin*) CurrentLibEntry->m_Drawings;
|
Pin = (LibDrawPin*) m_currentComponent->m_Drawings;
|
||||||
for( ; Pin != NULL; Pin = Pin->Next() )
|
for( ; Pin != NULL; Pin = Pin->Next() )
|
||||||
{
|
{
|
||||||
if( Pin->Type() != COMPONENT_PIN_DRAW_TYPE )
|
if( Pin->Type() != COMPONENT_PIN_DRAW_TYPE )
|
||||||
|
@ -153,11 +155,11 @@ static void AbortPinMove( WinEDA_DrawPanel* Panel, wxDC* DC )
|
||||||
{
|
{
|
||||||
LibDrawPin* CurrentPin = (LibDrawPin*) CurrentDrawItem;
|
LibDrawPin* CurrentPin = (LibDrawPin*) CurrentDrawItem;
|
||||||
|
|
||||||
if( CurrentPin && ( CurrentPin->m_Flags & IS_NEW ) )
|
if( CurrentPin && ( CurrentPin->m_Flags & IS_NEW ) )
|
||||||
CurrentLibEntry->RemoveDrawItem( CurrentPin, Panel, DC );
|
CurrentPin->GetParent()->RemoveDrawItem( CurrentPin, Panel, DC );
|
||||||
|
|
||||||
/* clear edit flags */
|
/* clear edit flags */
|
||||||
LibEDA_BaseStruct* item = CurrentLibEntry->m_Drawings;
|
LibEDA_BaseStruct* item = CurrentPin->GetParent()->m_Drawings;
|
||||||
for( ; item != NULL; item = item->Next() )
|
for( ; item != NULL; item = item->Next() )
|
||||||
item->m_Flags = 0;
|
item->m_Flags = 0;
|
||||||
|
|
||||||
|
@ -186,7 +188,7 @@ void WinEDA_LibeditFrame::PlacePin( wxDC* DC )
|
||||||
newpos.x = GetScreen()->m_Curseur.x;
|
newpos.x = GetScreen()->m_Curseur.x;
|
||||||
newpos.y = -GetScreen()->m_Curseur.y;
|
newpos.y = -GetScreen()->m_Curseur.y;
|
||||||
|
|
||||||
Pin = (LibDrawPin*) CurrentLibEntry->m_Drawings;
|
Pin = (LibDrawPin*) m_currentComponent->m_Drawings;
|
||||||
|
|
||||||
// Tst for an other pin in same new position:
|
// Tst for an other pin in same new position:
|
||||||
for( ; Pin != NULL; Pin = Pin->Next() )
|
for( ; Pin != NULL; Pin = Pin->Next() )
|
||||||
|
@ -227,7 +229,7 @@ void WinEDA_LibeditFrame::PlacePin( wxDC* DC )
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Put linked pins in new position, and clear flags */
|
/* Put linked pins in new position, and clear flags */
|
||||||
Pin = (LibDrawPin*) CurrentLibEntry->m_Drawings;
|
Pin = (LibDrawPin*) m_currentComponent->m_Drawings;
|
||||||
for( ; Pin != NULL; Pin = Pin->Next() )
|
for( ; Pin != NULL; Pin = Pin->Next() )
|
||||||
{
|
{
|
||||||
if( Pin->Type() != COMPONENT_PIN_DRAW_TYPE )
|
if( Pin->Type() != COMPONENT_PIN_DRAW_TYPE )
|
||||||
|
@ -255,7 +257,7 @@ void WinEDA_PinPropertiesFrame::SetPinOrient( int neworient )
|
||||||
LibDrawPin* CurrentPin = (LibDrawPin*) CurrentDrawItem;
|
LibDrawPin* CurrentPin = (LibDrawPin*) CurrentDrawItem;
|
||||||
LibDrawPin* Pin, * RefPin = CurrentPin;
|
LibDrawPin* Pin, * RefPin = CurrentPin;
|
||||||
|
|
||||||
if( CurrentLibEntry == NULL )
|
if( CurrentPin == NULL || CurrentPin->GetParent() == NULL )
|
||||||
return;
|
return;
|
||||||
if( RefPin == NULL )
|
if( RefPin == NULL )
|
||||||
return;
|
return;
|
||||||
|
@ -265,7 +267,7 @@ void WinEDA_PinPropertiesFrame::SetPinOrient( int neworient )
|
||||||
/* Rotation */
|
/* Rotation */
|
||||||
RefPin->m_Orient = neworient;
|
RefPin->m_Orient = neworient;
|
||||||
|
|
||||||
Pin = (LibDrawPin*) CurrentLibEntry->m_Drawings;
|
Pin = (LibDrawPin*) CurrentPin->GetParent()->m_Drawings;
|
||||||
for( ; Pin != NULL; Pin = Pin->Next() )
|
for( ; Pin != NULL; Pin = Pin->Next() )
|
||||||
{
|
{
|
||||||
if( Pin->m_Flags == 0 )
|
if( Pin->m_Flags == 0 )
|
||||||
|
@ -291,7 +293,7 @@ void WinEDA_LibeditFrame::StartMovePin( wxDC* DC )
|
||||||
wxPoint startPos;
|
wxPoint startPos;
|
||||||
|
|
||||||
/* Marquage des pins a traiter */
|
/* Marquage des pins a traiter */
|
||||||
Pin = (LibDrawPin*) CurrentLibEntry->m_Drawings;
|
Pin = (LibDrawPin*) m_currentComponent->m_Drawings;
|
||||||
for( ; Pin != NULL; Pin = Pin->Next() )
|
for( ; Pin != NULL; Pin = Pin->Next() )
|
||||||
{
|
{
|
||||||
Pin->m_Flags = 0;
|
Pin->m_Flags = 0;
|
||||||
|
@ -373,7 +375,7 @@ void WinEDA_PinPropertiesFrame::SetPinShape( int newshape )
|
||||||
m_Parent->GetScreen()->SetModify();
|
m_Parent->GetScreen()->SetModify();
|
||||||
CurrentPin->DisplayInfo( m_Parent );
|
CurrentPin->DisplayInfo( m_Parent );
|
||||||
|
|
||||||
Pin = (LibDrawPin*) CurrentLibEntry->m_Drawings;
|
Pin = (LibDrawPin*) CurrentPin->GetParent()->m_Drawings;
|
||||||
for( ; Pin != NULL; Pin = Pin->Next() )
|
for( ; Pin != NULL; Pin = Pin->Next() )
|
||||||
{
|
{
|
||||||
if( Pin->Type() != COMPONENT_PIN_DRAW_TYPE )
|
if( Pin->Type() != COMPONENT_PIN_DRAW_TYPE )
|
||||||
|
@ -400,13 +402,13 @@ void WinEDA_PinPropertiesFrame::SetPinType( int newtype )
|
||||||
LibDrawPin* Pin;
|
LibDrawPin* Pin;
|
||||||
LibDrawPin* CurrentPin = (LibDrawPin*) CurrentDrawItem;
|
LibDrawPin* CurrentPin = (LibDrawPin*) CurrentDrawItem;
|
||||||
|
|
||||||
if( CurrentPin == NULL )
|
if( CurrentPin == NULL || CurrentPin->GetParent() == NULL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
CurrentPin->m_PinType = newtype;
|
CurrentPin->m_PinType = newtype;
|
||||||
m_Parent->GetScreen()->SetModify();
|
m_Parent->GetScreen()->SetModify();
|
||||||
|
|
||||||
Pin = (LibDrawPin*) CurrentLibEntry->m_Drawings;
|
Pin = (LibDrawPin*) CurrentPin->GetParent()->m_Drawings;
|
||||||
for( ; Pin != NULL; Pin = Pin->Next() )
|
for( ; Pin != NULL; Pin = Pin->Next() )
|
||||||
{
|
{
|
||||||
if( Pin->Type() != COMPONENT_PIN_DRAW_TYPE )
|
if( Pin->Type() != COMPONENT_PIN_DRAW_TYPE )
|
||||||
|
@ -431,6 +433,9 @@ void WinEDA_PinPropertiesFrame::SetPinName( const wxString& newname, int newsize
|
||||||
LibDrawPin* CurrentPin = (LibDrawPin*) CurrentDrawItem;
|
LibDrawPin* CurrentPin = (LibDrawPin*) CurrentDrawItem;
|
||||||
wxString buf;
|
wxString buf;
|
||||||
|
|
||||||
|
if( CurrentPin == NULL || CurrentPin->GetParent() == NULL )
|
||||||
|
return;
|
||||||
|
|
||||||
buf = newname;
|
buf = newname;
|
||||||
buf.Replace( wxT( " " ), wxT( "_" ) );
|
buf.Replace( wxT( " " ), wxT( "_" ) );
|
||||||
|
|
||||||
|
@ -442,7 +447,7 @@ void WinEDA_PinPropertiesFrame::SetPinName( const wxString& newname, int newsize
|
||||||
m_Parent->GetScreen()->SetModify();
|
m_Parent->GetScreen()->SetModify();
|
||||||
|
|
||||||
/* Traitement des autres pins */
|
/* Traitement des autres pins */
|
||||||
Pin = (LibDrawPin*) CurrentLibEntry->m_Drawings;
|
Pin = (LibDrawPin*) CurrentPin->GetParent()->m_Drawings;
|
||||||
for( ; Pin != NULL; Pin = Pin->Next() )
|
for( ; Pin != NULL; Pin = Pin->Next() )
|
||||||
{
|
{
|
||||||
if( Pin->Type() != COMPONENT_PIN_DRAW_TYPE )
|
if( Pin->Type() != COMPONENT_PIN_DRAW_TYPE )
|
||||||
|
@ -474,7 +479,7 @@ void WinEDA_PinPropertiesFrame::SetPinNum( const wxString& newnum, int newsize )
|
||||||
buf = newnum;
|
buf = newnum;
|
||||||
buf.Replace( wxT( " " ), wxT( "_" ) );
|
buf.Replace( wxT( " " ), wxT( "_" ) );
|
||||||
|
|
||||||
if( CurrentPin == NULL )
|
if( CurrentPin == NULL || CurrentPin->GetParent() == NULL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
CurrentPin->m_PinNum = 0;
|
CurrentPin->m_PinNum = 0;
|
||||||
|
@ -484,7 +489,7 @@ void WinEDA_PinPropertiesFrame::SetPinNum( const wxString& newnum, int newsize )
|
||||||
CurrentPin->SetPinNumFromString( buf );
|
CurrentPin->SetPinNumFromString( buf );
|
||||||
m_Parent->GetScreen()->SetModify();
|
m_Parent->GetScreen()->SetModify();
|
||||||
|
|
||||||
Pin = (LibDrawPin*) CurrentLibEntry->m_Drawings;
|
Pin = (LibDrawPin*) CurrentPin->GetParent()->m_Drawings;
|
||||||
for( ; Pin != NULL; Pin = Pin->Next() )
|
for( ; Pin != NULL; Pin = Pin->Next() )
|
||||||
{
|
{
|
||||||
if( Pin->Type() != COMPONENT_PIN_DRAW_TYPE )
|
if( Pin->Type() != COMPONENT_PIN_DRAW_TYPE )
|
||||||
|
@ -552,15 +557,15 @@ void WinEDA_LibeditFrame::CreatePin( wxDC* DC )
|
||||||
LibDrawPin* CurrentPin;
|
LibDrawPin* CurrentPin;
|
||||||
bool showPinText = true;
|
bool showPinText = true;
|
||||||
|
|
||||||
if( CurrentLibEntry == NULL )
|
if( m_currentComponent == NULL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* Effacement des flags */
|
/* Effacement des flags */
|
||||||
DrawItem = CurrentLibEntry->m_Drawings;
|
DrawItem = m_currentComponent->m_Drawings;
|
||||||
for( ; DrawItem != NULL; DrawItem = DrawItem->Next() )
|
for( ; DrawItem != NULL; DrawItem = DrawItem->Next() )
|
||||||
DrawItem->m_Flags = 0;
|
DrawItem->m_Flags = 0;
|
||||||
|
|
||||||
CurrentPin = new LibDrawPin(CurrentLibEntry);
|
CurrentPin = new LibDrawPin(m_currentComponent);
|
||||||
|
|
||||||
CurrentDrawItem = CurrentPin;
|
CurrentDrawItem = CurrentPin;
|
||||||
if( CurrentPin == NULL )
|
if( CurrentPin == NULL )
|
||||||
|
@ -594,9 +599,9 @@ void WinEDA_LibeditFrame::CreatePin( wxDC* DC )
|
||||||
else
|
else
|
||||||
CurrentPin->m_Attributs &= ~PINNOTDRAW;
|
CurrentPin->m_Attributs &= ~PINNOTDRAW;
|
||||||
|
|
||||||
CurrentPin->SetNext( CurrentLibEntry->m_Drawings );
|
CurrentPin->SetNext( m_currentComponent->m_Drawings );
|
||||||
CurrentLibEntry->m_Drawings = CurrentPin;
|
m_currentComponent->m_Drawings = CurrentPin;
|
||||||
CurrentLibEntry->SortDrawItems();
|
m_currentComponent->SortDrawItems();
|
||||||
|
|
||||||
if( DC )
|
if( DC )
|
||||||
CurrentPin->Draw( DrawPanel, DC, wxPoint( 0, 0 ), -1, g_XorMode,
|
CurrentPin->Draw( DrawPanel, DC, wxPoint( 0, 0 ), -1, g_XorMode,
|
||||||
|
@ -644,18 +649,18 @@ void WinEDA_PinPropertiesFrame::SetAttributsPin( bool draw,
|
||||||
|
|
||||||
m_Parent->GetScreen()->SetModify();
|
m_Parent->GetScreen()->SetModify();
|
||||||
|
|
||||||
if( unit )
|
if( unit )
|
||||||
{
|
{
|
||||||
if( LastPinCommonUnit )
|
if( LastPinCommonUnit )
|
||||||
CurrentPin->m_Unit = 0;
|
CurrentPin->m_Unit = 0;
|
||||||
else
|
else
|
||||||
CurrentPin->m_Unit = CurrentUnit;
|
CurrentPin->m_Unit = CurrentUnit;
|
||||||
|
|
||||||
Pin = (LibDrawPin*) CurrentLibEntry->m_Drawings;
|
Pin = (LibDrawPin*) CurrentPin->GetParent()->m_Drawings;
|
||||||
|
|
||||||
if( CurrentPin->m_Unit == 0 )
|
if( CurrentPin->m_Unit == 0 )
|
||||||
{
|
{
|
||||||
DrawItem = CurrentLibEntry->m_Drawings;
|
DrawItem = CurrentPin->GetParent()->m_Drawings;
|
||||||
for( ; DrawItem != NULL; )
|
for( ; DrawItem != NULL; )
|
||||||
{
|
{
|
||||||
Pin = (LibDrawPin*) DrawItem;
|
Pin = (LibDrawPin*) DrawItem;
|
||||||
|
@ -674,7 +679,7 @@ void WinEDA_PinPropertiesFrame::SetAttributsPin( bool draw,
|
||||||
if( Pin->m_Orient != CurrentPin->m_Orient )
|
if( Pin->m_Orient != CurrentPin->m_Orient )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
CurrentLibEntry->RemoveDrawItem( (LibEDA_BaseStruct*) Pin );
|
CurrentPin->GetParent()->RemoveDrawItem( (LibEDA_BaseStruct*) Pin );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} // end if unit
|
} // end if unit
|
||||||
|
@ -688,7 +693,7 @@ void WinEDA_PinPropertiesFrame::SetAttributsPin( bool draw,
|
||||||
|
|
||||||
if( CurrentPin->m_Convert == 0 ) /* Effacement des pins redondantes */
|
if( CurrentPin->m_Convert == 0 ) /* Effacement des pins redondantes */
|
||||||
{
|
{
|
||||||
DrawItem = CurrentLibEntry->m_Drawings;
|
DrawItem = CurrentPin->GetParent()->m_Drawings;
|
||||||
for( ; DrawItem != NULL; )
|
for( ; DrawItem != NULL; )
|
||||||
{
|
{
|
||||||
Pin = (LibDrawPin*) DrawItem;
|
Pin = (LibDrawPin*) DrawItem;
|
||||||
|
@ -706,7 +711,7 @@ void WinEDA_PinPropertiesFrame::SetAttributsPin( bool draw,
|
||||||
if( Pin->m_Orient != CurrentPin->m_Orient )
|
if( Pin->m_Orient != CurrentPin->m_Orient )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
CurrentLibEntry->RemoveDrawItem( (LibEDA_BaseStruct*) Pin );
|
CurrentPin->GetParent()->RemoveDrawItem( (LibEDA_BaseStruct*) Pin );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} // end if convert
|
} // end if convert
|
||||||
|
@ -718,7 +723,7 @@ void WinEDA_PinPropertiesFrame::SetAttributsPin( bool draw,
|
||||||
else
|
else
|
||||||
CurrentPin->m_Attributs &= ~PINNOTDRAW;
|
CurrentPin->m_Attributs &= ~PINNOTDRAW;
|
||||||
|
|
||||||
Pin = (LibDrawPin*) CurrentLibEntry->m_Drawings;
|
Pin = (LibDrawPin*) CurrentPin->GetParent()->m_Drawings;
|
||||||
for( ; Pin != NULL; Pin = Pin->Next() )
|
for( ; Pin != NULL; Pin = Pin->Next() )
|
||||||
{
|
{
|
||||||
if( Pin->m_Flags == 0 )
|
if( Pin->m_Flags == 0 )
|
||||||
|
@ -744,9 +749,7 @@ void WinEDA_PinPropertiesFrame::NewSizePin( int newsize )
|
||||||
{
|
{
|
||||||
LibDrawPin* RefPin, * Pin = (LibDrawPin*) CurrentDrawItem;
|
LibDrawPin* RefPin, * Pin = (LibDrawPin*) CurrentDrawItem;
|
||||||
|
|
||||||
if( CurrentLibEntry == NULL )
|
if( Pin == NULL || Pin->GetParent() == NULL )
|
||||||
return;
|
|
||||||
if( Pin == NULL )
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
m_Parent->GetScreen()->SetModify();
|
m_Parent->GetScreen()->SetModify();
|
||||||
|
@ -759,7 +762,7 @@ void WinEDA_PinPropertiesFrame::NewSizePin( int newsize )
|
||||||
|
|
||||||
if( g_EditPinByPinIsOn == false )
|
if( g_EditPinByPinIsOn == false )
|
||||||
{
|
{
|
||||||
Pin = (LibDrawPin*) CurrentLibEntry->m_Drawings;
|
Pin = (LibDrawPin*) Pin->GetParent()->m_Drawings;
|
||||||
for( ; Pin != NULL; Pin = Pin->Next() )
|
for( ; Pin != NULL; Pin = Pin->Next() )
|
||||||
{
|
{
|
||||||
if( Pin->Type() != COMPONENT_PIN_DRAW_TYPE )
|
if( Pin->Type() != COMPONENT_PIN_DRAW_TYPE )
|
||||||
|
@ -787,10 +790,11 @@ static void CreateImagePins( LibDrawPin* Pin )
|
||||||
LibDrawPin* NewPin;
|
LibDrawPin* NewPin;
|
||||||
bool CreateConv = false;
|
bool CreateConv = false;
|
||||||
|
|
||||||
|
|
||||||
if( g_EditPinByPinIsOn )
|
if( g_EditPinByPinIsOn )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if( g_AsDeMorgan && (Pin->m_Convert != 0 ) )
|
if( g_AsDeMorgan && ( Pin->m_Convert != 0 ) )
|
||||||
CreateConv = true;
|
CreateConv = true;
|
||||||
|
|
||||||
/* Creation de la pin " convert " pour la part courante */
|
/* Creation de la pin " convert " pour la part courante */
|
||||||
|
@ -801,15 +805,13 @@ static void CreateImagePins( LibDrawPin* Pin )
|
||||||
NewPin->m_Convert = 1;
|
NewPin->m_Convert = 1;
|
||||||
else
|
else
|
||||||
NewPin->m_Convert = 2;
|
NewPin->m_Convert = 2;
|
||||||
NewPin->SetNext( CurrentLibEntry->m_Drawings );
|
NewPin->SetNext( Pin->GetParent()->m_Drawings );
|
||||||
CurrentLibEntry->m_Drawings = NewPin;
|
Pin->GetParent()->m_Drawings = NewPin;
|
||||||
}
|
}
|
||||||
|
|
||||||
for( ii = 1; ii <= CurrentLibEntry->m_UnitCount; ii++ )
|
for( ii = 1; ii <= Pin->GetParent()->m_UnitCount; ii++ )
|
||||||
{
|
{
|
||||||
if( ii == CurrentUnit )
|
if( ii == CurrentUnit || Pin->m_Unit == 0 )
|
||||||
continue; /* Deja fait */
|
|
||||||
if( Pin->m_Unit == 0 )
|
|
||||||
continue; /* Pin commune a toutes les unites */
|
continue; /* Pin commune a toutes les unites */
|
||||||
|
|
||||||
/* Creation pour la representation "normale" */
|
/* Creation pour la representation "normale" */
|
||||||
|
@ -817,8 +819,8 @@ static void CreateImagePins( LibDrawPin* Pin )
|
||||||
if( CurrentConvert != 0 )
|
if( CurrentConvert != 0 )
|
||||||
NewPin->m_Convert = 1;
|
NewPin->m_Convert = 1;
|
||||||
NewPin->m_Unit = ii;
|
NewPin->m_Unit = ii;
|
||||||
NewPin->SetNext( CurrentLibEntry->m_Drawings );
|
NewPin->SetNext( Pin->GetParent()->m_Drawings );
|
||||||
CurrentLibEntry->m_Drawings = NewPin;
|
Pin->GetParent()->m_Drawings = NewPin;
|
||||||
|
|
||||||
/* Creation pour la representation "Convert" */
|
/* Creation pour la representation "Convert" */
|
||||||
if( CreateConv == false )
|
if( CreateConv == false )
|
||||||
|
@ -828,8 +830,8 @@ static void CreateImagePins( LibDrawPin* Pin )
|
||||||
NewPin->m_Convert = 2;
|
NewPin->m_Convert = 2;
|
||||||
if( Pin->m_Unit != 0 )
|
if( Pin->m_Unit != 0 )
|
||||||
NewPin->m_Unit = ii;
|
NewPin->m_Unit = ii;
|
||||||
NewPin->SetNext( CurrentLibEntry->m_Drawings );
|
NewPin->SetNext( Pin->GetParent()->m_Drawings );
|
||||||
CurrentLibEntry->m_Drawings = NewPin;
|
Pin->GetParent()->m_Drawings = NewPin;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -850,14 +852,14 @@ void WinEDA_LibeditFrame::GlobalSetPins( wxDC* DC,
|
||||||
bool selected = ( MasterPin->m_Selected & IS_SELECTED ) != 0;
|
bool selected = ( MasterPin->m_Selected & IS_SELECTED ) != 0;
|
||||||
bool showPinText = true;
|
bool showPinText = true;
|
||||||
|
|
||||||
if( ( CurrentLibEntry == NULL ) || ( MasterPin == NULL ) )
|
if( ( m_currentComponent == NULL ) || ( MasterPin == NULL ) )
|
||||||
return;
|
return;
|
||||||
if( MasterPin->Type() != COMPONENT_PIN_DRAW_TYPE )
|
if( MasterPin->Type() != COMPONENT_PIN_DRAW_TYPE )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
GetScreen()->SetModify();
|
GetScreen()->SetModify();
|
||||||
|
|
||||||
Pin = (LibDrawPin*) CurrentLibEntry->m_Drawings;
|
Pin = (LibDrawPin*) m_currentComponent->m_Drawings;
|
||||||
for( ; Pin != NULL; Pin = Pin->Next() )
|
for( ; Pin != NULL; Pin = Pin->Next() )
|
||||||
{
|
{
|
||||||
if( Pin->Type() != COMPONENT_PIN_DRAW_TYPE )
|
if( Pin->Type() != COMPONENT_PIN_DRAW_TYPE )
|
||||||
|
@ -902,16 +904,13 @@ void WinEDA_LibeditFrame::RepeatPinItem( wxDC* DC, LibDrawPin* SourcePin )
|
||||||
wxString msg;
|
wxString msg;
|
||||||
int ox = 0, oy = 0;
|
int ox = 0, oy = 0;
|
||||||
|
|
||||||
if( CurrentLibEntry == NULL )
|
if( m_currentComponent == NULL || SourcePin == NULL
|
||||||
return;
|
|| SourcePin->Type() != COMPONENT_PIN_DRAW_TYPE )
|
||||||
if( SourcePin == NULL )
|
|
||||||
return;
|
|
||||||
if( SourcePin->Type() != COMPONENT_PIN_DRAW_TYPE )
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Pin = (LibDrawPin*)SourcePin->GenCopy();
|
Pin = (LibDrawPin*)SourcePin->GenCopy();
|
||||||
Pin->SetNext( CurrentLibEntry->m_Drawings );
|
Pin->SetNext( m_currentComponent->m_Drawings );
|
||||||
CurrentLibEntry->m_Drawings = Pin;
|
m_currentComponent->m_Drawings = Pin;
|
||||||
Pin->m_Flags = IS_NEW;
|
Pin->m_Flags = IS_NEW;
|
||||||
|
|
||||||
Pin->m_Pos.x += g_RepeatStep.x;
|
Pin->m_Pos.x += g_RepeatStep.x;
|
||||||
|
@ -966,11 +965,11 @@ bool WinEDA_LibeditFrame::TestPins( LIB_COMPONENT* LibEntry )
|
||||||
LibDrawPin** PinList;
|
LibDrawPin** PinList;
|
||||||
wxString msg;
|
wxString msg;
|
||||||
|
|
||||||
if( CurrentLibEntry == NULL )
|
if( m_currentComponent == NULL )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Construction de la liste des pins:
|
// Construction de la liste des pins:
|
||||||
Pin = (LibDrawPin*) CurrentLibEntry->m_Drawings;
|
Pin = (LibDrawPin*) m_currentComponent->m_Drawings;
|
||||||
for( nb_pins = 0; Pin != NULL; Pin = Pin->Next() )
|
for( nb_pins = 0; Pin != NULL; Pin = Pin->Next() )
|
||||||
{
|
{
|
||||||
if( Pin->Type() == COMPONENT_PIN_DRAW_TYPE )
|
if( Pin->Type() == COMPONENT_PIN_DRAW_TYPE )
|
||||||
|
@ -978,7 +977,7 @@ bool WinEDA_LibeditFrame::TestPins( LIB_COMPONENT* LibEntry )
|
||||||
}
|
}
|
||||||
|
|
||||||
PinList = (LibDrawPin**) MyZMalloc( (nb_pins + 1) * sizeof(LibDrawPin*) );
|
PinList = (LibDrawPin**) MyZMalloc( (nb_pins + 1) * sizeof(LibDrawPin*) );
|
||||||
Pin = (LibDrawPin*) CurrentLibEntry->m_Drawings;
|
Pin = (LibDrawPin*) m_currentComponent->m_Drawings;
|
||||||
for( ii = 0; Pin != NULL; Pin = Pin->Next() )
|
for( ii = 0; Pin != NULL; Pin = Pin->Next() )
|
||||||
{
|
{
|
||||||
if( Pin->Type() == COMPONENT_PIN_DRAW_TYPE )
|
if( Pin->Type() == COMPONENT_PIN_DRAW_TYPE )
|
||||||
|
@ -1012,7 +1011,7 @@ bool WinEDA_LibeditFrame::TestPins( LIB_COMPONENT* LibEntry )
|
||||||
curr_pin->m_Pos.x, -curr_pin->m_Pos.y,
|
curr_pin->m_Pos.x, -curr_pin->m_Pos.y,
|
||||||
Pin->m_PinName.GetData(), Pin->m_Pos.x, -Pin->m_Pos.y );
|
Pin->m_PinName.GetData(), Pin->m_Pos.x, -Pin->m_Pos.y );
|
||||||
|
|
||||||
if( CurrentLibEntry->m_UnitCount > 1 )
|
if( m_currentComponent->m_UnitCount > 1 )
|
||||||
{
|
{
|
||||||
aux_msg.Printf( _( " Part %d" ), curr_pin->m_Unit );
|
aux_msg.Printf( _( " Part %d" ), curr_pin->m_Unit );
|
||||||
msg += aux_msg;
|
msg += aux_msg;
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
|
|
||||||
#include "id.h"
|
#include "eeschema_id.h"
|
||||||
|
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "bitmaps.h"
|
#include "bitmaps.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "id.h"
|
#include "eeschema_id.h"
|
||||||
#include "netlist.h"
|
#include "netlist.h"
|
||||||
|
|
||||||
#include "annotate_dialog.h"
|
#include "annotate_dialog.h"
|
||||||
|
@ -26,6 +26,8 @@
|
||||||
#include "dialog_find.h"
|
#include "dialog_find.h"
|
||||||
#include "netlist_control.h"
|
#include "netlist_control.h"
|
||||||
#include "dialog_erc.h"
|
#include "dialog_erc.h"
|
||||||
|
#include "libeditfrm.h"
|
||||||
|
#include "libviewfrm.h"
|
||||||
|
|
||||||
|
|
||||||
/*******************************/
|
/*******************************/
|
||||||
|
@ -92,6 +94,8 @@ BEGIN_EVENT_TABLE( WinEDA_SchematicFrame, WinEDA_DrawFrame )
|
||||||
EVT_TOOL( ID_GET_TOOLS, WinEDA_SchematicFrame::OnCreateBillOfMaterials )
|
EVT_TOOL( ID_GET_TOOLS, WinEDA_SchematicFrame::OnCreateBillOfMaterials )
|
||||||
EVT_TOOL( ID_FIND_ITEMS, WinEDA_SchematicFrame::OnFindItems )
|
EVT_TOOL( ID_FIND_ITEMS, WinEDA_SchematicFrame::OnFindItems )
|
||||||
EVT_TOOL( ID_BACKANNO_ITEMS, WinEDA_SchematicFrame::OnLoadStuffFile )
|
EVT_TOOL( ID_BACKANNO_ITEMS, WinEDA_SchematicFrame::OnLoadStuffFile )
|
||||||
|
EVT_TOOL( ID_COMPONENT_BUTT,
|
||||||
|
WinEDA_SchematicFrame::Process_Special_Functions )
|
||||||
|
|
||||||
EVT_MENU( ID_GENERAL_HELP, WinEDA_DrawFrame::GetKicadHelp )
|
EVT_MENU( ID_GENERAL_HELP, WinEDA_DrawFrame::GetKicadHelp )
|
||||||
EVT_MENU( ID_KICAD_ABOUT, WinEDA_DrawFrame::GetKicadAbout )
|
EVT_MENU( ID_KICAD_ABOUT, WinEDA_DrawFrame::GetKicadAbout )
|
||||||
|
|
|
@ -10,12 +10,14 @@
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
|
#include "eeschema_id.h"
|
||||||
|
|
||||||
#include "program.h"
|
#include "program.h"
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "trigo.h"
|
#include "trigo.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "id.h"
|
#include "libeditfrm.h"
|
||||||
|
|
||||||
/* Routines locales */
|
/* Routines locales */
|
||||||
static void SymbolDisplayDraw( WinEDA_DrawPanel* panel, wxDC* DC, bool erase );
|
static void SymbolDisplayDraw( WinEDA_DrawPanel* panel, wxDC* DC, bool erase );
|
||||||
|
@ -55,7 +57,7 @@ void WinEDA_bodygraphics_PropertiesFrame::bodygraphics_PropertiesAccept( wxComma
|
||||||
if( CurrentDrawItem )
|
if( CurrentDrawItem )
|
||||||
{
|
{
|
||||||
if( !(CurrentDrawItem->m_Flags & IS_NEW) ) // if IS_NEW, copy for undo is done before place
|
if( !(CurrentDrawItem->m_Flags & IS_NEW) ) // if IS_NEW, copy for undo is done before place
|
||||||
m_Parent->SaveCopyInUndoList( CurrentLibEntry );
|
m_Parent->SaveCopyInUndoList( CurrentDrawItem->GetParent() );
|
||||||
wxClientDC dc( m_Parent->DrawPanel );
|
wxClientDC dc( m_Parent->DrawPanel );
|
||||||
|
|
||||||
m_Parent->DrawPanel->PrepareGraphicContext( &dc );
|
m_Parent->DrawPanel->PrepareGraphicContext( &dc );
|
||||||
|
@ -105,7 +107,8 @@ void WinEDA_bodygraphics_PropertiesFrame::bodygraphics_PropertiesAccept( wxComma
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
CurrentLibEntry->SortDrawItems();
|
|
||||||
|
CurrentDrawItem->GetParent()->SortDrawItems();
|
||||||
|
|
||||||
m_Parent->GetScreen()->SetModify();
|
m_Parent->GetScreen()->SetModify();
|
||||||
|
|
||||||
|
@ -641,10 +644,10 @@ void WinEDA_LibeditFrame::EndDrawGraphicItem( wxDC* DC )
|
||||||
* courant, si elle existe et redessine toujours celle ci
|
* courant, si elle existe et redessine toujours celle ci
|
||||||
* Parametres: (tous globaux)
|
* Parametres: (tous globaux)
|
||||||
* CurrentDrawItem
|
* CurrentDrawItem
|
||||||
* CurrentLibEntry
|
* m_currentComponent
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
if( CurrentLibEntry == NULL )
|
if( m_currentComponent == NULL )
|
||||||
return;
|
return;
|
||||||
if( CurrentDrawItem == NULL )
|
if( CurrentDrawItem == NULL )
|
||||||
return;
|
return;
|
||||||
|
@ -666,9 +669,9 @@ void WinEDA_LibeditFrame::EndDrawGraphicItem( wxDC* DC )
|
||||||
|
|
||||||
if( CurrentDrawItem->m_Flags & IS_NEW )
|
if( CurrentDrawItem->m_Flags & IS_NEW )
|
||||||
{
|
{
|
||||||
SaveCopyInUndoList( CurrentLibEntry );
|
SaveCopyInUndoList( m_currentComponent );
|
||||||
CurrentDrawItem->SetNext( CurrentLibEntry->m_Drawings );
|
CurrentDrawItem->SetNext( m_currentComponent->m_Drawings );
|
||||||
CurrentLibEntry->m_Drawings = CurrentDrawItem;
|
m_currentComponent->m_Drawings = CurrentDrawItem;
|
||||||
|
|
||||||
switch( CurrentDrawItem->Type() )
|
switch( CurrentDrawItem->Type() )
|
||||||
{
|
{
|
||||||
|
@ -697,7 +700,7 @@ void WinEDA_LibeditFrame::EndDrawGraphicItem( wxDC* DC )
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
CurrentLibEntry->SortDrawItems();
|
m_currentComponent->SortDrawItems();
|
||||||
}
|
}
|
||||||
|
|
||||||
if( m_ID_current_state )
|
if( m_ID_current_state )
|
||||||
|
@ -713,8 +716,8 @@ void WinEDA_LibeditFrame::EndDrawGraphicItem( wxDC* DC )
|
||||||
MoveLibDrawItemAt( CurrentDrawItem, pos );
|
MoveLibDrawItemAt( CurrentDrawItem, pos );
|
||||||
}
|
}
|
||||||
|
|
||||||
CurrentLibEntry->Draw( DrawPanel, DC, wxPoint( 0, 0 ), CurrentUnit,
|
m_currentComponent->Draw( DrawPanel, DC, wxPoint( 0, 0 ), CurrentUnit,
|
||||||
CurrentConvert, GR_DEFAULT_DRAWMODE );
|
CurrentConvert, GR_DEFAULT_DRAWMODE );
|
||||||
|
|
||||||
CurrentDrawItem->m_Flags = 0;
|
CurrentDrawItem->m_Flags = 0;
|
||||||
CurrentDrawItem = NULL;
|
CurrentDrawItem = NULL;
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
#include "libeditfrm.h"
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -37,7 +38,7 @@ void WinEDA_LibeditFrame::LoadOneSymbol( void )
|
||||||
CMP_LIBRARY* Lib;
|
CMP_LIBRARY* Lib;
|
||||||
|
|
||||||
/* Exit if no library entry is selected or a command is in progress. */
|
/* Exit if no library entry is selected or a command is in progress. */
|
||||||
if( CurrentLibEntry == NULL
|
if( m_currentComponent == NULL
|
||||||
|| ( CurrentDrawItem && CurrentDrawItem->m_Flags ) )
|
|| ( CurrentDrawItem && CurrentDrawItem->m_Flags ) )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -109,8 +110,8 @@ void WinEDA_LibeditFrame::LoadOneSymbol( void )
|
||||||
|
|
||||||
if( DrawEntry->Next() == NULL ) /* Fin de liste trouvee */
|
if( DrawEntry->Next() == NULL ) /* Fin de liste trouvee */
|
||||||
{
|
{
|
||||||
DrawEntry->SetNext( CurrentLibEntry->m_Drawings );
|
DrawEntry->SetNext( m_currentComponent->m_Drawings );
|
||||||
CurrentLibEntry->m_Drawings = Component->m_Drawings;
|
m_currentComponent->m_Drawings = Component->m_Drawings;
|
||||||
Component->m_Drawings = NULL;
|
Component->m_Drawings = NULL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -119,10 +120,10 @@ void WinEDA_LibeditFrame::LoadOneSymbol( void )
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remove duplicated drawings:
|
// Remove duplicated drawings:
|
||||||
CurrentLibEntry->RemoveDuplicateDrawItems();
|
m_currentComponent->RemoveDuplicateDrawItems();
|
||||||
|
|
||||||
// Clear flags
|
// Clear flags
|
||||||
DrawEntry = CurrentLibEntry->m_Drawings;
|
DrawEntry = m_currentComponent->m_Drawings;
|
||||||
while( DrawEntry )
|
while( DrawEntry )
|
||||||
{
|
{
|
||||||
DrawEntry->m_Flags = 0;
|
DrawEntry->m_Flags = 0;
|
||||||
|
@ -151,14 +152,14 @@ void WinEDA_LibeditFrame::SaveOneSymbol()
|
||||||
wxString msg;
|
wxString msg;
|
||||||
FILE* ExportFile;
|
FILE* ExportFile;
|
||||||
|
|
||||||
if( CurrentLibEntry->m_Drawings == NULL )
|
if( m_currentComponent->m_Drawings == NULL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* Creation du fichier symbole */
|
/* Creation du fichier symbole */
|
||||||
wxString default_path = wxGetApp().ReturnLastVisitedLibraryPath();
|
wxString default_path = wxGetApp().ReturnLastVisitedLibraryPath();
|
||||||
|
|
||||||
wxFileDialog dlg( this, _( "Export Symbol Drawings" ), default_path,
|
wxFileDialog dlg( this, _( "Export Symbol Drawings" ), default_path,
|
||||||
CurrentLibEntry->m_Name.m_Text, SymbolFileWildcard,
|
m_currentComponent->m_Name.m_Text, SymbolFileWildcard,
|
||||||
wxFD_SAVE | wxFD_OVERWRITE_PROMPT );
|
wxFD_SAVE | wxFD_OVERWRITE_PROMPT );
|
||||||
|
|
||||||
if( dlg.ShowModal() == wxID_CANCEL )
|
if( dlg.ShowModal() == wxID_CANCEL )
|
||||||
|
@ -194,28 +195,28 @@ void WinEDA_LibeditFrame::SaveOneSymbol()
|
||||||
|
|
||||||
/* Creation du commentaire donnant le nom du composant */
|
/* Creation du commentaire donnant le nom du composant */
|
||||||
fprintf( ExportFile, "# SYMBOL %s\n#\n",
|
fprintf( ExportFile, "# SYMBOL %s\n#\n",
|
||||||
CONV_TO_UTF8( CurrentLibEntry->m_Name.m_Text ) );
|
CONV_TO_UTF8( m_currentComponent->m_Name.m_Text ) );
|
||||||
|
|
||||||
/* Generation des lignes utiles */
|
/* Generation des lignes utiles */
|
||||||
fprintf( ExportFile, "DEF %s",
|
fprintf( ExportFile, "DEF %s",
|
||||||
CONV_TO_UTF8( CurrentLibEntry->m_Name.m_Text ) );
|
CONV_TO_UTF8( m_currentComponent->m_Name.m_Text ) );
|
||||||
if( !CurrentLibEntry->m_Prefix.m_Text.IsEmpty() )
|
if( !m_currentComponent->m_Prefix.m_Text.IsEmpty() )
|
||||||
fprintf( ExportFile, " %s",
|
fprintf( ExportFile, " %s",
|
||||||
CONV_TO_UTF8( CurrentLibEntry->m_Prefix.m_Text ) );
|
CONV_TO_UTF8( m_currentComponent->m_Prefix.m_Text ) );
|
||||||
else
|
else
|
||||||
fprintf( ExportFile, " ~" );
|
fprintf( ExportFile, " ~" );
|
||||||
|
|
||||||
fprintf( ExportFile, " %d %d %c %c %d %d %c\n",
|
fprintf( ExportFile, " %d %d %c %c %d %d %c\n",
|
||||||
0, /* unused */
|
0, /* unused */
|
||||||
CurrentLibEntry->m_TextInside,
|
m_currentComponent->m_TextInside,
|
||||||
CurrentLibEntry->m_DrawPinNum ? 'Y' : 'N',
|
m_currentComponent->m_DrawPinNum ? 'Y' : 'N',
|
||||||
CurrentLibEntry->m_DrawPinName ? 'Y' : 'N',
|
m_currentComponent->m_DrawPinName ? 'Y' : 'N',
|
||||||
1, 0 /* unused */, 'N' );
|
1, 0 /* unused */, 'N' );
|
||||||
|
|
||||||
/* Position / orientation / visibilite des champs */
|
/* Position / orientation / visibilite des champs */
|
||||||
CurrentLibEntry->m_Prefix.Save( ExportFile );
|
m_currentComponent->m_Prefix.Save( ExportFile );
|
||||||
CurrentLibEntry->m_Name.Save( ExportFile );
|
m_currentComponent->m_Name.Save( ExportFile );
|
||||||
DrawEntry = CurrentLibEntry->m_Drawings;
|
DrawEntry = m_currentComponent->m_Drawings;
|
||||||
|
|
||||||
if( DrawEntry )
|
if( DrawEntry )
|
||||||
{
|
{
|
||||||
|
@ -250,14 +251,14 @@ void WinEDA_LibeditFrame::SaveOneSymbol()
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
void WinEDA_LibeditFrame::PlaceAncre()
|
void WinEDA_LibeditFrame::PlaceAncre()
|
||||||
{
|
{
|
||||||
if( CurrentLibEntry == NULL )
|
if( m_currentComponent == NULL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
wxPoint offset( -GetScreen()->m_Curseur.x, GetScreen()->m_Curseur.y );
|
wxPoint offset( -GetScreen()->m_Curseur.x, GetScreen()->m_Curseur.y );
|
||||||
|
|
||||||
GetScreen()->SetModify();
|
GetScreen()->SetModify();
|
||||||
|
|
||||||
CurrentLibEntry->SetOffset( offset );
|
m_currentComponent->SetOffset( offset );
|
||||||
|
|
||||||
/* Redraw the symbol */
|
/* Redraw the symbol */
|
||||||
GetScreen()->m_Curseur.x = GetScreen()->m_Curseur.y = 0;
|
GetScreen()->m_Curseur.x = GetScreen()->m_Curseur.y = 0;
|
||||||
|
|
|
@ -3,14 +3,16 @@
|
||||||
/********************************************/
|
/********************************************/
|
||||||
|
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
#include "hotkeys.h"
|
||||||
|
#include "bitmaps.h"
|
||||||
|
#include "eeschema_id.h"
|
||||||
|
|
||||||
#include "program.h"
|
#include "program.h"
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
|
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "hotkeys.h"
|
#include "libeditfrm.h"
|
||||||
|
|
||||||
#ifdef __UNIX__
|
#ifdef __UNIX__
|
||||||
#define LISTBOX_WIDTH 140
|
#define LISTBOX_WIDTH 140
|
||||||
|
@ -18,9 +20,6 @@
|
||||||
#define LISTBOX_WIDTH 120
|
#define LISTBOX_WIDTH 120
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "bitmaps.h"
|
|
||||||
|
|
||||||
#include "id.h"
|
|
||||||
|
|
||||||
extern int ExportPartId;
|
extern int ExportPartId;
|
||||||
extern int ImportPartId;
|
extern int ImportPartId;
|
||||||
|
@ -42,7 +41,7 @@ void WinEDA_LibeditFrame::ReCreateVToolbar()
|
||||||
m_VToolBar->AddSeparator();
|
m_VToolBar->AddSeparator();
|
||||||
m_VToolBar->AddTool( ID_LIBEDIT_PIN_BUTT, wxEmptyString,
|
m_VToolBar->AddTool( ID_LIBEDIT_PIN_BUTT, wxEmptyString,
|
||||||
wxBitmap( pin_xpm ),
|
wxBitmap( pin_xpm ),
|
||||||
_( "Add Pins" ), wxITEM_CHECK );
|
_( "Add pin" ), wxITEM_CHECK );
|
||||||
|
|
||||||
m_VToolBar->AddTool( ID_LIBEDIT_BODY_TEXT_BUTT, wxEmptyString,
|
m_VToolBar->AddTool( ID_LIBEDIT_BODY_TEXT_BUTT, wxEmptyString,
|
||||||
wxBitmap( add_text_xpm ),
|
wxBitmap( add_text_xpm ),
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
#include "hotkeys.h"
|
#include "hotkeys.h"
|
||||||
|
|
||||||
#include "bitmaps.h"
|
#include "bitmaps.h"
|
||||||
#include "id.h"
|
#include "eeschema_id.h"
|
||||||
|
|
||||||
|
|
||||||
/**************************************************************/
|
/**************************************************************/
|
||||||
|
|
|
@ -5,13 +5,14 @@
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "bitmaps.h"
|
#include "bitmaps.h"
|
||||||
#include "id.h"
|
#include "eeschema_id.h"
|
||||||
|
|
||||||
#include "program.h"
|
#include "program.h"
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_library.h"
|
#include "class_library.h"
|
||||||
|
#include "libviewfrm.h"
|
||||||
|
|
||||||
|
|
||||||
void WinEDA_ViewlibFrame::ReCreateHToolbar()
|
void WinEDA_ViewlibFrame::ReCreateHToolbar()
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "appl_wxstruct.h"
|
#include "appl_wxstruct.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "id.h"
|
#include "eeschema_id.h"
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "bitmaps.h"
|
#include "bitmaps.h"
|
||||||
|
|
||||||
|
@ -13,6 +13,7 @@
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
#include "libviewfrm.h"
|
||||||
|
|
||||||
|
|
||||||
/*****************************/
|
/*****************************/
|
||||||
|
@ -30,8 +31,9 @@ BEGIN_EVENT_TABLE( WinEDA_ViewlibFrame, WinEDA_DrawFrame )
|
||||||
|
|
||||||
|
|
||||||
/* Toolbar events */
|
/* Toolbar events */
|
||||||
EVT_TOOL_RANGE( ID_LIBVIEW_START_H_TOOL, ID_LIBVIEW_END_H_TOOL,
|
EVT_TOOL_RANGE( ID_LIBVIEW_NEXT, ID_LIBVIEW_DE_MORGAN_CONVERT_BUTT,
|
||||||
WinEDA_ViewlibFrame::Process_Special_Functions )
|
WinEDA_ViewlibFrame::Process_Special_Functions )
|
||||||
|
|
||||||
EVT_TOOL_RANGE( ID_ZOOM_IN, ID_ZOOM_PAGE, WinEDA_ViewlibFrame::OnZoom )
|
EVT_TOOL_RANGE( ID_ZOOM_IN, ID_ZOOM_PAGE, WinEDA_ViewlibFrame::OnZoom )
|
||||||
EVT_TOOL( ID_LIBVIEW_CMP_EXPORT_TO_SCHEMATIC,
|
EVT_TOOL( ID_LIBVIEW_CMP_EXPORT_TO_SCHEMATIC,
|
||||||
WinEDA_ViewlibFrame::ExportToSchematicLibraryPart )
|
WinEDA_ViewlibFrame::ExportToSchematicLibraryPart )
|
||||||
|
|
|
@ -9,12 +9,13 @@
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
#include "eda_doc.h"
|
#include "eda_doc.h"
|
||||||
#include "id.h"
|
|
||||||
|
|
||||||
#include "program.h"
|
#include "program.h"
|
||||||
#include "libcmp.h"
|
#include "libcmp.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
#include "libviewfrm.h"
|
||||||
|
#include "eeschema_id.h"
|
||||||
|
|
||||||
|
|
||||||
#define NEXT_PART 1
|
#define NEXT_PART 1
|
||||||
|
|
|
@ -10,17 +10,12 @@
|
||||||
|
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "id.h"
|
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
|
|
||||||
#include "pcbnew.h"
|
#include "pcbnew.h"
|
||||||
#include "gerbview.h"
|
#include "gerbview.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
|
||||||
/* Routines Locales : */
|
|
||||||
|
|
||||||
/* Variables Locales */
|
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************/
|
/**********************************************************************/
|
||||||
BOARD_ITEM* WinEDA_GerberFrame::GerberGeneralLocateAndDisplay()
|
BOARD_ITEM* WinEDA_GerberFrame::GerberGeneralLocateAndDisplay()
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
/******************************************************/
|
/******************************************************/
|
||||||
|
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "id.h"
|
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
#include "gestfich.h"
|
#include "gestfich.h"
|
||||||
|
@ -13,6 +12,8 @@
|
||||||
#include "pcbplot.h"
|
#include "pcbplot.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
void WinEDA_GerberFrame::OnLeftClick( wxDC* DC, const wxPoint& MousePos )
|
void WinEDA_GerberFrame::OnLeftClick( wxDC* DC, const wxPoint& MousePos )
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
|
|
|
@ -11,7 +11,6 @@
|
||||||
#include "gerbview.h"
|
#include "gerbview.h"
|
||||||
#include "pcbplot.h"
|
#include "pcbplot.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "id.h"
|
|
||||||
|
|
||||||
|
|
||||||
/* Routines locales */
|
/* Routines locales */
|
||||||
|
@ -50,7 +49,6 @@ void WinEDA_GerberFrame::Files_io( wxCommandEvent& event )
|
||||||
|
|
||||||
switch( id )
|
switch( id )
|
||||||
{
|
{
|
||||||
case ID_MENU_LOAD_FILE:
|
|
||||||
case ID_LOAD_FILE:
|
case ID_LOAD_FILE:
|
||||||
if( Clear_Pcb( TRUE ) )
|
if( Clear_Pcb( TRUE ) )
|
||||||
{
|
{
|
||||||
|
@ -72,12 +70,10 @@ void WinEDA_GerberFrame::Files_io( wxCommandEvent& event )
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_MENU_APPEND_FILE:
|
|
||||||
case ID_APPEND_FILE:
|
case ID_APPEND_FILE:
|
||||||
LoadOneGerberFile( wxEmptyString, &dc, 0 );
|
LoadOneGerberFile( wxEmptyString, &dc, 0 );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_MENU_NEW_BOARD:
|
|
||||||
case ID_NEW_BOARD:
|
case ID_NEW_BOARD:
|
||||||
Clear_Pcb( TRUE );
|
Clear_Pcb( TRUE );
|
||||||
Zoom_Automatique( FALSE );
|
Zoom_Automatique( FALSE );
|
||||||
|
@ -93,11 +89,10 @@ void WinEDA_GerberFrame::Files_io( wxCommandEvent& event )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_SAVE_BOARD:
|
case ID_SAVE_BOARD:
|
||||||
case ID_MENU_SAVE_BOARD:
|
|
||||||
SaveGerberFile( GetScreen()->m_FileName, &dc );
|
SaveGerberFile( GetScreen()->m_FileName, &dc );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_MENU_SAVE_BOARD_AS:
|
case ID_SAVE_BOARD_AS:
|
||||||
SaveGerberFile( wxEmptyString, &dc );
|
SaveGerberFile( wxEmptyString, &dc );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,6 @@
|
||||||
#include "pcbplot.h"
|
#include "pcbplot.h"
|
||||||
#include "bitmaps.h"
|
#include "bitmaps.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "id.h"
|
|
||||||
|
|
||||||
|
|
||||||
/****************************************/
|
/****************************************/
|
||||||
|
@ -38,12 +37,12 @@ BEGIN_EVENT_TABLE( WinEDA_GerberFrame, WinEDA_BasePcbFrame )
|
||||||
EVT_TOOL( ID_SAVE_BOARD, WinEDA_GerberFrame::Files_io )
|
EVT_TOOL( ID_SAVE_BOARD, WinEDA_GerberFrame::Files_io )
|
||||||
|
|
||||||
// Menu Files:
|
// Menu Files:
|
||||||
EVT_MENU( ID_MENU_LOAD_FILE, WinEDA_GerberFrame::Files_io )
|
EVT_MENU( ID_LOAD_FILE, WinEDA_GerberFrame::Files_io )
|
||||||
EVT_MENU( ID_MENU_APPEND_FILE, WinEDA_GerberFrame::Files_io )
|
EVT_MENU( ID_APPEND_FILE, WinEDA_GerberFrame::Files_io )
|
||||||
EVT_MENU( ID_MENU_INC_LAYER_AND_APPEND_FILE, WinEDA_GerberFrame::Files_io )
|
EVT_MENU( ID_MENU_INC_LAYER_AND_APPEND_FILE, WinEDA_GerberFrame::Files_io )
|
||||||
EVT_MENU( ID_MENU_NEW_BOARD, WinEDA_GerberFrame::Files_io )
|
EVT_MENU( ID_NEW_BOARD, WinEDA_GerberFrame::Files_io )
|
||||||
EVT_MENU( ID_MENU_SAVE_BOARD, WinEDA_GerberFrame::Files_io )
|
EVT_MENU( ID_SAVE_BOARD, WinEDA_GerberFrame::Files_io )
|
||||||
EVT_MENU( ID_MENU_SAVE_BOARD_AS, WinEDA_GerberFrame::Files_io )
|
EVT_MENU( ID_SAVE_BOARD_AS, WinEDA_GerberFrame::Files_io )
|
||||||
EVT_MENU( ID_GEN_PLOT, WinEDA_GerberFrame::ToPlotter )
|
EVT_MENU( ID_GEN_PLOT, WinEDA_GerberFrame::ToPlotter )
|
||||||
EVT_MENU( ID_GERBVIEW_EXPORT_TO_PCBNEW,
|
EVT_MENU( ID_GERBVIEW_EXPORT_TO_PCBNEW,
|
||||||
WinEDA_GerberFrame::ExportDataInPcbnewFormat )
|
WinEDA_GerberFrame::ExportDataInPcbnewFormat )
|
||||||
|
|
|
@ -13,8 +13,8 @@
|
||||||
#include "pcbcommon.h"
|
#include "pcbcommon.h"
|
||||||
#include "gerbview.h"
|
#include "gerbview.h"
|
||||||
#include "pcbplot.h"
|
#include "pcbplot.h"
|
||||||
#include "id.h"
|
|
||||||
#include "hotkeys.h"
|
#include "hotkeys.h"
|
||||||
|
|
||||||
#include "gerbview_config.h"
|
#include "gerbview_config.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
|
||||||
|
|
|
@ -4,10 +4,9 @@
|
||||||
|
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "gerbview.h"
|
|
||||||
#include "id.h"
|
|
||||||
#include "hotkeys.h"
|
#include "hotkeys.h"
|
||||||
|
|
||||||
|
#include "gerbview.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
|
||||||
/* How to add a new hotkey:
|
/* How to add a new hotkey:
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "id.h"
|
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
|
|
||||||
#include "gerbview.h"
|
#include "gerbview.h"
|
||||||
|
|
|
@ -14,12 +14,10 @@
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
|
|
||||||
#include "gerbview.h"
|
|
||||||
#include "pcbplot.h"
|
#include "pcbplot.h"
|
||||||
|
#include "gerbview.h"
|
||||||
#include "id.h"
|
|
||||||
|
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
|
||||||
#include <wx/spinctrl.h>
|
#include <wx/spinctrl.h>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
|
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "id.h"
|
|
||||||
|
|
||||||
#include "gerbview.h"
|
#include "gerbview.h"
|
||||||
#include "pcbplot.h"
|
#include "pcbplot.h"
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
#include "pcbplot.h"
|
#include "pcbplot.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "bitmaps.h"
|
#include "bitmaps.h"
|
||||||
#include "id.h"
|
|
||||||
#include "hotkeys.h"
|
#include "hotkeys.h"
|
||||||
|
|
||||||
/***********************************************/
|
/***********************************************/
|
||||||
|
@ -30,11 +29,11 @@ void WinEDA_GerberFrame::ReCreateMenuBar( void )
|
||||||
menuBar = new wxMenuBar();
|
menuBar = new wxMenuBar();
|
||||||
|
|
||||||
wxMenu* filesMenu = new wxMenu;
|
wxMenu* filesMenu = new wxMenu;
|
||||||
filesMenu->Append( ID_MENU_LOAD_FILE, _( "Clear and Load Gerber File" ),
|
filesMenu->Append( ID_LOAD_FILE, _( "Clear and Load Gerber File" ),
|
||||||
_( "Clear all layers and Load new Gerber file" ),
|
_( "Clear all layers and Load new Gerber file" ),
|
||||||
FALSE );
|
FALSE );
|
||||||
|
|
||||||
filesMenu->Append( ID_MENU_APPEND_FILE, _( "Load Gerber File" ),
|
filesMenu->Append( ID_APPEND_FILE, _( "Load Gerber File" ),
|
||||||
_( "Load new Gerber file on currrent layer" ),
|
_( "Load new Gerber file on currrent layer" ),
|
||||||
FALSE );
|
FALSE );
|
||||||
|
|
||||||
|
@ -50,7 +49,7 @@ void WinEDA_GerberFrame::ReCreateMenuBar( void )
|
||||||
_( "Load excellon drill file" ), FALSE );
|
_( "Load excellon drill file" ), FALSE );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
filesMenu->Append( ID_MENU_NEW_BOARD, _( "&New" ),
|
filesMenu->Append( ID_NEW_BOARD, _( "&New" ),
|
||||||
_( "Clear all layers" ), FALSE );
|
_( "Clear all layers" ), FALSE );
|
||||||
|
|
||||||
filesMenu->AppendSeparator();
|
filesMenu->AppendSeparator();
|
||||||
|
@ -59,10 +58,10 @@ void WinEDA_GerberFrame::ReCreateMenuBar( void )
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
filesMenu->AppendSeparator();
|
filesMenu->AppendSeparator();
|
||||||
filesMenu->Append( ID_MENU_SAVE_BOARD, _( "&Save Layers" ),
|
filesMenu->Append( ID_SAVE_BOARD, _( "&Save Layers" ),
|
||||||
_( "Save current layers (GERBER format)" ), FALSE );
|
_( "Save current layers (GERBER format)" ), FALSE );
|
||||||
|
|
||||||
filesMenu->Append( ID_MENU_SAVE_BOARD_AS, _( "Save Layers As..." ),
|
filesMenu->Append( ID_SAVE_BOARD_AS, _( "Save Layers As..." ),
|
||||||
_( "Save current layers as.." ), FALSE );
|
_( "Save current layers as.." ), FALSE );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -308,7 +307,7 @@ create or update the right vertical toolbar
|
||||||
_( "Add layer alignment target" ) );
|
_( "Add layer alignment target" ) );
|
||||||
|
|
||||||
m_VToolBar->AddSeparator();
|
m_VToolBar->AddSeparator();
|
||||||
m_VToolBar->AddTool( ID_TEXT_COMMENT_BUTT, wxEmptyString,
|
m_VToolBar->AddTool( ID_PCB_ADD_TEXT_BUTT, wxEmptyString,
|
||||||
wxBitmap( tool_text_xpm ),
|
wxBitmap( tool_text_xpm ),
|
||||||
_( "Add Text" ) );
|
_( "Add Text" ) );
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,31 @@
|
||||||
#ifndef WX_GERBER_STRUCT_H
|
#ifndef WX_GERBER_STRUCT_H
|
||||||
#define WX_GERBER_STRUCT_H
|
#define WX_GERBER_STRUCT_H
|
||||||
|
|
||||||
|
|
||||||
|
#include "id.h"
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Command IDs for the gerber file viewer.
|
||||||
|
*
|
||||||
|
* Please add IDs that are unique to the gerber file viewer here and not in the
|
||||||
|
* global id.h file. This will prevent the entire project from being rebuilt
|
||||||
|
* when adding new command to the gerber file viewer.
|
||||||
|
*/
|
||||||
|
enum id_gerbview_frm
|
||||||
|
{
|
||||||
|
ID_GERBVIEW_SHOW_LIST_DCODES,
|
||||||
|
ID_GERBVIEW_LOAD_DRILL_FILE,
|
||||||
|
ID_GERBVIEW_LOAD_DCODE_FILE,
|
||||||
|
ID_TOOLBARH_GERBER_SELECT_TOOL,
|
||||||
|
ID_MENU_INC_LAYER_AND_APPEND_FILE,
|
||||||
|
ID_INC_LAYER_AND_APPEND_FILE,
|
||||||
|
ID_GERBVIEW_SHOW_SOURCE,
|
||||||
|
ID_GERBVIEW_EXPORT_TO_PCBNEW,
|
||||||
|
ID_GERBVIEW_POPUP_DELETE_DCODE_ITEMS,
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************
|
/******************************************************************
|
||||||
class WinEDA_GerberFrame: this is the main window used in gerbview
|
class WinEDA_GerberFrame: this is the main window used in gerbview
|
||||||
******************************************************************/
|
******************************************************************/
|
||||||
|
@ -61,34 +86,39 @@ public:
|
||||||
*
|
*
|
||||||
* @param DC A device context to draw on.
|
* @param DC A device context to draw on.
|
||||||
*/
|
*/
|
||||||
void Block_Delete( wxDC* DC );
|
void Block_Delete( wxDC* DC );
|
||||||
void Block_Rotate( wxDC* DC );
|
void Block_Rotate( wxDC* DC );
|
||||||
void Block_Invert( wxDC* DC );
|
void Block_Invert( wxDC* DC );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function Block_Move
|
* Function Block_Move
|
||||||
* moves all tracks and segments within the selected block.
|
* moves all tracks and segments within the selected block.
|
||||||
* New location is determined by the current offset from the selected block's original location.
|
* New location is determined by the current offset from the selected
|
||||||
|
* block's original location.
|
||||||
* Defined separately in pcbnew and gerbview
|
* Defined separately in pcbnew and gerbview
|
||||||
*
|
*
|
||||||
* @param DC A device context to draw on.
|
* @param DC A device context to draw on.
|
||||||
*/
|
*/
|
||||||
void Block_Move( wxDC* DC );
|
void Block_Move( wxDC* DC );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function Block_Mirror_X
|
* Function Block_Mirror_X
|
||||||
* mirrors all tracks and segments within the currently selected block in the X axis.
|
* mirrors all tracks and segments within the currently selected block
|
||||||
|
* in the X axis.
|
||||||
*
|
*
|
||||||
* @param DC A device context to draw on.
|
* @param DC A device context to draw on.
|
||||||
*/
|
*/
|
||||||
void Block_Mirror_X( wxDC* DC );
|
void Block_Mirror_X( wxDC* DC );
|
||||||
/**
|
/**
|
||||||
* Function Block_Duplicate
|
* Function Block_Duplicate
|
||||||
* copies-and-moves all tracks and segments within the selected block.
|
* copies-and-moves all tracks and segments within the selected block.
|
||||||
* New location is determined by the current offset from the selected block's original location.
|
* New location is determined by the current offset from the selected
|
||||||
|
* block's original location.
|
||||||
* Defined separately in pcbnew and gerbview
|
* Defined separately in pcbnew and gerbview
|
||||||
*
|
*
|
||||||
* @param DC A device context to draw on.
|
* @param DC A device context to draw on.
|
||||||
*/
|
*/
|
||||||
void Block_Duplicate( wxDC* DC );
|
void Block_Duplicate( wxDC* DC );
|
||||||
|
|
||||||
void InstallDrillFrame( wxCommandEvent& event );
|
void InstallDrillFrame( wxCommandEvent& event );
|
||||||
void ToPostProcess( wxCommandEvent& event );
|
void ToPostProcess( wxCommandEvent& event );
|
||||||
|
@ -96,16 +126,20 @@ public:
|
||||||
void Genere_GERBER( const wxString& FullFileName, int Layers );
|
void Genere_GERBER( const wxString& FullFileName, int Layers );
|
||||||
void Genere_PS( const wxString& FullFileName, int Layers );
|
void Genere_PS( const wxString& FullFileName, int Layers );
|
||||||
void Plot_Layer_HPGL( FILE* File, int masque_layer,
|
void Plot_Layer_HPGL( FILE* File, int masque_layer,
|
||||||
int garde, bool trace_via, GRTraceMode trace_mode );
|
int garde, bool trace_via,
|
||||||
|
GRTraceMode trace_mode );
|
||||||
void Plot_Layer_GERBER( FILE* File, int masque_layer,
|
void Plot_Layer_GERBER( FILE* File, int masque_layer,
|
||||||
int garde, bool trace_via, GRTraceMode trace_mode );
|
int garde, bool trace_via,
|
||||||
|
GRTraceMode trace_mode );
|
||||||
int Gen_D_CODE_File( const wxString& Name_File );
|
int Gen_D_CODE_File( const wxString& Name_File );
|
||||||
void Plot_Layer_PS( FILE* File, int masque_layer,
|
void Plot_Layer_PS( FILE* File, int masque_layer,
|
||||||
int garde, bool trace_via, GRTraceMode trace_mode );
|
int garde, bool trace_via,
|
||||||
|
GRTraceMode trace_mode );
|
||||||
|
|
||||||
void Files_io( wxCommandEvent& event );
|
void Files_io( wxCommandEvent& event );
|
||||||
void OnFileHistory( wxCommandEvent& event );
|
void OnFileHistory( wxCommandEvent& event );
|
||||||
bool LoadOneGerberFile( const wxString& FileName, wxDC* DC, int mode );
|
bool LoadOneGerberFile( const wxString& FileName, wxDC* DC,
|
||||||
|
int mode );
|
||||||
int ReadGerberFile( wxDC* DC, FILE* File, bool Append );
|
int ReadGerberFile( wxDC* DC, FILE* File, bool Append );
|
||||||
bool Read_GERBER_File( wxDC* DC,
|
bool Read_GERBER_File( wxDC* DC,
|
||||||
const wxString& GERBER_FullFileName,
|
const wxString& GERBER_FullFileName,
|
||||||
|
@ -117,22 +151,25 @@ public:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function Read_D_Code_File
|
* Function Read_D_Code_File
|
||||||
* reads in a dcode file assuming ALSPCB file format with ';' indicating comments.
|
* reads in a dcode file assuming ALSPCB file format with ';' indicating
|
||||||
|
* comments.
|
||||||
* <p>
|
* <p>
|
||||||
* Format is like CSV but with optional ';' delineated comments:<br>
|
* Format is like CSV but with optional ';' delineated comments:<br>
|
||||||
* tool, Horiz, Vert, drill, vitesse, acc. ,Type ; [DCODE (commentaire)]<br>
|
* tool, Horiz, Vert, drill, vitesse, acc. ,Type ; [DCODE (commentaire)]<br>
|
||||||
* ex: 1, 12, 12, 0, 0, 0, 3 ; D10
|
* ex: 1, 12, 12, 0, 0, 0, 3 ; D10
|
||||||
* <p>
|
* <p>
|
||||||
* Format:<br>
|
* Format:<br>
|
||||||
* Ver, Hor, Type, Tool [,Drill]<br>
|
* Ver, Hor, Type, Tool [,Drill]<br>
|
||||||
* example: 0.012, 0.012, L , D10<br>
|
* example: 0.012, 0.012, L , D10<br>
|
||||||
*
|
*
|
||||||
* Categorize all found dcodes into a table of D_CODE instantiations.
|
* Categorize all found dcodes into a table of D_CODE instantiations.
|
||||||
* @param D_CodeFullFileName The name of the file to read from.
|
* @param D_CodeFullFileName The name of the file to read from.
|
||||||
* @return int - <br>
|
* @return int - <br>
|
||||||
* -1 = file not found<br>
|
* -1 = file not found<br>
|
||||||
* -2 = parsing problem<br>
|
* -2 = parsing problem<br>
|
||||||
* 0 = the \a D_Code_FullFileName is empty, no reading is done but an empty GERBER is put into g_GERBER_List[]<br>
|
* 0 = the \a D_Code_FullFileName is empty, no reading
|
||||||
|
* is done but an empty GERBER is put into
|
||||||
|
* g_GERBER_List[]<br>
|
||||||
* 1 = read OK<br>
|
* 1 = read OK<br>
|
||||||
*/
|
*/
|
||||||
int Read_D_Code_File( const wxString& D_Code_FullFileName );
|
int Read_D_Code_File( const wxString& D_Code_FullFileName );
|
||||||
|
@ -170,20 +207,23 @@ public:
|
||||||
* currently: do nothing in gerbview.
|
* currently: do nothing in gerbview.
|
||||||
* but but be defined because it is a pure virtual in WinEDA_BasePcbFrame
|
* but but be defined because it is a pure virtual in WinEDA_BasePcbFrame
|
||||||
*/
|
*/
|
||||||
virtual void SaveCopyInUndoList( BOARD_ITEM* aItemToCopy,
|
virtual void SaveCopyInUndoList(
|
||||||
UndoRedoOpType aTypeCommand = UR_UNSPECIFIED,
|
BOARD_ITEM* aItemToCopy,
|
||||||
const wxPoint& aTransformPoint = wxPoint(0,0) )
|
UndoRedoOpType aTypeCommand = UR_UNSPECIFIED,
|
||||||
{
|
const wxPoint& aTransformPoint = wxPoint(0,0) ) { }
|
||||||
}
|
|
||||||
/** Function SaveCopyInUndoList (overloaded).
|
/** Function SaveCopyInUndoList (overloaded).
|
||||||
* Creates a new entry in undo list of commands.
|
* Creates a new entry in undo list of commands.
|
||||||
* add a list of pickers to handle a list of items
|
* add a list of pickers to handle a list of items
|
||||||
* @param aItemsList = the list of items modified by the command to undo
|
* @param aItemsList = the list of items modified by the command to undo
|
||||||
* @param aTypeCommand = command type (see enum UndoRedoOpType)
|
* @param aTypeCommand = command type (see enum UndoRedoOpType)
|
||||||
* @param aTransformPoint = the reference point of the transformation, for commands like move
|
* @param aTransformPoint = the reference point of the transformation,
|
||||||
|
* for commands like move
|
||||||
*/
|
*/
|
||||||
virtual void SaveCopyInUndoList( PICKED_ITEMS_LIST& aItemsList, UndoRedoOpType aTypeCommand,
|
virtual void SaveCopyInUndoList(
|
||||||
const wxPoint& aTransformPoint = wxPoint(0,0) )
|
PICKED_ITEMS_LIST& aItemsList,
|
||||||
|
UndoRedoOpType aTypeCommand,
|
||||||
|
const wxPoint& aTransformPoint = wxPoint(0,0) )
|
||||||
{
|
{
|
||||||
// currently: do nothing in gerbview.
|
// currently: do nothing in gerbview.
|
||||||
}
|
}
|
||||||
|
|
1016
include/id.h
1016
include/id.h
File diff suppressed because it is too large
Load Diff
|
@ -31,6 +31,7 @@ extern wxString NetCmpExtBuffer;
|
||||||
extern const wxString ModuleFileExtension;
|
extern const wxString ModuleFileExtension;
|
||||||
|
|
||||||
extern const wxString ModuleFileWildcard;
|
extern const wxString ModuleFileWildcard;
|
||||||
|
extern const wxString PcbFileWildcard;
|
||||||
|
|
||||||
extern wxString g_ViaType_Name[4];
|
extern wxString g_ViaType_Name[4];
|
||||||
|
|
||||||
|
|
|
@ -36,25 +36,23 @@ class SCH_CMP_FIELD;
|
||||||
class LibDrawPin;
|
class LibDrawPin;
|
||||||
class DrawJunctionStruct;
|
class DrawJunctionStruct;
|
||||||
|
|
||||||
|
|
||||||
/*******************************/
|
|
||||||
/* class WinEDA_SchematicFrame */
|
|
||||||
/*******************************/
|
|
||||||
|
|
||||||
/* enum used in RotationMiroir() */
|
/* enum used in RotationMiroir() */
|
||||||
enum fl_rot_cmp {
|
enum fl_rot_cmp
|
||||||
CMP_NORMAL, // orientation normale (O, pas de miroir)
|
{
|
||||||
CMP_ROTATE_CLOCKWISE, // nouvelle rotation de -90
|
CMP_NORMAL, // orientation normale (O, pas de miroir)
|
||||||
CMP_ROTATE_COUNTERCLOCKWISE, // nouvelle rotation de +90
|
CMP_ROTATE_CLOCKWISE, // nouvelle rotation de -90
|
||||||
CMP_ORIENT_0, // orientation 0, pas de miroir, id CMP_NORMAL
|
CMP_ROTATE_COUNTERCLOCKWISE, // nouvelle rotation de +90
|
||||||
CMP_ORIENT_90, // orientation 90, pas de miroir
|
CMP_ORIENT_0, // orientation 0, pas de miroir, id CMP_NORMAL
|
||||||
CMP_ORIENT_180, // orientation 180, pas de miroir
|
CMP_ORIENT_90, // orientation 90, pas de miroir
|
||||||
CMP_ORIENT_270, // orientation -90, pas de miroir
|
CMP_ORIENT_180, // orientation 180, pas de miroir
|
||||||
CMP_MIROIR_X = 0x100, // miroir selon axe X
|
CMP_ORIENT_270, // orientation -90, pas de miroir
|
||||||
CMP_MIROIR_Y = 0x200 // miroir selon axe Y
|
CMP_MIROIR_X = 0x100, // miroir selon axe X
|
||||||
|
CMP_MIROIR_Y = 0x200 // miroir selon axe Y
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Schemitic editor (EESchema) main window.
|
||||||
|
*/
|
||||||
class WinEDA_SchematicFrame : public WinEDA_DrawFrame
|
class WinEDA_SchematicFrame : public WinEDA_DrawFrame
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -112,9 +110,9 @@ public:
|
||||||
int hotkey,
|
int hotkey,
|
||||||
EDA_BaseStruct* DrawStruct );
|
EDA_BaseStruct* DrawStruct );
|
||||||
|
|
||||||
SCH_CMP_FIELD* GetCurrentField() { return m_CurrentField; }
|
SCH_CMP_FIELD* GetCurrentField() { return m_CurrentField; }
|
||||||
|
|
||||||
void SetCurrentField( SCH_CMP_FIELD* aCurrentField )
|
void SetCurrentField( SCH_CMP_FIELD* aCurrentField )
|
||||||
{
|
{
|
||||||
m_CurrentField = aCurrentField;
|
m_CurrentField = aCurrentField;
|
||||||
}
|
}
|
||||||
|
@ -137,22 +135,23 @@ public:
|
||||||
int BestZoom(); // Retourne le meilleur zoom
|
int BestZoom(); // Retourne le meilleur zoom
|
||||||
|
|
||||||
SCH_ITEM* SchematicGeneralLocateAndDisplay( bool IncludePin = TRUE );
|
SCH_ITEM* SchematicGeneralLocateAndDisplay( bool IncludePin = TRUE );
|
||||||
SCH_ITEM* SchematicGeneralLocateAndDisplay(
|
SCH_ITEM* SchematicGeneralLocateAndDisplay( const wxPoint& refpoint,
|
||||||
const wxPoint& refpoint,
|
bool IncludePin );
|
||||||
bool
|
|
||||||
IncludePin );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function FillFootprintFieldForAllInstancesofComponent
|
* Function FillFootprintFieldForAllInstancesofComponent
|
||||||
* searches for component "aReference", and places a Footprint in Footprint field
|
* searches for component "aReference", and places a Footprint in
|
||||||
|
* Footprint field
|
||||||
* @param aReference = reference of the component to initialise
|
* @param aReference = reference of the component to initialise
|
||||||
* @param aFootPrint = new value for the filed Fottprint component
|
* @param aFootPrint = new value for the filed Fottprint component
|
||||||
* @param aSetVisible = true to have the field visible, false to set the invisible flag
|
* @param aSetVisible = true to have the field visible, false to set the
|
||||||
|
* invisible flag
|
||||||
* @return true if the given component is found
|
* @return true if the given component is found
|
||||||
* Note:
|
* Note:
|
||||||
* the component is searched in the whole schematic, and because some components
|
* the component is searched in the whole schematic, and because some
|
||||||
* have more than one instance (multiple parts per package components)
|
* components have more than one instance (multiple parts per package
|
||||||
* the search is not stopped when a reference is found (all instances must be found).
|
* components) the search is not stopped when a reference is found
|
||||||
|
* (all instances must be found).
|
||||||
*/
|
*/
|
||||||
bool FillFootprintFieldForAllInstancesofComponent( const wxString& aReference,
|
bool FillFootprintFieldForAllInstancesofComponent( const wxString& aReference,
|
||||||
const wxString& aFootPrint,
|
const wxString& aFootPrint,
|
||||||
|
@ -165,69 +164,74 @@ public:
|
||||||
bool mouseWarp );
|
bool mouseWarp );
|
||||||
|
|
||||||
/* Cross probing with pcbnew */
|
/* Cross probing with pcbnew */
|
||||||
void SendMessageToPCBNEW( EDA_BaseStruct* objectToSync,
|
void SendMessageToPCBNEW( EDA_BaseStruct* objectToSync,
|
||||||
SCH_COMPONENT* LibItem );
|
SCH_COMPONENT* LibItem );
|
||||||
|
|
||||||
/* netlist generation */
|
/* netlist generation */
|
||||||
void BuildNetListBase();
|
void BuildNetListBase();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function DeleteAnnotation
|
* Function DeleteAnnotation
|
||||||
* Remove current component annotations
|
* Remove current component annotations
|
||||||
* @param aCurrentSheetOnly : if false: remove all annotations, else remove annotation relative to the current sheet only
|
* @param aCurrentSheetOnly : if false: remove all annotations, else
|
||||||
|
* remove annotation relative to the current
|
||||||
|
* sheet only
|
||||||
* @param aRedraw : true to refresh display
|
* @param aRedraw : true to refresh display
|
||||||
*/
|
*/
|
||||||
void DeleteAnnotation( bool aCurrentSheetOnly, bool aRedraw );
|
void DeleteAnnotation( bool aCurrentSheetOnly, bool aRedraw );
|
||||||
|
|
||||||
// Functions used for hierarchy handling
|
// Functions used for hierarchy handling
|
||||||
void InstallPreviousSheet();
|
void InstallPreviousSheet();
|
||||||
void InstallNextScreen( DrawSheetStruct* Sheet );
|
void InstallNextScreen( DrawSheetStruct* Sheet );
|
||||||
|
|
||||||
/** Function GetUniqueFilenameForCurrentSheet
|
/** Function GetUniqueFilenameForCurrentSheet
|
||||||
* @return a filename that can be used in plot and print functions
|
* @return a filename that can be used in plot and print functions
|
||||||
* for the current screen anad sheet path.
|
* for the current screen anad sheet path.
|
||||||
* This filename is unique and must be used insteed of the sreen filename
|
* This filename is unique and must be used insteed of the sreen filename
|
||||||
* (or scheen filename) when one must creates file for each sheet in the heierarchy.
|
* (or scheen filename) when one must creates file for each sheet in the
|
||||||
* because in complex hierarchies a sheet and a SCH_SCREEN is used more than once
|
* heierarchy. because in complex hierarchies a sheet and a SCH_SCREEN is
|
||||||
|
* used more than once
|
||||||
* Name is <root sheet filename>-<sheet path>
|
* Name is <root sheet filename>-<sheet path>
|
||||||
* and has no extension.
|
* and has no extension.
|
||||||
* However if filename is too long name is <sheet filename>-<sheet number>
|
* However if filename is too long name is <sheet filename>-<sheet number>
|
||||||
*/
|
*/
|
||||||
wxString GetUniqueFilenameForCurrentSheet();
|
wxString GetUniqueFilenameForCurrentSheet();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function SetSheetNumberAndCount
|
* Function SetSheetNumberAndCount
|
||||||
* Set the m_ScreenNumber and m_NumberOfScreen members for screens
|
* Set the m_ScreenNumber and m_NumberOfScreen members for screens
|
||||||
* must be called after a delete or add sheet command, and when entering a sheet
|
* must be called after a delete or add sheet command, and when entering
|
||||||
|
* a sheet
|
||||||
*/
|
*/
|
||||||
void SetSheetNumberAndCount();
|
void SetSheetNumberAndCount();
|
||||||
|
|
||||||
// Plot functions:
|
// Plot functions:
|
||||||
void ToPlot_PS( wxCommandEvent& event );
|
void ToPlot_PS( wxCommandEvent& event );
|
||||||
void ToPlot_HPGL( wxCommandEvent& event );
|
void ToPlot_HPGL( wxCommandEvent& event );
|
||||||
void ToPlot_DXF( wxCommandEvent& event );
|
void ToPlot_DXF( wxCommandEvent& event );
|
||||||
void ToPostProcess( wxCommandEvent& event );
|
void ToPostProcess( wxCommandEvent& event );
|
||||||
|
|
||||||
// read and save files
|
// read and save files
|
||||||
void Save_File( wxCommandEvent& event );
|
void Save_File( wxCommandEvent& event );
|
||||||
void SaveProject();
|
void SaveProject();
|
||||||
int LoadOneEEProject( const wxString& FileName, bool IsNew );
|
int LoadOneEEProject( const wxString& FileName, bool IsNew );
|
||||||
bool LoadOneEEFile( SCH_SCREEN* screen, const wxString& FullFileName );
|
bool LoadOneEEFile( SCH_SCREEN* screen,
|
||||||
bool ReadInputStuffFile();
|
const wxString& FullFileName );
|
||||||
|
bool ReadInputStuffFile();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function ProcessStuffFile
|
* Function ProcessStuffFile
|
||||||
* gets footprint info from each line in the Stuff File by Ref Desg
|
* gets footprint info from each line in the Stuff File by Ref Desg
|
||||||
* @param aFilename The file to read from.
|
* @param aFilename The file to read from.
|
||||||
* @param aSetFielsAttributeToVisible = true to set the footprint field flag to visible
|
* @param aSetFielsAttributeToVisible = true to set the footprint field
|
||||||
|
flag to visible
|
||||||
* @return bool - true if success, else true.
|
* @return bool - true if success, else true.
|
||||||
*/
|
*/
|
||||||
bool ProcessStuffFile( FILE* aFilename,
|
bool ProcessStuffFile( FILE* aFilename,
|
||||||
bool aSetFielsAttributeToVisible );
|
bool aSetFielsAttributeToVisible );
|
||||||
|
|
||||||
bool SaveEEFile( SCH_SCREEN* screen, int FileSave );
|
bool SaveEEFile( SCH_SCREEN* screen, int FileSave );
|
||||||
SCH_SCREEN* CreateNewScreen( SCH_SCREEN* OldScreen, int TimeStamp );
|
SCH_SCREEN* CreateNewScreen( SCH_SCREEN* OldScreen, int TimeStamp );
|
||||||
|
|
||||||
// General search:
|
// General search:
|
||||||
|
|
||||||
|
@ -241,132 +245,135 @@ public:
|
||||||
* 2 => or for the next item
|
* 2 => or for the next item
|
||||||
* @param mouseWarp If true, then move the mouse cursor to the item.
|
* @param mouseWarp If true, then move the mouse cursor to the item.
|
||||||
*/
|
*/
|
||||||
SCH_ITEM* FindSchematicItem( const wxString& pattern,
|
SCH_ITEM* FindSchematicItem( const wxString& pattern,
|
||||||
int SearchType,
|
int SearchType,
|
||||||
bool mouseWarp = true );
|
bool mouseWarp = true );
|
||||||
|
|
||||||
SCH_ITEM* FindMarker( int SearchType );
|
SCH_ITEM* FindMarker( int SearchType );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void Process_Move_Item( SCH_ITEM* DrawStruct, wxDC* DC );
|
void Process_Move_Item( SCH_ITEM* DrawStruct, wxDC* DC );
|
||||||
void OnExit( wxCommandEvent& event );
|
void OnExit( wxCommandEvent& event );
|
||||||
void OnAnnotate( wxCommandEvent& event );
|
void OnAnnotate( wxCommandEvent& event );
|
||||||
void OnErc( wxCommandEvent& event );
|
void OnErc( wxCommandEvent& event );
|
||||||
void OnCreateNetlist( wxCommandEvent& event );
|
void OnCreateNetlist( wxCommandEvent& event );
|
||||||
void OnCreateBillOfMaterials( wxCommandEvent& event );
|
void OnCreateBillOfMaterials( wxCommandEvent& event );
|
||||||
void OnFindItems( wxCommandEvent& event );
|
void OnFindItems( wxCommandEvent& event );
|
||||||
void OnLoadFile( wxCommandEvent& event );
|
void OnLoadFile( wxCommandEvent& event );
|
||||||
void OnLoadStuffFile( wxCommandEvent& event );
|
void OnLoadStuffFile( wxCommandEvent& event );
|
||||||
void OnNewProject( wxCommandEvent& event );
|
void OnNewProject( wxCommandEvent& event );
|
||||||
void OnLoadProject( wxCommandEvent& event );
|
void OnLoadProject( wxCommandEvent& event );
|
||||||
void OnOpenPcbnew( wxCommandEvent& event );
|
void OnOpenPcbnew( wxCommandEvent& event );
|
||||||
void OnOpenCvpcb( wxCommandEvent& event );
|
void OnOpenCvpcb( wxCommandEvent& event );
|
||||||
void OnOpenLibraryViewer( wxCommandEvent& event );
|
void OnOpenLibraryViewer( wxCommandEvent& event );
|
||||||
void OnOpenLibraryEditor( wxCommandEvent& event );
|
void OnOpenLibraryEditor( wxCommandEvent& event );
|
||||||
|
|
||||||
/* User interface update event handlers. */
|
/* User interface update event handlers. */
|
||||||
void OnUpdateBlockSelected( wxUpdateUIEvent& event );
|
void OnUpdateBlockSelected( wxUpdateUIEvent& event );
|
||||||
void OnUpdatePaste( wxUpdateUIEvent& event );
|
void OnUpdatePaste( wxUpdateUIEvent& event );
|
||||||
void OnUpdateSchematicUndo( wxUpdateUIEvent& event );
|
void OnUpdateSchematicUndo( wxUpdateUIEvent& event );
|
||||||
void OnUpdateSchematicRedo( wxUpdateUIEvent& event );
|
void OnUpdateSchematicRedo( wxUpdateUIEvent& event );
|
||||||
void OnUpdateGrid( wxUpdateUIEvent& event );
|
void OnUpdateGrid( wxUpdateUIEvent& event );
|
||||||
void OnUpdateUnits( wxUpdateUIEvent& event );
|
void OnUpdateUnits( wxUpdateUIEvent& event );
|
||||||
void OnUpdateSelectCursor( wxUpdateUIEvent& event );
|
void OnUpdateSelectCursor( wxUpdateUIEvent& event );
|
||||||
void OnUpdateHiddenPins( wxUpdateUIEvent& event );
|
void OnUpdateHiddenPins( wxUpdateUIEvent& event );
|
||||||
void OnUpdateBusOrientation( wxUpdateUIEvent& event );
|
void OnUpdateBusOrientation( wxUpdateUIEvent& event );
|
||||||
|
|
||||||
// Bus Entry
|
// Bus Entry
|
||||||
DrawBusEntryStruct* CreateBusEntry( wxDC* DC, int entry_type );
|
DrawBusEntryStruct* CreateBusEntry( wxDC* DC, int entry_type );
|
||||||
void SetBusEntryShape( wxDC* DC,
|
void SetBusEntryShape( wxDC* DC,
|
||||||
DrawBusEntryStruct* BusEntry,
|
DrawBusEntryStruct* BusEntry,
|
||||||
int entry_type );
|
int entry_type );
|
||||||
int GetBusEntryShape( DrawBusEntryStruct* BusEntry );
|
int GetBusEntryShape( DrawBusEntryStruct* BusEntry );
|
||||||
void StartMoveBusEntry( DrawBusEntryStruct* DrawLibItem, wxDC* DC );
|
void StartMoveBusEntry( DrawBusEntryStruct* DrawLibItem,
|
||||||
|
wxDC* DC );
|
||||||
|
|
||||||
// NoConnect
|
// NoConnect
|
||||||
DrawNoConnectStruct* CreateNewNoConnectStruct( wxDC* DC );
|
DrawNoConnectStruct* CreateNewNoConnectStruct( wxDC* DC );
|
||||||
|
|
||||||
// Junction
|
// Junction
|
||||||
DrawJunctionStruct* CreateNewJunctionStruct( wxDC* DC,
|
DrawJunctionStruct* CreateNewJunctionStruct( wxDC* DC,
|
||||||
const wxPoint& pos,
|
const wxPoint& pos,
|
||||||
bool PutInUndoList = FALSE );
|
bool PutInUndoList = FALSE );
|
||||||
|
|
||||||
// Text ,label, glabel
|
// Text ,label, glabel
|
||||||
SCH_TEXT* CreateNewText( wxDC* DC, int type );
|
SCH_TEXT* CreateNewText( wxDC* DC, int type );
|
||||||
void EditSchematicText( SCH_TEXT* TextStruct, wxDC* DC );
|
void EditSchematicText( SCH_TEXT* TextStruct, wxDC* DC );
|
||||||
void ChangeTextOrient( SCH_TEXT* TextStruct, wxDC* DC );
|
void ChangeTextOrient( SCH_TEXT* TextStruct, wxDC* DC );
|
||||||
void StartMoveTexte( SCH_TEXT* TextStruct, wxDC* DC );
|
void StartMoveTexte( SCH_TEXT* TextStruct, wxDC* DC );
|
||||||
void ConvertTextType( SCH_TEXT* Text, wxDC* DC, int newtype );
|
void ConvertTextType( SCH_TEXT* Text, wxDC* DC, int newtype );
|
||||||
|
|
||||||
// Wire, Bus
|
// Wire, Bus
|
||||||
void BeginSegment( wxDC* DC, int type );
|
void BeginSegment( wxDC* DC, int type );
|
||||||
void EndSegment( wxDC* DC );
|
void EndSegment( wxDC* DC );
|
||||||
void DeleteCurrentSegment( wxDC* DC );
|
void DeleteCurrentSegment( wxDC* DC );
|
||||||
void DeleteConnection( bool DeleteFullConnection );
|
void DeleteConnection( bool DeleteFullConnection );
|
||||||
|
|
||||||
// graphic lines
|
// graphic lines
|
||||||
void Delete_Segment_Edge( DRAWSEGMENT* Segment, wxDC* DC );
|
void Delete_Segment_Edge( DRAWSEGMENT* Segment, wxDC* DC );
|
||||||
void Drawing_SetNewWidth( DRAWSEGMENT* DrawSegm, wxDC* DC );
|
void Drawing_SetNewWidth( DRAWSEGMENT* DrawSegm, wxDC* DC );
|
||||||
void Delete_Drawings_All_Layer( DRAWSEGMENT* Segment, wxDC* DC );
|
void Delete_Drawings_All_Layer( DRAWSEGMENT* Segment, wxDC* DC );
|
||||||
DRAWSEGMENT* Begin_Edge( DRAWSEGMENT* Segment, wxDC* DC );
|
DRAWSEGMENT* Begin_Edge( DRAWSEGMENT* Segment, wxDC* DC );
|
||||||
|
|
||||||
// Hierarchical Sheet & PinSheet
|
// Hierarchical Sheet & PinSheet
|
||||||
void InstallHierarchyFrame( wxDC* DC, wxPoint& pos );
|
void InstallHierarchyFrame( wxDC* DC, wxPoint& pos );
|
||||||
DrawSheetStruct* CreateSheet( wxDC* DC );
|
DrawSheetStruct* CreateSheet( wxDC* DC );
|
||||||
void ReSizeSheet( DrawSheetStruct* Sheet, wxDC* DC );
|
void ReSizeSheet( DrawSheetStruct* Sheet, wxDC* DC );
|
||||||
|
|
||||||
public:
|
public:
|
||||||
bool EditSheet( DrawSheetStruct* Sheet, wxDC* DC );
|
bool EditSheet( DrawSheetStruct* Sheet, wxDC* DC );
|
||||||
|
|
||||||
/** Function UpdateSheetNumberAndDate
|
/** Function UpdateSheetNumberAndDate
|
||||||
* Set a sheet number, the sheet count for sheets in the whole schematic
|
* Set a sheet number, the sheet count for sheets in the whole schematic
|
||||||
* and update the date in all screens
|
* and update the date in all screens
|
||||||
*/
|
*/
|
||||||
void UpdateSheetNumberAndDate();
|
void UpdateSheetNumberAndDate();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void StartMoveSheet( DrawSheetStruct* sheet, wxDC* DC );
|
void StartMoveSheet( DrawSheetStruct* sheet, wxDC* DC );
|
||||||
Hierarchical_PIN_Sheet_Struct* Create_PinSheet( DrawSheetStruct* Sheet, wxDC* DC );
|
Hierarchical_PIN_Sheet_Struct* Create_PinSheet( DrawSheetStruct* Sheet, wxDC* DC );
|
||||||
void Edit_PinSheet( Hierarchical_PIN_Sheet_Struct* SheetLabel,
|
void Edit_PinSheet( Hierarchical_PIN_Sheet_Struct* SheetLabel,
|
||||||
wxDC* DC );
|
wxDC* DC );
|
||||||
void StartMove_PinSheet( Hierarchical_PIN_Sheet_Struct* SheetLabel,
|
void StartMove_PinSheet( Hierarchical_PIN_Sheet_Struct* SheetLabel,
|
||||||
wxDC* DC );
|
wxDC* DC );
|
||||||
void Place_PinSheet( Hierarchical_PIN_Sheet_Struct* SheetLabel,
|
void Place_PinSheet( Hierarchical_PIN_Sheet_Struct* SheetLabel,
|
||||||
wxDC* DC );
|
wxDC* DC );
|
||||||
Hierarchical_PIN_Sheet_Struct* Import_PinSheet( DrawSheetStruct* Sheet, wxDC* DC );
|
Hierarchical_PIN_Sheet_Struct* Import_PinSheet( DrawSheetStruct* Sheet,
|
||||||
|
wxDC* DC );
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void DeleteSheetLabel( bool aRedraw, Hierarchical_PIN_Sheet_Struct* aSheetLabelToDel );
|
void DeleteSheetLabel( bool aRedraw,
|
||||||
|
Hierarchical_PIN_Sheet_Struct* aSheetLabelToDel );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
// Component
|
// Component
|
||||||
SCH_COMPONENT* Load_Component( wxDC* DC,
|
SCH_COMPONENT* Load_Component( wxDC* DC,
|
||||||
const wxString& libname,
|
const wxString& libname,
|
||||||
wxArrayString& List,
|
wxArrayString& List,
|
||||||
bool UseLibBrowser );
|
bool UseLibBrowser );
|
||||||
void StartMovePart( SCH_COMPONENT* DrawLibItem, wxDC* DC );
|
void StartMovePart( SCH_COMPONENT* DrawLibItem, wxDC* DC );
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void CmpRotationMiroir( SCH_COMPONENT* DrawComponent,
|
void CmpRotationMiroir( SCH_COMPONENT* DrawComponent,
|
||||||
wxDC* DC, int type_rotate );
|
wxDC* DC, int type_rotate );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void SelPartUnit( SCH_COMPONENT* DrawComponent,
|
void SelPartUnit( SCH_COMPONENT* DrawComponent,
|
||||||
int unit, wxDC* DC );
|
int unit, wxDC* DC );
|
||||||
void ConvertPart( SCH_COMPONENT* DrawComponent, wxDC* DC );
|
void ConvertPart( SCH_COMPONENT* DrawComponent, wxDC* DC );
|
||||||
void SetInitCmp( SCH_COMPONENT* DrawComponent, wxDC* DC );
|
void SetInitCmp( SCH_COMPONENT* DrawComponent, wxDC* DC );
|
||||||
void EditComponentReference( SCH_COMPONENT* DrawLibItem,
|
void EditComponentReference( SCH_COMPONENT* DrawLibItem,
|
||||||
|
wxDC* DC );
|
||||||
|
void EditComponentValue( SCH_COMPONENT* DrawLibItem, wxDC* DC );
|
||||||
|
void EditComponentFootprint( SCH_COMPONENT* DrawLibItem,
|
||||||
wxDC* DC );
|
wxDC* DC );
|
||||||
void EditComponentValue( SCH_COMPONENT* DrawLibItem, wxDC* DC );
|
void StartMoveCmpField( SCH_CMP_FIELD* Field, wxDC* DC );
|
||||||
void EditComponentFootprint( SCH_COMPONENT* DrawLibItem,
|
void EditCmpFieldText( SCH_CMP_FIELD* Field, wxDC* DC );
|
||||||
wxDC* DC );
|
void RotateCmpField( SCH_CMP_FIELD* Field, wxDC* DC );
|
||||||
void StartMoveCmpField( SCH_CMP_FIELD* Field, wxDC* DC );
|
|
||||||
void EditCmpFieldText( SCH_CMP_FIELD* Field, wxDC* DC );
|
|
||||||
void RotateCmpField( SCH_CMP_FIELD* Field, wxDC* DC );
|
|
||||||
|
|
||||||
/* Operations sur bloc */
|
/* Operations sur bloc */
|
||||||
void PasteListOfItems( wxDC* DC );
|
void PasteListOfItems( wxDC* DC );
|
||||||
|
|
||||||
/* Undo - redo */
|
/* Undo - redo */
|
||||||
public:
|
public:
|
||||||
|
@ -376,29 +383,36 @@ public:
|
||||||
* add a picker to handle aItemToCopy
|
* add a picker to handle aItemToCopy
|
||||||
* @param aItemToCopy = the schematic item modified by the command to undo
|
* @param aItemToCopy = the schematic item modified by the command to undo
|
||||||
* @param aTypeCommand = command type (see enum UndoRedoOpType)
|
* @param aTypeCommand = command type (see enum UndoRedoOpType)
|
||||||
* @param aTransformPoint = the reference point of the transformation, for commands like move
|
* @param aTransformPoint = the reference point of the transformation,
|
||||||
|
* for commands like move
|
||||||
*/
|
*/
|
||||||
void SaveCopyInUndoList( SCH_ITEM* aItemToCopy, UndoRedoOpType aTypeCommand,
|
void SaveCopyInUndoList( SCH_ITEM* aItemToCopy,
|
||||||
const wxPoint& aTransformPoint = wxPoint(0,0) );
|
UndoRedoOpType aTypeCommand,
|
||||||
|
const wxPoint& aTransformPoint = wxPoint(0,0) );
|
||||||
|
|
||||||
/** Function SaveCopyInUndoList (overloaded).
|
/** Function SaveCopyInUndoList (overloaded).
|
||||||
* Creates a new entry in undo list of commands.
|
* Creates a new entry in undo list of commands.
|
||||||
* add a list of pickers to handle a list of items
|
* add a list of pickers to handle a list of items
|
||||||
* @param aItemsList = the list of items modified by the command to undo
|
* @param aItemsList = the list of items modified by the command to undo
|
||||||
* @param aTypeCommand = command type (see enum UndoRedoOpType)
|
* @param aTypeCommand = command type (see enum UndoRedoOpType)
|
||||||
* @param aTransformPoint = the reference point of the transformation, for commands like move
|
* @param aTransformPoint = the reference point of the transformation,
|
||||||
|
* for commands like move
|
||||||
*/
|
*/
|
||||||
void SaveCopyInUndoList( PICKED_ITEMS_LIST& aItemsList, UndoRedoOpType aTypeCommand,
|
void SaveCopyInUndoList( PICKED_ITEMS_LIST& aItemsList,
|
||||||
const wxPoint& aTransformPoint = wxPoint(0,0) );
|
UndoRedoOpType aTypeCommand,
|
||||||
|
const wxPoint& aTransformPoint = wxPoint(0,0) );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/** Function PutDataInPreviousState()
|
/** Function PutDataInPreviousState()
|
||||||
* Used in undo or redo command.
|
* Used in undo or redo command.
|
||||||
* Put data pointed by List in the previous state, i.e. the state memorised by List
|
* Put data pointed by List in the previous state, i.e. the state
|
||||||
* @param aList = a PICKED_ITEMS_LIST pointer to the list of items to undo/redo
|
* memorised by List
|
||||||
|
* @param aList = a PICKED_ITEMS_LIST pointer to the list of items to
|
||||||
|
* undo/redo
|
||||||
* @param aRedoCommand = a bool: true for redo, false for undo
|
* @param aRedoCommand = a bool: true for redo, false for undo
|
||||||
*/
|
*/
|
||||||
void PutDataInPreviousState( PICKED_ITEMS_LIST* aList, bool aRedoCommand );
|
void PutDataInPreviousState( PICKED_ITEMS_LIST* aList, bool aRedoCommand );
|
||||||
|
|
||||||
/** Function GetSchematicFromRedoList
|
/** Function GetSchematicFromRedoList
|
||||||
* Redo the last edition:
|
* Redo the last edition:
|
||||||
* - Save the current schematic in Undo list
|
* - Save the current schematic in Undo list
|
||||||
|
@ -406,6 +420,7 @@ private:
|
||||||
* @return none
|
* @return none
|
||||||
*/
|
*/
|
||||||
void GetSchematicFromRedoList(wxCommandEvent& event);
|
void GetSchematicFromRedoList(wxCommandEvent& event);
|
||||||
|
|
||||||
/** Function GetSchematicFromUndoList
|
/** Function GetSchematicFromUndoList
|
||||||
* Undo the last edition:
|
* Undo the last edition:
|
||||||
* - Save the current schematic in Redo list
|
* - Save the current schematic in Redo list
|
||||||
|
@ -442,7 +457,8 @@ public:
|
||||||
* part number > number of parts
|
* part number > number of parts
|
||||||
* different values between parts
|
* different values between parts
|
||||||
* @return errors count
|
* @return errors count
|
||||||
* @param aMessageList = a wxArrayString to store messages. If NULL, they are displayed in a wxMessageBox
|
* @param aMessageList = a wxArrayString to store messages. If NULL,
|
||||||
|
* they are displayed in a wxMessageBox
|
||||||
* @param aOneSheetOnly : true = search is made only in the current sheet
|
* @param aOneSheetOnly : true = search is made only in the current sheet
|
||||||
* false = search in whole hierarchy (usual search).
|
* false = search in whole hierarchy (usual search).
|
||||||
*/
|
*/
|
||||||
|
@ -458,200 +474,4 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/*****************************/
|
|
||||||
/* class WinEDA_LibeditFrame */
|
|
||||||
/*****************************/
|
|
||||||
|
|
||||||
class WinEDA_LibeditFrame : public WinEDA_DrawFrame
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
WinEDAChoiceBox* m_SelpartBox;
|
|
||||||
WinEDAChoiceBox* m_SelAliasBox;
|
|
||||||
|
|
||||||
public:
|
|
||||||
WinEDA_LibeditFrame( wxWindow* father,
|
|
||||||
const wxString& title,
|
|
||||||
const wxPoint& pos, const wxSize& size,
|
|
||||||
long style = KICAD_DEFAULT_DRAWFRAME_STYLE );
|
|
||||||
|
|
||||||
~WinEDA_LibeditFrame();
|
|
||||||
|
|
||||||
void Process_Special_Functions( wxCommandEvent& event );
|
|
||||||
void OnImportPart( wxCommandEvent& event );
|
|
||||||
void OnExportPart( wxCommandEvent& event );
|
|
||||||
void OnSelectAlias( wxCommandEvent& event );
|
|
||||||
void OnSelectPart( wxCommandEvent& event );
|
|
||||||
void OnEditComponentProperties( wxCommandEvent& event );
|
|
||||||
|
|
||||||
void OnUpdateEditingPart( wxUpdateUIEvent& event );
|
|
||||||
void OnUpdateNotEditingPart( wxUpdateUIEvent& event );
|
|
||||||
void OnUpdateUndo( wxUpdateUIEvent& event );
|
|
||||||
void OnUpdateRedo( wxUpdateUIEvent& event );
|
|
||||||
void OnUpdateSaveCurrentLib( wxUpdateUIEvent& event );
|
|
||||||
void OnUpdateViewDoc( wxUpdateUIEvent& event );
|
|
||||||
void OnUpdatePinByPin( wxUpdateUIEvent& event );
|
|
||||||
void OnUpdatePartNumber( wxUpdateUIEvent& event );
|
|
||||||
void OnUpdateDeMorganNormal( wxUpdateUIEvent& event );
|
|
||||||
void OnUpdateDeMorganConvert( wxUpdateUIEvent& event );
|
|
||||||
void OnUpdateSelectAlias( wxUpdateUIEvent& event );
|
|
||||||
|
|
||||||
void UpdateAliasSelectList();
|
|
||||||
void UpdatePartSelectList();
|
|
||||||
void DisplayLibInfos();
|
|
||||||
void RedrawActiveWindow( wxDC* DC, bool EraseBg );
|
|
||||||
void OnCloseWindow( wxCloseEvent& Event );
|
|
||||||
void ReCreateHToolbar();
|
|
||||||
void ReCreateVToolbar();
|
|
||||||
void OnLeftClick( wxDC* DC, const wxPoint& MousePos );
|
|
||||||
bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu );
|
|
||||||
int BestZoom(); // Retourne le meilleur zoom
|
|
||||||
void OnLeftDClick( wxDC* DC, const wxPoint& MousePos );
|
|
||||||
|
|
||||||
SCH_SCREEN* GetScreen() { return (SCH_SCREEN*) GetBaseScreen(); }
|
|
||||||
void OnHotKey( wxDC* DC, int hotkey,
|
|
||||||
EDA_BaseStruct* DrawStruct );
|
|
||||||
|
|
||||||
void GeneralControle( wxDC* DC,
|
|
||||||
wxPoint MousePositionInPixels );
|
|
||||||
|
|
||||||
void LoadSettings();
|
|
||||||
void SaveSettings();
|
|
||||||
|
|
||||||
private:
|
|
||||||
|
|
||||||
// General:
|
|
||||||
void CreateNewLibraryPart();
|
|
||||||
void DeleteOnePart();
|
|
||||||
void SaveOnePartInMemory();
|
|
||||||
void SelectActiveLibrary();
|
|
||||||
bool LoadOneLibraryPart();
|
|
||||||
void SaveActiveLibrary( wxCommandEvent& event );
|
|
||||||
|
|
||||||
bool LoadOneLibraryPartAux( CMP_LIB_ENTRY* LibEntry,
|
|
||||||
CMP_LIBRARY* Library );
|
|
||||||
|
|
||||||
void DisplayCmpDoc();
|
|
||||||
void EditComponentProperties();
|
|
||||||
|
|
||||||
// General editing
|
|
||||||
public:
|
|
||||||
void SaveCopyInUndoList( EDA_BaseStruct* ItemToCopy, int flag_type_command = 0 );
|
|
||||||
void InstallFieldsEditorDialog( void );
|
|
||||||
|
|
||||||
private:
|
|
||||||
void GetComponentFromUndoList(wxCommandEvent& event);
|
|
||||||
void GetComponentFromRedoList(wxCommandEvent& event);
|
|
||||||
|
|
||||||
// Edition des Pins:
|
|
||||||
void CreatePin( wxDC* DC );
|
|
||||||
void DeletePin( wxDC* DC,
|
|
||||||
LIB_COMPONENT* LibEntry,
|
|
||||||
LibDrawPin* Pin );
|
|
||||||
void StartMovePin( wxDC* DC );
|
|
||||||
|
|
||||||
// Test des pins ( duplicates...)
|
|
||||||
bool TestPins( LIB_COMPONENT* LibEntry );
|
|
||||||
|
|
||||||
// Edition de l'ancre
|
|
||||||
void PlaceAncre();
|
|
||||||
|
|
||||||
// Edition des graphismes:
|
|
||||||
LibEDA_BaseStruct* CreateGraphicItem( LIB_COMPONENT* LibEntry, wxDC* DC );
|
|
||||||
void GraphicItemBeginDraw( wxDC* DC );
|
|
||||||
void StartMoveDrawSymbol( wxDC* DC );
|
|
||||||
void EndDrawGraphicItem( wxDC* DC );
|
|
||||||
void LoadOneSymbol();
|
|
||||||
void SaveOneSymbol();
|
|
||||||
void EditGraphicSymbol( wxDC* DC,
|
|
||||||
LibEDA_BaseStruct* DrawItem );
|
|
||||||
void EditSymbolText( wxDC* DC, LibEDA_BaseStruct* DrawItem );
|
|
||||||
void RotateSymbolText( wxDC* DC );
|
|
||||||
void DeleteDrawPoly( wxDC* DC );
|
|
||||||
LibDrawField* LocateField( LIB_COMPONENT* LibEntry );
|
|
||||||
LibEDA_BaseStruct* LocateItemUsingCursor();
|
|
||||||
void RotateField( wxDC* DC, LibDrawField* Field );
|
|
||||||
void PlaceField( wxDC* DC, LibDrawField* Field );
|
|
||||||
void EditField( wxDC* DC, LibDrawField* Field );
|
|
||||||
void StartMoveField( wxDC* DC, LibDrawField* field );
|
|
||||||
|
|
||||||
public:
|
|
||||||
/* Block commands: */
|
|
||||||
int ReturnBlockCommand( int key );
|
|
||||||
void HandleBlockPlace( wxDC* DC );
|
|
||||||
int HandleBlockEnd( wxDC* DC );
|
|
||||||
|
|
||||||
void PlacePin( wxDC* DC );
|
|
||||||
void InitEditOnePin();
|
|
||||||
void GlobalSetPins( wxDC* DC, LibDrawPin* MasterPin, int id );
|
|
||||||
|
|
||||||
// Repetition automatique de placement de pins
|
|
||||||
void RepeatPinItem( wxDC* DC, LibDrawPin* Pin );
|
|
||||||
|
|
||||||
protected:
|
|
||||||
wxString m_ConfigPath;
|
|
||||||
wxString m_LastLibImportPath;
|
|
||||||
wxString m_LastLibExportPath;
|
|
||||||
|
|
||||||
DECLARE_EVENT_TABLE()
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
class WinEDA_ViewlibFrame : public WinEDA_DrawFrame
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
WinEDAChoiceBox* SelpartBox;
|
|
||||||
|
|
||||||
// List of libraries (for selection
|
|
||||||
wxSashLayoutWindow* m_LibListWindow; // The redimensionnable window to display the lib list
|
|
||||||
wxListBox* m_LibList; // The list of libs
|
|
||||||
wxSize m_LibListSize; // size of the window
|
|
||||||
|
|
||||||
// List of components in the selected library
|
|
||||||
wxSashLayoutWindow* m_CmpListWindow; // The redimensionnable window to display the component list
|
|
||||||
wxListBox* m_CmpList; // The list of components
|
|
||||||
wxSize m_CmpListSize; // size of the window
|
|
||||||
|
|
||||||
// Flags
|
|
||||||
wxSemaphore* m_Semaphore; // != NULL if the frame must emulate a modal dialog
|
|
||||||
wxString m_ConfigPath; // subpath for configuartion
|
|
||||||
|
|
||||||
public:
|
|
||||||
WinEDA_ViewlibFrame( wxWindow* father,
|
|
||||||
CMP_LIBRARY* Library = NULL,
|
|
||||||
wxSemaphore* semaphore = NULL );
|
|
||||||
|
|
||||||
~WinEDA_ViewlibFrame();
|
|
||||||
|
|
||||||
void OnSize( wxSizeEvent& event );
|
|
||||||
void OnSashDrag( wxSashEvent& event );
|
|
||||||
void ReCreateListLib();
|
|
||||||
void ReCreateListCmp();
|
|
||||||
void Process_Special_Functions( wxCommandEvent& event );
|
|
||||||
void DisplayLibInfos();
|
|
||||||
void RedrawActiveWindow( wxDC* DC, bool EraseBg );
|
|
||||||
void OnCloseWindow( wxCloseEvent& Event );
|
|
||||||
void ReCreateHToolbar();
|
|
||||||
void ReCreateVToolbar();
|
|
||||||
void OnLeftClick( wxDC* DC, const wxPoint& MousePos );
|
|
||||||
int BestZoom(); // Retourne le meilleur zoom
|
|
||||||
void ClickOnLibList( wxCommandEvent& event );
|
|
||||||
void ClickOnCmpList( wxCommandEvent& event );
|
|
||||||
|
|
||||||
SCH_SCREEN* GetScreen() { return (SCH_SCREEN*) GetBaseScreen(); }
|
|
||||||
|
|
||||||
void GeneralControle( wxDC* DC, wxPoint MousePositionInPixels );
|
|
||||||
|
|
||||||
void LoadSettings();
|
|
||||||
void SaveSettings();
|
|
||||||
|
|
||||||
private:
|
|
||||||
void SelectCurrentLibrary();
|
|
||||||
void SelectAndViewLibraryPart( int option );
|
|
||||||
void ExportToSchematicLibraryPart( wxCommandEvent& event );
|
|
||||||
void ViewOneLibraryContent( CMP_LIBRARY* Lib, int Flag );
|
|
||||||
bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu );
|
|
||||||
|
|
||||||
DECLARE_EVENT_TABLE()
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // WX_EESCHEMA_STRUCT_H
|
#endif // WX_EESCHEMA_STRUCT_H
|
||||||
|
|
|
@ -249,7 +249,7 @@ public:
|
||||||
|
|
||||||
void OnFileHistory( wxCommandEvent& event );
|
void OnFileHistory( wxCommandEvent& event );
|
||||||
void Files_io( wxCommandEvent& event );
|
void Files_io( wxCommandEvent& event );
|
||||||
int LoadOnePcbFile( const wxString& FileName, bool Append );
|
bool LoadOnePcbFile( const wxString& FileName, bool Append );
|
||||||
int ReadPcbFile( FILE* File, bool Append );
|
int ReadPcbFile( FILE* File, bool Append );
|
||||||
bool SavePcbFile( const wxString& FileName );
|
bool SavePcbFile( const wxString& FileName );
|
||||||
int SavePcbFormatAscii( FILE* File );
|
int SavePcbFormatAscii( FILE* File );
|
||||||
|
|
|
@ -12,7 +12,6 @@
|
||||||
#include "kicad.h"
|
#include "kicad.h"
|
||||||
#include "macros.h"
|
#include "macros.h"
|
||||||
#include "bitmaps.h" // Common bitmaps
|
#include "bitmaps.h" // Common bitmaps
|
||||||
#include "id.h"
|
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -4,17 +4,10 @@
|
||||||
|
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
#include "bitmaps.h"
|
||||||
#include "kicad.h"
|
|
||||||
#include "macros.h"
|
#include "macros.h"
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
#include "kicad.h"
|
||||||
// resources
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
// USE_XPM_BITMAPS
|
|
||||||
#include "bitmaps.h"
|
|
||||||
#include "id.h"
|
|
||||||
|
|
||||||
|
|
||||||
/************************************************************************************/
|
/************************************************************************************/
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
#include "bitmaps.h"
|
#include "bitmaps.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
#include "gestfich.h"
|
#include "gestfich.h"
|
||||||
#include "id.h"
|
|
||||||
|
|
||||||
#include "kicad.h"
|
#include "kicad.h"
|
||||||
#include "prjconfig.h"
|
#include "prjconfig.h"
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
#include <wx/dragimag.h>
|
#include <wx/dragimag.h>
|
||||||
#include <wx/filename.h>
|
#include <wx/filename.h>
|
||||||
|
|
||||||
|
#include "id.h"
|
||||||
#include "wxstruct.h"
|
#include "wxstruct.h"
|
||||||
#include "appl_wxstruct.h"
|
#include "appl_wxstruct.h"
|
||||||
|
|
||||||
|
@ -24,6 +25,44 @@ class WinEDA_TreePrj;
|
||||||
class WinEDA_PrjFrame;
|
class WinEDA_PrjFrame;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Command IDs for Kicad.
|
||||||
|
*
|
||||||
|
* Please add IDs that are unique to Kica here and not in the global id.h
|
||||||
|
* file. This will prevent the entire project from being rebuilt when adding
|
||||||
|
* new commands to Kicad.
|
||||||
|
*/
|
||||||
|
|
||||||
|
enum id_kicad_frm
|
||||||
|
{
|
||||||
|
ID_LEFT_FRAME = ID_END_LIST,
|
||||||
|
ID_BOTTOM_FRAME,
|
||||||
|
ID_PROJECT_TREE,
|
||||||
|
ID_PROJECT_TXTEDIT,
|
||||||
|
ID_PROJECT_TREE_REFRESH,
|
||||||
|
ID_PROJECT_RUNPY,
|
||||||
|
ID_PROJECT_NEWFILE,
|
||||||
|
ID_PROJECT_NEWPY,
|
||||||
|
ID_PROJECT_NEWTXT,
|
||||||
|
ID_PROJECT_NEWDIR,
|
||||||
|
ID_PROJECT_DELETE,
|
||||||
|
ID_PROJECT_RENAME,
|
||||||
|
ID_PROJECT_OPEN_FILE_WITH_TEXT_EDITOR,
|
||||||
|
|
||||||
|
ID_MAIN_COMMAND,
|
||||||
|
ID_TO_EDITOR,
|
||||||
|
ID_TO_EESCHEMA,
|
||||||
|
ID_TO_GERBVIEW,
|
||||||
|
ID_RUN_PYTHON,
|
||||||
|
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,
|
||||||
|
ID_READ_ZIP_ARCHIVE,
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/*******************************************/
|
/*******************************************/
|
||||||
/* classe pour la Fenetre generale de kicad*/
|
/* classe pour la Fenetre generale de kicad*/
|
||||||
|
@ -140,19 +179,23 @@ enum TreeFileType {
|
||||||
/**************************************************************/
|
/**************************************************************/
|
||||||
|
|
||||||
/** class WinEDA_CommandFrame
|
/** class WinEDA_CommandFrame
|
||||||
* This is the window handling the main tools to launch eeschema, cvpcb, pcbnew and gerbview
|
* This is the window handling the main tools to launch eeschema, cvpcb,
|
||||||
|
* pcbnew and gerbview
|
||||||
*/
|
*/
|
||||||
class WinEDA_CommandFrame : public wxSashLayoutWindow
|
class WinEDA_CommandFrame : public wxSashLayoutWindow
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
WinEDA_CommandFrame( wxWindow* parent, int id, wxPoint pos, wxSize size, long style );
|
WinEDA_CommandFrame( wxWindow* parent, int id, wxPoint pos, wxSize size,
|
||||||
|
long style );
|
||||||
~WinEDA_CommandFrame()
|
~WinEDA_CommandFrame()
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
/** Function AddFastLaunch
|
/** Function AddFastLaunch
|
||||||
* add a Bitmap Button (fast launch button) to the window
|
* add a Bitmap Button (fast launch button) to the window
|
||||||
*/
|
*/
|
||||||
public: void AddFastLaunch( wxBitmapButton * button );
|
public:
|
||||||
|
void AddFastLaunch( wxBitmapButton * button );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
/** Function CreateCommandToolbar
|
/** Function CreateCommandToolbar
|
||||||
|
@ -187,7 +230,8 @@ private:
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
TreePrjItemData( TreeFileType type, const wxString& data, wxTreeCtrl* parent );
|
TreePrjItemData( TreeFileType type, const wxString& data,
|
||||||
|
wxTreeCtrl* parent );
|
||||||
TreePrjItemData() : m_Parent( NULL ) { }
|
TreePrjItemData() : m_Parent( NULL ) { }
|
||||||
|
|
||||||
TreePrjItemData( const TreePrjItemData& src ) :
|
TreePrjItemData( const TreePrjItemData& src ) :
|
||||||
|
@ -235,7 +279,8 @@ public:
|
||||||
|
|
||||||
#ifdef KICAD_PYTHON
|
#ifdef KICAD_PYTHON
|
||||||
boost::python::object GetFileNamePy() const;
|
boost::python::object GetFileNamePy() const;
|
||||||
bool RenamePy( const boost::python::str& newname, bool check = true );
|
bool RenamePy( const boost::python::str& newname,
|
||||||
|
bool check = true );
|
||||||
|
|
||||||
boost::python::object GetDirPy() const;
|
boost::python::object GetDirPy() const;
|
||||||
|
|
||||||
|
@ -261,10 +306,11 @@ private:
|
||||||
wxCursor m_Default;
|
wxCursor m_Default;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
wxMenu* GetContextMenu( int type );
|
wxMenu* GetContextMenu( int type );
|
||||||
void NewFile( TreeFileType type );
|
void NewFile( TreeFileType type );
|
||||||
void NewFile( const wxString& name, TreeFileType type, wxTreeItemId& root );
|
void NewFile( const wxString& name, TreeFileType type,
|
||||||
TreePrjItemData* GetSelectedData();
|
wxTreeItemId& root );
|
||||||
|
TreePrjItemData* GetSelectedData();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
WinEDA_MainFrame* m_Parent;
|
WinEDA_MainFrame* m_Parent;
|
||||||
|
@ -273,8 +319,8 @@ public:
|
||||||
wxTreeItemId m_root;
|
wxTreeItemId m_root;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static wxString GetFileExt( TreeFileType type );
|
static wxString GetFileExt( TreeFileType type );
|
||||||
static wxString GetFileWildcard( TreeFileType type );
|
static wxString GetFileWildcard( TreeFileType type );
|
||||||
|
|
||||||
WinEDA_PrjFrame( WinEDA_MainFrame* parent,
|
WinEDA_PrjFrame( WinEDA_MainFrame* parent,
|
||||||
const wxPoint& pos, const wxSize& size );
|
const wxPoint& pos, const wxSize& size );
|
||||||
|
@ -330,7 +376,8 @@ public:
|
||||||
|
|
||||||
boost::python::object GetTreeCtrl();
|
boost::python::object GetTreeCtrl();
|
||||||
TreePrjItemData* GetItemData( const boost::python::object& item );
|
TreePrjItemData* GetItemData( const boost::python::object& item );
|
||||||
void AddFilePy( const boost::python::str& name, boost::python::object& root );
|
void AddFilePy( const boost::python::str& name,
|
||||||
|
boost::python::object& root );
|
||||||
void NewFilePy( const boost::python::str& name,
|
void NewFilePy( const boost::python::str& name,
|
||||||
TreeFileType type,
|
TreeFileType type,
|
||||||
boost::python::object& root );
|
boost::python::object& root );
|
||||||
|
|
|
@ -16,7 +16,6 @@
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
#include "gestfich.h"
|
#include "gestfich.h"
|
||||||
#include "bitmaps.h"
|
#include "bitmaps.h"
|
||||||
#include "id.h"
|
|
||||||
|
|
||||||
#include "kicad.h"
|
#include "kicad.h"
|
||||||
|
|
||||||
|
@ -81,7 +80,7 @@ WinEDA_MainFrame::WinEDA_MainFrame( wxWindow* parent,
|
||||||
m_BottomWin->SetSashVisible( wxSASH_LEFT, TRUE );
|
m_BottomWin->SetSashVisible( wxSASH_LEFT, TRUE );
|
||||||
m_BottomWin->SetExtraBorderSize( 2 );
|
m_BottomWin->SetExtraBorderSize( 2 );
|
||||||
|
|
||||||
m_DialogWin = new wxTextCtrl( m_BottomWin, ID_MAIN_DIALOG, wxEmptyString,
|
m_DialogWin = new wxTextCtrl( m_BottomWin, wxID_ANY, wxEmptyString,
|
||||||
wxDefaultPosition, wxDefaultSize,
|
wxDefaultPosition, wxDefaultSize,
|
||||||
wxTE_MULTILINE | wxNO_BORDER | wxTE_READONLY );
|
wxTE_MULTILINE | wxNO_BORDER | wxTE_READONLY );
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,6 @@
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
#include "gestfich.h"
|
#include "gestfich.h"
|
||||||
#include "bitmaps.h"
|
#include "bitmaps.h"
|
||||||
#include "id.h"
|
|
||||||
|
|
||||||
#include "kicad.h"
|
#include "kicad.h"
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,6 @@
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
#include "gestfich.h"
|
#include "gestfich.h"
|
||||||
#include "prjconfig.h"
|
#include "prjconfig.h"
|
||||||
#include "id.h"
|
|
||||||
#include "kicad.h"
|
#include "kicad.h"
|
||||||
|
|
||||||
static const wxString GeneralGroupName( wxT( "/general" ) );
|
static const wxString GeneralGroupName( wxT( "/general" ) );
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "gestfich.h"
|
#include "gestfich.h"
|
||||||
#include "appl_wxstruct.h"
|
#include "appl_wxstruct.h"
|
||||||
|
#include "bitmaps.h"
|
||||||
|
|
||||||
#include "kicad.h"
|
#include "kicad.h"
|
||||||
|
|
||||||
|
@ -20,10 +21,6 @@
|
||||||
#include "wx/regex.h"
|
#include "wx/regex.h"
|
||||||
#include "wx/dir.h"
|
#include "wx/dir.h"
|
||||||
|
|
||||||
#include "bitmaps.h"
|
|
||||||
|
|
||||||
#include "id.h"
|
|
||||||
|
|
||||||
|
|
||||||
/********************************************/
|
/********************************************/
|
||||||
/* Methodes pour l'arbre gestion du projet */
|
/* Methodes pour l'arbre gestion du projet */
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
#include "gestfich.h"
|
#include "gestfich.h"
|
||||||
#include "appl_wxstruct.h"
|
#include "appl_wxstruct.h"
|
||||||
|
#include "bitmaps.h"
|
||||||
|
|
||||||
#include "kicad.h"
|
#include "kicad.h"
|
||||||
|
|
||||||
|
@ -23,9 +24,6 @@
|
||||||
#include "wx/regex.h"
|
#include "wx/regex.h"
|
||||||
#include "wx/dir.h"
|
#include "wx/dir.h"
|
||||||
|
|
||||||
#include "bitmaps.h"
|
|
||||||
|
|
||||||
#include "id.h"
|
|
||||||
|
|
||||||
// Comment this if you do no want to load subdirs files in the tree project
|
// Comment this if you do no want to load subdirs files in the tree project
|
||||||
// UnComment this to load subdirs files in the tree project
|
// UnComment this to load subdirs files in the tree project
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
#include "wxPcbStruct.h"
|
#include "wxPcbStruct.h"
|
||||||
#include "autorout.h"
|
#include "autorout.h"
|
||||||
#include "cell.h"
|
#include "cell.h"
|
||||||
#include "id.h"
|
#include "pcbnew_id.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
#include "pcbnew.h"
|
#include "pcbnew.h"
|
||||||
#include "bitmaps.h"
|
#include "bitmaps.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "id.h"
|
#include "pcbnew_id.h"
|
||||||
|
|
||||||
#include "collectors.h"
|
#include "collectors.h"
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "pcbnew.h"
|
#include "pcbnew.h"
|
||||||
|
|
||||||
#include "id.h"
|
#include "pcbnew_id.h"
|
||||||
#include "collectors.h"
|
#include "collectors.h"
|
||||||
|
|
||||||
#include "bitmaps.h"
|
#include "bitmaps.h"
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
#include "pcbnew.h"
|
#include "pcbnew.h"
|
||||||
#include "trigo.h"
|
#include "trigo.h"
|
||||||
#include "id.h" // ID_TRACK_BUTT
|
#include "pcbnew_id.h" // ID_TRACK_BUTT
|
||||||
|
|
||||||
|
|
||||||
/*******************************/
|
/*******************************/
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#include "gr_basic.h"
|
#include "gr_basic.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "trigo.h"
|
#include "trigo.h"
|
||||||
#include "id.h" // ID_TRACK_BUTT
|
#include "pcbnew_id.h" // ID_TRACK_BUTT
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "drawtxt.h"
|
#include "drawtxt.h"
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include "pcbnew.h"
|
#include "pcbnew.h"
|
||||||
|
|
||||||
#include "trigo.h"
|
#include "trigo.h"
|
||||||
#include "id.h"
|
#include "pcbnew_id.h"
|
||||||
|
|
||||||
|
|
||||||
/* Default pcbnew zoom values.
|
/* Default pcbnew zoom values.
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
#include "wxPcbStruct.h"
|
#include "wxPcbStruct.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
|
||||||
#include "id.h"
|
#include "pcbnew_id.h"
|
||||||
#include "collectors.h"
|
#include "collectors.h"
|
||||||
|
|
||||||
#include "bitmaps.h"
|
#include "bitmaps.h"
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
#include "pcbnew.h"
|
#include "pcbnew.h"
|
||||||
#include "wxPcbStruct.h"
|
#include "wxPcbStruct.h"
|
||||||
#include "eda_dde.h"
|
#include "eda_dde.h"
|
||||||
#include "id.h"
|
#include "pcbnew_id.h"
|
||||||
#include "collectors.h"
|
#include "collectors.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
#include "pcbnew.h"
|
#include "pcbnew.h"
|
||||||
#include "wxPcbStruct.h"
|
#include "wxPcbStruct.h"
|
||||||
|
|
||||||
#include "id.h"
|
#include "pcbnew_id.h"
|
||||||
#include "dialog_copper_layers_setup.h"
|
#include "dialog_copper_layers_setup.h"
|
||||||
#include "wx/generic/gridctrl.h"
|
#include "wx/generic/gridctrl.h"
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
#include "pcbnew.h"
|
#include "pcbnew.h"
|
||||||
#include "wxPcbStruct.h"
|
#include "wxPcbStruct.h"
|
||||||
|
|
||||||
#include "id.h"
|
#include "pcbnew_id.h"
|
||||||
#include "dialog_design_rules.h"
|
#include "dialog_design_rules.h"
|
||||||
#include "wx/generic/gridctrl.h"
|
#include "wx/generic/gridctrl.h"
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
#include "pcbnew.h"
|
#include "pcbnew.h"
|
||||||
#include "wxPcbStruct.h"
|
#include "wxPcbStruct.h"
|
||||||
|
|
||||||
#include "id.h"
|
#include "pcbnew_id.h"
|
||||||
|
|
||||||
#include "dialog_display_options_base.h"
|
#include "dialog_display_options_base.h"
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
#include "pcbnew.h"
|
#include "pcbnew.h"
|
||||||
#include "wxPcbStruct.h"
|
#include "wxPcbStruct.h"
|
||||||
|
|
||||||
#include "id.h"
|
#include "pcbnew_id.h"
|
||||||
|
|
||||||
#include "dialog_general_options_BoardEditor_base.h"
|
#include "dialog_general_options_BoardEditor_base.h"
|
||||||
#include "dialog_general_options.h"
|
#include "dialog_general_options.h"
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
#include "pcbplot.h"
|
#include "pcbplot.h"
|
||||||
#include "autorout.h"
|
#include "autorout.h"
|
||||||
|
|
||||||
#include "id.h"
|
#include "pcbnew_id.h"
|
||||||
|
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue