Dialog work and other minor changes.
* Replace EESchema sheet properties dialog with wxFormBuilder version. * Editing an existing sheet now marks schematic as modified. * Code style updates for some of my previous work. * Improvements to the CMP_LIB_ENTRY object. * Replaced symbol edit export fprintf code with wxFFile implementation. * GCC compiler warning fix in pcbnew/drc.cpp.
This commit is contained in:
parent
867737e2f4
commit
014d852bc6
|
@ -65,6 +65,8 @@ set(EESCHEMA_SRCS
|
|||
dialog_lib_new_component_base.cpp
|
||||
dialog_print_using_printer_base.cpp
|
||||
dialog_print_using_printer.cpp
|
||||
dialog_sch_sheet_props.cpp
|
||||
dialog_sch_sheet_props_base.cpp
|
||||
dialog_SVG_print.cpp
|
||||
dialog_SVG_print_base.cpp
|
||||
edit_component_in_lib.cpp
|
||||
|
|
|
@ -75,7 +75,7 @@ void ReAnnotatePowerSymbolsOnly( void )
|
|||
LIB_COMPONENT* Entry =
|
||||
CMP_LIBRARY::FindLibraryComponent( DrawLibItem->m_ChipName );
|
||||
|
||||
if( (Entry == NULL) || (Entry->m_Options != ENTRY_POWER) )
|
||||
if( ( Entry == NULL ) || !Entry->isPower() )
|
||||
continue;
|
||||
|
||||
//DrawLibItem->ClearAnnotation(sheet); this clears all annotation :(
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -38,19 +38,26 @@ enum LibrEntryOptions
|
|||
*/
|
||||
class CMP_LIB_ENTRY : public EDA_BaseStruct
|
||||
{
|
||||
public:
|
||||
LibrEntryType Type; /* Type = ROOT;
|
||||
* = ALIAS pour struct LibraryAliasType */
|
||||
wxString m_Doc; /* documentation for info */
|
||||
wxString m_KeyWord; /* keyword list (used to select a group of
|
||||
* components by keyword) */
|
||||
wxString m_DocFile; /* Associate doc file name */
|
||||
LibrEntryOptions m_Options; // special features (i.e. Entry is a POWER)
|
||||
|
||||
protected:
|
||||
wxString name;
|
||||
|
||||
/** Library object that entry is attached to. */
|
||||
CMP_LIBRARY* library;
|
||||
|
||||
/** Entry type, either ROOT or ALIAS. */
|
||||
LibrEntryType type;
|
||||
|
||||
wxString description; /* documentation for info */
|
||||
wxString keyWords; /* keyword list (used for search for
|
||||
* components by keyword) */
|
||||
wxString docFileName; /* Associate doc file name */
|
||||
LibrEntryOptions options; // special features (i.e. Entry is a POWER)
|
||||
|
||||
public:
|
||||
CMP_LIB_ENTRY( LibrEntryType CmpType, const wxString& name,
|
||||
CMP_LIBRARY* lib = NULL );
|
||||
CMP_LIB_ENTRY( CMP_LIB_ENTRY& entry, CMP_LIBRARY* lib = NULL );
|
||||
CMP_LIB_ENTRY( LibrEntryType aType, const wxString& aName,
|
||||
CMP_LIBRARY* aLibrary = NULL );
|
||||
CMP_LIB_ENTRY( CMP_LIB_ENTRY& aEntry, CMP_LIBRARY* aLibrary = NULL );
|
||||
|
||||
virtual ~CMP_LIB_ENTRY();
|
||||
|
||||
|
@ -61,9 +68,42 @@ public:
|
|||
|
||||
wxString GetLibraryName();
|
||||
|
||||
virtual const wxString& GetName() const { return m_Name; }
|
||||
virtual const wxString& GetName() const { return name; }
|
||||
|
||||
virtual void SetName( const wxString& name ) { m_Name = name; }
|
||||
virtual void SetName( const wxString& aName ) { name = aName; }
|
||||
|
||||
bool isComponent() { return type == ROOT; }
|
||||
|
||||
bool isAlias() { return type == ALIAS; }
|
||||
|
||||
int GetType() { return type; }
|
||||
|
||||
bool isPower() { return options == ENTRY_POWER; }
|
||||
bool isNormal() { return options == ENTRY_NORMAL; }
|
||||
|
||||
void SetPower() { options = ENTRY_POWER; }
|
||||
void SetNormal() { options = ENTRY_NORMAL; }
|
||||
|
||||
void SetDescription( const wxString& aDescription )
|
||||
{
|
||||
description = aDescription;
|
||||
}
|
||||
|
||||
wxString GetDescription() { return description; }
|
||||
|
||||
void SetKeyWords( const wxString& aKeyWords )
|
||||
{
|
||||
keyWords = aKeyWords;
|
||||
}
|
||||
|
||||
wxString GetKeyWords() { return keyWords; }
|
||||
|
||||
void SetDocFileName( const wxString& aDocFileName )
|
||||
{
|
||||
docFileName = aDocFileName;
|
||||
}
|
||||
|
||||
wxString GetDocFileName() { return docFileName; }
|
||||
|
||||
/**
|
||||
* Write the entry document information to a FILE in "*.dcm" format.
|
||||
|
@ -76,26 +116,19 @@ public:
|
|||
/**
|
||||
* Case insensitive comparison of the component entry name.
|
||||
*/
|
||||
bool operator==( const wxChar* name ) const;
|
||||
bool operator!=( const wxChar* name ) const
|
||||
bool operator==( const wxChar* aName ) const;
|
||||
bool operator!=( const wxChar* aName ) const
|
||||
{
|
||||
return !( *this == name );
|
||||
return !( *this == aName );
|
||||
}
|
||||
|
||||
protected:
|
||||
wxString m_Name;
|
||||
|
||||
/** Library object that entry is attached to. */
|
||||
CMP_LIBRARY* m_lib;
|
||||
};
|
||||
|
||||
|
||||
typedef boost::ptr_vector< CMP_LIB_ENTRY > LIB_ENTRY_LIST;
|
||||
|
||||
extern bool operator<( const CMP_LIB_ENTRY& item1, const CMP_LIB_ENTRY& item2 );
|
||||
extern bool operator<( const CMP_LIB_ENTRY& aItem1, const CMP_LIB_ENTRY& aItem2 );
|
||||
|
||||
extern int LibraryEntryCompare( const CMP_LIB_ENTRY* LE1,
|
||||
const CMP_LIB_ENTRY* LE2 );
|
||||
extern int LibraryEntryCompare( const CMP_LIB_ENTRY* aItem1, const CMP_LIB_ENTRY* aItem2 );
|
||||
|
||||
|
||||
/**
|
||||
|
@ -126,8 +159,8 @@ public:
|
|||
long m_LastDate; // Last change Date
|
||||
|
||||
protected:
|
||||
int m_UnitCount; /* Units (or sections) per package */
|
||||
LIB_DRAW_ITEM_LIST m_Drawings; /* How to draw this part */
|
||||
int unitCount; /* Units (parts) per package */
|
||||
LIB_DRAW_ITEM_LIST drawings; /* How to draw this part */
|
||||
|
||||
public:
|
||||
virtual wxString GetClass() const
|
||||
|
@ -136,21 +169,21 @@ public:
|
|||
}
|
||||
|
||||
|
||||
virtual void SetName( const wxString& name )
|
||||
virtual void SetName( const wxString& aName )
|
||||
{
|
||||
CMP_LIB_ENTRY::SetName( name );
|
||||
GetValueField().m_Text = name;
|
||||
CMP_LIB_ENTRY::SetName( aName );
|
||||
GetValueField().m_Text = aName;
|
||||
}
|
||||
|
||||
LIB_COMPONENT( const wxString& name, CMP_LIBRARY* lib = NULL );
|
||||
LIB_COMPONENT( LIB_COMPONENT& component, CMP_LIBRARY* lib = NULL );
|
||||
LIB_COMPONENT( const wxString& aName, CMP_LIBRARY* aLibrary = NULL );
|
||||
LIB_COMPONENT( LIB_COMPONENT& aComponent, CMP_LIBRARY* aLibrary = NULL );
|
||||
|
||||
~LIB_COMPONENT();
|
||||
|
||||
EDA_Rect GetBoundaryBox( int Unit, int Convert );
|
||||
EDA_Rect GetBoundaryBox( int aUnit, int aConvert );
|
||||
|
||||
bool SaveDateAndTime( FILE* ExportFile );
|
||||
bool LoadDateAndTime( char* Line );
|
||||
bool SaveDateAndTime( FILE* aFile );
|
||||
bool LoadDateAndTime( char* aLine );
|
||||
|
||||
/**
|
||||
* Write the data structures out to a FILE in "*.lib" format.
|
||||
|
@ -161,21 +194,21 @@ public:
|
|||
bool Save( FILE* aFile );
|
||||
|
||||
/**
|
||||
* Load component definition from file.
|
||||
* Load component definition from /a aFile.
|
||||
*
|
||||
* @param file - File descriptor of file to load form.
|
||||
* @param line - The first line of the component definition.
|
||||
* @param lineNum - The current line number in the file.
|
||||
* @param errorMsg - Description of error on load failure.
|
||||
* @param aFile - File descriptor of file to load form.
|
||||
* @param aLine - The first line of the component definition.
|
||||
* @param aLineNum - The current line number in the file.
|
||||
* @param aErrorMsg - Description of error on load failure.
|
||||
* @return True if the load was successful, false if there was an error.
|
||||
*/
|
||||
bool Load( FILE* file, char* line, int* lineNum, wxString& errorMsg );
|
||||
bool LoadField( char* line, wxString& errorMsg );
|
||||
bool LoadDrawEntries( FILE* f, char* line,
|
||||
int* lineNum, wxString& errorMsg );
|
||||
bool LoadAliases( char* line, wxString& Error );
|
||||
bool LoadFootprints( FILE* file, char* line,
|
||||
int* lineNum, wxString& errorMsg );
|
||||
bool Load( FILE* aFile, char* aLine, int* aLineNum, wxString& aErrorMsg );
|
||||
bool LoadField( char* aLine, wxString& aErrorMsg );
|
||||
bool LoadDrawEntries( FILE* aFile, char* aLine,
|
||||
int* aLineNum, wxString& aErrorMsg );
|
||||
bool LoadAliases( char* aLine, wxString& aErrorMsg );
|
||||
bool LoadFootprints( FILE* aFile, char* aLine,
|
||||
int* aLineNum, wxString& aErrorMsg );
|
||||
|
||||
/**
|
||||
* Initialize fields from a vector of fields.
|
||||
|
@ -187,90 +220,90 @@ public:
|
|||
/**
|
||||
* Return list of field references of component.
|
||||
*
|
||||
* @param list - List to add field references to.
|
||||
* @param aList - List to add field references to.
|
||||
*/
|
||||
void GetFields( LIB_FIELD_LIST& list );
|
||||
void GetFields( LIB_FIELD_LIST& aList );
|
||||
|
||||
/**
|
||||
* Return pointer to the requested field.
|
||||
*
|
||||
* @param id - Id of field to return.
|
||||
* @param aId - Id of field to return.
|
||||
* @return The field if found, otherwise NULL.
|
||||
*/
|
||||
LIB_FIELD* GetField( int id );
|
||||
LIB_FIELD* GetField( int aId );
|
||||
|
||||
/** Return reference to the value field. */
|
||||
LIB_FIELD& GetValueField( void );
|
||||
LIB_FIELD& GetValueField();
|
||||
|
||||
/** Return reference to the reference designator field. */
|
||||
LIB_FIELD& GetReferenceField( void );
|
||||
LIB_FIELD& GetReferenceField();
|
||||
|
||||
/**
|
||||
* Draw component.
|
||||
*
|
||||
* @param panel - Window to draw on.
|
||||
* @param dc - Device context to draw on.
|
||||
* @param offset - Position to component.
|
||||
* @param multi - Component unit if multiple parts per component.
|
||||
* @param convert - Component conversion (DeMorgan) if available.
|
||||
* @param drawMode - Device context drawing mode, see wxDC.
|
||||
* @param color - Color to draw component.
|
||||
* @param transformMatrix - Coordinate adjustment settings.
|
||||
* @param showPinText - Show pin text if true.
|
||||
* @param drawFields - Draw field text if true otherwise just draw
|
||||
* body items (useful to draw a body in schematic,
|
||||
* because fields of schematic components replace
|
||||
* the lib component fields).
|
||||
* @param onlySelected - Draws only the body items that are selected.
|
||||
* Used for block move redraws.
|
||||
* @param aPanel - Window to draw on.
|
||||
* @param aDc - Device context to draw on.
|
||||
* @param aOffset - Position to component.
|
||||
* @param aMulti - Component unit if multiple parts per component.
|
||||
* @param aConvert - Component conversion (DeMorgan) if available.
|
||||
* @param aDrawMode - Device context drawing mode, see wxDC.
|
||||
* @param aColor - Color to draw component.
|
||||
* @param aTransformMatrix - Coordinate adjustment settings.
|
||||
* @param aShowPinText - Show pin text if true.
|
||||
* @param aDrawFields - Draw field text if true otherwise just draw
|
||||
* body items (useful to draw a body in schematic,
|
||||
* because fields of schematic components replace
|
||||
* the lib component fields).
|
||||
* @param aOnlySelected - Draws only the body items that are selected.
|
||||
* Used for block move redraws.
|
||||
*/
|
||||
void Draw( WinEDA_DrawPanel* panel, wxDC* dc, const wxPoint& offset,
|
||||
int multi, int convert, int drawMode, int color = -1,
|
||||
const int transformMatrix[2][2] = DefaultTransformMatrix,
|
||||
bool showPinText = true, bool drawFields = true,
|
||||
bool onlySelected = false );
|
||||
void Draw( WinEDA_DrawPanel* aPanel, wxDC* aDc, const wxPoint& aOffset,
|
||||
int aMulti, int aConvert, int aDrawMode, int aColor = -1,
|
||||
const int aTransform[2][2] = DefaultTransformMatrix,
|
||||
bool aShowPinText = true, bool aDrawFields = true,
|
||||
bool aOnlySelected = false );
|
||||
|
||||
/**
|
||||
* Plot component to plotter.
|
||||
*
|
||||
* @param plotter - Plotter object to plot to.
|
||||
* @param unit - Component part to plot.
|
||||
* @param convert - Component alternate body style to plot.
|
||||
* @param transform - Component plot transform matrix.
|
||||
* @param aPlotter - Plotter object to plot to.
|
||||
* @param aUnit - Component part to plot.
|
||||
* @param aConvert - Component alternate body style to plot.
|
||||
* @param aTransform - Component plot transform matrix.
|
||||
*/
|
||||
void Plot( PLOTTER* plotter, int unit, int convert, const wxPoint& offset,
|
||||
const int transform[2][2] );
|
||||
void Plot( PLOTTER* aPlotter, int aUnit, int aConvert, const wxPoint& aOffset,
|
||||
const int aTransform[2][2] );
|
||||
|
||||
/**
|
||||
* Add a new draw item to the draw object list.
|
||||
* Add a new draw /a aItem to the draw object list.
|
||||
*
|
||||
* @param item - New draw object to add to component.
|
||||
*/
|
||||
void AddDrawItem( LIB_DRAW_ITEM* item );
|
||||
void AddDrawItem( LIB_DRAW_ITEM* aItem );
|
||||
|
||||
/**
|
||||
* Remove draw item from list.
|
||||
* Remove draw /a aItem from list.
|
||||
*
|
||||
* @param item - Draw item to remove from list.
|
||||
* @param panel - Panel to remove part from.
|
||||
* @param dc - Device context to remove part from.
|
||||
* @param aItem - Draw item to remove from list.
|
||||
* @param aPanel - Panel to remove part from.
|
||||
* @param aDc - Device context to remove part from.
|
||||
*/
|
||||
void RemoveDrawItem( LIB_DRAW_ITEM* item,
|
||||
WinEDA_DrawPanel* panel = NULL,
|
||||
wxDC* dc = NULL );
|
||||
void RemoveDrawItem( LIB_DRAW_ITEM* aItem,
|
||||
WinEDA_DrawPanel* aPanel = NULL,
|
||||
wxDC* aDc = NULL );
|
||||
|
||||
/**
|
||||
* Return the next draw object pointer.
|
||||
*
|
||||
* @param item - Pointer to the current draw item. Setting item NULL
|
||||
* with return the first item of type in the list.
|
||||
* @param type - type of searched item (filter).
|
||||
* if TYPE_NOT_INIT search for all items types
|
||||
* @param aItem - Pointer to the current draw item. Setting item NULL
|
||||
* with return the first item of type in the list.
|
||||
* @param aType - type of searched item (filter).
|
||||
* if TYPE_NOT_INIT search for all items types
|
||||
* @return - The next drawing object in the list if found, otherwise NULL.
|
||||
*/
|
||||
|
||||
LIB_DRAW_ITEM* GetNextDrawItem( LIB_DRAW_ITEM* item = NULL,
|
||||
KICAD_T type = TYPE_NOT_INIT );
|
||||
LIB_DRAW_ITEM* GetNextDrawItem( LIB_DRAW_ITEM* aItem = NULL,
|
||||
KICAD_T aType = TYPE_NOT_INIT );
|
||||
|
||||
/**
|
||||
* Return the next pin object from the draw list.
|
||||
|
@ -281,9 +314,9 @@ public:
|
|||
* first pin in the draw object list.
|
||||
* @return - The next pin object in the list if found, otherwise NULL.
|
||||
*/
|
||||
LIB_PIN* GetNextPin( LIB_PIN* item = NULL )
|
||||
LIB_PIN* GetNextPin( LIB_PIN* aItem = NULL )
|
||||
{
|
||||
return (LIB_PIN*) GetNextDrawItem( (LIB_DRAW_ITEM*) item,
|
||||
return (LIB_PIN*) GetNextDrawItem( (LIB_DRAW_ITEM*) aItem,
|
||||
COMPONENT_PIN_DRAW_TYPE );
|
||||
}
|
||||
|
||||
|
@ -295,32 +328,32 @@ public:
|
|||
* Deleting any of the objects will leave list in a unstable state
|
||||
* and will likely segfault when the list is destroyed.
|
||||
*
|
||||
* @param list - Pin list to place pin object pointers into.
|
||||
* @param unit - Unit number of pin to add to list. Set to 0 to
|
||||
* get pins from any component part.
|
||||
* @param convert - Convert number of pin to add to list. Set to 0 to
|
||||
* get pins from any convert of component.
|
||||
* @param aList - Pin list to place pin object pointers into.
|
||||
* @param aUnit - Unit number of pin to add to list. Set to 0 to
|
||||
* get pins from any component part.
|
||||
* @param aConvert - Convert number of pin to add to list. Set to 0 to
|
||||
* get pins from any convert of component.
|
||||
*/
|
||||
void GetPins( LIB_PIN_LIST& pins, int unit = 0, int convert = 0 );
|
||||
void GetPins( LIB_PIN_LIST& aList, int aUnit = 0, int aConvert = 0 );
|
||||
|
||||
/**
|
||||
* Return pin object with the requested pin number.
|
||||
* Return pin object with the requested pin /a aNumber.
|
||||
*
|
||||
* @param number - Number of the pin to find.
|
||||
* @param unit - Unit of the component to find. Set to 0 if a specific
|
||||
* unit number is not required.
|
||||
* @param convert - Alternate body style filter (DeMorgan). Set to 0 if
|
||||
* no alternate body style is required.
|
||||
* @param aNumber - Number of the pin to find.
|
||||
* @param aUnit - Unit of the component to find. Set to 0 if a specific
|
||||
* unit number is not required.
|
||||
* @param aConvert - Alternate body style filter (DeMorgan). Set to 0 if
|
||||
* no alternate body style is required.
|
||||
* @return The pin object if found. Otherwise NULL.
|
||||
*/
|
||||
LIB_PIN* GetPin( const wxString& number, int unit = 0, int convert = 0 );
|
||||
LIB_PIN* GetPin( const wxString& aNumber, int aUnit = 0, int aConvert = 0 );
|
||||
|
||||
/**
|
||||
* Move the component offset.
|
||||
* Move the component /a aOffset.
|
||||
*
|
||||
* @param offset - Offset displacement.
|
||||
* @param aOffset - Offset displacement.
|
||||
*/
|
||||
void SetOffset( const wxPoint& offset );
|
||||
void SetOffset( const wxPoint& aOffset );
|
||||
|
||||
/**
|
||||
* Remove duplicate draw items from list.
|
||||
|
@ -335,23 +368,23 @@ public:
|
|||
bool HasConversion() const;
|
||||
|
||||
/**
|
||||
* Test if alias name is in component alias list.
|
||||
* Test if alias /a aName is in component alias list.
|
||||
*
|
||||
* Alias name comparisons are case insensitive.
|
||||
*
|
||||
* @param name - Name of alias.
|
||||
* @param aName - Name of alias.
|
||||
* @return True if alias name in alias list.
|
||||
*/
|
||||
bool HasAlias( const wxChar* name )
|
||||
bool HasAlias( const wxChar* aName )
|
||||
{
|
||||
wxASSERT( name != NULL );
|
||||
return m_AliasList.Index( name ) != wxNOT_FOUND;
|
||||
wxASSERT( aName != NULL );
|
||||
return m_AliasList.Index( aName ) != wxNOT_FOUND;
|
||||
}
|
||||
|
||||
/**
|
||||
* Clears the status flag all draw objects in this component.
|
||||
*/
|
||||
void ClearStatus( void );
|
||||
void ClearStatus();
|
||||
|
||||
/**
|
||||
* Checks all draw objects of component to see if they are with block.
|
||||
|
@ -359,21 +392,21 @@ public:
|
|||
* Use this method to mark draw objects as selected during block
|
||||
* functions.
|
||||
*
|
||||
* @param rect - The bounding rectangle to test in draw items are inside.
|
||||
* @param unit - The current unit number to test against.
|
||||
* @param convert - Are the draw items being selected a conversion.
|
||||
* @param editPinByPin - Used to ignore pin selections when in edit pin
|
||||
* by pin mode is enabled.
|
||||
* @param aRect - The bounding rectangle to test in draw items are inside.
|
||||
* @param aUnit - The current unit number to test against.
|
||||
* @param aConvert - Are the draw items being selected a conversion.
|
||||
* @param aEditPinByPin - Used to ignore pin selections when in edit pin
|
||||
* by pin mode is enabled.
|
||||
* @return The number of draw objects found inside the block select
|
||||
* rectangle.
|
||||
*/
|
||||
int SelectItems( EDA_Rect& rect, int unit, int convert,
|
||||
bool editPinByPin );
|
||||
int SelectItems( EDA_Rect& aRect, int aUnit, int aConvert,
|
||||
bool aEditPinByPin );
|
||||
|
||||
/**
|
||||
* Clears all the draw items marked by a block select.
|
||||
*/
|
||||
void ClearSelectedItems( void );
|
||||
void ClearSelectedItems();
|
||||
|
||||
/**
|
||||
* Deletes the select draw items marked by a block select.
|
||||
|
@ -382,12 +415,12 @@ public:
|
|||
* minimum drawing items required for any component. Their properties
|
||||
* can be changed but the cannot be removed.
|
||||
*/
|
||||
void DeleteSelectedItems( void );
|
||||
void DeleteSelectedItems();
|
||||
|
||||
/**
|
||||
* Move the selected draw items marked by a block select.
|
||||
*/
|
||||
void MoveSelectedItems( const wxPoint& offset );
|
||||
void MoveSelectedItems( const wxPoint& aOffset );
|
||||
|
||||
/**
|
||||
* Make a copy of the selected draw items marked by a block select.
|
||||
|
@ -396,47 +429,47 @@ public:
|
|||
* Copying fields would result in duplicate fields which does not
|
||||
* make sense in this context.
|
||||
*/
|
||||
void CopySelectedItems( const wxPoint& offset );
|
||||
void CopySelectedItems( const wxPoint& aOffset );
|
||||
|
||||
/**
|
||||
* Horizontally (X axis) mirror selected draw items about a point.
|
||||
*
|
||||
* @param center - Center point to mirror around.
|
||||
* @param aCenter - Center point to mirror around.
|
||||
*/
|
||||
void MirrorSelectedItemsH( const wxPoint& center );
|
||||
void MirrorSelectedItemsH( const wxPoint& aCenter );
|
||||
|
||||
/**
|
||||
* Locate a draw object.
|
||||
*
|
||||
* @param unit - Unit number of draw item.
|
||||
* @param convert - Body style of draw item.
|
||||
* @param type - Draw object type, set to 0 to search for any type.
|
||||
* @param pt - Coordinate for hit testing.
|
||||
* @param aUnit - Unit number of draw item.
|
||||
* @param aConvert - Body style of draw item.
|
||||
* @param aType - Draw object type, set to 0 to search for any type.
|
||||
* @param aPoint - Coordinate for hit testing.
|
||||
* @return The draw object if found. Otherwise NULL.
|
||||
*/
|
||||
LIB_DRAW_ITEM* LocateDrawItem( int unit, int convert, KICAD_T type,
|
||||
const wxPoint& pt );
|
||||
LIB_DRAW_ITEM* LocateDrawItem( int aUnit, int aConvert, KICAD_T aType,
|
||||
const wxPoint& aPoint );
|
||||
|
||||
/**
|
||||
* Locate a draw object (overlaid)
|
||||
*
|
||||
* @param unit - Unit number of draw item.
|
||||
* @param convert - Body style of draw item.
|
||||
* @param type - Draw object type, set to 0 to search for any type.
|
||||
* @param pt - Coordinate for hit testing.
|
||||
* @param aTransMat = the transform matrix
|
||||
* @param aUnit - Unit number of draw item.
|
||||
* @param aConvert - Body style of draw item.
|
||||
* @param aType - Draw object type, set to 0 to search for any type.
|
||||
* @param aPoint - Coordinate for hit testing.
|
||||
* @param aTransform = the transform matrix
|
||||
* @return The draw object if found. Otherwise NULL.
|
||||
*/
|
||||
LIB_DRAW_ITEM* LocateDrawItem( int unit, int convert, KICAD_T type,
|
||||
const wxPoint& pt,
|
||||
const int aTransMat[2][2] );
|
||||
LIB_DRAW_ITEM* LocateDrawItem( int aUnit, int aConvert, KICAD_T aType,
|
||||
const wxPoint& aPoint,
|
||||
const int aTransfrom[2][2] );
|
||||
|
||||
/**
|
||||
* Return a reference to the draw item list.
|
||||
*
|
||||
* @return LIB_DRAW_ITEM_LIST& - Reference to the draw item object list.
|
||||
*/
|
||||
LIB_DRAW_ITEM_LIST& GetDrawItemList( void ) { return m_Drawings; }
|
||||
LIB_DRAW_ITEM_LIST& GetDrawItemList() { return drawings; }
|
||||
|
||||
/**
|
||||
* Set the part per package count.
|
||||
|
@ -450,7 +483,7 @@ public:
|
|||
*/
|
||||
void SetPartCount( int count );
|
||||
|
||||
int GetPartCount( void ) { return m_UnitCount; }
|
||||
int GetPartCount() { return unitCount; }
|
||||
|
||||
/**
|
||||
* Set or clear the alternate body style (DeMorgan) for the component.
|
||||
|
@ -461,9 +494,9 @@ public:
|
|||
* asConvert is true, than the base draw items are duplicated and
|
||||
* added to the component.
|
||||
*
|
||||
* @param asConvert - Set or clear the component alternate body style.
|
||||
* @param aSetConvert - Set or clear the component alternate body style.
|
||||
*/
|
||||
void SetConversion( bool asConvert );
|
||||
void SetConversion( bool aSetConvert );
|
||||
};
|
||||
|
||||
|
||||
|
@ -476,12 +509,19 @@ public:
|
|||
class LIB_ALIAS : public CMP_LIB_ENTRY
|
||||
{
|
||||
protected:
|
||||
LIB_COMPONENT* m_root; /* Root component of the alias. */
|
||||
/**
|
||||
* The actual component of the alias.
|
||||
*
|
||||
* @note - Do not delete the root component. The root component is owned
|
||||
* by library the component is part of. Deleting the root component
|
||||
* will likely cause EESchema to crash.
|
||||
*/
|
||||
LIB_COMPONENT* root;
|
||||
|
||||
public:
|
||||
LIB_ALIAS( const wxString& name, LIB_COMPONENT* root,
|
||||
CMP_LIBRARY* lib = NULL );
|
||||
LIB_ALIAS( LIB_ALIAS& alias, CMP_LIBRARY* lib = NULL );
|
||||
LIB_ALIAS( const wxString& aName, LIB_COMPONENT* aComponent,
|
||||
CMP_LIBRARY* aLibrary = NULL );
|
||||
LIB_ALIAS( LIB_ALIAS& aAlias, CMP_LIBRARY* aLibrary = NULL );
|
||||
~LIB_ALIAS();
|
||||
|
||||
virtual wxString GetClass() const
|
||||
|
@ -492,15 +532,15 @@ public:
|
|||
/**
|
||||
* Get the alias root component.
|
||||
*/
|
||||
LIB_COMPONENT* GetComponent( void ) const
|
||||
LIB_COMPONENT* GetComponent() const
|
||||
{
|
||||
return m_root;
|
||||
return root;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the alias root component.
|
||||
*/
|
||||
void SetComponent( LIB_COMPONENT* component );
|
||||
void SetComponent( LIB_COMPONENT* aComponent );
|
||||
};
|
||||
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -61,15 +61,13 @@ class CMP_LIBRARY
|
|||
{
|
||||
public:
|
||||
int m_Type; /* type indicator */
|
||||
wxString m_Header; /* first line of loaded library. */
|
||||
unsigned long m_TimeStamp; // Signature temporelle
|
||||
int m_Flags; // variable used in some functions
|
||||
int m_Flags;
|
||||
|
||||
public:
|
||||
CMP_LIBRARY( int type, const wxFileName& fullname );
|
||||
CMP_LIBRARY( int type, const wxString& fullname )
|
||||
CMP_LIBRARY( int aType, const wxFileName& aFileName );
|
||||
CMP_LIBRARY( int aType, const wxString& aFileName )
|
||||
{
|
||||
CMP_LIBRARY( type, wxFileName( fullname ) );
|
||||
CMP_LIBRARY( aType, wxFileName( aFileName ) );
|
||||
}
|
||||
~CMP_LIBRARY();
|
||||
|
||||
|
@ -86,12 +84,12 @@ public:
|
|||
* component library already exists, it is backup up in file *.bak.
|
||||
*
|
||||
* @param aFullFileName - The library filename with path.
|
||||
* @param oldDocFormat - Save the document information in a separate
|
||||
* file if true. The default is to save as the
|
||||
* current library file format.
|
||||
* @param aOldDocFormat - Save the document information in a separate
|
||||
* file if true. The default is to save as the
|
||||
* current library file format.
|
||||
* @return True if success writing else false.
|
||||
*/
|
||||
bool Save( const wxString& aFullFileName, bool oldDocFormat = false );
|
||||
bool Save( const wxString& aFullFileName, bool aOldDocFormat = false );
|
||||
|
||||
/**
|
||||
* Save library document information to file.
|
||||
|
@ -102,25 +100,25 @@ public:
|
|||
* @param aFullFileName - The library filename with path.
|
||||
* @return True if success writing else false.
|
||||
*/
|
||||
bool SaveDocFile( const wxString& FullFileName );
|
||||
bool SaveDocFile( const wxString& aFullFileName );
|
||||
|
||||
/**
|
||||
* Load library from file.
|
||||
*
|
||||
* @param errMsg - Error message if load fails.
|
||||
* @param aErrorMsg - Error message if load fails.
|
||||
* @return True if load was successful otherwise false.
|
||||
*/
|
||||
bool Load( wxString& errMsg );
|
||||
bool Load( wxString& aErrorMsg );
|
||||
|
||||
bool LoadDocs( wxString& errMsg );
|
||||
bool LoadDocs( wxString& aErrorMsg );
|
||||
|
||||
private:
|
||||
bool SaveHeader( FILE* file );
|
||||
bool SaveHeader( FILE* aFile );
|
||||
|
||||
bool LoadHeader( FILE* file, int* LineNum );
|
||||
void LoadAliases( LIB_COMPONENT* component );
|
||||
bool LoadHeader( FILE* aFile, int* aLineNum );
|
||||
void LoadAliases( LIB_COMPONENT* aComponent );
|
||||
|
||||
void RemoveEntry( const wxString& name );
|
||||
void RemoveEntry( const wxString& aName );
|
||||
|
||||
public:
|
||||
/**
|
||||
|
@ -130,7 +128,7 @@ public:
|
|||
*/
|
||||
bool IsEmpty() const
|
||||
{
|
||||
return m_Entries.empty();
|
||||
return entries.empty();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -140,29 +138,29 @@ public:
|
|||
*/
|
||||
int GetCount() const
|
||||
{
|
||||
return m_Entries.size();
|
||||
return entries.size();
|
||||
}
|
||||
|
||||
bool IsModified() const
|
||||
{
|
||||
return m_IsModified;
|
||||
return isModified;
|
||||
}
|
||||
|
||||
bool IsCache() const { return m_IsCache; }
|
||||
bool IsCache() const { return isCache; }
|
||||
|
||||
void SetModified( void ) { m_IsModified = true; }
|
||||
void SetModified( void ) { isModified = true; }
|
||||
|
||||
void SetCache( void ) { m_IsCache = true; }
|
||||
void SetCache( void ) { isCache = true; }
|
||||
|
||||
/**
|
||||
* Load a string array with the names of all the entries in this library.
|
||||
*
|
||||
* @param names - String array to place entry names into.
|
||||
* @param sort - Sort names if true.
|
||||
* @param makeUpperCase - Force entry names to upper case.
|
||||
* @param aNames - String array to place entry names into.
|
||||
* @param aSort - Sort names if true.
|
||||
* @param aMakeUpperCase - Force entry names to upper case.
|
||||
*/
|
||||
void GetEntryNames( wxArrayString& names, bool sort = true,
|
||||
bool makeUpperCase = true );
|
||||
void GetEntryNames( wxArrayString& aNames, bool aSort = true,
|
||||
bool aMakeUpperCase = true );
|
||||
|
||||
/**
|
||||
* Load string array with entry names matching name and/or key word.
|
||||
|
@ -171,72 +169,70 @@ public:
|
|||
* WildCompareString(). The names array will be populated with the
|
||||
* library entry names that meat the search criteria on exit.
|
||||
*
|
||||
* @param names - String array to place entry names into.
|
||||
* @param nameSearch - Name wild card search criteria.
|
||||
* @param keySearch - Key word search criteria.
|
||||
* @param sort - Sort names if true.
|
||||
* @param aNames - String array to place entry names into.
|
||||
* @param aNameSearch - Name wild card search criteria.
|
||||
* @param aKeySearch - Key word search criteria.
|
||||
* @param aSort - Sort names if true.
|
||||
*/
|
||||
void SearchEntryNames( wxArrayString& names,
|
||||
const wxString& nameSearch = wxEmptyString,
|
||||
const wxString& keySearch = wxEmptyString,
|
||||
bool sort = true );
|
||||
void SearchEntryNames( wxArrayString& aNames,
|
||||
const wxString& aNameSearch = wxEmptyString,
|
||||
const wxString& aKeySearch = wxEmptyString,
|
||||
bool aSort = true );
|
||||
|
||||
/**
|
||||
* Find components in library by key word regular expression search.
|
||||
*
|
||||
* @param names - String array to place found component names into.
|
||||
* @param re - Regular expression used to seach component key words.
|
||||
* @param sort - Sort component name list.
|
||||
* @param aNames - String array to place found component names into.
|
||||
* @param aRe - Regular expression used to seach component key words.
|
||||
* @param aSort - Sort component name list.
|
||||
*/
|
||||
void SearchEntryNames( wxArrayString& names, const wxRegEx& re,
|
||||
bool sort = true );
|
||||
void SearchEntryNames( wxArrayString& aNames, const wxRegEx& aRe,
|
||||
bool aSort = true );
|
||||
|
||||
/**
|
||||
* Find entry by name.
|
||||
*
|
||||
* @param name - Name of entry, case insensitive.
|
||||
* @return Pointer to entry if found. NULL if not found.
|
||||
* @param aName - Name of entry, case insensitive.
|
||||
* @return Entry if found. NULL if not found.
|
||||
*/
|
||||
CMP_LIB_ENTRY* FindEntry( const wxChar* name );
|
||||
CMP_LIB_ENTRY* FindEntry( const wxChar* aName );
|
||||
|
||||
/**
|
||||
* Find entry by name and type.
|
||||
* Find entry by /a aName and /a aType.
|
||||
*
|
||||
* @param name - Name of entry, case insensitive.
|
||||
* @param type - Type of entry, root or alias.
|
||||
* @return Pointer to entry if found. NULL if not found.
|
||||
* @param aName - Name of entry, case insensitive.
|
||||
* @param aType - Type of entry, root or alias.
|
||||
* @return Entry if found. NULL if not found.
|
||||
*/
|
||||
CMP_LIB_ENTRY* FindEntry( const wxChar* name, LibrEntryType type );
|
||||
CMP_LIB_ENTRY* FindEntry( const wxChar* aName, LibrEntryType aType );
|
||||
|
||||
/**
|
||||
* Find component by name.
|
||||
* Find component by /a aName.
|
||||
*
|
||||
* This is a helper for FindEntry so casting a CMP_LIB_ENTRY pointer to
|
||||
* a LIB_COMPONENT pointer is not required.
|
||||
*
|
||||
* @param name - Name of component, case insensitive.
|
||||
* @param searchAliases - Searches for component by alias name as well as
|
||||
* component name if true.
|
||||
* @return Pointer to component if found. NULL if not found.
|
||||
* @param aName - Name of component, case insensitive.
|
||||
* @return Component if found. NULL if not found.
|
||||
*/
|
||||
LIB_COMPONENT* FindComponent( const wxChar* name );
|
||||
LIB_COMPONENT* FindComponent( const wxChar* aName );
|
||||
|
||||
/**
|
||||
* Find alias by name.
|
||||
* Find alias by /a nName.
|
||||
*
|
||||
* This is a helper for FindEntry so casting a CMP_LIB_ENTRY pointer to
|
||||
* a LIB_ALIAS pointer is not required.
|
||||
*
|
||||
* @param name - Name of alias, case insensitive.
|
||||
* @return Pointer to alias if found. NULL if not found.
|
||||
* @param aName - Name of alias, case insensitive.
|
||||
* @return Alias if found. NULL if not found.
|
||||
*/
|
||||
LIB_ALIAS* FindAlias( const wxChar* name )
|
||||
LIB_ALIAS* FindAlias( const wxChar* aName )
|
||||
{
|
||||
return (LIB_ALIAS*) FindEntry( name, ALIAS );
|
||||
return (LIB_ALIAS*) FindEntry( aName, ALIAS );
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a new alias entry to the library.
|
||||
* Add a new /a aAlias entry to the library.
|
||||
*
|
||||
* First check if a component or alias with the same name already exists
|
||||
* in the library and add alias if no conflict occurs. Once the alias
|
||||
|
@ -244,21 +240,21 @@ public:
|
|||
* alias pointer will render the library unstable. Use RemoveEntry to
|
||||
* remove the alias from the library.
|
||||
*
|
||||
* @param alias - Alias to add to library.
|
||||
* @return True if alias added to library. False if conflict exists.
|
||||
* @param aAlias - Alias to add to library.
|
||||
* @return True if alias added to library. False if a conflict exists.
|
||||
*/
|
||||
bool AddAlias( LIB_ALIAS* alias );
|
||||
bool AddAlias( LIB_ALIAS* aAlias );
|
||||
|
||||
/**
|
||||
* Add component entry to library.
|
||||
* Add /a aComponent entry to library.
|
||||
*
|
||||
* @param cmp - Component to add.
|
||||
* @return Pointer to added component if successful.
|
||||
* @param aComponent - Component to add.
|
||||
* @return Added component if successful.
|
||||
*/
|
||||
LIB_COMPONENT* AddComponent( LIB_COMPONENT* cmp );
|
||||
LIB_COMPONENT* AddComponent( LIB_COMPONENT* aComponent );
|
||||
|
||||
/**
|
||||
* Remove an entry from the library.
|
||||
* Remove an /a aEntry from the library.
|
||||
*
|
||||
* If the entry is an alias, the alias is removed from the library and from
|
||||
* the alias list of the root component. If the entry is a root component
|
||||
|
@ -267,18 +263,18 @@ public:
|
|||
* the first alias and the root name for all remaining aliases are updated
|
||||
* to reflect the new root name.
|
||||
*
|
||||
* @param entry - Entry to remove from library.
|
||||
* @param aEntry - Entry to remove from library.
|
||||
*/
|
||||
void RemoveEntry( CMP_LIB_ENTRY* entry );
|
||||
void RemoveEntry( CMP_LIB_ENTRY* aEntry );
|
||||
|
||||
/**
|
||||
* Replace an existing component entry in the library.
|
||||
*
|
||||
* @param oldComponent - The component to replace.
|
||||
* @param newComponent - The new component.
|
||||
* @param aOldComponent - The component to replace.
|
||||
* @param aNewComponent - The new component.
|
||||
*/
|
||||
LIB_COMPONENT* ReplaceComponent( LIB_COMPONENT* oldComponent,
|
||||
LIB_COMPONENT* newComponent );
|
||||
LIB_COMPONENT* ReplaceComponent( LIB_COMPONENT* aOldComponent,
|
||||
LIB_COMPONENT* aNewComponent );
|
||||
|
||||
/**
|
||||
* Return the first entry in the library.
|
||||
|
@ -287,55 +283,55 @@ public:
|
|||
*/
|
||||
CMP_LIB_ENTRY* GetFirstEntry()
|
||||
{
|
||||
return &m_Entries.front();
|
||||
return &entries.front();
|
||||
}
|
||||
|
||||
/**
|
||||
* Find next library entry by name.
|
||||
* Find next library entry by /a aName.
|
||||
*
|
||||
* If the name of the entry is the last entry in the library, the first
|
||||
* entry in the list is returned.
|
||||
*
|
||||
* @param name - Name of current entry.
|
||||
* @return Pointer to next entry if entry name is found. Otherwise NULL.
|
||||
* @param aName - Name of current entry.
|
||||
* @return Next entry if entry name is found. Otherwise NULL.
|
||||
*/
|
||||
CMP_LIB_ENTRY* GetNextEntry( const wxChar* name );
|
||||
CMP_LIB_ENTRY* GetNextEntry( const wxChar* aName );
|
||||
|
||||
|
||||
/**
|
||||
* Find previous library entry by name.
|
||||
* Find previous library entry by /a aName.
|
||||
*
|
||||
* If the name of the entry is the first entry in the library, the last
|
||||
* entry in the list is returned.
|
||||
*
|
||||
* @param name - Name of current entry.
|
||||
* @param aName - Name of current entry.
|
||||
* @return Previous entry if entry name is found, otherwise NULL.
|
||||
*/
|
||||
CMP_LIB_ENTRY* GetPreviousEntry( const wxChar* name );
|
||||
CMP_LIB_ENTRY* GetPreviousEntry( const wxChar* aName );
|
||||
|
||||
/**
|
||||
* Return the file name without path or extension.
|
||||
*
|
||||
* @return Name of library file.
|
||||
*/
|
||||
wxString GetName() const { return m_fileName.GetName(); }
|
||||
wxString GetName() const { return fileName.GetName(); }
|
||||
|
||||
/**
|
||||
* Return the full file library name with path and extension.
|
||||
*
|
||||
* @return Full library file name with path and extension.
|
||||
*/
|
||||
wxString GetFullFileName() { return m_fileName.GetFullPath(); }
|
||||
wxString GetFullFileName() { return fileName.GetFullPath(); }
|
||||
|
||||
/**
|
||||
* Set the component library file name.
|
||||
*
|
||||
* @param fileName - New library file name.
|
||||
* @param aFileName - New library file name.
|
||||
*/
|
||||
void SetFileName( const wxFileName fileName )
|
||||
void SetFileName( const wxFileName aFileName )
|
||||
{
|
||||
if( fileName != m_fileName )
|
||||
m_fileName = fileName;
|
||||
if( aFileName != fileName )
|
||||
fileName = aFileName;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -348,57 +344,57 @@ public:
|
|||
/**
|
||||
* Load a component library file.
|
||||
*
|
||||
* @param fileName - File name of the component library to load.
|
||||
* @param errMsg - Error message if the component library failed to load.
|
||||
* @param aFileName - File name of the component library to load.
|
||||
* @param aErrorMsg - Error message if the component library failed to load.
|
||||
* @return Library object if library file loaded successfully,
|
||||
* otherwise NULL.
|
||||
*/
|
||||
static CMP_LIBRARY* LoadLibrary( const wxFileName& fileName,
|
||||
wxString& errMsg );
|
||||
static CMP_LIBRARY* LoadLibrary( const wxFileName& aFileName,
|
||||
wxString& aErrorMsg );
|
||||
|
||||
/**
|
||||
* Add a compnent library to the library list.
|
||||
*
|
||||
* @param fileName - File name object of component library.
|
||||
* @param errMsg - Error message if the component library failed to load.
|
||||
* @param aFileName - File name object of component library.
|
||||
* @param aErrorMsg - Error message if the component library failed to load.
|
||||
* @return True if library loaded properly otherwise false.
|
||||
*/
|
||||
static bool AddLibrary( const wxFileName& fileName, wxString& errMsg );
|
||||
static bool AddLibrary( const wxFileName& aFileName, wxString& aErrorMsg );
|
||||
|
||||
/**
|
||||
* Insert a compnent library to the library list.
|
||||
*
|
||||
* @param fileName - File name object of component library.
|
||||
* @param errMsg - Error message if the component library failed to load.
|
||||
* @param i - Iterator to insert library in front of.
|
||||
* @param aFileName - File name object of component library.
|
||||
* @param aErrerMsg - Error message if the component library failed to load.
|
||||
* @param aIteratir - Iterator to insert library in front of.
|
||||
* @return True if library loaded properly otherwise false.
|
||||
*/
|
||||
static bool AddLibrary( const wxFileName& fileName, wxString& errMsg,
|
||||
CMP_LIBRARY_LIST::iterator& i );
|
||||
static bool AddLibrary( const wxFileName& aFileName, wxString& aErrorMsg,
|
||||
CMP_LIBRARY_LIST::iterator& aIterator );
|
||||
|
||||
/**
|
||||
* Remove component library from the library list.
|
||||
*
|
||||
* @param name - Name of component library to remove.
|
||||
* @param aName - Name of component library to remove.
|
||||
*/
|
||||
static void RemoveLibrary( const wxString& name );
|
||||
static void RemoveLibrary( const wxString& aName );
|
||||
|
||||
/**
|
||||
* Find component library by name.
|
||||
* Find component library by /a aName.
|
||||
*
|
||||
* @param name - Library file name without path or extension to find.
|
||||
* @return Pointer to component library if found, otherwise NULL.
|
||||
* @param aName - Library file name without path or extension to find.
|
||||
* @return Component library if found, otherwise NULL.
|
||||
*/
|
||||
static CMP_LIBRARY* FindLibrary( const wxString& name );
|
||||
static CMP_LIBRARY* FindLibrary( const wxString& aName );
|
||||
|
||||
/**
|
||||
* Get the list of component library file names without path and extension.
|
||||
*
|
||||
* @param sorted - Sort the list of name if true. Otherwise use the
|
||||
* library load order.
|
||||
* @param aSorted - Sort the list of name if true. Otherwise use the
|
||||
* library load order.
|
||||
* @return The list of library names.
|
||||
*/
|
||||
static wxArrayString GetLibraryNames( bool sorted = true );
|
||||
static wxArrayString GetLibraryNames( bool aSorted = true );
|
||||
|
||||
/**
|
||||
* Search all libraries in the list for a component.
|
||||
|
@ -406,60 +402,60 @@ public:
|
|||
* A component object will always be returned. If the entry found
|
||||
* is an alias. The root component will be found and returned.
|
||||
*
|
||||
* @param name - Name of component to search for.
|
||||
* @param libNaem - Name of the library to search for component.
|
||||
* @param aCompoentName - Name of component to search for.
|
||||
* @param aLibraryName - Name of the library to search for component.
|
||||
* @return The component object if found, otherwise NULL.
|
||||
*/
|
||||
static LIB_COMPONENT* FindLibraryComponent(
|
||||
const wxString& name, const wxString& libName = wxEmptyString );
|
||||
static LIB_COMPONENT* FindLibraryComponent( const wxString& aComponentName,
|
||||
const wxString& aLibraryName = wxEmptyString );
|
||||
|
||||
/**
|
||||
* Search all libraries in the list for an entry.
|
||||
*
|
||||
* The object can be either a component or an alias.
|
||||
*
|
||||
* @param name - Name of component to search for.
|
||||
* @param libNaem - Name of the library to search for entry.
|
||||
* @param aEntryName - Name of entry to search for.
|
||||
* @param aLibraryName - Name of the library to search.
|
||||
* @return The entry object if found, otherwise NULL.
|
||||
*/
|
||||
static CMP_LIB_ENTRY* FindLibraryEntry(
|
||||
const wxString& name,
|
||||
const wxString& libName = wxEmptyString );
|
||||
static CMP_LIB_ENTRY* FindLibraryEntry( const wxString& aEntryName,
|
||||
const wxString& aLibraryName = wxEmptyString );
|
||||
|
||||
/**
|
||||
* Remove all cache libraries from library list.
|
||||
*/
|
||||
static void RemoveCacheLibrary( void );
|
||||
static void RemoveCacheLibrary();
|
||||
|
||||
static int GetLibraryCount( void ) { return m_LibraryList.size(); }
|
||||
static int GetLibraryCount() { return libraryList.size(); }
|
||||
|
||||
static CMP_LIBRARY_LIST& GetLibraryList( void )
|
||||
static CMP_LIBRARY_LIST& GetLibraryList()
|
||||
{
|
||||
return m_LibraryList;
|
||||
return libraryList;
|
||||
}
|
||||
|
||||
static void SetSortOrder( const wxArrayString& sortOrder )
|
||||
static void SetSortOrder( const wxArrayString& aSortOrder )
|
||||
{
|
||||
m_LibraryListSortOrder = sortOrder;
|
||||
libraryListSortOrder = aSortOrder;
|
||||
}
|
||||
|
||||
static wxArrayString& GetSortOrder( void )
|
||||
{
|
||||
return m_LibraryListSortOrder;
|
||||
return libraryListSortOrder;
|
||||
}
|
||||
|
||||
protected:
|
||||
wxFileName m_fileName; /* Library file name. */
|
||||
wxDateTime m_DateTime; /* Library save time and date. */
|
||||
int m_verMajor; /* Library major version number. */
|
||||
int m_verMinor; /* Library minor version number. */
|
||||
LIB_ENTRY_LIST m_Entries; /* Parts themselves are saved here. */
|
||||
bool m_IsModified; /* Library modification status. */
|
||||
bool m_IsCache; /* False for the "standard" libraries,
|
||||
wxFileName fileName; /* Library file name. */
|
||||
wxDateTime timeStamp; /* Library save time and date. */
|
||||
int versionMajor; /* Library major version number. */
|
||||
int versionMinor; /* Library minor version number. */
|
||||
LIB_ENTRY_LIST entries; /* Parts themselves are saved here. */
|
||||
bool isModified; /* Library modification status. */
|
||||
bool isCache; /* False for the "standard" libraries,
|
||||
* True for the library cache */
|
||||
wxString header; /* first line of loaded library. */
|
||||
|
||||
static CMP_LIBRARY_LIST m_LibraryList;
|
||||
static wxArrayString m_LibraryListSortOrder;
|
||||
static CMP_LIBRARY_LIST libraryList;
|
||||
static wxArrayString libraryListSortOrder;
|
||||
|
||||
friend class CMP_LIB_ENTRY;
|
||||
};
|
||||
|
@ -468,7 +464,7 @@ protected:
|
|||
/**
|
||||
* Case insensitive library name comparison.
|
||||
*/
|
||||
extern bool operator==( const CMP_LIBRARY& lib, const wxChar* name );
|
||||
extern bool operator!=( const CMP_LIBRARY& lib, const wxChar* name );
|
||||
extern bool operator==( const CMP_LIBRARY& aLibrary, const wxChar* aName );
|
||||
extern bool operator!=( const CMP_LIBRARY& aLibrary, const wxChar* aName );
|
||||
|
||||
#endif // CLASS_LIBRARY_H
|
||||
|
|
|
@ -525,7 +525,7 @@ LIB_PIN* SCH_COMPONENT::GetPin( const wxString& number )
|
|||
if( Entry == NULL )
|
||||
return NULL;
|
||||
|
||||
wxASSERT( Entry->Type == ROOT );
|
||||
wxASSERT( Entry->isComponent() );
|
||||
|
||||
return Entry->GetPin( number, m_Multi, m_Convert );
|
||||
}
|
||||
|
@ -1099,7 +1099,7 @@ void SCH_COMPONENT::DisplayInfo( WinEDA_DrawFrame* frame )
|
|||
GetRef(((WinEDA_SchematicFrame*)frame)->GetSheet()),
|
||||
DARKCYAN );
|
||||
|
||||
if( Entry->m_Options == ENTRY_POWER )
|
||||
if( Entry->isPower() )
|
||||
msg = _( "Power symbol" );
|
||||
else
|
||||
msg = _( "Name" );
|
||||
|
@ -1110,8 +1110,8 @@ void SCH_COMPONENT::DisplayInfo( WinEDA_DrawFrame* frame )
|
|||
msg = Entry->GetLibraryName();
|
||||
|
||||
frame->AppendMsgPanel( _( "Library" ), msg, DARKRED );
|
||||
frame->AppendMsgPanel( _( "Description" ), Entry->m_Doc, DARKCYAN );
|
||||
frame->AppendMsgPanel( _( "Key words" ), Entry->m_KeyWord, DARKCYAN );
|
||||
frame->AppendMsgPanel( _( "Description" ), Entry->GetDescription(), DARKCYAN );
|
||||
frame->AppendMsgPanel( _( "Key words" ), Entry->GetKeyWords(), DARKCYAN );
|
||||
}
|
||||
|
||||
/** virtual function Mirror_Y
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -82,9 +82,9 @@ void DisplayCmpDoc( wxString& Name )
|
|||
return;
|
||||
|
||||
wxLogDebug( wxT( "Selected component <%s>, m_Doc: <%s>, m_KeyWord: <%s>." ),
|
||||
GetChars( Name ), GetChars( CmpEntry->m_Doc ),
|
||||
GetChars( CmpEntry->m_KeyWord ) );
|
||||
GetChars( Name ), GetChars( CmpEntry->GetDescription() ),
|
||||
GetChars( CmpEntry->GetKeyWords() ) );
|
||||
|
||||
Name = wxT( "Description: " ) + CmpEntry->m_Doc;
|
||||
Name += wxT( "\nKey Words: " ) + CmpEntry->m_KeyWord;
|
||||
Name = wxT( "Description: " ) + CmpEntry->GetDescription();
|
||||
Name += wxT( "\nKey Words: " ) + CmpEntry->GetKeyWords();
|
||||
}
|
||||
|
|
|
@ -114,10 +114,10 @@ void WinEDA_CreateCmpDialog::SetComponentData( LIB_COMPONENT & component )
|
|||
else
|
||||
component.m_TextInside = m_SetSkew->GetValue();
|
||||
|
||||
if ( m_IsPowerSymbol->GetValue() == TRUE)
|
||||
component.m_Options = ENTRY_POWER;
|
||||
if ( m_IsPowerSymbol->GetValue() == TRUE )
|
||||
component.SetPower();
|
||||
else
|
||||
component.m_Options = ENTRY_NORMAL;
|
||||
component.SetNormal();
|
||||
|
||||
/* Set the option "Units locked".
|
||||
Obviously, cannot be TRUE if there is only one part */
|
||||
|
|
|
@ -267,7 +267,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnOKButtonClick( wxCommandEvent& event
|
|||
LIB_COMPONENT* entry =
|
||||
CMP_LIBRARY::FindLibraryComponent( m_Cmp->m_ChipName );
|
||||
|
||||
if( entry && entry->m_Options == ENTRY_POWER )
|
||||
if( entry && entry->isPower() )
|
||||
m_FieldsBuf[VALUE].m_Text = m_Cmp->m_ChipName;
|
||||
|
||||
// copy all the fields back, and change the length of m_Fields.
|
||||
|
@ -527,7 +527,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copySelectedFieldToPanel()
|
|||
|
||||
// For power symbols, the value is NOR editable, because value and pin
|
||||
// name must be same and can be edited only in library editor
|
||||
if( fieldNdx == VALUE && m_LibEntry && m_LibEntry->m_Options == ENTRY_POWER )
|
||||
if( fieldNdx == VALUE && m_LibEntry && m_LibEntry->isPower() )
|
||||
fieldValueTextCtrl->Enable( false );
|
||||
else
|
||||
fieldValueTextCtrl->Enable( true );
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
#include "dialog_sch_sheet_props.h"
|
||||
|
||||
DIALOG_SCH_SHEET_PROPS::DIALOG_SCH_SHEET_PROPS( wxWindow* parent ) :
|
||||
DIALOG_SCH_SHEET_PROPS_BASE( parent )
|
||||
{
|
||||
m_textFileName->SetFocus();
|
||||
}
|
|
@ -0,0 +1,681 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
<wxFormBuilder_Project>
|
||||
<FileVersion major="1" minor="9" />
|
||||
<object class="Project" expanded="1">
|
||||
<property name="class_decoration"></property>
|
||||
<property name="code_generation">C++</property>
|
||||
<property name="disconnect_events">1</property>
|
||||
<property name="encoding">UTF-8</property>
|
||||
<property name="event_generation">table</property>
|
||||
<property name="file">dialog_sch_sheet_props_base</property>
|
||||
<property name="first_id">1000</property>
|
||||
<property name="help_provider">none</property>
|
||||
<property name="internationalize">1</property>
|
||||
<property name="name">dialog_sch_sheet_props</property>
|
||||
<property name="namespace"></property>
|
||||
<property name="path">.</property>
|
||||
<property name="precompiled_header"></property>
|
||||
<property name="relative_path">1</property>
|
||||
<property name="use_enum">1</property>
|
||||
<property name="use_microsoft_bom">0</property>
|
||||
<object class="Dialog" expanded="1">
|
||||
<property name="bg"></property>
|
||||
<property name="center">wxBOTH</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="extra_style"></property>
|
||||
<property name="fg"></property>
|
||||
<property name="font"></property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">DIALOG_SCH_SHEET_PROPS_BASE</property>
|
||||
<property name="pos"></property>
|
||||
<property name="size"></property>
|
||||
<property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property>
|
||||
<property name="subclass"></property>
|
||||
<property name="title">Schematic Sheet Properties</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<event name="OnActivate"></event>
|
||||
<event name="OnActivateApp"></event>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnClose"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnHibernate"></event>
|
||||
<event name="OnIconize"></event>
|
||||
<event name="OnIdle"></event>
|
||||
<event name="OnInitDialog"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
<object class="wxBoxSizer" expanded="1">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">mainSizer</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">12</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxFlexGridSizer" expanded="1">
|
||||
<property name="cols">6</property>
|
||||
<property name="flexible_direction">wxBOTH</property>
|
||||
<property name="growablecols">1</property>
|
||||
<property name="growablerows"></property>
|
||||
<property name="hgap">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">fgSizer1</property>
|
||||
<property name="non_flexible_grow_mode">wxFLEX_GROWMODE_SPECIFIED</property>
|
||||
<property name="permission">none</property>
|
||||
<property name="rows">2</property>
|
||||
<property name="vgap">0</property>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">3</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="1">
|
||||
<property name="bg"></property>
|
||||
<property name="context_help"></property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="font"></property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">&File name:</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">m_staticText1</property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pos"></property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">3</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND</property>
|
||||
<property name="proportion">5</property>
|
||||
<object class="wxTextCtrl" expanded="1">
|
||||
<property name="bg"></property>
|
||||
<property name="context_help"></property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="font"></property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="maxlength">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">m_textFileName</property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pos"></property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></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="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnText"></event>
|
||||
<event name="OnTextEnter"></event>
|
||||
<event name="OnTextMaxLen"></event>
|
||||
<event name="OnTextURL"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">3</property>
|
||||
<property name="flag">wxALIGN_CENTER_HORIZONTAL|wxALL</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="spacer" expanded="1">
|
||||
<property name="height">0</property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="width">0</property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">3</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="1">
|
||||
<property name="bg"></property>
|
||||
<property name="context_help"></property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="font"></property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Te&xt size:</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">m_staticText2</property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pos"></property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">3</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxTextCtrl" expanded="1">
|
||||
<property name="bg"></property>
|
||||
<property name="context_help"></property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="font"></property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="maxlength">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">m_textFileNameSize</property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pos"></property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></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="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnText"></event>
|
||||
<event name="OnTextEnter"></event>
|
||||
<event name="OnTextMaxLen"></event>
|
||||
<event name="OnTextURL"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">3</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="1">
|
||||
<property name="bg"></property>
|
||||
<property name="context_help"></property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="font"></property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">units</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">m_staticFileNameSizeUnits</property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pos"></property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">3</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="1">
|
||||
<property name="bg"></property>
|
||||
<property name="context_help"></property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="font"></property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">&Sheet name:</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">m_staticText4</property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pos"></property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">3</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND</property>
|
||||
<property name="proportion">5</property>
|
||||
<object class="wxTextCtrl" expanded="1">
|
||||
<property name="bg"></property>
|
||||
<property name="context_help"></property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="font"></property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="maxlength">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">m_textSheetName</property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pos"></property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></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="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnText"></event>
|
||||
<event name="OnTextEnter"></event>
|
||||
<event name="OnTextMaxLen"></event>
|
||||
<event name="OnTextURL"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">3</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="spacer" expanded="1">
|
||||
<property name="height">0</property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="width">0</property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">3</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="1">
|
||||
<property name="bg"></property>
|
||||
<property name="context_help"></property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="font"></property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">&Text size:</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">m_staticText5</property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pos"></property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">3</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxTextCtrl" expanded="1">
|
||||
<property name="bg"></property>
|
||||
<property name="context_help"></property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="font"></property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="maxlength">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">m_textSheetNameSize</property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pos"></property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></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="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnText"></event>
|
||||
<event name="OnTextEnter"></event>
|
||||
<event name="OnTextMaxLen"></event>
|
||||
<event name="OnTextURL"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">3</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="1">
|
||||
<property name="bg"></property>
|
||||
<property name="context_help"></property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="font"></property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">units</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">m_staticSheetNameSizeUnits</property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pos"></property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="spacer" expanded="1">
|
||||
<property name="height">0</property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="width">0</property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">12</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStdDialogButtonSizer" expanded="1">
|
||||
<property name="Apply">0</property>
|
||||
<property name="Cancel">1</property>
|
||||
<property name="ContextHelp">0</property>
|
||||
<property name="Help">0</property>
|
||||
<property name="No">0</property>
|
||||
<property name="OK">1</property>
|
||||
<property name="Save">0</property>
|
||||
<property name="Yes">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">m_sdbSizer1</property>
|
||||
<property name="permission">protected</property>
|
||||
<event name="OnApplyButtonClick"></event>
|
||||
<event name="OnCancelButtonClick"></event>
|
||||
<event name="OnContextHelpButtonClick"></event>
|
||||
<event name="OnHelpButtonClick"></event>
|
||||
<event name="OnNoButtonClick"></event>
|
||||
<event name="OnOKButtonClick"></event>
|
||||
<event name="OnSaveButtonClick"></event>
|
||||
<event name="OnYesButtonClick"></event>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</wxFormBuilder_Project>
|
|
@ -0,0 +1,53 @@
|
|||
#ifndef __dialog_sch_sheet_props__
|
||||
#define __dialog_sch_sheet_props__
|
||||
|
||||
/**
|
||||
* @file
|
||||
* Subclass of DIALOG_SCH_SHEET_PROPS_BASE, which is generated by wxFormBuilder.
|
||||
*/
|
||||
|
||||
#include "dialog_sch_sheet_props_base.h"
|
||||
|
||||
/** Implementing DIALOG_SCH_SHEET_PROPS_BASE */
|
||||
class DIALOG_SCH_SHEET_PROPS : public DIALOG_SCH_SHEET_PROPS_BASE
|
||||
{
|
||||
public:
|
||||
/** Constructor */
|
||||
DIALOG_SCH_SHEET_PROPS( wxWindow* parent );
|
||||
|
||||
void SetFileName( const wxString& aFileName )
|
||||
{
|
||||
m_textFileName->SetValue( aFileName );
|
||||
}
|
||||
wxString GetFileName() { return m_textFileName->GetValue(); }
|
||||
|
||||
void SetSheetName( const wxString& aSheetName )
|
||||
{
|
||||
m_textSheetName->SetValue( aSheetName );
|
||||
}
|
||||
wxString GetSheetName() { return m_textSheetName->GetValue(); }
|
||||
|
||||
void SetFileNameTextSize( const wxString& aTextSize )
|
||||
{
|
||||
m_textFileNameSize->SetValue( aTextSize );
|
||||
}
|
||||
wxString GetFileNameTextSize() { return m_textFileNameSize->GetValue(); }
|
||||
|
||||
void SetSheetNameTextSize( const wxString& aTextSize )
|
||||
{
|
||||
m_textSheetNameSize->SetValue( aTextSize );
|
||||
}
|
||||
wxString GetSheetNameTextSize() { return m_textSheetNameSize->GetValue(); }
|
||||
|
||||
void SetFileNameTextSizeUnits(const wxString& aUnits)
|
||||
{
|
||||
m_staticFileNameSizeUnits->SetLabel( aUnits );
|
||||
}
|
||||
|
||||
void SetSheetNameTextSizeUnits(const wxString& aUnits)
|
||||
{
|
||||
m_staticSheetNameSizeUnits->SetLabel( aUnits );
|
||||
}
|
||||
};
|
||||
|
||||
#endif // __dialog_sch_sheet_props__
|
|
@ -0,0 +1,89 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version Apr 16 2008)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "dialog_sch_sheet_props_base.h"
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
DIALOG_SCH_SHEET_PROPS_BASE::DIALOG_SCH_SHEET_PROPS_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
|
||||
{
|
||||
this->SetSizeHints( wxDefaultSize, wxDefaultSize );
|
||||
|
||||
wxBoxSizer* mainSizer;
|
||||
mainSizer = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
wxFlexGridSizer* fgSizer1;
|
||||
fgSizer1 = new wxFlexGridSizer( 2, 6, 0, 0 );
|
||||
fgSizer1->AddGrowableCol( 1 );
|
||||
fgSizer1->SetFlexibleDirection( wxBOTH );
|
||||
fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
|
||||
|
||||
m_staticText1 = new wxStaticText( this, wxID_ANY, _("&File name:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticText1->Wrap( -1 );
|
||||
fgSizer1->Add( m_staticText1, 0, wxALIGN_CENTER_VERTICAL|wxALL, 3 );
|
||||
|
||||
m_textFileName = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizer1->Add( m_textFileName, 5, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
|
||||
|
||||
|
||||
fgSizer1->Add( 0, 0, 1, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 3 );
|
||||
|
||||
m_staticText2 = new wxStaticText( this, wxID_ANY, _("Te&xt size:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticText2->Wrap( -1 );
|
||||
fgSizer1->Add( m_staticText2, 0, wxALIGN_CENTER_VERTICAL|wxALL, 3 );
|
||||
|
||||
m_textFileNameSize = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizer1->Add( m_textFileNameSize, 0, wxALIGN_CENTER_VERTICAL|wxALL, 3 );
|
||||
|
||||
m_staticFileNameSizeUnits = new wxStaticText( this, wxID_ANY, _("units"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticFileNameSizeUnits->Wrap( -1 );
|
||||
fgSizer1->Add( m_staticFileNameSizeUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 3 );
|
||||
|
||||
m_staticText4 = new wxStaticText( this, wxID_ANY, _("&Sheet name:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticText4->Wrap( -1 );
|
||||
fgSizer1->Add( m_staticText4, 0, wxALIGN_CENTER_VERTICAL|wxALL, 3 );
|
||||
|
||||
m_textSheetName = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizer1->Add( m_textSheetName, 5, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
|
||||
|
||||
|
||||
fgSizer1->Add( 0, 0, 1, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 3 );
|
||||
|
||||
m_staticText5 = new wxStaticText( this, wxID_ANY, _("&Text size:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticText5->Wrap( -1 );
|
||||
fgSizer1->Add( m_staticText5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 3 );
|
||||
|
||||
m_textSheetNameSize = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizer1->Add( m_textSheetNameSize, 0, wxALIGN_CENTER_VERTICAL|wxALL, 3 );
|
||||
|
||||
m_staticSheetNameSizeUnits = new wxStaticText( this, wxID_ANY, _("units"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticSheetNameSizeUnits->Wrap( -1 );
|
||||
fgSizer1->Add( m_staticSheetNameSizeUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 3 );
|
||||
|
||||
mainSizer->Add( fgSizer1, 1, wxALL|wxEXPAND, 12 );
|
||||
|
||||
|
||||
mainSizer->Add( 0, 0, 0, wxALL|wxEXPAND, 5 );
|
||||
|
||||
m_sdbSizer1 = new wxStdDialogButtonSizer();
|
||||
m_sdbSizer1OK = new wxButton( this, wxID_OK );
|
||||
m_sdbSizer1->AddButton( m_sdbSizer1OK );
|
||||
m_sdbSizer1Cancel = new wxButton( this, wxID_CANCEL );
|
||||
m_sdbSizer1->AddButton( m_sdbSizer1Cancel );
|
||||
m_sdbSizer1->Realize();
|
||||
mainSizer->Add( m_sdbSizer1, 0, wxALL|wxEXPAND, 12 );
|
||||
|
||||
this->SetSizer( mainSizer );
|
||||
this->Layout();
|
||||
mainSizer->Fit( this );
|
||||
|
||||
this->Centre( wxBOTH );
|
||||
}
|
||||
|
||||
DIALOG_SCH_SHEET_PROPS_BASE::~DIALOG_SCH_SHEET_PROPS_BASE()
|
||||
{
|
||||
}
|
|
@ -0,0 +1,57 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version Apr 16 2008)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __dialog_sch_sheet_props_base__
|
||||
#define __dialog_sch_sheet_props_base__
|
||||
|
||||
#include <wx/intl.h>
|
||||
|
||||
#include <wx/string.h>
|
||||
#include <wx/stattext.h>
|
||||
#include <wx/gdicmn.h>
|
||||
#include <wx/font.h>
|
||||
#include <wx/colour.h>
|
||||
#include <wx/settings.h>
|
||||
#include <wx/textctrl.h>
|
||||
#include <wx/sizer.h>
|
||||
#include <wx/button.h>
|
||||
#include <wx/dialog.h>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
/// Class DIALOG_SCH_SHEET_PROPS_BASE
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
class DIALOG_SCH_SHEET_PROPS_BASE : public wxDialog
|
||||
{
|
||||
private:
|
||||
|
||||
protected:
|
||||
wxStaticText* m_staticText1;
|
||||
wxTextCtrl* m_textFileName;
|
||||
|
||||
wxStaticText* m_staticText2;
|
||||
wxTextCtrl* m_textFileNameSize;
|
||||
wxStaticText* m_staticFileNameSizeUnits;
|
||||
wxStaticText* m_staticText4;
|
||||
wxTextCtrl* m_textSheetName;
|
||||
|
||||
wxStaticText* m_staticText5;
|
||||
wxTextCtrl* m_textSheetNameSize;
|
||||
wxStaticText* m_staticSheetNameSizeUnits;
|
||||
|
||||
wxStdDialogButtonSizer* m_sdbSizer1;
|
||||
wxButton* m_sdbSizer1OK;
|
||||
wxButton* m_sdbSizer1Cancel;
|
||||
|
||||
public:
|
||||
DIALOG_SCH_SHEET_PROPS_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Schematic Sheet Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
|
||||
~DIALOG_SCH_SHEET_PROPS_BASE();
|
||||
|
||||
};
|
||||
|
||||
#endif //__dialog_sch_sheet_props_base__
|
|
@ -75,9 +75,9 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::InitPanelDoc()
|
|||
return;
|
||||
}
|
||||
|
||||
m_Doc->SetValue( entry->m_Doc );
|
||||
m_Keywords->SetValue( entry->m_KeyWord );
|
||||
m_Docfile->SetValue( entry->m_DocFile );
|
||||
m_Doc->SetValue( entry->GetDescription() );
|
||||
m_Keywords->SetValue( entry->GetKeyWords() );
|
||||
m_Docfile->SetValue( entry->GetDocFileName() );
|
||||
}
|
||||
|
||||
|
||||
|
@ -109,7 +109,7 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::InitBasicPanel()
|
|||
m_PinsNameInsideButt->SetValue( component->m_TextInside != 0 );
|
||||
m_SelNumberOfUnits->SetValue( component->GetPartCount() );
|
||||
m_SetSkew->SetValue( component->m_TextInside );
|
||||
m_OptionPower->SetValue( component->m_Options == ENTRY_POWER );
|
||||
m_OptionPower->SetValue( component->isPower() );
|
||||
m_OptionPartsLocked->SetValue( component->m_UnitSelectionLocked );
|
||||
}
|
||||
|
||||
|
@ -152,9 +152,9 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::OnOkClick( wxCommandEvent& event )
|
|||
}
|
||||
else
|
||||
{
|
||||
entry->m_Doc = m_Doc->GetValue();
|
||||
entry->m_KeyWord = m_Keywords->GetValue();
|
||||
entry->m_DocFile = m_Docfile->GetValue();
|
||||
entry->SetDescription( m_Doc->GetValue() );
|
||||
entry->SetKeyWords( m_Keywords->GetValue() );
|
||||
entry->SetDocFileName( m_Docfile->GetValue() );
|
||||
}
|
||||
|
||||
if( m_PartAliasList->GetStrings() != component->m_AliasList )
|
||||
|
@ -230,9 +230,9 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::OnOkClick( wxCommandEvent& event )
|
|||
}
|
||||
|
||||
if( m_OptionPower->GetValue() == true )
|
||||
component->m_Options = ENTRY_POWER;
|
||||
component->SetPower();
|
||||
else
|
||||
component->m_Options = ENTRY_NORMAL;
|
||||
component->SetNormal();
|
||||
|
||||
/* Set the option "Units locked".
|
||||
* Obviously, cannot be true if there is only one part */
|
||||
|
@ -257,9 +257,9 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::CopyDocToAlias( wxCommandEvent& WXUNUSED
|
|||
if( component == NULL || m_Parent->GetAliasName().IsEmpty() )
|
||||
return;
|
||||
|
||||
m_Doc->SetValue( component->m_Doc );
|
||||
m_Docfile->SetValue( component->m_DocFile );
|
||||
m_Keywords->SetValue( component->m_KeyWord );
|
||||
m_Doc->SetValue( component->GetDescription() );
|
||||
m_Docfile->SetValue( component->GetDocFileName() );
|
||||
m_Keywords->SetValue( component->GetKeyWords() );
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -102,7 +102,7 @@ void WinEDA_SchematicFrame::EditCmpFieldText( SCH_FIELD* Field, wxDC* DC )
|
|||
{
|
||||
Entry = CMP_LIBRARY::FindLibraryComponent( Cmp->m_ChipName );
|
||||
|
||||
if( Entry && (Entry->m_Options == ENTRY_POWER) )
|
||||
if( Entry && Entry->isPower() )
|
||||
{
|
||||
DisplayInfoMessage( this, _( "Part is a POWER, value cannot be \
|
||||
modified!\nYou must create a new power" ) );
|
||||
|
|
|
@ -138,12 +138,12 @@ bool WinEDA_LibeditFrame::LoadOneLibraryPartAux( CMP_LIB_ENTRY* LibEntry,
|
|||
cmpName = LibEntry->GetName();
|
||||
m_aliasName.Empty();
|
||||
|
||||
if( LibEntry->Type != ROOT )
|
||||
if( LibEntry->isAlias() )
|
||||
{
|
||||
LIB_ALIAS* alias = (LIB_ALIAS*) LibEntry;
|
||||
component = alias->GetComponent();
|
||||
|
||||
wxASSERT( component != NULL && component->Type == ROOT );
|
||||
wxASSERT( component != NULL && component->isComponent() );
|
||||
|
||||
wxLogDebug( wxT( "\"<%s>\" is alias of \"<%s>\"" ),
|
||||
GetChars( cmpName ),
|
||||
|
@ -326,7 +326,7 @@ void WinEDA_LibeditFrame::DisplayCmpDoc()
|
|||
|
||||
AppendMsgPanel( _( "Body" ), msg, GREEN, 8 );
|
||||
|
||||
if( m_component->m_Options == ENTRY_POWER )
|
||||
if( m_component->isPower() )
|
||||
msg = _( "Power Symbol" );
|
||||
else
|
||||
msg = _( "Component" );
|
||||
|
@ -334,16 +334,16 @@ void WinEDA_LibeditFrame::DisplayCmpDoc()
|
|||
AppendMsgPanel( _( "Type" ), msg, MAGENTA, 8 );
|
||||
|
||||
if( alias != NULL )
|
||||
msg = alias->m_Doc;
|
||||
msg = alias->GetDescription();
|
||||
else
|
||||
msg = m_component->m_Doc;
|
||||
msg = m_component->GetDescription();
|
||||
|
||||
AppendMsgPanel( _( "Description" ), msg, CYAN, 8 );
|
||||
|
||||
if( alias != NULL )
|
||||
msg = alias->m_KeyWord;
|
||||
msg = alias->GetKeyWords();
|
||||
else
|
||||
msg = m_component->m_KeyWord;
|
||||
msg = m_component->GetKeyWords();
|
||||
|
||||
AppendMsgPanel( _( "Key words" ), msg, DARKDARKGRAY );
|
||||
}
|
||||
|
@ -542,8 +542,11 @@ created. Aborted" ) );
|
|||
component->m_TextInside = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
component->m_TextInside = 0;
|
||||
component->m_Options = ( dlg.GetPowerSymbol() ) ? ENTRY_POWER : ENTRY_NORMAL;
|
||||
}
|
||||
|
||||
( dlg.GetPowerSymbol() ) ? component->SetPower() : component->SetNormal();
|
||||
component->m_DrawPinNum = dlg.GetShowPinNumber();
|
||||
component->m_DrawPinName = dlg.GetShowPinName();
|
||||
component->m_UnitSelectionLocked = dlg.GetLockItems();
|
||||
|
@ -612,7 +615,7 @@ void WinEDA_LibeditFrame::SaveOnePartInMemory()
|
|||
|
||||
m_drawItem = m_lastDrawItem = NULL;
|
||||
|
||||
wxASSERT( m_component->Type == ROOT );
|
||||
wxASSERT( m_component->isComponent() );
|
||||
|
||||
if( oldComponent != NULL )
|
||||
Component = m_library->ReplaceComponent( oldComponent, m_component );
|
||||
|
|
|
@ -457,9 +457,9 @@ void WinEDA_LibeditFrame::OnUpdateViewDoc( wxUpdateUIEvent& event )
|
|||
CMP_LIB_ENTRY* entry = m_library->FindEntry( m_aliasName );
|
||||
|
||||
if( entry != NULL )
|
||||
enable = !entry->m_DocFile.IsEmpty();
|
||||
enable = !entry->GetDocFileName().IsEmpty();
|
||||
}
|
||||
else if( !m_component->m_DocFile.IsEmpty() )
|
||||
else if( !m_component->GetDocFileName().IsEmpty() )
|
||||
{
|
||||
enable = true;
|
||||
}
|
||||
|
@ -572,11 +572,11 @@ void WinEDA_LibeditFrame::OnViewEntryDoc( wxCommandEvent& event )
|
|||
m_library->FindEntry( m_aliasName );
|
||||
|
||||
if( entry != NULL )
|
||||
fileName = entry->m_DocFile;
|
||||
fileName = entry->GetDocFileName();
|
||||
}
|
||||
else
|
||||
{
|
||||
fileName = m_component->m_DocFile;
|
||||
fileName = m_component->GetDocFileName();
|
||||
}
|
||||
|
||||
if( !fileName.IsEmpty() )
|
||||
|
|
|
@ -255,7 +255,7 @@ void AddMenusForComponent( wxMenu* PopMenu, SCH_COMPONENT* Component )
|
|||
|
||||
if( libEntry )
|
||||
{
|
||||
if( libEntry->Type == ALIAS )
|
||||
if( libEntry->isAlias() )
|
||||
libComponent = ( (LIB_ALIAS*) libEntry )->GetComponent();
|
||||
else
|
||||
libComponent = (LIB_COMPONENT*) libEntry;
|
||||
|
@ -300,7 +300,7 @@ void AddMenusForComponent( wxMenu* PopMenu, SCH_COMPONENT* Component )
|
|||
ADD_MENUITEM( editmenu, ID_POPUP_SCH_EDIT_CMP, msg,
|
||||
edit_component_xpm );
|
||||
|
||||
if( libEntry && libEntry->m_Options != ENTRY_POWER )
|
||||
if( libEntry && libEntry->isNormal() )
|
||||
{
|
||||
msg = AddHotkeyName( _( "Value " ), s_Schematic_Hokeys_Descr,
|
||||
HK_EDIT_COMPONENT_VALUE );
|
||||
|
@ -348,7 +348,7 @@ void AddMenusForComponent( wxMenu* PopMenu, SCH_COMPONENT* Component )
|
|||
_( "Delete Component" ), delete_xpm );
|
||||
}
|
||||
|
||||
if( libEntry && !libEntry->m_DocFile.IsEmpty() )
|
||||
if( libEntry && !libEntry->GetDocFileName().IsEmpty() )
|
||||
ADD_MENUITEM( PopMenu, ID_POPUP_SCH_DISPLAYDOC_CMP, _( "Doc" ),
|
||||
datasheet_xpm );
|
||||
}
|
||||
|
|
|
@ -379,7 +379,8 @@ void WinEDA_SchematicFrame::Process_Special_Functions( wxCommandEvent& event )
|
|||
break;
|
||||
|
||||
case ID_POPUP_SCH_EDIT_SHEET:
|
||||
EditSheet( (SCH_SHEET*) screen->GetCurItem(), &dc );
|
||||
if( EditSheet( (SCH_SHEET*) screen->GetCurItem(), &dc ) )
|
||||
screen->SetModify();
|
||||
break;
|
||||
|
||||
case ID_POPUP_IMPORT_GLABEL:
|
||||
|
@ -645,10 +646,10 @@ void WinEDA_SchematicFrame::Process_Special_Functions( wxCommandEvent& event )
|
|||
LibEntry = CMP_LIBRARY::FindLibraryEntry(
|
||||
( (SCH_COMPONENT*) screen->GetCurItem() )->m_ChipName );
|
||||
|
||||
if( LibEntry && LibEntry->m_DocFile != wxEmptyString )
|
||||
if( LibEntry && LibEntry->GetDocFileName() != wxEmptyString )
|
||||
{
|
||||
GetAssociatedDocument( this, LibEntry->m_DocFile ,
|
||||
& wxGetApp().GetLibraryPathList() );
|
||||
GetAssociatedDocument( this, LibEntry->GetDocFileName(),
|
||||
&wxGetApp().GetLibraryPathList() );
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -69,6 +69,9 @@ int DisplayComponentsNamesInLib( WinEDA_DrawFrame* frame,
|
|||
ListNames = (const wxChar**) MyZMalloc( ( nameList.GetCount() + 1 ) *
|
||||
sizeof( wxChar* ) );
|
||||
|
||||
if( ListNames == NULL )
|
||||
return 0;
|
||||
|
||||
for( i = 0; i < nameList.GetCount(); i++ )
|
||||
ListNames[i] = (const wxChar*) nameList[i];
|
||||
|
||||
|
|
|
@ -1,24 +1,14 @@
|
|||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Name: sheet.cpp
|
||||
// Purpose:
|
||||
// Author: jean-pierre Charras
|
||||
// Modified by:
|
||||
// Modified by: Wayne Stambaugh
|
||||
// Created: 08/02/2006 18:37:02
|
||||
// RCS-ID:
|
||||
// Copyright: License GNU
|
||||
// License:
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Generated by DialogBlocks (unregistered), 08/02/2006 18:37:02
|
||||
|
||||
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
|
||||
#pragma implementation "sheet.h"
|
||||
#endif
|
||||
|
||||
////@begin includes
|
||||
////@end includes
|
||||
|
||||
#include "fctsys.h"
|
||||
#include "gr_basic.h"
|
||||
#include "common.h"
|
||||
|
@ -30,407 +20,240 @@
|
|||
#include "general.h"
|
||||
#include "protos.h"
|
||||
|
||||
|
||||
static void ExitSheet( WinEDA_DrawPanel* Panel, wxDC* DC );
|
||||
static void DeplaceSheet( WinEDA_DrawPanel* panel, wxDC* DC, bool erase );
|
||||
#include "dialog_sch_sheet_props.h"
|
||||
|
||||
|
||||
static int s_SheetMindx, s_SheetMindy;
|
||||
static int s_PreviousSheetWidth;
|
||||
static int s_PreviousSheetHeight;
|
||||
static wxPoint s_OldPos; /* Former position for cancellation or move ReSize */
|
||||
|
||||
|
||||
#include "sheet.h"
|
||||
|
||||
////@begin XPM images
|
||||
////@end XPM images
|
||||
|
||||
/*!
|
||||
* WinEDA_SheetPropertiesFrame type definition
|
||||
*/
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS( WinEDA_SheetPropertiesFrame, wxDialog )
|
||||
|
||||
/*!
|
||||
* WinEDA_SheetPropertiesFrame event table definition
|
||||
*/
|
||||
|
||||
BEGIN_EVENT_TABLE( WinEDA_SheetPropertiesFrame, wxDialog )
|
||||
|
||||
////@begin WinEDA_SheetPropertiesFrame event table entries
|
||||
EVT_BUTTON( wxID_CANCEL, WinEDA_SheetPropertiesFrame::OnCancelClick )
|
||||
|
||||
EVT_BUTTON( wxID_OK, WinEDA_SheetPropertiesFrame::OnOkClick )
|
||||
|
||||
////@end WinEDA_SheetPropertiesFrame event table entries
|
||||
|
||||
END_EVENT_TABLE()
|
||||
/*!
|
||||
* WinEDA_SheetPropertiesFrame constructors
|
||||
*/
|
||||
|
||||
WinEDA_SheetPropertiesFrame::WinEDA_SheetPropertiesFrame()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
WinEDA_SheetPropertiesFrame::WinEDA_SheetPropertiesFrame(
|
||||
WinEDA_SchematicFrame* parent,
|
||||
SCH_SHEET* currentsheet,
|
||||
wxWindowID id,
|
||||
const wxString& caption,
|
||||
const wxPoint& pos,
|
||||
const wxSize& size,
|
||||
long style )
|
||||
{
|
||||
m_Parent = parent;
|
||||
m_CurrentSheet = currentsheet;
|
||||
Create( parent, id, caption, pos, size, style );
|
||||
|
||||
AddUnitSymbol( *m_SheetNameTextSize );
|
||||
PutValueInLocalUnits( *m_SheetNameSize, m_CurrentSheet->m_SheetNameSize,
|
||||
m_Parent->m_InternalUnits );
|
||||
|
||||
AddUnitSymbol( *m_FileNameTextSize );
|
||||
PutValueInLocalUnits( *m_FileNameSize, m_CurrentSheet->m_FileNameSize,
|
||||
m_Parent->m_InternalUnits );
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* WinEDA_SheetPropertiesFrame creator
|
||||
*/
|
||||
|
||||
bool WinEDA_SheetPropertiesFrame::Create( wxWindow* parent,
|
||||
wxWindowID id,
|
||||
const wxString& caption,
|
||||
const wxPoint& pos,
|
||||
const wxSize& size,
|
||||
long style )
|
||||
{
|
||||
////@begin WinEDA_SheetPropertiesFrame member initialisation
|
||||
m_FileNameWin = NULL;
|
||||
m_SheetNameWin = NULL;
|
||||
m_FileNameTextSize = NULL;
|
||||
m_FileNameSize = NULL;
|
||||
m_SheetNameTextSize = NULL;
|
||||
m_SheetNameSize = NULL;
|
||||
m_btClose = NULL;
|
||||
|
||||
////@end WinEDA_SheetPropertiesFrame member initialisation
|
||||
|
||||
////@begin WinEDA_SheetPropertiesFrame creation
|
||||
SetExtraStyle( wxWS_EX_BLOCK_EVENTS );
|
||||
wxDialog::Create( parent, id, caption, pos, size, style );
|
||||
|
||||
CreateControls();
|
||||
if( GetSizer() )
|
||||
{
|
||||
GetSizer()->SetSizeHints( this );
|
||||
}
|
||||
Centre();
|
||||
|
||||
////@end WinEDA_SheetPropertiesFrame creation
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* Control creation for WinEDA_SheetPropertiesFrame
|
||||
*/
|
||||
|
||||
void WinEDA_SheetPropertiesFrame::CreateControls()
|
||||
{
|
||||
////@begin WinEDA_SheetPropertiesFrame content construction
|
||||
// Generated by DialogBlocks, 24/04/2009 14:25:43 (unregistered)
|
||||
|
||||
WinEDA_SheetPropertiesFrame* itemDialog1 = this;
|
||||
|
||||
wxBoxSizer* itemBoxSizer2 = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
itemDialog1->SetSizer( itemBoxSizer2 );
|
||||
|
||||
wxBoxSizer* itemBoxSizer3 = new wxBoxSizer( wxHORIZONTAL );
|
||||
itemBoxSizer2->Add( itemBoxSizer3, 0, wxGROW | wxALL, 5 );
|
||||
|
||||
wxBoxSizer* itemBoxSizer4 = new wxBoxSizer( wxVERTICAL );
|
||||
itemBoxSizer3->Add( itemBoxSizer4, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
|
||||
|
||||
wxStaticText* itemStaticText5 = new wxStaticText( itemDialog1,
|
||||
wxID_STATIC,
|
||||
_( "Filename:" ),
|
||||
wxDefaultPosition,
|
||||
wxDefaultSize,
|
||||
0 );
|
||||
itemBoxSizer4->Add( itemStaticText5,
|
||||
0,
|
||||
wxALIGN_LEFT | wxLEFT | wxRIGHT | wxTOP |
|
||||
wxADJUST_MINSIZE,
|
||||
5 );
|
||||
|
||||
m_FileNameWin =
|
||||
new wxTextCtrl( itemDialog1, ID_TEXTCTRL1, _T( "" ), wxDefaultPosition,
|
||||
wxSize( 300, - 1 ), wxTE_PROCESS_ENTER );
|
||||
itemBoxSizer4->Add( m_FileNameWin,
|
||||
0,
|
||||
wxALIGN_LEFT | wxLEFT | wxRIGHT | wxBOTTOM,
|
||||
5 );
|
||||
|
||||
wxStaticText* itemStaticText7 = new wxStaticText( itemDialog1,
|
||||
wxID_STATIC,
|
||||
_( "Sheetname:" ),
|
||||
wxDefaultPosition,
|
||||
wxDefaultSize,
|
||||
0 );
|
||||
itemBoxSizer4->Add( itemStaticText7,
|
||||
0,
|
||||
wxALIGN_LEFT | wxLEFT | wxRIGHT | wxTOP |
|
||||
wxADJUST_MINSIZE,
|
||||
5 );
|
||||
|
||||
m_SheetNameWin =
|
||||
new wxTextCtrl( itemDialog1, ID_TEXTCTRL, _T( "" ), wxDefaultPosition,
|
||||
wxSize( 300, -1 ), 0 );
|
||||
itemBoxSizer4->Add( m_SheetNameWin,
|
||||
0,
|
||||
wxALIGN_LEFT | wxLEFT | wxRIGHT | wxBOTTOM,
|
||||
5 );
|
||||
|
||||
wxBoxSizer* itemBoxSizer9 = new wxBoxSizer( wxVERTICAL );
|
||||
itemBoxSizer3->Add( itemBoxSizer9, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
|
||||
|
||||
m_FileNameTextSize = new wxStaticText( itemDialog1, wxID_STATIC,
|
||||
_( "Size" ), wxDefaultPosition,
|
||||
wxDefaultSize, 0 );
|
||||
itemBoxSizer9->Add( m_FileNameTextSize,
|
||||
0,
|
||||
wxALIGN_LEFT | wxLEFT | wxRIGHT | wxTOP |
|
||||
wxADJUST_MINSIZE,
|
||||
5 );
|
||||
|
||||
m_FileNameSize = new wxTextCtrl( itemDialog1, ID_TEXTCTRL2, _T( "" ),
|
||||
wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemBoxSizer9->Add( m_FileNameSize,
|
||||
0,
|
||||
wxALIGN_LEFT | wxLEFT | wxRIGHT | wxBOTTOM,
|
||||
5 );
|
||||
|
||||
m_SheetNameTextSize = new wxStaticText( itemDialog1, wxID_STATIC,
|
||||
_( "Size" ), wxDefaultPosition,
|
||||
wxDefaultSize, 0 );
|
||||
itemBoxSizer9->Add( m_SheetNameTextSize,
|
||||
0,
|
||||
wxALIGN_LEFT | wxLEFT | wxRIGHT | wxTOP |
|
||||
wxADJUST_MINSIZE,
|
||||
5 );
|
||||
|
||||
m_SheetNameSize = new wxTextCtrl( itemDialog1, ID_TEXTCTRL3, _T( "" ),
|
||||
wxDefaultPosition,
|
||||
wxDefaultSize, 0 );
|
||||
itemBoxSizer9->Add( m_SheetNameSize,
|
||||
0,
|
||||
wxALIGN_LEFT | wxLEFT | wxRIGHT | wxBOTTOM,
|
||||
5 );
|
||||
|
||||
itemBoxSizer2->Add( 5, 5, 1, wxGROW | wxALL, 5 );
|
||||
|
||||
wxBoxSizer* itemBoxSizer15 = new wxBoxSizer( wxHORIZONTAL );
|
||||
itemBoxSizer2->Add( itemBoxSizer15,
|
||||
0,
|
||||
wxALIGN_CENTER_HORIZONTAL | wxALL,
|
||||
5 );
|
||||
|
||||
m_btClose = new wxButton( itemDialog1, wxID_CANCEL, _( "&Cancel" ),
|
||||
wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemBoxSizer15->Add( m_btClose, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
|
||||
|
||||
wxButton* itemButton17 = new wxButton( itemDialog1, wxID_OK,
|
||||
_( "&OK" ), wxDefaultPosition,
|
||||
wxDefaultSize, 0 );
|
||||
itemButton17->SetDefault();
|
||||
itemBoxSizer15->Add( itemButton17, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
|
||||
|
||||
// Set validators
|
||||
m_SheetNameWin->SetValidator( wxTextValidator( wxFILTER_NONE,
|
||||
&m_CurrentSheet->m_SheetName ) );
|
||||
|
||||
////@end WinEDA_SheetPropertiesFrame content construction
|
||||
|
||||
m_btClose->SetFocus();
|
||||
m_FileNameWin->SetValue( m_CurrentSheet->GetFileName() );
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* Should we show tooltips?
|
||||
*/
|
||||
|
||||
bool WinEDA_SheetPropertiesFrame::ShowToolTips()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* Get bitmap resources
|
||||
*/
|
||||
|
||||
wxBitmap WinEDA_SheetPropertiesFrame::GetBitmapResource( const wxString& name )
|
||||
{
|
||||
// Bitmap retrieval
|
||||
////@begin WinEDA_SheetPropertiesFrame bitmap retrieval
|
||||
wxUnusedVar( name );
|
||||
return wxNullBitmap;
|
||||
|
||||
////@end WinEDA_SheetPropertiesFrame bitmap retrieval
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* Get icon resources
|
||||
*/
|
||||
|
||||
wxIcon WinEDA_SheetPropertiesFrame::GetIconResource( const wxString& name )
|
||||
{
|
||||
// Icon retrieval
|
||||
////@begin WinEDA_SheetPropertiesFrame icon retrieval
|
||||
wxUnusedVar( name );
|
||||
return wxNullIcon;
|
||||
|
||||
////@end WinEDA_SheetPropertiesFrame icon retrieval
|
||||
}
|
||||
|
||||
|
||||
/** Function SheetPropertiesAccept
|
||||
* Set the new sheets properties:
|
||||
* sheetname and filename (text and size)
|
||||
*/
|
||||
void WinEDA_SheetPropertiesFrame::SheetPropertiesAccept( wxCommandEvent& event )
|
||||
{
|
||||
wxFileName fn;
|
||||
wxString msg;
|
||||
|
||||
fn = m_FileNameWin->GetValue();
|
||||
|
||||
if( !fn.IsOk() )
|
||||
{
|
||||
DisplayError( this, _( "No Filename! Aborted" ) );
|
||||
EndModal( FALSE );
|
||||
return;
|
||||
}
|
||||
|
||||
fn.SetExt( SchematicFileExtension );
|
||||
|
||||
/* m_CurrentSheet->m_AssociatedScreen must be a valide screen, and the
|
||||
* sheet must have a valid associated filename,
|
||||
* so we must call m_CurrentSheet->ChangeFileName to set a filename,
|
||||
* AND always when a new sheet is created ( when
|
||||
* m_CurrentSheet->m_AssociatedScreen is null ),
|
||||
* to create or set an Associated Screen
|
||||
*/
|
||||
if( ( fn.GetFullPath() != m_CurrentSheet->GetFileName() )
|
||||
|| ( m_CurrentSheet->m_AssociatedScreen == NULL) )
|
||||
{
|
||||
msg = _( "Changing a Filename can change all the schematic \
|
||||
structures and cannot be undone.\nOk to continue renaming?" );
|
||||
|
||||
if( m_CurrentSheet->m_AssociatedScreen == NULL || IsOK( NULL, msg ) )
|
||||
{
|
||||
// do not prompt on a new sheet. in fact, we should not allow a
|
||||
// sheet to be created without a valid associated filename to be
|
||||
// read from.
|
||||
m_Parent->GetScreen()->ClearUndoRedoList();
|
||||
|
||||
// set filename and the associated screen
|
||||
m_CurrentSheet->ChangeFileName( m_Parent, fn.GetFullPath() );
|
||||
}
|
||||
}
|
||||
|
||||
msg = m_FileNameSize->GetValue();
|
||||
m_CurrentSheet->m_FileNameSize =
|
||||
ReturnValueFromString( g_UnitMetric,
|
||||
msg, m_Parent->m_InternalUnits );
|
||||
|
||||
m_CurrentSheet->m_SheetName = m_SheetNameWin->GetValue();
|
||||
msg = m_SheetNameSize->GetValue();
|
||||
m_CurrentSheet->m_SheetNameSize =
|
||||
ReturnValueFromString( g_UnitMetric,
|
||||
msg, m_Parent->m_InternalUnits );
|
||||
|
||||
if( ( m_CurrentSheet->m_SheetName.IsEmpty() ) )
|
||||
{
|
||||
m_CurrentSheet->m_SheetName.Printf( wxT( "Sheet%8.8lX" ),
|
||||
GetTimeStamp() );
|
||||
}
|
||||
|
||||
|
||||
EndModal( TRUE );
|
||||
}
|
||||
|
||||
|
||||
/* Routine to edit the SheetName and the FileName for the sheet "Sheet" */
|
||||
bool WinEDA_SchematicFrame::EditSheet( SCH_SHEET* Sheet, wxDC* DC )
|
||||
bool WinEDA_SchematicFrame::EditSheet( SCH_SHEET* aSheet, wxDC* aDC )
|
||||
{
|
||||
WinEDA_SheetPropertiesFrame* frame;
|
||||
bool edit = TRUE;
|
||||
bool edit = true;
|
||||
|
||||
if( Sheet == NULL )
|
||||
return FALSE;
|
||||
if( aSheet == NULL )
|
||||
return false;
|
||||
|
||||
/* Get the new texts */
|
||||
RedrawOneStruct( DrawPanel, DC, Sheet, g_XorMode );
|
||||
RedrawOneStruct( DrawPanel, aDC, aSheet, g_XorMode );
|
||||
|
||||
DrawPanel->m_IgnoreMouseEvents = true;
|
||||
|
||||
DIALOG_SCH_SHEET_PROPS dlg( this );
|
||||
|
||||
wxString units = GetUnitsLabel( g_UnitMetric );
|
||||
dlg.SetFileName( aSheet->GetFileName() );
|
||||
dlg.SetFileNameTextSize( ReturnStringFromValue( g_UnitMetric,
|
||||
aSheet->m_FileNameSize,
|
||||
m_InternalUnits ) );
|
||||
dlg.SetFileNameTextSizeUnits( units );
|
||||
dlg.SetSheetName( aSheet->m_SheetName );
|
||||
dlg.SetSheetNameTextSize( ReturnStringFromValue( g_UnitMetric,
|
||||
aSheet->m_SheetNameSize,
|
||||
m_InternalUnits ) );
|
||||
dlg.SetSheetNameTextSizeUnits( units );
|
||||
|
||||
/* This ugly hack fixes a bug in wxWidgets 2.8.7 and likely earlier
|
||||
* versions for the flex grid sizer in wxGTK that prevents the last
|
||||
* column from being sized correctly. It doesn't cause any problems
|
||||
* on win32 so it doesn't need to wrapped in ugly #ifdef __WXGTK__
|
||||
* #endif.
|
||||
*/
|
||||
dlg.Layout();
|
||||
dlg.Fit();
|
||||
dlg.SetMinSize( dlg.GetSize() );
|
||||
|
||||
if( dlg.ShowModal() == wxID_OK )
|
||||
{
|
||||
wxFileName fileName;
|
||||
wxString msg;
|
||||
|
||||
fileName = dlg.GetFileName();
|
||||
|
||||
if( !fileName.IsOk() )
|
||||
{
|
||||
DisplayError( this, _( "File name is not valid! Aborted" ) );
|
||||
edit = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
fileName.SetExt( SchematicFileExtension );
|
||||
|
||||
/* m_CurrentSheet->m_AssociatedScreen must be a valid screen, and the
|
||||
* sheet must have a valid associated filename,
|
||||
* so we must call m_CurrentSheet->ChangeFileName to set a filename,
|
||||
* AND always when a new sheet is created ( when
|
||||
* m_CurrentSheet->m_AssociatedScreen is null ),
|
||||
* to create or set an Associated Screen
|
||||
*/
|
||||
if( ( fileName.GetFullPath() != aSheet->GetFileName() )
|
||||
|| ( aSheet->m_AssociatedScreen == NULL ) )
|
||||
{
|
||||
msg = _( "Changing the sheet file name can change all the schematic \
|
||||
structures and cannot be undone.\nOk to continue renaming?" );
|
||||
|
||||
if( aSheet->m_AssociatedScreen == NULL || IsOK( NULL, msg ) )
|
||||
{
|
||||
// do not prompt on a new sheet. in fact, we should not allow a
|
||||
// sheet to be created without a valid associated filename to be
|
||||
// read from.
|
||||
GetScreen()->ClearUndoRedoList();
|
||||
|
||||
// set filename and the associated screen
|
||||
aSheet->ChangeFileName( this, fileName.GetFullPath() );
|
||||
}
|
||||
}
|
||||
|
||||
aSheet->m_FileNameSize = ReturnValueFromString( g_UnitMetric,
|
||||
dlg.GetFileNameTextSize(),
|
||||
m_InternalUnits );
|
||||
|
||||
aSheet->m_SheetName = dlg.GetSheetName();
|
||||
aSheet->m_SheetNameSize = ReturnValueFromString( g_UnitMetric,
|
||||
dlg.GetSheetNameTextSize(),
|
||||
m_InternalUnits );
|
||||
|
||||
if( aSheet->m_SheetName.IsEmpty() )
|
||||
{
|
||||
aSheet->m_SheetName.Printf( wxT( "Sheet%8.8lX" ), GetTimeStamp() );
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
edit = false;
|
||||
}
|
||||
|
||||
DrawPanel->m_IgnoreMouseEvents = TRUE;
|
||||
frame = new WinEDA_SheetPropertiesFrame( this, Sheet );
|
||||
edit = frame->ShowModal(); frame->Destroy();
|
||||
DrawPanel->MouseToCursorSchema();
|
||||
DrawPanel->m_IgnoreMouseEvents = FALSE;
|
||||
DrawPanel->m_IgnoreMouseEvents = false;
|
||||
|
||||
RedrawOneStruct( DrawPanel, aDC, aSheet, GR_DEFAULT_DRAWMODE );
|
||||
|
||||
RedrawOneStruct( DrawPanel, DC, Sheet, GR_DEFAULT_DRAWMODE );
|
||||
return edit;
|
||||
}
|
||||
|
||||
|
||||
/* Move selected sheet with the cursor.
|
||||
* Callback function use by ManageCurseur.
|
||||
*/
|
||||
static void MoveSheet( WinEDA_DrawPanel* aPanel, wxDC* aDC, bool aErase )
|
||||
{
|
||||
wxPoint moveVector;
|
||||
SCH_SHEET_PIN* sheetLabel;
|
||||
BASE_SCREEN* screen = aPanel->GetScreen();
|
||||
SCH_SHEET* sheet = (SCH_SHEET*) screen->GetCurItem();
|
||||
|
||||
if( aErase )
|
||||
RedrawOneStruct( aPanel, aDC, sheet, g_XorMode );
|
||||
|
||||
if( sheet->m_Flags & IS_RESIZED )
|
||||
{
|
||||
sheet->m_Size.x = MAX( s_PreviousSheetWidth, screen->m_Curseur.x - sheet->m_Pos.x );
|
||||
sheet->m_Size.y = MAX( s_PreviousSheetHeight, screen->m_Curseur.y - sheet->m_Pos.y );
|
||||
sheetLabel = sheet->m_Label;
|
||||
|
||||
while( sheetLabel )
|
||||
{
|
||||
if( sheetLabel->m_Edge )
|
||||
sheetLabel->m_Pos.x = sheet->m_Pos.x + sheet->m_Size.x;
|
||||
sheetLabel = sheetLabel->Next();
|
||||
}
|
||||
}
|
||||
else /* Move Sheet */
|
||||
{
|
||||
moveVector = screen->m_Curseur - sheet->m_Pos;
|
||||
sheet->Move( moveVector );
|
||||
}
|
||||
|
||||
RedrawOneStruct( aPanel, aDC, sheet, g_XorMode );
|
||||
}
|
||||
|
||||
|
||||
/* Complete sheet move. */
|
||||
static void ExitSheet( WinEDA_DrawPanel* aPanel, wxDC* aDC )
|
||||
{
|
||||
SCH_SCREEN* screen = (SCH_SCREEN*) aPanel->GetScreen();
|
||||
SCH_SHEET* sheet = (SCH_SHEET*) screen->GetCurItem();
|
||||
|
||||
if( sheet == NULL )
|
||||
return;
|
||||
|
||||
if( sheet->m_Flags & IS_NEW )
|
||||
{
|
||||
RedrawOneStruct( aPanel, aDC, sheet, g_XorMode );
|
||||
SAFE_DELETE( sheet );
|
||||
}
|
||||
else if( sheet->m_Flags & IS_RESIZED )
|
||||
{
|
||||
/* Resize in progress, cancel move. */
|
||||
RedrawOneStruct( aPanel, aDC, sheet, g_XorMode );
|
||||
sheet->m_Size.x = s_OldPos.x;
|
||||
sheet->m_Size.y = s_OldPos.y;
|
||||
RedrawOneStruct( aPanel, aDC, sheet, GR_DEFAULT_DRAWMODE );
|
||||
sheet->m_Flags = 0;
|
||||
}
|
||||
else if( sheet->m_Flags & IS_MOVED )
|
||||
{
|
||||
wxPoint curspos = screen->m_Curseur;
|
||||
aPanel->GetScreen()->m_Curseur = s_OldPos;
|
||||
MoveSheet( aPanel, aDC, true );
|
||||
RedrawOneStruct( aPanel, aDC, sheet, GR_DEFAULT_DRAWMODE );
|
||||
sheet->m_Flags = 0;
|
||||
screen->m_Curseur = curspos;
|
||||
}
|
||||
else
|
||||
{
|
||||
sheet->m_Flags = 0;
|
||||
}
|
||||
|
||||
screen->SetCurItem( NULL );
|
||||
aPanel->ManageCurseur = NULL;
|
||||
aPanel->ForceCloseManageCurseur = NULL;
|
||||
}
|
||||
|
||||
|
||||
#define SHEET_MIN_WIDTH 500
|
||||
#define SHEET_MIN_HEIGHT 150
|
||||
|
||||
|
||||
/* Create hierarchy sheet. */
|
||||
SCH_SHEET* WinEDA_SchematicFrame::CreateSheet( wxDC* DC )
|
||||
SCH_SHEET* WinEDA_SchematicFrame::CreateSheet( wxDC* aDC )
|
||||
{
|
||||
g_ItemToRepeat = NULL;
|
||||
|
||||
SCH_SHEET* Sheet = new SCH_SHEET( GetScreen()->m_Curseur );
|
||||
SCH_SHEET* sheet = new SCH_SHEET( GetScreen()->m_Curseur );
|
||||
|
||||
Sheet->m_Flags = IS_NEW | IS_RESIZED;
|
||||
Sheet->m_TimeStamp = GetTimeStamp();
|
||||
Sheet->SetParent( GetScreen() );
|
||||
Sheet->m_AssociatedScreen = NULL;
|
||||
s_SheetMindx = SHEET_MIN_WIDTH;
|
||||
s_SheetMindy = SHEET_MIN_HEIGHT;
|
||||
sheet->m_Flags = IS_NEW | IS_RESIZED;
|
||||
sheet->m_TimeStamp = GetTimeStamp();
|
||||
sheet->SetParent( GetScreen() );
|
||||
sheet->m_AssociatedScreen = NULL;
|
||||
s_PreviousSheetWidth = SHEET_MIN_WIDTH;
|
||||
s_PreviousSheetHeight = SHEET_MIN_HEIGHT;
|
||||
|
||||
//need to check if this is being added to the EEDrawList.
|
||||
//also need to update the hierarchy, if we are adding
|
||||
// need to check if this is being added to the EEDrawList.
|
||||
// also need to update the hierarchy, if we are adding
|
||||
// a sheet to a screen that already has multiple instances (!)
|
||||
GetScreen()->SetCurItem( Sheet );
|
||||
GetScreen()->SetCurItem( sheet );
|
||||
|
||||
DrawPanel->ManageCurseur = DeplaceSheet;
|
||||
DrawPanel->ManageCurseur = MoveSheet;
|
||||
DrawPanel->ForceCloseManageCurseur = ExitSheet;
|
||||
|
||||
DrawPanel->ManageCurseur( DrawPanel, DC, FALSE );
|
||||
DrawPanel->ManageCurseur( DrawPanel, aDC, false );
|
||||
|
||||
return Sheet;
|
||||
return sheet;
|
||||
}
|
||||
|
||||
|
||||
void WinEDA_SchematicFrame::ReSizeSheet( SCH_SHEET* Sheet, wxDC* DC )
|
||||
void WinEDA_SchematicFrame::ReSizeSheet( SCH_SHEET* aSheet, wxDC* aDC )
|
||||
{
|
||||
SCH_SHEET_PIN* sheetlabel;
|
||||
SCH_SHEET_PIN* sheetLabel;
|
||||
|
||||
if( Sheet == NULL )
|
||||
return;
|
||||
if( Sheet->m_Flags & IS_NEW )
|
||||
if( aSheet == NULL || aSheet->m_Flags & IS_NEW )
|
||||
return;
|
||||
|
||||
if( Sheet->Type() != DRAW_SHEET_STRUCT_TYPE )
|
||||
if( aSheet->Type() != DRAW_SHEET_STRUCT_TYPE )
|
||||
{
|
||||
DisplayError( this,
|
||||
wxT( "WinEDA_SchematicFrame::ReSizeSheet: Bad SructType" ) );
|
||||
|
@ -438,142 +261,44 @@ void WinEDA_SchematicFrame::ReSizeSheet( SCH_SHEET* Sheet, wxDC* DC )
|
|||
}
|
||||
|
||||
GetScreen()->SetModify();
|
||||
Sheet->m_Flags |= IS_RESIZED;
|
||||
aSheet->m_Flags |= IS_RESIZED;
|
||||
|
||||
s_OldPos.x = Sheet->m_Size.x;
|
||||
s_OldPos.y = Sheet->m_Size.y;
|
||||
s_OldPos.x = aSheet->m_Size.x;
|
||||
s_OldPos.y = aSheet->m_Size.y;
|
||||
|
||||
s_SheetMindx = SHEET_MIN_WIDTH;
|
||||
s_SheetMindy = SHEET_MIN_HEIGHT;
|
||||
sheetlabel = Sheet->m_Label;
|
||||
while( sheetlabel )
|
||||
s_PreviousSheetWidth = SHEET_MIN_WIDTH;
|
||||
s_PreviousSheetHeight = SHEET_MIN_HEIGHT;
|
||||
sheetLabel = aSheet->m_Label;
|
||||
|
||||
while( sheetLabel )
|
||||
{
|
||||
s_SheetMindx = MAX( s_SheetMindx,
|
||||
(int) ( ( sheetlabel->GetLength() + 1 ) *
|
||||
sheetlabel->m_Size.x ) );
|
||||
s_SheetMindy = MAX( s_SheetMindy, sheetlabel->m_Pos.y - Sheet->m_Pos.y );
|
||||
sheetlabel = sheetlabel->Next();
|
||||
s_PreviousSheetWidth = MAX( s_PreviousSheetWidth,
|
||||
(int) ( ( sheetLabel->GetLength() + 1 ) *
|
||||
sheetLabel->m_Size.x ) );
|
||||
s_PreviousSheetHeight = MAX( s_PreviousSheetHeight,
|
||||
sheetLabel->m_Pos.y - aSheet->m_Pos.y );
|
||||
sheetLabel = sheetLabel->Next();
|
||||
}
|
||||
|
||||
DrawPanel->ManageCurseur = DeplaceSheet;
|
||||
DrawPanel->ManageCurseur = MoveSheet;
|
||||
DrawPanel->ForceCloseManageCurseur = ExitSheet;
|
||||
DrawPanel->ManageCurseur( DrawPanel, DC, TRUE );
|
||||
DrawPanel->ManageCurseur( DrawPanel, aDC, true );
|
||||
}
|
||||
|
||||
|
||||
void WinEDA_SchematicFrame::StartMoveSheet( SCH_SHEET* Sheet, wxDC* DC )
|
||||
void WinEDA_SchematicFrame::StartMoveSheet( SCH_SHEET* aSheet, wxDC* aDC )
|
||||
{
|
||||
if( ( Sheet == NULL ) || ( Sheet->Type() != DRAW_SHEET_STRUCT_TYPE ) )
|
||||
if( ( aSheet == NULL ) || ( aSheet->Type() != DRAW_SHEET_STRUCT_TYPE ) )
|
||||
return;
|
||||
|
||||
DrawPanel->CursorOff( DC );
|
||||
GetScreen()->m_Curseur = Sheet->m_Pos;
|
||||
DrawPanel->CursorOff( aDC );
|
||||
GetScreen()->m_Curseur = aSheet->m_Pos;
|
||||
DrawPanel->MouseToCursorSchema();
|
||||
|
||||
s_OldPos = Sheet->m_Pos;
|
||||
Sheet->m_Flags |= IS_MOVED;
|
||||
DrawPanel->ManageCurseur = DeplaceSheet;
|
||||
s_OldPos = aSheet->m_Pos;
|
||||
aSheet->m_Flags |= IS_MOVED;
|
||||
DrawPanel->ManageCurseur = MoveSheet;
|
||||
DrawPanel->ForceCloseManageCurseur = ExitSheet;
|
||||
DrawPanel->ManageCurseur( DrawPanel, DC, TRUE );
|
||||
|
||||
DrawPanel->CursorOn( DC );
|
||||
}
|
||||
|
||||
|
||||
/* Move selected sheet with the cursor.
|
||||
* Callback function use by ManageCurseur.
|
||||
*/
|
||||
static void DeplaceSheet( WinEDA_DrawPanel* panel, wxDC* DC, bool erase )
|
||||
{
|
||||
wxPoint move_vector;
|
||||
SCH_SHEET_PIN* SheetLabel;
|
||||
BASE_SCREEN* screen = panel->GetScreen();
|
||||
|
||||
SCH_SHEET* Sheet = (SCH_SHEET*) screen->GetCurItem();
|
||||
|
||||
if( erase )
|
||||
RedrawOneStruct( panel, DC, Sheet, g_XorMode );
|
||||
|
||||
if( Sheet->m_Flags & IS_RESIZED )
|
||||
{
|
||||
Sheet->m_Size.x =
|
||||
MAX( s_SheetMindx, screen->m_Curseur.x - Sheet->m_Pos.x );
|
||||
Sheet->m_Size.y =
|
||||
MAX( s_SheetMindy, screen->m_Curseur.y - Sheet->m_Pos.y );
|
||||
SheetLabel = Sheet->m_Label;
|
||||
while( SheetLabel )
|
||||
{
|
||||
if( SheetLabel->m_Edge )
|
||||
SheetLabel->m_Pos.x = Sheet->m_Pos.x + Sheet->m_Size.x;
|
||||
SheetLabel = SheetLabel->Next();
|
||||
}
|
||||
}
|
||||
else /* Move Sheet */
|
||||
{
|
||||
move_vector = screen->m_Curseur - Sheet->m_Pos;
|
||||
Sheet->Move( move_vector );
|
||||
}
|
||||
|
||||
RedrawOneStruct( panel, DC, Sheet, g_XorMode );
|
||||
}
|
||||
|
||||
|
||||
/* Complete sheet move. */
|
||||
static void ExitSheet( WinEDA_DrawPanel* Panel, wxDC* DC )
|
||||
{
|
||||
SCH_SCREEN* Screen = (SCH_SCREEN*) Panel->GetScreen();
|
||||
SCH_SHEET* Sheet = (SCH_SHEET*) Screen->GetCurItem();
|
||||
|
||||
if( Sheet == NULL )
|
||||
return;
|
||||
|
||||
if( Sheet->m_Flags & IS_NEW )
|
||||
{
|
||||
RedrawOneStruct( Panel, DC, Sheet, g_XorMode );
|
||||
SAFE_DELETE( Sheet );
|
||||
}
|
||||
else if( Sheet->m_Flags & IS_RESIZED )
|
||||
{
|
||||
/* Resize in progress, cancel move. */
|
||||
RedrawOneStruct( Panel, DC, Sheet, g_XorMode );
|
||||
Sheet->m_Size.x = s_OldPos.x;
|
||||
Sheet->m_Size.y = s_OldPos.y;
|
||||
RedrawOneStruct( Panel, DC, Sheet, GR_DEFAULT_DRAWMODE );
|
||||
Sheet->m_Flags = 0;
|
||||
}
|
||||
else if( Sheet->m_Flags & IS_MOVED )
|
||||
{
|
||||
wxPoint curspos = Screen->m_Curseur;
|
||||
Panel->GetScreen()->m_Curseur = s_OldPos;
|
||||
DeplaceSheet( Panel, DC, TRUE );
|
||||
RedrawOneStruct( Panel, DC, Sheet, GR_DEFAULT_DRAWMODE );
|
||||
Sheet->m_Flags = 0;
|
||||
Screen->m_Curseur = curspos;
|
||||
}
|
||||
else
|
||||
Sheet->m_Flags = 0;
|
||||
|
||||
Screen->SetCurItem( NULL );
|
||||
Panel->ManageCurseur = NULL;
|
||||
Panel->ForceCloseManageCurseur = NULL;
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL
|
||||
*/
|
||||
|
||||
void WinEDA_SheetPropertiesFrame::OnCancelClick( wxCommandEvent& event )
|
||||
{
|
||||
EndModal( 0 );
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK
|
||||
*/
|
||||
|
||||
void WinEDA_SheetPropertiesFrame::OnOkClick( wxCommandEvent& event )
|
||||
{
|
||||
SheetPropertiesAccept( event );
|
||||
DrawPanel->ManageCurseur( DrawPanel, aDC, true );
|
||||
DrawPanel->CursorOn( aDC );
|
||||
}
|
||||
|
|
125
eeschema/sheet.h
125
eeschema/sheet.h
|
@ -1,125 +0,0 @@
|
|||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: sheet.h
|
||||
// Purpose:
|
||||
// Author: jean-pierre Charras
|
||||
// Modified by:
|
||||
// Created: 08/02/2006 18:37:02
|
||||
// RCS-ID:
|
||||
// Copyright: License GNU
|
||||
// Licence:
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Generated by DialogBlocks (unregistered), 08/02/2006 18:37:02
|
||||
|
||||
#ifndef _SHEET_H_
|
||||
#define _SHEET_H_
|
||||
|
||||
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
|
||||
#pragma interface "sheet.h"
|
||||
#endif
|
||||
|
||||
/*!
|
||||
* Includes
|
||||
*/
|
||||
|
||||
////@begin includes
|
||||
#include "wx/valtext.h"
|
||||
////@end includes
|
||||
|
||||
/*!
|
||||
* Forward declarations
|
||||
*/
|
||||
|
||||
////@begin forward declarations
|
||||
////@end forward declarations
|
||||
|
||||
/*!
|
||||
* Control identifiers
|
||||
*/
|
||||
|
||||
////@begin control identifiers
|
||||
#define ID_DIALOG 10000
|
||||
#define ID_TEXTCTRL1 10002
|
||||
#define ID_TEXTCTRL 10001
|
||||
#define ID_TEXTCTRL2 10003
|
||||
#define ID_TEXTCTRL3 10004
|
||||
#define SYMBOL_WINEDA_SHEETPROPERTIESFRAME_STYLE wxCAPTION|wxSYSTEM_MENU|wxCLOSE_BOX|MAYBE_RESIZE_BORDER
|
||||
#define SYMBOL_WINEDA_SHEETPROPERTIESFRAME_TITLE _("Sheet properties")
|
||||
#define SYMBOL_WINEDA_SHEETPROPERTIESFRAME_IDNAME ID_DIALOG
|
||||
#define SYMBOL_WINEDA_SHEETPROPERTIESFRAME_SIZE wxSize(400, 300)
|
||||
#define SYMBOL_WINEDA_SHEETPROPERTIESFRAME_POSITION wxDefaultPosition
|
||||
////@end control identifiers
|
||||
|
||||
/*!
|
||||
* Compatibility
|
||||
*/
|
||||
|
||||
#ifndef wxCLOSE_BOX
|
||||
#define wxCLOSE_BOX 0x1000
|
||||
#endif
|
||||
|
||||
/*!
|
||||
* WinEDA_SheetPropertiesFrame class declaration
|
||||
*/
|
||||
|
||||
class WinEDA_SheetPropertiesFrame: public wxDialog
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( WinEDA_SheetPropertiesFrame )
|
||||
DECLARE_EVENT_TABLE()
|
||||
|
||||
public:
|
||||
/// Constructors
|
||||
WinEDA_SheetPropertiesFrame( );
|
||||
WinEDA_SheetPropertiesFrame( WinEDA_SchematicFrame* parent,
|
||||
SCH_SHEET * currentsheet,
|
||||
wxWindowID id = SYMBOL_WINEDA_SHEETPROPERTIESFRAME_IDNAME,
|
||||
const wxString& caption = SYMBOL_WINEDA_SHEETPROPERTIESFRAME_TITLE,
|
||||
const wxPoint& pos = SYMBOL_WINEDA_SHEETPROPERTIESFRAME_POSITION,
|
||||
const wxSize& size = SYMBOL_WINEDA_SHEETPROPERTIESFRAME_SIZE,
|
||||
long style = SYMBOL_WINEDA_SHEETPROPERTIESFRAME_STYLE );
|
||||
|
||||
/// Creation
|
||||
bool Create( wxWindow* parent, wxWindowID id = SYMBOL_WINEDA_SHEETPROPERTIESFRAME_IDNAME, const wxString& caption = SYMBOL_WINEDA_SHEETPROPERTIESFRAME_TITLE, const wxPoint& pos = SYMBOL_WINEDA_SHEETPROPERTIESFRAME_POSITION, const wxSize& size = SYMBOL_WINEDA_SHEETPROPERTIESFRAME_SIZE, long style = SYMBOL_WINEDA_SHEETPROPERTIESFRAME_STYLE );
|
||||
|
||||
/// Creates the controls and sizers
|
||||
void CreateControls();
|
||||
|
||||
////@begin WinEDA_SheetPropertiesFrame event handler declarations
|
||||
|
||||
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL
|
||||
void OnCancelClick( wxCommandEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK
|
||||
void OnOkClick( wxCommandEvent& event );
|
||||
|
||||
////@end WinEDA_SheetPropertiesFrame event handler declarations
|
||||
|
||||
////@begin WinEDA_SheetPropertiesFrame member function declarations
|
||||
|
||||
/// Retrieves bitmap resources
|
||||
wxBitmap GetBitmapResource( const wxString& name );
|
||||
|
||||
/// Retrieves icon resources
|
||||
wxIcon GetIconResource( const wxString& name );
|
||||
////@end WinEDA_SheetPropertiesFrame member function declarations
|
||||
|
||||
/// Should we show tooltips?
|
||||
static bool ShowToolTips();
|
||||
void SheetPropertiesAccept(wxCommandEvent& event);
|
||||
|
||||
////@begin WinEDA_SheetPropertiesFrame member variables
|
||||
wxTextCtrl* m_FileNameWin;
|
||||
wxTextCtrl* m_SheetNameWin;
|
||||
wxStaticText* m_FileNameTextSize;
|
||||
wxTextCtrl* m_FileNameSize;
|
||||
wxStaticText* m_SheetNameTextSize;
|
||||
wxTextCtrl* m_SheetNameSize;
|
||||
wxButton* m_btClose;
|
||||
////@end WinEDA_SheetPropertiesFrame member variables
|
||||
|
||||
WinEDA_SchematicFrame * m_Parent;
|
||||
SCH_SHEET* m_CurrentSheet;
|
||||
};
|
||||
|
||||
#endif
|
||||
// _SHEET_H_
|
1217
eeschema/sheet.pjd
1217
eeschema/sheet.pjd
File diff suppressed because it is too large
Load Diff
|
@ -1 +0,0 @@
|
|||
#include "wx/msw/wx.rc"
|
|
@ -20,6 +20,7 @@
|
|||
#include "class_library.h"
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
#include <wx/ffile.h>
|
||||
|
||||
|
||||
/*
|
||||
|
@ -32,7 +33,6 @@
|
|||
void WinEDA_LibeditFrame::LoadOneSymbol( void )
|
||||
{
|
||||
LIB_COMPONENT* Component;
|
||||
FILE* ImportFile;
|
||||
wxString msg, err;
|
||||
CMP_LIBRARY* Lib;
|
||||
|
||||
|
@ -58,17 +58,6 @@ void WinEDA_LibeditFrame::LoadOneSymbol( void )
|
|||
wxFileName fn = dlg.GetPath();
|
||||
wxGetApp().SaveLastVisitedLibraryPath( fn.GetPath() );
|
||||
|
||||
/* Load data */
|
||||
ImportFile = wxFopen( fn.GetFullPath(), wxT( "rt" ) );
|
||||
|
||||
if( ImportFile == NULL )
|
||||
{
|
||||
msg.Printf( _( "Failed to open Symbol File <%s>" ),
|
||||
GetChars( fn.GetFullPath() ) );
|
||||
DisplayError( this, msg );
|
||||
return;
|
||||
}
|
||||
|
||||
Lib = new CMP_LIBRARY( LIBRARY_TYPE_SYMBOL, fn );
|
||||
|
||||
if( !Lib->Load( err ) )
|
||||
|
@ -76,13 +65,10 @@ void WinEDA_LibeditFrame::LoadOneSymbol( void )
|
|||
msg.Printf( _( "Error <%s> occurred loading symbol library <%s>." ),
|
||||
GetChars( err ), GetChars( fn.GetName() ) );
|
||||
DisplayError( this, msg );
|
||||
fclose( ImportFile );
|
||||
delete Lib;
|
||||
return;
|
||||
}
|
||||
|
||||
fclose( ImportFile );
|
||||
|
||||
if( Lib->IsEmpty() )
|
||||
{
|
||||
msg.Printf( _( "No components found in symbol library <%s>." ),
|
||||
|
@ -92,7 +78,11 @@ void WinEDA_LibeditFrame::LoadOneSymbol( void )
|
|||
}
|
||||
|
||||
if( Lib->GetCount() > 1 )
|
||||
DisplayError( this, _( "Warning: more than 1 part in symbol file." ) );
|
||||
{
|
||||
msg.Printf( _( "More than one part in symbol file <%s>." ),
|
||||
GetChars( fn.GetName() ) );
|
||||
wxMessageBox( msg, _( "Warning" ), wxOK | wxICON_EXCLAMATION, this );
|
||||
}
|
||||
|
||||
Component = (LIB_COMPONENT*) Lib->GetFirstEntry();
|
||||
LIB_DRAW_ITEM_LIST& drawList = Component->GetDrawItemList();
|
||||
|
@ -113,10 +103,7 @@ void WinEDA_LibeditFrame::LoadOneSymbol( void )
|
|||
m_component->AddDrawItem( newItem );
|
||||
}
|
||||
|
||||
// Remove duplicated drawings:
|
||||
m_component->RemoveDuplicateDrawItems();
|
||||
|
||||
// Clear flags
|
||||
m_component->ClearSelectedItems();
|
||||
|
||||
GetScreen()->SetModify();
|
||||
|
@ -127,7 +114,7 @@ void WinEDA_LibeditFrame::LoadOneSymbol( void )
|
|||
|
||||
|
||||
/*
|
||||
* Save in file the current symbol.
|
||||
* Save the current symbol to a file.
|
||||
*
|
||||
* The symbol file format is like the standard libraries, but there is only
|
||||
* one symbol.
|
||||
|
@ -137,7 +124,6 @@ void WinEDA_LibeditFrame::LoadOneSymbol( void )
|
|||
void WinEDA_LibeditFrame::SaveOneSymbol()
|
||||
{
|
||||
wxString msg;
|
||||
FILE* ExportFile;
|
||||
|
||||
if( m_component->GetDrawItemList().empty() )
|
||||
return;
|
||||
|
@ -160,50 +146,57 @@ void WinEDA_LibeditFrame::SaveOneSymbol()
|
|||
|
||||
wxGetApp().SaveLastVisitedLibraryPath( fn.GetPath() );
|
||||
|
||||
ExportFile = wxFopen( fn.GetFullPath(), wxT( "wt" ) );
|
||||
wxFFile file( fn.GetFullPath(), wxT( "wt" ) );
|
||||
|
||||
if( ExportFile == NULL )
|
||||
if( !file.IsOpened() )
|
||||
{
|
||||
msg.Printf( _( "Unable to create <%s>" ),
|
||||
msg.Printf( _( "Unable to create file <%s>" ),
|
||||
GetChars( fn.GetFullPath() ) );
|
||||
DisplayError( this, msg );
|
||||
return;
|
||||
}
|
||||
|
||||
msg.Printf( _( "Save Symbol in [%s]" ), GetChars( fn.GetPath() ) );
|
||||
msg.Printf( _( "Saving symbol in [%s]" ), GetChars( fn.GetPath() ) );
|
||||
Affiche_Message( msg );
|
||||
|
||||
char Line[256];
|
||||
fprintf( ExportFile, "%s %d.%d %s Date: %s\n", LIBFILE_IDENT,
|
||||
LIB_VERSION_MAJOR, LIB_VERSION_MINOR,
|
||||
"SYMBOL", DateAndTime( Line ) );
|
||||
wxString line;
|
||||
|
||||
/* Component name. */
|
||||
fprintf( ExportFile, "# SYMBOL %s\n#\n",
|
||||
CONV_TO_UTF8( m_component->GetName() ) );
|
||||
/* File header */
|
||||
line << wxT( LIBFILE_IDENT ) << wxT( " " ) << LIB_VERSION_MAJOR
|
||||
<< wxT( "." ) << LIB_VERSION_MINOR << wxT( " SYMBOL " )
|
||||
<< wxT( "Date: " ) << DateAndTime() << wxT( "\n" );
|
||||
|
||||
/* Component name comment and definition. */
|
||||
line << wxT( "# SYMBOL " ) << m_component->GetName() << wxT( "\n#\nDEF " )
|
||||
<< m_component->GetName() << wxT( " " );
|
||||
|
||||
fprintf( ExportFile, "DEF %s",
|
||||
CONV_TO_UTF8( m_component->GetName() ) );
|
||||
if( !m_component->GetReferenceField().m_Text.IsEmpty() )
|
||||
fprintf( ExportFile, " %s",
|
||||
CONV_TO_UTF8( m_component->GetReferenceField().m_Text ) );
|
||||
line << m_component->GetReferenceField().m_Text << wxT( " " );
|
||||
else
|
||||
fprintf( ExportFile, " ~" );
|
||||
line << wxT( "~ " );
|
||||
|
||||
fprintf( ExportFile, " %d %d %c %c %d %d %c\n",
|
||||
0, /* unused */
|
||||
m_component->m_TextInside,
|
||||
m_component->m_DrawPinNum ? 'Y' : 'N',
|
||||
m_component->m_DrawPinName ? 'Y' : 'N',
|
||||
1, 0 /* unused */, 'N' );
|
||||
line << 0 << wxT( " " ) << m_component->m_TextInside << wxT( " " );
|
||||
|
||||
m_component->GetReferenceField().Save( ExportFile );
|
||||
m_component->GetValueField().Save( ExportFile );
|
||||
if( m_component->m_DrawPinNum )
|
||||
line << wxT( "Y " );
|
||||
else
|
||||
line << wxT( "N " );
|
||||
|
||||
if( m_component->m_DrawPinName )
|
||||
line << wxT( "Y " );
|
||||
else
|
||||
line << wxT( "N " );
|
||||
|
||||
line << wxT( "1 0 N\n" );
|
||||
|
||||
if( !file.Write( line )
|
||||
|| !m_component->GetReferenceField().Save( file.fp() )
|
||||
|| !m_component->GetValueField().Save( file.fp() )
|
||||
|| !file.Write( wxT( "DRAW\n" ) ) )
|
||||
return;
|
||||
|
||||
LIB_DRAW_ITEM_LIST& drawList = m_component->GetDrawItemList();
|
||||
|
||||
fprintf( ExportFile, "DRAW\n" );
|
||||
|
||||
BOOST_FOREACH( LIB_DRAW_ITEM& item, drawList )
|
||||
{
|
||||
if( item.Type() == COMPONENT_FIELD_DRAW_TYPE )
|
||||
|
@ -214,19 +207,20 @@ void WinEDA_LibeditFrame::SaveOneSymbol()
|
|||
if( m_convert && item.m_Convert && ( item.m_Convert != m_convert ) )
|
||||
continue;
|
||||
|
||||
item.Save( ExportFile );
|
||||
if( !item.Save( file.fp() ) )
|
||||
return;
|
||||
}
|
||||
|
||||
fprintf( ExportFile, "ENDDRAW\n" );
|
||||
fprintf( ExportFile, "ENDDEF\n" );
|
||||
fclose( ExportFile );
|
||||
if( !file.Write( wxT( "ENDDRAW\n" ) )
|
||||
|| !file.Write( wxT( "ENDDEF\n" ) ) )
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Place anchor reference coordinators for current component
|
||||
*
|
||||
* All coordinates of the object are offset to the cursor position * /
|
||||
* All coordinates of the object are offset to the cursor position.
|
||||
*/
|
||||
void WinEDA_LibeditFrame::PlaceAncre()
|
||||
{
|
||||
|
|
|
@ -159,7 +159,7 @@ void WinEDA_ViewlibFrame::ReCreateHToolbar()
|
|||
SelpartBox->Enable( parts_count > 1 );
|
||||
|
||||
m_HToolBar->EnableTool( ID_LIBVIEW_VIEWDOC,
|
||||
entry && ( entry->m_DocFile != wxEmptyString ) );
|
||||
entry && ( entry->GetDocFileName() != wxEmptyString ) );
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -51,8 +51,8 @@ void WinEDA_ViewlibFrame::Process_Special_Functions( wxCommandEvent& event )
|
|||
LibEntry = CMP_LIBRARY::FindLibraryEntry( m_entryName,
|
||||
m_libraryName );
|
||||
|
||||
if( LibEntry && ( !LibEntry->m_DocFile.IsEmpty() ) )
|
||||
GetAssociatedDocument( this, LibEntry->m_DocFile,
|
||||
if( LibEntry && ( !LibEntry->GetDocFileName().IsEmpty() ) )
|
||||
GetAssociatedDocument( this, LibEntry->GetDocFileName(),
|
||||
&wxGetApp().GetLibraryPathList() );
|
||||
break;
|
||||
|
||||
|
@ -280,12 +280,12 @@ void WinEDA_ViewlibFrame::RedrawActiveWindow( wxDC* DC, bool EraseBg )
|
|||
|
||||
DrawPanel->DrawBackGround( DC );
|
||||
|
||||
if( entry->Type != ROOT )
|
||||
if( entry->isAlias() )
|
||||
{
|
||||
LIB_ALIAS* alias = (LIB_ALIAS*) entry;
|
||||
component = alias->GetComponent();
|
||||
|
||||
wxASSERT( component != NULL && component->Type == ROOT );
|
||||
wxASSERT( component != NULL && component->isComponent() );
|
||||
|
||||
msg = alias->GetName();
|
||||
|
||||
|
@ -313,8 +313,8 @@ void WinEDA_ViewlibFrame::RedrawActiveWindow( wxDC* DC, bool EraseBg )
|
|||
ClearMsgPanel();
|
||||
AppendMsgPanel( _( "Part" ), component->GetName(), BLUE, 6 );
|
||||
AppendMsgPanel( _( "Alias" ), msg, RED, 6 );
|
||||
AppendMsgPanel( _( "Description" ), entry->m_Doc, CYAN, 6 );
|
||||
AppendMsgPanel( _( "Key words" ), entry->m_KeyWord, DARKDARKGRAY );
|
||||
AppendMsgPanel( _( "Description" ), entry->GetDescription(), CYAN, 6 );
|
||||
AppendMsgPanel( _( "Key words" ), entry->GetKeyWords(), DARKDARKGRAY );
|
||||
|
||||
DrawPanel->Trace_Curseur( DC );
|
||||
}
|
||||
|
|
|
@ -1234,15 +1234,14 @@ bool DRC::doPadToPadsDrc( D_PAD* aRefPad, LISTE_PAD* aStart, LISTE_PAD* aEnd,
|
|||
wxPoint rotate( wxPoint p, int angle )
|
||||
{
|
||||
wxPoint n;
|
||||
float theta = M_PI * angle/1800;
|
||||
n.x = float(p.x) * cos(theta) - float(p.y) * sin(theta);
|
||||
n.y = p.x * sin(theta) + p.y * cos(theta);
|
||||
double theta = M_PI * (double) angle / 1800.0;
|
||||
n.x = wxRound( (double ) p.x * cos( theta ) - (double) p.y * sin( theta ) );
|
||||
n.y = wxRound( p.x * sin( theta ) + p.y * cos( theta ) );
|
||||
return n;
|
||||
}
|
||||
|
||||
/**************************************************************************************/
|
||||
|
||||
bool DRC::checkClearancePadToPad( D_PAD* aRefPad, D_PAD* aPad )
|
||||
/***************************************************************************************/
|
||||
{
|
||||
wxPoint rel_pos;
|
||||
int dist;;
|
||||
|
|
Loading…
Reference in New Issue