cosmetic enhancement in pin edit dialog.

This commit is contained in:
charras 2010-03-04 09:32:51 +00:00
parent 8250964001
commit 83e8b961c7
50 changed files with 2302 additions and 1569 deletions

View File

@ -294,6 +294,28 @@ set(BITMAP_SRCS
Pin_Name_to.xpm
Pin_Number_to.xpm
Pin_Size_to.xpm
pinorient_right.xpm
pinorient_left.xpm
pinorient_up.xpm
pinorient_down.xpm
pinshape_normal.xpm
pinshape_invert.xpm
pinshape_clock_normal.xpm
pinshape_clock_invert.xpm
pinshape_active_low_input.xpm
pinshape_clock_active_low.xpm
pinshape_active_low_output.xpm
pintype_input.xpm
pintype_output.xpm
pintype_bidi.xpm
pintype_3states.xpm
pintype_passive.xpm
pintype_notspecif.xpm
pintype_powerinput.xpm
pintype_poweroutput.xpm
pintype_opencoll.xpm
pintype_openemit.xpm
pintype_noconnect.xpm
Pin_to.xpm
pin.xpm
plot_HPG.xpm

View File

@ -0,0 +1,24 @@
/* XPM */
const char *pinorient_down_xpm[] = {
/* columns rows colors chars-per-pixel */
"15 15 3 1",
" c none",
"X c #040204",
". c #C4C2C4",
/* pixels */
" ",
" XXX ",
" X...X ",
" X...X. ",
" X...X ",
" XXX ",
" X ",
" X ",
" X ",
" X. ",
" X ",
" X ",
" X ",
" X ",
"XXXXXXXXXXXXXXX"
};

View File

@ -0,0 +1,24 @@
/* XPM */
const char *pinorient_left_xpm[] = {
/* columns rows colors chars-per-pixel */
"15 15 3 1",
" c none",
"X c #040204",
". c #C4C2C4",
/* pixels */
" ",
" ",
"X ",
"X ",
"X ",
"X XXX ",
"X X...X ",
"XXXXXXXXXX...X ",
"X X...X ",
"X XXX ",
"X ",
"X ",
"X ",
" ",
" "
};

View File

@ -0,0 +1,24 @@
/* XPM */
const char *pinorient_right_xpm[] = {
/* columns rows colors chars-per-pixel */
"15 15 3 1",
" c none",
"X c #040204",
". c #C4C2C4",
/* pixels */
" ",
" ",
" X",
" X",
" X",
" XXX X",
" X...X X",
" X...XXXXXXXXXX",
" X...X X",
" XXX X",
" X",
" X",
" X",
" ",
" "
};

24
bitmaps/pinorient_up.xpm Normal file
View File

@ -0,0 +1,24 @@
/* XPM */
const char *pinorient_up_xpm[] = {
/* columns rows colors chars-per-pixel */
"15 15 3 1",
" c none",
"X c #040204",
". c #C4C2C4",
/* pixels */
"XXXXXXXXXXXXXXX",
" X ",
" X ",
" X ",
" X ",
" X ",
" X ",
" X. ",
" X ",
" XXX ",
" X...X ",
" X...X ",
" X...X ",
" XXX ",
" "
};

View File

@ -0,0 +1,23 @@
/* XPM */
const char *pinshape_active_low_input_xpm[] = {
/* columns rows colors chars-per-pixel */
"15 15 2 1",
". c Black",
" c #FFFFFF",
/* pixels */
" ",
" ",
" . ",
" . . ",
" . ... ",
" . .. . ",
" .. . ",
" .......... ",
" . ",
" . ",
" . ",
" . ",
" . ",
" ",
" "
};

View File

@ -0,0 +1,23 @@
/* XPM */
const char *pinshape_active_low_output_xpm[] = {
/* columns rows colors chars-per-pixel */
"15 15 2 1",
". c Black",
" c #FFFFFF",
/* pixels */
" ",
" ",
" . ",
" . ",
" ... ",
" . .. ",
" . .. ",
" .......... ",
" . ",
" . ",
" . ",
" . ",
" . ",
" ",
" "
};

View File

@ -0,0 +1,23 @@
/* XPM */
const char *pinshape_clock_active_low_xpm[] = {
/* columns rows colors chars-per-pixel */
"15 15 2 1",
". c Black",
" c #FFFFFF",
/* pixels */
" ",
" ",
" . ",
" . . ",
" . ... ",
" .. .. . ",
" . .. . ",
" . .......... ",
" . . ",
" .. ",
" . ",
" . ",
" . ",
" ",
" "
};

View File

@ -0,0 +1,23 @@
/* XPM */
const char *pinshape_clock_invert_xpm[] = {
/* columns rows colors chars-per-pixel */
"15 15 2 1",
". c Black",
" c #FFFFFF",
/* pixels */
" ",
" ",
" . ",
" . ",
" . ",
" .. ... ",
" . .. . ",
" . .. ..... ",
" . .. . ",
" .. ... ",
" . ",
" . ",
" . ",
" ",
" "
};

View File

@ -0,0 +1,23 @@
/* XPM */
const char *pinshape_clock_normal_xpm[] = {
/* columns rows colors chars-per-pixel */
"15 15 2 1",
". c Black",
" c #FFFFFF",
/* pixels */
" ",
" ",
" . ",
" . ",
" . ",
" .. ",
" . . ",
" . .......... ",
" . . ",
" .. ",
" . ",
" . ",
" . ",
" ",
" "
};

View File

@ -0,0 +1,23 @@
/* XPM */
const char *pinshape_invert_xpm[] = {
/* columns rows colors chars-per-pixel */
"15 15 2 1",
". c Black",
" c #FFFFFF",
/* pixels */
" ",
" ",
" . ",
" . ",
" . ",
" . ... ",
" .. . ",
" .. ..... ",
" .. . ",
" . ... ",
" . ",
" . ",
" . ",
" ",
" "
};

View File

@ -0,0 +1,23 @@
/* XPM */
const char *pinshape_normal_xpm[] = {
/* columns rows colors chars-per-pixel */
"15 15 2 1",
". c Black",
" c #FFFFFF",
/* pixels */
" ",
" ",
" . ",
" . ",
" . ",
" . ",
" . ",
" .......... ",
" . ",
" . ",
" . ",
" . ",
" . ",
" ",
" "
};

View File

@ -0,0 +1,24 @@
/* XPM */
const char *pintype_3states_xpm[] = {
/* columns rows colors chars-per-pixel */
"15 15 3 1",
" c none",
"X c #040204",
". c #C4C2C4",
/* pixels */
" ",
" ",
" ",
"X XXXXXXX X",
"X X X X",
"X X X X",
"X X X",
"XXXXXXXXXXXXXXX",
"X X",
"X X",
"X X",
"X X",
" ",
" ",
" "
};

24
bitmaps/pintype_bidi.xpm Normal file
View File

@ -0,0 +1,24 @@
/* XPM */
const char *pintype_bidi_xpm[] = {
/* columns rows colors chars-per-pixel */
"15 15 3 1",
" c none",
"X c #040204",
". c #C4C2C4",
/* pixels */
" ",
" ",
" ",
" ",
" XX XX ",
" XX. .XX ",
" XX.. ..XX ",
"XXXXXXXXXXXXXX ",
" XX.. ..XX ",
" XX. .XX ",
" XX XX ",
" ",
" ",
" ",
" "
};

24
bitmaps/pintype_input.xpm Normal file
View File

@ -0,0 +1,24 @@
/* XPM */
const char *pintype_input_xpm[] = {
/* columns rows colors chars-per-pixel */
"15 15 3 1",
" c none",
"X c #040204",
". c #C4C2C4",
/* pixels */
" ",
" ",
" X",
" X",
" XX X",
" .XX X",
" ..XX X",
"XXXXXXXXXXXXXXX",
" ..XX X",
" .XX X",
" XX X",
" X",
" X",
" ",
" "
};

View File

@ -0,0 +1,24 @@
/* XPM */
const char *pintype_noconnect_xpm[] = {
/* columns rows colors chars-per-pixel */
"15 15 3 1",
" c none",
"X c #040204",
". c #0402C4",
/* pixels */
" ",
" ",
" ",
" X",
". . X",
" . . X",
" . . X",
" .XXXXXXXXXXX",
" . . X",
" . . X",
". . X",
" X",
" ",
" ",
" "
};

View File

@ -0,0 +1,24 @@
/* XPM */
const char *pintype_notspecif_xpm[] = {
/* columns rows colors chars-per-pixel */
"15 15 3 1",
" c none",
"X c #040204",
". c #C4C2C4",
/* pixels */
" XXXX ",
" X X ",
" X X ",
" X ",
" X ",
" X ",
" X ",
"XXXXXXXXXXXXXXX",
" ",
" X ",
" X ",
" ",
" ",
" ",
" "
};

View File

@ -0,0 +1,24 @@
/* XPM */
const char *pintype_opencoll_xpm[] = {
/* columns rows colors chars-per-pixel */
"15 15 3 1",
" c none",
"X c #040204",
". c #040204",
/* pixels */
" ",
" ",
" XXXX ",
" X ",
" X ",
" X ",
" X ",
"XXXXXX ",
" X ",
" X ",
" XXXXX ",
" XXX ",
" X ",
" ..... ",
" . . . "
};

View File

@ -0,0 +1,24 @@
/* XPM */
const char *pintype_openemit_xpm[] = {
/* columns rows colors chars-per-pixel */
"15 15 3 1",
" c none",
"X c #040204",
". c #840204",
/* pixels */
" ...... ",
" . ",
" X ",
" X ",
" X ",
" X ",
" X ",
"XXXXXX ",
" X ",
" X ",
" XXXXX ",
" XXX ",
" X ",
" XXXX",
" "
};

View File

@ -0,0 +1,24 @@
/* XPM */
const char *pintype_output_xpm[] = {
/* columns rows colors chars-per-pixel */
"15 15 3 1",
" c none",
"X c #040204",
". c #C4C2C4",
/* pixels */
" ",
" ",
"X ",
"X ",
"X XX ",
"X .XX ",
"X ..XX ",
"XXXXXXXXXXXXXX ",
"X ..XX ",
"X .XX ",
"X XX ",
"X ",
"X ",
" ",
" "
};

View File

@ -0,0 +1,24 @@
/* XPM */
const char *pintype_passive_xpm[] = {
/* columns rows colors chars-per-pixel */
"15 15 3 1",
" c none",
"X c #040204",
". c #C4C2C4",
/* pixels */
" ",
" ",
" ",
"X X",
"X X",
"X X",
"X X",
"XXXXXXXXXXXXXXX",
"X X",
"X X",
"X X",
"X X",
" ",
" ",
" "
};

View File

@ -0,0 +1,24 @@
/* XPM */
const char *pintype_powerinput_xpm[] = {
/* columns rows colors chars-per-pixel */
"15 15 3 1",
" c none",
"X c #040204",
". c #C4C2C4",
/* pixels */
" ",
" ",
" X",
" X",
"XX XX X",
" XX .XX X",
" XXXXXXXXXXX X",
" XXXXXXXXXXXX",
" XXXXXXXXXXX X",
" XX .XX X",
"XX XX X",
" X",
" X",
" ",
" "
};

View File

@ -0,0 +1,24 @@
/* XPM */
const char *pintype_poweroutput_xpm[] = {
/* columns rows colors chars-per-pixel */
"15 15 3 1",
" c none",
"X c #040204",
". c #C4C2C4",
/* pixels */
" ",
" ",
"X ",
"X ",
"X XXX ",
"X .XXX ",
"XXXXXXXXXXXXXX ",
"XXXXXXXXXXXXXXX",
"XXXXXXXXXXXXXX ",
"X .XXX ",
"X XXX ",
"X ",
"X ",
" ",
" "
};

View File

@ -15,6 +15,7 @@
#include "class_library.h"
#include "protos.h"
#include "netlist.h"
#include "class_pin.h"
static int AddComponentsInSheetToList( std::vector <OBJ_CMP_TO_LIST>& aComponentsList,

View File

@ -14,6 +14,7 @@
#include "general.h"
#include "class_marker_sch.h"
#include "class_library.h"
#include "class_pin.h"
#include "protos.h"

View File

@ -10,6 +10,7 @@
#include "program.h"
#include "classes_body_items.h"
#include "class_pin.h"
#include "general.h"
#include "protos.h"

View File

@ -15,6 +15,7 @@
#include "protos.h"
#include "class_library.h"
#include "class_libentry.h"
#include "class_pin.h"
#include <boost/foreach.hpp>

View File

@ -16,7 +16,9 @@
#include "protos.h"
#include "libeditframe.h"
#include "class_libentry.h"
#include "class_pin.h"
#include "bitmaps.h"
/**
* Note: The following name lists are sentence capitalized per the GNOME UI
@ -30,7 +32,15 @@ static const wxString pin_orientation_names[] =
_( "Up" ),
_( "Down" )
};
// bitmaps to show pins orientations in dialog editor
// must have same order than pin_orientation_names
static const char ** s_icons_Pins_Orientations[] =
{
pinorient_right_xpm,
pinorient_left_xpm,
pinorient_up_xpm,
pinorient_down_xpm,
};
static const int pin_orientation_codes[] =
{
@ -56,6 +66,19 @@ static const wxString pin_style_names[] =
_( "Output low" )
};
// bitmaps to show pins shapes in dialog editor
// must have same order than pin_style_names
static const char ** s_icons_Pins_Shapes[] =
{
pinshape_normal_xpm,
pinshape_invert_xpm,
pinshape_clock_normal_xpm,
pinshape_clock_invert_xpm,
pinshape_active_low_input_xpm,
pinshape_clock_active_low_xpm,
pinshape_active_low_output_xpm,
};
#define PIN_STYLE_CNT ( sizeof( pin_style_names ) / sizeof( wxString ) )
@ -87,6 +110,22 @@ static const wxString pin_electrical_type_names[] =
_( "Not connected" )
};
// bitmaps to show pins electrical type in dialog editor
// must have same order than pin_electrical_type_names
static const char ** s_icons_Pins_Electrical_Type[] =
{
pintype_input_xpm,
pintype_output_xpm,
pintype_bidi_xpm,
pintype_3states_xpm,
pintype_passive_xpm,
pintype_notspecif_xpm,
pintype_powerinput_xpm,
pintype_poweroutput_xpm,
pintype_opencoll_xpm,
pintype_openemit_xpm,
pintype_noconnect_xpm
};
#define PIN_ELECTRICAL_TYPE_CNT ( sizeof( pin_electrical_type_names ) / \
sizeof( wxString ) )
@ -218,7 +257,7 @@ void LIB_PIN::SetNumber( const wxString& number )
{
m_Flags |= IS_CHANGED;
}
/* Others pin numbers marked by EnableEditMode() are not modified
* because each pin has its own number
*/
@ -1701,3 +1740,35 @@ wxArrayString LIB_PIN::GetElectricalTypeNames( void )
tmp.Add(wxGetTranslation(pin_electrical_type_names[ii]));
return tmp;
}
/**
* Get a list of pin electrical type names.
* @return List of valid pin electrical type bitmaps symbols in .xpm format
* for menus and dialogs .
*/
const char*** LIB_PIN::GetElectricalTypeSymbols( void )
{
return s_icons_Pins_Electrical_Type;
}
/**
* Get a list of pin electrical type names.
*
* @return List of valid pin orientation bitmaps symbols in .xpm format
* for menus and dialogs .
*/
const char*** LIB_PIN::GetOrientationSymbols()
{
return s_icons_Pins_Orientations;
}
/**
* Get a list of pin styles bitmaps for menus and dialogs.
*
* @return List of valid pin electrical type bitmaps symbols in .xpm format.
*/
const char*** LIB_PIN::GetStyleSymbols()
{
return s_icons_Pins_Shapes;
}

434
eeschema/class_pin.h Normal file
View File

@ -0,0 +1,434 @@
/****************************************************************/
/* Headers for pins in lib component definitions */
/****************************************************************/
/* Definitions of class LIB_PIN used in component libraries.
*/
#ifndef CLASS_PIN_H
#define CLASS_PIN_H
#define TARGET_PIN_DIAM 12 /* Circle diameter drawn at the active end of
* pins */
#define DEFAULT_TEXT_SIZE 50 /* Default size for field texts */
#define PART_NAME_LEN 15 /* Maximum length of part name. */
#define PREFIX_NAME_LEN 5 /* Maximum length of prefix (IC, R, SW etc.). */
#define PIN_WIDTH 100 /* Width between 2 pins in internal units. */
#define PIN_LENGTH 300 /* Default Length of each pin to be drawn. */
#if defined(KICAD_GOST)
#define INVERT_PIN_RADIUS 20 /* Radius of inverted pin circle. */
#else
#define INVERT_PIN_RADIUS 35 /* Radius of inverted pin circle. */
#endif
#define CLOCK_PIN_DIM 40 /* Dim of clock pin symbol. */
#define IEEE_SYMBOL_PIN_DIM 40 /* Dim of special pin symbol. */
/**
* The component library pin object electrical types used in ERC tests.
*/
enum ElectricPinType {
PIN_INPUT,
PIN_OUTPUT,
PIN_BIDI,
PIN_TRISTATE,
PIN_PASSIVE,
PIN_UNSPECIFIED,
PIN_POWER_IN,
PIN_POWER_OUT,
PIN_OPENCOLLECTOR,
PIN_OPENEMITTER,
PIN_NC, /* No connect */
PIN_NMAX /* End of List (no used as pin type) */
};
/* Electrical pin type names. */
extern const wxChar* MsgPinElectricType[];
/* Pin visibility flag bit. */
#define PINNOTDRAW 1 /* Set makes pin invisible */
/**
* The component library pin object drawing shapes.
*/
enum DrawPinShape {
NONE = 0,
INVERT = 1,
CLOCK = 2,
LOWLEVEL_IN = 4,
LOWLEVEL_OUT = 8
};
/**
* The component library pin object orientations.
*/
enum DrawPinOrient {
PIN_RIGHT = 'R',
PIN_LEFT = 'L',
PIN_UP = 'U',
PIN_DOWN = 'D',
};
class LIB_PIN : public LIB_DRAW_ITEM
{
public:
int m_PinLen; /* Pin length */
int m_Orient; /* Pin orientation (Up, Down, Left, Right) */
int m_PinShape; /* Bitwise ORed: Pin shape (see enum DrawPinShape) */
int m_PinType; /* Electrical pin properties */
int m_Attributs; /* bit 0 != 0: pin invisible */
long m_PinNum; /* Pin number: 4 ASCII code like "12" or "anod"
* or "G6" "12" is stored as "12\0\0" ans does not
* depend on endian type*/
wxString m_PinName;
int m_PinNumSize;
int m_PinNameSize; /* Pin num and Pin name sizes */
/* (Currently Unused) Pin num and Pin name text options: italic/normal
* /bold, 0 = default */
char m_PinNumShapeOpt;
char m_PinNameShapeOpt;
// (Currently Unused) Pin num and Pin name text opt position, 0 = default:
char m_PinNumPositionOpt;
char m_PinNamePositionOpt;
wxPoint m_Pos; /* Position or centre (Arc and Circle) or start
* point (segments) */
int m_Width; /* Line width */
public:
LIB_PIN(LIB_COMPONENT * aParent);
LIB_PIN( const LIB_PIN& aPin );
~LIB_PIN() { }
LIB_PIN* Next() const { return (LIB_PIN*) Pnext; }
LIB_PIN* Back() const { return (LIB_PIN*) Pback; }
virtual wxString GetClass() const
{
return wxT( "LIB_PIN" );
}
/**
* Write pin object to a FILE in "*.lib" format.
*
* @param aFile The FILE to write to.
* @return - true if success writing else false.
*/
virtual bool Save( FILE* aFile );
virtual bool Load( char* aLine, wxString& aErrorMsg );
/**
* Test if the given point is within the bounds of this object.
*
* @param aRefPos A wxPoint to test
* @return - true if a hit, else false
*/
virtual bool HitTest( const wxPoint& aRefPos );
/**
* @param aPosRef - a wxPoint to test
* @param aThreshold - max distance to this object (usually the half
* thickness of a line)
* @param aTransMat - the transform matrix
* @return - true if the point aPosRef is near this object
*/
virtual bool HitTest( wxPoint aPosRef, int aThreshold, const int aTransMat[2][2] );
virtual void DisplayInfo( WinEDA_DrawFrame* frame );
virtual EDA_Rect GetBoundingBox();
wxPoint ReturnPinEndPoint();
int ReturnPinDrawOrient( const int TransMat[2][2] );
/**
* Fill a string buffer with pin number.
*
* Pin numbers are coded as a long or 4 ASCII characters. Used to print
* or draw the pin number.
*
* @param aStringBuffer - the wxString to store the pin num as an unicode
* string
*/
void ReturnPinStringNum( wxString& aStringBuffer ) const;
wxString GetNumber();
/** Function ReturnPinStringNum (static function)
* Pin num is coded as a long or 4 ascii chars
* @param aPinNum = a long containing a pin num
* @return aStringBuffer = the wxString to store the pin num as an
* unicode string
*/
static wxString ReturnPinStringNum( long aPinNum );
void SetPinNumFromString( wxString& aBuffer );
/**
* Set the pin name.
*
* This will also all of the pin names marked by EnableEditMode().
*
* @param name - New pin name.
*/
void SetName( const wxString& aName );
/**
* Set the /a aSize of the pin name text.
*
* This will also update the text size of the name of the pins marked
* by EnableEditMode().
*
* @param aSize - The text size of the pin name in schematic units ( mils ).
*/
void SetNameTextSize( int aSize );
/**
* Set the pin number.
*
* Others pin numbers marked by EnableEditMode() are not modified
* because each pin has its own number
* @param aNumber - New pin number.
*/
void SetNumber( const wxString& aNumber );
/**
* Set the size of the pin number text.
*
* This will also update the text size of the number of the pins marked
* by EnableEditMode().
*
* @param aSize - The text size of the pin number in schematic
* units ( mils ).
*/
void SetNumberTextSize( int aSize );
/**
* Set orientation on the pin.
*
* This will also update the orientation of the pins marked by
* EnableEditMode().
*
* @param aOrientation - The orientation of the pin.
*/
void SetOrientation( int aOrientation );
/**
* Set the draw style of the pin.
*
* This will also update the draw style of the pins marked by
* EnableEditMode().
*
* @param aStyle - The draw style of the pin.
*/
void SetDrawStyle( int aStyle );
/**
* Set the electrical type of the pin.
*
* This will also update the electrical type of the pins marked by
* EnableEditMode().
*
* @param aType - The electrical type of the pin.
*/
void SetElectricalType( int aType );
/**
* Set the pin length.
*
* This will also update the length of the pins marked by EnableEditMode().
*
* @param aLength - The length of the pin in mils.
*/
void SetLength( int aLength );
/**
* Set the pin part number.
*
* If the pin is changed from not common to common to all parts, any
* linked pins will be removed from the parent component.
*
* @param aPart - Number of the part the pin belongs to. Set to zero to
* make pin common to all parts in a multi-part component.
*/
void SetPartNumber( int aPart );
/**
* Set the body style (conversion) of the pin.
*
* If the pin is changed from not common to common to all body styles, any
* linked pins will be removed from the parent component.
*
* @param conversion - Body style of the pin. Set to zero to make pin
* common to all body styles.
*/
void SetConversion( int aConversion );
/**
* Set or clear the visibility flag for the pin.
*
* This will also update the visibility of the pins marked by
* EnableEditMode().
*
* @param aVisible - True to make the pin visible or false to hide the pin.
*/
void SetVisible( bool aVisible );
/**
* Enable or clear pin editing mode.
*
* The pin editing mode marks or unmarks all pins common to this
* pin object for further editing. If any of the pin modifcation
* methods are called after enabling the editing mode, all pins
* marked for editing will have the same attribute changed. The
* only case were this is not true making this pin common to all
* parts or body styles in the component. See SetCommonToAllParts()
* and SetCommonToAllBodyStyles() for more information.
*
* @params aEnable - True marks all common pins for editing mode. False
* clears the editing mode.
* @params aEditpinByPin - Enables the edit pin by pin mode.
*/
void EnableEditMode( bool aEnable, bool aEditPinByPin = false );
/**
* Return the visibility status of the draw object.
*
* @return True if draw object is visible otherwise false.
*/
bool IsVisible() { return ( m_Attributs & PINNOTDRAW ) == 0; }
/**
* @return the size of the "pen" that be used to draw or plot this item.
*/
virtual int GetPenSize();
void Draw( WinEDA_DrawPanel * aPanel, wxDC * aDC, const wxPoint &aOffset,
int aColor, int aDrawMode, void* aData, const int aTransformMatrix[2][2] );
void DrawPinSymbol( WinEDA_DrawPanel* aPanel, wxDC* aDC, const wxPoint& aPosition,
int aOrientation, int aDrawMode, int aColor = -1 );
void DrawPinTexts( WinEDA_DrawPanel* aPanel, wxDC* aDC, wxPoint& aPosition,
int aOrientation, int TextInside, bool DrawPinNum, bool DrawPinName,
int aColor, int aDrawMode );
void PlotPinTexts( PLOTTER *aPlotter,
wxPoint& aPosition,
int aOrientation,
int aTextInside,
bool aDrawPinNum,
bool aDrawPinName,
int aWidth );
/**
* Get a list of pin orientation names.
*
* @return List of valid pin orientation names.
*/
static wxArrayString GetOrientationNames();
/**
* Get a list of pin orientation bitmaps for menus and dialogs..
*
* @return List of valid pin orientation bitmaps symbols in .xpm format
*/
static const char*** GetOrientationSymbols();
/**
* Get the orientation code by index used to set the pin orientation.
*
* @param aIndex - The index of the orientation code to look up.
* @return Orientation code if index is valid. Returns right
* orientation on index error.
*/
static int GetOrientationCode( int aIndex );
/**
* Get the index of the orientation code.
*
* @param aCode - The orientation code to look up.
* @return The index of the orientation code if found. Otherwise,
* return wxNOT_FOUND.
*/
static int GetOrientationCodeIndex( int aCode );
/**
* Get a list of pin draw style names.
*
* @return List of valid pin draw style names.
*/
static wxArrayString GetStyleNames();
/**
* Get a list of pin styles bitmaps for menus and dialogs.
*
* @return List of valid pin electrical type bitmaps symbols in .xpm format.
*/
static const char*** GetStyleSymbols();
/**
* Get the pin draw style code by index used to set the pin draw style.
*
* @param aIndex - The index of the pin draw style code to look up.
* @return Pin draw style code if index is valid. Returns NONE
* style on index error.
*/
static int GetStyleCode( int aIndex );
/**
* Get the index of the pin draw style code.
*
* @param aCode - The pin draw style code to look up.
* @return The index of the pin draw style code if found. Otherwise,
* return wxNOT_FOUND.
*/
static int GetStyleCodeIndex( int aCode );
/**
* Get a list of pin electrical type names.
*
* @return List of valid pin electrical type names.
*/
static wxArrayString GetElectricalTypeNames();
/**
* Get a list of pin electrical bitmaps for menus and dialogs.
*
* @return List of valid pin electrical type bitmaps symbols in .xpm format
*/
static const char*** GetElectricalTypeSymbols();
protected:
virtual LIB_DRAW_ITEM* DoGenCopy();
/**
* Provide the pin draw object specific comparison.
*
* The sort order is as follows:
* - Pin number.
* - Pin name, case insensitive compare.
* - Pin horizontal (X) position.
* - Pin vertical (Y) position.
*/
virtual int DoCompare( const LIB_DRAW_ITEM& aOther ) const;
virtual void DoOffset( const wxPoint& aOffset );
virtual bool DoTestInside( EDA_Rect& aRect );
virtual void DoMove( const wxPoint& aPosition );
virtual wxPoint DoGetPosition() { return m_Pos; }
virtual void DoMirrorHorizontal( const wxPoint& aCenter );
virtual void DoPlot( PLOTTER* aPlotter, const wxPoint& aOffset, bool aFill,
const int aTransform[2][2] );
virtual int DoGetWidth() { return m_Width; }
virtual void DoSetWidth( int aWidth ) { m_Width = aWidth; }
};
#endif // CLASS_PIN_H

View File

@ -14,73 +14,8 @@ class LIB_DRAW_ITEM;
class LIB_PIN;
#define TARGET_PIN_DIAM 12 /* Circle diameter drawn at the active end of
* pins */
#define DEFAULT_TEXT_SIZE 50 /* Default size for field texts */
#define PART_NAME_LEN 15 /* Maximum length of part name. */
#define PREFIX_NAME_LEN 5 /* Maximum length of prefix (IC, R, SW etc.). */
#define PIN_WIDTH 100 /* Width between 2 pins in internal units. */
#define PIN_LENGTH 300 /* Default Length of each pin to be drawn. */
#if defined(KICAD_GOST)
#define INVERT_PIN_RADIUS 20 /* Radius of inverted pin circle. */
#else
#define INVERT_PIN_RADIUS 35 /* Radius of inverted pin circle. */
#endif
#define CLOCK_PIN_DIM 40 /* Dim of clock pin symbol. */
#define IEEE_SYMBOL_PIN_DIM 40 /* Dim of special pin symbol. */
#define MINIMUM_SELECTION_DISTANCE 15 // Minimum selection distance in mils
/**
* The component library pin object electrical types used in ERC tests.
*/
enum ElectricPinType {
PIN_INPUT,
PIN_OUTPUT,
PIN_BIDI,
PIN_TRISTATE,
PIN_PASSIVE,
PIN_UNSPECIFIED,
PIN_POWER_IN,
PIN_POWER_OUT,
PIN_OPENCOLLECTOR,
PIN_OPENEMITTER,
PIN_NC, /* No connect */
PIN_NMAX /* End of List (no used as pin type) */
};
/* Electrical pin type names. */
extern const wxChar* MsgPinElectricType[];
/* Pin visibility flag bit. */
#define PINNOTDRAW 1 /* Set makes pin invisible */
/**
* The component library pin object drawing shapes.
*/
enum DrawPinShape {
NONE = 0,
INVERT = 1,
CLOCK = 2,
LOWLEVEL_IN = 4,
LOWLEVEL_OUT = 8
};
/**
* The component library pin object orientations.
*/
enum DrawPinOrient {
PIN_RIGHT = 'R',
PIN_LEFT = 'L',
PIN_UP = 'U',
PIN_DOWN = 'D',
};
/**
* Helper for defining a list of library draw object pointers. The Boost
@ -90,7 +25,6 @@ enum DrawPinOrient {
*/
typedef boost::ptr_vector< LIB_DRAW_ITEM > LIB_DRAW_ITEM_LIST;
/**
* Helper for defining a list of pin object pointers. The list does not
* use a Boost pointer class so the ojbect pointers do not accidently get
@ -360,345 +294,6 @@ protected:
};
/********/
/* Pins */
/********/
class LIB_PIN : public LIB_DRAW_ITEM
{
public:
int m_PinLen; /* Pin length */
int m_Orient; /* Pin orientation (Up, Down, Left, Right) */
int m_PinShape; /* Bitwise ORed: Pin shape (see enum DrawPinShape) */
int m_PinType; /* Electrical pin properties */
int m_Attributs; /* bit 0 != 0: pin invisible */
long m_PinNum; /* Pin number: 4 ASCII code like "12" or "anod"
* or "G6" "12" is stored as "12\0\0" ans does not
* depend on endian type*/
wxString m_PinName;
int m_PinNumSize;
int m_PinNameSize; /* Pin num and Pin name sizes */
/* (Currently Unused) Pin num and Pin name text options: italic/normal
* /bold, 0 = default */
char m_PinNumShapeOpt;
char m_PinNameShapeOpt;
// (Currently Unused) Pin num and Pin name text opt position, 0 = default:
char m_PinNumPositionOpt;
char m_PinNamePositionOpt;
wxPoint m_Pos; /* Position or centre (Arc and Circle) or start
* point (segments) */
int m_Width; /* Line width */
public:
LIB_PIN(LIB_COMPONENT * aParent);
LIB_PIN( const LIB_PIN& aPin );
~LIB_PIN() { }
LIB_PIN* Next() const { return (LIB_PIN*) Pnext; }
LIB_PIN* Back() const { return (LIB_PIN*) Pback; }
virtual wxString GetClass() const
{
return wxT( "LIB_PIN" );
}
/**
* Write pin object to a FILE in "*.lib" format.
*
* @param aFile The FILE to write to.
* @return - true if success writing else false.
*/
virtual bool Save( FILE* aFile );
virtual bool Load( char* aLine, wxString& aErrorMsg );
/**
* Test if the given point is within the bounds of this object.
*
* @param aRefPos A wxPoint to test
* @return - true if a hit, else false
*/
virtual bool HitTest( const wxPoint& aRefPos );
/**
* @param aPosRef - a wxPoint to test
* @param aThreshold - max distance to this object (usually the half
* thickness of a line)
* @param aTransMat - the transform matrix
* @return - true if the point aPosRef is near this object
*/
virtual bool HitTest( wxPoint aPosRef, int aThreshold, const int aTransMat[2][2] );
virtual void DisplayInfo( WinEDA_DrawFrame* frame );
virtual EDA_Rect GetBoundingBox();
wxPoint ReturnPinEndPoint();
int ReturnPinDrawOrient( const int TransMat[2][2] );
/**
* Fill a string buffer with pin number.
*
* Pin numbers are coded as a long or 4 ASCII characters. Used to print
* or draw the pin number.
*
* @param aStringBuffer - the wxString to store the pin num as an unicode
* string
*/
void ReturnPinStringNum( wxString& aStringBuffer ) const;
wxString GetNumber();
/** Function ReturnPinStringNum (static function)
* Pin num is coded as a long or 4 ascii chars
* @param aPinNum = a long containing a pin num
* @return aStringBuffer = the wxString to store the pin num as an
* unicode string
*/
static wxString ReturnPinStringNum( long aPinNum );
void SetPinNumFromString( wxString& aBuffer );
/**
* Set the pin name.
*
* This will also all of the pin names marked by EnableEditMode().
*
* @param name - New pin name.
*/
void SetName( const wxString& aName );
/**
* Set the /a aSize of the pin name text.
*
* This will also update the text size of the name of the pins marked
* by EnableEditMode().
*
* @param aSize - The text size of the pin name in schematic units ( mils ).
*/
void SetNameTextSize( int aSize );
/**
* Set the pin number.
*
* Others pin numbers marked by EnableEditMode() are not modified
* because each pin has its own number
* @param aNumber - New pin number.
*/
void SetNumber( const wxString& aNumber );
/**
* Set the size of the pin number text.
*
* This will also update the text size of the number of the pins marked
* by EnableEditMode().
*
* @param aSize - The text size of the pin number in schematic
* units ( mils ).
*/
void SetNumberTextSize( int aSize );
/**
* Set orientation on the pin.
*
* This will also update the orientation of the pins marked by
* EnableEditMode().
*
* @param aOrientation - The orientation of the pin.
*/
void SetOrientation( int aOrientation );
/**
* Set the draw style of the pin.
*
* This will also update the draw style of the pins marked by
* EnableEditMode().
*
* @param aStyle - The draw style of the pin.
*/
void SetDrawStyle( int aStyle );
/**
* Set the electrical type of the pin.
*
* This will also update the electrical type of the pins marked by
* EnableEditMode().
*
* @param aType - The electrical type of the pin.
*/
void SetElectricalType( int aType );
/**
* Set the pin length.
*
* This will also update the length of the pins marked by EnableEditMode().
*
* @param aLength - The length of the pin in mils.
*/
void SetLength( int aLength );
/**
* Set the pin part number.
*
* If the pin is changed from not common to common to all parts, any
* linked pins will be removed from the parent component.
*
* @param aPart - Number of the part the pin belongs to. Set to zero to
* make pin common to all parts in a multi-part component.
*/
void SetPartNumber( int aPart );
/**
* Set the body style (conversion) of the pin.
*
* If the pin is changed from not common to common to all body styles, any
* linked pins will be removed from the parent component.
*
* @param conversion - Body style of the pin. Set to zero to make pin
* common to all body styles.
*/
void SetConversion( int aConversion );
/**
* Set or clear the visibility flag for the pin.
*
* This will also update the visibility of the pins marked by
* EnableEditMode().
*
* @param aVisible - True to make the pin visible or false to hide the pin.
*/
void SetVisible( bool aVisible );
/**
* Enable or clear pin editing mode.
*
* The pin editing mode marks or unmarks all pins common to this
* pin object for further editing. If any of the pin modifcation
* methods are called after enabling the editing mode, all pins
* marked for editing will have the same attribute changed. The
* only case were this is not true making this pin common to all
* parts or body styles in the component. See SetCommonToAllParts()
* and SetCommonToAllBodyStyles() for more information.
*
* @params aEnable - True marks all common pins for editing mode. False
* clears the editing mode.
* @params aEditpinByPin - Enables the edit pin by pin mode.
*/
void EnableEditMode( bool aEnable, bool aEditPinByPin = false );
/**
* Return the visibility status of the draw object.
*
* @return True if draw object is visible otherwise false.
*/
bool IsVisible() { return ( m_Attributs & PINNOTDRAW ) == 0; }
/**
* @return the size of the "pen" that be used to draw or plot this item.
*/
virtual int GetPenSize();
void Draw( WinEDA_DrawPanel * aPanel, wxDC * aDC, const wxPoint &aOffset,
int aColor, int aDrawMode, void* aData, const int aTransformMatrix[2][2] );
void DrawPinSymbol( WinEDA_DrawPanel* aPanel, wxDC* aDC, const wxPoint& aPosition,
int aOrientation, int aDrawMode, int aColor = -1 );
void DrawPinTexts( WinEDA_DrawPanel* aPanel, wxDC* aDC, wxPoint& aPosition,
int aOrientation, int TextInside, bool DrawPinNum, bool DrawPinName,
int aColor, int aDrawMode );
void PlotPinTexts( PLOTTER *aPlotter,
wxPoint& aPosition,
int aOrientation,
int aTextInside,
bool aDrawPinNum,
bool aDrawPinName,
int aWidth );
/**
* Get a list of pin orientation names.
*
* @return List of valid pin orientation names.
*/
static wxArrayString GetOrientationNames();
/**
* Get the orientation code by index used to set the pin orientation.
*
* @param aIndex - The index of the orientation code to look up.
* @return Orientation code if index is valid. Returns right
* orientation on index error.
*/
static int GetOrientationCode( int aIndex );
/**
* Get the index of the orientation code.
*
* @param aCode - The orientation code to look up.
* @return The index of the orientation code if found. Otherwise,
* return wxNOT_FOUND.
*/
static int GetOrientationCodeIndex( int aCode );
/**
* Get a list of pin draw style names.
*
* @return List of valid pin draw style names.
*/
static wxArrayString GetStyleNames();
/**
* Get the pin draw style code by index used to set the pin draw style.
*
* @param aIndex - The index of the pin draw style code to look up.
* @return Pin draw style code if index is valid. Returns NONE
* style on index error.
*/
static int GetStyleCode( int aIndex );
/**
* Get the index of the pin draw style code.
*
* @param aCode - The pin draw style code to look up.
* @return The index of the pin draw style code if found. Otherwise,
* return wxNOT_FOUND.
*/
static int GetStyleCodeIndex( int aCode );
/**
* Get a list of pin electrical type names.
*
* @return List of valid pin electrical type names.
*/
static wxArrayString GetElectricalTypeNames();
protected:
virtual LIB_DRAW_ITEM* DoGenCopy();
/**
* Provide the pin draw object specific comparison.
*
* The sort order is as follows:
* - Pin number.
* - Pin name, case insensitive compare.
* - Pin horizontal (X) position.
* - Pin vertical (Y) position.
*/
virtual int DoCompare( const LIB_DRAW_ITEM& aOther ) const;
virtual void DoOffset( const wxPoint& aOffset );
virtual bool DoTestInside( EDA_Rect& aRect );
virtual void DoMove( const wxPoint& aPosition );
virtual wxPoint DoGetPosition() { return m_Pos; }
virtual void DoMirrorHorizontal( const wxPoint& aCenter );
virtual void DoPlot( PLOTTER* aPlotter, const wxPoint& aOffset, bool aFill,
const int aTransform[2][2] );
virtual int DoGetWidth() { return m_Width; }
virtual void DoSetWidth( int aWidth ) { m_Width = aWidth; }
};
/**************************/
/* Graphic Body Item: Arc */
/**************************/

View File

@ -15,6 +15,7 @@
#include "libeditframe.h"
#include "viewlib_frame.h"
#include "classes_body_items.h"
#include "class_pin.h"
#include "class_marker_sch.h"

View File

@ -12,6 +12,7 @@
#include "eeschema_id.h"
#include "protos.h"
#include "classes_body_items.h"
#include "class_pin.h"
/***************************************************************/

View File

@ -11,6 +11,7 @@
#include "netlist.h"
#include "protos.h"
#include "class_library.h"
#include "class_pin.h"
enum End_Type {

View File

@ -15,6 +15,7 @@
#include "general.h"
#include "netlist.h"
#include "class_marker_sch.h"
#include "class_pin.h"
#include "protos.h"
#include "dialog_erc.h"

View File

@ -1,5 +1,8 @@
#include "fctsys.h"
#include "dialog_lib_edit_pin.h"
DIALOG_LIB_EDIT_PIN::DIALOG_LIB_EDIT_PIN( wxWindow* parent ) :
DIALOG_LIB_EDIT_PIN_BASE( parent )
{
@ -8,19 +11,43 @@ DIALOG_LIB_EDIT_PIN::DIALOG_LIB_EDIT_PIN( wxWindow* parent ) :
}
void DIALOG_LIB_EDIT_PIN::SetOrientationList( const wxArrayString& list )
void DIALOG_LIB_EDIT_PIN::SetOrientationList( const wxArrayString& list,
const char *** aBitmaps )
{
m_choiceOrientation->Append( list );
for ( unsigned ii = 0; ii < list.GetCount( ); ii++ )
{
if( aBitmaps == NULL )
m_choiceOrientation->Append(list[ii]);
else
m_choiceOrientation->Insert(list[ii],
wxBitmap(aBitmaps[ii]), ii);
}
}
void DIALOG_LIB_EDIT_PIN::SetElectricalTypeList( const wxArrayString& list )
void DIALOG_LIB_EDIT_PIN::SetElectricalTypeList( const wxArrayString& list,
const char *** aBitmaps )
{
m_choiceElectricalType->Append( list );
for ( unsigned ii = 0; ii < list.GetCount( ); ii++ )
{
if( aBitmaps == NULL )
m_choiceElectricalType->Append(list[ii]);
else
m_choiceElectricalType->Insert(list[ii],
wxBitmap(aBitmaps[ii]), ii);
}
}
void DIALOG_LIB_EDIT_PIN::SetStyleList( const wxArrayString& list )
void DIALOG_LIB_EDIT_PIN::SetStyleList( const wxArrayString& list,
const char *** aBitmaps )
{
m_choiceStyle->Append( list );
for ( unsigned ii = 0; ii < list.GetCount( ); ii++ )
{
if( aBitmaps == NULL )
m_choiceStyle->Append(list[ii]);
else
m_choiceStyle->Insert(list[ii],
wxBitmap(aBitmaps[ii]), ii);
}
}

View File

@ -689,10 +689,10 @@
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">3</property>
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND</property>
<property name="border">5</property>
<property name="flag">wxALL</property>
<property name="proportion">0</property>
<object class="wxChoice" expanded="1">
<object class="wxComboBox" expanded="1">
<property name="bg"></property>
<property name="choices"></property>
<property name="context_help"></property>
@ -706,15 +706,16 @@
<property name="name">m_choiceOrientation</property>
<property name="permission">protected</property>
<property name="pos"></property>
<property name="selection">0</property>
<property name="size"></property>
<property name="subclass"></property>
<property name="style"></property>
<property name="subclass">wxBitmapComboBox; wx/bmpcbox.h</property>
<property name="tooltip"></property>
<property name="value"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnChar"></event>
<event name="OnChoice"></event>
<event name="OnCombobox"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
@ -736,6 +737,8 @@
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnText"></event>
<event name="OnTextEnter"></event>
<event name="OnUpdateUI"></event>
</object>
</object>
@ -958,10 +961,10 @@
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">3</property>
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND</property>
<property name="border">5</property>
<property name="flag">wxALL</property>
<property name="proportion">0</property>
<object class="wxChoice" expanded="1">
<object class="wxComboBox" expanded="1">
<property name="bg"></property>
<property name="choices"></property>
<property name="context_help"></property>
@ -975,15 +978,16 @@
<property name="name">m_choiceElectricalType</property>
<property name="permission">protected</property>
<property name="pos"></property>
<property name="selection">0</property>
<property name="size"></property>
<property name="subclass"></property>
<property name="style"></property>
<property name="subclass">wxBitmapComboBox; wx/bmpcbox.h</property>
<property name="tooltip"></property>
<property name="value"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnChar"></event>
<event name="OnChoice"></event>
<event name="OnCombobox"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
@ -1005,6 +1009,8 @@
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnText"></event>
<event name="OnTextEnter"></event>
<event name="OnUpdateUI"></event>
</object>
</object>
@ -1100,10 +1106,10 @@
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">3</property>
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND</property>
<property name="border">5</property>
<property name="flag">wxALL</property>
<property name="proportion">0</property>
<object class="wxChoice" expanded="1">
<object class="wxComboBox" expanded="1">
<property name="bg"></property>
<property name="choices"></property>
<property name="context_help"></property>
@ -1117,15 +1123,16 @@
<property name="name">m_choiceStyle</property>
<property name="permission">protected</property>
<property name="pos"></property>
<property name="selection">0</property>
<property name="size"></property>
<property name="subclass"></property>
<property name="style"></property>
<property name="subclass">wxBitmapComboBox; wx/bmpcbox.h</property>
<property name="tooltip"></property>
<property name="value"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnChar"></event>
<event name="OnChoice"></event>
<event name="OnCombobox"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
@ -1147,6 +1154,8 @@
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnText"></event>
<event name="OnTextEnter"></event>
<event name="OnUpdateUI"></event>
</object>
</object>

View File

@ -6,6 +6,8 @@
* Subclass of DIALOG_LIB_EDIT_PIN_BASE, which is generated by wxFormBuilder.
*/
#include "wx/bmpcbox.h"
#include "dialog_lib_edit_pin_base.h"
/** Implementing DIALOG_LIB_EDIT_PIN_BASE */
@ -15,14 +17,14 @@ public:
/** Constructor */
DIALOG_LIB_EDIT_PIN( wxWindow* parent );
void SetOrientationList( const wxArrayString& list );
void SetOrientationList( const wxArrayString& list, const char *** aBitmaps );
void SetOrientation( int orientation )
{
m_choiceOrientation->SetSelection( orientation );
}
int GetOrientation( void ) { return m_choiceOrientation->GetSelection(); }
void SetElectricalTypeList( const wxArrayString& list );
void SetElectricalTypeList( const wxArrayString& list, const char *** aBitmaps );
void SetElectricalType( int type )
{
m_choiceElectricalType->SetSelection( type );
@ -32,7 +34,7 @@ public:
return m_choiceElectricalType->GetSelection();
}
void SetStyleList( const wxArrayString& list );
void SetStyleList( const wxArrayString& list, const char *** aBitmaps );
void SetStyle( int style ) { m_choiceStyle->SetSelection( style ); }
int GetStyle( void ) { return m_choiceStyle->GetSelection(); }

View File

@ -5,6 +5,8 @@
// PLEASE DO "NOT" EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////
#include "wx/bmpcbox.h"
#include "dialog_lib_edit_pin_base.h"
///////////////////////////////////////////////////////////////////////////
@ -69,10 +71,8 @@ DIALOG_LIB_EDIT_PIN_BASE::DIALOG_LIB_EDIT_PIN_BASE( wxWindow* parent, wxWindowID
m_staticText5->Wrap( -1 );
fgSizer1->Add( m_staticText5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 3 );
wxArrayString m_choiceOrientationChoices;
m_choiceOrientation = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceOrientationChoices, 0 );
m_choiceOrientation->SetSelection( 0 );
fgSizer1->Add( m_choiceOrientation, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
m_choiceOrientation = new wxBitmapComboBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
fgSizer1->Add( m_choiceOrientation, 0, wxALL, 5 );
fgSizer1->Add( 15, 0, 1, wxEXPAND, 3 );
@ -94,10 +94,8 @@ DIALOG_LIB_EDIT_PIN_BASE::DIALOG_LIB_EDIT_PIN_BASE( wxWindow* parent, wxWindowID
fgSizer1->Add( m_staticText6, 0, wxALIGN_CENTER_VERTICAL|wxALL, 3 );
wxArrayString m_choiceElectricalTypeChoices;
m_choiceElectricalType = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceElectricalTypeChoices, 0 );
m_choiceElectricalType->SetSelection( 0 );
fgSizer1->Add( m_choiceElectricalType, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
m_choiceElectricalType = new wxBitmapComboBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
fgSizer1->Add( m_choiceElectricalType, 0, wxALL, 5 );
fgSizer1->Add( 0, 0, 1, wxEXPAND, 3 );
@ -115,10 +113,8 @@ DIALOG_LIB_EDIT_PIN_BASE::DIALOG_LIB_EDIT_PIN_BASE( wxWindow* parent, wxWindowID
m_staticText7->Wrap( -1 );
fgSizer1->Add( m_staticText7, 0, wxALIGN_CENTER_VERTICAL|wxALL, 3 );
wxArrayString m_choiceStyleChoices;
m_choiceStyle = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceStyleChoices, 0 );
m_choiceStyle->SetSelection( 0 );
fgSizer1->Add( m_choiceStyle, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
m_choiceStyle = new wxBitmapComboBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
fgSizer1->Add( m_choiceStyle, 0, wxALL, 5 );
fgSizer1->Add( 0, 0, 1, wxEXPAND, 3 );

View File

@ -10,6 +10,8 @@
#include <wx/intl.h>
class wxBitmapComboBox;
#include <wx/string.h>
#include <wx/stattext.h>
#include <wx/gdicmn.h>
@ -17,7 +19,7 @@
#include <wx/colour.h>
#include <wx/settings.h>
#include <wx/textctrl.h>
#include <wx/choice.h>
#include <wx/combobox.h>
#include <wx/sizer.h>
#include <wx/checkbox.h>
#include <wx/button.h>
@ -46,19 +48,19 @@ class DIALOG_LIB_EDIT_PIN_BASE : public wxDialog
wxTextCtrl* m_textNumberTextSize;
wxStaticText* m_staticNumberTextSizeUnits;
wxStaticText* m_staticText5;
wxChoice* m_choiceOrientation;
wxBitmapComboBox* m_choiceOrientation;
wxStaticText* m_staticText11;
wxTextCtrl* m_textLength;
wxStaticText* m_staticLengthUnits;
wxStaticText* m_staticText6;
wxChoice* m_choiceElectricalType;
wxBitmapComboBox* m_choiceElectricalType;
wxStaticText* m_staticText7;
wxChoice* m_choiceStyle;
wxBitmapComboBox* m_choiceStyle;

View File

@ -14,6 +14,7 @@
#include "general.h"
#include "netlist.h"
#include "class_marker_sch.h"
#include "class_pin.h"
#include "protos.h"
#include "erc.h"

View File

@ -20,6 +20,7 @@
#include "class_marker_sch.h"
#include "protos.h"
#include "class_library.h"
#include "class_pin.h"
#include "kicad_device_context.h"

View File

@ -18,6 +18,7 @@
#include "protos.h"
#include "libeditframe.h"
#include "class_libentry.h"
#include "class_pin.h"
/* functions to add commands and submenus depending on the item */

View File

@ -15,6 +15,7 @@
#include "netlist.h"
#include "protos.h"
#include "class_library.h"
#include "class_pin.h"
#include "build_version.h"

View File

@ -10,6 +10,7 @@
#include "netlist.h"
#include "protos.h"
#include "class_library.h"
#include "class_pin.h"
#include "algorithm"

View File

@ -12,6 +12,7 @@
#include "libeditframe.h"
#include "eeschema_id.h"
#include "class_libentry.h"
#include "class_pin.h"
#include "general.h"
#include "protos.h"
@ -81,11 +82,14 @@ void WinEDA_LibeditFrame::OnEditPin( wxCommandEvent& event )
DIALOG_LIB_EDIT_PIN dlg( this );
wxString units = GetUnitsLabel( g_UnitMetric );
dlg.SetOrientationList( LIB_PIN::GetOrientationNames() );
dlg.SetOrientationList( LIB_PIN::GetOrientationNames(),
LIB_PIN::GetOrientationSymbols() );
dlg.SetOrientation( LIB_PIN::GetOrientationCodeIndex( pin->m_Orient ) );
dlg.SetStyleList( LIB_PIN::GetStyleNames() );
dlg.SetStyleList( LIB_PIN::GetStyleNames(),
LIB_PIN::GetStyleSymbols());
dlg.SetStyle( LIB_PIN::GetStyleCodeIndex( pin->m_PinShape ) );
dlg.SetElectricalTypeList( LIB_PIN::GetElectricalTypeNames() );
dlg.SetElectricalTypeList( LIB_PIN::GetElectricalTypeNames(),
LIB_PIN::GetElectricalTypeSymbols());
dlg.SetElectricalType( pin->m_PinType );
dlg.SetName( pin->m_PinName );
dlg.SetNameTextSize( ReturnStringFromValue( g_UnitMetric,

View File

@ -14,6 +14,7 @@
#include "general.h"
#include "protos.h"
#include "class_library.h"
#include "class_pin.h"
/* Local Variables : */

View File

@ -18,6 +18,7 @@
#include "protos.h"
#include "eeschema_id.h"
#include "netlist.h"
#include "class_pin.h"
#include "annotate_dialog.h"
#include "dialog_build_BOM.h"

View File

@ -287,6 +287,28 @@ extern const char* pin2pin_xpm[];
extern const char* pin_name_to_xpm[];
extern const char* pin_number_to_xpm[];
extern const char* pin_size_to_xpm[];
extern const char* pinorient_right_xpm[];
extern const char* pinorient_left_xpm[];
extern const char* pinorient_up_xpm[];
extern const char* pinorient_down_xpm[];
extern const char* pinshape_normal_xpm[];
extern const char* pinshape_invert_xpm[];
extern const char* pinshape_clock_normal_xpm[];
extern const char* pinshape_clock_invert_xpm[];
extern const char* pinshape_active_low_input_xpm[];
extern const char* pinshape_clock_active_low_xpm[];
extern const char* pinshape_active_low_output_xpm[];
extern const char* pintype_input_xpm[];
extern const char* pintype_output_xpm[];
extern const char* pintype_bidi_xpm[];
extern const char* pintype_3states_xpm[];
extern const char* pintype_passive_xpm[];
extern const char* pintype_notspecif_xpm[];
extern const char* pintype_powerinput_xpm[];
extern const char* pintype_poweroutput_xpm[];
extern const char* pintype_opencoll_xpm[];
extern const char* pintype_openemit_xpm[];
extern const char* pintype_noconnect_xpm[];
extern const char* pin_to_xpm[];
extern const char* pin_xpm[];
extern const char* plot_HPG_xpm[];

Binary file not shown.

File diff suppressed because it is too large Load Diff