Typedef STATUS_FLAGS to encapsulate EDA_ITEM bitmapped flags

This commit is contained in:
Lorenzo Marcantonio 2013-03-28 20:12:46 +01:00
parent cd18ff1762
commit 675f8d4a0b
30 changed files with 71 additions and 65 deletions

View File

@ -195,7 +195,7 @@ UNDO_REDO_T PICKED_ITEMS_LIST::GetPickedItemStatus( unsigned int aIdx )
} }
int PICKED_ITEMS_LIST::GetPickerFlags( unsigned aIdx ) STATUS_FLAGS PICKED_ITEMS_LIST::GetPickerFlags( unsigned aIdx )
{ {
if( aIdx < m_ItemsList.size() ) if( aIdx < m_ItemsList.size() )
return m_ItemsList[aIdx].GetFlags(); return m_ItemsList[aIdx].GetFlags();
@ -253,7 +253,7 @@ bool PICKED_ITEMS_LIST::SetPickedItemStatus( UNDO_REDO_T aStatus, unsigned aIdx
} }
bool PICKED_ITEMS_LIST::SetPickerFlags( int aFlags, unsigned aIdx ) bool PICKED_ITEMS_LIST::SetPickerFlags( STATUS_FLAGS aFlags, unsigned aIdx )
{ {
if( aIdx < m_ItemsList.size() ) if( aIdx < m_ItemsList.size() )
{ {

View File

@ -85,7 +85,7 @@ static void moveBitmap( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aPosit
dirty.Inflate( 4 ); // Give a margin dirty.Inflate( 4 ); // Give a margin
aPanel->SetMouseCapture( NULL, NULL ); // Avoid loop in redraw panel aPanel->SetMouseCapture( NULL, NULL ); // Avoid loop in redraw panel
int flgs = image->GetFlags(); STATUS_FLAGS flgs = image->GetFlags();
image->ClearFlags(); image->ClearFlags();
aPanel->RefreshDrawingRect( dirty ); aPanel->RefreshDrawingRect( dirty );
image->SetFlags( flgs ); image->SetFlags( flgs );

View File

@ -360,7 +360,7 @@ void SCH_EDIT_FRAME::OnSelectUnit( wxCommandEvent& aEvent )
if( unit > unitCount ) if( unit > unitCount )
unit = unitCount; unit = unitCount;
int flags = component->GetFlags(); STATUS_FLAGS flags = component->GetFlags();
if( !flags ) // No command in progress: save in undo list if( !flags ) // No command in progress: save in undo list
SaveCopyInUndoList( component, UR_CHANGED ); SaveCopyInUndoList( component, UR_CHANGED );
@ -405,7 +405,7 @@ void SCH_EDIT_FRAME::ConvertPart( SCH_COMPONENT* DrawComponent, wxDC* DC )
return; return;
} }
int flags = DrawComponent->GetFlags(); STATUS_FLAGS flags = DrawComponent->GetFlags();
if( DrawComponent->GetFlags() ) if( DrawComponent->GetFlags() )
DrawComponent->Draw( m_canvas, DC, wxPoint( 0, 0 ), g_XorMode, g_GhostColor ); DrawComponent->Draw( m_canvas, DC, wxPoint( 0, 0 ), g_XorMode, g_GhostColor );

View File

@ -574,7 +574,7 @@ wxString LIB_ARC::GetSelectMenuText() const
} }
void LIB_ARC::BeginEdit( int aEditMode, const wxPoint aPosition ) void LIB_ARC::BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aPosition )
{ {
wxCHECK_RET( ( aEditMode & ( IS_NEW | IS_MOVED | IS_RESIZED ) ) != 0, wxCHECK_RET( ( aEditMode & ( IS_NEW | IS_MOVED | IS_RESIZED ) ) != 0,
wxT( "Invalid edit mode for LIB_ARC object." ) ); wxT( "Invalid edit mode for LIB_ARC object." ) );

View File

@ -110,7 +110,7 @@ public:
int GetPenSize() const; int GetPenSize() const;
void BeginEdit( int aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) ); void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) );
bool ContinueEdit( const wxPoint aNextPoint ); bool ContinueEdit( const wxPoint aNextPoint );

View File

@ -296,7 +296,7 @@ wxString LIB_CIRCLE::GetSelectMenuText() const
} }
void LIB_CIRCLE::BeginEdit( int aEditMode, const wxPoint aPosition ) void LIB_CIRCLE::BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aPosition )
{ {
wxCHECK_RET( ( aEditMode & ( IS_NEW | IS_MOVED | IS_RESIZED ) ) != 0, wxCHECK_RET( ( aEditMode & ( IS_NEW | IS_MOVED | IS_RESIZED ) ) != 0,
wxT( "Invalid edit mode for LIB_CIRCLE object." ) ); wxT( "Invalid edit mode for LIB_CIRCLE object." ) );

View File

@ -71,7 +71,7 @@ public:
void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ); void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
void BeginEdit( int aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) ); void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) );
bool ContinueEdit( const wxPoint aNextPoint ); bool ContinueEdit( const wxPoint aNextPoint );

View File

@ -175,7 +175,7 @@ public:
* started. This may or may not be required depending on the item * started. This may or may not be required depending on the item
* being edited and the edit mode. * being edited and the edit mode.
*/ */
virtual void BeginEdit( int aEditMode, const wxPoint aPosition = wxPoint( 0, 0 ) ) {} virtual void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aPosition = wxPoint( 0, 0 ) ) {}
/** /**
* Continue an edit in progress at \a aPosition. * Continue an edit in progress at \a aPosition.

View File

@ -659,7 +659,7 @@ wxString LIB_FIELD::GetSelectMenuText() const
} }
void LIB_FIELD::BeginEdit( int aEditMode, const wxPoint aPosition ) void LIB_FIELD::BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aPosition )
{ {
wxCHECK_RET( ( aEditMode & ( IS_NEW | IS_MOVED ) ) != 0, wxCHECK_RET( ( aEditMode & ( IS_NEW | IS_MOVED ) ) != 0,
wxT( "Invalid edit mode for LIB_FIELD object." ) ); wxT( "Invalid edit mode for LIB_FIELD object." ) );

View File

@ -207,7 +207,7 @@ public:
EDA_COLOR_T GetDefaultColor(); EDA_COLOR_T GetDefaultColor();
void BeginEdit( int aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) ); void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) );
bool ContinueEdit( const wxPoint aNextPoint ); bool ContinueEdit( const wxPoint aNextPoint );

View File

@ -420,7 +420,7 @@ wxString LIB_POLYLINE::GetSelectMenuText() const
} }
void LIB_POLYLINE::BeginEdit( int aEditMode, const wxPoint aPosition ) void LIB_POLYLINE::BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aPosition )
{ {
wxCHECK_RET( ( aEditMode & ( IS_NEW | IS_MOVED | IS_RESIZED ) ) != 0, wxCHECK_RET( ( aEditMode & ( IS_NEW | IS_MOVED | IS_RESIZED ) ) != 0,
wxT( "Invalid edit mode for LIB_POLYLINE object." ) ); wxT( "Invalid edit mode for LIB_POLYLINE object." ) );

View File

@ -84,7 +84,7 @@ public:
void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ); void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
void BeginEdit( int aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) ); void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) );
bool ContinueEdit( const wxPoint aNextPoint ); bool ContinueEdit( const wxPoint aNextPoint );

View File

@ -333,7 +333,7 @@ wxString LIB_RECTANGLE::GetSelectMenuText() const
} }
void LIB_RECTANGLE::BeginEdit( int aEditMode, const wxPoint aPosition ) void LIB_RECTANGLE::BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aPosition )
{ {
wxCHECK_RET( ( aEditMode & ( IS_NEW | IS_MOVED | IS_RESIZED ) ) != 0, wxCHECK_RET( ( aEditMode & ( IS_NEW | IS_MOVED | IS_RESIZED ) ) != 0,
wxT( "Invalid edit mode for LIB_RECTANGLE object." ) ); wxT( "Invalid edit mode for LIB_RECTANGLE object." ) );

View File

@ -75,7 +75,7 @@ public:
void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList ); void GetMsgPanelInfo( std::vector< MSG_PANEL_ITEM >& aList );
void BeginEdit( int aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) ); void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) );
bool ContinueEdit( const wxPoint aNextPoint ); bool ContinueEdit( const wxPoint aNextPoint );

View File

@ -495,7 +495,7 @@ wxString LIB_TEXT::GetSelectMenuText() const
} }
void LIB_TEXT::BeginEdit( int aEditMode, const wxPoint aPosition ) void LIB_TEXT::BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aPosition )
{ {
wxCHECK_RET( ( aEditMode & ( IS_NEW | IS_MOVED ) ) != 0, wxCHECK_RET( ( aEditMode & ( IS_NEW | IS_MOVED ) ) != 0,
wxT( "Invalid edit mode for LIB_TEXT object." ) ); wxT( "Invalid edit mode for LIB_TEXT object." ) );

View File

@ -100,7 +100,7 @@ public:
void Rotate(); void Rotate();
void BeginEdit( int aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) ); void BeginEdit( STATUS_FLAGS aEditMode, const wxPoint aStartPoint = wxPoint( 0, 0 ) );
bool ContinueEdit( const wxPoint aNextPoint ); bool ContinueEdit( const wxPoint aNextPoint );

View File

@ -754,7 +754,7 @@ void LIB_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event )
break; break;
m_canvas->MoveCursorToCrossHair(); m_canvas->MoveCursorToCrossHair();
int oldFlags = m_drawItem->GetFlags(); STATUS_FLAGS oldFlags = m_drawItem->GetFlags();
m_drawItem->ClearFlags(); m_drawItem->ClearFlags();
m_drawItem->Draw( m_canvas, &dc, wxPoint( 0, 0 ), UNSPECIFIED_COLOR, g_XorMode, NULL, DefaultTransform ); m_drawItem->Draw( m_canvas, &dc, wxPoint( 0, 0 ), UNSPECIFIED_COLOR, g_XorMode, NULL, DefaultTransform );
( (LIB_POLYLINE*) m_drawItem )->DeleteSegment( GetScreen()->GetCrossHairPosition( true ) ); ( (LIB_POLYLINE*) m_drawItem )->DeleteSegment( GetScreen()->GetCrossHairPosition( true ) );

View File

@ -72,7 +72,7 @@ void LIB_EDIT_FRAME::OnEditPin( wxCommandEvent& event )
if( m_drawItem == NULL || m_drawItem->Type() != LIB_PIN_T ) if( m_drawItem == NULL || m_drawItem->Type() != LIB_PIN_T )
return; return;
int item_flags = m_drawItem->GetFlags(); // save flags to restore them after editing STATUS_FLAGS item_flags = m_drawItem->GetFlags(); // save flags to restore them after editing
LIB_PIN* pin = (LIB_PIN*) m_drawItem; LIB_PIN* pin = (LIB_PIN*) m_drawItem;
DIALOG_LIB_EDIT_PIN dlg( this, pin ); DIALOG_LIB_EDIT_PIN dlg( this, pin );

View File

@ -383,6 +383,7 @@ public:
///< already been edited, in some functions ///< already been edited, in some functions
#define EDA_ITEM_ALL_FLAGS -1 #define EDA_ITEM_ALL_FLAGS -1
typedef unsigned STATUS_FLAGS;
/** /**
* Class EDA_ITEM * Class EDA_ITEM
@ -399,7 +400,7 @@ private:
* functions. * functions.
*/ */
KICAD_T m_StructType; KICAD_T m_StructType;
int m_Status; STATUS_FLAGS m_Status;
protected: protected:
EDA_ITEM* Pnext; ///< next in linked list EDA_ITEM* Pnext; ///< next in linked list
@ -414,7 +415,7 @@ protected:
bool m_forceVisible; bool m_forceVisible;
/// Flag bits for editing and other uses. /// Flag bits for editing and other uses.
int m_Flags; STATUS_FLAGS m_Flags;
// Link to an copy of the item use to save the item's state for undo/redo feature. // Link to an copy of the item use to save the item's state for undo/redo feature.
EDA_ITEM* m_Image; EDA_ITEM* m_Image;
@ -475,12 +476,12 @@ public:
m_Status &= ~type; m_Status &= ~type;
} }
int GetStatus() const { return m_Status; } STATUS_FLAGS GetStatus() const { return m_Status; }
void SetStatus( int aStatus ) { m_Status = aStatus; } void SetStatus( STATUS_FLAGS aStatus ) { m_Status = aStatus; }
void SetFlags( int aMask ) { m_Flags |= aMask; } void SetFlags( STATUS_FLAGS aMask ) { m_Flags |= aMask; }
void ClearFlags( int aMask = EDA_ITEM_ALL_FLAGS ) { m_Flags &= ~aMask; } void ClearFlags( STATUS_FLAGS aMask = EDA_ITEM_ALL_FLAGS ) { m_Flags &= ~aMask; }
int GetFlags() const { return m_Flags; } STATUS_FLAGS GetFlags() const { return m_Flags; }
void SetImage( EDA_ITEM* aItem ) { m_Image = aItem; } void SetImage( EDA_ITEM* aItem ) { m_Image = aItem; }

View File

@ -81,7 +81,7 @@ enum UNDO_REDO_T {
class ITEM_PICKER class ITEM_PICKER
{ {
private: private:
int m_pickerFlags; /* a copy of m_Flags member. useful in mode/drag STATUS_FLAGS m_pickerFlags; /* a copy of m_Flags member. useful in mode/drag
* undo/redo commands */ * undo/redo commands */
UNDO_REDO_T m_undoRedoStatus; /* type of operation to undo/redo for this item */ UNDO_REDO_T m_undoRedoStatus; /* type of operation to undo/redo for this item */
EDA_ITEM* m_pickedItem; /* Pointer on the schematic or board item that is concerned EDA_ITEM* m_pickedItem; /* Pointer on the schematic or board item that is concerned
@ -113,9 +113,9 @@ public:
UNDO_REDO_T GetStatus() { return m_undoRedoStatus; } UNDO_REDO_T GetStatus() { return m_undoRedoStatus; }
void SetFlags( int aFlags ) { m_pickerFlags = aFlags; } void SetFlags( STATUS_FLAGS aFlags ) { m_pickerFlags = aFlags; }
int GetFlags() { return m_pickerFlags; } STATUS_FLAGS GetFlags() const { return m_pickerFlags; }
void SetLink( EDA_ITEM* aItem ) { m_link = aItem; } void SetLink( EDA_ITEM* aItem ) { m_link = aItem; }
@ -231,7 +231,7 @@ public:
* @param aIdx Index of the picker in the picked list * @param aIdx Index of the picker in the picked list
* @return The value stored in the picker, if the picker exists, or 0 if does not exist * @return The value stored in the picker, if the picker exists, or 0 if does not exist
*/ */
int GetPickerFlags( unsigned aIdx ); STATUS_FLAGS GetPickerFlags( unsigned aIdx );
/** /**
* Function SetPickedItem * Function SetPickedItem
@ -275,7 +275,7 @@ public:
* @param aIdx Index of the picker in the picked list * @param aIdx Index of the picker in the picked list
* @return True if the picker exists or false if does not exist * @return True if the picker exists or false if does not exist
*/ */
bool SetPickerFlags( int aFlags, unsigned aIdx ); bool SetPickerFlags( STATUS_FLAGS aFlags, unsigned aIdx );
/** /**
* Function RemovePicker * Function RemovePicker

View File

@ -273,9 +273,9 @@ bool TRACK::IsNull()
} }
int TRACK::IsPointOnEnds( const wxPoint& point, int min_dist ) STATUS_FLAGS TRACK::IsPointOnEnds( const wxPoint& point, int min_dist )
{ {
int result = 0; STATUS_FLAGS result = 0;
if( min_dist < 0 ) if( min_dist < 0 )
min_dist = m_Width / 2; min_dist = m_Width / 2;
@ -1408,15 +1408,15 @@ int TRACK::GetEndSegments( int aCount, TRACK** aStartTrace, TRACK** aEndTrace )
if( via ) if( via )
{ {
layerMask |= via->ReturnMaskLayer(); layerMask |= via->ReturnMaskLayer();
via->SetState( BUSY, ON ); via->SetState( BUSY, true );
} }
Track->SetState( BUSY, ON ); Track->SetState( BUSY, true );
segm = ::GetTrace( this, TrackListEnd, Track->m_Start, layerMask ); segm = ::GetTrace( this, TrackListEnd, Track->m_Start, layerMask );
Track->SetState( BUSY, OFF ); Track->SetState( BUSY, false );
if( via ) if( via )
via->SetState( BUSY, OFF ); via->SetState( BUSY, false );
if( segm == NULL ) if( segm == NULL )
{ {
@ -1434,13 +1434,13 @@ int TRACK::GetEndSegments( int aCount, TRACK** aStartTrace, TRACK** aEndTrace )
BeginPad = Track->GetState( BEGIN_ONPAD ); BeginPad = Track->GetState( BEGIN_ONPAD );
EndPad = Track->GetState( END_ONPAD ); EndPad = Track->GetState( END_ONPAD );
Track->SetState( BEGIN_ONPAD | END_ONPAD, OFF ); Track->SetState( BEGIN_ONPAD | END_ONPAD, false );
if( BeginPad ) if( BeginPad )
Track->SetState( END_ONPAD, ON ); Track->SetState( END_ONPAD, true );
if( EndPad ) if( EndPad )
Track->SetState( BEGIN_ONPAD, ON ); Track->SetState( BEGIN_ONPAD, true );
EXCHG( Track->m_Start, Track->m_End ); EXCHG( Track->m_Start, Track->m_End );
EXCHG( Track->start, Track->end ); EXCHG( Track->start, Track->end );
@ -1455,15 +1455,15 @@ int TRACK::GetEndSegments( int aCount, TRACK** aStartTrace, TRACK** aEndTrace )
if( via ) if( via )
{ {
layerMask |= via->ReturnMaskLayer(); layerMask |= via->ReturnMaskLayer();
via->SetState( BUSY, ON ); via->SetState( BUSY, true );
} }
Track->SetState( BUSY, ON ); Track->SetState( BUSY, true );
segm = ::GetTrace( this, TrackListEnd, Track->m_End, layerMask ); segm = ::GetTrace( this, TrackListEnd, Track->m_End, layerMask );
Track->SetState( BUSY, OFF ); Track->SetState( BUSY, false );
if( via ) if( via )
via->SetState( BUSY, OFF ); via->SetState( BUSY, false );
if( segm == NULL ) if( segm == NULL )
{ {
@ -1478,13 +1478,13 @@ int TRACK::GetEndSegments( int aCount, TRACK** aStartTrace, TRACK** aEndTrace )
BeginPad = Track->GetState( BEGIN_ONPAD ); BeginPad = Track->GetState( BEGIN_ONPAD );
EndPad = Track->GetState( END_ONPAD ); EndPad = Track->GetState( END_ONPAD );
Track->SetState( BEGIN_ONPAD | END_ONPAD, OFF ); Track->SetState( BEGIN_ONPAD | END_ONPAD, false );
if( BeginPad ) if( BeginPad )
Track->SetState( END_ONPAD, ON ); Track->SetState( END_ONPAD, true );
if( EndPad ) if( EndPad )
Track->SetState( BEGIN_ONPAD, ON ); Track->SetState( BEGIN_ONPAD, true );
EXCHG( Track->m_Start, Track->m_End ); EXCHG( Track->m_Start, Track->m_End );
EXCHG( Track->start, Track->end ); EXCHG( Track->start, Track->end );
@ -1543,7 +1543,7 @@ void TRACK::Show( int nestLevel, std::ostream& os ) const
" layer=\"" << m_Layer << '"' << " layer=\"" << m_Layer << '"' <<
" width=\"" << m_Width << '"' << " width=\"" << m_Width << '"' <<
" flags=\"" << m_Flags << '"' << " flags=\"" << m_Flags << '"' <<
" status=\"" << GetState( -1 ) << '"' << " status=\"" << GetStatus( ) << '"' <<
// " drill=\"" << GetDrillValue() << '"' << // " drill=\"" << GetDrillValue() << '"' <<
" netcode=\"" << GetNet() << "\">" << " netcode=\"" << GetNet() << "\">" <<

View File

@ -229,7 +229,7 @@ public:
* (dist = min_dist) both ends, or 0 if none of the above. * (dist = min_dist) both ends, or 0 if none of the above.
* if min_dist < 0: min_dist = track_width/2 * if min_dist < 0: min_dist = track_width/2
*/ */
int IsPointOnEnds( const wxPoint& point, int min_dist = 0 ); STATUS_FLAGS IsPointOnEnds( const wxPoint& point, int min_dist = 0 );
/** /**
* Function IsNull * Function IsNull

View File

@ -139,7 +139,7 @@ void DIALOG_GLOBAL_DELETION::AcceptPcbDelete( )
if( m_DelTracks->GetValue() ) if( m_DelTracks->GetValue() )
{ {
int track_mask_filter = 0; STATUS_FLAGS track_mask_filter = 0;
if( !m_TrackFilterLocked->GetValue() ) if( !m_TrackFilterLocked->GetValue() )
track_mask_filter |= TRACK_LOCKED; track_mask_filter |= TRACK_LOCKED;

View File

@ -350,7 +350,7 @@ void Collect_TrackSegmentsToDrag( BOARD* aPcb, const wxPoint& aRefPos, int aLaye
if( track->IsDragging() ) if( track->IsDragging() )
continue; // already put in list continue; // already put in list
int flag = 0; STATUS_FLAGS flag = 0;
int maxdist = std::max( aMaxDist, track->GetWidth() / 2 ); int maxdist = std::max( aMaxDist, track->GetWidth() / 2 );
if( (track->GetFlags() & STARTPOINT) == 0 ) if( (track->GetFlags() & STARTPOINT) == 0 )

View File

@ -1990,11 +1990,14 @@ void LEGACY_PLUGIN::loadTrackList( int aStructType )
int makeType; int makeType;
time_t timeStamp; time_t timeStamp;
int layer, type, flags, net_code; int layer, type, net_code, flags_int;
// parse the 2nd line to determine the type of object // parse the 2nd line to determine the type of object
// e.g. "De 15 1 7 0 0" for a via // e.g. "De 15 1 7 0 0" for a via
sscanf( line + SZ( "De" ), " %d %d %d %lX %X", &layer, &type, &net_code, &timeStamp, &flags ); sscanf( line + SZ( "De" ), " %d %d %d %lX %X", &layer, &type, &net_code,
&timeStamp, &flags_int );
STATUS_FLAGS flags;
flags = static_cast<STATUS_FLAGS>( flags_int );
if( aStructType==PCB_TRACE_T && type==1 ) if( aStructType==PCB_TRACE_T && type==1 )
makeType = PCB_VIA_T; makeType = PCB_VIA_T;

View File

@ -253,7 +253,7 @@ bool FOOTPRINT_EDIT_FRAME::OnRightClick( const wxPoint& MousePos, wxMenu* PopMen
if( item ) if( item )
{ {
int flags = item->GetFlags(); STATUS_FLAGS flags = item->GetFlags();
switch( item->Type() ) switch( item->Type() )
{ {
case PCB_MODULE_T: case PCB_MODULE_T:

View File

@ -637,7 +637,7 @@ void PCB_EDIT_FRAME::StartMoveOneNodeOrSegment( TRACK* aTrack, wxDC* aDC, int aC
} }
else else
{ {
int diag = aTrack->IsPointOnEnds( GetScreen()->GetCrossHairPosition(), -1 ); STATUS_FLAGS diag = aTrack->IsPointOnEnds( GetScreen()->GetCrossHairPosition(), -1 );
wxPoint pos; wxPoint pos;
switch( aCommand ) switch( aCommand )
@ -766,7 +766,7 @@ void PCB_EDIT_FRAME::Start_DragTrackSegmentAndKeepSlope( TRACK* track, wxDC* DC
if( TrackToStartPoint ) if( TrackToStartPoint )
{ {
int flag = STARTPOINT; STATUS_FLAGS flag = STARTPOINT;
if( track->GetStart() != TrackToStartPoint->GetStart() ) if( track->GetStart() != TrackToStartPoint->GetStart() )
flag = ENDPOINT; flag = ENDPOINT;
@ -777,7 +777,7 @@ void PCB_EDIT_FRAME::Start_DragTrackSegmentAndKeepSlope( TRACK* track, wxDC* DC
if( TrackToEndPoint ) if( TrackToEndPoint )
{ {
int flag = STARTPOINT; STATUS_FLAGS flag = STARTPOINT;
if( track->GetEnd() != TrackToEndPoint->GetStart() ) if( track->GetEnd() != TrackToEndPoint->GetStart() )
flag = ENDPOINT; flag = ENDPOINT;

View File

@ -53,7 +53,7 @@ static wxMenu* Append_Track_Width_List( BOARD* aBoard );
bool PCB_EDIT_FRAME::OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu ) bool PCB_EDIT_FRAME::OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu )
{ {
wxString msg; wxString msg;
int flags = 0; STATUS_FLAGS flags = 0;
bool locate_track = false; bool locate_track = false;
bool blockActive = !GetScreen()->m_BlockLocate.IsIdle(); bool blockActive = !GetScreen()->m_BlockLocate.IsIdle();

View File

@ -1282,7 +1282,7 @@ DRAWSEGMENT* PCB_PARSER::parseDRAWSEGMENT() throw( IO_ERROR, PARSE_ERROR )
break; break;
case T_status: case T_status:
segment->SetStatus( parseHex() ); segment->SetStatus( static_cast<STATUS_FLAGS>( parseHex() ) );
break; break;
default: default:
@ -1966,7 +1966,7 @@ EDGE_MODULE* PCB_PARSER::parseEDGE_MODULE() throw( IO_ERROR, PARSE_ERROR )
break; break;
case T_status: case T_status:
segment->SetStatus( parseHex() ); segment->SetStatus( static_cast<STATUS_FLAGS>( parseHex() ) );
break; break;
default: default:
@ -2263,7 +2263,7 @@ TRACK* PCB_PARSER::parseTRACK() throw( IO_ERROR, PARSE_ERROR )
break; break;
case T_status: case T_status:
track->SetStatus( parseHex() ); track->SetStatus( static_cast<STATUS_FLAGS>( parseHex() ) );
break; break;
default: default:
@ -2343,7 +2343,7 @@ SEGVIA* PCB_PARSER::parseSEGVIA() throw( IO_ERROR, PARSE_ERROR )
break; break;
case T_status: case T_status:
via->SetStatus( parseHex() ); via->SetStatus( static_cast<STATUS_FLAGS>( parseHex() ) );
NeedRIGHT(); NeedRIGHT();
break; break;

View File

@ -41,7 +41,8 @@
#include <protos.h> #include <protos.h>
static void ListSetState( EDA_ITEM* Start, int NbItem, int State, int onoff ); static void ListSetState( EDA_ITEM* Start, int NbItem, STATUS_FLAGS State,
bool onoff );
void DrawTraces( EDA_DRAW_PANEL* panel, wxDC* DC, TRACK* aTrackList, int nbsegment, void DrawTraces( EDA_DRAW_PANEL* panel, wxDC* DC, TRACK* aTrackList, int nbsegment,
@ -311,7 +312,8 @@ int PCB_EDIT_FRAME::EraseRedundantTrack( wxDC* aDC,
/* Set the bits of .m_State member to on/off value, using bit mask State /* Set the bits of .m_State member to on/off value, using bit mask State
* of a list of EDA_ITEM * of a list of EDA_ITEM
*/ */
static void ListSetState( EDA_ITEM* Start, int NbItem, int State, int onoff ) static void ListSetState( EDA_ITEM* Start, int NbItem, STATUS_FLAGS State,
bool onoff )
{ {
for( ; (Start != NULL ) && ( NbItem > 0 ); NbItem--, Start = Start->Next() ) for( ; (Start != NULL ) && ( NbItem > 0 ); NbItem--, Start = Start->Next() )
{ {