From 78377058c94f73f8c28bb11ddc957f23f7ffc6e6 Mon Sep 17 00:00:00 2001 From: Wayne Stambaugh Date: Fri, 21 Oct 2011 09:59:15 -0400 Subject: [PATCH] More Eeschema schematic item move code unification. * Tweak move item to support moving schematic sheet pin objects. * Change schematic sheet pin set position to constrain position within the parent sheet. * Schematic sheet pin moving now handled by unified move code. * Remove old schematic sheet pin move code. * Add custom client data object for passing hot key information to command event handlers. * Fix a bug that prevented changes to schematic sheet pin objects from being undone. --- common/sch_item_struct.cpp | 4 +- eeschema/bus-wire-junction.cpp | 39 +++++++++--- eeschema/hotkeys.cpp | 16 +---- eeschema/sch_sheet.cpp | 2 +- eeschema/sch_sheet.h | 10 ++- eeschema/sch_sheet_pin.cpp | 30 +++++---- eeschema/schedit.cpp | 28 +++++++-- eeschema/sheetlab.cpp | 107 ++++++++++----------------------- include/hotkeys_basic.h | 75 ++++++++++++++++++----- include/wxEeschemaStruct.h | 11 ---- 10 files changed, 175 insertions(+), 147 deletions(-) diff --git a/common/sch_item_struct.cpp b/common/sch_item_struct.cpp index 9b5dd61749..a4b23649a5 100644 --- a/common/sch_item_struct.cpp +++ b/common/sch_item_struct.cpp @@ -3,7 +3,7 @@ * * Copyright (C) 2006 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com * Copyright (C) 2011 Wayne Stambaugh - * Copyright (C) 1992-2011 Kicad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -97,7 +97,7 @@ void SCH_ITEM::Place( SCH_EDIT_FRAME* aFrame, wxDC* aDC ) m_Flags = 0; screen->SetModify(); screen->SetCurItem( NULL ); - aFrame->DrawPanel->SetMouseCapture( NULL, NULL ); + aFrame->DrawPanel->EndMouseCapture(); if( aDC ) { diff --git a/eeschema/bus-wire-junction.cpp b/eeschema/bus-wire-junction.cpp index abf6bcc550..58eca8bafb 100644 --- a/eeschema/bus-wire-junction.cpp +++ b/eeschema/bus-wire-junction.cpp @@ -496,19 +496,32 @@ static void abortMoveItem( EDA_DRAW_PANEL* aPanel, wxDC* aDC ) delete item; item = NULL; } - else // Move command on an existing text item, restore the values of the original. + else { - SCH_ITEM* olditem = parent->GetUndoItem(); - screen->SetCurItem( item ); + SCH_ITEM* oldItem = parent->GetUndoItem(); - wxCHECK_RET( olditem != NULL && item->Type() == olditem->Type(), + SCH_ITEM* currentItem; + + // Items that are children of other objects are undone by swapping the contents + // of the parent items. + if( item->Type() == SCH_SHEET_PIN_T ) + { + currentItem = (SCH_ITEM*) item->GetParent(); + } + else + { + currentItem = item; + } + + screen->SetCurItem( currentItem ); + + wxCHECK_RET( oldItem != NULL && currentItem->Type() == oldItem->Type(), wxT( "Cannot restore undefined or bad last schematic item." ) ); // Never delete existing item, because it can be referenced by an undo/redo command // Just restore its data - - item->SwapData( olditem ); - item->ClearFlags(); + currentItem->SwapData( oldItem ); + currentItem->ClearFlags(); } aPanel->Refresh(); @@ -546,12 +559,20 @@ void SCH_EDIT_FRAME::MoveItem( SCH_ITEM* aItem, wxDC* aDC ) m_itemToRepeat = NULL; if( !aItem->IsNew() ) - SetUndoItem( aItem ); + { + if( (aItem->Type() == SCH_SHEET_PIN_T) ) + SetUndoItem( (SCH_ITEM*) aItem->GetParent() ); + else + SetUndoItem( aItem ); + } aItem->SetFlags( IS_MOVED ); DrawPanel->CrossHairOff( aDC ); - GetScreen()->SetCrossHairPosition( aItem->GetPosition() ); + + if( (aItem->Type() != SCH_SHEET_PIN_T) ) + GetScreen()->SetCrossHairPosition( aItem->GetPosition() ); + DrawPanel->MoveCursorToCrossHair(); OnModify(); diff --git a/eeschema/hotkeys.cpp b/eeschema/hotkeys.cpp index 9b01d6ff78..b024e05d89 100644 --- a/eeschema/hotkeys.cpp +++ b/eeschema/hotkeys.cpp @@ -572,7 +572,7 @@ void SCH_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, case HK_ROTATE: // Component or other schematic item rotation if ( screen->m_BlockLocate.m_State != STATE_NO_BLOCK )//allows bloc operation on hotkey { - HandleBlockEndByPopUp(BLOCK_ROTATE, aDC ); + HandleBlockEndByPopUp( BLOCK_ROTATE, aDC ); break; } @@ -731,18 +731,8 @@ void SCH_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotKey, const wxPoint& aPosition, break; case HK_MOVE_COMPONENT_OR_ITEM: // Start move schematic item. - if( itemInEdit ) - break; - - if( aItem == NULL ) - { - aItem = LocateAndShowItem( aPosition, SCH_COLLECTOR::MovableItems, - hotKey->m_Idcommand ); - - if( aItem == NULL ) - break; - } - + cmd.SetInt( aHotKey ); + cmd.SetClientData( new EDA_HOTKEY_CLIENT_DATA( aPosition ) ); cmd.SetId( hotKey->m_IdMenuEvent ); wxPostEvent( this, cmd ); break; diff --git a/eeschema/sch_sheet.cpp b/eeschema/sch_sheet.cpp index 30fafd8068..783a2da1c0 100644 --- a/eeschema/sch_sheet.cpp +++ b/eeschema/sch_sheet.cpp @@ -920,7 +920,7 @@ void SCH_SHEET::Resize( const wxSize& aSize ) /* Move the sheet labels according to the new sheet size. */ BOOST_FOREACH( SCH_SHEET_PIN& label, m_pins ) { - label.ConstraintOnEdge( label.m_Pos ); + label.ConstrainOnEdge( label.m_Pos ); } } diff --git a/eeschema/sch_sheet.h b/eeschema/sch_sheet.h index 863eeffe69..98e7f2725c 100644 --- a/eeschema/sch_sheet.h +++ b/eeschema/sch_sheet.h @@ -132,11 +132,11 @@ public: int GetEdge() const; /** - * Function ConstraintOnEdge + * Function ConstrainOnEdge * is used to adjust label position to edge based on proximity to vertical / horizontal edge * of the parent sheet. */ - void ConstraintOnEdge( wxPoint Pos ); + void ConstrainOnEdge( wxPoint Pos ); /** * Get the parent sheet object of this sheet pin. @@ -221,6 +221,12 @@ public: virtual wxString GetSelectMenuText() const; virtual BITMAP_DEF GetMenuImage() const { return add_hierar_pin_xpm; } + +private: + virtual void doSetPosition( const wxPoint& aPosition ) + { + ConstrainOnEdge( aPosition ); + } }; diff --git a/eeschema/sch_sheet_pin.cpp b/eeschema/sch_sheet_pin.cpp index ab0d76a087..73f5d4b046 100644 --- a/eeschema/sch_sheet_pin.cpp +++ b/eeschema/sch_sheet_pin.cpp @@ -3,7 +3,7 @@ * * Copyright (C) 2006 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com * Copyright (C) 2011 Wayne Stambaugh - * Copyright (C) 1992-2011 Kicad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -43,14 +43,14 @@ #include "kicad_string.h" -/* m_Edge define on which edge the pin is positionned: +/* m_Edge define on which edge the pin is positioned: * * 0: pin on left side * 1: pin on right side * 2: pin on top side * 3: pin on bottom side * for compatibility reasons, this does not follow same values as text - * ortientation. + * orientation. */ SCH_SHEET_PIN::SCH_SHEET_PIN( SCH_SHEET* parent, const wxPoint& pos, const wxString& text ) : @@ -60,10 +60,12 @@ SCH_SHEET_PIN::SCH_SHEET_PIN( SCH_SHEET* parent, const wxPoint& pos, const wxStr wxASSERT( parent ); m_Layer = LAYER_SHEETLABEL; m_Pos = pos; + if( parent->IsVerticalOrientation() ) SetEdge( 2 ); else SetEdge( 0 ); + m_Shape = NET_INPUT; m_IsDangling = true; m_Number = 2; @@ -141,26 +143,20 @@ void SCH_SHEET_PIN::Place( SCH_EDIT_FRAME* aFrame, wxDC* aDC ) wxCHECK_RET( (sheet != NULL) && (sheet->Type() == SCH_SHEET_T), wxT( "Cannot place sheet pin in invalid schematic sheet object." ) ); - int flags = m_Flags; - m_Flags = 0; - - if( flags & IS_NEW ) + if( IsNew() ) { aFrame->SaveCopyInUndoList( sheet, UR_CHANGED ); sheet->AddPin( this ); } - else // pin sheet was existing and only moved + else // Sheet pin already existed and was only moved. { - wxPoint tmp = m_Pos; - m_Pos = aFrame->GetLastSheetPinPosition(); - SetEdge( aFrame->GetLastSheetPinEdge() ); - aFrame->SaveCopyInUndoList( sheet, UR_CHANGED ); - m_Pos = tmp; + aFrame->SaveUndoItemInUndoList( sheet ); } - ConstraintOnEdge( aFrame->GetScreen()->GetCrossHairPosition() ); - + ClearFlags(); sheet->Draw( aFrame->DrawPanel, aDC, wxPoint( 0, 0 ), GR_DEFAULT_DRAWMODE ); + + // Make sure we don't call the abort move function. aFrame->DrawPanel->SetMouseCapture( NULL, NULL ); aFrame->DrawPanel->EndMouseCapture(); } @@ -205,7 +201,7 @@ int SCH_SHEET_PIN::GetEdge() const } -void SCH_SHEET_PIN::ConstraintOnEdge( wxPoint Pos ) +void SCH_SHEET_PIN::ConstrainOnEdge( wxPoint Pos ) { SCH_SHEET* Sheet = (SCH_SHEET*) GetParent(); @@ -224,8 +220,10 @@ void SCH_SHEET_PIN::ConstraintOnEdge( wxPoint Pos ) } m_Pos.y = Pos.y; + if( m_Pos.y < Sheet->m_Pos.y ) m_Pos.y = Sheet->m_Pos.y; + if( m_Pos.y > (Sheet->m_Pos.y + Sheet->m_Size.y) ) m_Pos.y = Sheet->m_Pos.y + Sheet->m_Size.y; } diff --git a/eeschema/schedit.cpp b/eeschema/schedit.cpp index 2356527a3c..70ae3a5a7c 100644 --- a/eeschema/schedit.cpp +++ b/eeschema/schedit.cpp @@ -35,6 +35,7 @@ #include "eda_doc.h" #include "wxEeschemaStruct.h" #include "kicad_device_context.h" +#include "hotkeys_basic.h" #include "general.h" #include "eeschema_id.h" @@ -492,8 +493,28 @@ void SCH_EDIT_FRAME::OnMoveItem( wxCommandEvent& aEvent ) SCH_SCREEN* screen = GetScreen(); SCH_ITEM* item = screen->GetCurItem(); + wxLogDebug( wxT( "Command member m_commandInt = %d." ), aEvent.GetInt() ); + if( item == NULL ) - return; + { + // If we didn't get here by a hot key, then something has gone wrong. + if( aEvent.GetInt() == 0 ) + return; + + EDA_HOTKEY_CLIENT_DATA* data = (EDA_HOTKEY_CLIENT_DATA*) aEvent.GetClientData(); + + wxCHECK_RET( data != NULL, wxT( "Invalid hot key client data." ) ); + + item = LocateAndShowItem( data->GetPosition(), SCH_COLLECTOR::MovableItems, + aEvent.GetInt() ); + + aEvent.SetClientData( NULL ); + delete data; + + // Exit if no item found at the current location or the item is already being edited. + if( (item == NULL) || (item->GetFlags() != 0) ) + return; + } INSTALL_UNBUFFERED_DC( dc, DrawPanel ); @@ -510,6 +531,7 @@ void SCH_EDIT_FRAME::OnMoveItem( wxCommandEvent& aEvent ) case SCH_HIERARCHICAL_LABEL_T: case SCH_TEXT_T: case SCH_COMPONENT_T: + case SCH_SHEET_PIN_T: MoveItem( item, &dc ); break; @@ -525,10 +547,6 @@ void SCH_EDIT_FRAME::OnMoveItem( wxCommandEvent& aEvent ) MoveField( (SCH_FIELD*) item, &dc ); break; - case SCH_SHEET_PIN_T: - MoveSheetPin( (SCH_SHEET_PIN*) item, &dc ); - break; - case SCH_MARKER_T: default: wxFAIL_MSG( wxString::Format( wxT( "Cannot move item type %s" ), diff --git a/eeschema/sheetlab.cpp b/eeschema/sheetlab.cpp index ea6efd252c..7f1c119970 100644 --- a/eeschema/sheetlab.cpp +++ b/eeschema/sheetlab.cpp @@ -1,3 +1,28 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2007 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com + * Copyright (C) 2011 Wayne Stambaugh + * Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, you may find one here: + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * or you may search the http://www.gnu.org website for the version 2 license, + * or you may write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + */ + /** * @file sheetlab.cpp * @brief Create and edit the SCH_SHEET_PIN items. @@ -21,71 +46,6 @@ int SCH_EDIT_FRAME::m_lastSheetPinType = NET_INPUT; wxSize SCH_EDIT_FRAME::m_lastSheetPinTextSize( DEFAULT_SIZE_TEXT, DEFAULT_SIZE_TEXT ); wxPoint SCH_EDIT_FRAME::m_lastSheetPinPosition; -int SCH_EDIT_FRAME::m_lastSheetPinEdge; - - -/* Called when aborting a move pinsheet label - * delete a new pin sheet label, or restire its old position - */ -static void abortSheetPinMove( EDA_DRAW_PANEL* aPanel, wxDC* aDC ) -{ - wxCHECK_RET( (aPanel != NULL) && (aDC != NULL), wxT( "Invalid panel or device context." ) ); - - SCH_EDIT_FRAME* frame = (SCH_EDIT_FRAME*) aPanel->GetParent(); - SCH_SHEET_PIN* sheetPin = (SCH_SHEET_PIN*) aPanel->GetScreen()->GetCurItem(); - - wxCHECK_RET( (frame != NULL) && (sheetPin != NULL) && (sheetPin->Type() == SCH_SHEET_PIN_T), - wxT( "Invalid frame or sheet pin." ) ); - - sheetPin->Draw( aPanel, aDC, wxPoint( 0, 0 ), g_XorMode ); - - if( sheetPin->IsNew() ) - { - SAFE_DELETE( sheetPin ); - } - else - { - // Restore edge position: - sheetPin->m_Pos = frame->GetLastSheetPinPosition(); - sheetPin->SetEdge( frame->GetLastSheetPinEdge() ); - sheetPin->Draw( aPanel, aDC, wxPoint( 0, 0 ), GR_DEFAULT_DRAWMODE ); - sheetPin->ClearFlags(); - } - - aPanel->GetScreen()->SetCurItem( NULL ); -} - - -static void moveSheetPin( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aPosition, - bool aErase ) -{ - SCH_SHEET_PIN* sheetPin = (SCH_SHEET_PIN*) aPanel->GetScreen()->GetCurItem(); - - if( sheetPin == NULL || sheetPin->Type() != SCH_SHEET_PIN_T ) - return; - - if( aErase ) - sheetPin->Draw( aPanel, aDC, wxPoint( 0, 0 ), g_XorMode ); - - sheetPin->ConstraintOnEdge( aPanel->GetScreen()->GetCrossHairPosition() ); - sheetPin->Draw( aPanel, aDC, wxPoint( 0, 0 ), g_XorMode ); -} - - -void SCH_EDIT_FRAME::MoveSheetPin( SCH_SHEET_PIN* aSheetPin, wxDC* aDC ) -{ - wxCHECK_RET( (aSheetPin != NULL) && (aSheetPin->Type() == SCH_SHEET_PIN_T), - wxT( "Cannot move invalid schematic sheet pin object." ) ); - - m_lastSheetPinTextSize = aSheetPin->m_Size; - m_lastSheetPinType = aSheetPin->m_Shape; - m_lastSheetPinPosition = aSheetPin->m_Pos; - m_lastSheetPinEdge = aSheetPin->GetEdge(); - aSheetPin->SetFlags( IS_MOVED ); - - DrawPanel->SetMouseCapture( moveSheetPin, abortSheetPinMove ); - moveSheetPin( DrawPanel, aDC, wxDefaultPosition, true ); -} int SCH_EDIT_FRAME::EditSheetPin( SCH_SHEET_PIN* aSheetPin, wxDC* aDC ) @@ -117,6 +77,12 @@ int SCH_EDIT_FRAME::EditSheetPin( SCH_SHEET_PIN* aSheetPin, wxDC* aDC ) if( aDC ) aSheetPin->Draw( DrawPanel, aDC, wxPoint( 0, 0 ), g_XorMode ); + if( !aSheetPin->IsNew() ) + { + SaveCopyInUndoList( (SCH_ITEM*) aSheetPin->GetParent(), UR_CHANGED ); + GetScreen()->SetCurItem( NULL ); + } + aSheetPin->m_Text = dlg.GetLabelName(); aSheetPin->m_Size.y = ReturnValueFromString( g_UserUnit, dlg.GetTextHeight(), m_InternalUnits ); aSheetPin->m_Size.x = ReturnValueFromString( g_UserUnit, dlg.GetTextWidth(), m_InternalUnits ); @@ -147,12 +113,10 @@ SCH_SHEET_PIN* SCH_EDIT_FRAME::CreateSheetPin( SCH_SHEET* aSheet, wxDC* aDC ) return NULL; } - GetScreen()->SetCurItem( sheetPin ); m_lastSheetPinType = sheetPin->m_Shape; m_lastSheetPinTextSize = sheetPin->m_Size; - DrawPanel->SetMouseCapture( moveSheetPin, abortSheetPinMove ); - moveSheetPin( DrawPanel, aDC, wxDefaultPosition, false ); + MoveItem( (SCH_ITEM*) sheetPin, aDC ); OnModify(); return sheetPin; @@ -190,17 +154,12 @@ SCH_SHEET_PIN* SCH_EDIT_FRAME::ImportSheetPin( SCH_SHEET* aSheet, wxDC* aDC ) return NULL; } - OnModify(); - SaveCopyInUndoList( aSheet, UR_CHANGED ); - sheetPin = new SCH_SHEET_PIN( aSheet, wxPoint( 0, 0 ), label->m_Text ); sheetPin->SetFlags( IS_NEW ); sheetPin->m_Size = m_lastSheetPinTextSize; m_lastSheetPinType = sheetPin->m_Shape = label->m_Shape; - GetScreen()->SetCurItem( sheetPin ); - DrawPanel->SetMouseCapture( moveSheetPin, abortSheetPinMove ); - moveSheetPin( DrawPanel, aDC, wxDefaultPosition, false ); + MoveItem( (SCH_ITEM*) sheetPin, aDC ); return sheetPin; } diff --git a/include/hotkeys_basic.h b/include/hotkeys_basic.h index 3698429006..4d8f5779d5 100644 --- a/include/hotkeys_basic.h +++ b/include/hotkeys_basic.h @@ -1,3 +1,26 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, you may find one here: + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * or you may search the http://www.gnu.org website for the version 2 license, + * or you may write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + */ + /** * @file hotkeys_basic.h * @brief Some functions to handle hotkeys in KiCad @@ -12,8 +35,20 @@ class EDA_DRAW_FRAME; -/* Class to handle hotkey commands. hotkeys have a default value - * This class allows the real key code changed by user(from a key code list file) +/* Identifiers (tags) in key code configuration file (or section names) + * .m_SectionTag member of a EDA_HOTKEY_CONFIG + */ +extern wxString g_CommonSectionTag; +extern wxString g_SchematicSectionTag; +extern wxString g_LibEditSectionTag; +extern wxString g_BoardEditorSectionTag; +extern wxString g_ModuleEditSectionTag; + + +/** + * class EDA_HOTKEY + * is a class to handle hot key commands. Hot keys have a default value. + * This class allows the real key code changed by user(from a key code list file) */ class EDA_HOTKEY { @@ -49,31 +84,42 @@ public: const wchar_t* m_Comment; // Will be printed in the config file only. }; -/* Identifiers (tags) in key code configuration file (or section names) - * .m_SectionTag member of a EDA_HOTKEY_CONFIG + +/** + * Class EDA_HOTKEY_CLIENT_DATA + * provides client data member for hotkeys to include in command events generated + * by the hot key. */ -extern wxString g_CommonSectionTag; -extern wxString g_SchematicSectionTag; -extern wxString g_LibEditSectionTag; -extern wxString g_BoardEditorSectionTag; -extern wxString g_ModuleEditSectionTag; +class EDA_HOTKEY_CLIENT_DATA : public wxClientData +{ + //< Logical position of the mouse cursor when the hot key was pressed. + wxPoint m_position; + +public: + EDA_HOTKEY_CLIENT_DATA( const wxPoint& aPosition = wxDefaultPosition ) : + m_position( aPosition ) {} + + void SetPosition( const wxPoint& aPosition ) { m_position = aPosition; } + + wxPoint GetPosition() { return m_position; } +}; /* Functions: */ -void AddHotkeyConfigMenu( wxMenu* menu ); -void HandleHotkeyConfigMenuSelection( EDA_DRAW_FRAME* frame, int id ); +void AddHotkeyConfigMenu( wxMenu* menu ); +void HandleHotkeyConfigMenuSelection( EDA_DRAW_FRAME* frame, int id ); /** * Function ReturnKeyNameFromKeyCode * return the key name from the key code - * Only some wxWidgets key values are handled for function key ( see + * * Only some wxWidgets key values are handled for function key ( see * s_Hotkey_Name_List[] ) * @param aKeycode = key code (ascii value, or wxWidgets value for function keys) * @param aIsFound = a pointer to a bool to return true if found, or false. an be NULL default) * @return the key name in a wxString */ -wxString ReturnKeyNameFromKeyCode( int aKeycode, bool * aIsFound = NULL ); +wxString ReturnKeyNameFromKeyCode( int aKeycode, bool * aIsFound = NULL ); /** * Function ReturnKeyNameFromCommandId @@ -82,9 +128,10 @@ wxString ReturnKeyNameFromKeyCode( int aKeycode, bool * aIsFound = NULL ) * @param aCommandId = Command Id value * @return the key name in a wxString */ -wxString ReturnKeyNameFromCommandId( EDA_HOTKEY** aList, int aCommandId ); +wxString ReturnKeyNameFromCommandId( EDA_HOTKEY** aList, int aCommandId ); /** + * Function ReturnKeyCodeFromKeyName * return the key code from its key name * Only some wxWidgets key values are handled for function key diff --git a/include/wxEeschemaStruct.h b/include/wxEeschemaStruct.h index c1fdaff5f9..2cc198a0ab 100644 --- a/include/wxEeschemaStruct.h +++ b/include/wxEeschemaStruct.h @@ -146,7 +146,6 @@ private: static int m_lastSheetPinType; ///< Last sheet pin type. static wxSize m_lastSheetPinTextSize; ///< Last sheet pin text size. static wxPoint m_lastSheetPinPosition; ///< Last sheet pin position. - static int m_lastSheetPinEdge; ///< Last sheet edge a sheet pin was placed. protected: TEMPLATES m_TemplateFieldNames; @@ -773,8 +772,6 @@ public: wxPoint GetLastSheetPinPosition() const { return m_lastSheetPinPosition; } - int GetLastSheetPinEdge() const { return m_lastSheetPinEdge; } - private: void StartMoveSheet( SCH_SHEET* sheet, wxDC* DC ); @@ -796,14 +793,6 @@ private: */ int EditSheetPin( SCH_SHEET_PIN* aSheetPin, wxDC* aDC ); - /** - * Function MoveSheetPin - * moves \a aSheetPin within it's parent sheet object. - * @param aSheetPin The sheet pin item to move. - * @param aDC The device context to draw on. - */ - void MoveSheetPin( SCH_SHEET_PIN* aSheetPin, wxDC* aDC ); - /** * Function ImportSheetPin * automatically creates a sheet pin from the hierarchical labels in the schematic