Commit e704c625 authored by CHARRAS's avatar CHARRAS

some minor enhancements

parent 0bcc4d34
...@@ -10,6 +10,11 @@ email address. ...@@ -10,6 +10,11 @@ email address.
if we switch from a long list of footprints to a short list (a filtered footprint list), if we switch from a long list of footprints to a short list (a filtered footprint list),
and if the selected item is near the end of the long list, and if the selected item is near the end of the long list,
the new list is not displayed from the top of the list box the new list is not displayed from the top of the list box
+eeschema:
Implemented: graying in/out of "Edit/Undo", "Edit/Redo" menu items,
when Undo/Redo stack is empty/filled.
+pcbnew:
Implemented: action for ID_POPUP_PCB_DELETE_MARKER
2007-Oct-27 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> 2007-Oct-27 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
......
...@@ -112,7 +112,7 @@ END_EVENT_TABLE() ...@@ -112,7 +112,7 @@ END_EVENT_TABLE()
/****************/ /****************/
/* Constructeur */ /* Constructor */
/****************/ /****************/
WinEDA_SchematicFrame:: WinEDA_SchematicFrame(wxWindow * father, WinEDA_App *parent, WinEDA_SchematicFrame:: WinEDA_SchematicFrame(wxWindow * father, WinEDA_App *parent,
...@@ -120,9 +120,9 @@ WinEDA_SchematicFrame:: WinEDA_SchematicFrame(wxWindow * father, WinEDA_App *par ...@@ -120,9 +120,9 @@ WinEDA_SchematicFrame:: WinEDA_SchematicFrame(wxWindow * father, WinEDA_App *par
WinEDA_DrawFrame(father, SCHEMATIC_FRAME, parent, title, pos, size, style) WinEDA_DrawFrame(father, SCHEMATIC_FRAME, parent, title, pos, size, style)
{ {
m_FrameName = wxT("SchematicFrame"); m_FrameName = wxT("SchematicFrame");
m_Draw_Axis = FALSE; // TRUE pour avoir les axes dessines m_Draw_Axis = FALSE; // TRUE to show axis
m_Draw_Grid = g_ShowGrid; // TRUE pour avoir la grille dessinee m_Draw_Grid = g_ShowGrid; // TRUE to show a grid
m_Draw_Sheet_Ref = TRUE; // TRUE pour avoir le cartouche dessin m_Draw_Sheet_Ref = TRUE; // TRUE to show sheet references
// Give an icon // Give an icon
#ifdef __WINDOWS__ #ifdef __WINDOWS__
...@@ -149,7 +149,7 @@ WinEDA_SchematicFrame:: WinEDA_SchematicFrame(wxWindow * father, WinEDA_App *par ...@@ -149,7 +149,7 @@ WinEDA_SchematicFrame:: WinEDA_SchematicFrame(wxWindow * father, WinEDA_App *par
/***************/ /***************/
/* Destructeur */ /* Destructor */
/***************/ /***************/
WinEDA_SchematicFrame::~WinEDA_SchematicFrame() WinEDA_SchematicFrame::~WinEDA_SchematicFrame()
...@@ -199,7 +199,7 @@ SCH_SCREEN * screen; ...@@ -199,7 +199,7 @@ SCH_SCREEN * screen;
} }
screen = ScreenSch ; screen = ScreenSch ;
while( screen ) // suppression flag modify pour eviter d'autres message while( screen ) // Clear "flag modify" to avoid alert messages when closing sub sheets
{ {
screen->ClrModify(); screen->ClrModify();
screen = (SCH_SCREEN*)screen->Pnext; screen = (SCH_SCREEN*)screen->Pnext;
...@@ -210,8 +210,7 @@ SCH_SCREEN * screen; ...@@ -210,8 +210,7 @@ SCH_SCREEN * screen;
ClearProjectDrawList(ScreenSch, TRUE); ClearProjectDrawList(ScreenSch, TRUE);
/* Tous les autres SCREEN sont effaces, aussi reselection de /* allof sub sheets are deleted, only the main sheet is useable */
l'ecran de base, pour les evenements de refresh gnrs par wxWindows */
m_CurrentScreen = ActiveScreen = ScreenSch; m_CurrentScreen = ActiveScreen = ScreenSch;
SaveSettings(); SaveSettings();
...@@ -226,8 +225,7 @@ SCH_SCREEN * screen; ...@@ -226,8 +225,7 @@ SCH_SCREEN * screen;
/********************************************/ /********************************************/
void WinEDA_SchematicFrame::SetToolbars() void WinEDA_SchematicFrame::SetToolbars()
/********************************************/ /********************************************/
/* Active ou desactive les tools du toolbar horizontal, en fonction des commandes /* Enable or disable some tools according to current conditions
en cours
*/ */
{ {
if( m_HToolBar ) if( m_HToolBar )
...@@ -246,12 +244,27 @@ en cours ...@@ -246,12 +244,27 @@ en cours
if ( g_BlockSaveDataList ) m_HToolBar->EnableTool(wxID_PASTE,TRUE); if ( g_BlockSaveDataList ) m_HToolBar->EnableTool(wxID_PASTE,TRUE);
else m_HToolBar->EnableTool(wxID_PASTE,FALSE); else m_HToolBar->EnableTool(wxID_PASTE,FALSE);
wxMenuBar * menuBar = GetMenuBar();
if ( GetScreen()->m_RedoList ) if ( GetScreen()->m_RedoList )
{
m_HToolBar->EnableTool(ID_SCHEMATIC_REDO,TRUE); m_HToolBar->EnableTool(ID_SCHEMATIC_REDO,TRUE);
else m_HToolBar->EnableTool(ID_SCHEMATIC_REDO,FALSE); menuBar->Enable(ID_SCHEMATIC_REDO,TRUE);
}
else
{
m_HToolBar->EnableTool(ID_SCHEMATIC_REDO,FALSE);
menuBar->Enable(ID_SCHEMATIC_REDO,FALSE);
}
if ( GetScreen()->m_UndoList ) if ( GetScreen()->m_UndoList )
{
m_HToolBar->EnableTool(ID_SCHEMATIC_UNDO,TRUE); m_HToolBar->EnableTool(ID_SCHEMATIC_UNDO,TRUE);
else m_HToolBar->EnableTool(ID_SCHEMATIC_UNDO,FALSE); menuBar->Enable(ID_SCHEMATIC_UNDO,TRUE);
}
else
{
m_HToolBar->EnableTool(ID_SCHEMATIC_UNDO,FALSE);
menuBar->Enable(ID_SCHEMATIC_UNDO,FALSE);
}
} }
if ( m_OptionsToolBar ) if ( m_OptionsToolBar )
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
COMMON_GLOBL wxString g_BuildVersion COMMON_GLOBL wxString g_BuildVersion
#ifdef EDA_BASE #ifdef EDA_BASE
(wxT("(2007-10-21)")) (wxT("(2007-10-29)"))
#endif #endif
; ;
......
...@@ -681,7 +681,7 @@ public: ...@@ -681,7 +681,7 @@ public:
void Erase_Textes_Pcb( wxDC* DC, bool query ); void Erase_Textes_Pcb( wxDC* DC, bool query );
void Erase_Marqueurs(); void Erase_Marqueurs();
void UnDeleteItem( wxDC* DC ); void UnDeleteItem( wxDC* DC );
void RemoveStruct( EDA_BaseStruct* Item, wxDC* DC ); void RemoveStruct( BOARD_ITEM* Item, wxDC* DC );
void Via_Edit_Control( wxDC* DC, int command_type, SEGVIA* via ); void Via_Edit_Control( wxDC* DC, int command_type, SEGVIA* via );
// Hightlight functions: // Hightlight functions:
......
No preview for this file type
This diff is collapsed.
...@@ -25,7 +25,7 @@ wxString BOARD_ITEM::MenuText( const BOARD* aPcb ) const ...@@ -25,7 +25,7 @@ wxString BOARD_ITEM::MenuText( const BOARD* aPcb ) const
* @param aPcb = the parent board * @param aPcb = the parent board
*/ */
{ {
wxString text; wxString text, msg;
const BOARD_ITEM* item = this; const BOARD_ITEM* item = this;
EQUIPOT* net; EQUIPOT* net;
D_PAD * pad; D_PAD * pad;
...@@ -174,7 +174,7 @@ wxString BOARD_ITEM::MenuText( const BOARD* aPcb ) const ...@@ -174,7 +174,7 @@ wxString BOARD_ITEM::MenuText( const BOARD* aPcb ) const
text << wxT(" ") << _( "Blind" ); text << wxT(" ") << _( "Blind" );
else if( shape == VIA_BLIND ) else if( shape == VIA_BLIND )
text << wxT(" ") << _("Buried"); text << wxT(" ") << _("Buried");
// else say nothing about normal vias // else say nothing about normal (through) vias
net = aPcb->FindNet( via->GetNet() ); net = aPcb->FindNet( via->GetNet() );
if( net ) if( net )
...@@ -203,9 +203,9 @@ wxString BOARD_ITEM::MenuText( const BOARD* aPcb ) const ...@@ -203,9 +203,9 @@ wxString BOARD_ITEM::MenuText( const BOARD* aPcb ) const
break; break;
case TYPEMIRE: case TYPEMIRE:
text << _( "Target" ) //<< wxT( " on " ) << ReturnPcbLayerName( item->GetLayer() ).Trim() valeur_param( ((MIREPCB*)item)->m_Size, msg );
// could use if problem with decimal point and user units was fixed: text << _( "Target" ) << _( " on " ) << ReturnPcbLayerName( item->GetLayer() ).Trim()
// << wxT( " " ) << wxT( "size" ) << wxT( " " ) << ((MIREPCB*)item)->m_Size << wxT( " " ) << _( "size" ) << wxT( " " ) << msg
; ;
break; break;
......
...@@ -221,11 +221,10 @@ void D_PAD::UnLink() ...@@ -221,11 +221,10 @@ void D_PAD::UnLink()
void D_PAD::Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoint& offset, int draw_mode ) void D_PAD::Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoint& offset, int draw_mode )
/*******************************************************************************************/ /*******************************************************************************************/
/* Trac�a l'�ran d'un pad: /** Draw a pad:
* Entree : * @param DC = device context
* ptr_pad = pointeur sur le pad du module * @param offset = draw offset
* offset = offset de trace * @param draw_mode = mode: GR_OR, GR_XOR, GR_AND...
* draw_mode = mode de trace ( GR_OR, GR_XOR, GR_AND)
*/ */
{ {
int ii; int ii;
...@@ -239,20 +238,23 @@ void D_PAD::Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoint& offset, int ...@@ -239,20 +238,23 @@ void D_PAD::Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoint& offset, int
wxPoint coord[4]; wxPoint coord[4];
int zoom; int zoom;
int fillpad = 0; int fillpad = 0;
WinEDA_BasePcbFrame* frame; WinEDA_BasePcbFrame* frame = NULL;
wxPoint shape_pos; wxPoint shape_pos;
PCB_SCREEN* screen = panel ? PCB_SCREEN* screen = panel ?
(PCB_SCREEN*) panel->m_Parent->m_CurrentScreen : (PCB_SCREEN*) panel->m_Parent->m_CurrentScreen :
(PCB_SCREEN*) ActiveScreen; (PCB_SCREEN*) ActiveScreen;
// @todo: if panel could have been NULL above, how can we dereference it here safely? if ( panel ) // Use current frame setting
frame = (WinEDA_BasePcbFrame*) panel->m_Parent; {
frame = (WinEDA_BasePcbFrame*) panel->m_Parent;
/* Calcul de l'aspect du pad */ }
if( frame->m_DisplayPadFill == FILLED ) else // Use board frame setting
fillpad = 1; if( DisplayOpt.DisplayPadFill == FILLED )
fillpad = 1;
if( frame->m_DisplayPadFill == FILLED )
fillpad = 1;
zoom = screen->GetZoom(); zoom = screen->GetZoom();
#ifdef PCBNEW #ifdef PCBNEW
...@@ -334,7 +336,7 @@ void D_PAD::Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoint& offset, int ...@@ -334,7 +336,7 @@ void D_PAD::Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoint& offset, int
if( m_Attribut==SMD && DisplayOpt.ContrastModeDisplay ) if( m_Attribut==SMD && DisplayOpt.ContrastModeDisplay )
{ {
// when routing tracks // when routing tracks
if( frame->m_ID_current_state == ID_TRACK_BUTT ) if( frame && frame->m_ID_current_state == ID_TRACK_BUTT )
{ {
int routeTop = screen->m_Route_Layer_TOP; int routeTop = screen->m_Route_Layer_TOP;
int routeBot = screen->m_Route_Layer_BOTTOM; int routeBot = screen->m_Route_Layer_BOTTOM;
...@@ -592,8 +594,8 @@ void D_PAD::Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoint& offset, int ...@@ -592,8 +594,8 @@ void D_PAD::Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoint& offset, int
cx0 - dx0, cy0 + dx0, 0, nc_color ); cx0 - dx0, cy0 + dx0, 0, nc_color );
} }
/* Trace de la reference */ /* Draw the pad number */
if( !frame->m_DisplayPadNum ) if( frame && !frame->m_DisplayPadNum )
return; return;
dx = MIN( m_Size.x, m_Size.y ); /* dx = text size */ dx = MIN( m_Size.x, m_Size.y ); /* dx = text size */
......
This diff is collapsed.
...@@ -39,11 +39,6 @@ ...@@ -39,11 +39,6 @@
////@begin control identifiers ////@begin control identifiers
#define ID_DIALOG 10000 #define ID_DIALOG 10000
#define SYMBOL_WINEDA_DISPLAYOPTIONSDIALOG_STYLE wxCAPTION|wxSYSTEM_MENU|wxCLOSE_BOX|MAYBE_RESIZE_BORDER
#define SYMBOL_WINEDA_DISPLAYOPTIONSDIALOG_TITLE _("Display Options")
#define SYMBOL_WINEDA_DISPLAYOPTIONSDIALOG_IDNAME ID_DIALOG
#define SYMBOL_WINEDA_DISPLAYOPTIONSDIALOG_SIZE wxSize(400, 300)
#define SYMBOL_WINEDA_DISPLAYOPTIONSDIALOG_POSITION wxDefaultPosition
#define ID_RADIOBOX_OPT_TRACK 10001 #define ID_RADIOBOX_OPT_TRACK 10001
#define ID_RADIOBOX_SHOWCLR 10002 #define ID_RADIOBOX_SHOWCLR 10002
#define ID_RADIOBOX_SHOW_VIAS 10003 #define ID_RADIOBOX_SHOW_VIAS 10003
...@@ -55,6 +50,11 @@ ...@@ -55,6 +50,11 @@
#define ID_CHECKBOX_PADNC 10010 #define ID_CHECKBOX_PADNC 10010
#define ID_RADIOBOX_SHOW_OTHERS 10011 #define ID_RADIOBOX_SHOW_OTHERS 10011
#define ID_RADIOBOX_PAGE_LIMITS 10006 #define ID_RADIOBOX_PAGE_LIMITS 10006
#define SYMBOL_WINEDA_DISPLAYOPTIONSDIALOG_STYLE wxCAPTION|wxSYSTEM_MENU|wxCLOSE_BOX|MAYBE_RESIZE_BORDER
#define SYMBOL_WINEDA_DISPLAYOPTIONSDIALOG_TITLE _("Display Options")
#define SYMBOL_WINEDA_DISPLAYOPTIONSDIALOG_IDNAME ID_DIALOG
#define SYMBOL_WINEDA_DISPLAYOPTIONSDIALOG_SIZE wxSize(400, 300)
#define SYMBOL_WINEDA_DISPLAYOPTIONSDIALOG_POSITION wxDefaultPosition
////@end control identifiers ////@end control identifiers
/*! /*!
......
This diff is collapsed.
...@@ -151,7 +151,7 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event ) ...@@ -151,7 +151,7 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event )
{ {
DrawPanel->ForceCloseManageCurseur( DrawPanel, &dc ); DrawPanel->ForceCloseManageCurseur( DrawPanel, &dc );
} }
if( m_ID_current_state != id ) if( m_ID_current_state != id )
SetToolID( 0, wxCURSOR_ARROW, wxEmptyString ); SetToolID( 0, wxCURSOR_ARROW, wxEmptyString );
break; break;
...@@ -697,6 +697,11 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event ) ...@@ -697,6 +697,11 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event )
DrawPanel->MouseToCursorSchema(); DrawPanel->MouseToCursorSchema();
break; break;
case ID_POPUP_PCB_DELETE_MARKER:
RemoveStruct( GetCurItem(), &dc );
DrawPanel->MouseToCursorSchema();
break;
case ID_POPUP_PCB_DELETE_DRAWING_LAYER: case ID_POPUP_PCB_DELETE_DRAWING_LAYER:
Delete_Drawings_All_Layer( (DRAWSEGMENT*) GetCurItem(), &dc ); Delete_Drawings_All_Layer( (DRAWSEGMENT*) GetCurItem(), &dc );
SetCurItem( NULL ); SetCurItem( NULL );
...@@ -865,7 +870,7 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event ) ...@@ -865,7 +870,7 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event )
{ {
wxString msg = FindKicadHelpPath(); wxString msg = FindKicadHelpPath();
msg += g_EDA_Appl->m_EDA_CommonConfig->Read( wxT( "module_doc_file" ), msg += g_EDA_Appl->m_EDA_CommonConfig->Read( wxT( "module_doc_file" ),
wxT( "pcbnew/footprints.pdf" ) ); wxT( "pcbnew/footprints.pdf" ) );
GetAssociatedDocument( this, wxEmptyString, msg ); GetAssociatedDocument( this, wxEmptyString, msg );
} }
break; break;
...@@ -917,7 +922,7 @@ static void Process_Move_Item( WinEDA_PcbFrame* frame, ...@@ -917,7 +922,7 @@ static void Process_Move_Item( WinEDA_PcbFrame* frame,
/***************************************************************/ /***************************************************************/
void WinEDA_PcbFrame::RemoveStruct( EDA_BaseStruct* Item, wxDC* DC ) void WinEDA_PcbFrame::RemoveStruct( BOARD_ITEM* Item, wxDC* DC )
/***************************************************************/ /***************************************************************/
{ {
if( Item == NULL ) if( Item == NULL )
...@@ -958,6 +963,14 @@ void WinEDA_PcbFrame::RemoveStruct( EDA_BaseStruct* Item, wxDC* DC ) ...@@ -958,6 +963,14 @@ void WinEDA_PcbFrame::RemoveStruct( EDA_BaseStruct* Item, wxDC* DC )
break; break;
case TYPEMARQUEUR: case TYPEMARQUEUR:
if( Item == GetCurItem() )
SetCurItem( NULL );
( (MARQUEUR*) Item )->Draw( DrawPanel, DC, GR_XOR );
/* unlikf item an free the memory
* (not put in undelete stack, because this seems unnecessary)
*/
Item->DeleteStructure();
break; break;
case TYPEPAD: case TYPEPAD:
...@@ -1009,7 +1022,6 @@ void WinEDA_PcbFrame::SwitchLayer( wxDC* DC, int layer ) ...@@ -1009,7 +1022,6 @@ void WinEDA_PcbFrame::SwitchLayer( wxDC* DC, int layer )
return; return;
} }
} }
// If more than one copper layer is enabled, the "Copper" // If more than one copper layer is enabled, the "Copper"
// and "Component" layers can be selected, but the total // and "Component" layers can be selected, but the total
// number of copper layers determines which internal // number of copper layers determines which internal
...@@ -1017,7 +1029,7 @@ void WinEDA_PcbFrame::SwitchLayer( wxDC* DC, int layer ) ...@@ -1017,7 +1029,7 @@ void WinEDA_PcbFrame::SwitchLayer( wxDC* DC, int layer )
else else
{ {
if( (layer != COPPER_LAYER_N) && (layer != LAYER_CMP_N) if( (layer != COPPER_LAYER_N) && (layer != LAYER_CMP_N)
&& (layer >= m_Pcb->m_BoardSettings->m_CopperLayerCount - 1) ) && (layer >= m_Pcb->m_BoardSettings->m_CopperLayerCount - 1) )
{ {
// Uncomment following command (and line 17) to beep // Uncomment following command (and line 17) to beep
// the speaker. (Doing that would provide feedback to // the speaker. (Doing that would provide feedback to
......
/**************************************/ /**************************************/
/* PCBNEW.H : d�larations communes */ /* PCBNEW.H : headers */
/**************************************/ /**************************************/
#ifndef PCBNEW_H #ifndef PCBNEW_H
#define PCBNEW_H #define PCBNEW_H
...@@ -13,8 +13,8 @@ ...@@ -13,8 +13,8 @@
#define U_PCB (PCB_INTERNAL_UNIT / EESCHEMA_INTERNAL_UNIT) #define U_PCB (PCB_INTERNAL_UNIT / EESCHEMA_INTERNAL_UNIT)
/* valeur de flag indicant si le pointeur de reference pour une localisation /* Flag used in locate functions
* est le curseur sur grille ou le curseur a deplacement fin hors grille */ * the locate ref point is the on grid cursor or the off grid mouse cursor */
#define CURSEUR_ON_GRILLE (0 << 0) #define CURSEUR_ON_GRILLE (0 << 0)
#define CURSEUR_OFF_GRILLE (1 << 0) #define CURSEUR_OFF_GRILLE (1 << 0)
...@@ -23,30 +23,30 @@ ...@@ -23,30 +23,30 @@
#define VISIBLE_ONLY (1 << 3) ///< if module not on a visible layer, do not select #define VISIBLE_ONLY (1 << 3) ///< if module not on a visible layer, do not select
#define START 0 /* ctes parametre dans les routines de localisation */ #define START 0 /* Flag used in locale routines */
#define END 1 #define END 1
#define DIM_ANCRE_MODULE 3 /* dim du symbole de l'ancre (centre) des modules */ #define DIM_ANCRE_MODULE 3 /* Anchor size (footprint centre) */
#define DIM_ANCRE_TEXTE 2 /* dim du symbole de l'ancre (centre) des textes */ #define DIM_ANCRE_TEXTE 2 /* nchor size (Text centre) */
/* Gestion du Menu Zoom */ /* Used in Zoom menu */
#define ZOOM_PLUS -1 #define ZOOM_PLUS -1
#define ZOOM_MOINS -2 #define ZOOM_MOINS -2
#define ZOOM_AUTO -3 #define ZOOM_AUTO -3
#define ZOOM_CENTER -4 #define ZOOM_CENTER -4
#define ZOOM_REDRAW -5 #define ZOOM_REDRAW -5
/* Definition des cas ou l'on force l'affichage en SKETCH (membre .flags) */ /* Flag to force the SKETCH mode to display items (.flags member) */
#define FORCE_SKETCH (DRAG | EDIT ) #define FORCE_SKETCH (DRAG | EDIT )
/* Constantes pour options lecture fichier PCB */ /* Flags used in read board file */
#define APPEND_PCB 1 /* pour ajout d'un nouveau circuit */ #define APPEND_PCB 1 /* used to append the new board to the existing board */
#define NEWPCB 0 /* pour chargement normal */ #define NEWPCB 0 /* used for normal load file */
eda_global wxArrayString g_LibName_List; // library list to load eda_global wxArrayString g_LibName_List; // library list to load
eda_global wxSize g_GridList[] eda_global wxSize g_GridList[]
#ifdef MAIN #ifdef MAIN
= { = {
wxSize( 1000, 1000 ), wxSize( 500, 500 ), wxSize( 250, 250 ), wxSize( 200, 200 ), wxSize( 1000, 1000 ), wxSize( 500, 500 ), wxSize( 250, 250 ), wxSize( 200, 200 ),
...@@ -60,10 +60,10 @@ eda_global wxSize g_GridList[] ...@@ -60,10 +60,10 @@ eda_global wxSize g_GridList[]
; ;
#define UNDELETE_STACK_SIZE 10 #define UNDELETE_STACK_SIZE 10
eda_global BOARD_ITEM* g_UnDeleteStack[UNDELETE_STACK_SIZE]; // Liste des elements supprimes eda_global BOARD_ITEM* g_UnDeleteStack[UNDELETE_STACK_SIZE]; // Linked list of deleted items
eda_global int g_UnDeleteStackPtr; eda_global int g_UnDeleteStackPtr;
eda_global bool g_ShowGrid eda_global bool g_ShowGrid
#ifdef MAIN #ifdef MAIN
= TRUE = TRUE
#endif #endif
...@@ -82,6 +82,8 @@ eda_global int g_TabOneLayerMask[LAYER_COUNT] ...@@ -82,6 +82,8 @@ eda_global int g_TabOneLayerMask[LAYER_COUNT]
0x01000000, 0x02000000, 0x04000000, 0x08000000, 0x01000000, 0x02000000, 0x04000000, 0x08000000,
0x10000000, 0x20000000, 0x40000000, 0x80000000 0x10000000, 0x20000000, 0x40000000, 0x80000000
} }
#endif #endif
; ;
...@@ -106,8 +108,8 @@ eda_global bool Drc_On ...@@ -106,8 +108,8 @@ eda_global bool Drc_On
= TRUE = TRUE
#endif #endif
; ;
eda_global bool g_AutoDeleteOldTrack /* autorise effacement automatique eda_global bool g_AutoDeleteOldTrack /* Allows automatic deletion of the old track after
* de l'ancienne piste lors des redessins de pistes */ creation of a new track */
#ifdef MAIN #ifdef MAIN
= TRUE = TRUE
#endif #endif
...@@ -126,12 +128,11 @@ eda_global bool g_Raccord_45_Auto ...@@ -126,12 +128,11 @@ eda_global bool g_Raccord_45_Auto
= TRUE = TRUE
#endif #endif
; ;
eda_global bool g_ShowIsolDuringCreateTrack; /* .State controle l'affichage eda_global bool g_ShowIsolDuringCreateTrack; /* Show clearance while track creation */
* de l'isolation en trace de piste */
/**************************************************************/ /*********************************/
/* Options d'affichages (remplissages des segments, textes..) */ /* Displa otions for board items */
/**************************************************************/ /*********************************/
eda_global DISPLAY_OPTIONS DisplayOpt; eda_global DISPLAY_OPTIONS DisplayOpt;
...@@ -142,8 +143,7 @@ eda_global DISPLAY_OPTIONS DisplayOpt; ...@@ -142,8 +143,7 @@ eda_global DISPLAY_OPTIONS DisplayOpt;
* @param layer One of the two allowed layers for modules: CMP_N or COPPER_LAYER_N * @param layer One of the two allowed layers for modules: CMP_N or COPPER_LAYER_N
* @return bool - true if the layer is visible, else false. * @return bool - true if the layer is visible, else false.
*/ */
bool inline IsModuleLayerVisible( int layer ) bool inline IsModuleLayerVisible( int layer ) {
{
if( layer==CMP_N ) if( layer==CMP_N )
return DisplayOpt.Show_Modules_Cmp; return DisplayOpt.Show_Modules_Cmp;
...@@ -156,10 +156,10 @@ bool inline IsModuleLayerVisible( int layer ) ...@@ -156,10 +156,10 @@ bool inline IsModuleLayerVisible( int layer )
eda_global bool Track_45_Only; /* Flag pour limiter l'inclinaison eda_global bool Track_45_Only; /* Flag pour limiter l'inclinaison
* pistes a 45 degres seulement */ * pistes a 45 degres seulement */
eda_global bool Segments_45_Only;/* Flag pour limiter l'inclinaison eda_global bool Segments_45_Only;/* Flag pour limiter l'inclinaison
* edge pcb a 45 degres seulement */ * edge pcb a 45 degres seulement */
eda_global wxString PcbExtBuffer eda_global wxString PcbExtBuffer // Board file extension
#ifdef MAIN #ifdef MAIN
( wxT( ".brd" ) ) ( wxT( ".brd" ) )
#endif #endif
...@@ -169,13 +169,13 @@ eda_global wxString g_SaveFileName // File Name for periodic saving ...@@ -169,13 +169,13 @@ eda_global wxString g_SaveFileName // File Name for periodic saving
( wxT( "$savepcb" ) ) ( wxT( "$savepcb" ) )
#endif #endif
; ;
eda_global wxString NetNameBuffer; eda_global wxString NetNameBuffer; // Netlist file extension
eda_global wxString NetExtBuffer eda_global wxString NetExtBuffer
#ifdef MAIN #ifdef MAIN
( wxT( ".net" ) ) ( wxT( ".net" ) )
#endif #endif
; ;
eda_global wxString NetCmpExtBuffer eda_global wxString NetCmpExtBuffer // cmp/footprint association file extension
#ifdef MAIN #ifdef MAIN
( wxT( ".cmp" ) ) ( wxT( ".cmp" ) )
#endif #endif
...@@ -187,7 +187,7 @@ eda_global wxString LibExtBuffer ...@@ -187,7 +187,7 @@ eda_global wxString LibExtBuffer
( wxT( ".mod" ) ) ( wxT( ".mod" ) )
#endif #endif
; ;
eda_global wxString g_Shapes3DExtBuffer // extension des fichiers de formes 3D eda_global wxString g_Shapes3DExtBuffer //3D shape file extension
#ifdef MAIN #ifdef MAIN
( wxT( ".wrl" ) ) ( wxT( ".wrl" ) )
#endif #endif
...@@ -201,7 +201,8 @@ eda_global int g_CurrentVersionPCB ...@@ -201,7 +201,8 @@ eda_global int g_CurrentVersionPCB
#endif #endif
; ;
#define BUFMEMSIZE 256000 /* taille du buffer de travail (en octets) */ /* A buffer used in some computations (will be removed in next cleanup code, do not use) */
#define BUFMEMSIZE 256000 /* buffer size (in bytes) */
eda_global char* buf_work; /* pointeur sur le buffer de travail */ eda_global char* buf_work; /* pointeur sur le buffer de travail */
eda_global char* adr_lowmem; /* adresse de base memoire de calcul disponible*/ eda_global char* adr_lowmem; /* adresse de base memoire de calcul disponible*/
eda_global char* adr_himem; /* adresse haute limite de la memoire disponible*/ eda_global char* adr_himem; /* adresse haute limite de la memoire disponible*/
...@@ -209,15 +210,16 @@ eda_global char* adr_max; /* adresse haute maxi utilisee pour la memoire * ...@@ -209,15 +210,16 @@ eda_global char* adr_max; /* adresse haute maxi utilisee pour la memoire *
/* variables g�erales */ /* variables g�erales */
eda_global char cbuf[1024]; /* buffer de formatage texte */
eda_global BOARD* g_ModuleEditor_Pcb; /* Pointeur de l'entete pcb de l'editeur de module*/
eda_global int g_TimeOut; // Duree entre 2 sauvegardes automatiques
eda_global int g_SaveTime; // heure de la prochaine sauvegarde
eda_global char cbuf[1024]; /* buffer for some text printing */
eda_global BOARD* g_ModuleEditor_Pcb; /* board used to edit footprints (used by modedit)*/
eda_global int g_TimeOut; // Timer for automatic saving
eda_global int g_SaveTime; // Time for next saving
/* Variables generales d'empreintes */
/* Variables used in footprint handling */
extern int Angle_Rot_Module; extern int Angle_Rot_Module;
eda_global wxSize ModuleTextSize; /* dim des textes sur Modules par defaut */ eda_global wxSize ModuleTextSize; /* Default footprint texts size */
eda_global int ModuleTextWidth; eda_global int ModuleTextWidth;
eda_global int ModuleSegmentWidth; eda_global int ModuleSegmentWidth;
eda_global int Texte_Module_Type; eda_global int Texte_Module_Type;
...@@ -227,12 +229,12 @@ eda_global int Texte_Module_Type; ...@@ -227,12 +229,12 @@ eda_global int Texte_Module_Type;
/* pistes , vias , pads*/ /* pistes , vias , pads*/
/***********************/ /***********************/
#define L_MIN_DESSIN 1 /* seuil de largeur des pistes pour trace autre que filaire */ #define L_MIN_DESSIN 1 /* Min width segments to allow draws with tickness */
// Current designe settings: // Current designe settings:
eda_global class EDA_BoardDesignSettings g_DesignSettings; eda_global class EDA_BoardDesignSettings g_DesignSettings;
// valeurs par defaut des caract. des pads // Default values for pad editions
#ifndef GERBVIEW #ifndef GERBVIEW
#ifdef MAIN #ifdef MAIN
D_PAD g_Pad_Master( (MODULE*) NULL ); D_PAD g_Pad_Master( (MODULE*) NULL );
...@@ -243,18 +245,18 @@ extern D_PAD g_Pad_Master; ...@@ -243,18 +245,18 @@ extern D_PAD g_Pad_Master;
#endif #endif
/* Layer pair for auto routing and switch layers by hotkey */
eda_global int Route_Layer_TOP; eda_global int Route_Layer_TOP;
eda_global int Route_Layer_BOTTOM; /* couches de routage actif */ eda_global int Route_Layer_BOTTOM;
eda_global int g_MaxLinksShowed; // determine le nombre max de links affich� eda_global int g_MaxLinksShowed; // Mxa count links showed in routing
// en routage manuel
eda_global bool g_TwoSegmentTrackBuild // FALSE = 1 segment build, TRUE = 2 45 deg segm build eda_global bool g_TwoSegmentTrackBuild // FALSE = 1 segment build, TRUE = 2 45 deg segm build
#ifdef MAIN #ifdef MAIN
= TRUE = TRUE
#endif #endif
; ;
/* How to handle magentic pad: feature to move the pcb cursor on a pad center */ /* How to handle magnetic pads: feature to move the pcb cursor on a pad center */
enum MagneticPadOptionValues { enum MagneticPadOptionValues {
no_effect, no_effect,
capture_cursor_in_track_tool, capture_cursor_in_track_tool,
...@@ -266,16 +268,18 @@ eda_global int g_MagneticPadOption ...@@ -266,16 +268,18 @@ eda_global int g_MagneticPadOption
= capture_cursor_in_track_tool = capture_cursor_in_track_tool
#endif #endif
; ;
/* Variables to handle hightlight nets */
eda_global bool g_HightLigt_Status; eda_global bool g_HightLigt_Status;
eda_global int g_HightLigth_NetCode /* pour mise en surbrillance des pistes */ eda_global int g_HightLigth_NetCode
#ifdef MAIN #ifdef MAIN
= -1 = -1
#endif #endif
; /* net_code du net a mettre en surbrillance */ ;
eda_global TRACK* g_CurrentTrackSegment; // pointeur sur le segment en cours de trace /* used in track creation : */
eda_global TRACK* g_FirstTrackSegment; // pointeur sur le debut de la piste en cours eda_global TRACK* g_CurrentTrackSegment; // current created segment
eda_global int g_TrackSegmentCount; // nombre de points deja traces eda_global TRACK* g_FirstTrackSegment; // first segment created
eda_global int g_TrackSegmentCount; // New created segment count
eda_global wxString g_ViaType_Name[4] eda_global wxString g_ViaType_Name[4]
......
...@@ -60,7 +60,7 @@ void WinEDA_DrawFrame::Recadre_Trace( bool ToMouse ) ...@@ -60,7 +60,7 @@ void WinEDA_DrawFrame::Recadre_Trace( bool ToMouse )
/************************************************/ /************************************************/
void WinEDA_DrawFrame::PutOnGrid( wxPoint* coord ) void WinEDA_DrawFrame::PutOnGrid( wxPoint* coord )
/************************************************/ /************************************************/
/** Adjust the coordinate to the nearest grig value /** Adjust the coordinate to the nearest grid value
* @param coord = coordinate to adjust * @param coord = coordinate to adjust
*/ */
{ {
......
...@@ -48,15 +48,5 @@ compiler can help with this too. ...@@ -48,15 +48,5 @@ compiler can help with this too.
understanding by new developers. understanding by new developers.
*** Implement the graying in/out of "Edit/Undo", "Edit/Redo" menu items,
when Undo/Redo stack is empty/filled.
*** Implement action for ID_POPUP_PCB_DELETE_MARKER, since onrightclick.cpp
can now identify a marker. To see where the user gets a menu to delete a marker:
void WinEDA_PcbFrame::OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu )
*** Add tooltip text to all non-obvious controls in every dialog window. *** Add tooltip text to all non-obvious controls in every dialog window.
Need to do this using DialogBlocks. Need to do this using DialogBlocks.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment