Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
kicad-source-mirror
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
kicad-source-mirror
Commits
dd9497a1
Commit
dd9497a1
authored
Feb 28, 2008
by
CHARRAS
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed: problem which could crash eeschema when a schematic file in a hierarchy was not found
parent
e92706bc
Changes
28
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
662 additions
and
463 deletions
+662
-463
change_log.txt
change_log.txt
+6
-0
annotate.cpp
eeschema/annotate.cpp
+160
-117
annotate_dialog.cpp
eeschema/annotate_dialog.cpp
+1
-1
block.cpp
eeschema/block.cpp
+54
-48
class_drawsheet.cpp
eeschema/class_drawsheet.cpp
+51
-30
class_screen.cpp
eeschema/class_screen.cpp
+5
-46
class_screen.h
eeschema/class_screen.h
+33
-28
component_class.cpp
eeschema/component_class.cpp
+3
-3
component_class.h
eeschema/component_class.h
+4
-4
delsheet.cpp
eeschema/delsheet.cpp
+1
-1
dialog_build_BOM.cpp
eeschema/dialog_build_BOM.cpp
+2
-2
erc.cpp
eeschema/erc.cpp
+1
-1
files-io.cpp
eeschema/files-io.cpp
+3
-4
find.cpp
eeschema/find.cpp
+3
-3
hierarch.cpp
eeschema/hierarch.cpp
+16
-12
load_one_schematic_file.cpp
eeschema/load_one_schematic_file.cpp
+2
-2
netform.cpp
eeschema/netform.cpp
+10
-10
netlist.cpp
eeschema/netlist.cpp
+4
-4
netlist.h
eeschema/netlist.h
+4
-4
plot.cpp
eeschema/plot.cpp
+1
-1
save_schemas.cpp
eeschema/save_schemas.cpp
+2
-2
schematic_undo_redo.cpp
eeschema/schematic_undo_redo.cpp
+6
-2
schframe.cpp
eeschema/schframe.cpp
+15
-15
schframe.h
eeschema/schframe.h
+7
-2
sheet.cpp
eeschema/sheet.cpp
+71
-96
sheet.h
eeschema/sheet.h
+4
-4
sheet.pjd
eeschema/sheet.pjd
+192
-20
wxstruct.h
include/wxstruct.h
+1
-1
No files found.
change_log.txt
View file @
dd9497a1
...
@@ -5,6 +5,12 @@ Started 2007-June-11
...
@@ -5,6 +5,12 @@ Started 2007-June-11
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.
2008-Feb-26 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+eeschema
Fixed: problem which could crash eeschema when a sub schematic file in a hierarchy was not found.
2008-Feb-27 UPDATE Wayne Stambaugh <stambaughw{at}verizon{dot}net>
2008-Feb-27 UPDATE Wayne Stambaugh <stambaughw{at}verizon{dot}net>
================================================================================
================================================================================
+ eeschema
+ eeschema
...
...
eeschema/annotate.cpp
View file @
dd9497a1
This diff is collapsed.
Click to expand it.
eeschema/annotate_dialog.cpp
View file @
dd9497a1
...
@@ -208,7 +208,7 @@ void WinEDA_AnnotateFrame::CreateControls()
...
@@ -208,7 +208,7 @@ void WinEDA_AnnotateFrame::CreateControls()
/* TODO: Check if there is any existing annotation and enable/disable
/* TODO: Check if there is any existing annotation and enable/disable
* the clear button accordingly. Probably should also enable/
* the clear button accordingly. Probably should also enable/
* disable new components radio button if all of the components
* disable new components radio button if all of the components
* are already annotated. Some low level work on the DrawSheet
List
* are already annotated. Some low level work on the DrawSheet
Path
* class will need to be done to accomadate this.
* class will need to be done to accomadate this.
*/
*/
m_btnClear
=
new
wxButton
(
this
,
wxID_CLEAR
);
m_btnClear
=
new
wxButton
(
this
,
wxID_CLEAR
);
...
...
eeschema/block.cpp
View file @
dd9497a1
...
@@ -25,7 +25,7 @@ static EDA_BaseStruct* CopyStruct( WinEDA_DrawPanel* panel, wxDC* DC, BASE_
...
@@ -25,7 +25,7 @@ static EDA_BaseStruct* CopyStruct( WinEDA_DrawPanel* panel, wxDC* DC, BASE_
static
void
CollectStructsToDrag
(
SCH_SCREEN
*
screen
);
static
void
CollectStructsToDrag
(
SCH_SCREEN
*
screen
);
static
void
AddPickedItem
(
SCH_SCREEN
*
screen
,
wxPoint
position
);
static
void
AddPickedItem
(
SCH_SCREEN
*
screen
,
wxPoint
position
);
static
LibEDA_BaseStruct
*
GetNextPinPosition
(
EDA_SchComponentStruct
*
DrawLibItem
,
static
LibEDA_BaseStruct
*
GetNextPinPosition
(
EDA_SchComponentStruct
*
DrawLibItem
,
wxPoint
&
position
);
wxPoint
&
position
);
static
void
DrawMovingBlockOutlines
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
bool
erase
);
static
void
DrawMovingBlockOutlines
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
bool
erase
);
static
EDA_BaseStruct
*
SaveStructListForPaste
(
EDA_BaseStruct
*
DrawStruct
);
static
EDA_BaseStruct
*
SaveStructListForPaste
(
EDA_BaseStruct
*
DrawStruct
);
static
bool
MirrorStruct
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
static
bool
MirrorStruct
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
...
@@ -81,7 +81,7 @@ void WinEDA_SchematicFrame::InitBlockPasteInfos()
...
@@ -81,7 +81,7 @@ void WinEDA_SchematicFrame::InitBlockPasteInfos()
/* Init the parameters used by the block paste command
/* Init the parameters used by the block paste command
*/
*/
{
{
DrawBlockStruct
*
block
=
&
GetScreen
()
->
BlockLocate
;
DrawBlockStruct
*
block
=
&
GetScreen
()
->
BlockLocate
;
block
->
m_BlockDrawStruct
=
g_BlockSaveDataList
;
block
->
m_BlockDrawStruct
=
g_BlockSaveDataList
;
DrawPanel
->
ManageCurseur
=
DrawMovingBlockOutlines
;
DrawPanel
->
ManageCurseur
=
DrawMovingBlockOutlines
;
...
@@ -99,7 +99,7 @@ void WinEDA_SchematicFrame::HandleBlockPlace( wxDC* DC )
...
@@ -99,7 +99,7 @@ void WinEDA_SchematicFrame::HandleBlockPlace( wxDC* DC )
*/
*/
{
{
bool
err
=
FALSE
;
bool
err
=
FALSE
;
DrawBlockStruct
*
block
=
&
GetScreen
()
->
BlockLocate
;
DrawBlockStruct
*
block
=
&
GetScreen
()
->
BlockLocate
;
EDA_BaseStruct
*
NewStruct
=
NULL
;
EDA_BaseStruct
*
NewStruct
=
NULL
;
...
@@ -208,7 +208,7 @@ int WinEDA_SchematicFrame::HandleBlockEnd( wxDC* DC )
...
@@ -208,7 +208,7 @@ int WinEDA_SchematicFrame::HandleBlockEnd( wxDC* DC )
{
{
int
ii
=
0
;
int
ii
=
0
;
bool
zoom_command
=
FALSE
;
bool
zoom_command
=
FALSE
;
DrawBlockStruct
*
block
=
&
GetScreen
()
->
BlockLocate
;
DrawBlockStruct
*
block
=
&
GetScreen
()
->
BlockLocate
;
if
(
block
->
m_BlockDrawStruct
)
if
(
block
->
m_BlockDrawStruct
)
{
{
...
@@ -234,7 +234,7 @@ int WinEDA_SchematicFrame::HandleBlockEnd( wxDC* DC )
...
@@ -234,7 +234,7 @@ int WinEDA_SchematicFrame::HandleBlockEnd( wxDC* DC )
break
;
break
;
case
BLOCK_DRAG
:
/* Drag */
case
BLOCK_DRAG
:
/* Drag */
BreakSegmentOnJunction
(
(
SCH_SCREEN
*
)
GetScreen
()
);
BreakSegmentOnJunction
(
(
SCH_SCREEN
*
)
GetScreen
()
);
case
BLOCK_MOVE
:
/* Move */
case
BLOCK_MOVE
:
/* Move */
case
BLOCK_COPY
:
/* Copy */
case
BLOCK_COPY
:
/* Copy */
...
@@ -245,7 +245,7 @@ int WinEDA_SchematicFrame::HandleBlockEnd( wxDC* DC )
...
@@ -245,7 +245,7 @@ int WinEDA_SchematicFrame::HandleBlockEnd( wxDC* DC )
if
(
block
->
m_BlockDrawStruct
!=
NULL
)
if
(
block
->
m_BlockDrawStruct
!=
NULL
)
{
{
ii
=
1
;
ii
=
1
;
CollectStructsToDrag
(
(
SCH_SCREEN
*
)
GetScreen
()
);
CollectStructsToDrag
(
(
SCH_SCREEN
*
)
GetScreen
()
);
DrawPanel
->
ManageCurseur
(
DrawPanel
,
DC
,
FALSE
);
DrawPanel
->
ManageCurseur
(
DrawPanel
,
DC
,
FALSE
);
DrawPanel
->
ManageCurseur
=
DrawMovingBlockOutlines
;
DrawPanel
->
ManageCurseur
=
DrawMovingBlockOutlines
;
DrawPanel
->
ManageCurseur
(
DrawPanel
,
DC
,
FALSE
);
DrawPanel
->
ManageCurseur
(
DrawPanel
,
DC
,
FALSE
);
...
@@ -348,7 +348,7 @@ void WinEDA_SchematicFrame::HandleBlockEndByPopUp( int Command, wxDC* DC )
...
@@ -348,7 +348,7 @@ void WinEDA_SchematicFrame::HandleBlockEndByPopUp( int Command, wxDC* DC )
*/
*/
{
{
int
ii
=
0
;
int
ii
=
0
;
DrawBlockStruct
*
block
=
&
GetScreen
()
->
BlockLocate
;
DrawBlockStruct
*
block
=
&
GetScreen
()
->
BlockLocate
;
if
(
block
->
m_Command
!=
BLOCK_MOVE
)
if
(
block
->
m_Command
!=
BLOCK_MOVE
)
return
;
return
;
...
@@ -381,14 +381,14 @@ void WinEDA_SchematicFrame::HandleBlockEndByPopUp( int Command, wxDC* DC )
...
@@ -381,14 +381,14 @@ void WinEDA_SchematicFrame::HandleBlockEndByPopUp( int Command, wxDC* DC )
}
}
block
->
m_BlockDrawStruct
=
NULL
;
block
->
m_BlockDrawStruct
=
NULL
;
}
}
BreakSegmentOnJunction
(
(
SCH_SCREEN
*
)
GetScreen
()
);
BreakSegmentOnJunction
(
(
SCH_SCREEN
*
)
GetScreen
()
);
block
->
m_BlockDrawStruct
=
block
->
m_BlockDrawStruct
=
PickStruct
(
GetScreen
()
->
BlockLocate
,
PickStruct
(
GetScreen
()
->
BlockLocate
,
GetScreen
(),
SEARCHALL
);
GetScreen
(),
SEARCHALL
);
if
(
block
->
m_BlockDrawStruct
!=
NULL
)
if
(
block
->
m_BlockDrawStruct
!=
NULL
)
{
{
ii
=
1
;
ii
=
1
;
CollectStructsToDrag
(
(
SCH_SCREEN
*
)
GetScreen
()
);
CollectStructsToDrag
(
(
SCH_SCREEN
*
)
GetScreen
()
);
if
(
DrawPanel
->
ManageCurseur
)
if
(
DrawPanel
->
ManageCurseur
)
DrawPanel
->
ManageCurseur
(
DrawPanel
,
DC
,
FALSE
);
DrawPanel
->
ManageCurseur
(
DrawPanel
,
DC
,
FALSE
);
block
->
m_State
=
STATE_BLOCK_MOVE
;
block
->
m_State
=
STATE_BLOCK_MOVE
;
...
@@ -689,6 +689,7 @@ void MirrorOneStruct( EDA_BaseStruct* DrawStruct, wxPoint& Center )
...
@@ -689,6 +689,7 @@ void MirrorOneStruct( EDA_BaseStruct* DrawStruct, wxPoint& Center )
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
// Text is not really mirrored: Orientation is changed
// Text is not really mirrored: Orientation is changed
DrawText
=
(
DrawLabelStruct
*
)
DrawStruct
;
DrawText
=
(
DrawLabelStruct
*
)
DrawStruct
;
if
(
DrawText
->
m_Orient
==
0
)
/* horizontal text */
if
(
DrawText
->
m_Orient
==
0
)
/* horizontal text */
...
@@ -837,6 +838,7 @@ static EDA_BaseStruct* CopyStruct( WinEDA_DrawPanel* panel, wxDC* DC, BASE_SCREE
...
@@ -837,6 +838,7 @@ static EDA_BaseStruct* CopyStruct( WinEDA_DrawPanel* panel, wxDC* DC, BASE_SCREE
//m_AssociatedScreen and m_sRefCount properly.
//m_AssociatedScreen and m_sRefCount properly.
DrawSheetStruct
*
sheet
=
(
DrawSheetStruct
*
)
Struct
;
DrawSheetStruct
*
sheet
=
(
DrawSheetStruct
*
)
Struct
;
sheet
->
m_TimeStamp
=
GetTimeStamp
();
sheet
->
m_TimeStamp
=
GetTimeStamp
();
//sheet->m_AssociatedScreen->m_UndoList = NULL;
//sheet->m_AssociatedScreen->m_UndoList = NULL;
//sheet->m_AssociatedScreen->m_RedoList = NULL;
//sheet->m_AssociatedScreen->m_RedoList = NULL;
//keep m_AssociatedScreen pointer & associated.
//keep m_AssociatedScreen pointer & associated.
...
@@ -962,11 +964,15 @@ void DeleteStruct( WinEDA_DrawPanel* panel, wxDC* DC, EDA_BaseStruct* DrawStruct
...
@@ -962,11 +964,15 @@ void DeleteStruct( WinEDA_DrawPanel* panel, wxDC* DC, EDA_BaseStruct* DrawStruct
RedrawOneStruct
(
panel
,
DC
,
DrawStruct
,
g_XorMode
);
RedrawOneStruct
(
panel
,
DC
,
DrawStruct
,
g_XorMode
);
/* Unlink the structure */
/* Unlink the structure */
DrawStruct
->
Pnext
=
DrawStruct
->
Pback
=
NULL
;
// Only one struct -> no link
DrawStruct
->
Pnext
=
DrawStruct
->
Pback
=
NULL
;
// Only one struct -> no link
if
(
DrawStruct
->
Type
()
==
DRAW_SHEET_STRUCT_TYPE
){
if
(
DrawStruct
->
Type
()
==
DRAW_SHEET_STRUCT_TYPE
)
SAFE_DELETE
(
DrawStruct
);
{
frame
->
SaveCopyInUndoList
(
DrawStruct
,
IS_DELETED
);
// Currently In TEST
// SAFE_DELETE(DrawStruct);
//no undo/redo for this (for now), it is on both the EEDrawList and m_SubSheet arrays,
//no undo/redo for this (for now), it is on both the EEDrawList and m_SubSheet arrays,
//hence the undo logic would have to be extended for this.
//hence the undo logic would have to be extended for this.
}
else
}
else
frame
->
SaveCopyInUndoList
(
DrawStruct
,
IS_DELETED
);
frame
->
SaveCopyInUndoList
(
DrawStruct
,
IS_DELETED
);
}
}
}
}
...
@@ -1651,7 +1657,7 @@ static void AddPickedItem( SCH_SCREEN* screen, wxPoint position )
...
@@ -1651,7 +1657,7 @@ static void AddPickedItem( SCH_SCREEN* screen, wxPoint position )
/*********************************************************************************/
/*********************************************************************************/
static
LibEDA_BaseStruct
*
GetNextPinPosition
(
EDA_SchComponentStruct
*
DrawLibItem
,
static
LibEDA_BaseStruct
*
GetNextPinPosition
(
EDA_SchComponentStruct
*
DrawLibItem
,
wxPoint
&
position
)
wxPoint
&
position
)
/*********************************************************************************/
/*********************************************************************************/
{
{
EDA_LibComponentStruct
*
Entry
;
EDA_LibComponentStruct
*
Entry
;
...
...
eeschema/class_drawsheet.cpp
View file @
dd9497a1
...
@@ -43,10 +43,11 @@ DrawSheetStruct::DrawSheetStruct( const wxPoint& pos ) :
...
@@ -43,10 +43,11 @@ DrawSheetStruct::DrawSheetStruct( const wxPoint& pos ) :
m_NbLabel
=
0
;
m_NbLabel
=
0
;
m_Layer
=
LAYER_SHEET
;
m_Layer
=
LAYER_SHEET
;
m_Pos
=
pos
;
m_Pos
=
pos
;
m_TimeStamp
=
GetTimeStamp
();
m_SheetNameSize
=
m_FileNameSize
=
60
;
m_SheetNameSize
=
m_FileNameSize
=
60
;
m_AssociatedScreen
=
NULL
;
m_AssociatedScreen
=
NULL
;
m_SheetName
=
wxT
(
"Root"
);
m_SheetName
.
Printf
(
wxT
(
"Sheet%8.8lX"
),
m_TimeStamp
);
m_FileName
=
wxT
(
" "
);
m_FileName
.
Printf
(
wxT
(
"file%8.8lX.sch"
),
m_TimeStamp
);
m_SheetNumber
=
1
;
m_SheetNumber
=
1
;
m_NumberOfSheets
=
1
;
m_NumberOfSheets
=
1
;
...
@@ -351,7 +352,7 @@ bool DrawSheetStruct::SearchHierarchy( wxString filename, SCH_SCREEN** screen )
...
@@ -351,7 +352,7 @@ bool DrawSheetStruct::SearchHierarchy( wxString filename, SCH_SCREEN** screen )
/*******************************************************************************/
/*******************************************************************************/
bool
DrawSheetStruct
::
LocatePathOfScreen
(
SCH_SCREEN
*
screen
,
DrawSheet
List
*
list
)
bool
DrawSheetStruct
::
LocatePathOfScreen
(
SCH_SCREEN
*
screen
,
DrawSheet
Path
*
list
)
/*******************************************************************************/
/*******************************************************************************/
{
{
//search the existing hierarchy for an instance of screen "FileName".
//search the existing hierarchy for an instance of screen "FileName".
...
@@ -386,6 +387,8 @@ bool DrawSheetStruct::LocatePathOfScreen( SCH_SCREEN* screen, DrawSheetList* lis
...
@@ -386,6 +387,8 @@ bool DrawSheetStruct::LocatePathOfScreen( SCH_SCREEN* screen, DrawSheetList* lis
bool
DrawSheetStruct
::
Load
(
WinEDA_SchematicFrame
*
frame
)
bool
DrawSheetStruct
::
Load
(
WinEDA_SchematicFrame
*
frame
)
/*******************************************************************************/
/*******************************************************************************/
{
{
bool
success
=
true
;
if
(
!
m_AssociatedScreen
)
if
(
!
m_AssociatedScreen
)
{
{
SCH_SCREEN
*
screen
=
NULL
;
SCH_SCREEN
*
screen
=
NULL
;
...
@@ -401,22 +404,24 @@ bool DrawSheetStruct::Load( WinEDA_SchematicFrame* frame )
...
@@ -401,22 +404,24 @@ bool DrawSheetStruct::Load( WinEDA_SchematicFrame* frame )
{
{
m_AssociatedScreen
=
new
SCH_SCREEN
(
SCHEMATIC_FRAME
);
m_AssociatedScreen
=
new
SCH_SCREEN
(
SCHEMATIC_FRAME
);
m_AssociatedScreen
->
m_RefCount
++
;
m_AssociatedScreen
->
m_RefCount
++
;
if
(
!
frame
->
LoadOneEEFile
(
m_AssociatedScreen
,
m_FileName
)
)
success
=
frame
->
LoadOneEEFile
(
m_AssociatedScreen
,
m_FileName
);
return
false
;
if
(
success
)
{
EDA_BaseStruct
*
bs
=
m_AssociatedScreen
->
EEDrawList
;
EDA_BaseStruct
*
bs
=
m_AssociatedScreen
->
EEDrawList
;
while
(
bs
)
while
(
bs
)
{
{
if
(
bs
->
Type
()
==
DRAW_SHEET_STRUCT_TYPE
)
if
(
bs
->
Type
()
==
DRAW_SHEET_STRUCT_TYPE
)
{
{
DrawSheetStruct
*
ss
=
(
DrawSheetStruct
*
)
bs
;
DrawSheetStruct
*
sheetstruct
=
(
DrawSheetStruct
*
)
bs
;
if
(
!
ss
->
Load
(
frame
)
)
if
(
!
sheetstruct
->
Load
(
frame
)
)
return
false
;
success
=
false
;
}
}
bs
=
bs
->
Pnext
;
bs
=
bs
->
Pnext
;
}
}
}
}
}
}
return
true
;
}
return
success
;
}
}
...
@@ -442,6 +447,21 @@ int DrawSheetStruct::CountSheets()
...
@@ -442,6 +447,21 @@ int DrawSheetStruct::CountSheets()
}
}
/******************************************/
wxString
DrawSheetStruct
::
GetFileName
(
void
)
/******************************************/
{
return
m_FileName
;
}
/************************************************************/
void
DrawSheetStruct
::
SetFileName
(
const
wxString
&
aFilename
)
/************************************************************/
{
m_FileName
=
aFilename
;
}
/************************/
/************************/
/* DrawSheetLabelStruct */
/* DrawSheetLabelStruct */
/************************/
/************************/
...
@@ -571,7 +591,7 @@ void DrawSheetLabelStruct::Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoin
...
@@ -571,7 +591,7 @@ void DrawSheetLabelStruct::Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoin
/* class to handle a series of sheets *********/
/* class to handle a series of sheets *********/
/* a 'path' so to speak.. *********************/
/* a 'path' so to speak.. *********************/
/**********************************************/
/**********************************************/
DrawSheet
List
::
DrawSheetList
()
DrawSheet
Path
::
DrawSheetPath
()
{
{
for
(
int
i
=
0
;
i
<
DSLSZ
;
i
++
)
for
(
int
i
=
0
;
i
<
DSLSZ
;
i
++
)
m_sheets
[
i
]
=
NULL
;
m_sheets
[
i
]
=
NULL
;
...
@@ -580,7 +600,7 @@ DrawSheetList::DrawSheetList()
...
@@ -580,7 +600,7 @@ DrawSheetList::DrawSheetList()
}
}
int
DrawSheet
List
::
Cmp
(
DrawSheetList
&
d
)
int
DrawSheet
Path
::
Cmp
(
DrawSheetPath
&
d
)
{
{
if
(
m_numSheets
>
d
.
m_numSheets
)
if
(
m_numSheets
>
d
.
m_numSheets
)
return
1
;
return
1
;
...
@@ -600,7 +620,7 @@ int DrawSheetList::Cmp( DrawSheetList& d )
...
@@ -600,7 +620,7 @@ int DrawSheetList::Cmp( DrawSheetList& d )
}
}
DrawSheetStruct
*
DrawSheet
List
::
Last
()
DrawSheetStruct
*
DrawSheet
Path
::
Last
()
{
{
if
(
m_numSheets
)
if
(
m_numSheets
)
return
m_sheets
[
m_numSheets
-
1
];
return
m_sheets
[
m_numSheets
-
1
];
...
@@ -608,7 +628,7 @@ DrawSheetStruct* DrawSheetList::Last()
...
@@ -608,7 +628,7 @@ DrawSheetStruct* DrawSheetList::Last()
}
}
SCH_SCREEN
*
DrawSheet
List
::
LastScreen
()
SCH_SCREEN
*
DrawSheet
Path
::
LastScreen
()
{
{
if
(
m_numSheets
)
if
(
m_numSheets
)
return
m_sheets
[
m_numSheets
-
1
]
->
m_AssociatedScreen
;
return
m_sheets
[
m_numSheets
-
1
]
->
m_AssociatedScreen
;
...
@@ -616,7 +636,7 @@ SCH_SCREEN* DrawSheetList::LastScreen()
...
@@ -616,7 +636,7 @@ SCH_SCREEN* DrawSheetList::LastScreen()
}
}
EDA_BaseStruct
*
DrawSheet
List
::
LastDrawList
()
EDA_BaseStruct
*
DrawSheet
Path
::
LastDrawList
()
{
{
if
(
m_numSheets
&&
m_sheets
[
m_numSheets
-
1
]
->
m_AssociatedScreen
)
if
(
m_numSheets
&&
m_sheets
[
m_numSheets
-
1
]
->
m_AssociatedScreen
)
return
m_sheets
[
m_numSheets
-
1
]
->
m_AssociatedScreen
->
EEDrawList
;
return
m_sheets
[
m_numSheets
-
1
]
->
m_AssociatedScreen
->
EEDrawList
;
...
@@ -624,8 +644,9 @@ EDA_BaseStruct* DrawSheetList::LastDrawList()
...
@@ -624,8 +644,9 @@ EDA_BaseStruct* DrawSheetList::LastDrawList()
}
}
void
DrawSheet
List
::
Push
(
DrawSheetStruct
*
sheet
)
void
DrawSheet
Path
::
Push
(
DrawSheetStruct
*
sheet
)
{
{
wxASSERT
(
m_numSheets
<=
DSLSZ
);
if
(
m_numSheets
<
DSLSZ
)
if
(
m_numSheets
<
DSLSZ
)
{
{
m_sheets
[
m_numSheets
]
=
sheet
;
m_sheets
[
m_numSheets
]
=
sheet
;
...
@@ -634,7 +655,7 @@ void DrawSheetList::Push( DrawSheetStruct* sheet )
...
@@ -634,7 +655,7 @@ void DrawSheetList::Push( DrawSheetStruct* sheet )
}
}
DrawSheetStruct
*
DrawSheet
List
::
Pop
()
DrawSheetStruct
*
DrawSheet
Path
::
Pop
()
{
{
if
(
m_numSheets
>
0
)
if
(
m_numSheets
>
0
)
{
{
...
@@ -645,7 +666,7 @@ DrawSheetStruct* DrawSheetList::Pop()
...
@@ -645,7 +666,7 @@ DrawSheetStruct* DrawSheetList::Pop()
}
}
wxString
DrawSheet
List
::
Path
()
wxString
DrawSheet
Path
::
Path
()
{
{
wxString
s
,
t
;
wxString
s
,
t
;
...
@@ -664,7 +685,7 @@ wxString DrawSheetList::Path()
...
@@ -664,7 +685,7 @@ wxString DrawSheetList::Path()
}
}
wxString
DrawSheet
List
::
PathHumanReadable
()
wxString
DrawSheet
Path
::
PathHumanReadable
()
{
{
wxString
s
,
t
;
wxString
s
,
t
;
...
@@ -680,7 +701,7 @@ wxString DrawSheetList::PathHumanReadable()
...
@@ -680,7 +701,7 @@ wxString DrawSheetList::PathHumanReadable()
}
}
void
DrawSheet
List
::
UpdateAllScreenReferences
()
void
DrawSheet
Path
::
UpdateAllScreenReferences
()
{
{
EDA_BaseStruct
*
t
=
LastDrawList
();
EDA_BaseStruct
*
t
=
LastDrawList
();
...
@@ -698,7 +719,7 @@ void DrawSheetList::UpdateAllScreenReferences()
...
@@ -698,7 +719,7 @@ void DrawSheetList::UpdateAllScreenReferences()
}
}
bool
DrawSheet
List
::
operator
=
(
const
DrawSheetList
&
d1
)
bool
DrawSheet
Path
::
operator
=
(
const
DrawSheetPath
&
d1
)
{
{
m_numSheets
=
d1
.
m_numSheets
;
m_numSheets
=
d1
.
m_numSheets
;
int
i
;
int
i
;
...
@@ -716,7 +737,7 @@ bool DrawSheetList::operator=( const DrawSheetList& d1 )
...
@@ -716,7 +737,7 @@ bool DrawSheetList::operator=( const DrawSheetList& d1 )
}
}
bool
DrawSheet
List
::
operator
==
(
const
DrawSheetList
&
d1
)
bool
DrawSheet
Path
::
operator
==
(
const
DrawSheetPath
&
d1
)
{
{
if
(
m_numSheets
!=
d1
.
m_numSheets
)
if
(
m_numSheets
!=
d1
.
m_numSheets
)
return
false
;
return
false
;
...
@@ -730,7 +751,7 @@ bool DrawSheetList::operator==( const DrawSheetList& d1 )
...
@@ -730,7 +751,7 @@ bool DrawSheetList::operator==( const DrawSheetList& d1 )
}
}
bool
DrawSheet
List
::
operator
!=
(
const
DrawSheetList
&
d1
)
bool
DrawSheet
Path
::
operator
!=
(
const
DrawSheetPath
&
d1
)
{
{
if
(
m_numSheets
!=
d1
.
m_numSheets
)
if
(
m_numSheets
!=
d1
.
m_numSheets
)
return
true
;
return
true
;
...
...
eeschema/class_screen.cpp
View file @
dd9497a1
...
@@ -268,7 +268,7 @@ void EDA_ScreenList::BuildScreenList( EDA_BaseStruct* s )
...
@@ -268,7 +268,7 @@ void EDA_ScreenList::BuildScreenList( EDA_BaseStruct* s )
/*********************************************************************/
/*********************************************************************/
/*****************************************/
/*****************************************/
DrawSheet
List
*
EDA_SheetList
::
GetFirst
()
DrawSheet
Path
*
EDA_SheetList
::
GetFirst
()
/*****************************************/
/*****************************************/
{
{
m_index
=
0
;
m_index
=
0
;
...
@@ -279,7 +279,7 @@ DrawSheetList* EDA_SheetList::GetFirst()
...
@@ -279,7 +279,7 @@ DrawSheetList* EDA_SheetList::GetFirst()
/*****************************************/
/*****************************************/
DrawSheet
List
*
EDA_SheetList
::
GetNext
()
DrawSheet
Path
*
EDA_SheetList
::
GetNext
()
/*****************************************/
/*****************************************/
{
{
if
(
m_index
<
m_count
)
if
(
m_index
<
m_count
)
...
@@ -289,7 +289,7 @@ DrawSheetList* EDA_SheetList::GetNext()
...
@@ -289,7 +289,7 @@ DrawSheetList* EDA_SheetList::GetNext()
/************************************************/
/************************************************/
DrawSheet
List
*
EDA_SheetList
::
GetSheet
(
int
index
)
DrawSheet
Path
*
EDA_SheetList
::
GetSheet
(
int
index
)
/************************************************/
/************************************************/
/* return the m_List[index] item
/* return the m_List[index] item
...
@@ -312,8 +312,8 @@ void EDA_SheetList::BuildSheetList( DrawSheetStruct* sheet )
...
@@ -312,8 +312,8 @@ void EDA_SheetList::BuildSheetList( DrawSheetStruct* sheet )
m_index
=
0
;
m_index
=
0
;
if
(
m_List
)
if
(
m_List
)
free
(
m_List
);
m_List
=
NULL
;
free
(
m_List
);
m_List
=
NULL
;
count
*=
sizeof
(
DrawSheet
List
);
count
*=
sizeof
(
DrawSheet
Path
);
m_List
=
(
DrawSheet
List
*
)
MyZMalloc
(
count
);
m_List
=
(
DrawSheet
Path
*
)
MyZMalloc
(
count
);
memset
(
(
void
*
)
m_List
,
0
,
count
);
memset
(
(
void
*
)
m_List
,
0
,
count
);
m_currList
.
Clear
();
m_currList
.
Clear
();
}
}
...
@@ -336,44 +336,3 @@ void EDA_SheetList::BuildSheetList( DrawSheetStruct* sheet )
...
@@ -336,44 +336,3 @@ void EDA_SheetList::BuildSheetList( DrawSheetStruct* sheet )
m_currList
.
Pop
();
m_currList
.
Pop
();
}
}
/************************************************/
void
EDA_SheetList
::
UpdateSheetNumberAndDate
()
/************************************************/
/* Set a sheet number, the sheet count for sheets in the whole schematic
* and update the date in all srceens
*/
{
wxString
date
=
GenDate
();
int
sheet_count
=
1
,
sheet_number
=
2
;
// sheet 1 is the root sheet
for
(
int
ii
=
0
;
ii
<
(
int
)
m_count
;
ii
++
)
{
DrawSheetList
*
sheetlist
=
GetSheet
(
ii
);
sheet_count
+=
sheetlist
->
m_numSheets
;
}
for
(
int
ii
=
0
;
ii
<
(
int
)
m_count
;
ii
++
)
{
DrawSheetList
*
sheetlist
=
GetSheet
(
ii
);
// Read all sheets in path, but not the root sheet (jj = 1)
for
(
int
jj
=
1
;
jj
<
sheetlist
->
m_numSheets
;
jj
++
)
{
DrawSheetStruct
*
sheet
=
sheetlist
->
m_sheets
[
jj
];
sheet
->
m_SheetNumber
=
sheet_number
++
;
sheet
->
m_NumberOfSheets
=
m_count
;
SCH_SCREEN
*
screen
=
sheet
->
m_AssociatedScreen
;
if
(
screen
!=
NULL
)
{
screen
->
m_NumberOfScreen
=
sheet_count
;
screen
->
m_Date
=
date
;
}
}
}
g_RootSheet
->
m_AssociatedScreen
->
m_Date
=
date
;
g_RootSheet
->
m_AssociatedScreen
->
m_NumberOfScreen
=
sheet_count
;
g_RootSheet
->
m_SheetNumber
=
1
;
g_RootSheet
->
m_NumberOfSheets
=
m_count
;
}
eeschema/class_screen.h
View file @
dd9497a1
...
@@ -55,8 +55,8 @@ public:
...
@@ -55,8 +55,8 @@ public:
};
};
class
DrawSheetLabelStruct
:
public
EDA_BaseStruct
class
DrawSheetLabelStruct
:
public
EDA_BaseStruct
,
,
public
EDA_TextStruct
public
EDA_TextStruct
{
{
public
:
public
:
int
m_Layer
;
int
m_Layer
;
...
@@ -87,8 +87,8 @@ public:
...
@@ -87,8 +87,8 @@ public:
/* class DrawSheetStruct
/* class DrawSheetStruct
This class is the sheet symbol placed in a schematic, and is the entry point for a sub schematic
*
This class is the sheet symbol placed in a schematic, and is the entry point for a sub schematic
*/
*/
WX_DEFINE_ARRAY
(
DrawSheetStruct
*
,
SheetGrowArray
);
WX_DEFINE_ARRAY
(
DrawSheetStruct
*
,
SheetGrowArray
);
class
DrawSheetStruct
:
public
EDA_BaseStruct
/*public SCH_SCREEN*/
/* Gestion de la hierarchie */
class
DrawSheetStruct
:
public
EDA_BaseStruct
/*public SCH_SCREEN*/
/* Gestion de la hierarchie */
...
@@ -96,20 +96,22 @@ class DrawSheetStruct : public EDA_BaseStruct /*public SCH_SCREEN*/ /* Gestio
...
@@ -96,20 +96,22 @@ class DrawSheetStruct : public EDA_BaseStruct /*public SCH_SCREEN*/ /* Gestio
public
:
public
:
wxString
m_SheetName
;
//this is equivalent to C101 for components:
wxString
m_SheetName
;
//this is equivalent to C101 for components:
// it is stored in F0 ... of the file.
// it is stored in F0 ... of the file.
private
:
wxString
m_FileName
;
//also in SCH_SCREEN (redundant),
wxString
m_FileName
;
//also in SCH_SCREEN (redundant),
//but need it here for loading after
//but need it here for loading after
//reading the sheet description from file.
//reading the sheet description from file.
int
m_SheetNameSize
;
public
:
int
m_SheetNameSize
;
// Size (height) of the text, used to draw the name
int
m_FileNameSize
;
int
m_FileNameSize
;
// Size (height) of the text, used to draw the name
wxPoint
m_Pos
;
wxPoint
m_Pos
;
wxSize
m_Size
;
/* Position and Size of sheet symbol */
wxSize
m_Size
;
/* Position and Size of sheet symbol */
int
m_Layer
;
int
m_Layer
;
DrawSheetLabelStruct
*
m_Label
;
/* Points de connection, linked list.*/
DrawSheetLabelStruct
*
m_Label
;
/* Points de connection, linked list.*/
int
m_NbLabel
;
/* Nombre de points de connexion */
int
m_NbLabel
;
/* Nombre de points de connexion */
SCH_SCREEN
*
m_AssociatedScreen
;
/* Associated Screen which handle the physical data
SCH_SCREEN
*
m_AssociatedScreen
;
/* Associated Screen which handle the physical data
In complex hierarchies we can have many DrawSheetStruct using the same data
*
In complex hierarchies we can have many DrawSheetStruct using the same data
*/
*/
int
m_SheetNumber
;
// sheet number (used for info)
int
m_SheetNumber
;
// sheet number (used for info)
int
m_NumberOfSheets
;
// Sheets count in the whole schematic (used for info)
int
m_NumberOfSheets
;
// Sheets count in the whole schematic (used for info)
...
@@ -133,8 +135,10 @@ public:
...
@@ -133,8 +135,10 @@ public:
int
ComponentCount
();
int
ComponentCount
();
bool
Load
(
WinEDA_SchematicFrame
*
frame
);
bool
Load
(
WinEDA_SchematicFrame
*
frame
);
bool
SearchHierarchy
(
wxString
filename
,
SCH_SCREEN
**
screen
);
bool
SearchHierarchy
(
wxString
filename
,
SCH_SCREEN
**
screen
);
bool
LocatePathOfScreen
(
SCH_SCREEN
*
screen
,
DrawSheet
List
*
list
);
bool
LocatePathOfScreen
(
SCH_SCREEN
*
screen
,
DrawSheet
Path
*
list
);
int
CountSheets
();
int
CountSheets
();
wxString
GetFileName
(
void
);
void
SetFileName
(
const
wxString
&
aFilename
);
//void RemoveSheet(DrawSheetStruct* sheet);
//void RemoveSheet(DrawSheetStruct* sheet);
//to remove a sheet, just delete it
//to remove a sheet, just delete it
...
@@ -147,16 +151,16 @@ public:
...
@@ -147,16 +151,16 @@ public:
/* a 'path' so to speak.. *********************/
/* a 'path' so to speak.. *********************/
/**********************************************/
/**********************************************/
#define DSLSZ 32
#define DSLSZ 32
class
DrawSheet
List
class
DrawSheet
Path
{
{
public
:
public
:
int
m_numSheets
;
int
m_numSheets
;
DrawSheetStruct
*
m_sheets
[
DSLSZ
];
DrawSheetStruct
*
m_sheets
[
DSLSZ
];
DrawSheet
List
();
DrawSheet
Path
();
~
DrawSheet
List
()
{
};
~
DrawSheet
Path
()
{
};
void
Clear
()
{
m_numSheets
=
0
;
}
void
Clear
()
{
m_numSheets
=
0
;
}
int
Cmp
(
DrawSheet
List
&
d
);
int
Cmp
(
DrawSheet
Path
&
d
);
DrawSheetStruct
*
Last
();
DrawSheetStruct
*
Last
();
SCH_SCREEN
*
LastScreen
();
SCH_SCREEN
*
LastScreen
();
EDA_BaseStruct
*
LastDrawList
();
EDA_BaseStruct
*
LastDrawList
();
...
@@ -166,11 +170,11 @@ public:
...
@@ -166,11 +170,11 @@ public:
wxString
PathHumanReadable
();
wxString
PathHumanReadable
();
void
UpdateAllScreenReferences
();
void
UpdateAllScreenReferences
();
bool
operator
=
(
const
DrawSheet
List
&
d1
);
bool
operator
=
(
const
DrawSheet
Path
&
d1
);
bool
operator
==
(
const
DrawSheet
List
&
d1
);
bool
operator
==
(
const
DrawSheet
Path
&
d1
);
bool
operator
!=
(
const
DrawSheet
List
&
d1
);
bool
operator
!=
(
const
DrawSheet
Path
&
d1
);
};
};
...
@@ -179,14 +183,16 @@ public:
...
@@ -179,14 +183,16 @@ public:
/*******************************************************/
/*******************************************************/
// sheets are not unique - can have many sheets with the same
// sheets are not unique - can have many sheets with the same
// filename and the same SCH_S
HEET
reference.
// filename and the same SCH_S
CREEN
reference.
class
EDA_SheetList
class
EDA_SheetList
{
{
private
:
private
:
DrawSheetList
*
m_List
;
DrawSheetPath
*
m_List
;
int
m_count
;
int
m_count
;
/* Number of sheets included in hierarchy,
* starting at the given sheet in constructor . the given sheet is counted
*/
int
m_index
;
int
m_index
;
DrawSheet
List
m_currList
;
DrawSheet
Path
m_currList
;
public
:
public
:
EDA_SheetList
(
DrawSheetStruct
*
sheet
)
EDA_SheetList
(
DrawSheetStruct
*
sheet
)
...
@@ -211,10 +217,9 @@ public:
...
@@ -211,10 +217,9 @@ public:
int
GetCount
()
{
return
m_count
;
}
int
GetCount
()
{
return
m_count
;
}
DrawSheetList
*
GetFirst
();
DrawSheetPath
*
GetFirst
();
DrawSheetList
*
GetNext
();
DrawSheetPath
*
GetNext
();
DrawSheetList
*
GetSheet
(
int
index
);
DrawSheetPath
*
GetSheet
(
int
index
);
void
UpdateSheetNumberAndDate
();
// Update the date displayed in the sheet count
private
:
private
:
void
BuildSheetList
(
DrawSheetStruct
*
sheet
);
void
BuildSheetList
(
DrawSheetStruct
*
sheet
);
...
...
eeschema/component_class.cpp
View file @
dd9497a1
...
@@ -94,7 +94,7 @@ const wxString& EDA_SchComponentStruct::ReturnFieldName( int aFieldNdx ) const
...
@@ -94,7 +94,7 @@ const wxString& EDA_SchComponentStruct::ReturnFieldName( int aFieldNdx ) const
/****************************************************************/
/****************************************************************/
wxString
EDA_SchComponentStruct
::
GetPath
(
DrawSheet
List
*
sheet
)
wxString
EDA_SchComponentStruct
::
GetPath
(
DrawSheet
Path
*
sheet
)
/****************************************************************/
/****************************************************************/
{
{
wxString
str
;
wxString
str
;
...
@@ -105,7 +105,7 @@ wxString EDA_SchComponentStruct::GetPath( DrawSheetList* sheet )
...
@@ -105,7 +105,7 @@ wxString EDA_SchComponentStruct::GetPath( DrawSheetList* sheet )
/********************************************************************/
/********************************************************************/
const
wxString
EDA_SchComponentStruct
::
GetRef
(
DrawSheet
List
*
sheet
)
const
wxString
EDA_SchComponentStruct
::
GetRef
(
DrawSheet
Path
*
sheet
)
/********************************************************************/
/********************************************************************/
{
{
wxString
path
=
GetPath
(
sheet
);
wxString
path
=
GetPath
(
sheet
);
...
@@ -137,7 +137,7 @@ const wxString EDA_SchComponentStruct::GetRef( DrawSheetList* sheet )
...
@@ -137,7 +137,7 @@ const wxString EDA_SchComponentStruct::GetRef( DrawSheetList* sheet )
/***********************************************************************/
/***********************************************************************/
void
EDA_SchComponentStruct
::
SetRef
(
DrawSheet
List
*
sheet
,
wxString
ref
)
void
EDA_SchComponentStruct
::
SetRef
(
DrawSheet
Path
*
sheet
,
wxString
ref
)
/***********************************************************************/
/***********************************************************************/
{
{
//check to see if it is already there before inserting it
//check to see if it is already there before inserting it
...
...
eeschema/component_class.h
View file @
dd9497a1
...
@@ -88,7 +88,7 @@ public:
...
@@ -88,7 +88,7 @@ public:
}
}
};
};
WX_DECLARE_OBJARRAY
(
DrawSheet
List
,
ArrayOfSheetLists
);
WX_DECLARE_OBJARRAY
(
DrawSheet
Path
,
ArrayOfSheetLists
);
/* the class EDA_SchComponentStruct describes a real component */
/* the class EDA_SchComponentStruct describes a real component */
class
EDA_SchComponentStruct
:
public
DrawPartStruct
class
EDA_SchComponentStruct
:
public
DrawPartStruct
{
{
...
@@ -148,9 +148,9 @@ public:
...
@@ -148,9 +148,9 @@ public:
//returns a unique ID, in the form of a path.
//returns a unique ID, in the form of a path.
wxString
GetPath
(
DrawSheet
List
*
sheet
);
wxString
GetPath
(
DrawSheet
Path
*
sheet
);
const
wxString
GetRef
(
DrawSheet
List
*
sheet
);
const
wxString
GetRef
(
DrawSheet
Path
*
sheet
);
void
SetRef
(
DrawSheet
List
*
sheet
,
wxString
ref
);
void
SetRef
(
DrawSheet
Path
*
sheet
,
wxString
ref
);
void
ClearRefs
();
void
ClearRefs
();
#if defined (DEBUG)
#if defined (DEBUG)
...
...
eeschema/delsheet.cpp
View file @
dd9497a1
...
@@ -42,7 +42,7 @@ wxString msg;
...
@@ -42,7 +42,7 @@ wxString msg;
{
{
msg
.
Printf
(
_
(
"Sheet %s (file %s) modified. Save it?"
),
msg
.
Printf
(
_
(
"Sheet %s (file %s) modified. Save it?"
),
FirstSheet
->
m_SheetName
.
GetData
(),
FirstSheet
->
m_SheetName
.
GetData
(),
FirstSheet
->
m_FileName
.
GetData
());
FirstSheet
->
GetFileName
()
.
GetData
());
if
(
IsOK
(
NULL
,
msg
)
)
if
(
IsOK
(
NULL
,
msg
)
)
{
{
frame
->
SaveEEFile
(
FirstSheet
->
m_AssociatedScreen
,
FILE_SAVE_AS
);
frame
->
SaveEEFile
(
FirstSheet
->
m_AssociatedScreen
,
FILE_SAVE_AS
);
...
...
eeschema/dialog_build_BOM.cpp
View file @
dd9497a1
...
@@ -772,7 +772,7 @@ int GenListeCmp( ListComponent * List )
...
@@ -772,7 +772,7 @@ int GenListeCmp( ListComponent * List )
int
ItemCount
=
0
;
int
ItemCount
=
0
;
EDA_BaseStruct
*
DrawList
;
EDA_BaseStruct
*
DrawList
;
EDA_SchComponentStruct
*
DrawLibItem
;
EDA_SchComponentStruct
*
DrawLibItem
;
DrawSheet
List
*
sheet
;
DrawSheet
Path
*
sheet
;
/* Build the sheet (not screen) list */
/* Build the sheet (not screen) list */
EDA_SheetList
SheetList
(
NULL
);
EDA_SheetList
SheetList
(
NULL
);
...
@@ -820,7 +820,7 @@ static int GenListeGLabels( ListLabel * List )
...
@@ -820,7 +820,7 @@ static int GenListeGLabels( ListLabel * List )
int
ItemCount
=
0
;
int
ItemCount
=
0
;
EDA_BaseStruct
*
DrawList
;
EDA_BaseStruct
*
DrawList
;
DrawSheetLabelStruct
*
SheetLabel
;
DrawSheetLabelStruct
*
SheetLabel
;
DrawSheet
List
*
sheet
;
DrawSheet
Path
*
sheet
;
/* Build the screen list */
/* Build the screen list */
EDA_SheetList
SheetList
(
NULL
);
EDA_SheetList
SheetList
(
NULL
);
...
...
eeschema/erc.cpp
View file @
dd9497a1
...
@@ -712,7 +712,7 @@ static bool WriteDiagnosticERC( const wxString& FullFileName )
...
@@ -712,7 +712,7 @@ static bool WriteDiagnosticERC( const wxString& FullFileName )
DrawMarkerStruct
*
Marker
;
DrawMarkerStruct
*
Marker
;
char
Line
[
256
];
char
Line
[
256
];
static
FILE
*
OutErc
;
static
FILE
*
OutErc
;
DrawSheet
List
*
Sheet
;
DrawSheet
Path
*
Sheet
;
wxString
msg
;
wxString
msg
;
if
(
(
OutErc
=
wxFopen
(
FullFileName
,
wxT
(
"wt"
)
)
)
==
NULL
)
if
(
(
OutErc
=
wxFopen
(
FullFileName
,
wxT
(
"wt"
)
)
)
==
NULL
)
...
...
eeschema/files-io.cpp
View file @
dd9497a1
...
@@ -141,7 +141,7 @@ int WinEDA_SchematicFrame::LoadOneEEProject( const wxString& FileName, bool IsNe
...
@@ -141,7 +141,7 @@ int WinEDA_SchematicFrame::LoadOneEEProject( const wxString& FileName, bool IsNe
wxSetWorkingDirectory
(
wxPathOnly
(
FullFileName
)
);
wxSetWorkingDirectory
(
wxPathOnly
(
FullFileName
)
);
GetScreen
()
->
m_FileName
=
FullFileName
;
GetScreen
()
->
m_FileName
=
FullFileName
;
g_RootSheet
->
m_FileName
=
FullFileName
;
g_RootSheet
->
SetFileName
(
FullFileName
)
;
Affiche_Message
(
wxEmptyString
);
Affiche_Message
(
wxEmptyString
);
MsgPanel
->
EraseMsgBox
();
MsgPanel
->
EraseMsgBox
();
...
@@ -223,14 +223,13 @@ int WinEDA_SchematicFrame::LoadOneEEProject( const wxString& FileName, bool IsNe
...
@@ -223,14 +223,13 @@ int WinEDA_SchematicFrame::LoadOneEEProject( const wxString& FileName, bool IsNe
//load the project.
//load the project.
SAFE_DELETE
(
g_RootSheet
->
m_AssociatedScreen
);
SAFE_DELETE
(
g_RootSheet
->
m_AssociatedScreen
);
if
(
!
g_RootSheet
->
Load
(
this
))
bool
diag
=
g_RootSheet
->
Load
(
this
);
return
0
;
/* Reaffichage ecran de base (ROOT) si necessaire */
/* Reaffichage ecran de base (ROOT) si necessaire */
ActiveScreen
=
GetScreen
();
ActiveScreen
=
GetScreen
();
Zoom_Automatique
(
FALSE
);
Zoom_Automatique
(
FALSE
);
DrawPanel
->
Refresh
(
TRUE
);
DrawPanel
->
Refresh
(
TRUE
);
return
1
;
return
diag
;
}
}
/**********************************************************/
/**********************************************************/
SCH_SCREEN
*
WinEDA_SchematicFrame
::
CreateNewScreen
(
SCH_SCREEN
*
WinEDA_SchematicFrame
::
CreateNewScreen
(
...
...
eeschema/find.cpp
View file @
dd9497a1
...
@@ -70,7 +70,7 @@ EDA_BaseStruct* WinEDA_SchematicFrame::FindComponentAndItem(
...
@@ -70,7 +70,7 @@ EDA_BaseStruct* WinEDA_SchematicFrame::FindComponentAndItem(
* @param mouseWarp If true, then move the mouse cursor to the item.
* @param mouseWarp If true, then move the mouse cursor to the item.
*/
*/
{
{
DrawSheet
List
*
sheet
,
*
SheetWithComponentFound
=
NULL
;
DrawSheet
Path
*
sheet
,
*
SheetWithComponentFound
=
NULL
;
EDA_BaseStruct
*
DrawList
=
NULL
;
EDA_BaseStruct
*
DrawList
=
NULL
;
EDA_SchComponentStruct
*
Component
=
NULL
;
EDA_SchComponentStruct
*
Component
=
NULL
;
wxSize
DrawAreaSize
=
DrawPanel
->
GetClientSize
();
wxSize
DrawAreaSize
=
DrawPanel
->
GetClientSize
();
...
@@ -266,7 +266,7 @@ EDA_BaseStruct* WinEDA_SchematicFrame::FindMarker( int SearchType )
...
@@ -266,7 +266,7 @@ EDA_BaseStruct* WinEDA_SchematicFrame::FindMarker( int SearchType )
* SearchType = 0: search the first marker, else search next marker
* SearchType = 0: search the first marker, else search next marker
*/
*/
{
{
DrawSheet
List
*
sheet
,
*
FirstSheet
=
NULL
;
DrawSheet
Path
*
sheet
,
*
FirstSheet
=
NULL
;
EDA_BaseStruct
*
DrawList
,
*
FirstStruct
=
NULL
,
*
Struct
=
NULL
;
EDA_BaseStruct
*
DrawList
,
*
FirstStruct
=
NULL
,
*
Struct
=
NULL
;
DrawMarkerStruct
*
Marker
=
NULL
;
DrawMarkerStruct
*
Marker
=
NULL
;
int
StartCount
;
int
StartCount
;
...
@@ -420,7 +420,7 @@ EDA_BaseStruct* WinEDA_SchematicFrame::FindSchematicItem(
...
@@ -420,7 +420,7 @@ EDA_BaseStruct* WinEDA_SchematicFrame::FindSchematicItem(
* @param mouseWarp If true, then move the mouse cursor to the item.
* @param mouseWarp If true, then move the mouse cursor to the item.
*/
*/
{
{
DrawSheet
List
*
Sheet
,
*
FirstSheet
=
NULL
;
DrawSheet
Path
*
Sheet
,
*
FirstSheet
=
NULL
;
EDA_BaseStruct
*
DrawList
=
NULL
,
*
FirstStruct
=
NULL
,
*
Struct
=
NULL
;
EDA_BaseStruct
*
DrawList
=
NULL
,
*
FirstStruct
=
NULL
,
*
Struct
=
NULL
;
int
StartCount
,
ii
,
jj
;
int
StartCount
,
ii
,
jj
;
bool
NotFound
;
bool
NotFound
;
...
...
eeschema/hierarch.cpp
View file @
dd9497a1
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
#include "../bitmaps/treensel.xpm"
#include "../bitmaps/treensel.xpm"
static
void
UpdateScreenFromSheet
(
WinEDA_SchematicFrame
*
frame
);
static
bool
UpdateScreenFromSheet
(
WinEDA_SchematicFrame
*
frame
);
enum
{
enum
{
ID_TREECTRL_HIERARCHY
=
1600
ID_TREECTRL_HIERARCHY
=
1600
...
@@ -37,8 +37,8 @@ class WinEDA_HierFrame;
...
@@ -37,8 +37,8 @@ class WinEDA_HierFrame;
class
TreeItemData
:
public
wxTreeItemData
class
TreeItemData
:
public
wxTreeItemData
{
{
public
:
public
:
DrawSheet
List
m_SheetList
;
DrawSheet
Path
m_SheetList
;
TreeItemData
(
DrawSheet
List
sheet
)
:
wxTreeItemData
()
TreeItemData
(
DrawSheet
Path
sheet
)
:
wxTreeItemData
()
{
{
m_SheetList
=
sheet
;
m_SheetList
=
sheet
;
}
}
...
@@ -92,7 +92,7 @@ private:
...
@@ -92,7 +92,7 @@ private:
public
:
public
:
WinEDA_HierFrame
(
WinEDA_SchematicFrame
*
parent
,
wxDC
*
DC
,
const
wxPoint
&
pos
);
WinEDA_HierFrame
(
WinEDA_SchematicFrame
*
parent
,
wxDC
*
DC
,
const
wxPoint
&
pos
);
void
BuildSheetList
(
DrawSheet
List
*
list
,
wxTreeItemId
*
previousmenu
);
void
BuildSheetList
(
DrawSheet
Path
*
list
,
wxTreeItemId
*
previousmenu
);
~
WinEDA_HierFrame
();
~
WinEDA_HierFrame
();
void
OnSelect
(
wxTreeEvent
&
event
);
void
OnSelect
(
wxTreeEvent
&
event
);
...
@@ -133,7 +133,7 @@ WinEDA_HierFrame::WinEDA_HierFrame(WinEDA_SchematicFrame *parent, wxDC * DC,
...
@@ -133,7 +133,7 @@ WinEDA_HierFrame::WinEDA_HierFrame(WinEDA_SchematicFrame *parent, wxDC * DC,
cellule
=
m_Tree
->
AddRoot
(
_
(
"Root"
),
0
,
1
);
cellule
=
m_Tree
->
AddRoot
(
_
(
"Root"
),
0
,
1
);
m_Tree
->
SetItemBold
(
cellule
,
TRUE
);
m_Tree
->
SetItemBold
(
cellule
,
TRUE
);
DrawSheet
List
list
;
DrawSheet
Path
list
;
list
.
Push
(
g_RootSheet
);
list
.
Push
(
g_RootSheet
);
m_Tree
->
SetItemData
(
cellule
,
new
TreeItemData
(
list
)
);
m_Tree
->
SetItemData
(
cellule
,
new
TreeItemData
(
list
)
);
...
@@ -179,7 +179,7 @@ void WinEDA_HierFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
...
@@ -179,7 +179,7 @@ void WinEDA_HierFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
}
}
/********************************************************************/
/********************************************************************/
void
WinEDA_HierFrame
::
BuildSheetList
(
DrawSheet
List
*
list
,
void
WinEDA_HierFrame
::
BuildSheetList
(
DrawSheet
Path
*
list
,
wxTreeItemId
*
previousmenu
)
wxTreeItemId
*
previousmenu
)
/********************************************************************/
/********************************************************************/
/* Routine de creation de l'arbre de navigation dans la hierarchy
/* Routine de creation de l'arbre de navigation dans la hierarchy
...
@@ -235,11 +235,12 @@ wxTreeItemId menu;
...
@@ -235,11 +235,12 @@ wxTreeItemId menu;
/***************************************************/
/***************************************************/
void
WinEDA_HierFrame
::
OnSelect
(
wxTreeEvent
&
event
)
void
WinEDA_HierFrame
::
OnSelect
(
wxTreeEvent
&
event
)
/***************************************************/
/***************************************************/
/*
appelee sur un double-click de la souris pour la selection d'un
item:
/*
Called on a double-click on a tree
item:
Selectionne et affiche l'ecran demand�
Open the selected sheet, and display the corresponding screen
*/
*/
{
{
wxTreeItemId
ItemSel
=
m_Tree
->
GetSelection
();
wxTreeItemId
ItemSel
=
m_Tree
->
GetSelection
();
*
(
m_Parent
->
m_CurrentSheet
)
=
*
(
m_Parent
->
m_CurrentSheet
)
=
((
TreeItemData
*
)(
m_Tree
->
GetItemData
(
ItemSel
)))
->
m_SheetList
;
((
TreeItemData
*
)(
m_Tree
->
GetItemData
(
ItemSel
)))
->
m_SheetList
;
wxString
path
=
m_Parent
->
m_CurrentSheet
->
PathHumanReadable
();
wxString
path
=
m_Parent
->
m_CurrentSheet
->
PathHumanReadable
();
...
@@ -259,7 +260,7 @@ void WinEDA_SchematicFrame::InstallPreviousSheet()
...
@@ -259,7 +260,7 @@ void WinEDA_SchematicFrame::InstallPreviousSheet()
g_ItemToRepeat
=
NULL
;
g_ItemToRepeat
=
NULL
;
MsgPanel
->
EraseMsgBox
();
MsgPanel
->
EraseMsgBox
();
//make a copy for testing purposes.
//make a copy for testing purposes.
DrawSheet
List
listtemp
=
*
m_CurrentSheet
;
DrawSheet
Path
listtemp
=
*
m_CurrentSheet
;
listtemp
.
Pop
();
listtemp
.
Pop
();
if
(
listtemp
.
LastScreen
()
==
NULL
){
if
(
listtemp
.
LastScreen
()
==
NULL
){
DisplayError
(
this
,
wxT
(
"InstallPreviousScreen() Error: Sheet not found"
));
DisplayError
(
this
,
wxT
(
"InstallPreviousScreen() Error: Sheet not found"
));
...
@@ -290,7 +291,7 @@ void WinEDA_SchematicFrame::InstallNextScreen(DrawSheetStruct * Sheet)
...
@@ -290,7 +291,7 @@ void WinEDA_SchematicFrame::InstallNextScreen(DrawSheetStruct * Sheet)
}
}
/**************************************************************/
/**************************************************************/
static
void
UpdateScreenFromSheet
(
WinEDA_SchematicFrame
*
frame
)
static
bool
UpdateScreenFromSheet
(
WinEDA_SchematicFrame
*
frame
)
/**************************************************************/
/**************************************************************/
/* Recherche et installe de l'ecran relatif au sheet symbole Sheet.
/* Recherche et installe de l'ecran relatif au sheet symbole Sheet.
...
@@ -302,7 +303,10 @@ static void UpdateScreenFromSheet(WinEDA_SchematicFrame * frame)
...
@@ -302,7 +303,10 @@ static void UpdateScreenFromSheet(WinEDA_SchematicFrame * frame)
NewScreen
=
frame
->
m_CurrentSheet
->
LastScreen
();
NewScreen
=
frame
->
m_CurrentSheet
->
LastScreen
();
if
(
!
NewScreen
)
if
(
!
NewScreen
)
NewScreen
=
g_RootSheet
->
m_AssociatedScreen
;
{
DisplayError
(
frame
,
wxT
(
"Screen not found for this sheet"
));
return
false
;
}
// Reinit des parametres d'affichage du nouvel ecran
// Reinit des parametres d'affichage du nouvel ecran
// assumes m_CurrentSheet has already been updated.
// assumes m_CurrentSheet has already been updated.
...
@@ -325,6 +329,6 @@ static void UpdateScreenFromSheet(WinEDA_SchematicFrame * frame)
...
@@ -325,6 +329,6 @@ static void UpdateScreenFromSheet(WinEDA_SchematicFrame * frame)
frame
->
DrawPanel
->
MouseToCursorSchema
();
frame
->
DrawPanel
->
MouseToCursorSchema
();
}
}
ActiveScreen
=
frame
->
m_CurrentSheet
->
LastScreen
();
ActiveScreen
=
frame
->
m_CurrentSheet
->
LastScreen
();
return
;
return
true
;
}
}
eeschema/load_one_schematic_file.cpp
View file @
dd9497a1
...
@@ -98,6 +98,7 @@ bool WinEDA_SchematicFrame::LoadOneEEFile( SCH_SCREEN* screen, const wxString& F
...
@@ -98,6 +98,7 @@ bool WinEDA_SchematicFrame::LoadOneEEFile( SCH_SCREEN* screen, const wxString& F
return
FALSE
;
return
FALSE
;
screen
->
SetCurItem
(
NULL
);
screen
->
SetCurItem
(
NULL
);
screen
->
m_FileName
=
FullFileName
;
LineCount
=
1
;
LineCount
=
1
;
if
(
(
f
=
wxFopen
(
FullFileName
,
wxT
(
"rt"
)
)
)
==
NULL
)
if
(
(
f
=
wxFopen
(
FullFileName
,
wxT
(
"rt"
)
)
)
==
NULL
)
...
@@ -107,7 +108,6 @@ bool WinEDA_SchematicFrame::LoadOneEEFile( SCH_SCREEN* screen, const wxString& F
...
@@ -107,7 +108,6 @@ bool WinEDA_SchematicFrame::LoadOneEEFile( SCH_SCREEN* screen, const wxString& F
return
FALSE
;
return
FALSE
;
}
}
screen
->
m_FileName
=
FullFileName
;
MsgDiag
=
_
(
"Loading "
)
+
screen
->
m_FileName
;
MsgDiag
=
_
(
"Loading "
)
+
screen
->
m_FileName
;
PrintMsg
(
MsgDiag
);
PrintMsg
(
MsgDiag
);
...
@@ -886,7 +886,7 @@ static int ReadSheetDescr( wxWindow* frame, char* Line, FILE* f, BASE_SCREEN* Wi
...
@@ -886,7 +886,7 @@ static int ReadSheetDescr( wxWindow* frame, char* Line, FILE* f, BASE_SCREEN* Wi
}
}
else
else
{
{
SheetStruct
->
m_FileName
=
CONV_FROM_UTF8
(
Name1
);
SheetStruct
->
SetFileName
(
CONV_FROM_UTF8
(
Name1
)
);
//printf("in ReadSheetDescr : SheetStruct->m_FileName = %s \n", Name1);
//printf("in ReadSheetDescr : SheetStruct->m_FileName = %s \n", Name1);
SheetStruct
->
m_FileNameSize
=
size
;
SheetStruct
->
m_FileNameSize
=
size
;
}
}
...
...
eeschema/netform.cpp
View file @
dd9497a1
...
@@ -25,9 +25,9 @@ static void WriteNetListPspice( WinEDA_SchematicFrame* frame, FILE* f, bool use_
...
@@ -25,9 +25,9 @@ static void WriteNetListPspice( WinEDA_SchematicFrame* frame, FILE* f, bool use_
static
void
WriteGENERICListOfNets
(
FILE
*
f
,
ObjetNetListStruct
*
ObjNet
);
static
void
WriteGENERICListOfNets
(
FILE
*
f
,
ObjetNetListStruct
*
ObjNet
);
static
void
AddPinToComponentPinList
(
EDA_SchComponentStruct
*
Component
,
static
void
AddPinToComponentPinList
(
EDA_SchComponentStruct
*
Component
,
DrawSheet
List
*
sheet
,
DrawSheet
Path
*
sheet
,
LibDrawPin
*
PinEntry
);
LibDrawPin
*
PinEntry
);
static
void
FindOthersUnits
(
EDA_SchComponentStruct
*
Component
,
DrawSheet
List
*
Sheet_in
);
static
void
FindOthersUnits
(
EDA_SchComponentStruct
*
Component
,
DrawSheet
Path
*
Sheet_in
);
static
int
SortPinsByNum
(
ObjetNetListStruct
**
Pin1
,
ObjetNetListStruct
**
Pin2
);
static
int
SortPinsByNum
(
ObjetNetListStruct
**
Pin1
,
ObjetNetListStruct
**
Pin2
);
static
void
EraseDuplicatePins
(
ObjetNetListStruct
**
TabPin
,
int
NbrPin
);
static
void
EraseDuplicatePins
(
ObjetNetListStruct
**
TabPin
,
int
NbrPin
);
...
@@ -93,7 +93,7 @@ void WriteNetList( WinEDA_SchematicFrame* frame, const wxString& FileNameNL,
...
@@ -93,7 +93,7 @@ void WriteNetList( WinEDA_SchematicFrame* frame, const wxString& FileNameNL,
/****************************************************************************/
/****************************************************************************/
static
EDA_SchComponentStruct
*
FindNextComponentAndCreatPinList
(
static
EDA_SchComponentStruct
*
FindNextComponentAndCreatPinList
(
EDA_BaseStruct
*
DrawList
,
DrawSheet
List
*
sheet
)
EDA_BaseStruct
*
DrawList
,
DrawSheet
Path
*
sheet
)
/****************************************************************************/
/****************************************************************************/
/* Find a "suitable" component from the DrawList
/* Find a "suitable" component from the DrawList
...
@@ -245,7 +245,7 @@ void Write_GENERIC_NetList( WinEDA_SchematicFrame* frame,
...
@@ -245,7 +245,7 @@ void Write_GENERIC_NetList( WinEDA_SchematicFrame* frame,
*/
*/
{
{
wxString
Line
,
FootprintName
;
wxString
Line
,
FootprintName
;
DrawSheet
List
*
sheet
;
DrawSheet
Path
*
sheet
;
EDA_BaseStruct
*
DrawList
;
EDA_BaseStruct
*
DrawList
;
EDA_SchComponentStruct
*
Component
;
EDA_SchComponentStruct
*
Component
;
wxString
netname
;
wxString
netname
;
...
@@ -392,7 +392,7 @@ static void WriteNetListPspice( WinEDA_SchematicFrame* frame, FILE* f,
...
@@ -392,7 +392,7 @@ static void WriteNetListPspice( WinEDA_SchematicFrame* frame, FILE* f,
*/
*/
{
{
char
Line
[
1024
];
char
Line
[
1024
];
DrawSheet
List
*
sheet
;
DrawSheet
Path
*
sheet
;
EDA_BaseStruct
*
DrawList
;
EDA_BaseStruct
*
DrawList
;
EDA_SchComponentStruct
*
Component
;
EDA_SchComponentStruct
*
Component
;
int
ii
,
nbitems
;
int
ii
,
nbitems
;
...
@@ -534,7 +534,7 @@ static void WriteNetListPCBNEW( WinEDA_SchematicFrame* frame, FILE* f, bool with
...
@@ -534,7 +534,7 @@ static void WriteNetListPCBNEW( WinEDA_SchematicFrame* frame, FILE* f, bool with
{
{
wxString
Line
,
FootprintName
;
wxString
Line
,
FootprintName
;
char
Buf
[
256
];
char
Buf
[
256
];
DrawSheet
List
*
sheet
;
DrawSheet
Path
*
sheet
;
EDA_BaseStruct
*
DrawList
;
EDA_BaseStruct
*
DrawList
;
EDA_SchComponentStruct
*
Component
;
EDA_SchComponentStruct
*
Component
;
int
ii
;
int
ii
;
...
@@ -676,7 +676,7 @@ static void WriteNetListPCBNEW( WinEDA_SchematicFrame* frame, FILE* f, bool with
...
@@ -676,7 +676,7 @@ static void WriteNetListPCBNEW( WinEDA_SchematicFrame* frame, FILE* f, bool with
/*************************************************************************************/
/*************************************************************************************/
static
void
AddPinToComponentPinList
(
EDA_SchComponentStruct
*
Component
,
static
void
AddPinToComponentPinList
(
EDA_SchComponentStruct
*
Component
,
DrawSheet
List
*
sheetlist
,
LibDrawPin
*
Pin
)
DrawSheet
Path
*
sheetlist
,
LibDrawPin
*
Pin
)
/*************************************************************************************/
/*************************************************************************************/
/* Add a new pin description in the pin list s_SortedComponentPinList
/* Add a new pin description in the pin list s_SortedComponentPinList
...
@@ -742,7 +742,7 @@ static void EraseDuplicatePins( ObjetNetListStruct** TabPin, int NbrPin )
...
@@ -742,7 +742,7 @@ static void EraseDuplicatePins( ObjetNetListStruct** TabPin, int NbrPin )
/**********************************************************************/
/**********************************************************************/
static
void
FindOthersUnits
(
EDA_SchComponentStruct
*
Component_in
,
DrawSheet
List
*
Sheet_in
)
static
void
FindOthersUnits
(
EDA_SchComponentStruct
*
Component_in
,
DrawSheet
Path
*
Sheet_in
)
/**********************************************************************/
/**********************************************************************/
/* Recherche les autres parts du boitier auquel appartient la part Component,
/* Recherche les autres parts du boitier auquel appartient la part Component,
...
@@ -754,7 +754,7 @@ static void FindOthersUnits( EDA_SchComponentStruct* Component_in, DrawSheetList
...
@@ -754,7 +754,7 @@ static void FindOthersUnits( EDA_SchComponentStruct* Component_in, DrawSheetList
EDA_SchComponentStruct
*
Component2
;
EDA_SchComponentStruct
*
Component2
;
EDA_LibComponentStruct
*
Entry
;
EDA_LibComponentStruct
*
Entry
;
LibEDA_BaseStruct
*
DEntry
;
LibEDA_BaseStruct
*
DEntry
;
DrawSheet
List
*
sheet
;
DrawSheet
Path
*
sheet
;
wxString
str
;
wxString
str
;
EDA_SheetList
SheetList
(
NULL
);
EDA_SheetList
SheetList
(
NULL
);
...
@@ -960,7 +960,7 @@ static void WriteNetListCADSTAR( WinEDA_SchematicFrame* frame, FILE* f )
...
@@ -960,7 +960,7 @@ static void WriteNetListCADSTAR( WinEDA_SchematicFrame* frame, FILE* f )
wxString
msg
;
wxString
msg
;
wxString
FootprintName
;
wxString
FootprintName
;
char
Line
[
1024
];
char
Line
[
1024
];
DrawSheet
List
*
sheet
;
DrawSheet
Path
*
sheet
;
EDA_BaseStruct
*
DrawList
;
EDA_BaseStruct
*
DrawList
;
EDA_SchComponentStruct
*
Component
;
EDA_SchComponentStruct
*
Component
;
wxString
Title
=
g_Main_Title
+
wxT
(
" "
)
+
GetBuildVersion
();
wxString
Title
=
g_Main_Title
+
wxT
(
" "
)
+
GetBuildVersion
();
...
...
eeschema/netlist.cpp
View file @
dd9497a1
...
@@ -20,7 +20,7 @@
...
@@ -20,7 +20,7 @@
static
void
PropageNetCode
(
int
OldNetCode
,
int
NewNetCode
,
int
IsBus
);
static
void
PropageNetCode
(
int
OldNetCode
,
int
NewNetCode
,
int
IsBus
);
static
void
SheetLabelConnect
(
ObjetNetListStruct
*
SheetLabel
);
static
void
SheetLabelConnect
(
ObjetNetListStruct
*
SheetLabel
);
static
int
ListeObjetConnection
(
WinEDA_SchematicFrame
*
frame
,
static
int
ListeObjetConnection
(
WinEDA_SchematicFrame
*
frame
,
DrawSheet
List
*
sheetlist
,
DrawSheet
Path
*
sheetlist
,
ObjetNetListStruct
*
ObjNet
);
ObjetNetListStruct
*
ObjNet
);
static
int
ConvertBusToMembers
(
ObjetNetListStruct
*
ObjNet
);
static
int
ConvertBusToMembers
(
ObjetNetListStruct
*
ObjNet
);
static
void
PointToPointConnect
(
ObjetNetListStruct
*
Ref
,
int
IsBus
,
static
void
PointToPointConnect
(
ObjetNetListStruct
*
Ref
,
int
IsBus
,
...
@@ -154,7 +154,7 @@ void* WinEDA_SchematicFrame::BuildNetListBase()
...
@@ -154,7 +154,7 @@ void* WinEDA_SchematicFrame::BuildNetListBase()
{
{
int
NetNumber
;
int
NetNumber
;
int
i
,
istart
,
NetCode
;
int
i
,
istart
,
NetCode
;
DrawSheet
List
*
sheet
;
DrawSheet
Path
*
sheet
;
wxString
msg
;
wxString
msg
;
wxBusyCursor
Busy
;
wxBusyCursor
Busy
;
...
@@ -435,7 +435,7 @@ static void SheetLabelConnect( ObjetNetListStruct* SheetLabel )
...
@@ -435,7 +435,7 @@ static void SheetLabelConnect( ObjetNetListStruct* SheetLabel )
/*****************************************************************************/
/*****************************************************************************/
static
int
ListeObjetConnection
(
WinEDA_SchematicFrame
*
frame
,
DrawSheet
List
*
sheetlist
,
static
int
ListeObjetConnection
(
WinEDA_SchematicFrame
*
frame
,
DrawSheet
Path
*
sheetlist
,
ObjetNetListStruct
*
ObjNet
)
ObjetNetListStruct
*
ObjNet
)
/*****************************************************************************/
/*****************************************************************************/
...
@@ -454,7 +454,7 @@ static int ListeObjetConnection( WinEDA_SchematicFrame* frame, DrawSheetList* sh
...
@@ -454,7 +454,7 @@ static int ListeObjetConnection( WinEDA_SchematicFrame* frame, DrawSheetList* sh
EDA_LibComponentStruct
*
Entry
;
EDA_LibComponentStruct
*
Entry
;
LibEDA_BaseStruct
*
DEntry
;
LibEDA_BaseStruct
*
DEntry
;
DrawSheetLabelStruct
*
SheetLabel
;
DrawSheetLabelStruct
*
SheetLabel
;
DrawSheet
List
list
;
DrawSheet
Path
list
;
DrawList
=
sheetlist
->
LastScreen
()
->
EEDrawList
;
DrawList
=
sheetlist
->
LastScreen
()
->
EEDrawList
;
for
(
;
DrawList
;
DrawList
=
DrawList
->
Pnext
)
for
(
;
DrawList
;
DrawList
=
DrawList
->
Pnext
)
...
...
eeschema/netlist.h
View file @
dd9497a1
...
@@ -66,7 +66,7 @@ public:
...
@@ -66,7 +66,7 @@ public:
void
*
m_Link
;
/* Pour SheetLabelStruct: Pointeur sur la feuille de hierarchie
void
*
m_Link
;
/* Pour SheetLabelStruct: Pointeur sur la feuille de hierarchie
* Pour les Pins: pointeur sur le composant */
* Pour les Pins: pointeur sur le composant */
int
m_Flag
;
/* flag pour calculs internes */
int
m_Flag
;
/* flag pour calculs internes */
DrawSheet
List
m_SheetList
;
DrawSheet
Path
m_SheetList
;
NetObjetType
m_Type
;
NetObjetType
m_Type
;
int
m_ElectricalType
;
/* Pour Pins et sheet labels: type electrique */
int
m_ElectricalType
;
/* Pour Pins et sheet labels: type electrique */
private
:
private
:
...
@@ -76,7 +76,7 @@ public:
...
@@ -76,7 +76,7 @@ public:
int
m_Member
;
/* pour les labels type BUSWIRE ( labels de bus eclate )
int
m_Member
;
/* pour les labels type BUSWIRE ( labels de bus eclate )
* numero de membre */
* numero de membre */
IsConnectType
m_FlagOfConnection
;
IsConnectType
m_FlagOfConnection
;
DrawSheet
List
m_SheetListInclude
;
/* sheet that the hierarchal label connects to.*/
DrawSheet
Path
m_SheetListInclude
;
/* sheet that the hierarchal label connects to.*/
long
m_PinNum
;
/* numero de pin( 4 octets -> 4 codes ascii) */
long
m_PinNum
;
/* numero de pin( 4 octets -> 4 codes ascii) */
const
wxString
*
m_Label
;
/* Tous types Labels:pointeur sur la wxString definissant le label */
const
wxString
*
m_Label
;
/* Tous types Labels:pointeur sur la wxString definissant le label */
wxPoint
m_Start
,
m_End
;
wxPoint
m_Start
,
m_End
;
...
@@ -102,7 +102,7 @@ typedef struct ListComponent
...
@@ -102,7 +102,7 @@ typedef struct ListComponent
EDA_SchComponentStruct
*
m_Comp
;
EDA_SchComponentStruct
*
m_Comp
;
char
m_Ref
[
32
];
char
m_Ref
[
32
];
//have to store it here since the object refrerences will be duplicated.
//have to store it here since the object refrerences will be duplicated.
DrawSheet
List
m_SheetList
;
//composed of UIDs
DrawSheet
Path
m_SheetList
;
//composed of UIDs
}
ListComponent
;
}
ListComponent
;
/* Structure decrivant 1 composant de la schematique (pour *annotation* ) */
/* Structure decrivant 1 composant de la schematique (pour *annotation* ) */
...
@@ -113,7 +113,7 @@ public:
...
@@ -113,7 +113,7 @@ public:
int
m_NbParts
;
/* Nombre de parts par boitier */
int
m_NbParts
;
/* Nombre de parts par boitier */
bool
m_PartsLocked
;
// For multi part components: True if the part cannot be changed
bool
m_PartsLocked
;
// For multi part components: True if the part cannot be changed
int
m_Unit
;
/* Numero de part */
int
m_Unit
;
/* Numero de part */
DrawSheet
List
m_SheetList
;
DrawSheet
Path
m_SheetList
;
unsigned
long
m_TimeStamp
;
/* unique identification number */
unsigned
long
m_TimeStamp
;
/* unique identification number */
int
m_IsNew
;
/* != 0 pour composants non annotes */
int
m_IsNew
;
/* != 0 pour composants non annotes */
char
m_TextValue
[
32
];
/* Valeur */
char
m_TextValue
[
32
];
/* Valeur */
...
...
eeschema/plot.cpp
View file @
dd9497a1
...
@@ -773,7 +773,7 @@ void PlotSheetStruct( DrawSheetStruct* Struct )
...
@@ -773,7 +773,7 @@ void PlotSheetStruct( DrawSheetStruct* Struct )
GR_TEXT_HJUSTIFY_LEFT
,
GR_TEXT_VJUSTIFY_BOTTOM
);
GR_TEXT_HJUSTIFY_LEFT
,
GR_TEXT_VJUSTIFY_BOTTOM
);
/* Trace des textes : FileName */
/* Trace des textes : FileName */
Text
=
Struct
->
m_FileName
;
Text
=
Struct
->
GetFileName
()
;
size
=
wxSize
(
Struct
->
m_FileNameSize
,
Struct
->
m_FileNameSize
);
size
=
wxSize
(
Struct
->
m_FileNameSize
,
Struct
->
m_FileNameSize
);
if
(
(
g_PlotFormat
==
PLOT_FORMAT_POST
)
&&
g_PlotPSColorOpt
)
if
(
(
g_PlotFormat
==
PLOT_FORMAT_POST
)
&&
g_PlotPSColorOpt
)
SetColorMapPS
(
ReturnLayerColor
(
LAYER_SHEETFILENAME
)
);
SetColorMapPS
(
ReturnLayerColor
(
LAYER_SHEETFILENAME
)
);
...
...
eeschema/save_schemas.cpp
View file @
dd9497a1
...
@@ -495,10 +495,10 @@ DrawSheetLabelStruct * SheetLabel;
...
@@ -495,10 +495,10 @@ DrawSheetLabelStruct * SheetLabel;
}
}
}
}
if
(
!
SheetStruct
->
m_FileName
.
IsEmpty
())
if
(
!
SheetStruct
->
GetFileName
()
.
IsEmpty
())
{
{
if
(
fprintf
(
f
,
"F1
\"
%s
\"
%d
\n
"
,
if
(
fprintf
(
f
,
"F1
\"
%s
\"
%d
\n
"
,
CONV_TO_UTF8
(
SheetStruct
->
m_FileName
),
CONV_TO_UTF8
(
SheetStruct
->
GetFileName
()
),
SheetStruct
->
m_FileNameSize
)
==
EOF
)
SheetStruct
->
m_FileNameSize
)
==
EOF
)
{
{
Failed
=
TRUE
;
return
(
Failed
);
Failed
=
TRUE
;
return
(
Failed
);
...
...
eeschema/schematic_undo_redo.cpp
View file @
dd9497a1
...
@@ -533,8 +533,11 @@ void SCH_SCREEN::ClearUndoORRedoList( EDA_BaseStruct* List )
...
@@ -533,8 +533,11 @@ void SCH_SCREEN::ClearUndoORRedoList( EDA_BaseStruct* List )
item
=
PickedList
->
m_PickedStruct
;
item
=
PickedList
->
m_PickedStruct
;
if
(
item
)
if
(
item
)
{
{
#if 0
if( item->Type() == DRAW_SHEET_STRUCT_TYPE )
if( item->Type() == DRAW_SHEET_STRUCT_TYPE )
{
{
printf(
"schematic undo_redo.cpp: undo_redo with a DRAW_SHEET_STRUCT_TYPE, checkme!!\n" );
DrawSheetStruct* sheet = (DrawSheetStruct*) item;
DrawSheetStruct* sheet = (DrawSheetStruct*) item;
/* Delete sub hierarchy if the sheet must be deleted */
/* Delete sub hierarchy if the sheet must be deleted */
if( (sheet->m_Flags & IS_DELETED) != 0 )
if( (sheet->m_Flags & IS_DELETED) != 0 )
...
@@ -544,8 +547,6 @@ void SCH_SCREEN::ClearUndoORRedoList( EDA_BaseStruct* List )
...
@@ -544,8 +547,6 @@ void SCH_SCREEN::ClearUndoORRedoList( EDA_BaseStruct* List )
{
{
if( (item->m_Flags & IS_NEW) == 0 )
if( (item->m_Flags & IS_NEW) == 0 )
{
{
printf
(
"schematic undo_redo.cpp: undo_redo with a DRAW_SHEET_STRUCT_TYPE, checkme!!
\n
"
);
/*
/*
* sheet->EEDrawList = NULL;
* sheet->EEDrawList = NULL;
...
@@ -555,6 +556,7 @@ void SCH_SCREEN::ClearUndoORRedoList( EDA_BaseStruct* List )
...
@@ -555,6 +556,7 @@ void SCH_SCREEN::ClearUndoORRedoList( EDA_BaseStruct* List )
}
}
}
}
}
}
#endif
if
(
(
item
->
m_Flags
&
IS_NEW
)
==
0
)
if
(
(
item
->
m_Flags
&
IS_NEW
)
==
0
)
{
{
SAFE_DELETE
(
item
);
SAFE_DELETE
(
item
);
...
@@ -578,6 +580,7 @@ void SCH_SCREEN::ClearUndoORRedoList( EDA_BaseStruct* List )
...
@@ -578,6 +580,7 @@ void SCH_SCREEN::ClearUndoORRedoList( EDA_BaseStruct* List )
}
}
else
else
{
{
#if 0
if( FirstItem->Type() == DRAW_SHEET_STRUCT_TYPE )
if( FirstItem->Type() == DRAW_SHEET_STRUCT_TYPE )
{
{
DrawSheetStruct* sheet = (DrawSheetStruct*) FirstItem;
DrawSheetStruct* sheet = (DrawSheetStruct*) FirstItem;
...
@@ -599,6 +602,7 @@ void SCH_SCREEN::ClearUndoORRedoList( EDA_BaseStruct* List )
...
@@ -599,6 +602,7 @@ void SCH_SCREEN::ClearUndoORRedoList( EDA_BaseStruct* List )
}
}
}
}
}
}
#endif
if
(
(
FirstItem
->
m_Flags
&
IS_NEW
)
==
0
)
if
(
(
FirstItem
->
m_Flags
&
IS_NEW
)
==
0
)
{
{
SAFE_DELETE
(
FirstItem
);
SAFE_DELETE
(
FirstItem
);
...
...
eeschema/schframe.cpp
View file @
dd9497a1
...
@@ -140,7 +140,7 @@ WinEDA_SchematicFrame::WinEDA_SchematicFrame( wxWindow* father,
...
@@ -140,7 +140,7 @@ WinEDA_SchematicFrame::WinEDA_SchematicFrame( wxWindow* father,
m_Draw_Axis
=
FALSE
;
// TRUE to show axis
m_Draw_Axis
=
FALSE
;
// TRUE to show axis
m_Draw_Grid
=
g_ShowGrid
;
// TRUE to show a grid
m_Draw_Grid
=
g_ShowGrid
;
// TRUE to show a grid
m_Draw_Sheet_Ref
=
TRUE
;
// TRUE to show sheet references
m_Draw_Sheet_Ref
=
TRUE
;
// TRUE to show sheet references
m_CurrentSheet
=
new
DrawSheet
List
();
m_CurrentSheet
=
new
DrawSheet
Path
();
CreateScreens
();
CreateScreens
();
...
@@ -179,7 +179,7 @@ WinEDA_SchematicFrame::~WinEDA_SchematicFrame()
...
@@ -179,7 +179,7 @@ WinEDA_SchematicFrame::~WinEDA_SchematicFrame()
{
{
m_Parent
->
m_SchematicFrame
=
NULL
;
m_Parent
->
m_SchematicFrame
=
NULL
;
SAFE_DELETE
(
g_RootSheet
);
SAFE_DELETE
(
g_RootSheet
);
SAFE_DELETE
(
m_CurrentSheet
);
//a DrawSheet
List
, on the heap.
SAFE_DELETE
(
m_CurrentSheet
);
//a DrawSheet
Path
, on the heap.
m_CurrentSheet
=
NULL
;
m_CurrentSheet
=
NULL
;
}
}
...
@@ -187,7 +187,7 @@ WinEDA_SchematicFrame::~WinEDA_SchematicFrame()
...
@@ -187,7 +187,7 @@ WinEDA_SchematicFrame::~WinEDA_SchematicFrame()
/***************/
/***************/
/* utility functions */
/* utility functions */
/***************/
/***************/
DrawSheet
List
*
WinEDA_SchematicFrame
::
GetSheet
()
DrawSheet
Path
*
WinEDA_SchematicFrame
::
GetSheet
()
{
{
return
m_CurrentSheet
;
return
m_CurrentSheet
;
}
}
...
@@ -205,7 +205,7 @@ void WinEDA_SchematicFrame::SetScreen( SCH_SCREEN* screen )
...
@@ -205,7 +205,7 @@ void WinEDA_SchematicFrame::SetScreen( SCH_SCREEN* screen )
//there is ambiguity in this function (there may be several
//there is ambiguity in this function (there may be several
//instances of a given sheet, but irregardless it is useful
//instances of a given sheet, but irregardless it is useful
//for printing etc.
//for printing etc.
DrawSheet
List
sheetlist
;
DrawSheet
Path
sheetlist
;
if
(
g_RootSheet
->
LocatePathOfScreen
(
screen
,
&
sheetlist
)
)
if
(
g_RootSheet
->
LocatePathOfScreen
(
screen
,
&
sheetlist
)
)
{
{
...
@@ -250,7 +250,7 @@ void WinEDA_SchematicFrame::CreateScreens()
...
@@ -250,7 +250,7 @@ void WinEDA_SchematicFrame::CreateScreens()
/**************************************************************/
/**************************************************************/
void
WinEDA_SchematicFrame
::
OnCloseWindow
(
wxCloseEvent
&
Event
)
void
WinEDA_SchematicFrame
::
OnCloseWindow
(
wxCloseEvent
&
Event
)
{
{
DrawSheet
List
*
sheet
;
DrawSheet
Path
*
sheet
;
if
(
m_Parent
->
m_LibeditFrame
)
// Can close component editor ?
if
(
m_Parent
->
m_LibeditFrame
)
// Can close component editor ?
{
{
...
...
eeschema/schframe.h
View file @
dd9497a1
...
@@ -16,7 +16,7 @@ class WinEDA_SchematicFrame : public WinEDA_DrawFrame
...
@@ -16,7 +16,7 @@ class WinEDA_SchematicFrame : public WinEDA_DrawFrame
{
{
public
:
public
:
WinEDAChoiceBox
*
m_SelPartBox
;
WinEDAChoiceBox
*
m_SelPartBox
;
DrawSheet
List
*
m_CurrentSheet
;
//which sheet we are presently working on.
DrawSheet
Path
*
m_CurrentSheet
;
//which sheet we are presently working on.
private
:
private
:
wxMenu
*
m_FilesMenu
;
wxMenu
*
m_FilesMenu
;
...
@@ -45,7 +45,7 @@ public:
...
@@ -45,7 +45,7 @@ public:
int
hotkey
,
int
hotkey
,
EDA_BaseStruct
*
DrawStruct
);
EDA_BaseStruct
*
DrawStruct
);
DrawSheet
List
*
GetSheet
();
DrawSheet
Path
*
GetSheet
();
virtual
BASE_SCREEN
*
GetScreen
();
virtual
BASE_SCREEN
*
GetScreen
();
virtual
void
SetScreen
(
SCH_SCREEN
*
screen
);
virtual
void
SetScreen
(
SCH_SCREEN
*
screen
);
virtual
wxString
GetScreenDesc
();
virtual
wxString
GetScreenDesc
();
...
@@ -168,6 +168,11 @@ private:
...
@@ -168,6 +168,11 @@ private:
public
:
public
:
bool
EditSheet
(
DrawSheetStruct
*
Sheet
,
wxDC
*
DC
);
bool
EditSheet
(
DrawSheetStruct
*
Sheet
,
wxDC
*
DC
);
/** Function UpdateSheetNumberAndDate
* Set a sheet number, the sheet count for sheets in the whole schematic
* and update the date in all screens
*/
void
UpdateSheetNumberAndDate
();
private
:
private
:
void
StartMoveSheet
(
DrawSheetStruct
*
sheet
,
wxDC
*
DC
);
void
StartMoveSheet
(
DrawSheetStruct
*
sheet
,
wxDC
*
DC
);
...
...
eeschema/sheet.cpp
View file @
dd9497a1
...
@@ -68,9 +68,9 @@ IMPLEMENT_DYNAMIC_CLASS( WinEDA_SheetPropertiesFrame, wxDialog )
...
@@ -68,9 +68,9 @@ IMPLEMENT_DYNAMIC_CLASS( WinEDA_SheetPropertiesFrame, wxDialog )
BEGIN_EVENT_TABLE
(
WinEDA_SheetPropertiesFrame
,
wxDialog
)
BEGIN_EVENT_TABLE
(
WinEDA_SheetPropertiesFrame
,
wxDialog
)
////@begin WinEDA_SheetPropertiesFrame event table entries
////@begin WinEDA_SheetPropertiesFrame event table entries
EVT_BUTTON
(
wxID_CANCEL
,
WinEDA_SheetPropertiesFrame
::
OnCancelClick
)
EVT_BUTTON
(
wxID_CANCEL
,
WinEDA_SheetPropertiesFrame
::
OnCancelClick
)
EVT_BUTTON
(
wxID_OK
,
WinEDA_SheetPropertiesFrame
::
OnOkClick
)
EVT_BUTTON
(
wxID_OK
,
WinEDA_SheetPropertiesFrame
::
OnOkClick
)
////@end WinEDA_SheetPropertiesFrame event table entries
////@end WinEDA_SheetPropertiesFrame event table entries
...
@@ -121,18 +121,18 @@ bool WinEDA_SheetPropertiesFrame::Create( wxWindow* parent, wxWindowID id, const
...
@@ -121,18 +121,18 @@ bool WinEDA_SheetPropertiesFrame::Create( wxWindow* parent, wxWindowID id, const
m_FileNameSize
=
NULL
;
m_FileNameSize
=
NULL
;
m_SheetNameTextSize
=
NULL
;
m_SheetNameTextSize
=
NULL
;
m_SheetNameSize
=
NULL
;
m_SheetNameSize
=
NULL
;
////@end WinEDA_SheetPropertiesFrame member initialisation
////@end WinEDA_SheetPropertiesFrame member initialisation
////@begin WinEDA_SheetPropertiesFrame creation
////@begin WinEDA_SheetPropertiesFrame creation
SetExtraStyle
(
GetExtraStyle
()
|
wxWS_EX_BLOCK_EVENTS
);
SetExtraStyle
(
wxWS_EX_BLOCK_EVENTS
);
wxDialog
::
Create
(
parent
,
id
,
caption
,
pos
,
size
,
style
);
wxDialog
::
Create
(
parent
,
id
,
caption
,
pos
,
size
,
style
);
CreateControls
();
CreateControls
();
GetSizer
()
->
Fit
(
this
);
if
(
GetSizer
())
GetSizer
()
->
SetSizeHints
(
this
);
{
GetSizer
()
->
SetSizeHints
(
this
);
}
Centre
();
Centre
();
////@end WinEDA_SheetPropertiesFrame creation
////@end WinEDA_SheetPropertiesFrame creation
return
true
;
return
true
;
}
}
...
@@ -147,89 +147,64 @@ void WinEDA_SheetPropertiesFrame::CreateControls()
...
@@ -147,89 +147,64 @@ void WinEDA_SheetPropertiesFrame::CreateControls()
SetFont
(
*
g_DialogFont
);
SetFont
(
*
g_DialogFont
);
////@begin WinEDA_SheetPropertiesFrame content construction
////@begin WinEDA_SheetPropertiesFrame content construction
// Generated by DialogBlocks, 2
7/02/2006 14:12:10
(unregistered)
// Generated by DialogBlocks, 2
8/02/2008 18:15:56
(unregistered)
WinEDA_SheetPropertiesFrame
*
itemDialog1
=
this
;
WinEDA_SheetPropertiesFrame
*
itemDialog1
=
this
;
wxBoxSizer
*
itemBoxSizer2
=
new
wxBoxSizer
(
wxVERTICAL
);
wxBoxSizer
*
itemBoxSizer2
=
new
wxBoxSizer
(
wxVERTICAL
);
itemDialog1
->
SetSizer
(
itemBoxSizer2
);
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 (will be created upon save if it does not already exist):"
),
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
,
0
,
wxALIGN_CENTER_HORIZONTAL
|
wxALL
,
5
);
wxBoxSizer
*
itemBoxSizer15
=
new
wxBoxSizer
(
wxHORIZONTAL
);
itemBoxSizer2
->
Add
(
itemBoxSizer15
,
0
,
wxALIGN_CENTER_HORIZONTAL
|
wxALL
,
5
);
wxButton
*
itemButton16
=
new
wxButton
(
itemDialog1
,
wxID_CANCEL
,
_
(
"&Cancel"
),
wxDefaultPosition
,
wxDefaultSize
,
0
);
itemButton16
->
SetForegroundColour
(
wxColour
(
0
,
0
,
255
)
);
itemBoxSizer15
->
Add
(
itemButton16
,
0
,
wxALIGN_CENTER_VERTICAL
|
wxALL
,
5
);
wxButton
*
itemButton17
=
new
wxButton
(
itemDialog1
,
wxID_OK
,
_
(
"&OK"
),
wxDefaultPosition
,
wxDefaultSize
,
0
);
itemButton17
->
SetForegroundColour
(
wxColour
(
196
,
0
,
0
)
);
itemBoxSizer15
->
Add
(
itemButton17
,
0
,
wxALIGN_CENTER_VERTICAL
|
wxALL
,
5
);
// Set validators
wxBoxSizer
*
itemBoxSizer3
=
new
wxBoxSizer
(
wxHORIZONTAL
);
m_FileNameWin
->
SetValidator
(
wxTextValidator
(
wxFILTER_NONE
,
&
m_CurrentSheet
->
m_FileName
)
);
itemBoxSizer2
->
Add
(
itemBoxSizer3
,
0
,
wxGROW
|
wxALL
,
5
);
m_SheetNameWin
->
SetValidator
(
wxTextValidator
(
wxFILTER_NONE
,
&
m_CurrentSheet
->
m_SheetName
)
);
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
);
wxButton
*
itemButton16
=
new
wxButton
(
itemDialog1
,
wxID_CANCEL
,
_
(
"&Cancel"
),
wxDefaultPosition
,
wxDefaultSize
,
0
);
itemButton16
->
SetForegroundColour
(
wxColour
(
0
,
0
,
255
));
itemBoxSizer15
->
Add
(
itemButton16
,
0
,
wxALIGN_CENTER_VERTICAL
|
wxALL
,
5
);
wxButton
*
itemButton17
=
new
wxButton
(
itemDialog1
,
wxID_OK
,
_
(
"&OK"
),
wxDefaultPosition
,
wxDefaultSize
,
0
);
itemButton17
->
SetForegroundColour
(
wxColour
(
196
,
0
,
0
));
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
////@end WinEDA_SheetPropertiesFrame content construction
m_FileNameWin
->
SetValue
(
m_CurrentSheet
->
GetFileName
());
}
}
...
@@ -251,9 +226,8 @@ wxBitmap WinEDA_SheetPropertiesFrame::GetBitmapResource( const wxString& name )
...
@@ -251,9 +226,8 @@ wxBitmap WinEDA_SheetPropertiesFrame::GetBitmapResource( const wxString& name )
{
{
// Bitmap retrieval
// Bitmap retrieval
////@begin WinEDA_SheetPropertiesFrame bitmap retrieval
////@begin WinEDA_SheetPropertiesFrame bitmap retrieval
wxUnusedVar
(
name
);
wxUnusedVar
(
name
);
return
wxNullBitmap
;
return
wxNullBitmap
;
////@end WinEDA_SheetPropertiesFrame bitmap retrieval
////@end WinEDA_SheetPropertiesFrame bitmap retrieval
}
}
...
@@ -266,9 +240,8 @@ wxIcon WinEDA_SheetPropertiesFrame::GetIconResource( const wxString& name )
...
@@ -266,9 +240,8 @@ wxIcon WinEDA_SheetPropertiesFrame::GetIconResource( const wxString& name )
{
{
// Icon retrieval
// Icon retrieval
////@begin WinEDA_SheetPropertiesFrame icon retrieval
////@begin WinEDA_SheetPropertiesFrame icon retrieval
wxUnusedVar
(
name
);
wxUnusedVar
(
name
);
return
wxNullIcon
;
return
wxNullIcon
;
////@end WinEDA_SheetPropertiesFrame icon retrieval
////@end WinEDA_SheetPropertiesFrame icon retrieval
}
}
...
@@ -291,9 +264,9 @@ void WinEDA_SheetPropertiesFrame::SheetPropertiesAccept( wxCommandEvent& event )
...
@@ -291,9 +264,9 @@ void WinEDA_SheetPropertiesFrame::SheetPropertiesAccept( wxCommandEvent& event )
ChangeFileNameExt
(
FileName
,
g_SchExtBuffer
);
ChangeFileNameExt
(
FileName
,
g_SchExtBuffer
);
if
(
m_CurrentSheet
->
m_FileName
!=
FileName
)
if
(
m_CurrentSheet
->
GetFileName
()
!=
FileName
)
{
{
m_CurrentSheet
->
m_FileName
=
FileName
;
m_CurrentSheet
->
SetFileName
(
FileName
)
;
if
(
wxFileExists
(
FileName
)
)
//do we reload the data from the existing file
if
(
wxFileExists
(
FileName
)
)
//do we reload the data from the existing file
{
{
...
@@ -336,7 +309,9 @@ void WinEDA_SheetPropertiesFrame::SheetPropertiesAccept( wxCommandEvent& event )
...
@@ -336,7 +309,9 @@ void WinEDA_SheetPropertiesFrame::SheetPropertiesAccept( wxCommandEvent& event )
msg
,
m_Parent
->
m_InternalUnits
);
msg
,
m_Parent
->
m_InternalUnits
);
if
(
(
m_CurrentSheet
->
m_SheetName
.
IsEmpty
()
)
)
if
(
(
m_CurrentSheet
->
m_SheetName
.
IsEmpty
()
)
)
m_CurrentSheet
->
m_SheetName
=
m_CurrentSheet
->
m_FileName
;
{
m_CurrentSheet
->
m_SheetName
.
Printf
(
wxT
(
"Sheet%8.8lX"
),
GetTimeStamp
()
);
}
EndModal
(
TRUE
);
EndModal
(
TRUE
);
...
...
eeschema/sheet.h
View file @
dd9497a1
...
@@ -39,15 +39,15 @@
...
@@ -39,15 +39,15 @@
////@begin control identifiers
////@begin control identifiers
#define ID_DIALOG 10000
#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_STYLE wxCAPTION|wxSYSTEM_MENU|wxCLOSE_BOX|MAYBE_RESIZE_BORDER
#define SYMBOL_WINEDA_SHEETPROPERTIESFRAME_TITLE _("Sheet properties")
#define SYMBOL_WINEDA_SHEETPROPERTIESFRAME_TITLE _("Sheet properties")
#define SYMBOL_WINEDA_SHEETPROPERTIESFRAME_IDNAME ID_DIALOG
#define SYMBOL_WINEDA_SHEETPROPERTIESFRAME_IDNAME ID_DIALOG
#define SYMBOL_WINEDA_SHEETPROPERTIESFRAME_SIZE wxSize(400, 300)
#define SYMBOL_WINEDA_SHEETPROPERTIESFRAME_SIZE wxSize(400, 300)
#define SYMBOL_WINEDA_SHEETPROPERTIESFRAME_POSITION wxDefaultPosition
#define SYMBOL_WINEDA_SHEETPROPERTIESFRAME_POSITION wxDefaultPosition
#define ID_TEXTCTRL1 10002
#define ID_TEXTCTRL 10001
#define ID_TEXTCTRL2 10003
#define ID_TEXTCTRL3 10004
////@end control identifiers
////@end control identifiers
/*!
/*!
...
...
eeschema/sheet.pjd
View file @
dd9497a1
This diff is collapsed.
Click to expand it.
include/wxstruct.h
View file @
dd9497a1
...
@@ -75,7 +75,7 @@ class DrawGlobalLabelStruct;
...
@@ -75,7 +75,7 @@ class DrawGlobalLabelStruct;
class
DrawTextStruct
;
class
DrawTextStruct
;
class
EDA_DrawLineStruct
;
class
EDA_DrawLineStruct
;
class
DrawSheetStruct
;
class
DrawSheetStruct
;
class
DrawSheet
List
;
class
DrawSheet
Path
;
class
DrawSheetLabelStruct
;
class
DrawSheetLabelStruct
;
class
EDA_SchComponentStruct
;
class
EDA_SchComponentStruct
;
class
LibDrawField
;
class
LibDrawField
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment