On 5/23/19 1:59 PM, Wayne Stambaugh wrote: > Hey Steve, > > Adding "grid" to the coordinates in the status bar is not correct. > These are the cursor coordinates not the grid coordinates. To add the > current grid size to the status bar, you would need to add another pane > to status bar and fetch the current grid setting from the current SCREEN > object.
Thanks! I'll play around with that. Steve > > Cheers, > > Wayne > > On 5/18/19 3:48 PM, Steven A. Falco wrote: >> I decided to try adding the current grid size to the status line of eeschema >> and the symbol editor, so as to make the N/shift-N hotkeys easier to use. >> Below is what I came up with. >> >> Is this something that could be accepted? I don't know if it fits with the >> style of the KiCad code - I have mostly written embedded C SW, not C++. >> >> Steve >> >> --- eeschema/sch_base_frame.cpp 2019-05-18 15:17:14.692949429 -0400 >> +++ /home/sfalco/sch_base_frame.cpp 2019-05-18 15:36:11.266193897 -0400 >> @@ -257,17 +246,17 @@ >> { >> case INCHES: >> absformatter = "X %.3f Y %.3f"; >> - locformatter = "dx %.3f dy %.3f dist %.3f"; >> + locformatter = "grid %.3f dx %.3f dy %.3f dist %.3f"; >> break; >> >> case MILLIMETRES: >> absformatter = "X %.2f Y %.2f"; >> - locformatter = "dx %.2f dy %.2f dist %.2f"; >> + locformatter = "grid %.4f dx %.2f dy %.2f dist %.2f"; >> break; >> >> case UNSCALED_UNITS: >> absformatter = "X %f Y %f"; >> - locformatter = "dx %f dy %f dist %f"; >> + locformatter = "grid %f dx %f dy %f dist %f"; >> break; >> >> case DEGREES: >> @@ -282,6 +271,9 @@ >> double dx = (double)GetCrossHairPosition().x - >> (double)screen->m_O_Curseur.x; >> double dy = (double)GetCrossHairPosition().y - >> (double)screen->m_O_Curseur.y; >> >> + wxRealPoint curr_grid_size = GetScreen()->GetGridSize(); >> + double grid = To_User_Unit( GetUserUnits(), curr_grid_size.x ); >> + >> dXpos = To_User_Unit( GetUserUnits(), dx ); >> dYpos = To_User_Unit( GetUserUnits(), dy ); >> >> @@ -292,9 +284,10 @@ >> } >> >> // We already decided the formatter above >> - line.Printf( locformatter, dXpos, dYpos, hypot( dXpos, dYpos ) ); >> + line.Printf( locformatter, grid, dXpos, dYpos, hypot( dXpos, dYpos ) ); >> SetStatusText( line, 3 ); >> >> // refresh units display >> DisplayUnitsMsg(); >> } >> >> _______________________________________________ >> Mailing list: https://launchpad.net/~kicad-developers >> Post to : kicad-developers@lists.launchpad.net >> Unsubscribe : https://launchpad.net/~kicad-developers >> More help : https://help.launchpad.net/ListHelp >> > > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp > _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp