void SCH_SHEET::GetMsgPanelInfo( MSG_PANEL_ITEMS& aList ) { aList.push_back( MSG_PANEL_ITEM( _( "Sheet Name" ), m_name, CYAN ) ); aList.push_back( MSG_PANEL_ITEM( _( "File Name" ), m_fileName, BROWN ) ); #if 0 // Set to 1 to display the sheet time stamp (mainly for test) wxString msg; msg.Printf( wxT( "%.8X" ), m_TimeStamp ); aList.push_back( MSG_PANEL_ITEM( _( "Time Stamp" ), msg, BLUE ) ); #endif }
void LIB_POLYLINE::GetMsgPanelInfo( MSG_PANEL_ITEMS& aList ) { wxString msg; EDA_RECT bBox = GetBoundingBox(); LIB_ITEM::GetMsgPanelInfo( aList ); msg = StringFromValue( g_UserUnit, m_Width, true ); aList.push_back( MSG_PANEL_ITEM( _( "Line Width" ), msg, BLUE ) ); msg.Printf( wxT( "(%d, %d, %d, %d)" ), bBox.GetOrigin().x, bBox.GetOrigin().y, bBox.GetEnd().x, bBox.GetEnd().y ); aList.push_back( MSG_PANEL_ITEM( _( "Bounding Box" ), msg, BROWN ) ); }
void SCH_MARKER::GetMsgPanelInfo( MSG_PANEL_ITEMS& aList ) { wxString msg; aList.push_back( MSG_PANEL_ITEM( _( "Electronics Rule Check Error" ), GetReporter().GetErrorText(), DARKRED ) ); }
void LIB_RECTANGLE::GetMsgPanelInfo( MSG_PANEL_ITEMS& aList ) { wxString msg; LIB_ITEM::GetMsgPanelInfo( aList ); msg = ReturnStringFromValue( g_UserUnit, m_Width, true ); aList.push_back( MSG_PANEL_ITEM( _( "Line width" ), msg, BLUE ) ); }
void LIB_CIRCLE::GetMsgPanelInfo( EDA_UNITS_T aUnits, MSG_PANEL_ITEMS& aList ) { wxString msg; EDA_RECT bBox = GetBoundingBox(); LIB_ITEM::GetMsgPanelInfo( aUnits, aList ); msg = MessageTextFromValue( aUnits, m_Width, true ); aList.push_back( MSG_PANEL_ITEM( _( "Line Width" ), msg, BLUE ) ); msg = MessageTextFromValue( aUnits, m_Radius, true ); aList.push_back( MSG_PANEL_ITEM( _( "Radius" ), msg, RED ) ); msg.Printf( wxT( "(%d, %d, %d, %d)" ), bBox.GetOrigin().x, bBox.GetOrigin().y, bBox.GetEnd().x, bBox.GetEnd().y ); aList.push_back( MSG_PANEL_ITEM( _( "Bounding Box" ), msg, BROWN ) ); }
void LIB_TEXT::GetMsgPanelInfo( MSG_PANEL_ITEMS& aList ) { wxString msg; LIB_ITEM::GetMsgPanelInfo( aList ); msg = StringFromValue( g_UserUnit, GetThickness(), true ); aList.push_back( MSG_PANEL_ITEM( _( "Line Width" ), msg, BLUE ) ); }
void LIB_ITEM::GetMsgPanelInfo( MSG_PANEL_ITEMS& aList ) { wxString msg; aList.push_back( MSG_PANEL_ITEM( _( "Type" ), m_typeName, CYAN ) ); if( m_Unit == 0 ) msg = _( "All" ); else msg.Printf( wxT( "%d" ), m_Unit ); aList.push_back( MSG_PANEL_ITEM( _( "Unit" ), msg, BROWN ) ); if( m_Convert == 0 ) msg = _( "All" ); else if( m_Convert == 1 ) msg = _( "no" ); else if( m_Convert == 2 ) msg = _( "yes" ); else msg = wxT( "?" ); aList.push_back( MSG_PANEL_ITEM( _( "Converted" ), msg, BROWN ) ); }
SCH_ITEM* SCH_EDIT_FRAME::LocateAndShowItem( const wxPoint& aPosition, const KICAD_T aFilterList[], int aHotKeyCommandId ) { SCH_ITEM* item; wxString msg; LIB_PIN* Pin = NULL; SCH_COMPONENT* LibItem = NULL; wxPoint gridPosition = GetNearestGridPosition( aPosition ); // Check the on grid position first. There is more likely to be multiple items on // grid than off grid. item = LocateItem( gridPosition, aFilterList, aHotKeyCommandId ); // If the user aborted the clarification context menu, don't show it again at the // off grid position. if( !item && m_canvas->GetAbortRequest() ) { m_canvas->SetAbortRequest( false ); return NULL; } if( !item && (aPosition != gridPosition) ) item = LocateItem( aPosition, aFilterList, aHotKeyCommandId ); if( !item ) { m_canvas->SetAbortRequest( false ); // Just in case the user aborted the context menu. return NULL; } // Cross probing to Pcbnew if a pin or a component is found switch( item->Type() ) { case SCH_FIELD_T: case LIB_FIELD_T: LibItem = (SCH_COMPONENT*) item->GetParent(); SendMessageToPCBNEW( item, LibItem ); break; case SCH_COMPONENT_T: LibItem = (SCH_COMPONENT*) item; SendMessageToPCBNEW( item, LibItem ); break; case LIB_PIN_T: Pin = (LIB_PIN*) item; LibItem = (SCH_COMPONENT*) LocateItem( aPosition, SCH_COLLECTOR::ComponentsOnly ); break; default: ; } if( Pin ) { // Force display pin information (the previous display could be a component info) MSG_PANEL_ITEMS items; Pin->GetMsgPanelInfo( items ); if( LibItem ) items.push_back( MSG_PANEL_ITEM( LibItem->GetRef( m_CurrentSheet ), LibItem->GetField( VALUE )->GetShownText(), DARKCYAN ) ); SetMsgPanel( items ); // Cross probing:2 - pin found, and send a locate pin command to Pcbnew (highlight net) SendMessageToPCBNEW( Pin, LibItem ); } return item; }
void SCH_TEXT::GetMsgPanelInfo( EDA_UNITS_T aUnits, MSG_PANEL_ITEMS& aList ) { wxString msg; switch( Type() ) { case SCH_TEXT_T: msg = _( "Graphic Text" ); break; case SCH_LABEL_T: msg = _( "Label" ); break; case SCH_GLOBAL_LABEL_T: msg = _( "Global Label" ); break; case SCH_HIERARCHICAL_LABEL_T: msg = _( "Hierarchical Label" ); break; case SCH_SHEET_PIN_T: msg = _( "Hierarchical Sheet Pin" ); break; default: return; } aList.push_back( MSG_PANEL_ITEM( msg, GetShownText(), DARKCYAN ) ); switch( GetLabelSpinStyle() ) { case 0: msg = _( "Horizontal" ); break; case 1: msg = _( "Vertical up" ); break; case 2: msg = _( "Horizontal invert" ); break; case 3: msg = _( "Vertical down" ); break; default: msg = wxT( "???" ); break; } aList.push_back( MSG_PANEL_ITEM( _( "Orientation" ), msg, BROWN ) ); wxString textStyle[] = { _( "Normal" ), _( "Italic" ), _( "Bold" ), _( "Bold Italic" ) }; int style = 0; if( IsItalic() ) style = 1; if( IsBold() ) style += 2; aList.push_back( MSG_PANEL_ITEM( _( "Style" ), textStyle[style], BROWN ) ); // Display electricat type if it is relevant if( (Type() == SCH_GLOBAL_LABEL_T) || (Type() == SCH_HIERARCHICAL_LABEL_T ) || (Type() == SCH_SHEET_PIN_T ) ) { switch( GetShape() ) { case NET_INPUT: msg = _( "Input" ); break; case NET_OUTPUT: msg = _( "Output" ); break; case NET_BIDI: msg = _( "Bidirectional" ); break; case NET_TRISTATE: msg = _( "Tri-State" ); break; case NET_UNSPECIFIED: msg = _( "Passive" ); break; default: msg = wxT( "???" ); break; } aList.push_back( MSG_PANEL_ITEM( _( "Type" ), msg, BLUE ) ); } // Display text size (X or Y value, with are the same value in Eeschema) msg = MessageTextFromValue( aUnits, GetTextWidth(), true ); aList.push_back( MSG_PANEL_ITEM( _( "Size" ), msg, RED ) ); #if defined(DEBUG) if( auto conn = Connection( *g_CurrentSheet ) ) { conn->AppendDebugInfoToMsgPanel( aList ); } msg.Printf( "%p", this ); aList.push_back( MSG_PANEL_ITEM( "Object Address", msg, RED ) ); #endif }
/* * Display the type, shape, size and some other props to the Message panel */ void SCH_TEXT::GetMsgPanelInfo( MSG_PANEL_ITEMS& aList ) { wxString msg; switch( Type() ) { case SCH_TEXT_T: msg = _( "Graphic text" ); break; case SCH_LABEL_T: msg = _( "Label" ); break; case SCH_GLOBAL_LABEL_T: msg = _( "Global label" ); break; case SCH_HIERARCHICAL_LABEL_T: msg = _( "Hierarchical label" ); break; case SCH_SHEET_PIN_T: msg = _( "Hierarchical Sheet Pin" ); break; default: return; } aList.push_back( MSG_PANEL_ITEM( msg, GetText(), DARKCYAN ) ); switch( GetOrientation() ) { case 0: // horizontal text msg = _( "Horizontal" ); break; case 1: // Vert Orientation UP msg = _( "Vertical up" ); break; case 2: // invert horizontal text msg = _( "Horizontal invert" ); break; case 3: // Vert Orientation Down msg = _( "Vertical down" ); break; default: msg = wxT( "???" ); break; } aList.push_back( MSG_PANEL_ITEM( _( "Orientation" ), msg, BROWN ) ); wxString textStyle[] = { _( "Normal" ), _( "Italic" ), _( "Bold" ), _( "Bold Italic" ) }; int style = 0; if( m_Italic ) style = 1; if( m_Bold ) style += 2; aList.push_back( MSG_PANEL_ITEM( _("Style"), textStyle[style], BROWN ) ); // Display electricat type if it is relevant if( (Type() == SCH_GLOBAL_LABEL_T) || (Type() == SCH_HIERARCHICAL_LABEL_T ) || (Type() == SCH_SHEET_PIN_T ) ) { switch( GetShape() ) { case NET_INPUT: msg = _( "Input" ); break; case NET_OUTPUT: msg = _( "Output" ); break; case NET_BIDI: msg = _( "Bidirectional" ); break; case NET_TRISTATE: msg = _( "Tri-State" ); break; case NET_UNSPECIFIED: msg = _( "Passive" ); break; default: msg = wxT( "???" ); break; } aList.push_back( MSG_PANEL_ITEM( _( "Type" ), msg, BLUE ) ); } // Display text size (X or Y value, with are the same value in Eeschema) msg = ReturnStringFromValue( g_UserUnit, m_Size.x, true ); aList.push_back( MSG_PANEL_ITEM( _( "Size" ), msg, RED ) ); }