fixed 2 serious bugs in Libedit.
fixed redundant hot keys in Eeschema
This commit is contained in:
parent
0084b53efb
commit
93b9d3fd6f
|
@ -12,6 +12,14 @@ email address.
|
||||||
This makes it easier to preview the page in a browser. Then autogenerate
|
This makes it easier to preview the page in a browser. Then autogenerate
|
||||||
the *.h file from the html using a CMake script.
|
the *.h file from the html using a CMake script.
|
||||||
|
|
||||||
|
2009-Dec-2 UPDATE Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
================================================================================
|
||||||
|
Compiler warning, object name, bug, and string fixes.
|
||||||
|
* Fixed EESchema options dialog focus bug so escape key now works in GTK.
|
||||||
|
* Rename schematic objects for improved readability.
|
||||||
|
* Fixed GCC compiler warnings in plot code.
|
||||||
|
* Added paragraph in UIpolicies.txt about setting dialog box sizes.
|
||||||
|
* Lots of message box string clean up.
|
||||||
|
|
||||||
2009-Nov-05 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
|
2009-Nov-05 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
|
||||||
================================================================================
|
================================================================================
|
||||||
|
|
|
@ -39,6 +39,11 @@ void WinEDA_LibeditFrame::OnLeftClick( wxDC* DC, const wxPoint& MousePos )
|
||||||
DrawEntry = NULL;
|
DrawEntry = NULL;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case COMPONENT_PIN_DRAW_TYPE:
|
||||||
|
PlacePin( DC );
|
||||||
|
DrawEntry = NULL;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
EndDrawGraphicItem( DC );
|
EndDrawGraphicItem( DC );
|
||||||
break;
|
break;
|
||||||
|
@ -157,41 +162,38 @@ void WinEDA_LibeditFrame::OnLeftClick( wxDC* DC, const wxPoint& MousePos )
|
||||||
void WinEDA_LibeditFrame::OnLeftDClick( wxDC* DC, const wxPoint& MousePos )
|
void WinEDA_LibeditFrame::OnLeftDClick( wxDC* DC, const wxPoint& MousePos )
|
||||||
{
|
{
|
||||||
wxPoint pos = GetPosition();
|
wxPoint pos = GetPosition();
|
||||||
LIB_DRAW_ITEM* DrawEntry = m_drawItem;
|
|
||||||
|
|
||||||
if( m_component == NULL )
|
if( m_component == NULL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if( ( DrawEntry == NULL ) || ( DrawEntry->m_Flags == 0 ) )
|
if( ( m_drawItem == NULL ) || ( m_drawItem->m_Flags == 0 ) )
|
||||||
{ // We can locate an item
|
{ // We can locate an item
|
||||||
DrawEntry = m_drawItem =
|
m_drawItem =
|
||||||
m_component->LocateDrawItem( m_unit, m_convert, TYPE_NOT_INIT,
|
m_component->LocateDrawItem( m_unit, m_convert, TYPE_NOT_INIT,
|
||||||
GetScreen()->m_MousePosition );
|
GetScreen()->m_MousePosition );
|
||||||
if( DrawEntry == NULL )
|
if( m_drawItem == NULL )
|
||||||
{
|
{
|
||||||
DrawEntry = m_drawItem =
|
m_drawItem =
|
||||||
m_component->LocateDrawItem( m_unit, m_convert, TYPE_NOT_INIT,
|
m_component->LocateDrawItem( m_unit, m_convert, TYPE_NOT_INIT,
|
||||||
GetScreen()->m_Curseur );
|
GetScreen()->m_Curseur );
|
||||||
}
|
}
|
||||||
if( DrawEntry == NULL )
|
if( m_drawItem == NULL )
|
||||||
{
|
{
|
||||||
EditComponentProperties();
|
EditComponentProperties();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if( DrawEntry )
|
if( m_drawItem )
|
||||||
DrawEntry->DisplayInfo( this );
|
m_drawItem->DisplayInfo( this );
|
||||||
else
|
else
|
||||||
return;
|
return;
|
||||||
|
|
||||||
m_drawItem = DrawEntry;
|
|
||||||
|
|
||||||
DrawPanel->m_IgnoreMouseEvents = TRUE;
|
DrawPanel->m_IgnoreMouseEvents = TRUE;
|
||||||
|
|
||||||
switch( DrawEntry->Type() )
|
switch( m_drawItem->Type() )
|
||||||
{
|
{
|
||||||
case COMPONENT_PIN_DRAW_TYPE:
|
case COMPONENT_PIN_DRAW_TYPE:
|
||||||
if( DrawEntry->m_Flags == 0 )
|
if( m_drawItem->m_Flags == 0 )
|
||||||
{
|
{
|
||||||
wxCommandEvent cmd( wxEVT_COMMAND_MENU_SELECTED );
|
wxCommandEvent cmd( wxEVT_COMMAND_MENU_SELECTED );
|
||||||
cmd.SetId( ID_LIBEDIT_EDIT_PIN );
|
cmd.SetId( ID_LIBEDIT_EDIT_PIN );
|
||||||
|
@ -202,35 +204,35 @@ void WinEDA_LibeditFrame::OnLeftDClick( wxDC* DC, const wxPoint& MousePos )
|
||||||
case COMPONENT_ARC_DRAW_TYPE:
|
case COMPONENT_ARC_DRAW_TYPE:
|
||||||
case COMPONENT_CIRCLE_DRAW_TYPE:
|
case COMPONENT_CIRCLE_DRAW_TYPE:
|
||||||
case COMPONENT_RECT_DRAW_TYPE:
|
case COMPONENT_RECT_DRAW_TYPE:
|
||||||
if( DrawEntry->m_Flags == 0 )
|
if( m_drawItem->m_Flags == 0 )
|
||||||
{
|
{
|
||||||
EditGraphicSymbol( DC, DrawEntry );
|
EditGraphicSymbol( DC, m_drawItem );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case COMPONENT_LINE_DRAW_TYPE:
|
case COMPONENT_LINE_DRAW_TYPE:
|
||||||
case COMPONENT_POLYLINE_DRAW_TYPE:
|
case COMPONENT_POLYLINE_DRAW_TYPE:
|
||||||
if( DrawEntry->m_Flags == 0 )
|
if( m_drawItem->m_Flags == 0 )
|
||||||
{
|
{
|
||||||
EditGraphicSymbol( DC, DrawEntry );
|
EditGraphicSymbol( DC, m_drawItem );
|
||||||
}
|
}
|
||||||
else if( DrawEntry->m_Flags & IS_NEW )
|
else if( m_drawItem->m_Flags & IS_NEW )
|
||||||
{
|
{
|
||||||
EndDrawGraphicItem( DC );
|
EndDrawGraphicItem( DC );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case COMPONENT_GRAPHIC_TEXT_DRAW_TYPE:
|
case COMPONENT_GRAPHIC_TEXT_DRAW_TYPE:
|
||||||
if( DrawEntry->m_Flags == 0 )
|
if( m_drawItem->m_Flags == 0 )
|
||||||
{
|
{
|
||||||
EditSymbolText( DC, DrawEntry );
|
EditSymbolText( DC, m_drawItem );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case COMPONENT_FIELD_DRAW_TYPE:
|
case COMPONENT_FIELD_DRAW_TYPE:
|
||||||
if( DrawEntry->m_Flags == 0 )
|
if( m_drawItem->m_Flags == 0 )
|
||||||
{
|
{
|
||||||
EditField( DC, (LIB_FIELD*) DrawEntry );
|
EditField( DC, (LIB_FIELD*) m_drawItem );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -239,7 +241,7 @@ void WinEDA_LibeditFrame::OnLeftDClick( wxDC* DC, const wxPoint& MousePos )
|
||||||
wxString msg;
|
wxString msg;
|
||||||
msg.Printf( wxT( "WinEDA_LibeditFrame::OnLeftDClick Error: unknown \
|
msg.Printf( wxT( "WinEDA_LibeditFrame::OnLeftDClick Error: unknown \
|
||||||
StructType %d" ),
|
StructType %d" ),
|
||||||
DrawEntry->Type() );
|
m_drawItem->Type() );
|
||||||
DisplayError( this, msg );
|
DisplayError( this, msg );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,6 +43,7 @@ void WinEDA_LibeditFrame::OnEditPin( wxCommandEvent& event )
|
||||||
if( m_drawItem == NULL || m_drawItem->Type() != COMPONENT_PIN_DRAW_TYPE )
|
if( m_drawItem == NULL || m_drawItem->Type() != COMPONENT_PIN_DRAW_TYPE )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
int item_flags = m_drawItem->m_Flags; // save flags to restore them after editing
|
||||||
LIB_PIN* pin = (LIB_PIN*) m_drawItem;
|
LIB_PIN* pin = (LIB_PIN*) m_drawItem;
|
||||||
|
|
||||||
DIALOG_LIB_EDIT_PIN dlg( this );
|
DIALOG_LIB_EDIT_PIN dlg( this );
|
||||||
|
@ -131,6 +132,9 @@ void WinEDA_LibeditFrame::OnEditPin( wxCommandEvent& event )
|
||||||
}
|
}
|
||||||
|
|
||||||
pin->EnableEditMode( false, g_EditPinByPinIsOn );
|
pin->EnableEditMode( false, g_EditPinByPinIsOn );
|
||||||
|
|
||||||
|
// Restore pin flags, that can be changed by the dialog editor
|
||||||
|
pin->m_Flags = item_flags;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,10 +2,9 @@
|
||||||
<!-- This file is used to autogenerate a *.h file, but you can load it into a browser to preview -->
|
<!-- This file is used to autogenerate a *.h file, but you can load it into a browser to preview -->
|
||||||
<h1>Freerouter Guidelines:</h1>
|
<h1>Freerouter Guidelines:</h1>
|
||||||
<ol>
|
<ol>
|
||||||
<li> in pcbnew: establish the number of layers, and save the new *.brd file.</li><br>
|
<li> in pcbnew, using the Layers Setup dialog:</li><br>
|
||||||
|
<li>choose the number of layers, and enter the name of each layer.</li><br>
|
||||||
<li> in a text editor: load the board (*.brd) file, and edit the layer names and types.
|
These should look something like this:
|
||||||
These should look something like this:
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>Layer[0] Back signal</li>
|
<li>Layer[0] Back signal</li>
|
||||||
<li>Layer[1] Power power</li>
|
<li>Layer[1] Power power</li>
|
||||||
|
@ -13,14 +12,13 @@
|
||||||
<li>Layer[3] H1_Signal signal</li>
|
<li>Layer[3] H1_Signal signal</li>
|
||||||
<li>Layer[4] Ground power</li>
|
<li>Layer[4] Ground power</li>
|
||||||
<li>Layer[15] Front signal</li>
|
<li>Layer[15] Front signal</li>
|
||||||
|
|
||||||
</ul><br>
|
</ul><br>
|
||||||
Notice that after the layer name there is a layer type field, either 'signal' or 'power'.
|
Notice that after the layer name there is a layer type field, either 'signal' or 'power'.<br>
|
||||||
Any layer identified as 'power' will be removed from the layer menu in Freerouter,
|
Any layer identified as 'power' will be removed from the layer menu in Freerouter,
|
||||||
as this will be assumed to contain a power zone.
|
as this will be assumed to contain a power zone.
|
||||||
</li><br>
|
</li><br><br>
|
||||||
|
|
||||||
<li> in pcbnew: re-load the board, and establish board perimeter.</li><br>
|
<li> in pcbnew: establish board perimeter.</li><br>
|
||||||
|
|
||||||
<li> in pcbnew: load in the netlist so you have all the components defined and instantiated.</li><br>
|
<li> in pcbnew: load in the netlist so you have all the components defined and instantiated.</li><br>
|
||||||
|
|
||||||
|
|
|
@ -65,7 +65,7 @@ static Ki_HotkeyInfo HkFindItem( wxT( "Find Item" ), HK_FIND_ITEM, 'F'
|
||||||
+ GR_KB_CTRL );
|
+ GR_KB_CTRL );
|
||||||
static Ki_HotkeyInfo HkBackspace( wxT( "Delete track segment" ), HK_BACK_SPACE,
|
static Ki_HotkeyInfo HkBackspace( wxT( "Delete track segment" ), HK_BACK_SPACE,
|
||||||
WXK_BACK );
|
WXK_BACK );
|
||||||
static Ki_HotkeyInfo HkAddNewTrack( wxT( "Add New Track/Segment" ), HK_ADD_NEW_TRACK, 'X' );
|
static Ki_HotkeyInfo HkAddNewTrack( wxT( "Add new track" ), HK_ADD_NEW_TRACK, 'X' );
|
||||||
static Ki_HotkeyInfo HkAddVia( wxT( "Add Via" ), HK_ADD_VIA, 'V' );
|
static Ki_HotkeyInfo HkAddVia( wxT( "Add Via" ), HK_ADD_VIA, 'V' );
|
||||||
static Ki_HotkeyInfo HkAddMicroVia( wxT( "Add MicroVia" ), HK_ADD_MICROVIA, 'V'
|
static Ki_HotkeyInfo HkAddMicroVia( wxT( "Add MicroVia" ), HK_ADD_MICROVIA, 'V'
|
||||||
+ GR_KB_CTRL );
|
+ GR_KB_CTRL );
|
||||||
|
@ -97,7 +97,6 @@ static Ki_HotkeyInfo HkSwitchUnits( wxT( "Switch Units" ), HK_SWITCH_UNITS, 'U'
|
||||||
static Ki_HotkeyInfo HkTrackDisplayMode( wxT( "Track Display Mode" ),
|
static Ki_HotkeyInfo HkTrackDisplayMode( wxT( "Track Display Mode" ),
|
||||||
HK_SWITCH_TRACK_DISPLAY_MODE, 'K' );
|
HK_SWITCH_TRACK_DISPLAY_MODE, 'K' );
|
||||||
static Ki_HotkeyInfo HkAddModule( wxT( "Add Module" ), HK_ADD_MODULE, 'O' );
|
static Ki_HotkeyInfo HkAddModule( wxT( "Add Module" ), HK_ADD_MODULE, 'O' );
|
||||||
static Ki_HotkeyInfo HkAddTrack( wxT( "Add Track or Via" ), HK_ADD_TRACK, 'J' );
|
|
||||||
|
|
||||||
// List of common hotkey descriptors
|
// List of common hotkey descriptors
|
||||||
Ki_HotkeyInfo
|
Ki_HotkeyInfo
|
||||||
|
@ -122,7 +121,7 @@ Ki_HotkeyInfo* s_board_edit_Hotkey_List[] =
|
||||||
&HkSwitch2InnerLayer2, &HkSwitch2InnerLayer3, &HkSwitch2InnerLayer4,
|
&HkSwitch2InnerLayer2, &HkSwitch2InnerLayer3, &HkSwitch2InnerLayer4,
|
||||||
&HkSwitch2InnerLayer5, &HkSwitch2InnerLayer6, &HkSwitch2ComponentLayer,
|
&HkSwitch2InnerLayer5, &HkSwitch2InnerLayer6, &HkSwitch2ComponentLayer,
|
||||||
&HkSwitch2NextCopperLayer, &HkSwitch2PreviousCopperLayer,&HkAddModule,
|
&HkSwitch2NextCopperLayer, &HkSwitch2PreviousCopperLayer,&HkAddModule,
|
||||||
&HkAddTrack, NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
// List of hotkey descriptors for the module editor
|
// List of hotkey descriptors for the module editor
|
||||||
|
@ -318,11 +317,6 @@ void WinEDA_PcbFrame::OnHotKey( wxDC* DC, int hotkey, EDA_BaseStruct* DrawStruct
|
||||||
GetEventHandler()->ProcessEvent( cmd );
|
GetEventHandler()->ProcessEvent( cmd );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case HK_ADD_TRACK:
|
|
||||||
cmd.SetId( ID_TRACK_BUTT );
|
|
||||||
GetEventHandler()->ProcessEvent( cmd );
|
|
||||||
break;
|
|
||||||
|
|
||||||
case HK_ZOOM_AUTO:
|
case HK_ZOOM_AUTO:
|
||||||
cmd.SetId( ID_ZOOM_PAGE );
|
cmd.SetId( ID_ZOOM_PAGE );
|
||||||
GetEventHandler()->ProcessEvent( cmd );
|
GetEventHandler()->ProcessEvent( cmd );
|
||||||
|
@ -468,9 +462,18 @@ void WinEDA_PcbFrame::OnHotKey( wxDC* DC, int hotkey, EDA_BaseStruct* DrawStruct
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case HK_ADD_NEW_TRACK: // Start new track
|
case HK_ADD_NEW_TRACK: // Start new track
|
||||||
if( m_ID_current_state == ID_TRACK_BUTT && GetScreen()->m_Active_Layer
|
if( GetScreen()->m_Active_Layer > CMP_N )
|
||||||
<= CMP_N )
|
break;
|
||||||
|
|
||||||
|
if( m_ID_current_state != ID_TRACK_BUTT && ItemFree )
|
||||||
{
|
{
|
||||||
|
cmd.SetId( ID_TRACK_BUTT );
|
||||||
|
GetEventHandler()->ProcessEvent( cmd );
|
||||||
|
}
|
||||||
|
|
||||||
|
if( m_ID_current_state != ID_TRACK_BUTT )
|
||||||
|
break;
|
||||||
|
|
||||||
if( ItemFree ) // no track in progress:
|
if( ItemFree ) // no track in progress:
|
||||||
{
|
{
|
||||||
TRACK* track = Begin_Route( NULL, DC );
|
TRACK* track = Begin_Route( NULL, DC );
|
||||||
|
@ -487,7 +490,6 @@ void WinEDA_PcbFrame::OnHotKey( wxDC* DC, int hotkey, EDA_BaseStruct* DrawStruct
|
||||||
SetCurItem( track, false );
|
SetCurItem( track, false );
|
||||||
DrawPanel->m_AutoPAN_Request = true;
|
DrawPanel->m_AutoPAN_Request = true;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// Footprint edition:
|
// Footprint edition:
|
||||||
|
|
Loading…
Reference in New Issue