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 : [email protected]
Unsubscribe : https://launchpad.net/~kicad-developers
More help : https://help.launchpad.net/ListHelp