Commit f60c9823 authored by Wayne Stambaugh's avatar Wayne Stambaugh

Refactor PCBNew selection clarification menu icon code.

* Move clarification menu icon code from base board item object to the appropriate
  object.
* Remove left over French comments.
* Coding policy fixes.
parent 81ddf0bb
......@@ -11,13 +11,13 @@
/* Shapes for segments (graphic segments and tracks) ( .m_Shape member ) */
enum Track_Shapes {
S_SEGMENT = 0, /* usual segment : line with rounded ends */
S_RECT, /* segment with non rounded ends */
S_ARC, /* Arcs (with rounded ends)*/
S_CIRCLE, /* ring*/
S_POLYGON, /* polygonal shape (not yet used for tracks, but could be in microwave apps) */
S_CURVE, /* Bezier Curve*/
S_LAST /* last value for this list */
S_SEGMENT = 0, /* usual segment : line with rounded ends */
S_RECT, /* segment with non rounded ends */
S_ARC, /* Arcs (with rounded ends) */
S_CIRCLE, /* ring */
S_POLYGON, /* polygon (not yet used for tracks, but could be in microwave apps) */
S_CURVE, /* Bezier Curve */
S_LAST /* last value for this list */
};
......@@ -60,7 +60,7 @@ public:
/**
* A value of wxPoint(0,0) which can be passed to the Draw() functions.
*/
static wxPoint ZeroOffset;
static wxPoint ZeroOffset;
BOARD_ITEM* Next() const { return (BOARD_ITEM*) Pnext; }
BOARD_ITEM* Back() const { return (BOARD_ITEM*) Pback; }
......@@ -69,8 +69,7 @@ public:
/**
* Function GetPosition
* returns the position of this object.
* @return wxPoint& - The position of this object, non-const so it
* can be changed
* @return wxPoint& - The position of this object, non-const so it can be changed
*/
virtual wxPoint& GetPosition() = 0;
......@@ -85,9 +84,9 @@ public:
* sets the layer this item is on.
* @param aLayer The layer number.
* is virtual because some items (in fact: class DIMENSION)
* have a slightly different initialisation
* have a slightly different initialization
*/
virtual void SetLayer( int aLayer ) { m_Layer = aLayer; }
virtual void SetLayer( int aLayer ) { m_Layer = aLayer; }
/**
......@@ -117,9 +116,9 @@ public:
* form of testing.
* @return bool - true if a track or via, else false.
*/
bool IsTrack( ) const
bool IsTrack() const
{
return (Type() == TYPE_TRACK) || (Type() == TYPE_VIA);
return ( Type() == TYPE_TRACK ) || ( Type() == TYPE_VIA );
}
/**
......@@ -139,7 +138,6 @@ public:
*/
virtual void UnLink();
/**
* Function DeleteStructure
* deletes this object after UnLink()ing it from its owner.
......@@ -151,39 +149,29 @@ public:
}
/**
* Function MenuIcon
* @return const char** - The XPM to use in any UI control which can help
* identify this item.
* @todo: make this virtual and split into each derived class
*/
const char** MenuIcon() const;
/**
* Function ShowShape
* converts the enum Track_Shapes integer value to a wxString.
*/
static wxString ShowShape( Track_Shapes aShape );
/**
* Function Save
* writes the data structures for this object out to a FILE in "*.brd" format.
* @param aFile The FILE to write to.
* @return bool - true if success writing else false.
*/
virtual bool Save( FILE* aFile ) const = 0;
virtual bool Save( FILE* aFile ) const = 0;
// Some geometric transforms, that must be rewrittem for derived classes
// Some geometric transforms, that must be rewritten for derived classes
/**
* Function Move
* move this object.
* @param aMoveVector - the move vector for this object.
*/
virtual void Move(const wxPoint& aMoveVector)
virtual void Move( const wxPoint& aMoveVector )
{
wxMessageBox(wxT("virtual BOARD_ITEM::Move used, should not occur"), GetClass());
wxMessageBox( wxT( "virtual BOARD_ITEM::Move used, should not occur" ), GetClass() );
}
/**
......@@ -192,9 +180,9 @@ public:
* @param aRotCentre - the rotation point.
* @param aAngle - the rotation angle in 0.1 degree.
*/
virtual void Rotate(const wxPoint& aRotCentre, int aAngle)
virtual void Rotate( const wxPoint& aRotCentre, int aAngle )
{
wxMessageBox(wxT("virtual BOARD_ITEM::Rotate used, should not occur"), GetClass());
wxMessageBox( wxT( "virtual BOARD_ITEM::Rotate used, should not occur" ), GetClass() );
}
/**
......@@ -202,9 +190,9 @@ public:
* Flip this object, i.e. change the board side for this object
* @param aCentre - the rotation point.
*/
virtual void Flip(const wxPoint& aCentre )
virtual void Flip( const wxPoint& aCentre )
{
wxMessageBox(wxT("virtual BOARD_ITEM::Flip used, should not occur"), GetClass());
wxMessageBox( wxT( "virtual BOARD_ITEM::Flip used, should not occur" ), GetClass() );
}
......@@ -236,14 +224,14 @@ class NETCLASS;
class BOARD_CONNECTED_ITEM : public BOARD_ITEM
{
protected:
int m_NetCode; // Net number
int m_NetCode; // Net number
int m_Subnet; /* In rastnest routines : for the current net,
* block number (number common to the current connected items found)
*/
int m_Subnet; /* In rastnest routines : for the current net, block number
* (number common to the current connected items found)
*/
int m_ZoneSubnet; // variable used in rastnest computations : for the current net,
// handle block number in zone connection
int m_ZoneSubnet; // variable used in rastnest computations : for the current net,
// handle block number in zone connection
public:
BOARD_CONNECTED_ITEM( BOARD_ITEM* aParent, KICAD_T idtype );
......@@ -270,7 +258,6 @@ public:
int GetZoneSubNet() const;
void SetZoneSubNet( int aSubNetCode );
/**
* Function GetClearance
* returns the clearance in 1/10000 inches. If \a aItem is not NULL then the
......@@ -292,14 +279,14 @@ public:
* Function GetNetClassName
* @return the Net Class name of this item
*/
wxString GetNetClassName( ) const;
wxString GetNetClassName() const;
};
/*
* class BOARD_ITEM_LIST
* Handles a collection of BOARD_ITEM elements
*/
*/
class BOARD_ITEM_LIST : public BOARD_ITEM
{
typedef boost::ptr_vector<BOARD_ITEM> ITEM_ARRAY;
......@@ -358,29 +345,29 @@ public:
return myItems.size();
}
void Append( BOARD_ITEM* aItem )
void Append( BOARD_ITEM* aItem )
{
myItems.push_back( aItem );
}
BOARD_ITEM* Replace( int aIndex, BOARD_ITEM* aItem )
BOARD_ITEM* Replace( int aIndex, BOARD_ITEM* aItem )
{
ITEM_ARRAY::auto_type ret = myItems.replace( aIndex, aItem );
return ret.release();
}
BOARD_ITEM* Remove( int aIndex )
BOARD_ITEM* Remove( int aIndex )
{
ITEM_ARRAY::auto_type ret = myItems.release( myItems.begin()+aIndex );
return ret.release();
}
void Insert( int aIndex, BOARD_ITEM* aItem )
void Insert( int aIndex, BOARD_ITEM* aItem )
{
myItems.insert( myItems.begin()+aIndex, aItem );
}
BOARD_ITEM* At( int aIndex ) const
BOARD_ITEM* At( int aIndex ) const
{
// we have varying sized objects and are using polymorphism, so we
// must return a pointer not a reference.
......@@ -392,7 +379,7 @@ public:
return At( aIndex );
}
void Delete( int aIndex )
void Delete( int aIndex )
{
myItems.erase( myItems.begin()+aIndex );
}
......@@ -406,10 +393,10 @@ public:
{
if( GetCount() )
return Remove( GetCount()-1 );
return NULL;
}
};
#endif /* BOARD_ITEM_STRUCT_H */
......@@ -3,16 +3,9 @@
/******************************************/
#include "fctsys.h"
#include "gr_basic.h"
#include "common.h"
#include "pcbnew.h"
#include "pcbnew_id.h"
#include "collectors.h"
#include "bitmaps.h"
wxString BOARD_ITEM::ShowShape( Track_Shapes aShape )
{
......@@ -23,85 +16,17 @@ wxString BOARD_ITEM::ShowShape( Track_Shapes aShape )
case S_ARC: return _( "Arc" );
case S_CIRCLE: return _( "Circle" );
case S_CURVE: return _( "Bezier Curve" );
case S_POLYGON: return wxT( "polygon" );
case S_POLYGON: return _( "Polygon" );
default: return wxT( "??" );
}
}
/** return a specific icon pointer (an xpm icon) for "this". Used in pop up menus
* @return an icon pointer (can be NULL)
*/
const char** BOARD_ITEM::MenuIcon() const
{
const char** xpm;
const BOARD_ITEM* item = this;
switch( item->Type() )
{
case TYPE_MODULE:
xpm = module_xpm;
break;
case TYPE_PAD:
xpm = pad_xpm;
break;
case TYPE_DRAWSEGMENT:
xpm = add_dashed_line_xpm;
break;
case TYPE_TEXTE:
xpm = add_text_xpm;
break;
case TYPE_TEXTE_MODULE:
xpm = footprint_text_xpm;
break;
case TYPE_EDGE_MODULE:
xpm = show_mod_edge_xpm;
break;
case TYPE_TRACK:
xpm = showtrack_xpm;
break;
case TYPE_ZONE_CONTAINER:
case TYPE_ZONE:
xpm = add_zone_xpm;
break;
case TYPE_VIA:
xpm = via_sketch_xpm;
break;
case TYPE_MARKER_PCB:
xpm = pad_xpm; // @todo: create and use marker xpm
break;
case TYPE_DIMENSION:
xpm = add_dimension_xpm;
break;
case TYPE_MIRE:
xpm = add_mires_xpm;
break;
default:
xpm = 0;
break;
}
return (const char**) xpm;
}
void BOARD_ITEM::UnLink()
{
DLIST<BOARD_ITEM>* list = (DLIST<BOARD_ITEM>*) GetList();
wxASSERT( list );
if( list )
list->Remove( this );
}
......
/*****************************/
/******************************/
/* DIMENSION class definition */
/*****************************/
/******************************/
#ifndef DIMENSION_H
#define DIMENSION_H
#include "base_struct.h"
#include "richio.h"
class DIMENSION : public BOARD_ITEM
{
public:
......@@ -39,16 +41,16 @@ public:
* sets the layer this item is on.
* @param aLayer The layer number.
*/
void SetLayer( int aLayer );
void SetLayer( int aLayer );
/**
* Function AdjustDimensionDetails
* Calculate coordinates of segments used to draw the dimension.
* @param aDoNotChangeText (bool) if false, the dimension text is initialized
*/
void AdjustDimensionDetails( bool aDoNotChangeText = false);
void AdjustDimensionDetails( bool aDoNotChangeText = false );
bool ReadDimensionDescr( LINE_READER* aReader );
bool ReadDimensionDescr( LINE_READER* aReader );
/**
* Function Save
......@@ -58,19 +60,19 @@ public:
*/
bool Save( FILE* aFile ) const;
void SetText( const wxString& NewText );
void SetText( const wxString& NewText );
wxString GetText( void ) const;
void Copy( DIMENSION* source );
void Copy( DIMENSION* source );
void Draw( EDA_DRAW_PANEL* panel, wxDC* DC,
int aColorMode, const wxPoint& offset = ZeroOffset );
void Draw( EDA_DRAW_PANEL* panel, wxDC* DC,
int aColorMode, const wxPoint& offset = ZeroOffset );
/**
* Function Move
* @param offset : moving vector
*/
void Move(const wxPoint& offset);
void Move(const wxPoint& offset);
/**
* Function Rotate
......@@ -78,14 +80,14 @@ public:
* @param aRotCentre - the rotation point.
* @param aAngle - the rotation angle in 0.1 degree.
*/
virtual void Rotate(const wxPoint& aRotCentre, int aAngle);
virtual void Rotate( const wxPoint& aRotCentre, int aAngle );
/**
* Function Flip
* Flip this object, i.e. change the board side for this object
* @param aCentre - the rotation point.
*/
virtual void Flip(const wxPoint& aCentre );
virtual void Flip( const wxPoint& aCentre );
/**
* Function Mirror
......@@ -94,7 +96,7 @@ public:
* the layer is not changed
* @param axis_pos : vertical axis position
*/
void Mirror(const wxPoint& axis_pos);
void Mirror( const wxPoint& axis_pos );
/**
* Function DisplayInfo
......@@ -103,7 +105,7 @@ public:
* Is virtual from EDA_ITEM.
* @param frame A EDA_DRAW_FRAME in which to print status information.
*/
void DisplayInfo( EDA_DRAW_FRAME* frame );
void DisplayInfo( EDA_DRAW_FRAME* frame );
/**
* Function HitTest
......@@ -111,7 +113,7 @@ public:
* @param ref_pos A wxPoint to test
* @return bool - true if a hit, else false
*/
bool HitTest( const wxPoint& ref_pos );
bool HitTest( const wxPoint& ref_pos );
/**
* Function HitTest (overlaid)
......@@ -120,7 +122,7 @@ public:
* @param refArea : the given EDA_RECT
* @return bool - true if a hit, else false
*/
bool HitTest( EDA_RECT& refArea );
bool HitTest( EDA_RECT& refArea );
/**
......@@ -136,6 +138,8 @@ public:
EDA_RECT GetBoundingBox() const;
virtual wxString GetSelectMenuText() const;
virtual const char** GetMenuImage() const { return (const char**) add_dimension_xpm; }
};
#endif // #define DIMENSION_H
......@@ -4,9 +4,11 @@
#ifndef CLASS_DRAWSEGMENT_H
#define CLASS_DRAWSEGMENT_H
#include "PolyLine.h"
#include "richio.h"
class DRAWSEGMENT : public BOARD_ITEM
{
public:
......@@ -60,7 +62,7 @@ public:
int GetRadius() const
{
double radius = hypot( (double) (m_End.x - m_Start.x), (double) (m_End.y - m_Start.y) );
return wxRound(radius);
return wxRound( radius );
}
/**
......@@ -166,7 +168,7 @@ public:
* @param aClearanceValue = the clearance around the pad
* @param aCircleToSegmentsCount = the number of segments to approximate a circle
* @param aCorrectionFactor = the correction to apply to circles radius to keep
* clearance when the circle is approxiamted by segment bigger or equal
* clearance when the circle is approximated by segment bigger or equal
* to the real clearance value (usually near from 1.0)
*/
void TransformShapeWithClearanceToPolygon( std::vector <CPolyPt>& aCornerBuffer,
......@@ -176,6 +178,8 @@ public:
virtual wxString GetSelectMenuText() const;
virtual const char** GetMenuImage() const { return (const char**) add_dashed_line_xpm; }
#if defined(DEBUG)
void Show( int nestLevel, std::ostream& os );
......
......@@ -2,6 +2,9 @@
/* class_edge_module.h : EDGE_MODULE class definition. */
/*******************************************************/
#ifndef CLASS_DRAWSEGMENT_H
#define _CLASS_EDGE_MOD_H_
#include "richio.h"
class Pcb3D_GLCanvas;
......@@ -64,7 +67,7 @@ public:
int GetRadius() const
{
double radius = hypot( (double) (m_End.x - m_Start.x), (double) (m_End.y - m_Start.y) );
return wxRound(radius);
return wxRound( radius );
}
void Copy( EDGE_MODULE* source ); // copy structure
......@@ -155,6 +158,8 @@ public:
virtual wxString GetSelectMenuText() const;
virtual const char** GetMenuImage() const { return (const char**) show_mod_edge_xpm; }
#if defined(DEBUG)
/**
......@@ -168,3 +173,5 @@ public:
#endif
};
#endif // _CLASS_EDGE_MOD_H_
......@@ -25,8 +25,8 @@ public:
* @param bPos The position of the second of two objects
*/
MARKER_PCB( int aErrorCode, const wxPoint& aMarkerPos,
const wxString& aText, const wxPoint& aPos,
const wxString& bText, const wxPoint& bPos );
const wxString& aText, const wxPoint& aPos,
const wxString& bText, const wxPoint& bPos );
/**
* Constructor
......@@ -36,7 +36,7 @@ public:
* @param aPos The position of the object
*/
MARKER_PCB( int aErrorCode, const wxPoint& aMarkerPos,
const wxString& aText, const wxPoint& aPos );
const wxString& aText, const wxPoint& aPos );
~MARKER_PCB();
......@@ -56,14 +56,14 @@ public:
* @param aRotCentre - the rotation point.
* @param aAngle - the rotation angle in 0.1 degree.
*/
virtual void Rotate(const wxPoint& aRotCentre, int aAngle);
virtual void Rotate( const wxPoint& aRotCentre, int aAngle );
/**
* Function Flip
* Flip this object, i.e. change the board side for this object
* @param aCentre - the rotation point.
*/
virtual void Flip(const wxPoint& aCentre );
virtual void Flip( const wxPoint& aCentre );
/**
* Function Draw
......@@ -116,6 +116,8 @@ public:
}
virtual wxString GetSelectMenuText() const;
virtual const char** GetMenuImage() const { return (const char**) drc_xpm; }
};
......
/****************************************************/
/* MIREPCB class definition. (targets for photos) */
/****************************************************/
#ifndef MIRE_H
#define MIRE_H
......@@ -34,7 +35,7 @@ public:
* move this object.
* @param aMoveVector - the move vector for this object.
*/
virtual void Move(const wxPoint& aMoveVector)
virtual void Move( const wxPoint& aMoveVector )
{
m_Pos += aMoveVector;
}
......@@ -45,14 +46,14 @@ public:
* @param aRotCentre - the rotation point.
* @param aAngle - the rotation angle in 0.1 degree.
*/
virtual void Rotate(const wxPoint& aRotCentre, int aAngle);
virtual void Rotate( const wxPoint& aRotCentre, int aAngle );
/**
* Function Flip
* Flip this object, i.e. change the board side for this object
* @param aCentre - the rotation point.
*/
virtual void Flip(const wxPoint& aCentre );
virtual void Flip( const wxPoint& aCentre );
/**
* Function Save
......@@ -90,6 +91,8 @@ public:
EDA_RECT GetBoundingBox() const;
virtual wxString GetSelectMenuText() const;
virtual const char** GetMenuImage() const { return (const char**) add_mires_xpm; }
};
......
......@@ -3,11 +3,16 @@
/*******************************************************/
#ifndef _MODULE_H_
#define _MODULE_H_
class Pcb3D_GLCanvas;
class S3D_MASTER;
#include "richio.h"
/************************************/
/* Modules (footprints) description */
/* pad are in class_pad.xx */
......@@ -330,6 +335,8 @@ public:
virtual wxString GetSelectMenuText() const;
virtual const char** GetMenuImage() const { return (const char**) module_xpm; }
#if defined(DEBUG)
/**
......@@ -343,3 +350,6 @@ public:
#endif
};
#endif // _MODULE_H_
......@@ -2,6 +2,10 @@
/* class_pad.h : Pads description */
/**********************************/
#ifndef _PAD_H_
#define _PAD_H_
class Pcb3D_GLCanvas;
#include "pad_shapes.h"
......@@ -13,8 +17,8 @@ class Pcb3D_GLCanvas;
*/
// PAD_STANDARD:
#define PAD_STANDARD_DEFAULT_LAYERS ALL_CU_LAYERS | SILKSCREEN_LAYER_FRONT | SOLDERMASK_LAYER_BACK | \
SOLDERMASK_LAYER_FRONT
#define PAD_STANDARD_DEFAULT_LAYERS ALL_CU_LAYERS | SILKSCREEN_LAYER_FRONT | \
SOLDERMASK_LAYER_BACK | SOLDERMASK_LAYER_FRONT
// PAD_CONN:
#define PAD_CONN_DEFAULT_LAYERS LAYER_FRONT | SOLDERPASTE_LAYER_FRONT | SOLDERMASK_LAYER_FRONT
......@@ -26,13 +30,15 @@ class Pcb3D_GLCanvas;
#define PAD_HOLE_NOT_PLATED_DEFAULT_LAYERS LAYER_BACK | SILKSCREEN_LAYER_FRONT | \
SOLDERMASK_LAYER_BACK | SOLDERMASK_LAYER_FRONT
// Helper class to store parameters used to draw a pad
class PAD_DRAWINFO
{
public:
EDA_DRAW_PANEL * m_DrawPanel; // the EDA_DRAW_PANEL used to draw a PAD ; can be null
int m_DrawMode; // the draw mode
int m_Color; // color used to draw the pad shape , from pad layers and visible layers
int m_Color; // color used to draw the pad shape , from pad layers and
// visible layers
int m_HoleColor; // color used to draw the pad hole
int m_PadClearance; // clearance value, used to draw the pad area outlines
wxSize m_Mask_margin; // margin, used to draw solder paste when only one layer is shown
......@@ -60,8 +66,8 @@ public:
union
{
unsigned long m_NumPadName;
char m_Padname[4]; /* Pad name (4 char) or a long identifier
* (used in pad name comparisons because this is faster than string comparison)
char m_Padname[4]; /* Pad name (4 char) or a long identifier (used in pad name
* comparisons because this is faster than string comparison)
*/
};
......@@ -72,8 +78,9 @@ public:
int m_PadShape; // Shape: PAD_CIRCLE, PAD_RECT, PAD_OVAL, PAD_TRAPEZOID
int m_DrillShape; // Shape PAD_CIRCLE, PAD_OVAL
wxSize m_Drill; // Drill diam (drill shape = PAD_CIRCLE) or drill size(shape = OVAL)
// for drill shape = PAD_CIRCLE, drill diam = m_Drill.x
wxSize m_Drill; // Drill diam (drill shape = PAD_CIRCLE) or drill size
// (shape = OVAL) for drill shape = PAD_CIRCLE, drill
// diam = m_Drill.x
wxSize m_Offset; /* This parameter is useful only for oblong pads (it can be used for other
* shapes, but without any interest).
......@@ -92,7 +99,8 @@ public:
wxSize m_DeltaSize; // delta on rectangular shapes
wxPoint m_Pos0; // Initial Pad position (i.e. pas position relative to the module anchor, orientation 0
wxPoint m_Pos0; // Initial Pad position (i.e. pas position relative to the
// module anchor, orientation 0
int m_ShapeMaxRadius; // radius of the circle containing the pad shape
int m_Attribut; // NORMAL, PAD_SMD, PAD_CONN
......@@ -109,9 +117,9 @@ public:
int m_LocalClearance;
// Local mask margins: when NULL, the parent footprint design values are used
int m_LocalSolderMaskMargin; // Local solder mask margin
int m_LocalSolderPasteMargin; // Local solder paste margin absolute value
double m_LocalSolderPasteMarginRatio; // Local solder mask margin ratio value of pad size
int m_LocalSolderMaskMargin; // Local solder mask margin
int m_LocalSolderPasteMargin; // Local solder paste margin absolute value
double m_LocalSolderPasteMarginRatio; // Local solder mask margin ratio value of pad size
// The final margin is the sum of these 2 values
private:
......@@ -181,7 +189,9 @@ public:
* to the real clearance value (usually near from 1.0)
*/
void TransformShapeWithClearanceToPolygon( std::vector <CPolyPt>& aCornerBuffer,
int aClearanceValue, int aCircleToSegmentsCount, double aCorrectionFactor );
int aClearanceValue,
int aCircleToSegmentsCount,
double aCorrectionFactor );
/**
* Function GetClearance
......@@ -256,7 +266,8 @@ public:
* Build the Corner list of the polygonal shape,
* depending on shape, extra size (clearance ...) and orientation
* @param aCoord = a buffer to fill (4 corners).
* @param aInflateValue = wxSize: the clearance or margin value. value > 0: inflate, < 0 deflate
* @param aInflateValue = wxSize: the clearance or margin value. value > 0:
* inflate, < 0 deflate
* @param aRotation = full rotation of the polygon
*/
void BuildPadPolygon( wxPoint aCoord[4], wxSize aInflateValue, int aRotation ) const;
......@@ -267,12 +278,13 @@ public:
* Build an equivalent segment having the same shape as the OVAL shape,
* Useful in draw function and in DRC and HitTest functions,
* because segments are already well handled by track tests
* @param aSegStart = the starting point of the equivalent segment, relative to the shape position.
* @param aSegStart = the starting point of the equivalent segment relative to the shape
* position.
* @param aSegEnd = the ending point of the equivalent segment, relative to the shape position
* @param aRotation = full rotation of the segment
* @return the width of the segment
*/
int BuildSegmentFromOvalShape(wxPoint& aSegStart, wxPoint& aSegEnd, int aRotation) const;
int BuildSegmentFromOvalShape( wxPoint& aSegStart, wxPoint& aSegEnd, int aRotation ) const;
// others
void SetPadName( const wxString& name ); // Change pad name
......@@ -284,7 +296,6 @@ public:
const wxPoint ReturnShapePos();
/**
* Function GetNet
* @return int - the netcode
......@@ -302,7 +313,6 @@ public:
*/
void DisplayInfo( EDA_DRAW_FRAME* frame );
/**
* Function IsOnLayer
* tests to see if this object is on the given layer. Is virtual so
......@@ -313,7 +323,6 @@ public:
*/
bool IsOnLayer( int aLayer ) const;
/**
* Function HitTest
* tests if the given wxPoint is within the bounds of this object.
......@@ -359,6 +368,8 @@ public:
virtual wxString GetSelectMenuText() const;
virtual const char** GetMenuImage() const { return (const char**) pad_xpm; }
/**
* Function ShowPadShape
* @return the name of the shape
......@@ -386,3 +397,10 @@ public:
};
typedef class D_PAD* LISTE_PAD;
/* LocalWords: eeschema vout
*/
#endif // _PAD_H_
/********************************/
/* TEXTE_PCB class definition. */
/********************************/
#ifndef CLASS_PCB_TEXT_H
#define CLASS_PCB_TEXT_H
......@@ -8,6 +9,7 @@
#include "PolyLine.h"
#include "richio.h"
class TEXTE_PCB : public BOARD_ITEM, public EDA_TEXT
{
public:
......@@ -19,7 +21,7 @@ public:
* Function GetPosition
* returns the position of this object.
* @return wxPoint& - The position of this object, non-const so it
* can be changed
* can be changed
*/
wxPoint& GetPosition()
{
......@@ -31,7 +33,7 @@ public:
* move this object.
* @param aMoveVector - the move vector for this object.
*/
virtual void Move(const wxPoint& aMoveVector)
virtual void Move( const wxPoint& aMoveVector )
{
m_Pos += aMoveVector;
}
......@@ -42,14 +44,14 @@ public:
* @param aRotCentre - the rotation point.
* @param aAngle - the rotation angle in 0.1 degree.
*/
virtual void Rotate(const wxPoint& aRotCentre, int aAngle);
virtual void Rotate( const wxPoint& aRotCentre, int aAngle );
/**
* Function Flip
* Flip this object, i.e. change the board side for this object
* @param aCentre - the rotation point.
*/
virtual void Flip(const wxPoint& aCentre );
virtual void Flip( const wxPoint& aCentre );
/* duplicate structure */
void Copy( TEXTE_PCB* source );
......@@ -131,6 +133,8 @@ public:
virtual wxString GetSelectMenuText() const;
virtual const char** GetMenuImage() const { return (const char**) add_text_xpm; }
#if defined(DEBUG)
/**
* Function Show
......
......@@ -14,6 +14,7 @@
#define UMBILICAL_COLOR LIGHTBLUE
class TEXTE_MODULE : public BOARD_ITEM, public EDA_TEXT
{
/* Note: orientation in 1/10 deg relative to the footprint
......@@ -21,7 +22,7 @@ class TEXTE_MODULE : public BOARD_ITEM, public EDA_TEXT
*/
public:
wxPoint m_Pos0; // text coordinates relatives to the footprint
// ancre, orient 0
// anchor, orient 0
// Text coordinate ref point is the text centre
char m_Type; // 0: ref,1: val, others = 2..255
bool m_NoShow; // true = invisible
......@@ -46,8 +47,6 @@ public: TEXTE_MODULE( MODULE* parent, int text_type = TEXT_is_DIVERS );
void Copy( TEXTE_MODULE* source ); // copy structure
/* Gestion du texte */
int GetLength() const; /* text length */
int GetDrawRotation() const; // Return text rotation for drawings and plotting
......@@ -161,6 +160,8 @@ public: TEXTE_MODULE( MODULE* parent, int text_type = TEXT_is_DIVERS );
virtual wxString GetSelectMenuText() const;
virtual const char** GetMenuImage() const { return (const char**) footprint_text_xpm; }
#if defined(DEBUG)
/**
......
......@@ -12,7 +12,8 @@
// Via attributes (m_Shape parameter)
#define VIA_THROUGH 3 /* Always a through hole via */
#define VIA_BLIND_BURIED 2 /* this via can be on internal layers */
#define VIA_MICROVIA 1 /* this via which connect from an external layer to the near neighbor internal layer */
#define VIA_MICROVIA 1 /* this via which connect from an external layer
* to the near neighbor internal layer */
#define VIA_NOT_DEFINED 0 /* not yet used */
/***/
......@@ -65,7 +66,7 @@ public:
* move this object.
* @param aMoveVector - the move vector for this object.
*/
virtual void Move(const wxPoint& aMoveVector)
virtual void Move( const wxPoint& aMoveVector )
{
m_Start += aMoveVector;
m_End += aMoveVector;
......@@ -77,14 +78,14 @@ public:
* @param aRotCentre - the rotation point.
* @param aAngle - the rotation angle in 0.1 degree.
*/
virtual void Rotate(const wxPoint& aRotCentre, int aAngle);
virtual void Rotate( const wxPoint& aRotCentre, int aAngle );
/**
* Function Flip
* Flip this object, i.e. change the board side for this object
* @param aCentre - the rotation point.
*/
virtual void Flip(const wxPoint& aCentre );
virtual void Flip( const wxPoint& aCentre );
/**
* Function GetPosition
......@@ -168,19 +169,19 @@ public:
* Set the drill value for vias
* @param drill_value = new drill value
*/
void SetDrillValue(int drill_value) { m_Drill = drill_value; }
void SetDrillValue( int drill_value ) { m_Drill = drill_value; }
/**
* Function SetDrillDefault
* Set the drill value for vias at default value (-1)
*/
void SetDrillDefault(void) { m_Drill = -1; }
void SetDrillDefault( void ) { m_Drill = -1; }
/**
* Function IsDrillDefault
* @return true if the drill value is default value (-1)
*/
bool IsDrillDefault(void) { return m_Drill <= 0; }
bool IsDrillDefault( void ) { return m_Drill <= 0; }
/**
* Function GetDrillValue
......@@ -287,6 +288,8 @@ public:
virtual wxString GetSelectMenuText() const;
virtual const char** GetMenuImage() const { return (const char**) showtrack_xpm; }
#if defined (DEBUG)
/**
......@@ -330,6 +333,7 @@ public:
virtual wxString GetSelectMenuText() const;
virtual const char** GetMenuImage() const { return (const char**) add_zone_xpm; }
};
......@@ -386,6 +390,8 @@ public:
virtual wxString GetSelectMenuText() const;
virtual const char** GetMenuImage() const { return (const char**) via_sketch_xpm; }
#if defined (DEBUG)
/**
......
......@@ -11,6 +11,7 @@
#include "richio.h"
#include "class_zone_setting.h"
/* a small class used when filling areas with segments */
class SEGMENT
{
......@@ -26,6 +27,7 @@ public:
}
};
/************************/
/* class ZONE_CONTAINER */
/************************/
......@@ -427,6 +429,7 @@ public:
virtual wxString GetSelectMenuText() const;
virtual const char** GetMenuImage() const { return (const char**) add_zone_xpm; }
};
......
/********************************************************/
/* Routines generales de gestion des commandes usuelles */
/********************************************************/
/****************/
/* controle.cpp */
/****************/
#include "fctsys.h"
#include "common.h"
......@@ -14,7 +12,7 @@
#include "collectors.h"
//external funtions used here:
//external functions used here:
extern bool Magnetize( BOARD* m_Pcb, PCB_EDIT_FRAME* frame,
int aCurrentTool, wxSize grid, wxPoint on_grid, wxPoint* curpos );
......@@ -165,7 +163,7 @@ BOARD_ITEM* PCB_BASE_FRAME::PcbGeneralLocateAndDisplay( int aHotKeyCode )
item = (*m_Collector)[0];
SetCurItem( item );
}
// if all are modules, find the smallest one amoung the primary choices
// if all are modules, find the smallest one among the primary choices
else if( ( item = AllAreModulesAndReturnSmallestIfSo( m_Collector ) ) != NULL )
{
SetCurItem( item );
......@@ -198,7 +196,7 @@ BOARD_ITEM* PCB_BASE_FRAME::PcbGeneralLocateAndDisplay( int aHotKeyCode )
item = (*m_Collector)[i];
text = item->GetSelectMenuText();
xpm = item->MenuIcon();
xpm = item->GetMenuImage();
ADD_MENUITEM( &itemMenu, ID_POPUP_PCB_ITEM_SELECTION_START + i, text, xpm );
}
......@@ -270,25 +268,25 @@ void PCB_EDIT_FRAME::GeneralControl( wxDC* aDC, const wxPoint& aPosition, int aH
switch( aHotKey )
{
case WXK_NUMPAD8: /* Deplacement curseur vers le haut */
case WXK_NUMPAD8:
case WXK_UP:
pos.y -= wxRound( gridSize.y );
DrawPanel->MoveCursor( pos );
break;
case WXK_NUMPAD2: /* Deplacement curseur vers le bas */
case WXK_NUMPAD2:
case WXK_DOWN:
pos.y += wxRound( gridSize.y );
DrawPanel->MoveCursor( pos );
break;
case WXK_NUMPAD4: /* Deplacement curseur vers la gauche */
case WXK_NUMPAD4:
case WXK_LEFT:
pos.x -= wxRound( gridSize.x );
DrawPanel->MoveCursor( pos );
break;
case WXK_NUMPAD6: /* Deplacement curseur vers la droite */
case WXK_NUMPAD6:
case WXK_RIGHT:
pos.x += wxRound( gridSize.x );
DrawPanel->MoveCursor( pos );
......
......@@ -100,7 +100,7 @@ BOARD_ITEM* WinEDA_ModuleEditFrame::ModeditLocateAndDisplay( int aHotKeyCode )
item = (*m_Collector)[ii];
text = item->GetSelectMenuText();
xpm = item->MenuIcon();
xpm = item->GetMenuImage();
ADD_MENUITEM( &itemMenu,
ID_POPUP_PCB_ITEM_SELECTION_START + ii,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment