本文整理汇总了C++中LIB_PART::RemoveDrawItem方法的典型用法代码示例。如果您正苦于以下问题:C++ LIB_PART::RemoveDrawItem方法的具体用法?C++ LIB_PART::RemoveDrawItem怎么用?C++ LIB_PART::RemoveDrawItem使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LIB_PART
的用法示例。
在下文中一共展示了LIB_PART::RemoveDrawItem方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: deleteItem
void LIB_EDIT_FRAME::deleteItem( wxDC* aDC )
{
wxCHECK_RET( m_drawItem != NULL, wxT( "No drawing item selected to delete." ) );
m_canvas->CrossHairOff( aDC );
LIB_PART* part = GetCurPart();
SaveCopyInUndoList( part );
if( m_drawItem->Type() == LIB_PIN_T )
{
LIB_PIN* pin = (LIB_PIN*) m_drawItem;
wxPoint pos = pin->GetPosition();
part->RemoveDrawItem( (LIB_ITEM*) pin, m_canvas, aDC );
if( SynchronizePins() )
{
LIB_PIN* tmp = part->GetNextPin();
while( tmp != NULL )
{
pin = tmp;
tmp = part->GetNextPin( pin );
if( pin->GetPosition() != pos )
continue;
part->RemoveDrawItem( (LIB_ITEM*) pin );
}
}
m_canvas->Refresh();
}
else
{
if( m_canvas->IsMouseCaptured() )
{
m_canvas->CallEndMouseCapture( aDC );
}
else
{
part->RemoveDrawItem( m_drawItem, m_canvas, aDC );
m_canvas->Refresh();
}
}
m_drawItem = NULL;
m_lastDrawItem = NULL;
OnModify();
m_canvas->CrossHairOn( aDC );
}