move polar coordinates display to status field 2, so that field 0 persists.

This commit is contained in:
dickelbeck 2009-04-09 18:16:16 +00:00
parent 0261ab718f
commit 4ee4f83de4
2 changed files with 21 additions and 14 deletions

View File

@ -186,7 +186,7 @@ void WinEDA_DrawFrame::Affiche_Message( const wxString& message )
* Display the message on the bottom the frame * Display the message on the bottom the frame
*/ */
{ {
SetStatusText( message ); SetStatusText( message, 0 );
} }

View File

@ -336,22 +336,21 @@ void WinEDA_BasePcbFrame::UpdateStatusBar()
* Update the status bar information. * Update the status bar information.
*/ */
{ {
wxString Line;
int dx, dy;
double theta, ro;
BASE_SCREEN* screen = GetBaseScreen();
if( !screen )
return;
WinEDA_DrawFrame::UpdateStatusBar(); WinEDA_DrawFrame::UpdateStatusBar();
dx = screen->m_Curseur.x - screen->m_O_Curseur.x; if( DisplayOpt.DisplayPolarCood ) // display polar coordinates
dy = screen->m_Curseur.y - screen->m_O_Curseur.y;
if( DisplayOpt.DisplayPolarCood ) /* Display coordonnee polaire */
{ {
if( (dx == 0) && (dy == 0) ) BASE_SCREEN* screen = GetBaseScreen();
if( !screen )
return;
wxString Line;
double theta, ro;
int dx = screen->m_Curseur.x - screen->m_O_Curseur.x;
int dy = screen->m_Curseur.y - screen->m_O_Curseur.y;
if( dx==0 && dy==0 )
theta = 0.0; theta = 0.0;
else else
theta = atan2( (double) -dy, (double) dx ); theta = atan2( (double) -dy, (double) dx );
@ -362,9 +361,17 @@ void WinEDA_BasePcbFrame::UpdateStatusBar()
Line.Printf( g_UnitMetric ? wxT( "Ro %.3f Th %.1f" ) : wxT( "Ro %.4f Th %.1f" ), Line.Printf( g_UnitMetric ? wxT( "Ro %.3f Th %.1f" ) : wxT( "Ro %.4f Th %.1f" ),
To_User_Unit( g_UnitMetric, ro, m_InternalUnits ), To_User_Unit( g_UnitMetric, ro, m_InternalUnits ),
theta ); theta );
// overwrite the absolute cartesian coordinates
SetStatusText( Line, 2 );
} }
/* not this, because status field no. 0 is reserved for actual fleeting
status information. If this is enabled, then that text is erased on
every DrawPanel redraw. Field no. 0 is set with Affiche_Message() and it
should persist until called again.
SetStatusText( Line, 0 ); SetStatusText( Line, 0 );
*/
} }