minor enhancements related to doc update.

This commit is contained in:
charras 2009-12-06 18:04:41 +00:00
parent b09f3ab785
commit 5f9aefe898
12 changed files with 68 additions and 108 deletions

View File

@ -11,7 +11,6 @@ CMAKE
Common Common
------ ------
* Grep for @TODO or TODO for sourcecode tasks * Grep for @TODO or TODO for sourcecode tasks
* Translate comment from French to English
* Use doxygen compatible comments on member functions (.h files) * Use doxygen compatible comments on member functions (.h files)
* 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.
@ -56,11 +55,6 @@ PCBNew
------ ------
* Use BOARD_ITEM::MenuIcon() in the onrightclick.cpp * Use BOARD_ITEM::MenuIcon() in the onrightclick.cpp
* Add unroute option in rightclick menu for components * Add unroute option in rightclick menu for components
* Add net class support
* So the round tripping to freerouter is a dream.
* So that the export to specctra becomes richer.
* Netclass should hold a lists of nets, track widths, track spacings,
via drill sizes and copper diameters.
* Document specctra round tripper, and fix the english translation of help. * Document specctra round tripper, and fix the english translation of help.
* Expose layer name editing. Should dove tail with net class editor from * Expose layer name editing. Should dove tail with net class editor from
a UI perspective. a UI perspective.

View File

@ -8,7 +8,7 @@
#include "appl_wxstruct.h" #include "appl_wxstruct.h"
#define BUILD_VERSION "(2009-11-15-unstable)" #define BUILD_VERSION "(2009-12-05-unstable)"
#ifdef HAVE_SVN_VERSION #ifdef HAVE_SVN_VERSION

View File

@ -35,6 +35,7 @@ DIALOG_ERC::DIALOG_ERC( WinEDA_SchematicFrame* parent ) :
Init(); Init();
GetSizer()->SetSizeHints( this ); GetSizer()->SetSizeHints( this );
Centre();
} }

View File

@ -32,7 +32,7 @@
<property name="minimum_size"></property> <property name="minimum_size"></property>
<property name="name">DIALOG_ERC_BASE</property> <property name="name">DIALOG_ERC_BASE</property>
<property name="pos"></property> <property name="pos"></property>
<property name="size">438,407</property> <property name="size">496,407</property>
<property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property> <property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property>
<property name="subclass">; </property> <property name="subclass">; </property>
<property name="title">EESchema Erc</property> <property name="title">EESchema Erc</property>
@ -187,7 +187,7 @@
<property name="permission">none</property> <property name="permission">none</property>
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="1">
<property name="border">5</property> <property name="border">5</property>
<property name="flag"></property> <property name="flag">wxALIGN_CENTER_VERTICAL</property>
<property name="proportion">0</property> <property name="proportion">0</property>
<object class="wxStaticBoxSizer" expanded="1"> <object class="wxStaticBoxSizer" expanded="1">
<property name="id">wxID_ANY</property> <property name="id">wxID_ANY</property>

View File

@ -195,10 +195,10 @@ void WinEDA_SchematicFrame::ChangeTextOrient( SCH_TEXT* TextStruct, wxDC* DC )
/*************************************************************************/ /*************************************************************************/
SCH_TEXT* WinEDA_SchematicFrame::CreateNewText( wxDC* DC, int type ) SCH_TEXT* WinEDA_SchematicFrame::CreateNewText( wxDC* DC, int type )
{
/*************************************************************************/ /*************************************************************************/
/* Routine to create new text struct (GraphicText, label or Glabel). /* Routine to create new text struct (GraphicText, label or Glabel).
*/ */
{
SCH_TEXT* NewText = NULL; SCH_TEXT* NewText = NULL;
g_ItemToRepeat = NULL; g_ItemToRepeat = NULL;

View File

@ -101,7 +101,7 @@ static Ki_HotkeyInfo HkNextSearch( wxT( "Next Search" ), HK_NEXT_SEARCH,
static Ki_HotkeyInfo HkInsertPin( wxT( "Repeat Pin" ), HK_REPEAT_LAST, static Ki_HotkeyInfo HkInsertPin( wxT( "Repeat Pin" ), HK_REPEAT_LAST,
WXK_INSERT ); WXK_INSERT );
static Ki_HotkeyInfo HkEditPin( wxT( "Edit Pin" ), HK_EDIT_PIN, 'E' ); static Ki_HotkeyInfo HkEditPin( wxT( "Edit Pin" ), HK_EDIT_PIN, 'E' );
static Ki_HotkeyInfo HkMovePin( wxT( "Move Pin" ), HK_MOVE_PIN, 'M' ); static Ki_HotkeyInfo HkMovePin( wxT( "Move Pin" ), HK_LIBEDIT_MOVE_GRAPHIC_ITEM, 'M' );
static Ki_HotkeyInfo HkDeletePin( wxT( "Delete Pin" ), HK_DELETE_PIN, static Ki_HotkeyInfo HkDeletePin( wxT( "Delete Pin" ), HK_DELETE_PIN,
WXK_DELETE ); WXK_DELETE );
@ -650,7 +650,7 @@ void WinEDA_LibeditFrame::OnHotKey( wxDC* DC, int hotkey,
} }
break; break;
case HK_MOVE_PIN: case HK_LIBEDIT_MOVE_GRAPHIC_ITEM:
m_drawItem = LocateItemUsingCursor(); m_drawItem = LocateItemUsingCursor();
if( m_drawItem ) if( m_drawItem )

View File

@ -19,14 +19,14 @@ enum hotkey_id_commnand {
HK_DELETE, HK_DELETE,
HK_REPEAT_LAST, HK_REPEAT_LAST,
HK_EDIT_PIN, HK_EDIT_PIN,
HK_MOVE_PIN, HK_LIBEDIT_MOVE_GRAPHIC_ITEM,
HK_DELETE_PIN, HK_DELETE_PIN,
HK_UNDO, HK_UNDO,
HK_REDO, HK_REDO,
HK_MOVEBLOCK_TO_DRAGBLOCK, HK_MOVEBLOCK_TO_DRAGBLOCK,
HK_ROTATE_COMPONENT, HK_ROTATE_COMPONENT,
HK_EDIT_COMPONENT, HK_EDIT_COMPONENT,
HK_EDIT_COMPONENT_VALUE, HK_EDIT_COMPONENT_VALUE,
HK_EDIT_COMPONENT_FOOTPRINT, HK_EDIT_COMPONENT_FOOTPRINT,
HK_MIRROR_X_COMPONENT, HK_MIRROR_X_COMPONENT,
HK_MIRROR_Y_COMPONENT, HK_MIRROR_Y_COMPONENT,

View File

@ -81,7 +81,7 @@ bool WinEDA_LibeditFrame::OnRightClick( const wxPoint& MousePos,
if( DrawEntry->m_Flags == 0 ) if( DrawEntry->m_Flags == 0 )
{ {
msg = AddHotkeyName( _( "Move Arc " ), s_Libedit_Hokeys_Descr, msg = AddHotkeyName( _( "Move Arc " ), s_Libedit_Hokeys_Descr,
HK_MOVE_PIN ); HK_LIBEDIT_MOVE_GRAPHIC_ITEM );
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST, ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST,
msg, move_arc_xpm ); msg, move_arc_xpm );
} }
@ -100,7 +100,7 @@ bool WinEDA_LibeditFrame::OnRightClick( const wxPoint& MousePos,
if( DrawEntry->m_Flags == 0 ) if( DrawEntry->m_Flags == 0 )
{ {
msg = AddHotkeyName( _( "Move Circle " ), s_Libedit_Hokeys_Descr, msg = AddHotkeyName( _( "Move Circle " ), s_Libedit_Hokeys_Descr,
HK_MOVE_PIN ); HK_LIBEDIT_MOVE_GRAPHIC_ITEM );
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST, ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST,
msg, move_circle_xpm ); msg, move_circle_xpm );
} }
@ -119,7 +119,7 @@ bool WinEDA_LibeditFrame::OnRightClick( const wxPoint& MousePos,
if( DrawEntry->m_Flags == 0 ) if( DrawEntry->m_Flags == 0 )
{ {
msg = AddHotkeyName( _( "Move Rect " ), s_Libedit_Hokeys_Descr, msg = AddHotkeyName( _( "Move Rect " ), s_Libedit_Hokeys_Descr,
HK_MOVE_PIN ); HK_LIBEDIT_MOVE_GRAPHIC_ITEM );
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST, ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST,
msg, move_rectangle_xpm ); msg, move_rectangle_xpm );
} }
@ -138,7 +138,7 @@ bool WinEDA_LibeditFrame::OnRightClick( const wxPoint& MousePos,
if( DrawEntry->m_Flags == 0 ) if( DrawEntry->m_Flags == 0 )
{ {
msg = AddHotkeyName( _( "Move Text " ), s_Libedit_Hokeys_Descr, msg = AddHotkeyName( _( "Move Text " ), s_Libedit_Hokeys_Descr,
HK_MOVE_PIN ); HK_LIBEDIT_MOVE_GRAPHIC_ITEM );
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST, ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST,
msg, move_text_xpm ); msg, move_text_xpm );
} }
@ -159,7 +159,7 @@ bool WinEDA_LibeditFrame::OnRightClick( const wxPoint& MousePos,
if( DrawEntry->m_Flags == 0 ) if( DrawEntry->m_Flags == 0 )
{ {
msg = AddHotkeyName( _( "Move Line " ), s_Libedit_Hokeys_Descr, msg = AddHotkeyName( _( "Move Line " ), s_Libedit_Hokeys_Descr,
HK_MOVE_PIN ); HK_LIBEDIT_MOVE_GRAPHIC_ITEM );
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST, ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST,
msg, move_line_xpm ); msg, move_line_xpm );
} }
@ -194,7 +194,7 @@ bool WinEDA_LibeditFrame::OnRightClick( const wxPoint& MousePos,
if( DrawEntry->m_Flags == 0 ) if( DrawEntry->m_Flags == 0 )
{ {
msg = AddHotkeyName( _( "Move Field " ), s_Libedit_Hokeys_Descr, msg = AddHotkeyName( _( "Move Field " ), s_Libedit_Hokeys_Descr,
HK_MOVE_PIN ); HK_LIBEDIT_MOVE_GRAPHIC_ITEM );
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST, ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST,
msg, move_field_xpm ); msg, move_field_xpm );
} }
@ -226,12 +226,16 @@ void AddMenusForPin( wxMenu* PopMenu,
{ {
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);
wxString msg;
if( not_in_move ) if( not_in_move )
{
msg = AddHotkeyName( _( "Move Pin " ), s_Libedit_Hokeys_Descr,
HK_LIBEDIT_MOVE_GRAPHIC_ITEM );
ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST, ADD_MENUITEM( PopMenu, ID_POPUP_LIBEDIT_MOVE_ITEM_REQUEST,
_( "Move Pin" ), move_xpm ); msg, move_xpm );
}
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_LIBEDIT_EDIT_PIN, msg, edit_xpm ); ADD_MENUITEM( PopMenu, ID_LIBEDIT_EDIT_PIN, msg, edit_xpm );

View File

@ -217,20 +217,6 @@ void WinEDA_SchematicFrame::OnLeftClick( wxDC* DC, const wxPoint& MousePos )
} }
break; break;
if( (DrawStruct == NULL) || (DrawStruct->m_Flags == 0) )
{
GetScreen()->SetCurItem( CreateNewText( DC, LAYER_HIERLABEL ) );
DrawPanel->m_AutoPAN_Request = TRUE;
}
else
{
DrawStruct->Place( this, DC );
DrawPanel->m_AutoPAN_Request = FALSE;
TestDanglingEnds( GetScreen()->EEDrawList, NULL );
DrawPanel->Refresh( TRUE );
}
break;
case ID_SHEET_SYMBOL_BUTT: case ID_SHEET_SYMBOL_BUTT:
if( ( DrawStruct == NULL ) || ( DrawStruct->m_Flags == 0 ) ) if( ( DrawStruct == NULL ) || ( DrawStruct->m_Flags == 0 ) )
{ {

View File

@ -301,10 +301,8 @@ static void DrawMovePin( WinEDA_DrawPanel* panel, wxDC* DC, bool erase )
bool showPinText = true; bool showPinText = true;
/* Erase pin in old position */ /* Erase pin in old position */
if( erase || CurrentPin->IsNew() ) if( erase )
{ {
wxLogDebug( wxT( "Initial pin position (%d, %d)" ),
PinPreviousPos.x, PinPreviousPos.y );
CurrentPin->m_Pos = PinPreviousPos; CurrentPin->m_Pos = PinPreviousPos;
CurrentPin->Draw( panel, DC, wxPoint( 0, 0 ), -1, g_XorMode, CurrentPin->Draw( panel, DC, wxPoint( 0, 0 ), -1, g_XorMode,
&showPinText, DefaultTransformMatrix ); &showPinText, DefaultTransformMatrix );
@ -379,9 +377,6 @@ void WinEDA_LibeditFrame::CreatePin( wxDC* DC )
pin = new LIB_PIN( m_component ); pin = new LIB_PIN( m_component );
if( pin == NULL )
return;
m_drawItem = pin; m_drawItem = pin;
pin->m_Flags = IS_NEW; pin->m_Flags = IS_NEW;
@ -416,13 +411,7 @@ void WinEDA_LibeditFrame::CreatePin( wxDC* DC )
else else
pin->m_Attributs |= PINNOTDRAW; pin->m_Attributs |= PINNOTDRAW;
if( DC )
pin->Draw( DrawPanel, DC, wxPoint( 0, 0 ), -1, wxCOPY, &showPinText,
DefaultTransformMatrix );
PinPreviousPos = pin->m_Pos; PinPreviousPos = pin->m_Pos;
wxLogDebug( wxT( "Initial pin position (%d, %d)" ),
PinPreviousPos.x, PinPreviousPos.y );
DrawPanel->m_IgnoreMouseEvents = true; DrawPanel->m_IgnoreMouseEvents = true;
wxCommandEvent cmd( wxEVT_COMMAND_MENU_SELECTED ); wxCommandEvent cmd( wxEVT_COMMAND_MENU_SELECTED );
cmd.SetId( ID_LIBEDIT_EDIT_PIN ); cmd.SetId( ID_LIBEDIT_EDIT_PIN );
@ -432,13 +421,17 @@ void WinEDA_LibeditFrame::CreatePin( wxDC* DC )
if (pin->m_Flags & IS_CANCELLED) if (pin->m_Flags & IS_CANCELLED)
{ {
DeletePin(DC, m_component, pin); DeletePin(NULL, m_component, pin);
m_drawItem = NULL; m_drawItem = NULL;
} }
else else
{ {
DrawPanel->ManageCurseur = DrawMovePin; DrawPanel->ManageCurseur = DrawMovePin;
DrawPanel->ForceCloseManageCurseur = AbortPinMove; DrawPanel->ForceCloseManageCurseur = AbortPinMove;
if( DC )
pin->Draw( DrawPanel, DC, wxPoint( 0, 0 ), -1, wxCOPY, &showPinText,
DefaultTransformMatrix );
} }
} }

View File

@ -17,7 +17,7 @@ static void ExitPinSheet( WinEDA_DrawPanel* Panel, wxDC* DC );
static void Move_PinSheet( WinEDA_DrawPanel* panel, wxDC* DC, bool erase ); static void Move_PinSheet( WinEDA_DrawPanel* panel, wxDC* DC, bool erase );
static int CurrentTypeLabel = NET_INPUT; static int s_CurrentTypeLabel = NET_INPUT;
static wxSize NetSheetTextSize( DEFAULT_SIZE_TEXT, DEFAULT_SIZE_TEXT ); static wxSize NetSheetTextSize( DEFAULT_SIZE_TEXT, DEFAULT_SIZE_TEXT );
/****************************************/ /****************************************/
@ -49,24 +49,23 @@ private:
}; };
BEGIN_EVENT_TABLE( WinEDA_PinSheetPropertiesFrame, wxDialog ) BEGIN_EVENT_TABLE( WinEDA_PinSheetPropertiesFrame, wxDialog )
EVT_BUTTON( wxID_OK, WinEDA_PinSheetPropertiesFrame::OnOkClick ) EVT_BUTTON( wxID_OK, WinEDA_PinSheetPropertiesFrame::OnOkClick )
EVT_BUTTON( wxID_CANCEL, WinEDA_PinSheetPropertiesFrame::OnCancelClick ) EVT_BUTTON( wxID_CANCEL, WinEDA_PinSheetPropertiesFrame::OnCancelClick )
END_EVENT_TABLE() END_EVENT_TABLE()
WinEDA_PinSheetPropertiesFrame::WinEDA_PinSheetPropertiesFrame( WinEDA_PinSheetPropertiesFrame::WinEDA_PinSheetPropertiesFrame(
WinEDA_SchematicFrame* parent, WinEDA_SchematicFrame* parent,
SCH_SHEET_PIN* curr_pinsheet, SCH_SHEET_PIN* curr_pinsheet,
const wxPoint& framepos ) : const wxPoint& framepos ) :
wxDialog( parent, -1, _( "PinSheet Properties:" ), framepos, wxDialog( parent, -1, _( "PinSheet Properties:" ), framepos,
wxSize( 340, 220 ), DIALOG_STYLE ) wxSize( 340, 220 ), DIALOG_STYLE )
{ {
wxPoint pos; wxPoint pos;
wxString number; wxString number;
wxButton* Button; wxButton* Button;
m_Parent = parent; m_Parent = parent;
Centre();
wxBoxSizer* MainBoxSizer = new wxBoxSizer( wxHORIZONTAL ); wxBoxSizer* MainBoxSizer = new wxBoxSizer( wxHORIZONTAL );
SetSizer( MainBoxSizer ); SetSizer( MainBoxSizer );
@ -102,15 +101,18 @@ wxDialog( parent, -1, _( "PinSheet Properties:" ), framepos,
m_PinSheetShape->SetSelection( m_CurrentPinSheet->m_Shape ); m_PinSheetShape->SetSelection( m_CurrentPinSheet->m_Shape );
LeftBoxSizer->Add( m_PinSheetShape, 0, wxGROW | wxALL, 5 ); LeftBoxSizer->Add( m_PinSheetShape, 0, wxGROW | wxALL, 5 );
m_TextWin->SetFocus();
GetSizer()->Fit( this ); GetSizer()->Fit( this );
GetSizer()->SetSizeHints( this ); GetSizer()->SetSizeHints( this );
Centre();
} }
void WinEDA_PinSheetPropertiesFrame::OnCancelClick( wxCommandEvent& WXUNUSED( void WinEDA_PinSheetPropertiesFrame::OnCancelClick( wxCommandEvent& WXUNUSED(
event ) ) event) )
{ {
EndModal( -1 ); EndModal( wxID_CANCEL );
} }
@ -118,10 +120,10 @@ void WinEDA_PinSheetPropertiesFrame::OnOkClick( wxCommandEvent& event )
{ {
m_CurrentPinSheet->m_Text = m_TextWin->GetText(); m_CurrentPinSheet->m_Text = m_TextWin->GetText();
m_CurrentPinSheet->m_Size.x = m_CurrentPinSheet->m_Size.y = m_CurrentPinSheet->m_Size.x = m_CurrentPinSheet->m_Size.y =
m_TextWin->GetTextSize(); m_TextWin->GetTextSize();
m_CurrentPinSheet->m_Shape = m_PinSheetShape->GetSelection(); m_CurrentPinSheet->m_Shape = m_PinSheetShape->GetSelection();
EndModal( 0 ); EndModal( wxID_OK );
} }
@ -177,8 +179,7 @@ void SCH_SHEET_PIN::Place( WinEDA_SchematicFrame* frame, wxDC* DC )
m_Pos.x = Sheet->m_Pos.x; m_Pos.x = Sheet->m_Pos.x;
m_Edge = 0; m_Edge = 0;
if( frame->GetScreen()->m_Curseur.x if( frame->GetScreen()->m_Curseur.x > ( Sheet->m_Pos.x + (Sheet->m_Size.x / 2) ) )
> ( Sheet->m_Pos.x + (Sheet->m_Size.x / 2) ) )
{ {
m_Edge = 1; m_Edge = 1;
m_Pos.x = Sheet->m_Pos.x + Sheet->m_Size.x; m_Pos.x = Sheet->m_Pos.x + Sheet->m_Size.x;
@ -201,7 +202,7 @@ void WinEDA_SchematicFrame::StartMove_PinSheet( SCH_SHEET_PIN* SheetLabel,
wxDC* DC ) wxDC* DC )
{ {
NetSheetTextSize = SheetLabel->m_Size; NetSheetTextSize = SheetLabel->m_Size;
CurrentTypeLabel = SheetLabel->m_Shape; s_CurrentTypeLabel = SheetLabel->m_Shape;
SheetLabel->m_Flags |= IS_MOVED; SheetLabel->m_Flags |= IS_MOVED;
DrawPanel->ManageCurseur = Move_PinSheet; DrawPanel->ManageCurseur = Move_PinSheet;
@ -228,8 +229,7 @@ static void Move_PinSheet( WinEDA_DrawPanel* panel, wxDC* DC, bool erase )
SheetLabel->m_Edge = 0; SheetLabel->m_Edge = 0;
SheetLabel->m_Pos.x = Sheet->m_Pos.x; SheetLabel->m_Pos.x = Sheet->m_Pos.x;
if( panel->GetScreen()->m_Curseur.x if( panel->GetScreen()->m_Curseur.x > ( Sheet->m_Pos.x + (Sheet->m_Size.x / 2) ) )
> ( Sheet->m_Pos.x + (Sheet->m_Size.x / 2) ) )
{ {
SheetLabel->m_Edge = 1; SheetLabel->m_Edge = 1;
SheetLabel->m_Pos.x = Sheet->m_Pos.x + Sheet->m_Size.x; SheetLabel->m_Pos.x = Sheet->m_Pos.x + Sheet->m_Size.x;
@ -245,20 +245,25 @@ static void Move_PinSheet( WinEDA_DrawPanel* panel, wxDC* DC, bool erase )
} }
void WinEDA_SchematicFrame::Edit_PinSheet( SCH_SHEET_PIN* SheetLabel, int WinEDA_SchematicFrame::Edit_PinSheet( SCH_SHEET_PIN* SheetLabel,
wxDC* DC ) wxDC* DC )
{ {
if( SheetLabel == NULL ) if( SheetLabel == NULL )
return; return wxID_CANCEL;
RedrawOneStruct( DrawPanel, DC, SheetLabel, g_XorMode ); if( DC )
RedrawOneStruct( DrawPanel, DC, SheetLabel, g_XorMode );
WinEDA_PinSheetPropertiesFrame* frame = WinEDA_PinSheetPropertiesFrame* frame =
new WinEDA_PinSheetPropertiesFrame( this, SheetLabel ); new WinEDA_PinSheetPropertiesFrame( this, SheetLabel );
frame->ShowModal(); frame->Destroy(); int diag = frame->ShowModal();
frame->Destroy();
RedrawOneStruct( DrawPanel, DC, SheetLabel, GR_DEFAULT_DRAWMODE ); if ( DC )
RedrawOneStruct( DrawPanel, DC, SheetLabel, GR_DEFAULT_DRAWMODE );
return diag;
} }
@ -270,49 +275,26 @@ SCH_SHEET_PIN* WinEDA_SchematicFrame::Create_PinSheet( SCH_SHEET* Sheet,
wxString Line, Text; wxString Line, Text;
SCH_SHEET_PIN* NewSheetLabel; SCH_SHEET_PIN* NewSheetLabel;
switch( CurrentTypeLabel )
{
default:
CurrentTypeLabel = NET_INPUT;
case NET_INPUT:
Text = wxT( "Pin Input: " );
break;
case NET_OUTPUT:
Text = wxT( "Pin Output: " );
break;
case NET_BIDI:
Text = wxT( "Pin BiDi: " );
break;
case NET_TRISTATE:
Text = wxT( "Pin TriStat: " );
break;
case NET_UNSPECIFIED:
Text = wxT( "Pin Unspec.: " );
break;
}
Get_Message( Text, _( "PinSheet" ), Line, this );
if( Line.IsEmpty() )
return NULL;
GetScreen()->SetModify();
NewSheetLabel = new SCH_SHEET_PIN( Sheet, wxPoint( 0, 0 ), Line ); NewSheetLabel = new SCH_SHEET_PIN( Sheet, wxPoint( 0, 0 ), Line );
NewSheetLabel->m_Flags = IS_NEW; NewSheetLabel->m_Flags = IS_NEW;
NewSheetLabel->m_Size = NetSheetTextSize; NewSheetLabel->m_Size = NetSheetTextSize;
NewSheetLabel->m_Shape = CurrentTypeLabel; NewSheetLabel->m_Shape = s_CurrentTypeLabel;
int diag = Edit_PinSheet( NewSheetLabel, NULL );
if( NewSheetLabel->m_Text.IsEmpty() || (diag == wxID_CANCEL) )
{
delete NewSheetLabel;
return NULL;
}
GetScreen()->SetCurItem( NewSheetLabel ); GetScreen()->SetCurItem( NewSheetLabel );
s_CurrentTypeLabel = NewSheetLabel->m_Shape;
DrawPanel->ManageCurseur = Move_PinSheet; DrawPanel->ManageCurseur = Move_PinSheet;
DrawPanel->ForceCloseManageCurseur = ExitPinSheet; DrawPanel->ForceCloseManageCurseur = ExitPinSheet;
DrawPanel->ManageCurseur( DrawPanel, DC, TRUE ); DrawPanel->ManageCurseur( DrawPanel, DC, TRUE );
GetScreen()->SetModify();
return NewSheetLabel; return NewSheetLabel;
} }
@ -363,7 +345,7 @@ SCH_SHEET_PIN* WinEDA_SchematicFrame::Import_PinSheet( SCH_SHEET* Sheet,
NewSheetLabel = new SCH_SHEET_PIN( Sheet, wxPoint( 0, 0 ), HLabel->m_Text ); NewSheetLabel = new SCH_SHEET_PIN( Sheet, wxPoint( 0, 0 ), HLabel->m_Text );
NewSheetLabel->m_Flags = IS_NEW; NewSheetLabel->m_Flags = IS_NEW;
NewSheetLabel->m_Size = NetSheetTextSize; NewSheetLabel->m_Size = NetSheetTextSize;
CurrentTypeLabel = NewSheetLabel->m_Shape = HLabel->m_Shape; s_CurrentTypeLabel = NewSheetLabel->m_Shape = HLabel->m_Shape;
GetScreen()->SetCurItem( NewSheetLabel ); GetScreen()->SetCurItem( NewSheetLabel );
DrawPanel->ManageCurseur = Move_PinSheet; DrawPanel->ManageCurseur = Move_PinSheet;

View File

@ -335,7 +335,7 @@ public:
private: private:
void StartMoveSheet( SCH_SHEET* sheet, wxDC* DC ); void StartMoveSheet( SCH_SHEET* sheet, wxDC* DC );
SCH_SHEET_PIN* Create_PinSheet( SCH_SHEET* Sheet, wxDC* DC ); SCH_SHEET_PIN* Create_PinSheet( SCH_SHEET* Sheet, wxDC* DC );
void Edit_PinSheet( SCH_SHEET_PIN* SheetLabel, wxDC* DC ); int Edit_PinSheet( SCH_SHEET_PIN* SheetLabel, wxDC* DC );
void StartMove_PinSheet( SCH_SHEET_PIN* SheetLabel, void StartMove_PinSheet( SCH_SHEET_PIN* SheetLabel,
wxDC* DC ); wxDC* DC );
void Place_PinSheet( SCH_SHEET_PIN* SheetLabel, void Place_PinSheet( SCH_SHEET_PIN* SheetLabel,