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