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