Loading eeschema/busentry.cpp +4 −29 Original line number Diff line number Diff line Loading @@ -72,37 +72,12 @@ void SCH_EDIT_FRAME::SetBusEntryShape( wxDC* DC, SCH_BUS_ENTRY* BusEntry, int en if( BusEntry->m_Flags == 0 ) SaveCopyInUndoList( BusEntry, UR_CHANGED ); BusEntry->Draw( DrawPanel, DC, wxPoint( 0, 0 ), g_XorMode ); wxSize size = BusEntry->GetSize(); switch( entry_shape ) { case '\\': s_LastShape = '\\'; size.y = 100; BusEntry->SetSize( size ); break; case '/': s_LastShape = '/'; size.y = -100; BusEntry->SetSize( size ); break; } s_LastShape = entry_shape == '/' ? '/' : '\\'; BusEntry->Draw( DrawPanel, DC, wxPoint( 0, 0 ), g_XorMode ); BusEntry->SetBusEntryShape( s_LastShape ); GetScreen()->TestDanglingEnds(); BusEntry->Draw( DrawPanel, DC, wxPoint( 0, 0 ), g_XorMode ); OnModify( ); } int SCH_EDIT_FRAME::GetBusEntryShape( SCH_BUS_ENTRY* BusEntry ) { int entry_shape = '\\'; if( BusEntry->GetSize().y < 0 ) entry_shape = '/'; return entry_shape; OnModify( ); } eeschema/onrightclick.cpp +23 −16 Original line number Diff line number Diff line Loading @@ -62,6 +62,7 @@ static void AddMenusForComponent( wxMenu* PopMenu, SCH_COMPONENT* Component ); static void AddMenusForComponentField( wxMenu* PopMenu, SCH_FIELD* Field ); static void AddMenusForMarkers( wxMenu* aPopMenu, SCH_MARKER* aMarker, SCH_EDIT_FRAME* aFrame ); static void AddMenusForBitmap( wxMenu* aPopMenu, SCH_BITMAP * aBitmap ); static void AddMenusForBusEntry( wxMenu* aPopMenu, SCH_BUS_ENTRY * aBusEntry ); Loading Loading @@ -149,22 +150,7 @@ bool SCH_EDIT_FRAME::OnRightClick( const wxPoint& aPosition, wxMenu* PopMenu ) break; case SCH_BUS_ENTRY_T: if( !flags ) { wxString msg = AddHotkeyName( _( "Move Bus Entry" ), s_Schematic_Hokeys_Descr, HK_MOVE_COMPONENT_OR_ITEM ); AddMenuItem( PopMenu, ID_SCH_MOVE_ITEM, msg, KiBitmap( move_xpm ) ); } if( GetBusEntryShape( (SCH_BUS_ENTRY*) item ) == '\\' ) AddMenuItem( PopMenu, ID_POPUP_SCH_ENTRY_SELECT_SLASH, _( "Set Bus Entry /" ), KiBitmap( change_entry_orient_xpm ) ); else AddMenuItem( PopMenu, ID_POPUP_SCH_ENTRY_SELECT_ANTISLASH, _( "Set Bus Entry \\" ), KiBitmap( change_entry_orient_xpm ) ); AddMenuItem( PopMenu, ID_POPUP_SCH_DELETE, _( "Delete Bus Entry" ), KiBitmap( delete_bus_xpm ) ); AddMenusForBusEntry( PopMenu, (SCH_BUS_ENTRY*) item ); break; case SCH_MARKER_T: Loading Loading @@ -748,3 +734,24 @@ void AddMenusForBitmap( wxMenu* aPopMenu, SCH_BITMAP * aBitmap ) AddMenuItem( aPopMenu, ID_POPUP_SCH_DELETE, msg, KiBitmap( delete_xpm ) ); } } void AddMenusForBusEntry( wxMenu* aPopMenu, SCH_BUS_ENTRY * aBusEntry ) { wxString msg; if( !aBusEntry->GetFlags() ) { msg = AddHotkeyName( _( "Move Bus Entry" ), s_Schematic_Hokeys_Descr, HK_MOVE_COMPONENT_OR_ITEM ); AddMenuItem( aPopMenu, ID_SCH_MOVE_ITEM, msg, KiBitmap( move_xpm ) ); } if( aBusEntry->GetBusEntryShape() == '\\' ) AddMenuItem( aPopMenu, ID_POPUP_SCH_ENTRY_SELECT_SLASH, _( "Set Bus Entry Shape /" ), KiBitmap( change_entry_orient_xpm ) ); else AddMenuItem( aPopMenu, ID_POPUP_SCH_ENTRY_SELECT_ANTISLASH, _( "Set Bus Entry Shape \\" ), KiBitmap( change_entry_orient_xpm ) ); msg = AddHotkeyName( _( "Delete Bus Entry" ), s_Schematic_Hokeys_Descr, HK_DELETE ); AddMenuItem( aPopMenu, ID_POPUP_SCH_DELETE, msg, KiBitmap( delete_xpm ) ); } eeschema/sch_bus_entry.cpp +34 −0 Original line number Diff line number Diff line Loading @@ -296,3 +296,37 @@ void SCH_BUS_ENTRY::doPlot( PLOTTER* aPlotter ) aPlotter->move_to( m_pos ); aPlotter->finish_to( m_End() ); } /* SetBusEntryShape: * Set the shape of the bus entry. * aShape = ascii code '/' or '\' */ void SCH_BUS_ENTRY::SetBusEntryShape( int aShape ) { switch( aShape ) { case '\\': if( m_size.y < 0 ) m_size.y = -m_size.y; break; case '/': if( m_size.y > 0 ) m_size.y = -m_size.y; break; } } /* GetBusEntryShape: * return the shape of the bus entry, as an ascii code '/' or '\' */ int SCH_BUS_ENTRY::GetBusEntryShape() const { int shape = '\\'; if( GetSize().y < 0 ) shape = '/'; return shape; } eeschema/sch_bus_entry.h +12 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,18 @@ public: wxPoint m_End() const; /** * function GetBusEntryShape * @return the shape of the bus entry, as an ascii code '/' or '\' */ int GetBusEntryShape() const; /** * function SetBusEntryShape * @param aShape = the shape of the bus entry, as an ascii code '/' or '\' */ void SetBusEntryShape( int aShape ); int GetWidth() const { return m_width; } void SetWidth( int aWidth ) { m_width = aWidth; } Loading include/wxEeschemaStruct.h +0 −1 Original line number Diff line number Diff line Loading @@ -761,7 +761,6 @@ private: // Bus Entry SCH_BUS_ENTRY* CreateBusEntry( wxDC* DC, int entry_type ); void SetBusEntryShape( wxDC* DC, SCH_BUS_ENTRY* BusEntry, int entry_type ); int GetBusEntryShape( SCH_BUS_ENTRY* BusEntry ); /** * Function AddNoConnect Loading eeschema/menubar.cpp +1 −1 File changed.Contains only whitespace changes. Show changes Loading
eeschema/busentry.cpp +4 −29 Original line number Diff line number Diff line Loading @@ -72,37 +72,12 @@ void SCH_EDIT_FRAME::SetBusEntryShape( wxDC* DC, SCH_BUS_ENTRY* BusEntry, int en if( BusEntry->m_Flags == 0 ) SaveCopyInUndoList( BusEntry, UR_CHANGED ); BusEntry->Draw( DrawPanel, DC, wxPoint( 0, 0 ), g_XorMode ); wxSize size = BusEntry->GetSize(); switch( entry_shape ) { case '\\': s_LastShape = '\\'; size.y = 100; BusEntry->SetSize( size ); break; case '/': s_LastShape = '/'; size.y = -100; BusEntry->SetSize( size ); break; } s_LastShape = entry_shape == '/' ? '/' : '\\'; BusEntry->Draw( DrawPanel, DC, wxPoint( 0, 0 ), g_XorMode ); BusEntry->SetBusEntryShape( s_LastShape ); GetScreen()->TestDanglingEnds(); BusEntry->Draw( DrawPanel, DC, wxPoint( 0, 0 ), g_XorMode ); OnModify( ); } int SCH_EDIT_FRAME::GetBusEntryShape( SCH_BUS_ENTRY* BusEntry ) { int entry_shape = '\\'; if( BusEntry->GetSize().y < 0 ) entry_shape = '/'; return entry_shape; OnModify( ); }
eeschema/onrightclick.cpp +23 −16 Original line number Diff line number Diff line Loading @@ -62,6 +62,7 @@ static void AddMenusForComponent( wxMenu* PopMenu, SCH_COMPONENT* Component ); static void AddMenusForComponentField( wxMenu* PopMenu, SCH_FIELD* Field ); static void AddMenusForMarkers( wxMenu* aPopMenu, SCH_MARKER* aMarker, SCH_EDIT_FRAME* aFrame ); static void AddMenusForBitmap( wxMenu* aPopMenu, SCH_BITMAP * aBitmap ); static void AddMenusForBusEntry( wxMenu* aPopMenu, SCH_BUS_ENTRY * aBusEntry ); Loading Loading @@ -149,22 +150,7 @@ bool SCH_EDIT_FRAME::OnRightClick( const wxPoint& aPosition, wxMenu* PopMenu ) break; case SCH_BUS_ENTRY_T: if( !flags ) { wxString msg = AddHotkeyName( _( "Move Bus Entry" ), s_Schematic_Hokeys_Descr, HK_MOVE_COMPONENT_OR_ITEM ); AddMenuItem( PopMenu, ID_SCH_MOVE_ITEM, msg, KiBitmap( move_xpm ) ); } if( GetBusEntryShape( (SCH_BUS_ENTRY*) item ) == '\\' ) AddMenuItem( PopMenu, ID_POPUP_SCH_ENTRY_SELECT_SLASH, _( "Set Bus Entry /" ), KiBitmap( change_entry_orient_xpm ) ); else AddMenuItem( PopMenu, ID_POPUP_SCH_ENTRY_SELECT_ANTISLASH, _( "Set Bus Entry \\" ), KiBitmap( change_entry_orient_xpm ) ); AddMenuItem( PopMenu, ID_POPUP_SCH_DELETE, _( "Delete Bus Entry" ), KiBitmap( delete_bus_xpm ) ); AddMenusForBusEntry( PopMenu, (SCH_BUS_ENTRY*) item ); break; case SCH_MARKER_T: Loading Loading @@ -748,3 +734,24 @@ void AddMenusForBitmap( wxMenu* aPopMenu, SCH_BITMAP * aBitmap ) AddMenuItem( aPopMenu, ID_POPUP_SCH_DELETE, msg, KiBitmap( delete_xpm ) ); } } void AddMenusForBusEntry( wxMenu* aPopMenu, SCH_BUS_ENTRY * aBusEntry ) { wxString msg; if( !aBusEntry->GetFlags() ) { msg = AddHotkeyName( _( "Move Bus Entry" ), s_Schematic_Hokeys_Descr, HK_MOVE_COMPONENT_OR_ITEM ); AddMenuItem( aPopMenu, ID_SCH_MOVE_ITEM, msg, KiBitmap( move_xpm ) ); } if( aBusEntry->GetBusEntryShape() == '\\' ) AddMenuItem( aPopMenu, ID_POPUP_SCH_ENTRY_SELECT_SLASH, _( "Set Bus Entry Shape /" ), KiBitmap( change_entry_orient_xpm ) ); else AddMenuItem( aPopMenu, ID_POPUP_SCH_ENTRY_SELECT_ANTISLASH, _( "Set Bus Entry Shape \\" ), KiBitmap( change_entry_orient_xpm ) ); msg = AddHotkeyName( _( "Delete Bus Entry" ), s_Schematic_Hokeys_Descr, HK_DELETE ); AddMenuItem( aPopMenu, ID_POPUP_SCH_DELETE, msg, KiBitmap( delete_xpm ) ); }
eeschema/sch_bus_entry.cpp +34 −0 Original line number Diff line number Diff line Loading @@ -296,3 +296,37 @@ void SCH_BUS_ENTRY::doPlot( PLOTTER* aPlotter ) aPlotter->move_to( m_pos ); aPlotter->finish_to( m_End() ); } /* SetBusEntryShape: * Set the shape of the bus entry. * aShape = ascii code '/' or '\' */ void SCH_BUS_ENTRY::SetBusEntryShape( int aShape ) { switch( aShape ) { case '\\': if( m_size.y < 0 ) m_size.y = -m_size.y; break; case '/': if( m_size.y > 0 ) m_size.y = -m_size.y; break; } } /* GetBusEntryShape: * return the shape of the bus entry, as an ascii code '/' or '\' */ int SCH_BUS_ENTRY::GetBusEntryShape() const { int shape = '\\'; if( GetSize().y < 0 ) shape = '/'; return shape; }
eeschema/sch_bus_entry.h +12 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,18 @@ public: wxPoint m_End() const; /** * function GetBusEntryShape * @return the shape of the bus entry, as an ascii code '/' or '\' */ int GetBusEntryShape() const; /** * function SetBusEntryShape * @param aShape = the shape of the bus entry, as an ascii code '/' or '\' */ void SetBusEntryShape( int aShape ); int GetWidth() const { return m_width; } void SetWidth( int aWidth ) { m_width = aWidth; } Loading
include/wxEeschemaStruct.h +0 −1 Original line number Diff line number Diff line Loading @@ -761,7 +761,6 @@ private: // Bus Entry SCH_BUS_ENTRY* CreateBusEntry( wxDC* DC, int entry_type ); void SetBusEntryShape( wxDC* DC, SCH_BUS_ENTRY* BusEntry, int entry_type ); int GetBusEntryShape( SCH_BUS_ENTRY* BusEntry ); /** * Function AddNoConnect Loading