Show the current grid setting.
This commit is contained in:
parent
517c79c9cd
commit
1edeba7fb4
|
@ -113,7 +113,7 @@ EDA_DRAW_FRAME::EDA_DRAW_FRAME( KIWAY* aKiway, wxWindow* aParent, FRAME_T aFrame
|
|||
|
||||
m_auimgr.SetFlags(wxAUI_MGR_DEFAULT);
|
||||
|
||||
CreateStatusBar( 6 );
|
||||
CreateStatusBar( 7 );
|
||||
|
||||
// set the size of the status bar subwindows:
|
||||
|
||||
|
@ -136,6 +136,9 @@ EDA_DRAW_FRAME::EDA_DRAW_FRAME( KIWAY* aKiway, wxWindow* aParent, FRAME_T aFrame
|
|||
// delta distances
|
||||
GetTextSize( wxT( "dx 0234.567890 dx 0234.567890 d 0234.567890" ), stsbar ).x + 10,
|
||||
|
||||
// grid size
|
||||
GetTextSize( wxT( "grid X 0234.567890 Y 0234.567890" ), stsbar ).x + 10,
|
||||
|
||||
// units display, Inches is bigger than mm
|
||||
GetTextSize( _( "Inches" ), stsbar ).x + 10,
|
||||
|
||||
|
@ -361,6 +364,37 @@ void EDA_DRAW_FRAME::DisplayToolMsg( const wxString& msg )
|
|||
}
|
||||
|
||||
|
||||
/*
|
||||
* Display the grid status.
|
||||
*/
|
||||
void EDA_DRAW_FRAME::DisplayGridMsg()
|
||||
{
|
||||
wxString line;
|
||||
wxString gridformatter;
|
||||
|
||||
switch( m_userUnits )
|
||||
{
|
||||
case INCHES:
|
||||
gridformatter = "grid %.3f";
|
||||
break;
|
||||
|
||||
case MILLIMETRES:
|
||||
gridformatter = "grid %.4f";
|
||||
break;
|
||||
|
||||
default:
|
||||
gridformatter = "grid %f";
|
||||
break;
|
||||
}
|
||||
|
||||
wxRealPoint curr_grid_size = GetScreen()->GetGridSize();
|
||||
double grid = To_User_Unit( m_userUnits, curr_grid_size.x );
|
||||
line.Printf( gridformatter, grid );
|
||||
|
||||
SetStatusText( line, 4 );
|
||||
}
|
||||
|
||||
|
||||
void EDA_DRAW_FRAME::DisplayUnitsMsg()
|
||||
{
|
||||
wxString msg;
|
||||
|
@ -372,7 +406,7 @@ void EDA_DRAW_FRAME::DisplayUnitsMsg()
|
|||
default: msg = _( "Units" ); break;
|
||||
}
|
||||
|
||||
SetStatusText( msg, 4 );
|
||||
SetStatusText( msg, 5 );
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -241,6 +241,9 @@ void SCH_BASE_FRAME::UpdateStatusBar()
|
|||
line.Printf( locformatter, dXpos, dYpos, hypot( dXpos, dYpos ) );
|
||||
SetStatusText( line, 3 );
|
||||
|
||||
// refresh grid display
|
||||
DisplayGridMsg();
|
||||
|
||||
// refresh units display
|
||||
DisplayUnitsMsg();
|
||||
}
|
||||
|
|
|
@ -983,6 +983,42 @@ void GERBVIEW_FRAME::SetGridColor( COLOR4D aColor )
|
|||
}
|
||||
|
||||
|
||||
/*
|
||||
* Display the grid status.
|
||||
*/
|
||||
void GERBVIEW_FRAME::DisplayGridMsg()
|
||||
{
|
||||
wxString line;
|
||||
wxString gridformatter;
|
||||
|
||||
switch( m_userUnits )
|
||||
{
|
||||
case INCHES:
|
||||
gridformatter = "grid X %.6f Y %.6f";
|
||||
break;
|
||||
|
||||
case MILLIMETRES:
|
||||
gridformatter = "grid X %.6f Y %.6f";
|
||||
break;
|
||||
|
||||
default:
|
||||
gridformatter = "grid X %f Y %f";
|
||||
break;
|
||||
}
|
||||
|
||||
BASE_SCREEN* screen = GetScreen();
|
||||
wxArrayString gridsList;
|
||||
|
||||
int icurr = screen->BuildGridsChoiceList( gridsList, m_userUnits != INCHES );
|
||||
GRID_TYPE& grid = screen->GetGrid( icurr );
|
||||
double grid_x = To_User_Unit( m_userUnits, grid.m_Size.x );
|
||||
double grid_y = To_User_Unit( m_userUnits, grid.m_Size.y );
|
||||
line.Printf( gridformatter, grid_x, grid_y );
|
||||
|
||||
SetStatusText( line, 4 );
|
||||
}
|
||||
|
||||
|
||||
void GERBVIEW_FRAME::UpdateStatusBar()
|
||||
{
|
||||
EDA_DRAW_FRAME::UpdateStatusBar();
|
||||
|
@ -1058,6 +1094,8 @@ void GERBVIEW_FRAME::UpdateStatusBar()
|
|||
line.Printf( relformatter, dXpos, dYpos, hypot( dXpos, dYpos ) );
|
||||
SetStatusText( line, 3 );
|
||||
}
|
||||
|
||||
DisplayGridMsg();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -391,6 +391,13 @@ public:
|
|||
*/
|
||||
void UpdateTitleAndInfo();
|
||||
|
||||
/**
|
||||
* Function DisplayGridMsg()
|
||||
*
|
||||
* Display the current grid pane on the status bar.
|
||||
*/
|
||||
void DisplayGridMsg();
|
||||
|
||||
/**
|
||||
* Function GetConfigurationSettings
|
||||
* Populates the GerbView applications settings list.
|
||||
|
|
|
@ -491,6 +491,11 @@ public:
|
|||
*/
|
||||
void DisplayUnitsMsg();
|
||||
|
||||
/**
|
||||
* Display current grid pane on the status bar.
|
||||
*/
|
||||
void DisplayGridMsg();
|
||||
|
||||
/* interprocess communication */
|
||||
void CreateServer( int service, bool local = true );
|
||||
void OnSockRequest( wxSocketEvent& evt );
|
||||
|
|
|
@ -418,6 +418,13 @@ public:
|
|||
*/
|
||||
void SetFastGrid2();
|
||||
|
||||
/**
|
||||
* Function DisplayGridMsg()
|
||||
*
|
||||
* Display the current grid pane on the status bar.
|
||||
*/
|
||||
void DisplayGridMsg();
|
||||
|
||||
///> @copydoc EDA_DRAW_FRAME::UseGalCanvas
|
||||
virtual void ActivateGalCanvas() override;
|
||||
|
||||
|
|
|
@ -141,11 +141,14 @@ PL_EDITOR_FRAME::PL_EDITOR_FRAME( KIWAY* aKiway, wxWindow* aParent ) :
|
|||
// delta distances
|
||||
GetTextSize( wxT( "dx 0234.567 dx 0234.567" ), stsbar ).x + 10,
|
||||
|
||||
// grid size
|
||||
GetTextSize( wxT( "grid 0234.567" ), stsbar ).x + 10,
|
||||
|
||||
// Coord origin (use the bigger message)
|
||||
GetTextSize( _( "coord origin: Right Bottom page corner" ), stsbar ).x + 10,
|
||||
|
||||
// units display, Inches is bigger than mm
|
||||
GetTextSize( _( "Inches" ), stsbar ).x + 10
|
||||
GetTextSize( _( "Inches" ), stsbar ).x + 20
|
||||
};
|
||||
|
||||
SetStatusWidths( arrayDim( dims ), dims );
|
||||
|
@ -498,6 +501,37 @@ wxPoint PL_EDITOR_FRAME::ReturnCoordOriginCorner() const
|
|||
}
|
||||
|
||||
|
||||
/*
|
||||
* Display the grid status.
|
||||
*/
|
||||
void PL_EDITOR_FRAME::DisplayGridMsg()
|
||||
{
|
||||
wxString line;
|
||||
wxString gridformatter;
|
||||
|
||||
switch( m_userUnits )
|
||||
{
|
||||
case INCHES:
|
||||
gridformatter = "grid %.3f";
|
||||
break;
|
||||
|
||||
case MILLIMETRES:
|
||||
gridformatter = "grid %.4f";
|
||||
break;
|
||||
|
||||
default:
|
||||
gridformatter = "grid %f";
|
||||
break;
|
||||
}
|
||||
|
||||
wxRealPoint curr_grid_size = GetScreen()->GetGridSize();
|
||||
double grid = To_User_Unit( m_userUnits, curr_grid_size.x );
|
||||
line.Printf( gridformatter, grid );
|
||||
|
||||
SetStatusText( line, 4 );
|
||||
}
|
||||
|
||||
|
||||
void PL_EDITOR_FRAME::UpdateStatusBar()
|
||||
{
|
||||
PL_EDITOR_SCREEN* screen = (PL_EDITOR_SCREEN*) GetScreen();
|
||||
|
@ -551,9 +585,9 @@ void PL_EDITOR_FRAME::UpdateStatusBar()
|
|||
|
||||
switch( GetUserUnits() )
|
||||
{
|
||||
case INCHES: SetStatusText( _("inches"), 5 ); break;
|
||||
case MILLIMETRES: SetStatusText( _("mm"), 5 ); break;
|
||||
case UNSCALED_UNITS: SetStatusText( wxEmptyString, 5 ); break;
|
||||
case INCHES: SetStatusText( _("inches"), 6 ); break;
|
||||
case MILLIMETRES: SetStatusText( _("mm"), 6 ); break;
|
||||
case UNSCALED_UNITS: SetStatusText( wxEmptyString, 6 ); break;
|
||||
case DEGREES: wxASSERT( false ); break;
|
||||
}
|
||||
|
||||
|
@ -578,10 +612,12 @@ void PL_EDITOR_FRAME::UpdateStatusBar()
|
|||
line.Printf( locformatter, dXpos, dYpos );
|
||||
SetStatusText( line, 3 );
|
||||
|
||||
DisplayGridMsg();
|
||||
|
||||
// Display corner reference for coord origin
|
||||
line.Printf( _("coord origin: %s"),
|
||||
m_originSelectBox->GetString( m_originSelectChoice ).GetData() );
|
||||
SetStatusText( line, 4 );
|
||||
SetStatusText( line, 5 );
|
||||
|
||||
// Display units
|
||||
}
|
||||
|
|
|
@ -141,6 +141,8 @@ public:
|
|||
const TITLE_BLOCK& GetTitleBlock() const override;
|
||||
void SetTitleBlock( const TITLE_BLOCK& aTitleBlock ) override;
|
||||
|
||||
void DisplayGridMsg();
|
||||
|
||||
void UpdateStatusBar() override;
|
||||
|
||||
/**
|
||||
|
|
|
@ -596,6 +596,42 @@ void PCB_BASE_FRAME::SetToolID( int aId, int aCursor, const wxString& aToolMsg )
|
|||
}
|
||||
|
||||
|
||||
/*
|
||||
* Display the grid status.
|
||||
*/
|
||||
void PCB_BASE_FRAME::DisplayGridMsg()
|
||||
{
|
||||
wxString line;
|
||||
wxString gridformatter;
|
||||
|
||||
switch( m_userUnits )
|
||||
{
|
||||
case INCHES:
|
||||
gridformatter = "grid X %.6f Y %.6f";
|
||||
break;
|
||||
|
||||
case MILLIMETRES:
|
||||
gridformatter = "grid X %.6f Y %.6f";
|
||||
break;
|
||||
|
||||
default:
|
||||
gridformatter = "grid X %f Y %f";
|
||||
break;
|
||||
}
|
||||
|
||||
BASE_SCREEN* screen = GetScreen();
|
||||
wxArrayString gridsList;
|
||||
|
||||
int icurr = screen->BuildGridsChoiceList( gridsList, m_userUnits != INCHES );
|
||||
GRID_TYPE& grid = screen->GetGrid( icurr );
|
||||
double grid_x = To_User_Unit( m_userUnits, grid.m_Size.x );
|
||||
double grid_y = To_User_Unit( m_userUnits, grid.m_Size.y );
|
||||
line.Printf( gridformatter, grid_x, grid_y );
|
||||
|
||||
SetStatusText( line, 4 );
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Update the status bar information.
|
||||
*/
|
||||
|
@ -675,6 +711,8 @@ void PCB_BASE_FRAME::UpdateStatusBar()
|
|||
line.Printf( locformatter, dXpos, dYpos, hypot( dXpos, dYpos ) );
|
||||
SetStatusText( line, 3 );
|
||||
}
|
||||
|
||||
DisplayGridMsg();
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue