62                if( !
editor->IsSymbolEditable() )
 
   65                if( 
editor->IsSymbolAlias() )
 
 
  110            localCommit.
Push( 
_( 
"Move" ) );
 
 
  131    bool          unselect = selection.
IsHover();
 
  150    bool        restore_state = 
false;
 
  158    AXIS_LOCK axisLock = AXIS_LOCK::NONE;
 
  159    long      lastArrowKeyAction = 0;
 
  189                    std::set<SCH_PIN*> sync_pins;
 
  191                    for( 
EDA_ITEM* sel_item : selection )
 
  193                        lib_item = 
static_cast<SCH_ITEM*
>( sel_item );
 
  199                            std::vector<bool> got_unit( symbol->
GetUnitCount() + 1 );
 
  201                            got_unit[cur_pin->
GetUnit()] = 
true;
 
  205                                if( !got_unit[
pin->GetUnit()]
 
  212                                    if( sync_pins.insert( 
pin ).second )
 
  213                                        got_unit[
pin->GetUnit()] = 
true;
 
  232                if( lib_item->
IsNew() )
 
  252                                enteredGroup->AddItem( schItem );
 
  259                else if( 
m_frame->GetMoveWarpsCursor() )
 
  263                    selection.SetReferencePoint( 
m_cursor );
 
  290                grid.SetSnap( 
false );
 
  296                    if( axisLock == AXIS_LOCK::HORIZONTAL )
 
  302                            axisLock = AXIS_LOCK::NONE;
 
  308                        axisLock = AXIS_LOCK::HORIZONTAL;
 
  313                    if( axisLock == AXIS_LOCK::VERTICAL )
 
  319                            axisLock = AXIS_LOCK::NONE;
 
  325                        axisLock = AXIS_LOCK::VERTICAL;
 
  329                lastArrowKeyAction = action;
 
  337            if( axisLock == AXIS_LOCK::HORIZONTAL )
 
  339            else if( axisLock == AXIS_LOCK::VERTICAL )
 
  364                restore_state = 
true;
 
  408                    if( pinTool->
PlacePin( aCommit, curr_pin ) )
 
  417                        restore_state = 
true;
 
  420                catch( 
const boost::bad_pointer& e )
 
  422                    restore_state = 
true;
 
  423                    wxFAIL_MSG( wxString::Format( wxT( 
"Boost pointer exception occurred: %s" ),
 
  435    } 
while( ( evt = 
Wait() ) );  
 
  444        item->ClearEditFlags();
 
  452    return !restore_state;
 
 
  464        VECTOR2I newPos = 
grid.AlignGrid( item->GetPosition(), 
grid.GetItemGrid( item ) );
 
  476            int length = 
pin->GetLength();
 
  489            int newLength = 
KiROUND( (
double) length / pinGrid ) * pinGrid;
 
  492                pin->SetLength( newLength );
 
  498    commit.
Push( 
_( 
"Align Items to Grid" ) );
 
 
  505    static_cast<SCH_ITEM*
>( aItem )->Move( aDelta );
 
 
constexpr BOX2I KiROUND(const BOX2D &aBoxD)
 
static TOOL_ACTION duplicate
 
static TOOL_ACTION doDelete
 
static TOOL_ACTION cursorClick
 
static TOOL_ACTION selectionClear
Clear the current selection.
 
static TOOL_ACTION refreshPreview
 
COMMIT & Modify(EDA_ITEM *aItem, BASE_SCREEN *aScreen=nullptr, RECURSE_MODE aRecurse=RECURSE_MODE::NO_RECURSE)
Modify a given item in the model.
 
A base class for most all the KiCad significant classes used in schematics and boards.
 
EDA_ITEM_FLAGS GetEditFlags() const
 
void SetFlags(EDA_ITEM_FLAGS aMask)
 
KICAD_T Type() const
Returns the type of object.
 
static const TOOL_EVENT SelectedItemsMoved
Used to inform tools that the selection should temporarily be non-editable.
 
An interface for classes handling user events controlling the view behavior such as zooming,...
 
virtual void ForceCursorPosition(bool aEnabled, const VECTOR2D &aPosition=VECTOR2D(0, 0))
Place the cursor immediately at a given point.
 
virtual void ShowCursor(bool aEnabled)
Enable or disables display of cursor.
 
VECTOR2D GetCursorPosition() const
Return the current cursor position in world coordinates.
 
virtual void SetCursorPosition(const VECTOR2D &aPosition, bool aWarpView=true, bool aTriggeredByArrows=false, long aArrowCommand=0)=0
Move cursor to the requested position expressed in world coordinates.
 
virtual void SetAutoPan(bool aEnabled)
Turn on/off auto panning (this feature is used when there is a tool active (eg.
 
const VC_SETTINGS & GetSettings() const
Return the current VIEW_CONTROLS settings.
 
Define a library symbol object.
 
std::vector< SCH_PIN * > GetPins() const override
 
int GetUnitCount() const override
 
static TOOL_ACTION alignToGrid
 
virtual void Push(const wxString &aMessage=wxT("A commit"), int aCommitFlags=0) override
Execute the changes.
 
virtual void Revert() override
Revert the commit by restoring the modified items state.
 
A set of SCH_ITEMs (i.e., without duplicates).
 
Base class for any item which can be embedded within the SCHEMATIC container class,...
 
bool IsGroupableType() const
 
const wxString & GetName() const
 
PIN_ORIENTATION GetOrientation() const
 
VECTOR2I GetPosition() const override
 
ELECTRICAL_PINTYPE GetType() const
 
static bool IdleSelection(const SELECTION &aSelection)
Test if all selected items are not being edited.
 
virtual unsigned int GetSize() const override
Return the number of stored items.
 
bool Empty() const
Checks if there is anything selected.
 
The symbol library editor main window.
 
#define IS_PASTED
Modifier on IS_NEW which indicates it came from clipboard.
 
#define IS_MOVING
Item being moved.
 
@ PIN_RIGHT
The pin extends rightwards from the connection point.
 
@ PIN_LEFT
The pin extends leftwards from the connection point: Probably on the right side of the symbol.
 
Class to handle a set of SCH_ITEMs.
 
VECTOR2D m_lastKeyboardCursorPosition
Position of the above event.
 
bool m_lastKeyboardCursorPositionValid
Is last cursor motion event coming from keyboard arrow cursor motion action.
 
long m_lastKeyboardCursorCommand
ACTIONS::CURSOR_UP, ACTIONS::CURSOR_DOWN, etc.
 
VECTOR2< int32_t > VECTOR2I