EESchema file name and location house keeping.
This commit is contained in:
parent
32394e056a
commit
37ad67dfb1
|
@ -4,6 +4,20 @@ KiCad ChangeLog 2010
|
||||||
Please add newer entries at the top, list the date and your name with
|
Please add newer entries at the top, list the date and your name with
|
||||||
email address.
|
email address.
|
||||||
|
|
||||||
|
2010-nov-11 UPDATE Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
================================================================================
|
||||||
|
++EESchema
|
||||||
|
* Make schematic object file naming consistent.
|
||||||
|
* Move annotate dialog to dialogs subdirectory and set the "Annotation"
|
||||||
|
button as the default.
|
||||||
|
* Move ERC dialog to dialogs subdirectory and set the "Test Erc" button
|
||||||
|
as the default.
|
||||||
|
* Move the print dialog to dialogs subdirectory and set the "Print" button
|
||||||
|
as the default.
|
||||||
|
* Create print dialog header and move the OnPrint() method into
|
||||||
|
schframe.cpp.
|
||||||
|
|
||||||
|
|
||||||
2010-nov-10 UPDATE Wayne Stambaugh <stambaughw@verizon.net>
|
2010-nov-10 UPDATE Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
================================================================================
|
================================================================================
|
||||||
++EESchema
|
++EESchema
|
||||||
|
|
|
@ -8,26 +8,16 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
|
||||||
set(EESCHEMA_SRCS
|
set(EESCHEMA_SRCS
|
||||||
annotate.cpp
|
annotate.cpp
|
||||||
annotate_dialog.cpp
|
|
||||||
backanno.cpp
|
backanno.cpp
|
||||||
block.cpp
|
block.cpp
|
||||||
block_libedit.cpp
|
block_libedit.cpp
|
||||||
build_BOM.cpp
|
build_BOM.cpp
|
||||||
busentry.cpp
|
busentry.cpp
|
||||||
bus-wire-junction.cpp
|
bus-wire-junction.cpp
|
||||||
class_drawsheet.cpp
|
|
||||||
class_drawsheetpath.cpp
|
|
||||||
class_drc_erc_item.cpp
|
class_drc_erc_item.cpp
|
||||||
class_hierarchical_PIN_sheet.cpp
|
|
||||||
class_libentry.cpp
|
class_libentry.cpp
|
||||||
class_library.cpp
|
class_library.cpp
|
||||||
class_marker_sch.cpp
|
|
||||||
class_netlist_object.cpp
|
class_netlist_object.cpp
|
||||||
class_sch_cmp_field.cpp
|
|
||||||
class_sch_component.cpp
|
|
||||||
class_schematic_items.cpp
|
|
||||||
class_sch_screen.cpp
|
|
||||||
class_text-label.cpp
|
|
||||||
cleanup.cpp
|
cleanup.cpp
|
||||||
cmp_library_keywords.cpp
|
cmp_library_keywords.cpp
|
||||||
cmp_library_lexer.cpp
|
cmp_library_lexer.cpp
|
||||||
|
@ -43,7 +33,8 @@ set(EESCHEMA_SRCS
|
||||||
dialogs/dialog_plot_schematic_HPGL_base.cpp
|
dialogs/dialog_plot_schematic_HPGL_base.cpp
|
||||||
dialogs/dialog_plot_schematic_PS.cpp
|
dialogs/dialog_plot_schematic_PS.cpp
|
||||||
dialogs/dialog_plot_schematic_PS_base.cpp
|
dialogs/dialog_plot_schematic_PS_base.cpp
|
||||||
dialog_annotate_base.cpp
|
dialogs/annotate_dialog.cpp
|
||||||
|
dialogs/dialog_annotate_base.cpp
|
||||||
dialog_bodygraphictext_properties_base.cpp
|
dialog_bodygraphictext_properties_base.cpp
|
||||||
dialog_build_BOM.cpp
|
dialog_build_BOM.cpp
|
||||||
dialog_build_BOM_base.cpp
|
dialog_build_BOM_base.cpp
|
||||||
|
@ -59,8 +50,8 @@ set(EESCHEMA_SRCS
|
||||||
dialog_eeschema_config_fbp.cpp
|
dialog_eeschema_config_fbp.cpp
|
||||||
dialog_eeschema_options_base.cpp
|
dialog_eeschema_options_base.cpp
|
||||||
dialog_eeschema_options.cpp
|
dialog_eeschema_options.cpp
|
||||||
dialog_erc.cpp
|
dialogs/dialog_erc.cpp
|
||||||
dialog_erc_base.cpp
|
dialogs/dialog_erc_base.cpp
|
||||||
dialog_libedit_dimensions.cpp
|
dialog_libedit_dimensions.cpp
|
||||||
dialog_libedit_dimensions_base.cpp
|
dialog_libedit_dimensions_base.cpp
|
||||||
dialog_lib_edit_draw_item.cpp
|
dialog_lib_edit_draw_item.cpp
|
||||||
|
@ -69,8 +60,8 @@ set(EESCHEMA_SRCS
|
||||||
dialog_lib_edit_pin_base.cpp
|
dialog_lib_edit_pin_base.cpp
|
||||||
dialog_lib_new_component.cpp
|
dialog_lib_new_component.cpp
|
||||||
dialog_lib_new_component_base.cpp
|
dialog_lib_new_component_base.cpp
|
||||||
dialog_print_using_printer_base.cpp
|
dialogs/dialog_print_using_printer_base.cpp
|
||||||
dialog_print_using_printer.cpp
|
dialogs/dialog_print_using_printer.cpp
|
||||||
dialog_sch_sheet_props.cpp
|
dialog_sch_sheet_props.cpp
|
||||||
dialog_sch_sheet_props_base.cpp
|
dialog_sch_sheet_props_base.cpp
|
||||||
dialogs/dialog_schematic_find.cpp
|
dialogs/dialog_schematic_find.cpp
|
||||||
|
@ -122,6 +113,15 @@ set(EESCHEMA_SRCS
|
||||||
operations_on_items_lists.cpp
|
operations_on_items_lists.cpp
|
||||||
pinedit.cpp
|
pinedit.cpp
|
||||||
plot.cpp
|
plot.cpp
|
||||||
|
sch_component.cpp
|
||||||
|
sch_field.cpp
|
||||||
|
sch_items.cpp
|
||||||
|
sch_marker.cpp
|
||||||
|
sch_screen.cpp
|
||||||
|
sch_sheet.cpp
|
||||||
|
sch_sheet_path.cpp
|
||||||
|
sch_sheet_pin.cpp
|
||||||
|
sch_text.cpp
|
||||||
schedit.cpp
|
schedit.cpp
|
||||||
schematic_undo_redo.cpp
|
schematic_undo_redo.cpp
|
||||||
schframe.cpp
|
schframe.cpp
|
||||||
|
|
|
@ -10,12 +10,12 @@
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
#include "wxstruct.h"
|
#include "wxstruct.h"
|
||||||
|
#include "class_sch_screen.h"
|
||||||
#include "wxEeschemaStruct.h"
|
#include "wxEeschemaStruct.h"
|
||||||
|
|
||||||
#include "class_library.h"
|
#include "class_library.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_sch_screen.h"
|
#include "sch_component.h"
|
||||||
#include "class_sch_component.h"
|
|
||||||
#include "netlist.h"
|
#include "netlist.h"
|
||||||
#include "lib_pin.h"
|
#include "lib_pin.h"
|
||||||
|
|
||||||
|
|
|
@ -13,8 +13,8 @@
|
||||||
#include "build_version.h"
|
#include "build_version.h"
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "class_drawsheetpath.h"
|
#include "sch_sheet_path.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_component.h"
|
||||||
|
|
||||||
|
|
||||||
/** function FillFootprintFieldForAllInstancesofComponent
|
/** function FillFootprintFieldForAllInstancesofComponent
|
||||||
|
|
|
@ -13,14 +13,14 @@
|
||||||
#include "class_sch_screen.h"
|
#include "class_sch_screen.h"
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "class_marker_sch.h"
|
|
||||||
#include "class_library.h"
|
#include "class_library.h"
|
||||||
#include "lib_pin.h"
|
#include "lib_pin.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_schematic_items.h"
|
#include "sch_marker.h"
|
||||||
#include "class_text-label.h"
|
#include "sch_items.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_text.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_component.h"
|
||||||
|
#include "sch_sheet.h"
|
||||||
|
|
||||||
#include <boost/foreach.hpp>
|
#include <boost/foreach.hpp>
|
||||||
|
|
||||||
|
|
|
@ -21,9 +21,9 @@
|
||||||
#include "class_library.h"
|
#include "class_library.h"
|
||||||
#include "netlist.h"
|
#include "netlist.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_sheet.h"
|
||||||
#include "template_fieldnames.h"
|
#include "template_fieldnames.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_component.h"
|
||||||
|
|
||||||
#include "build_version.h"
|
#include "build_version.h"
|
||||||
|
|
||||||
|
|
|
@ -14,10 +14,10 @@
|
||||||
#include "lib_pin.h"
|
#include "lib_pin.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_schematic_items.h"
|
#include "sch_items.h"
|
||||||
#include "class_text-label.h"
|
#include "sch_text.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_component.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_sheet.h"
|
||||||
|
|
||||||
|
|
||||||
/* Routines Locales */
|
/* Routines Locales */
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_schematic_items.h"
|
#include "sch_items.h"
|
||||||
|
|
||||||
|
|
||||||
static int s_LastShape = '\\';
|
static int s_LastShape = '\\';
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include "wxEeschemaStruct.h"
|
#include "wxEeschemaStruct.h"
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_component.h"
|
||||||
#include "class_netlist_object.h"
|
#include "class_netlist_object.h"
|
||||||
|
|
||||||
#if defined(DEBUG)
|
#if defined(DEBUG)
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#ifndef _CLASS_NETLIST_OBJECT_H_
|
#ifndef _CLASS_NETLIST_OBJECT_H_
|
||||||
#define _CLASS_NETLIST_OBJECT_H_
|
#define _CLASS_NETLIST_OBJECT_H_
|
||||||
|
|
||||||
#include "class_drawsheetpath.h"
|
#include "sch_sheet_path.h"
|
||||||
|
|
||||||
#include "lib_pin.h" // LIB_PIN::ReturnPinStringNum( m_PinNum )
|
#include "lib_pin.h" // LIB_PIN::ReturnPinStringNum( m_PinNum )
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "netlist.h"
|
#include "netlist.h"
|
||||||
#include "class_schematic_items.h"
|
#include "sch_items.h"
|
||||||
|
|
||||||
|
|
||||||
/* Routine to start/end segment (BUS or wires) on junctions.
|
/* Routine to start/end segment (BUS or wires) on junctions.
|
||||||
|
|
|
@ -16,10 +16,10 @@
|
||||||
#include "viewlib_frame.h"
|
#include "viewlib_frame.h"
|
||||||
#include "lib_draw_item.h"
|
#include "lib_draw_item.h"
|
||||||
#include "lib_pin.h"
|
#include "lib_pin.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_sheet.h"
|
||||||
#include "class_drawsheetpath.h"
|
#include "sch_sheet_path.h"
|
||||||
#include "class_marker_sch.h"
|
#include "sch_marker.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_component.h"
|
||||||
|
|
||||||
|
|
||||||
/** Function SchematicGeneralLocateAndDisplay
|
/** Function SchematicGeneralLocateAndDisplay
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "lib_draw_item.h"
|
#include "lib_draw_item.h"
|
||||||
#include "lib_pin.h"
|
#include "lib_pin.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_component.h"
|
||||||
|
|
||||||
|
|
||||||
/***************************************************************/
|
/***************************************************************/
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_libentry.h"
|
#include "class_libentry.h"
|
||||||
#include "lib_pin.h"
|
#include "lib_pin.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_component.h"
|
||||||
|
|
||||||
|
|
||||||
/* Returns true if the point P is on the segment S. */
|
/* Returns true if the point P is on the segment S. */
|
||||||
|
|
|
@ -10,10 +10,10 @@
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_marker_sch.h"
|
#include "sch_marker.h"
|
||||||
#include "class_schematic_items.h"
|
#include "sch_items.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_sheet.h"
|
||||||
#include "class_text-label.h"
|
#include "sch_text.h"
|
||||||
|
|
||||||
|
|
||||||
// Imported function:
|
// Imported function:
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_sheet.h"
|
||||||
|
|
||||||
|
|
||||||
/**************************************************************************/
|
/**************************************************************************/
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "libeditframe.h"
|
#include "libeditframe.h"
|
||||||
#include "class_drawsheetpath.h"
|
#include "sch_sheet_path.h"
|
||||||
|
|
||||||
|
|
||||||
// Keys for configuration
|
// Keys for configuration
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_library.h"
|
#include "class_library.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_component.h"
|
||||||
|
|
||||||
#include "dialog_edit_component_in_schematic.h"
|
#include "dialog_edit_component_in_schematic.h"
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#define __dialog_edit_component_in_schematic__
|
#define __dialog_edit_component_in_schematic__
|
||||||
|
|
||||||
|
|
||||||
#include "class_sch_cmp_field.h"
|
#include "sch_field.h"
|
||||||
#include "template_fieldnames.h"
|
#include "template_fieldnames.h"
|
||||||
|
|
||||||
#include "dialog_edit_component_in_schematic_fbp.h"
|
#include "dialog_edit_component_in_schematic_fbp.h"
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "drawtxt.h"
|
#include "drawtxt.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
#include "class_text-label.h"
|
#include "sch_text.h"
|
||||||
|
|
||||||
#include "dialog_edit_label.h"
|
#include "dialog_edit_label.h"
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "libeditframe.h"
|
#include "libeditframe.h"
|
||||||
#include "class_library.h"
|
#include "class_library.h"
|
||||||
#include "class_sch_cmp_field.h"
|
#include "sch_field.h"
|
||||||
#include "template_fieldnames.h"
|
#include "template_fieldnames.h"
|
||||||
|
|
||||||
#include "dialog_edit_libentry_fields_in_lib_base.h"
|
#include "dialog_edit_libentry_fields_in_lib_base.h"
|
||||||
|
|
|
@ -12,8 +12,7 @@
|
||||||
|
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
//#include "general.h"
|
#include "sch_marker.h"
|
||||||
#include "class_marker_sch.h"
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class ERC_HTML_LISTBOX
|
* Class ERC_HTML_LISTBOX
|
||||||
|
|
|
@ -69,6 +69,8 @@ void DIALOG_ANNOTATE::InitValues()
|
||||||
annotate_right_down_bitmap->SetBitmap(bitmap1);
|
annotate_right_down_bitmap->SetBitmap(bitmap1);
|
||||||
wxBitmap bitmap2(add_text_xpm);
|
wxBitmap bitmap2(add_text_xpm);
|
||||||
annotate_by_value_bitmap->SetBitmap(bitmap2);
|
annotate_by_value_bitmap->SetBitmap(bitmap2);
|
||||||
|
|
||||||
|
m_btnApply->SetDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -92,12 +94,10 @@ void DIALOG_ANNOTATE::OnApplyClick( wxCommandEvent& event )
|
||||||
message += _( "on the current sheet?" );
|
message += _( "on the current sheet?" );
|
||||||
|
|
||||||
message += _( "\n\nThis operation will change the current annotation and cannot be undone." );
|
message += _( "\n\nThis operation will change the current annotation and cannot be undone." );
|
||||||
response = wxMessageBox( message, wxT( "" ),
|
response = wxMessageBox( message, wxT( "" ), wxICON_EXCLAMATION | wxOK | wxCANCEL );
|
||||||
wxICON_EXCLAMATION | wxOK | wxCANCEL );
|
|
||||||
if (response == wxCANCEL)
|
if (response == wxCANCEL)
|
||||||
return;
|
return;
|
||||||
AnnotateComponents( m_Parent, GetLevel(), GetSortOrder(),
|
AnnotateComponents( m_Parent, GetLevel(), GetSortOrder(), GetResetItems() , true );
|
||||||
GetResetItems() , true );
|
|
||||||
m_btnClear->Enable();
|
m_btnClear->Enable();
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,13 +9,17 @@
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
|
#include "kicad_string.h"
|
||||||
|
#include "gestfich.h"
|
||||||
#include "bitmaps.h"
|
#include "bitmaps.h"
|
||||||
|
#include "appl_wxstruct.h"
|
||||||
#include "class_sch_screen.h"
|
#include "class_sch_screen.h"
|
||||||
#include "wxEeschemaStruct.h"
|
#include "wxEeschemaStruct.h"
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "netlist.h"
|
#include "netlist.h"
|
||||||
#include "class_marker_sch.h"
|
#include "sch_marker.h"
|
||||||
|
#include "sch_sheet.h"
|
||||||
#include "lib_pin.h"
|
#include "lib_pin.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
|
|
||||||
|
@ -24,6 +28,9 @@
|
||||||
#include "erc.h"
|
#include "erc.h"
|
||||||
|
|
||||||
|
|
||||||
|
bool DIALOG_ERC::m_writeErcFile = false;
|
||||||
|
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE( DIALOG_ERC, DIALOG_ERC_BASE )
|
BEGIN_EVENT_TABLE( DIALOG_ERC, DIALOG_ERC_BASE )
|
||||||
EVT_COMMAND_RANGE( ID_MATRIX_0, ID_MATRIX_0 + ( PIN_NMAX * PIN_NMAX ) - 1,
|
EVT_COMMAND_RANGE( ID_MATRIX_0, ID_MATRIX_0 + ( PIN_NMAX * PIN_NMAX ) - 1,
|
||||||
wxEVT_COMMAND_BUTTON_CLICKED,
|
wxEVT_COMMAND_BUTTON_CLICKED,
|
||||||
|
@ -50,15 +57,13 @@ void DIALOG_ERC::Init()
|
||||||
for( int jj = 0; jj < PIN_NMAX; jj++ )
|
for( int jj = 0; jj < PIN_NMAX; jj++ )
|
||||||
m_ButtonList[ii][jj] = NULL;
|
m_ButtonList[ii][jj] = NULL;
|
||||||
|
|
||||||
m_WriteResultOpt->SetValue( WriteFichierERC );
|
m_WriteResultOpt->SetValue( m_writeErcFile );
|
||||||
|
|
||||||
wxString num;
|
wxString num;
|
||||||
num.Printf( wxT( "%d" ), g_EESchemaVar.NbErrorErc );
|
num.Printf( wxT( "%d" ), g_EESchemaVar.NbErrorErc );
|
||||||
m_TotalErrCount->SetLabel( num );
|
m_TotalErrCount->SetLabel( num );
|
||||||
|
|
||||||
num.Printf( wxT(
|
num.Printf( wxT( "%d" ), g_EESchemaVar.NbErrorErc - g_EESchemaVar.NbWarningErc );
|
||||||
"%d" ), g_EESchemaVar.NbErrorErc -
|
|
||||||
g_EESchemaVar.NbWarningErc );
|
|
||||||
m_LastErrCount->SetLabel( num );
|
m_LastErrCount->SetLabel( num );
|
||||||
|
|
||||||
num.Printf( wxT( "%d" ), g_EESchemaVar.NbWarningErc );
|
num.Printf( wxT( "%d" ), g_EESchemaVar.NbWarningErc );
|
||||||
|
@ -68,6 +73,9 @@ void DIALOG_ERC::Init()
|
||||||
|
|
||||||
// Init Panel Matrix
|
// Init Panel Matrix
|
||||||
ReBuildMatrixPanel();
|
ReBuildMatrixPanel();
|
||||||
|
|
||||||
|
// Set the run ERC button as the default button.
|
||||||
|
m_buttonERC->SetDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -377,10 +385,171 @@ void DIALOG_ERC::ChangeErrorLevel( wxCommandEvent& event )
|
||||||
if( new_bitmap_xpm )
|
if( new_bitmap_xpm )
|
||||||
{
|
{
|
||||||
delete Butt;
|
delete Butt;
|
||||||
Butt = new wxBitmapButton( m_PanelERCOptions, id,
|
Butt = new wxBitmapButton( m_PanelERCOptions, id, wxBitmap( new_bitmap_xpm ), pos );
|
||||||
wxBitmap( new_bitmap_xpm ), pos );
|
|
||||||
|
|
||||||
m_ButtonList[y][x] = Butt;
|
m_ButtonList[y][x] = Butt;
|
||||||
DiagErc[y][x] = DiagErc[x][y] = level;
|
DiagErc[y][x] = DiagErc[x][y] = level;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void DIALOG_ERC::TestErc( wxArrayString* aMessagesList )
|
||||||
|
{
|
||||||
|
wxFileName fn;
|
||||||
|
unsigned NetItemRef;
|
||||||
|
unsigned OldItem;
|
||||||
|
unsigned StartNet;
|
||||||
|
|
||||||
|
int NetNbItems, MinConn;
|
||||||
|
|
||||||
|
if( !DiagErcTableInit )
|
||||||
|
{
|
||||||
|
memcpy( DiagErc, DefaultDiagErc, sizeof(DefaultDiagErc) );
|
||||||
|
DiagErcTableInit = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_writeErcFile = m_WriteResultOpt->GetValue();
|
||||||
|
|
||||||
|
ReAnnotatePowerSymbolsOnly();
|
||||||
|
|
||||||
|
if( m_Parent->CheckAnnotate( aMessagesList, false ) )
|
||||||
|
{
|
||||||
|
if( aMessagesList )
|
||||||
|
{
|
||||||
|
wxString msg = _( "Annotation required!" );
|
||||||
|
msg += wxT( "\n" );
|
||||||
|
aMessagesList->Add( msg );
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Erase all DRC markers */
|
||||||
|
DeleteAllMarkers( MARK_ERC );
|
||||||
|
|
||||||
|
g_EESchemaVar.NbErrorErc = 0;
|
||||||
|
g_EESchemaVar.NbWarningErc = 0;
|
||||||
|
|
||||||
|
/* Cleanup the entire hierarchy */
|
||||||
|
SCH_SCREENS ScreenList;
|
||||||
|
|
||||||
|
for( SCH_SCREEN* Screen = ScreenList.GetFirst();
|
||||||
|
Screen != NULL;
|
||||||
|
Screen = ScreenList.GetNext() )
|
||||||
|
{
|
||||||
|
bool ModifyWires;
|
||||||
|
ModifyWires = Screen->SchematicCleanUp( NULL );
|
||||||
|
|
||||||
|
/* if wire list has changed, delete Undo Redo list to avoid
|
||||||
|
* pointers on deleted data problems */
|
||||||
|
if( ModifyWires )
|
||||||
|
Screen->ClearUndoRedoList();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Test duplicate sheet names
|
||||||
|
* inside a given sheet, one cannot have sheets with duplicate names (file
|
||||||
|
* names can be duplicated).
|
||||||
|
*/
|
||||||
|
int errcnt = TestDuplicateSheetNames( true );
|
||||||
|
g_EESchemaVar.NbErrorErc += errcnt;
|
||||||
|
|
||||||
|
m_Parent->BuildNetListBase();
|
||||||
|
|
||||||
|
/* Reset the flag m_FlagOfConnection, that will be used next, in
|
||||||
|
* calculations */
|
||||||
|
for( unsigned ii = 0; ii < g_NetObjectslist.size(); ii++ )
|
||||||
|
g_NetObjectslist[ii]->m_FlagOfConnection = UNCONNECTED;
|
||||||
|
|
||||||
|
StartNet = OldItem = 0;
|
||||||
|
NetNbItems = 0;
|
||||||
|
MinConn = NOC;
|
||||||
|
|
||||||
|
for( NetItemRef = 0; NetItemRef < g_NetObjectslist.size(); NetItemRef++ )
|
||||||
|
{
|
||||||
|
if( g_NetObjectslist[OldItem]->GetNet() != g_NetObjectslist[NetItemRef]->GetNet() )
|
||||||
|
{ // New net found:
|
||||||
|
MinConn = NOC;
|
||||||
|
NetNbItems = 0;
|
||||||
|
StartNet = NetItemRef;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch( g_NetObjectslist[NetItemRef]->m_Type )
|
||||||
|
{
|
||||||
|
case NET_ITEM_UNSPECIFIED:
|
||||||
|
case NET_SEGMENT:
|
||||||
|
case NET_BUS:
|
||||||
|
case NET_JONCTION:
|
||||||
|
case NET_LABEL:
|
||||||
|
case NET_BUSLABELMEMBER:
|
||||||
|
case NET_PINLABEL:
|
||||||
|
case NET_GLOBLABEL:
|
||||||
|
case NET_GLOBBUSLABELMEMBER:
|
||||||
|
|
||||||
|
// These items do not create erc problems
|
||||||
|
break;
|
||||||
|
|
||||||
|
case NET_HIERLABEL:
|
||||||
|
case NET_HIERBUSLABELMEMBER:
|
||||||
|
case NET_SHEETLABEL:
|
||||||
|
case NET_SHEETBUSLABELMEMBER:
|
||||||
|
|
||||||
|
// ERC problems when pin sheets do not match hierarchical labels.
|
||||||
|
// Each pin sheet must match a hierarchical label
|
||||||
|
// Each hierarchical label must match a pin sheet
|
||||||
|
TestLabel( m_Parent->DrawPanel, NetItemRef, StartNet );
|
||||||
|
break;
|
||||||
|
|
||||||
|
case NET_NOCONNECT:
|
||||||
|
|
||||||
|
// ERC problems when a noconnect symbol is connected to more than
|
||||||
|
// one pin.
|
||||||
|
MinConn = NET_NC;
|
||||||
|
if( NetNbItems != 0 )
|
||||||
|
Diagnose( m_Parent->DrawPanel, g_NetObjectslist[NetItemRef], NULL, MinConn, UNC );
|
||||||
|
break;
|
||||||
|
|
||||||
|
case NET_PIN:
|
||||||
|
|
||||||
|
// Look for ERC problems between pins:
|
||||||
|
TestOthersItems( m_Parent->DrawPanel, NetItemRef, StartNet, &NetNbItems, &MinConn );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
OldItem = NetItemRef;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Displays global results:
|
||||||
|
wxString num;
|
||||||
|
num.Printf( wxT( "%d" ), g_EESchemaVar.NbErrorErc );
|
||||||
|
m_TotalErrCount->SetLabel( num );
|
||||||
|
|
||||||
|
num.Printf( wxT( "%d" ), g_EESchemaVar.NbErrorErc - g_EESchemaVar.NbWarningErc );
|
||||||
|
m_LastErrCount->SetLabel( num );
|
||||||
|
|
||||||
|
num.Printf( wxT( "%d" ), g_EESchemaVar.NbWarningErc );
|
||||||
|
m_LastWarningCount->SetLabel( num );
|
||||||
|
|
||||||
|
// Display diags:
|
||||||
|
DisplayERC_MarkersList();
|
||||||
|
|
||||||
|
// Display new markers:
|
||||||
|
m_Parent->DrawPanel->Refresh();
|
||||||
|
|
||||||
|
if( m_writeErcFile )
|
||||||
|
{
|
||||||
|
fn = g_RootSheet->m_AssociatedScreen->m_FileName;
|
||||||
|
fn.SetExt( wxT( "erc" ) );
|
||||||
|
|
||||||
|
wxFileDialog dlg( this, _( "ERC File" ), fn.GetPath(), fn.GetFullName(),
|
||||||
|
_( "Electronic rule check file (.erc)|*.erc" ),
|
||||||
|
wxFD_SAVE | wxFD_OVERWRITE_PROMPT );
|
||||||
|
|
||||||
|
if( dlg.ShowModal() == wxID_CANCEL )
|
||||||
|
return;
|
||||||
|
|
||||||
|
if( WriteDiagnosticERC( dlg.GetPath() ) )
|
||||||
|
{
|
||||||
|
Close( TRUE );
|
||||||
|
ExecuteFile( this, wxGetApp().GetEditorName(), QuoteFullPath( fn ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -14,7 +14,6 @@
|
||||||
#include "dialog_erc_base.h"
|
#include "dialog_erc_base.h"
|
||||||
|
|
||||||
/* Variable locales */
|
/* Variable locales */
|
||||||
extern int WriteFichierERC;
|
|
||||||
extern int DiagErc[PIN_NMAX][PIN_NMAX];
|
extern int DiagErc[PIN_NMAX][PIN_NMAX];
|
||||||
extern bool DiagErcTableInit; // go to TRUE after DiagErc init
|
extern bool DiagErcTableInit; // go to TRUE after DiagErc init
|
||||||
extern int DefaultDiagErc[PIN_NMAX][PIN_NMAX];
|
extern int DefaultDiagErc[PIN_NMAX][PIN_NMAX];
|
||||||
|
@ -35,7 +34,8 @@ class DIALOG_ERC : public DIALOG_ERC_BASE
|
||||||
private:
|
private:
|
||||||
WinEDA_SchematicFrame* m_Parent;
|
WinEDA_SchematicFrame* m_Parent;
|
||||||
wxBitmapButton* m_ButtonList[PIN_NMAX][PIN_NMAX];
|
wxBitmapButton* m_ButtonList[PIN_NMAX][PIN_NMAX];
|
||||||
bool m_Initialized;
|
bool m_Initialized;
|
||||||
|
static bool m_writeErcFile;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_drawsheetpath.h"
|
#include "sch_sheet_path.h"
|
||||||
|
|
||||||
#include "dialog_plot_schematic_DXF_base.h"
|
#include "dialog_plot_schematic_DXF_base.h"
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_drawsheetpath.h"
|
#include "sch_sheet_path.h"
|
||||||
|
|
||||||
#include "dialog_plot_schematic_HPGL_base.h"
|
#include "dialog_plot_schematic_HPGL_base.h"
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_drawsheetpath.h"
|
#include "sch_sheet_path.h"
|
||||||
|
|
||||||
|
|
||||||
enum PageFormatReq {
|
enum PageFormatReq {
|
||||||
|
|
|
@ -13,33 +13,10 @@
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "eeschema_config.h"
|
#include "eeschema_config.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_sheet.h"
|
||||||
#include "class_drawsheetpath.h"
|
#include "sch_sheet_path.h"
|
||||||
|
|
||||||
#include "dialog_print_using_printer_base.h"
|
#include "dialog_print_using_printer.h"
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Print schematic dialog.
|
|
||||||
*
|
|
||||||
* Class derived from DIALOG_PRINT_USING_PRINTER_base created by wxFormBuilder
|
|
||||||
*/
|
|
||||||
class DIALOG_PRINT_USING_PRINTER : public DIALOG_PRINT_USING_PRINTER_BASE
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
DIALOG_PRINT_USING_PRINTER( WinEDA_SchematicFrame* aParent );
|
|
||||||
~DIALOG_PRINT_USING_PRINTER() {};
|
|
||||||
|
|
||||||
WinEDA_SchematicFrame* GetParent() const;
|
|
||||||
|
|
||||||
private:
|
|
||||||
void OnCloseWindow( wxCloseEvent& event );
|
|
||||||
void OnInitDialog( wxInitDialogEvent& event );
|
|
||||||
void OnPageSetup( wxCommandEvent& event );
|
|
||||||
void OnPrintPreview( wxCommandEvent& event );
|
|
||||||
void OnPrintButtonClick( wxCommandEvent& event );
|
|
||||||
void OnButtonCancelClick( wxCommandEvent& event ){ Close(); }
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -110,25 +87,6 @@ BEGIN_EVENT_TABLE( SCH_PREVIEW_FRAME, wxPreviewFrame )
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
|
|
||||||
void WinEDA_SchematicFrame::OnPrint( wxCommandEvent& event )
|
|
||||||
{
|
|
||||||
wxFileName fn;
|
|
||||||
DIALOG_PRINT_USING_PRINTER dlg( this );
|
|
||||||
|
|
||||||
dlg.ShowModal();
|
|
||||||
|
|
||||||
fn = g_RootSheet->m_AssociatedScreen->m_FileName;
|
|
||||||
|
|
||||||
wxString default_name = NAMELESS_PROJECT;
|
|
||||||
default_name += wxT( ".sch" );
|
|
||||||
if( fn.GetFullName() != default_name )
|
|
||||||
{
|
|
||||||
fn.SetExt( ProjectFileExtension );
|
|
||||||
wxGetApp().WriteProjectConfig( fn.GetFullPath(), GROUP, GetProjectFileParameters() );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
DIALOG_PRINT_USING_PRINTER::DIALOG_PRINT_USING_PRINTER( WinEDA_SchematicFrame* aParent ) :
|
DIALOG_PRINT_USING_PRINTER::DIALOG_PRINT_USING_PRINTER( WinEDA_SchematicFrame* aParent ) :
|
||||||
DIALOG_PRINT_USING_PRINTER_BASE( aParent )
|
DIALOG_PRINT_USING_PRINTER_BASE( aParent )
|
||||||
{
|
{
|
||||||
|
@ -164,6 +122,8 @@ void DIALOG_PRINT_USING_PRINTER::OnInitDialog( wxInitDialogEvent& event )
|
||||||
}
|
}
|
||||||
|
|
||||||
SetFocus();
|
SetFocus();
|
||||||
|
|
||||||
|
m_buttonPrint->SetDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
|
||||||
|
#ifndef _DIALOG_PRINT_USING_PRINTER_H_
|
||||||
|
#define _DIALOG_PRINT_USING_PRINTER_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include "dialog_print_using_printer_base.h"
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Print schematic dialog.
|
||||||
|
*
|
||||||
|
* Class derived from DIALOG_PRINT_USING_PRINTER_base created by wxFormBuilder
|
||||||
|
*/
|
||||||
|
class DIALOG_PRINT_USING_PRINTER : public DIALOG_PRINT_USING_PRINTER_BASE
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
DIALOG_PRINT_USING_PRINTER( WinEDA_SchematicFrame* aParent );
|
||||||
|
~DIALOG_PRINT_USING_PRINTER() {};
|
||||||
|
|
||||||
|
WinEDA_SchematicFrame* GetParent() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
void OnCloseWindow( wxCloseEvent& event );
|
||||||
|
void OnInitDialog( wxInitDialogEvent& event );
|
||||||
|
void OnPageSetup( wxCommandEvent& event );
|
||||||
|
void OnPrintPreview( wxCommandEvent& event );
|
||||||
|
void OnPrintButtonClick( wxCommandEvent& event );
|
||||||
|
void OnButtonCancelClick( wxCommandEvent& event ){ Close(); }
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif // _DIALOG_PRINT_USING_PRINTER_H_
|
|
@ -13,7 +13,7 @@
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_library.h"
|
#include "class_library.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_component.h"
|
||||||
|
|
||||||
|
|
||||||
static void AbortMoveCmpField( WinEDA_DrawPanel* Panel, wxDC* DC );
|
static void AbortMoveCmpField( WinEDA_DrawPanel* Panel, wxDC* DC );
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_text-label.h"
|
#include "sch_text.h"
|
||||||
|
|
||||||
|
|
||||||
static void ShowWhileMoving( WinEDA_DrawPanel* panel, wxDC* DC, bool erase );
|
static void ShowWhileMoving( WinEDA_DrawPanel* panel, wxDC* DC, bool erase );
|
||||||
|
|
|
@ -14,10 +14,10 @@
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_library.h"
|
#include "class_library.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_sheet.h"
|
||||||
#include "class_drawsheetpath.h"
|
#include "sch_sheet_path.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_component.h"
|
||||||
#include "class_schematic_items.h"
|
#include "sch_items.h"
|
||||||
|
|
||||||
#include "build_version.h"
|
#include "build_version.h"
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
#include "eeschema_config.h"
|
#include "eeschema_config.h"
|
||||||
#include "worksheet.h"
|
#include "worksheet.h"
|
||||||
#include "hotkeys.h"
|
#include "hotkeys.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_sheet.h"
|
||||||
|
|
||||||
#include "dialog_eeschema_options.h"
|
#include "dialog_eeschema_options.h"
|
||||||
#include "dialog_hotkeys_editor.h"
|
#include "dialog_hotkeys_editor.h"
|
||||||
|
|
235
eeschema/erc.cpp
235
eeschema/erc.cpp
|
@ -6,22 +6,18 @@
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "class_drawpanel.h"
|
#include "class_drawpanel.h"
|
||||||
#include "kicad_string.h"
|
#include "kicad_string.h"
|
||||||
#include "gestfich.h"
|
|
||||||
#include "appl_wxstruct.h"
|
|
||||||
#include "bitmaps.h"
|
#include "bitmaps.h"
|
||||||
#include "class_sch_screen.h"
|
#include "class_sch_screen.h"
|
||||||
#include "wxEeschemaStruct.h"
|
#include "wxEeschemaStruct.h"
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "netlist.h"
|
#include "netlist.h"
|
||||||
#include "class_marker_sch.h"
|
|
||||||
#include "lib_pin.h"
|
#include "lib_pin.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "erc.h"
|
#include "erc.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_marker.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_component.h"
|
||||||
|
#include "sch_sheet.h"
|
||||||
#include "dialog_erc.h"
|
|
||||||
|
|
||||||
|
|
||||||
/* ERC tests :
|
/* ERC tests :
|
||||||
|
@ -31,21 +27,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
static bool WriteDiagnosticERC( const wxString& FullFileName );
|
|
||||||
static void Diagnose( WinEDA_DrawPanel* panel,
|
|
||||||
NETLIST_OBJECT* NetItemRef,
|
|
||||||
NETLIST_OBJECT* NetItemTst, int MinConnexion, int Diag );
|
|
||||||
static void TestOthersItems( WinEDA_DrawPanel* panel,
|
|
||||||
unsigned NetItemRef,
|
|
||||||
unsigned NetStart,
|
|
||||||
int* NetNbItems, int* MinConnexion );
|
|
||||||
static void TestLabel( WinEDA_DrawPanel* panel,
|
|
||||||
unsigned NetItemRef,
|
|
||||||
unsigned StartNet );
|
|
||||||
|
|
||||||
/* Local variables */
|
|
||||||
int WriteFichierERC = FALSE;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Electrical type of pins:
|
* Electrical type of pins:
|
||||||
* PIN_INPUT = usual pin input: must be connected
|
* PIN_INPUT = usual pin input: must be connected
|
||||||
|
@ -143,13 +124,6 @@ int DefaultDiagErc[PIN_NMAX][PIN_NMAX] =
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/* Minimal connection table */
|
|
||||||
#define NPI 4 /* Net with Pin isolated, but this pin has type Not Connected, and must be left N.C. */
|
|
||||||
#define DRV 3 /* Net driven by a signal (a pin output for instance) */
|
|
||||||
#define NET_NC 2 /* Net "connected" to a "NoConnect symbol" */
|
|
||||||
#define NOD 1 /* Net not driven ( Such as 2 or more connected inputs )*/
|
|
||||||
#define NOC 0 /* initial state of a net: no connection */
|
|
||||||
|
|
||||||
/* Look up table which gives the minimal drive for a pair of connected pins on
|
/* Look up table which gives the minimal drive for a pair of connected pins on
|
||||||
* a net
|
* a net
|
||||||
* Initial state of a net is NOC (Net with No Connection)
|
* Initial state of a net is NOC (Net with No Connection)
|
||||||
|
@ -185,7 +159,7 @@ static int MinimalReq[PIN_NMAX][PIN_NMAX] =
|
||||||
* @param aCreateMarker: true = create error markers in schematic,
|
* @param aCreateMarker: true = create error markers in schematic,
|
||||||
* false = calculate error count only
|
* false = calculate error count only
|
||||||
*/
|
*/
|
||||||
int TestDuplicateSheetNames(bool aCreateMarker)
|
int TestDuplicateSheetNames( bool aCreateMarker )
|
||||||
{
|
{
|
||||||
int err_count = 0;
|
int err_count = 0;
|
||||||
SCH_SCREENS ScreenList; // Created the list of screen
|
SCH_SCREENS ScreenList; // Created the list of screen
|
||||||
|
@ -237,181 +211,14 @@ int TestDuplicateSheetNames(bool aCreateMarker)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DIALOG_ERC::TestErc( wxArrayString* aMessagesList )
|
|
||||||
{
|
|
||||||
wxFileName fn;
|
|
||||||
unsigned NetItemRef;
|
|
||||||
unsigned OldItem;
|
|
||||||
unsigned StartNet;
|
|
||||||
|
|
||||||
int NetNbItems, MinConn;
|
|
||||||
|
|
||||||
if( !DiagErcTableInit )
|
|
||||||
{
|
|
||||||
memcpy( DiagErc, DefaultDiagErc, sizeof(DefaultDiagErc) );
|
|
||||||
DiagErcTableInit = TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
WriteFichierERC = m_WriteResultOpt->GetValue();
|
|
||||||
|
|
||||||
ReAnnotatePowerSymbolsOnly();
|
|
||||||
if( m_Parent->CheckAnnotate( aMessagesList, false ) )
|
|
||||||
{
|
|
||||||
if( aMessagesList )
|
|
||||||
{
|
|
||||||
wxString msg = _( "Annotation required!" );
|
|
||||||
msg += wxT( "\n" );
|
|
||||||
aMessagesList->Add( msg );
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Erase all DRC markers */
|
|
||||||
DeleteAllMarkers( MARK_ERC );
|
|
||||||
|
|
||||||
g_EESchemaVar.NbErrorErc = 0;
|
|
||||||
g_EESchemaVar.NbWarningErc = 0;
|
|
||||||
|
|
||||||
/* Cleanup the entire hierarchy */
|
|
||||||
SCH_SCREENS ScreenList;
|
|
||||||
|
|
||||||
for( SCH_SCREEN* Screen = ScreenList.GetFirst();
|
|
||||||
Screen != NULL;
|
|
||||||
Screen = ScreenList.GetNext() )
|
|
||||||
{
|
|
||||||
bool ModifyWires;
|
|
||||||
ModifyWires = Screen->SchematicCleanUp( NULL );
|
|
||||||
|
|
||||||
/* if wire list has changed, delete Undo Redo list to avoid
|
|
||||||
* pointers on deleted data problems */
|
|
||||||
if( ModifyWires )
|
|
||||||
Screen->ClearUndoRedoList();
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Test duplicate sheet names
|
|
||||||
* inside a given sheet, one cannot have sheets with duplicate names (file
|
|
||||||
* names can be duplicated).
|
|
||||||
*/
|
|
||||||
int errcnt = TestDuplicateSheetNames( true );
|
|
||||||
g_EESchemaVar.NbErrorErc += errcnt;
|
|
||||||
|
|
||||||
m_Parent->BuildNetListBase();
|
|
||||||
|
|
||||||
/* Reset the flag m_FlagOfConnection, that will be used next, in
|
|
||||||
* calculations */
|
|
||||||
for( unsigned ii = 0; ii < g_NetObjectslist.size(); ii++ )
|
|
||||||
g_NetObjectslist[ii]->m_FlagOfConnection = UNCONNECTED;
|
|
||||||
|
|
||||||
StartNet = OldItem = 0;
|
|
||||||
NetNbItems = 0;
|
|
||||||
MinConn = NOC;
|
|
||||||
|
|
||||||
for( NetItemRef = 0; NetItemRef < g_NetObjectslist.size(); NetItemRef++ )
|
|
||||||
{
|
|
||||||
if( g_NetObjectslist[OldItem]->GetNet() !=
|
|
||||||
g_NetObjectslist[NetItemRef]->GetNet() )
|
|
||||||
{ // New ne found:
|
|
||||||
MinConn = NOC;
|
|
||||||
NetNbItems = 0;
|
|
||||||
StartNet = NetItemRef;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch( g_NetObjectslist[NetItemRef]->m_Type )
|
|
||||||
{
|
|
||||||
case NET_ITEM_UNSPECIFIED:
|
|
||||||
case NET_SEGMENT:
|
|
||||||
case NET_BUS:
|
|
||||||
case NET_JONCTION:
|
|
||||||
case NET_LABEL:
|
|
||||||
case NET_BUSLABELMEMBER:
|
|
||||||
case NET_PINLABEL:
|
|
||||||
case NET_GLOBLABEL:
|
|
||||||
case NET_GLOBBUSLABELMEMBER:
|
|
||||||
|
|
||||||
// These items do not create erc problems
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NET_HIERLABEL:
|
|
||||||
case NET_HIERBUSLABELMEMBER:
|
|
||||||
case NET_SHEETLABEL:
|
|
||||||
case NET_SHEETBUSLABELMEMBER:
|
|
||||||
|
|
||||||
// ERC problems when pin sheets do not match hierarchical labels.
|
|
||||||
// Each pin sheet must match a hierarchical label
|
|
||||||
// Each hierarchical label must match a pin sheet
|
|
||||||
TestLabel( m_Parent->DrawPanel, NetItemRef, StartNet );
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NET_NOCONNECT:
|
|
||||||
|
|
||||||
// ERC problems when a noconnect symbol is connected to more than
|
|
||||||
// one pin.
|
|
||||||
MinConn = NET_NC;
|
|
||||||
if( NetNbItems != 0 )
|
|
||||||
Diagnose( m_Parent->DrawPanel,
|
|
||||||
g_NetObjectslist[NetItemRef], NULL, MinConn, UNC );
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NET_PIN:
|
|
||||||
|
|
||||||
// Look for ERC problems between pins:
|
|
||||||
TestOthersItems( m_Parent->DrawPanel,
|
|
||||||
NetItemRef, StartNet, &NetNbItems, &MinConn );
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
OldItem = NetItemRef;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Displays global results:
|
|
||||||
wxString num;
|
|
||||||
num.Printf( wxT( "%d" ), g_EESchemaVar.NbErrorErc );
|
|
||||||
m_TotalErrCount->SetLabel( num );
|
|
||||||
|
|
||||||
num.Printf( wxT(
|
|
||||||
"%d" ), g_EESchemaVar.NbErrorErc -
|
|
||||||
g_EESchemaVar.NbWarningErc );
|
|
||||||
m_LastErrCount->SetLabel( num );
|
|
||||||
|
|
||||||
num.Printf( wxT( "%d" ), g_EESchemaVar.NbWarningErc );
|
|
||||||
m_LastWarningCount->SetLabel( num );
|
|
||||||
|
|
||||||
// Display diags:
|
|
||||||
DisplayERC_MarkersList();
|
|
||||||
|
|
||||||
// Display new markers:
|
|
||||||
m_Parent->DrawPanel->Refresh();
|
|
||||||
|
|
||||||
if( WriteFichierERC == TRUE )
|
|
||||||
{
|
|
||||||
fn = g_RootSheet->m_AssociatedScreen->m_FileName;
|
|
||||||
fn.SetExt( wxT( "erc" ) );
|
|
||||||
|
|
||||||
wxFileDialog dlg( this, _( "ERC File" ), fn.GetPath(), fn.GetFullName(),
|
|
||||||
_( "Electronic rule check file (.erc)|*.erc" ),
|
|
||||||
wxFD_SAVE | wxFD_OVERWRITE_PROMPT );
|
|
||||||
|
|
||||||
if( dlg.ShowModal() == wxID_CANCEL )
|
|
||||||
return;
|
|
||||||
|
|
||||||
if( WriteDiagnosticERC( dlg.GetPath() ) )
|
|
||||||
{
|
|
||||||
Close( TRUE );
|
|
||||||
ExecuteFile( this, wxGetApp().GetEditorName(),
|
|
||||||
QuoteFullPath( fn ) );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Creates an ERC marker to show the ERC problem about aNetItemRef
|
/* Creates an ERC marker to show the ERC problem about aNetItemRef
|
||||||
* or between aNetItemRef and aNetItemTst
|
* or between aNetItemRef and aNetItemTst
|
||||||
* if MinConn < 0: this is an error on labels
|
* if MinConn < 0: this is an error on labels
|
||||||
*/
|
*/
|
||||||
static void Diagnose( WinEDA_DrawPanel* aPanel,
|
void Diagnose( WinEDA_DrawPanel* aPanel,
|
||||||
NETLIST_OBJECT* aNetItemRef,
|
NETLIST_OBJECT* aNetItemRef,
|
||||||
NETLIST_OBJECT* aNetItemTst,
|
NETLIST_OBJECT* aNetItemTst,
|
||||||
int aMinConn, int aDiag )
|
int aMinConn, int aDiag )
|
||||||
{
|
{
|
||||||
SCH_MARKER* Marker = NULL;
|
SCH_MARKER* Marker = NULL;
|
||||||
SCH_SCREEN* screen;
|
SCH_SCREEN* screen;
|
||||||
|
@ -436,7 +243,7 @@ static void Diagnose( WinEDA_DrawPanel* aPanel,
|
||||||
if( aMinConn < 0 )
|
if( aMinConn < 0 )
|
||||||
{
|
{
|
||||||
if( (aNetItemRef->m_Type == NET_HIERLABEL)
|
if( (aNetItemRef->m_Type == NET_HIERLABEL)
|
||||||
|| (aNetItemRef->m_Type == NET_HIERBUSLABELMEMBER) )
|
|| (aNetItemRef->m_Type == NET_HIERBUSLABELMEMBER) )
|
||||||
{
|
{
|
||||||
msg.Printf( _( "HLabel %s not connected to SheetLabel" ),
|
msg.Printf( _( "HLabel %s not connected to SheetLabel" ),
|
||||||
GetChars( aNetItemRef->m_Label ) );
|
GetChars( aNetItemRef->m_Label ) );
|
||||||
|
@ -464,8 +271,7 @@ static void Diagnose( WinEDA_DrawPanel* aPanel,
|
||||||
string_pinnum = CONV_FROM_UTF8( ascii_buf );
|
string_pinnum = CONV_FROM_UTF8( ascii_buf );
|
||||||
cmp_ref = wxT( "?" );
|
cmp_ref = wxT( "?" );
|
||||||
if( aNetItemRef->m_Type == NET_PIN && aNetItemRef->m_Link )
|
if( aNetItemRef->m_Type == NET_PIN && aNetItemRef->m_Link )
|
||||||
cmp_ref = ( (SCH_COMPONENT*) aNetItemRef->m_Link )->GetRef(
|
cmp_ref = ( (SCH_COMPONENT*) aNetItemRef->m_Link )->GetRef( &aNetItemRef->m_SheetList );
|
||||||
&aNetItemRef->m_SheetList );
|
|
||||||
|
|
||||||
if( aNetItemTst == NULL )
|
if( aNetItemTst == NULL )
|
||||||
{
|
{
|
||||||
|
@ -498,8 +304,7 @@ static void Diagnose( WinEDA_DrawPanel* aPanel,
|
||||||
|
|
||||||
if( aDiag == UNC )
|
if( aDiag == UNC )
|
||||||
{
|
{
|
||||||
msg.Printf(
|
msg.Printf( _( "More than 1 Pin connected to UnConnect symbol" ) );
|
||||||
_( "More than 1 Pin connected to UnConnect symbol" ) );
|
|
||||||
Marker->SetData( ERCE_NOCONNECT_CONNECTED,
|
Marker->SetData( ERCE_NOCONNECT_CONNECTED,
|
||||||
aNetItemRef->m_Start,
|
aNetItemRef->m_Start,
|
||||||
msg,
|
msg,
|
||||||
|
@ -543,10 +348,10 @@ static void Diagnose( WinEDA_DrawPanel* aPanel,
|
||||||
/* Routine testing electrical conflicts between NetItemRef and other items
|
/* Routine testing electrical conflicts between NetItemRef and other items
|
||||||
* of the same net
|
* of the same net
|
||||||
*/
|
*/
|
||||||
static void TestOthersItems( WinEDA_DrawPanel* panel,
|
void TestOthersItems( WinEDA_DrawPanel* panel,
|
||||||
unsigned NetItemRef,
|
unsigned NetItemRef,
|
||||||
unsigned netstart,
|
unsigned netstart,
|
||||||
int* NetNbItems, int* MinConnexion )
|
int* NetNbItems, int* MinConnexion )
|
||||||
{
|
{
|
||||||
unsigned NetItemTst;
|
unsigned NetItemTst;
|
||||||
|
|
||||||
|
@ -687,7 +492,7 @@ static void TestOthersItems( WinEDA_DrawPanel* panel,
|
||||||
|
|
||||||
/* Create the Diagnostic file (<xxx>.erc file)
|
/* Create the Diagnostic file (<xxx>.erc file)
|
||||||
*/
|
*/
|
||||||
static bool WriteDiagnosticERC( const wxString& FullFileName )
|
bool WriteDiagnosticERC( const wxString& FullFileName )
|
||||||
{
|
{
|
||||||
SCH_ITEM* DrawStruct;
|
SCH_ITEM* DrawStruct;
|
||||||
SCH_MARKER* Marker;
|
SCH_MARKER* Marker;
|
||||||
|
@ -706,9 +511,7 @@ static bool WriteDiagnosticERC( const wxString& FullFileName )
|
||||||
|
|
||||||
SCH_SHEET_LIST SheetList;
|
SCH_SHEET_LIST SheetList;
|
||||||
|
|
||||||
for( Sheet = SheetList.GetFirst();
|
for( Sheet = SheetList.GetFirst(); Sheet != NULL; Sheet = SheetList.GetNext() )
|
||||||
Sheet != NULL;
|
|
||||||
Sheet = SheetList.GetNext() )
|
|
||||||
{
|
{
|
||||||
if( Sheet->Last() == g_RootSheet )
|
if( Sheet->Last() == g_RootSheet )
|
||||||
{
|
{
|
||||||
|
@ -764,9 +567,7 @@ static bool IsLabelsConnected( NETLIST_OBJECT* a, NETLIST_OBJECT* b )
|
||||||
/* Routine to perform erc on a sheetLabel that is connected to a corresponding
|
/* Routine to perform erc on a sheetLabel that is connected to a corresponding
|
||||||
* sub sheet Glabel
|
* sub sheet Glabel
|
||||||
*/
|
*/
|
||||||
void TestLabel( WinEDA_DrawPanel* panel,
|
void TestLabel( WinEDA_DrawPanel* panel, unsigned NetItemRef, unsigned StartNet )
|
||||||
unsigned NetItemRef,
|
|
||||||
unsigned StartNet )
|
|
||||||
{
|
{
|
||||||
unsigned NetItemTst;
|
unsigned NetItemTst;
|
||||||
int erc = 1;
|
int erc = 1;
|
||||||
|
|
|
@ -25,6 +25,10 @@
|
||||||
#ifndef _ERC_H
|
#ifndef _ERC_H
|
||||||
#define _ERC_H
|
#define _ERC_H
|
||||||
|
|
||||||
|
|
||||||
|
class WinEDA_DrawPanel;
|
||||||
|
class NETLIST_OBJECT;
|
||||||
|
|
||||||
/* For ERC markers: error types (used in diags, and to set the color):
|
/* For ERC markers: error types (used in diags, and to set the color):
|
||||||
*/
|
*/
|
||||||
enum errortype
|
enum errortype
|
||||||
|
@ -46,5 +50,25 @@ enum errortype
|
||||||
#define ERCE_HIERACHICAL_LABEL 6 // mismatch between hierarchical labels and pins sheets
|
#define ERCE_HIERACHICAL_LABEL 6 // mismatch between hierarchical labels and pins sheets
|
||||||
#define ERCE_NOCONNECT_CONNECTED 7 // a no connect symbol is connected to more than 1 pin
|
#define ERCE_NOCONNECT_CONNECTED 7 // a no connect symbol is connected to more than 1 pin
|
||||||
|
|
||||||
|
/* Minimal connection table */
|
||||||
|
#define NPI 4 // Net with Pin isolated, this pin has type Not Connected and must be left N.C.
|
||||||
|
#define DRV 3 // Net driven by a signal (a pin output for instance)
|
||||||
|
#define NET_NC 2 // Net "connected" to a "NoConnect symbol"
|
||||||
|
#define NOD 1 // Net not driven ( Such as 2 or more connected inputs )
|
||||||
|
#define NOC 0 // initial state of a net: no connection
|
||||||
|
|
||||||
|
|
||||||
|
extern bool WriteDiagnosticERC( const wxString& FullFileName );
|
||||||
|
|
||||||
|
extern void Diagnose( WinEDA_DrawPanel* panel, NETLIST_OBJECT* NetItemRef,
|
||||||
|
NETLIST_OBJECT* NetItemTst, int MinConnexion, int Diag );
|
||||||
|
|
||||||
|
extern void TestOthersItems( WinEDA_DrawPanel* panel, unsigned NetItemRef, unsigned NetStart,
|
||||||
|
int* NetNbItems, int* MinConnexion );
|
||||||
|
|
||||||
|
extern void TestLabel( WinEDA_DrawPanel* panel, unsigned NetItemRef, unsigned StartNet );
|
||||||
|
|
||||||
|
extern int TestDuplicateSheetNames( bool aCreateMarker );
|
||||||
|
|
||||||
|
|
||||||
#endif // _ERC_H
|
#endif // _ERC_H
|
||||||
|
|
|
@ -13,8 +13,8 @@
|
||||||
#include "wxEeschemaStruct.h"
|
#include "wxEeschemaStruct.h"
|
||||||
|
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_component.h"
|
||||||
#include "class_text-label.h"
|
#include "sch_text.h"
|
||||||
|
|
||||||
|
|
||||||
/** Event function WinEDA_SchematicFrame::OnCopySchematicItemRequest
|
/** Event function WinEDA_SchematicFrame::OnCopySchematicItemRequest
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
#include "eeschema_id.h"
|
#include "eeschema_id.h"
|
||||||
#include "class_library.h"
|
#include "class_library.h"
|
||||||
#include "libeditframe.h"
|
#include "libeditframe.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_sheet.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -18,13 +18,13 @@
|
||||||
#include "wxEeschemaStruct.h"
|
#include "wxEeschemaStruct.h"
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "class_marker_sch.h"
|
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_library.h"
|
#include "class_library.h"
|
||||||
#include "lib_pin.h"
|
#include "lib_pin.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_marker.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_component.h"
|
||||||
#include "class_drawsheetpath.h"
|
#include "sch_sheet.h"
|
||||||
|
#include "sch_sheet_path.h"
|
||||||
|
|
||||||
#include "kicad_device_context.h"
|
#include "kicad_device_context.h"
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_library.h"
|
#include "class_library.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_component.h"
|
||||||
#include "viewlib_frame.h"
|
#include "viewlib_frame.h"
|
||||||
|
|
||||||
#include "get_component_dialog.h"
|
#include "get_component_dialog.h"
|
||||||
|
|
|
@ -12,8 +12,8 @@
|
||||||
#include "wxEeschemaStruct.h"
|
#include "wxEeschemaStruct.h"
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_sheet.h"
|
||||||
#include "class_drawsheetpath.h"
|
#include "sch_sheet_path.h"
|
||||||
|
|
||||||
#include "wx/imaglist.h"
|
#include "wx/imaglist.h"
|
||||||
#include "wx/treectrl.h"
|
#include "wx/treectrl.h"
|
||||||
|
|
|
@ -12,9 +12,9 @@
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "libeditframe.h"
|
#include "libeditframe.h"
|
||||||
#include "class_libentry.h"
|
#include "class_libentry.h"
|
||||||
#include "class_schematic_items.h"
|
#include "sch_items.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_component.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_sheet.h"
|
||||||
|
|
||||||
#include "dialogs/dialog_schematic_find.h"
|
#include "dialogs/dialog_schematic_find.h"
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
#include "netlist.h"
|
#include "netlist.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_library.h"
|
#include "class_library.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_component.h"
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -11,11 +11,11 @@
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_marker_sch.h"
|
#include "sch_marker.h"
|
||||||
#include "class_schematic_items.h"
|
#include "sch_items.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_component.h"
|
||||||
#include "class_text-label.h"
|
#include "sch_text.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_sheet.h"
|
||||||
|
|
||||||
|
|
||||||
bool ReadSchemaDescr( LINE_READER* aLine, wxString& aMsgDiag, BASE_SCREEN* Window );
|
bool ReadSchemaDescr( LINE_READER* aLine, wxString& aMsgDiag, BASE_SCREEN* Window );
|
||||||
|
|
|
@ -9,12 +9,12 @@
|
||||||
#include "class_sch_screen.h"
|
#include "class_sch_screen.h"
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "class_marker_sch.h"
|
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_library.h"
|
#include "class_library.h"
|
||||||
#include "class_schematic_items.h"
|
#include "sch_marker.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_items.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_component.h"
|
||||||
|
#include "sch_sheet.h"
|
||||||
#include "lib_pin.h"
|
#include "lib_pin.h"
|
||||||
#include "template_fieldnames.h"
|
#include "template_fieldnames.h"
|
||||||
|
|
||||||
|
|
|
@ -45,9 +45,9 @@
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_library.h"
|
#include "class_library.h"
|
||||||
#include "lib_pin.h"
|
#include "lib_pin.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_component.h"
|
||||||
#include "class_text-label.h"
|
#include "sch_text.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_sheet.h"
|
||||||
#include "template_fieldnames.h"
|
#include "template_fieldnames.h"
|
||||||
|
|
||||||
#include "xnode.h" // also nests: <wx/xml/xml.h>
|
#include "xnode.h" // also nests: <wx/xml/xml.h>
|
||||||
|
|
|
@ -12,10 +12,10 @@
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_library.h"
|
#include "class_library.h"
|
||||||
#include "lib_pin.h"
|
#include "lib_pin.h"
|
||||||
#include "class_schematic_items.h"
|
#include "sch_items.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_component.h"
|
||||||
#include "class_text-label.h"
|
#include "sch_text.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_sheet.h"
|
||||||
|
|
||||||
#include "algorithm"
|
#include "algorithm"
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
#include "netlist.h"
|
#include "netlist.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "netlist_control.h"
|
#include "netlist_control.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_sheet.h"
|
||||||
|
|
||||||
|
|
||||||
//Imported function:
|
//Imported function:
|
||||||
|
|
|
@ -11,12 +11,12 @@
|
||||||
#include "wxEeschemaStruct.h"
|
#include "wxEeschemaStruct.h"
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "class_marker_sch.h"
|
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_text-label.h"
|
#include "sch_text.h"
|
||||||
#include "class_schematic_items.h"
|
#include "sch_marker.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_items.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_component.h"
|
||||||
|
#include "sch_sheet.h"
|
||||||
|
|
||||||
|
|
||||||
static wxArrayString s_CmpNameList;
|
static wxArrayString s_CmpNameList;
|
||||||
|
|
|
@ -12,15 +12,15 @@
|
||||||
#include "wxEeschemaStruct.h"
|
#include "wxEeschemaStruct.h"
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "class_marker_sch.h"
|
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "hotkeys.h"
|
#include "hotkeys.h"
|
||||||
#include "class_library.h"
|
#include "class_library.h"
|
||||||
#include "class_text-label.h"
|
#include "sch_marker.h"
|
||||||
#include "class_schematic_items.h"
|
#include "sch_text.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_items.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_component.h"
|
||||||
#include "class_drawsheetpath.h"
|
#include "sch_sheet.h"
|
||||||
|
#include "sch_sheet_path.h"
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
|
@ -12,11 +12,11 @@
|
||||||
#include "wxEeschemaStruct.h"
|
#include "wxEeschemaStruct.h"
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "class_marker_sch.h"
|
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_marker.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_sheet.h"
|
||||||
#include "class_schematic_items.h"
|
#include "sch_component.h"
|
||||||
|
#include "sch_items.h"
|
||||||
|
|
||||||
|
|
||||||
void RotateListOfItems( PICKED_ITEMS_LIST& aItemsList, wxPoint& rotationPoint )
|
void RotateListOfItems( PICKED_ITEMS_LIST& aItemsList, wxPoint& rotationPoint )
|
||||||
|
|
|
@ -14,10 +14,10 @@
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_library.h"
|
#include "class_library.h"
|
||||||
#include "lib_pin.h"
|
#include "lib_pin.h"
|
||||||
#include "class_schematic_items.h"
|
#include "sch_items.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_component.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_sheet.h"
|
||||||
#include "class_text-label.h"
|
#include "sch_text.h"
|
||||||
#include "template_fieldnames.h"
|
#include "template_fieldnames.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/**************************************************************/
|
/*******************************************************/
|
||||||
/* class_sch_component.cpp : handle the class SCH_COMPONENT */
|
/* sch_component.cpp : handle the class SCH_COMPONENT */
|
||||||
/**************************************************************/
|
/*******************************************************/
|
||||||
|
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "appl_wxstruct.h"
|
#include "appl_wxstruct.h"
|
||||||
|
@ -19,9 +19,9 @@
|
||||||
#include "lib_rectangle.h"
|
#include "lib_rectangle.h"
|
||||||
#include "lib_pin.h"
|
#include "lib_pin.h"
|
||||||
#include "lib_text.h"
|
#include "lib_text.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_component.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_sheet.h"
|
||||||
#include "class_drawsheetpath.h"
|
#include "sch_sheet_path.h"
|
||||||
#include "template_fieldnames.h"
|
#include "template_fieldnames.h"
|
||||||
|
|
||||||
#include "dialogs/dialog_schematic_find.h"
|
#include "dialogs/dialog_schematic_find.h"
|
|
@ -6,7 +6,7 @@
|
||||||
#define COMPONENT_CLASS_H
|
#define COMPONENT_CLASS_H
|
||||||
|
|
||||||
|
|
||||||
#include "class_sch_cmp_field.h"
|
#include "sch_field.h"
|
||||||
#include "transform.h"
|
#include "transform.h"
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/**************************************************************/
|
/***********************************************/
|
||||||
/* class_sch_cmp_field.cpp : handle the class SCH_FIELD */
|
/* sch_field.cpp : handle the class SCH_FIELD */
|
||||||
/**************************************************************/
|
/***********************************************/
|
||||||
|
|
||||||
/* Fields are texts attached to a component, having a special meaning
|
/* Fields are texts attached to a component, having a special meaning
|
||||||
* Fields 0 and 1 are very important: reference and value
|
* Fields 0 and 1 are very important: reference and value
|
||||||
|
@ -24,8 +24,8 @@
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_library.h"
|
#include "class_library.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_component.h"
|
||||||
#include "class_sch_cmp_field.h"
|
#include "sch_field.h"
|
||||||
#include "template_fieldnames.h"
|
#include "template_fieldnames.h"
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_schematic_items.h"
|
#include "sch_items.h"
|
||||||
|
|
||||||
#include <boost/foreach.hpp>
|
#include <boost/foreach.hpp>
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include "trigo.h"
|
#include "trigo.h"
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "class_marker_sch.h"
|
#include "sch_marker.h"
|
||||||
#include "erc.h"
|
#include "erc.h"
|
||||||
|
|
||||||
|
|
|
@ -13,8 +13,8 @@
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_library.h"
|
#include "class_library.h"
|
||||||
#include "class_schematic_items.h"
|
#include "sch_items.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_sheet.h"
|
||||||
|
|
||||||
#include <boost/foreach.hpp>
|
#include <boost/foreach.hpp>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: class_drawsheet.cpp
|
// Name: sch_sheet.cpp
|
||||||
// Purpose: member functions for SCH_SHEET
|
// Purpose: member functions for SCH_SHEET
|
||||||
// header = class_drawsheet.h
|
// header = sch_sheet.h
|
||||||
// Author: jean-pierre Charras
|
// Author: jean-pierre Charras
|
||||||
// Modified by:
|
// Modified by:
|
||||||
// Created: 08/02/2006 18:37:02
|
// Created: 08/02/2006 18:37:02
|
||||||
|
@ -24,9 +24,9 @@
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_sheet.h"
|
||||||
#include "class_drawsheetpath.h"
|
#include "sch_sheet_path.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_component.h"
|
||||||
|
|
||||||
|
|
||||||
SCH_SHEET::SCH_SHEET( const wxPoint& pos ) : SCH_ITEM( NULL, DRAW_SHEET_STRUCT_TYPE )
|
SCH_SHEET::SCH_SHEET( const wxPoint& pos ) : SCH_ITEM( NULL, DRAW_SHEET_STRUCT_TYPE )
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
#include <boost/ptr_container/ptr_vector.hpp>
|
#include <boost/ptr_container/ptr_vector.hpp>
|
||||||
#include <boost/foreach.hpp>
|
#include <boost/foreach.hpp>
|
||||||
#include "class_text-label.h"
|
#include "sch_text.h"
|
||||||
|
|
||||||
|
|
||||||
class LINE_READER;
|
class LINE_READER;
|
|
@ -1,7 +1,7 @@
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: class_drawsheet.cpp
|
// Name: sch_sheet_path.cpp
|
||||||
// Purpose: member functions for SCH_SHEET
|
// Purpose: member functions for SCH_SHEET_PATH
|
||||||
// header = class_drawsheet.h
|
// header = sch_sheet_path.h
|
||||||
// Author: jean-pierre Charras
|
// Author: jean-pierre Charras
|
||||||
// Modified by:
|
// Modified by:
|
||||||
// License: License GNU
|
// License: License GNU
|
||||||
|
@ -15,9 +15,9 @@
|
||||||
#include "class_sch_screen.h"
|
#include "class_sch_screen.h"
|
||||||
#include "sch_item_struct.h"
|
#include "sch_item_struct.h"
|
||||||
|
|
||||||
#include "class_drawsheet.h"
|
#include "sch_sheet.h"
|
||||||
#include "class_drawsheetpath.h"
|
#include "sch_sheet_path.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_component.h"
|
||||||
#include "template_fieldnames.h"
|
#include "template_fieldnames.h"
|
||||||
|
|
||||||
#include "dialogs/dialog_schematic_find.h"
|
#include "dialogs/dialog_schematic_find.h"
|
|
@ -1,8 +1,7 @@
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: sch_sheet_pin.cpp
|
||||||
// Name: class_hierarchical_PIN_sheet.cpp
|
|
||||||
// Purpose: member functions SCH_SHEET_PIN
|
// Purpose: member functions SCH_SHEET_PIN
|
||||||
// header = class_drawsheet.h
|
// header = sch_sheet.h
|
||||||
// Author: jean-pierre Charras
|
// Author: jean-pierre Charras
|
||||||
// Modified by:
|
// Modified by:
|
||||||
// Created: 08/02/2006 18:37:02
|
// Created: 08/02/2006 18:37:02
|
||||||
|
@ -23,7 +22,7 @@
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_sheet.h"
|
||||||
|
|
||||||
|
|
||||||
/* m_Edge define on which edge the pin is positionned:
|
/* m_Edge define on which edge the pin is positionned:
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_text-label.h"
|
#include "sch_text.h"
|
||||||
|
|
||||||
|
|
||||||
/************************/
|
/************************/
|
|
@ -13,14 +13,14 @@
|
||||||
#include "class_sch_screen.h"
|
#include "class_sch_screen.h"
|
||||||
#include "kicad_device_context.h"
|
#include "kicad_device_context.h"
|
||||||
|
|
||||||
#include "class_marker_sch.h"
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "eeschema_id.h"
|
#include "eeschema_id.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_library.h"
|
#include "class_library.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_marker.h"
|
||||||
#include "class_schematic_items.h"
|
#include "sch_component.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_items.h"
|
||||||
|
#include "sch_sheet.h"
|
||||||
|
|
||||||
|
|
||||||
void WinEDA_SchematicFrame::Process_Special_Functions( wxCommandEvent& event )
|
void WinEDA_SchematicFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
|
|
|
@ -10,10 +10,10 @@
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_marker_sch.h"
|
#include "sch_marker.h"
|
||||||
#include "class_schematic_items.h"
|
#include "sch_items.h"
|
||||||
#include "class_sch_component.h"
|
#include "sch_component.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_sheet.h"
|
||||||
|
|
||||||
|
|
||||||
/* Functions to undo and redo edit commands.
|
/* Functions to undo and redo edit commands.
|
||||||
|
|
|
@ -22,16 +22,17 @@
|
||||||
#include "wxEeschemaStruct.h"
|
#include "wxEeschemaStruct.h"
|
||||||
#include "class_sch_screen.h"
|
#include "class_sch_screen.h"
|
||||||
|
|
||||||
#include "annotate_dialog.h"
|
|
||||||
#include "dialog_build_BOM.h"
|
#include "dialog_build_BOM.h"
|
||||||
#include "dialog_erc.h"
|
|
||||||
#include "netlist_control.h"
|
#include "netlist_control.h"
|
||||||
#include "dialog_erc.h"
|
|
||||||
#include "libeditframe.h"
|
#include "libeditframe.h"
|
||||||
#include "viewlib_frame.h"
|
#include "viewlib_frame.h"
|
||||||
#include "hotkeys.h"
|
#include "hotkeys.h"
|
||||||
#include "class_drawsheet.h"
|
#include "eeschema_config.h"
|
||||||
|
#include "sch_sheet.h"
|
||||||
|
|
||||||
|
#include "dialogs/annotate_dialog.h"
|
||||||
|
#include "dialogs/dialog_erc.h"
|
||||||
|
#include "dialogs/dialog_print_using_printer.h"
|
||||||
#include "dialogs/dialog_schematic_find.h"
|
#include "dialogs/dialog_schematic_find.h"
|
||||||
|
|
||||||
|
|
||||||
|
@ -759,3 +760,21 @@ void WinEDA_SchematicFrame::SetLanguage( wxCommandEvent& event )
|
||||||
m_LibeditFrame->WinEDA_BasicFrame::SetLanguage( event );
|
m_LibeditFrame->WinEDA_BasicFrame::SetLanguage( event );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void WinEDA_SchematicFrame::OnPrint( wxCommandEvent& event )
|
||||||
|
{
|
||||||
|
wxFileName fn;
|
||||||
|
DIALOG_PRINT_USING_PRINTER dlg( this );
|
||||||
|
|
||||||
|
dlg.ShowModal();
|
||||||
|
|
||||||
|
fn = g_RootSheet->m_AssociatedScreen->m_FileName;
|
||||||
|
|
||||||
|
wxString default_name = NAMELESS_PROJECT;
|
||||||
|
default_name += wxT( ".sch" );
|
||||||
|
if( fn.GetFullName() != default_name )
|
||||||
|
{
|
||||||
|
fn.SetExt( ProjectFileExtension );
|
||||||
|
wxGetApp().WriteProjectConfig( fn.GetFullPath(), GROUP, GetProjectFileParameters() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_sheet.h"
|
||||||
|
|
||||||
#include "dialog_sch_sheet_props.h"
|
#include "dialog_sch_sheet_props.h"
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "class_drawsheet.h"
|
#include "sch_sheet.h"
|
||||||
|
|
||||||
|
|
||||||
static void ExitPinSheet( WinEDA_DrawPanel* Panel, wxDC* DC );
|
static void ExitPinSheet( WinEDA_DrawPanel* Panel, wxDC* DC );
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
|
|
||||||
|
|
||||||
#include "template_fieldnames.h"
|
#include "template_fieldnames.h"
|
||||||
//#include "class_sch_component.h"
|
|
||||||
#include "dsnlexer.h"
|
#include "dsnlexer.h"
|
||||||
#include "macros.h"
|
#include "macros.h"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue