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
c406eed1
Commit
c406eed1
authored
Mar 20, 2008
by
dickelbeck
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
class name changes, XOR artifacts
parent
bd77c9f2
Changes
52
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
52 changed files
with
2798 additions
and
2726 deletions
+2798
-2726
change_log.txt
change_log.txt
+21
-0
base_struct.cpp
common/base_struct.cpp
+39
-3
affiche.cpp
eeschema/affiche.cpp
+2
-2
annotate.cpp
eeschema/annotate.cpp
+7
-7
block.cpp
eeschema/block.cpp
+105
-107
bus-wire-junction.cpp
eeschema/bus-wire-junction.cpp
+26
-26
class_drawsheet.cpp
eeschema/class_drawsheet.cpp
+75
-75
class_screen.cpp
eeschema/class_screen.cpp
+5
-5
class_text-label.cpp
eeschema/class_text-label.cpp
+36
-36
class_text-label.h
eeschema/class_text-label.h
+22
-22
cleanup.cpp
eeschema/cleanup.cpp
+5
-5
cmpclass.cpp
eeschema/cmpclass.cpp
+1
-1
component_class.cpp
eeschema/component_class.cpp
+26
-43
component_class.h
eeschema/component_class.h
+15
-29
controle.cpp
eeschema/controle.cpp
+7
-7
cross-probing.cpp
eeschema/cross-probing.cpp
+3
-3
dangling_ends.cpp
eeschema/dangling_ends.cpp
+16
-16
delete.cpp
eeschema/delete.cpp
+2
-2
dialog_build_BOM.cpp
eeschema/dialog_build_BOM.cpp
+25
-25
dialog_build_BOM.h
eeschema/dialog_build_BOM.h
+20
-20
dialog_edit_component_in_schematic.cpp
eeschema/dialog_edit_component_in_schematic.cpp
+23
-23
dialog_edit_component_in_schematic.h
eeschema/dialog_edit_component_in_schematic.h
+30
-30
dialog_edit_label.cpp
eeschema/dialog_edit_label.cpp
+41
-41
dialog_edit_label.h
eeschema/dialog_edit_label.h
+11
-11
edit_component_in_schematic.cpp
eeschema/edit_component_in_schematic.cpp
+65
-65
edit_label.cpp
eeschema/edit_label.cpp
+52
-52
eecreate.cpp
eeschema/eecreate.cpp
+10
-10
eelibs_draw_components.cpp
eeschema/eelibs_draw_components.cpp
+20
-20
eeredraw.cpp
eeschema/eeredraw.cpp
+11
-11
files-io.cpp
eeschema/files-io.cpp
+159
-159
find.cpp
eeschema/find.cpp
+16
-16
getpart.cpp
eeschema/getpart.cpp
+13
-11
hotkeys.cpp
eeschema/hotkeys.cpp
+86
-86
load_one_schematic_file.cpp
eeschema/load_one_schematic_file.cpp
+102
-102
locate.cpp
eeschema/locate.cpp
+51
-51
netform.cpp
eeschema/netform.cpp
+112
-112
netlist.cpp
eeschema/netlist.cpp
+137
-137
netlist.h
eeschema/netlist.h
+13
-13
onleftclick.cpp
eeschema/onleftclick.cpp
+12
-12
onrightclick.cpp
eeschema/onrightclick.cpp
+41
-41
plot.cpp
eeschema/plot.cpp
+41
-41
plothpgl.cpp
eeschema/plothpgl.cpp
+262
-262
plotps.cpp
eeschema/plotps.cpp
+203
-203
protos.h
eeschema/protos.h
+193
-193
save_schemas.cpp
eeschema/save_schemas.cpp
+486
-486
schedit.cpp
eeschema/schedit.cpp
+38
-38
schematic_undo_redo.cpp
eeschema/schematic_undo_redo.cpp
+9
-9
schframe.h
eeschema/schframe.h
+18
-18
sheetlab.cpp
eeschema/sheetlab.cpp
+5
-5
base_struct.h
include/base_struct.h
+68
-22
wxstruct.h
include/wxstruct.h
+11
-11
specctra.h
pcbnew/specctra.h
+1
-1
No files found.
change_log.txt
View file @
c406eed1
...
...
@@ -5,6 +5,27 @@ Started 2007-June-11
Please add newer entries at the top, list the date and your name with
email address.
2008-Mar-19 UPDATE Dick Hollenbeck <dick@softplc.com>
================================================================================
+eeschema
Renamed some classes and their corresponding KICAD_T types so they are both
simpler, shorter and more closely match each other: the type and the classname.
Wedged a class SCH_ITEM underneath most eeschema drawable items, and this
class came from DrawPartStruct which was largely disfunctional. Eeschema
now more closely matches what we have in pcbnew with the BOARD_ITEM base class.
The corresponding class in eeschema is now SCH_ITEM. Put in some of Jonas'
patch for the dragging of a block. Needs testing, especially dragging
text since there is no GetBoundingBox() for that yet. As an interrim solution
we could make SCH_ITEM::GetBoundingBox() return a HUGE rectangle so that any class
not implementing GetBoundingBox() in eeschema will get properly re-drawn,
in theory.
We are currently using XORing for dragging a single object and using full
redraws for dragging a block. I suppose this can be an experiment for a
week or so. I would not expect that dragging a block of labels with no
other object to work currently.
2008-Mar-19 UPDATE Igor Plyatov <plyatov@mail.ru>
================================================================================
* Support for Gnome/KDE menu added.
...
...
common/base_struct.cpp
View file @
c406eed1
...
...
@@ -805,8 +805,9 @@ EDA_Rect& EDA_Rect::Inflate( wxCoord dx, wxCoord dy )
}
/** Function Merge
* Modify Position and Size of this in order to contain the given rect
/**
* Function Merge
* modifies Position and Size of this in order to contain the given rect
* mainly used to calculate bounding boxes
* @param aRect = given rect to merge with this
*/
...
...
@@ -840,7 +841,7 @@ void EDA_Rect::Merge( const EDA_Rect& aRect )
/*******************************************************************/
DrawPickedStruct
::
DrawPickedStruct
(
EDA_BaseStruct
*
pickedstruct
)
:
EDA_BaseStruct
(
DRAW_PICK_ITEM_STRUCT_TYPE
)
SCH_ITEM
(
NULL
,
DRAW_PICK_ITEM_STRUCT_TYPE
)
/*******************************************************************/
{
m_PickedStruct
=
pickedstruct
;
...
...
@@ -851,6 +852,41 @@ DrawPickedStruct::~DrawPickedStruct()
{
}
#if defined(DEBUG)
void
DrawPickedStruct
::
Show
(
int
nestLevel
,
std
::
ostream
&
os
)
{
NestedSpace
(
nestLevel
,
os
)
<<
'<'
<<
GetClass
().
Lower
().
mb_str
()
<<
"/>
\n
"
;
}
#endif
EDA_Rect
DrawPickedStruct
::
GetBoundingBox
()
{
if
(
m_PickedStruct
)
return
m_PickedStruct
->
GetBoundingBox
();
else
{
return
EDA_Rect
();
// empty rectangle
}
}
EDA_Rect
DrawPickedStruct
::
GetBoundingBoxUnion
()
{
EDA_Rect
ret
;
DrawPickedStruct
*
cur
=
this
;
EDA_BaseStruct
*
item
;
while
(
cur
&&
(
item
=
cur
->
m_PickedStruct
)
!=
NULL
)
{
ret
.
Merge
(
item
->
GetBoundingBox
()
);
cur
=
cur
->
Next
();
}
return
ret
;
}
/*********************************************/
void
DrawPickedStruct
::
DeleteWrapperList
()
...
...
eeschema/affiche.cpp
View file @
c406eed1
...
...
@@ -27,7 +27,7 @@ void DrawSheetStruct::Display_Infos( WinEDA_DrawFrame* frame )
/***************************************************************/
void
EDA_SchComponentStruct
::
Display_Infos
(
WinEDA_DrawFrame
*
frame
)
void
SCH_COMPONENT
::
Display_Infos
(
WinEDA_DrawFrame
*
frame
)
/***************************************************************/
{
EDA_LibComponentStruct
*
Entry
=
FindLibPart
(
m_ChipName
.
GetData
(),
wxEmptyString
,
FIND_ROOT
);;
...
...
eeschema/annotate.cpp
View file @
c406eed1
...
...
@@ -90,10 +90,10 @@ void ReAnnotatePowerSymbolsOnly( void )
EDA_BaseStruct
*
DrawList
=
sheet
->
LastDrawList
();
for
(
;
DrawList
!=
NULL
;
DrawList
=
DrawList
->
Pnext
)
{
if
(
DrawList
->
Type
()
!=
DRAW_LIB_ITEM_STRUCT_TYPE
)
if
(
DrawList
->
Type
()
!=
TYPE_SCH_COMPONENT
)
continue
;
EDA_SchComponentStruct
*
DrawLibItem
=
(
EDA_SchComponentStruct
*
)
DrawList
;
SCH_COMPONENT
*
DrawLibItem
=
(
SCH_COMPONENT
*
)
DrawList
;
EDA_LibComponentStruct
*
Entry
=
FindLibPart
(
DrawLibItem
->
m_ChipName
.
GetData
(),
wxEmptyString
,
...
...
@@ -303,14 +303,14 @@ int ListeComposants( CmpListStruct* BaseListeCmp, DrawSheetPath* sheet )
{
int
NbrCmp
=
0
;
EDA_BaseStruct
*
DrawList
=
sheet
->
LastDrawList
();
EDA_SchComponentStruct
*
DrawLibItem
;
SCH_COMPONENT
*
DrawLibItem
;
EDA_LibComponentStruct
*
Entry
;
for
(
;
DrawList
;
DrawList
=
DrawList
->
Pnext
)
{
if
(
DrawList
->
Type
()
==
DRAW_LIB_ITEM_STRUCT_TYPE
)
if
(
DrawList
->
Type
()
==
TYPE_SCH_COMPONENT
)
{
DrawLibItem
=
(
EDA_SchComponentStruct
*
)
DrawList
;
DrawLibItem
=
(
SCH_COMPONENT
*
)
DrawList
;
Entry
=
FindLibPart
(
DrawLibItem
->
m_ChipName
.
GetData
(),
wxEmptyString
,
FIND_ROOT
);
...
...
@@ -361,7 +361,7 @@ static void ReAnnotateComponents( CmpListStruct* BaseListeCmp, int NbOfCmp )
{
int
ii
;
char
*
Text
;
EDA_SchComponentStruct
*
DrawLibItem
;
SCH_COMPONENT
*
DrawLibItem
;
/* Reattribution des numeros */
for
(
ii
=
0
;
ii
<
NbOfCmp
;
ii
++
)
...
...
eeschema/block.cpp
View file @
c406eed1
This diff is collapsed.
Click to expand it.
eeschema/bus-wire-junction.cpp
View file @
c406eed1
...
...
@@ -642,9 +642,9 @@ void WinEDA_SchematicFrame::RepeatDrawItem( wxDC* DC )
new_pos
=
STRUCT
->
m_Pos
;
break
;
case
DRAW_TEXT_STRUCT_TYPE
:
case
TYPE_SCH_TEXT
:
#undef STRUCT
#define STRUCT ( (
DrawTextStruct
*) g_ItemToRepeat )
#define STRUCT ( (
SCH_TEXT
*) g_ItemToRepeat )
g_ItemToRepeat
=
STRUCT
->
GenCopy
();
STRUCT
->
m_Pos
+=
g_RepeatStep
;
new_pos
=
STRUCT
->
m_Pos
;
...
...
@@ -653,9 +653,9 @@ void WinEDA_SchematicFrame::RepeatDrawItem( wxDC* DC )
break
;
case
DRAW_LABEL_STRUCT_TYPE
:
case
TYPE_SCH_LABEL
:
#undef STRUCT
#define STRUCT ( (
DrawLabelStruct
*) g_ItemToRepeat )
#define STRUCT ( (
SCH_LABEL
*) g_ItemToRepeat )
g_ItemToRepeat
=
STRUCT
->
GenCopy
();
STRUCT
->
m_Pos
+=
g_RepeatStep
;
new_pos
=
STRUCT
->
m_Pos
;
...
...
@@ -664,9 +664,9 @@ void WinEDA_SchematicFrame::RepeatDrawItem( wxDC* DC )
break
;
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
TYPE_SCH_HIERLABEL
:
#undef STRUCT
#define STRUCT ( (
DrawHierLabelStruct
*) g_ItemToRepeat )
#define STRUCT ( (
SCH_HIERLABEL
*) g_ItemToRepeat )
g_ItemToRepeat
=
STRUCT
->
GenCopy
();
STRUCT
->
m_Pos
+=
g_RepeatStep
;
new_pos
=
STRUCT
->
m_Pos
;
...
...
@@ -674,9 +674,9 @@ void WinEDA_SchematicFrame::RepeatDrawItem( wxDC* DC )
IncrementLabelMember
(
STRUCT
->
m_Text
);
break
;
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
TYPE_SCH_GLOBALLABEL
:
#undef STRUCT
#define STRUCT ( (
DrawGlobalLabelStruct
*) g_ItemToRepeat )
#define STRUCT ( (
SCH_GLOBALLABEL
*) g_ItemToRepeat )
g_ItemToRepeat
=
STRUCT
->
GenCopy
();
STRUCT
->
m_Pos
+=
g_RepeatStep
;
new_pos
=
STRUCT
->
m_Pos
;
...
...
@@ -701,9 +701,9 @@ void WinEDA_SchematicFrame::RepeatDrawItem( wxDC* DC )
new_pos
=
STRUCT
->
m_Pos
;
break
;
case
DRAW_LIB_ITEM_STRUCT_TYPE
:
// In repeat command the new component is put in move mode
case
TYPE_SCH_COMPONENT
:
// In repeat command the new component is put in move mode
#undef STRUCT
#define STRUCT ( (
EDA_SchComponentStruct
*) g_ItemToRepeat )
#define STRUCT ( (
SCH_COMPONENT
*) g_ItemToRepeat )
// Create the duplicate component, position = mouse cursor
g_ItemToRepeat
=
STRUCT
->
GenCopy
();
...
...
@@ -790,7 +790,7 @@ static bool IsTerminalPoint( SCH_SCREEN* screen, const wxPoint& pos, int layer )
{
EDA_BaseStruct
*
item
;
LibDrawPin
*
pin
;
EDA_SchComponentStruct
*
LibItem
=
NULL
;
SCH_COMPONENT
*
LibItem
=
NULL
;
DrawSheetLabelStruct
*
pinsheet
;
wxPoint
itempos
;
...
...
@@ -837,9 +837,9 @@ static bool IsTerminalPoint( SCH_SCREEN* screen, const wxPoint& pos, int layer )
return
TRUE
;
item
=
PickStruct
(
pos
,
screen
,
LABELITEM
);
if
(
item
&&
(
item
->
Type
()
!=
DRAW_TEXT_STRUCT_TYPE
)
&&
(
(
(
DrawGlobalLabelStruct
*
)
item
)
->
m_Pos
.
x
==
pos
.
x
)
&&
(
(
(
DrawGlobalLabelStruct
*
)
item
)
->
m_Pos
.
y
==
pos
.
y
)
)
if
(
item
&&
(
item
->
Type
()
!=
TYPE_SCH_TEXT
)
&&
(
(
(
SCH_GLOBALLABEL
*
)
item
)
->
m_Pos
.
x
==
pos
.
x
)
&&
(
(
(
SCH_GLOBALLABEL
*
)
item
)
->
m_Pos
.
y
==
pos
.
y
)
)
return
TRUE
;
pinsheet
=
LocateAnyPinSheet
(
pos
,
screen
);
...
...
eeschema/class_drawsheet.cpp
View file @
c406eed1
...
...
@@ -184,12 +184,12 @@ void DrawSheetStruct::CleanupSheet( WinEDA_SchematicFrame* frame, wxDC* DC )
/* Search Hlabel corresponding to this Pinsheet */
EDA_BaseStruct
*
DrawStruct
=
m_AssociatedScreen
->
EEDrawList
;
DrawHierLabelStruct
*
HLabel
=
NULL
;
SCH_HIERLABEL
*
HLabel
=
NULL
;
for
(
;
DrawStruct
!=
NULL
;
DrawStruct
=
DrawStruct
->
Pnext
)
{
if
(
DrawStruct
->
Type
()
!=
DRAW_HIER_LABEL_STRUCT_TYPE
)
if
(
DrawStruct
->
Type
()
!=
TYPE_SCH_HIERLABEL
)
continue
;
HLabel
=
(
DrawHierLabelStruct
*
)
DrawStruct
;
HLabel
=
(
SCH_HIERLABEL
*
)
DrawStruct
;
if
(
Pinsheet
->
m_Text
.
CmpNoCase
(
HLabel
->
m_Text
)
==
0
)
break
;
// Found!
HLabel
=
NULL
;
...
...
@@ -282,9 +282,9 @@ void DrawSheetStruct::DeleteAnnotation( bool recurse )
EDA_BaseStruct
*
comp
=
m_AssociatedScreen
->
EEDrawList
;
for
(
;
comp
;
comp
=
comp
->
Pnext
)
{
if
(
comp
->
Type
()
==
DRAW_LIB_ITEM_STRUCT_TYPE
)
if
(
comp
->
Type
()
==
TYPE_SCH_COMPONENT
)
{
(
(
EDA_SchComponentStruct
*
)
comp
)
->
ClearAnnotation
();
(
(
SCH_COMPONENT
*
)
comp
)
->
ClearAnnotation
();
}
}
}
...
...
@@ -305,9 +305,9 @@ int DrawSheetStruct::ComponentCount()
EDA_BaseStruct
*
bs
;
for
(
bs
=
m_AssociatedScreen
->
EEDrawList
;
bs
!=
NULL
;
bs
=
bs
->
Pnext
)
{
if
(
bs
->
Type
()
==
DRAW_LIB_ITEM_STRUCT_TYPE
)
if
(
bs
->
Type
()
==
TYPE_SCH_COMPONENT
)
{
DrawPartStruct
*
Cmp
=
(
DrawPartStruct
*
)
bs
;
SCH_COMPONENT
*
Cmp
=
(
SCH_COMPONENT
*
)
bs
;
if
(
Cmp
->
m_Field
[
VALUE
].
m_Text
.
GetChar
(
0
)
!=
'#'
)
n
++
;
}
...
...
@@ -803,9 +803,9 @@ void DrawSheetPath::UpdateAllScreenReferences()
while
(
t
)
{
if
(
t
->
Type
()
==
DRAW_LIB_ITEM_STRUCT_TYPE
)
if
(
t
->
Type
()
==
TYPE_SCH_COMPONENT
)
{
EDA_SchComponentStruct
*
d
=
(
EDA_SchComponentStruct
*
)
t
;
SCH_COMPONENT
*
d
=
(
SCH_COMPONENT
*
)
t
;
d
->
m_Field
[
REFERENCE
].
m_Text
=
d
->
GetRef
(
this
);
}
t
=
t
->
Pnext
;
...
...
eeschema/class_screen.cpp
View file @
c406eed1
...
...
@@ -19,11 +19,11 @@ void SetStructFather( EDA_BaseStruct* Struct, BASE_SCREEN* Screen )
{
case
DRAW_POLYLINE_STRUCT_TYPE
:
case
DRAW_JUNCTION_STRUCT_TYPE
:
case
DRAW_TEXT_STRUCT_TYPE
:
case
DRAW_LABEL_STRUCT_TYPE
:
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
DRAW_LIB_ITEM_STRUCT_TYPE
:
case
TYPE_SCH_TEXT
:
case
TYPE_SCH_LABEL
:
case
TYPE_SCH_GLOBALLABEL
:
case
TYPE_SCH_HIERLABEL
:
case
TYPE_SCH_COMPONENT
:
case
DRAW_SEGMENT_STRUCT_TYPE
:
case
DRAW_BUSENTRY_STRUCT_TYPE
:
case
DRAW_SHEET_STRUCT_TYPE
:
...
...
eeschema/class_text-label.cpp
View file @
c406eed1
...
...
@@ -18,15 +18,15 @@
/************************/
/* class
DrawTextStruct
*/
/* class
DrawLabelStruct
*/
/* class
DrawGlobalLabelStruct
*/
/* class
DrawHierLabelStruct
*/
/* class
SCH_TEXT
*/
/* class
SCH_LABEL
*/
/* class
SCH_GLOBALLABEL
*/
/* class
SCH_HIERLABEL
*/
/************************/
/**************************************************************************/
DrawTextStruct
::
DrawTextStruct
(
const
wxPoint
&
pos
,
const
wxString
&
text
,
KICAD_T
aType
)
:
EDA_BaseStruct
(
aType
)
SCH_TEXT
::
SCH_TEXT
(
const
wxPoint
&
pos
,
const
wxString
&
text
,
KICAD_T
aType
)
:
SCH_ITEM
(
NULL
,
aType
)
,
EDA_TextStruct
(
text
)
/**************************************************************************/
{
...
...
@@ -38,28 +38,28 @@ DrawTextStruct::DrawTextStruct( const wxPoint& pos, const wxString& text, KICAD_
/*********************************************/
DrawTextStruct
*
DrawTextStruct
::
GenCopy
()
SCH_TEXT
*
SCH_TEXT
::
GenCopy
()
/*********************************************/
{
DrawTextStruct
*
newitem
;
SCH_TEXT
*
newitem
;
switch
(
Type
()
)
{
default
:
case
DRAW_TEXT_STRUCT_TYPE
:
newitem
=
new
DrawTextStruct
(
m_Pos
,
m_Text
);
case
TYPE_SCH_TEXT
:
newitem
=
new
SCH_TEXT
(
m_Pos
,
m_Text
);
break
;
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
newitem
=
new
DrawGlobalLabelStruct
(
m_Pos
,
m_Text
);
case
TYPE_SCH_GLOBALLABEL
:
newitem
=
new
SCH_GLOBALLABEL
(
m_Pos
,
m_Text
);
break
;
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
newitem
=
new
DrawHierLabelStruct
(
m_Pos
,
m_Text
);
case
TYPE_SCH_HIERLABEL
:
newitem
=
new
SCH_HIERLABEL
(
m_Pos
,
m_Text
);
break
;
case
DRAW_LABEL_STRUCT_TYPE
:
newitem
=
new
DrawLabelStruct
(
m_Pos
,
m_Text
);
case
TYPE_SCH_LABEL
:
newitem
=
new
SCH_LABEL
(
m_Pos
,
m_Text
);
break
;
}
...
...
@@ -77,7 +77,7 @@ DrawTextStruct* DrawTextStruct::GenCopy()
/********************************************************/
void
DrawTextStruct
::
SwapData
(
DrawTextStruct
*
copyitem
)
void
SCH_TEXT
::
SwapData
(
SCH_TEXT
*
copyitem
)
/********************************************************/
{
EXCHG
(
m_Text
,
copyitem
->
m_Text
);
...
...
@@ -95,20 +95,20 @@ void DrawTextStruct::SwapData( DrawTextStruct* copyitem )
/***************************************************************/
void
DrawTextStruct
::
Place
(
WinEDA_DrawFrame
*
frame
,
wxDC
*
DC
)
void
SCH_TEXT
::
Place
(
WinEDA_DrawFrame
*
frame
,
wxDC
*
DC
)
/***************************************************************/
{
/* save old text in undo list */
if
(
g_ItemToUndoCopy
&&
(
(
m_Flags
&
IS_NEW
)
==
0
)
)
{
/* restore old values and save new ones */
SwapData
(
(
DrawTextStruct
*
)
g_ItemToUndoCopy
);
SwapData
(
(
SCH_TEXT
*
)
g_ItemToUndoCopy
);
/* save in undo list */
(
(
WinEDA_SchematicFrame
*
)
frame
)
->
SaveCopyInUndoList
(
this
,
IS_CHANGED
);
/* restore new values */
SwapData
(
(
DrawTextStruct
*
)
g_ItemToUndoCopy
);
SwapData
(
(
SCH_TEXT
*
)
g_ItemToUndoCopy
);
SAFE_DELETE
(
g_ItemToUndoCopy
);
}
...
...
@@ -118,8 +118,8 @@ void DrawTextStruct::Place( WinEDA_DrawFrame* frame, wxDC* DC )
/****************************************************************************/
DrawLabelStruct
::
DrawLabelStruct
(
const
wxPoint
&
pos
,
const
wxString
&
text
)
:
DrawTextStruct
(
pos
,
text
,
DRAW_LABEL_STRUCT_TYPE
)
SCH_LABEL
::
SCH_LABEL
(
const
wxPoint
&
pos
,
const
wxString
&
text
)
:
SCH_TEXT
(
pos
,
text
,
TYPE_SCH_LABEL
)
/****************************************************************************/
{
m_Layer
=
LAYER_LOCLABEL
;
...
...
@@ -129,8 +129,8 @@ DrawLabelStruct::DrawLabelStruct( const wxPoint& pos, const wxString& text ) :
/***********************************************************************************/
DrawGlobalLabelStruct
::
DrawGlobalLabelStruct
(
const
wxPoint
&
pos
,
const
wxString
&
text
)
:
DrawTextStruct
(
pos
,
text
,
DRAW_GLOBAL_LABEL_STRUCT_TYPE
)
SCH_GLOBALLABEL
::
SCH_GLOBALLABEL
(
const
wxPoint
&
pos
,
const
wxString
&
text
)
:
SCH_TEXT
(
pos
,
text
,
TYPE_SCH_GLOBALLABEL
)
/***********************************************************************************/
{
m_Layer
=
LAYER_GLOBLABEL
;
...
...
@@ -140,8 +140,8 @@ DrawGlobalLabelStruct::DrawGlobalLabelStruct( const wxPoint& pos, const wxString
/***********************************************************************************/
DrawHierLabelStruct
::
DrawHierLabelStruct
(
const
wxPoint
&
pos
,
const
wxString
&
text
)
:
DrawTextStruct
(
pos
,
text
,
DRAW_HIER_LABEL_STRUCT_TYPE
)
SCH_HIERLABEL
::
SCH_HIERLABEL
(
const
wxPoint
&
pos
,
const
wxString
&
text
)
:
SCH_TEXT
(
pos
,
text
,
TYPE_SCH_HIERLABEL
)
/***********************************************************************************/
{
m_Layer
=
LAYER_HIERLABEL
;
...
...
@@ -151,7 +151,7 @@ DrawHierLabelStruct::DrawHierLabelStruct( const wxPoint& pos, const wxString& te
/*******************************************************************************************/
void
DrawTextStruct
::
Draw
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
const
wxPoint
&
offset
,
void
SCH_TEXT
::
Draw
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
const
wxPoint
&
offset
,
int
DrawMode
,
int
Color
)
/*******************************************************************************************/
...
...
@@ -211,16 +211,16 @@ void DrawTextStruct::Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoint& off
/*********************************************************************************************/
void
DrawLabelStruct
::
Draw
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
const
wxPoint
&
offset
,
void
SCH_LABEL
::
Draw
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
const
wxPoint
&
offset
,
int
DrawMode
,
int
Color
)
/*********************************************************************************************/
{
DrawTextStruct
::
Draw
(
panel
,
DC
,
offset
,
DrawMode
,
Color
);
SCH_TEXT
::
Draw
(
panel
,
DC
,
offset
,
DrawMode
,
Color
);
}
/*******************************************************************************************/
void
DrawHierLabelStruct
::
Draw
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
const
wxPoint
&
offset
,
void
SCH_HIERLABEL
::
Draw
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
const
wxPoint
&
offset
,
int
DrawMode
,
int
Color
)
/******************************************************************************************/
...
...
@@ -288,7 +288,7 @@ void DrawHierLabelStruct::Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoint
* format list is
* corner_count, x0, y0, ... xn, yn
*/
void
DrawHierLabelStruct
::
CreateGraphicShape
(
int
*
corner_list
,
const
wxPoint
&
Pos
)
void
SCH_HIERLABEL
::
CreateGraphicShape
(
int
*
corner_list
,
const
wxPoint
&
Pos
)
{
int
*
Template
=
TemplateShape
[
m_Shape
][
m_Orient
];
int
HalfSize
=
m_Size
.
x
/
2
;
...
...
@@ -307,7 +307,7 @@ void DrawHierLabelStruct::CreateGraphicShape( int* corner_list, const wxPoint& P
/*******************************************************************************************/
void
DrawGlobalLabelStruct
::
Draw
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
const
wxPoint
&
draw_offset
,
void
SCH_GLOBALLABEL
::
Draw
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
const
wxPoint
&
draw_offset
,
int
DrawMode
,
int
Color
)
/******************************************************************************************/
...
...
@@ -392,7 +392,7 @@ void DrawGlobalLabelStruct::Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoi
* format list is
* <corner_count>, x0, y0, ... xn, yn
*/
void
DrawGlobalLabelStruct
::
CreateGraphicShape
(
int
*
corner_list
,
const
wxPoint
&
Pos
)
void
SCH_GLOBALLABEL
::
CreateGraphicShape
(
int
*
corner_list
,
const
wxPoint
&
Pos
)
{
int
HalfSize
=
m_Size
.
x
/
2
;
int
width
=
MAX
(
m_Width
,
g_DrawMinimunLineWidth
);
...
...
eeschema/class_text-label.h
View file @
c406eed1
...
...
@@ -76,7 +76,7 @@ int* TemplateShape[5][4] =
extern
int
*
TemplateShape
[
5
][
4
];
#endif
class
DrawTextStruct
:
public
EDA_BaseStruct
class
SCH_TEXT
:
public
SCH_ITEM
,
public
EDA_TextStruct
{
public
:
...
...
@@ -85,31 +85,31 @@ public:
bool
m_IsDangling
;
// TRUE si non connect�
public
:
DrawTextStruct
(
const
wxPoint
&
pos
=
wxPoint
(
0
,
0
),
const
wxString
&
text
=
wxEmptyString
,
KICAD_T
aType
=
DRAW_TEXT_STRUCT_TYPE
);
~
DrawTextStruct
()
{
}
SCH_TEXT
(
const
wxPoint
&
pos
=
wxPoint
(
0
,
0
),
const
wxString
&
text
=
wxEmptyString
,
KICAD_T
aType
=
TYPE_SCH_TEXT
);
~
SCH_TEXT
()
{
}
virtual
wxString
GetClass
()
const
{
return
wxT
(
"
DrawText
"
);
return
wxT
(
"
SCH_TEXT
"
);
}
DrawTextStruct
*
GenCopy
();
SCH_TEXT
*
GenCopy
();
virtual
void
Draw
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
const
wxPoint
&
offset
,
int
draw_mode
,
int
Color
=
-
1
);
void
SwapData
(
DrawTextStruct
*
copyitem
);
void
SwapData
(
SCH_TEXT
*
copyitem
);
virtual
void
Place
(
WinEDA_DrawFrame
*
frame
,
wxDC
*
DC
);
};
class
DrawLabelStruct
:
public
DrawTextStruct
class
SCH_LABEL
:
public
SCH_TEXT
{
public
:
DrawLabelStruct
(
const
wxPoint
&
pos
=
wxPoint
(
0
,
0
),
const
wxString
&
text
=
wxEmptyString
);
~
DrawLabelStruct
()
{
}
SCH_LABEL
(
const
wxPoint
&
pos
=
wxPoint
(
0
,
0
),
const
wxString
&
text
=
wxEmptyString
);
~
SCH_LABEL
()
{
}
virtual
void
Draw
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
const
wxPoint
&
offset
,
int
draw_mode
,
int
Color
=
-
1
);
...
...
@@ -120,12 +120,12 @@ public:
};
class
DrawGlobalLabelStruct
:
public
DrawTextStruct
class
SCH_GLOBALLABEL
:
public
SCH_TEXT
{
public
:
DrawGlobalLabelStruct
(
const
wxPoint
&
pos
=
wxPoint
(
0
,
0
),
SCH_GLOBALLABEL
(
const
wxPoint
&
pos
=
wxPoint
(
0
,
0
),
const
wxString
&
text
=
wxEmptyString
);
~
DrawGlobalLabelStruct
()
{
}
~
SCH_GLOBALLABEL
()
{
}
virtual
void
Draw
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
const
wxPoint
&
offset
,
int
draw_mode
,
int
Color
=
-
1
);
...
...
@@ -147,12 +147,12 @@ public:
class
DrawHierLabelStruct
:
public
DrawTextStruct
class
SCH_HIERLABEL
:
public
SCH_TEXT
{
public
:
DrawHierLabelStruct
(
const
wxPoint
&
pos
=
wxPoint
(
0
,
0
),
SCH_HIERLABEL
(
const
wxPoint
&
pos
=
wxPoint
(
0
,
0
),
const
wxString
&
text
=
wxEmptyString
);
~
DrawHierLabelStruct
()
{
}
~
SCH_HIERLABEL
()
{
}
virtual
void
Draw
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
const
wxPoint
&
offset
,
int
draw_mode
,
int
Color
=
-
1
);
...
...
eeschema/cleanup.cpp
View file @
c406eed1
...
...
@@ -105,14 +105,14 @@ void BreakSegmentOnJunction( SCH_SCREEN* Screen )
case
DRAW_SEGMENT_STRUCT_TYPE
:
case
DRAW_NOCONNECT_STRUCT_TYPE
:
case
DRAW_LABEL_STRUCT_TYPE
:
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
DRAW_LIB_ITEM_STRUCT_TYPE
:
case
TYPE_SCH_LABEL
:
case
TYPE_SCH_GLOBALLABEL
:
case
TYPE_SCH_HIERLABEL
:
case
TYPE_SCH_COMPONENT
:
case
DRAW_PICK_ITEM_STRUCT_TYPE
:
case
DRAW_POLYLINE_STRUCT_TYPE
:
case
DRAW_MARKER_STRUCT_TYPE
:
case
DRAW_TEXT_STRUCT_TYPE
:
case
TYPE_SCH_TEXT
:
case
DRAW_SHEET_STRUCT_TYPE
:
case
DRAW_SHEETLABEL_STRUCT_TYPE
:
break
;
...
...
eeschema/cmpclass.cpp
View file @
c406eed1
...
...
@@ -269,7 +269,7 @@ EDA_Rect DrawJunctionStruct::GetBoundingBox()
};
EDA_Rect
EDA_SchComponentStruct
::
GetBoundingBox
()
EDA_Rect
SCH_COMPONENT
::
GetBoundingBox
()
{
const
int
PADDING
=
40
;
...
...
eeschema/component_class.cpp
View file @
c406eed1
...
...
@@ -22,28 +22,9 @@
WX_DEFINE_OBJARRAY
(
ArrayOfSheetLists
);
/***************************/
/* class DrawPartStruct */
/* class EDA_SchComponentStruct */
/* class SCH_COMPONENT */
/***************************/
/***********************************************************************************/
DrawPartStruct
::
DrawPartStruct
(
KICAD_T
struct_type
,
const
wxPoint
&
pos
)
:
EDA_BaseStruct
(
struct_type
)
/***********************************************************************************/
{
m_Layer
=
0
;
m_Pos
=
pos
;
m_TimeStamp
=
0
;
}
/************************************/
DrawPartStruct
::~
DrawPartStruct
()
/************************************/
{
}
/****************************************************************/
const
wxString
&
ReturnDefaultFieldName
(
int
aFieldNdx
)
/****************************************************************/
...
...
@@ -78,7 +59,7 @@ const wxString& ReturnDefaultFieldName( int aFieldNdx )
/****************************************************************/
const
wxString
&
EDA_SchComponentStruct
::
ReturnFieldName
(
int
aFieldNdx
)
const
const
wxString
&
SCH_COMPONENT
::
ReturnFieldName
(
int
aFieldNdx
)
const
/****************************************************************/
/* Return the Field name from its index (REFERENCE, VALUE ..)
...
...
@@ -94,7 +75,7 @@ const wxString& EDA_SchComponentStruct::ReturnFieldName( int aFieldNdx ) const
/****************************************************************/
wxString
EDA_SchComponentStruct
::
GetPath
(
DrawSheetPath
*
sheet
)
wxString
SCH_COMPONENT
::
GetPath
(
DrawSheetPath
*
sheet
)
/****************************************************************/
{
wxString
str
;
...
...
@@ -105,7 +86,7 @@ wxString EDA_SchComponentStruct::GetPath( DrawSheetPath* sheet )
/********************************************************************/
const
wxString
EDA_SchComponentStruct
::
GetRef
(
DrawSheetPath
*
sheet
)
const
wxString
SCH_COMPONENT
::
GetRef
(
DrawSheetPath
*
sheet
)
/********************************************************************/
{
wxString
path
=
GetPath
(
sheet
);
...
...
@@ -137,7 +118,7 @@ const wxString EDA_SchComponentStruct::GetRef( DrawSheetPath* sheet )
/***********************************************************************/
void
EDA_SchComponentStruct
::
SetRef
(
DrawSheetPath
*
sheet
,
wxString
ref
)
void
SCH_COMPONENT
::
SetRef
(
DrawSheetPath
*
sheet
,
wxString
ref
)
/***********************************************************************/
{
//check to see if it is already there before inserting it
...
...
@@ -176,7 +157,7 @@ void EDA_SchComponentStruct::SetRef( DrawSheetPath* sheet, wxString ref )
/**************************************/
void
EDA_SchComponentStruct
::
ClearRefs
()
void
SCH_COMPONENT
::
ClearRefs
()
/**************************************/
{
m_Paths
.
Empty
();
...
...
@@ -184,7 +165,7 @@ void EDA_SchComponentStruct::ClearRefs()
}
const
wxString
&
EDA_SchComponentStruct
::
GetFieldValue
(
int
aFieldNdx
)
const
const
wxString
&
SCH_COMPONENT
::
GetFieldValue
(
int
aFieldNdx
)
const
{
// avoid unnecessarily copying wxStrings.
static
const
wxString
myEmpty
=
wxEmptyString
;
...
...
@@ -197,14 +178,16 @@ const wxString& EDA_SchComponentStruct::GetFieldValue( int aFieldNdx ) const
/*******************************************************************/
EDA_SchComponentStruct
::
EDA_SchComponentStruct
(
const
wxPoint
&
p
os
)
:
DrawPartStruct
(
DRAW_LIB_ITEM_STRUCT_TYPE
,
pos
)
SCH_COMPONENT
::
SCH_COMPONENT
(
const
wxPoint
&
aP
os
)
:
SCH_ITEM
(
NULL
,
TYPE_SCH_COMPONENT
)
/*******************************************************************/
{
int
ii
;
m_Multi
=
0
;
/* In multi unit chip - which unit to draw. */
m_Pos
=
aPos
;
//m_FlagControlMulti = 0;
m_UsedOnSheets
.
Clear
();
m_Convert
=
0
;
/* Gestion des mutiples representations (conversion De Morgan) */
...
...
@@ -234,7 +217,7 @@ EDA_SchComponentStruct::EDA_SchComponentStruct( const wxPoint& pos ) :
/************************************************/
EDA_Rect
EDA_SchComponentStruct
::
GetBoundaryBox
()
const
EDA_Rect
SCH_COMPONENT
::
GetBoundaryBox
()
const
/************************************************/
{
EDA_LibComponentStruct
*
Entry
=
FindLibPart
(
m_ChipName
.
GetData
(),
wxEmptyString
,
FIND_ROOT
);
...
...
@@ -309,7 +292,7 @@ void PartTextStruct::SwapData( PartTextStruct* copyitem )
/**************************************************************************/
void
EDA_SchComponentStruct
::
SwapData
(
EDA_SchComponentStruct
*
copyitem
)
void
SCH_COMPONENT
::
SwapData
(
SCH_COMPONENT
*
copyitem
)
/**************************************************************************/
/* Used if undo / redo command:
...
...
@@ -332,7 +315,7 @@ void EDA_SchComponentStruct::SwapData( EDA_SchComponentStruct* copyitem )
/***********************************************************************/
void
EDA_SchComponentStruct
::
Place
(
WinEDA_DrawFrame
*
frame
,
wxDC
*
DC
)
void
SCH_COMPONENT
::
Place
(
WinEDA_DrawFrame
*
frame
,
wxDC
*
DC
)
/***********************************************************************/
{
/* save old text in undo list */
...
...
@@ -341,13 +324,13 @@ void EDA_SchComponentStruct::Place( WinEDA_DrawFrame* frame, wxDC* DC )
&&
(
(
m_Flags
&
IS_NEW
)
==
0
)
)
{
/* restore old values and save new ones */
SwapData
(
(
EDA_SchComponentStruct
*
)
g_ItemToUndoCopy
);
SwapData
(
(
SCH_COMPONENT
*
)
g_ItemToUndoCopy
);
/* save in undo list */
(
(
WinEDA_SchematicFrame
*
)
frame
)
->
SaveCopyInUndoList
(
this
,
IS_CHANGED
);
/* restore new values */
SwapData
(
(
EDA_SchComponentStruct
*
)
g_ItemToUndoCopy
);
SwapData
(
(
SCH_COMPONENT
*
)
g_ItemToUndoCopy
);
SAFE_DELETE
(
g_ItemToUndoCopy
);
}
...
...
@@ -357,7 +340,7 @@ void EDA_SchComponentStruct::Place( WinEDA_DrawFrame* frame, wxDC* DC )
/***************************************************/
void
EDA_SchComponentStruct
::
ClearAnnotation
()
void
SCH_COMPONENT
::
ClearAnnotation
()
/***************************************************/
/* Suppress annotation ( i.i IC23 changed to IC? and part reset to 1)
...
...
@@ -386,10 +369,10 @@ void EDA_SchComponentStruct::ClearAnnotation()
/**************************************************************/
EDA_SchComponentStruct
*
EDA_SchComponentStruct
::
GenCopy
()
SCH_COMPONENT
*
SCH_COMPONENT
::
GenCopy
()
/**************************************************************/
{
EDA_SchComponentStruct
*
new_item
=
new
EDA_SchComponentStruct
(
m_Pos
);
SCH_COMPONENT
*
new_item
=
new
SCH_COMPONENT
(
m_Pos
);
int
ii
;
...
...
@@ -418,7 +401,7 @@ EDA_SchComponentStruct* EDA_SchComponentStruct::GenCopy()
/*****************************************************************/
void
EDA_SchComponentStruct
::
SetRotationMiroir
(
int
type_rotate
)
void
SCH_COMPONENT
::
SetRotationMiroir
(
int
type_rotate
)
/******************************************************************/
/* Compute the new matrix transform for a schematic component
...
...
@@ -561,7 +544,7 @@ void EDA_SchComponentStruct::SetRotationMiroir( int type_rotate )
/****************************************************/
int
EDA_SchComponentStruct
::
GetRotationMiroir
()
int
SCH_COMPONENT
::
GetRotationMiroir
()
/****************************************************/
{
int
type_rotate
=
CMP_ORIENT_0
;
...
...
@@ -626,7 +609,7 @@ int EDA_SchComponentStruct::GetRotationMiroir()
/***********************************************************************/
wxPoint
EDA_SchComponentStruct
::
GetScreenCoord
(
const
wxPoint
&
coord
)
wxPoint
SCH_COMPONENT
::
GetScreenCoord
(
const
wxPoint
&
coord
)
/***********************************************************************/
/* Renvoie la coordonn�e du point coord, en fonction de l'orientation
...
...
@@ -651,7 +634,7 @@ wxPoint EDA_SchComponentStruct::GetScreenCoord( const wxPoint& coord )
* of nesting of this object within the overall tree.
* @param os The ostream& to output to.
*/
void
EDA_SchComponentStruct
::
Show
(
int
nestLevel
,
std
::
ostream
&
os
)
void
SCH_COMPONENT
::
Show
(
int
nestLevel
,
std
::
ostream
&
os
)
{
// for now, make it look like XML:
NestedSpace
(
nestLevel
,
os
)
<<
'<'
<<
GetClass
().
Lower
().
mb_str
()
<<
...
...
@@ -748,7 +731,7 @@ EDA_Rect PartTextStruct::GetBoundaryBox() const
int
orient
;
int
dx
,
dy
,
x1
,
y1
,
x2
,
y2
;
EDA_SchComponentStruct
*
DrawLibItem
=
(
EDA_SchComponentStruct
*
)
m_Parent
;
SCH_COMPONENT
*
DrawLibItem
=
(
SCH_COMPONENT
*
)
m_Parent
;
orient
=
m_Orient
;
wxPoint
pos
=
DrawLibItem
->
m_Pos
;
...
...
eeschema/component_class.h
View file @
c406eed1
...
...
@@ -65,35 +65,21 @@ public:
};
/* the class DrawPartStruct describes a basic virtual component
* Not used directly:
* used classes are EDA_SchComponentStruct (the "classic" schematic component, below)
* and the Pseudo component DrawSheetStruct
WX_DECLARE_OBJARRAY
(
DrawSheetPath
,
ArrayOfSheetLists
);
/**
* Class SCH_COMPONENT
* describes a real schematic component
*/
class
DrawPartStruct
:
public
EDA_BaseStruct
class
SCH_COMPONENT
:
public
SCH_ITEM
{
public
:
int
m_Layer
;
wxString
m_ChipName
;
/* Key to look for in the library, i.e. "74LS00". */
PartTextStruct
m_Field
[
NUMBER_OF_FIELDS
];
wxPoint
m_Pos
;
/* Exact position of part. */
public
:
DrawPartStruct
(
KICAD_T
struct_type
,
const
wxPoint
&
pos
);
~
DrawPartStruct
();
int
m_Multi
;
/* In multi unit chip - which unit to draw. */
virtual
wxString
GetClass
()
const
{
return
wxT
(
"DrawPart"
);
}
};
wxPoint
m_Pos
;
WX_DECLARE_OBJARRAY
(
DrawSheetPath
,
ArrayOfSheetLists
);
/* the class EDA_SchComponentStruct describes a real component */
class
EDA_SchComponentStruct
:
public
DrawPartStruct
{
public
:
int
m_Multi
;
/* In multi unit chip - which unit to draw. */
wxString
m_ChipName
;
/* Key to look for in the library, i.e. "74LS00". */
PartTextStruct
m_Field
[
NUMBER_OF_FIELDS
];
//int m_FlagControlMulti;
ArrayOfSheetLists
m_UsedOnSheets
;
...
...
@@ -108,16 +94,16 @@ public:
* determined, upon file load, by the first non-digits in the reference fields. */
public
:
EDA_SchComponentStruct
(
const
wxPoint
&
pos
=
wxPoint
(
0
,
0
)
);
~
EDA_SchComponentStruct
(
void
)
{
}
SCH_COMPONENT
(
const
wxPoint
&
pos
=
wxPoint
(
0
,
0
)
);
~
SCH_COMPONENT
(
)
{
}
virtual
wxString
GetClass
()
const
{
return
wxT
(
"
EDA_SchComponent
"
);
return
wxT
(
"
SCH_COMPONENT
"
);
}
EDA_SchComponentStruct
*
GenCopy
();
SCH_COMPONENT
*
GenCopy
();
void
SetRotationMiroir
(
int
type
);
int
GetRotationMiroir
();
wxPoint
GetScreenCoord
(
const
wxPoint
&
coord
);
...
...
@@ -143,7 +129,7 @@ public:
const
wxPoint
&
offset
,
int
draw_mode
,
int
Color
=
-
1
);
void
SwapData
(
EDA_SchComponentStruct
*
copyitem
);
void
SwapData
(
SCH_COMPONENT
*
copyitem
);
virtual
void
Place
(
WinEDA_DrawFrame
*
frame
,
wxDC
*
DC
);
...
...
eeschema/controle.cpp
View file @
c406eed1
...
...
@@ -42,7 +42,7 @@ SchematicGeneralLocateAndDisplay( bool IncludePin )
wxString
msg
;
wxPoint
mouse_position
=
GetScreen
()
->
m_MousePosition
;
LibDrawPin
*
Pin
=
NULL
;
EDA_SchComponentStruct
*
LibItem
=
NULL
;
SCH_COMPONENT
*
LibItem
=
NULL
;
DrawStruct
=
SchematicGeneralLocateAndDisplay
(
mouse_position
,
IncludePin
);
if
(
!
DrawStruct
&&
(
mouse_position
!=
GetScreen
()
->
m_Curseur
)
)
...
...
@@ -57,15 +57,15 @@ SchematicGeneralLocateAndDisplay( bool IncludePin )
{
case
DRAW_PART_TEXT_STRUCT_TYPE
:
case
COMPONENT_FIELD_DRAW_TYPE
:
LibItem
=
(
EDA_SchComponentStruct
*
)
DrawStruct
->
m_Parent
;
LibItem
=
(
SCH_COMPONENT
*
)
DrawStruct
->
m_Parent
;
SendMessageToPCBNEW
(
DrawStruct
,
LibItem
);
break
;
case
DRAW_LIB_ITEM_STRUCT_TYPE
:
case
TYPE_SCH_COMPONENT
:
Pin
=
LocateAnyPin
(
GetScreen
()
->
EEDrawList
,
GetScreen
()
->
m_Curseur
,
&
LibItem
);
if
(
Pin
)
break
;
// Priority is probing a pin first
LibItem
=
(
EDA_SchComponentStruct
*
)
DrawStruct
;
LibItem
=
(
SCH_COMPONENT
*
)
DrawStruct
;
SendMessageToPCBNEW
(
DrawStruct
,
LibItem
);
break
;
...
...
@@ -118,7 +118,7 @@ SchematicGeneralLocateAndDisplay( const wxPoint& refpoint, bool IncludePin )
{
EDA_BaseStruct
*
DrawStruct
;
LibDrawPin
*
Pin
;
EDA_SchComponentStruct
*
LibItem
;
SCH_COMPONENT
*
LibItem
;
wxString
Text
;
wxString
msg
;
int
ii
;
...
...
@@ -175,7 +175,7 @@ SchematicGeneralLocateAndDisplay( const wxPoint& refpoint, bool IncludePin )
if
(
DrawStruct
)
{
PartTextStruct
*
Field
=
(
PartTextStruct
*
)
DrawStruct
;
LibItem
=
(
EDA_SchComponentStruct
*
)
Field
->
m_Parent
;
LibItem
=
(
SCH_COMPONENT
*
)
Field
->
m_Parent
;
LibItem
->
Display_Infos
(
this
);
return
DrawStruct
;
...
...
@@ -199,7 +199,7 @@ SchematicGeneralLocateAndDisplay( const wxPoint& refpoint, bool IncludePin )
if
(
DrawStruct
)
{
DrawStruct
=
LocateSmallestComponent
(
(
SCH_SCREEN
*
)
GetScreen
()
);
LibItem
=
(
EDA_SchComponentStruct
*
)
DrawStruct
;
LibItem
=
(
SCH_COMPONENT
*
)
DrawStruct
;
LibItem
->
Display_Infos
(
this
);
return
DrawStruct
;
}
...
...
eeschema/cross-probing.cpp
View file @
c406eed1
...
...
@@ -86,7 +86,7 @@ void RemoteCommand( const char* cmdline )
/*****************************************************************************/
void
WinEDA_SchematicFrame
::
SendMessageToPCBNEW
(
EDA_BaseStruct
*
objectToSync
,
EDA_SchComponentStruct
*
LibItem
)
SCH_COMPONENT
*
LibItem
)
/*****************************************************************************/
/** Send a remote command to eeschema via a socket,
...
...
@@ -116,8 +116,8 @@ void WinEDA_SchematicFrame::SendMessageToPCBNEW( EDA_BaseStruct* objectT
}
break
;
case
DRAW_LIB_ITEM_STRUCT_TYPE
:
LibItem
=
(
EDA_SchComponentStruct
*
)
objectToSync
;
case
TYPE_SCH_COMPONENT
:
LibItem
=
(
SCH_COMPONENT
*
)
objectToSync
;
sprintf
(
Line
,
"$PART: %s"
,
CONV_TO_UTF8
(
LibItem
->
m_Field
[
REFERENCE
].
m_Text
)
);
SendCommand
(
MSG_TO_PCB
,
Line
);
break
;
...
...
eeschema/dangling_ends.cpp
View file @
c406eed1
...
...
@@ -47,7 +47,7 @@ DanglingEndHandle* ItemList;
static
void
TestWireForDangling
(
EDA_DrawLineStruct
*
DrawRef
,
WinEDA_SchematicFrame
*
frame
,
wxDC
*
DC
);
void
TestLabelForDangling
(
DrawTextStruct
*
label
,
void
TestLabelForDangling
(
SCH_TEXT
*
label
,
WinEDA_SchematicFrame
*
frame
,
wxDC
*
DC
);
DanglingEndHandle
*
RebuildEndList
(
EDA_BaseStruct
*
DrawList
);
...
...
@@ -111,11 +111,11 @@ void WinEDA_SchematicFrame::TestDanglingEnds( EDA_BaseStruct* DrawList, wxDC* DC
{
switch
(
DrawItem
->
Type
()
)
{
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
DRAW_LABEL_STRUCT_TYPE
:
case
TYPE_SCH_GLOBALLABEL
:
case
TYPE_SCH_HIERLABEL
:
case
TYPE_SCH_LABEL
:
#undef STRUCT
#define STRUCT ( (
DrawLabelStruct
*) DrawItem )
#define STRUCT ( (
SCH_LABEL
*) DrawItem )
TestLabelForDangling
(
STRUCT
,
this
,
DC
);
break
;
break
;
...
...
@@ -155,7 +155,7 @@ LibDrawPin* WinEDA_SchematicFrame::LocatePinEnd( EDA_BaseStruct* DrawList,
* NULL sinon
*/
{
EDA_SchComponentStruct
*
DrawLibItem
;
SCH_COMPONENT
*
DrawLibItem
;
LibDrawPin
*
Pin
;
wxPoint
pinpos
;
...
...
@@ -223,7 +223,7 @@ void TestWireForDangling( EDA_DrawLineStruct* DrawRef,
/********************************************************/
void
TestLabelForDangling
(
DrawTextStruct
*
label
,
void
TestLabelForDangling
(
SCH_TEXT
*
label
,
WinEDA_SchematicFrame
*
frame
,
wxDC
*
DC
)
/********************************************************/
{
...
...
@@ -281,7 +281,7 @@ void TestLabelForDangling( DrawTextStruct* label,
/****************************************************/
wxPoint
ReturnPinPhysicalPosition
(
LibDrawPin
*
Pin
,
EDA_SchComponentStruct
*
DrawLibItem
)
SCH_COMPONENT
*
DrawLibItem
)
/****************************************************/
/* Retourne la position physique de la pin, qui d�pend de l'orientation
...
...
@@ -316,13 +316,13 @@ DanglingEndHandle* RebuildEndList( EDA_BaseStruct* DrawList )
{
switch
(
DrawItem
->
Type
()
)
{
case
DRAW_LABEL_STRUCT_TYPE
:
case
TYPE_SCH_LABEL
:
break
;
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
TYPE_SCH_GLOBALLABEL
:
case
TYPE_SCH_HIERLABEL
:
#undef STRUCT
#define STRUCT ( (
DrawLabelStruct
*) DrawItem )
#define STRUCT ( (
SCH_LABEL
*) DrawItem )
item
=
new
DanglingEndHandle
(
LABEL_END
);
item
->
m_Item
=
DrawItem
;
...
...
@@ -395,10 +395,10 @@ DanglingEndHandle* RebuildEndList( EDA_BaseStruct* DrawList )
lastitem
=
item
;
break
;
case
DRAW_LIB_ITEM_STRUCT_TYPE
:
case
TYPE_SCH_COMPONENT
:
{
#undef STRUCT
#define STRUCT ( (
EDA_SchComponentStruct
*) DrawItem )
#define STRUCT ( (
SCH_COMPONENT
*) DrawItem )
EDA_LibComponentStruct
*
Entry
;
Entry
=
FindLibPart
(
STRUCT
->
m_ChipName
,
wxEmptyString
,
FIND_ROOT
);
if
(
Entry
==
NULL
)
...
...
eeschema/delete.cpp
View file @
c406eed1
...
...
@@ -280,10 +280,10 @@ void WinEDA_SchematicFrame::DeleteConnection( wxDC* DC, bool DeleteFullConnectio
if
(
DelStruct
->
m_Flags
&
STRUCT_DELETED
)
continue
;
if
(
DelStruct
->
Type
()
!=
DRAW_LABEL_STRUCT_TYPE
)
if
(
DelStruct
->
Type
()
!=
TYPE_SCH_LABEL
)
continue
;
GetScreen
()
->
m_Curseur
=
(
(
DrawTextStruct
*
)
DelStruct
)
->
m_Pos
;
GetScreen
()
->
m_Curseur
=
(
(
SCH_TEXT
*
)
DelStruct
)
->
m_Pos
;
EDA_BaseStruct
*
TstStruct
=
PickStruct
(
GetScreen
()
->
m_Curseur
,
GetScreen
(),
WIREITEM
|
BUSITEM
);
...
...
eeschema/dialog_build_BOM.cpp
View file @
c406eed1
...
...
@@ -845,7 +845,7 @@ int GenListeCmp( ListComponent* List )
{
int
ItemCount
=
0
;
EDA_BaseStruct
*
DrawList
;
EDA_SchComponentStruct
*
DrawLibItem
;
SCH_COMPONENT
*
DrawLibItem
;
DrawSheetPath
*
sheet
;
/* Build the sheet (not screen) list */
...
...
@@ -858,9 +858,9 @@ int GenListeCmp( ListComponent* List )
{
switch
(
DrawList
->
Type
()
)
{
case
DRAW_LIB_ITEM_STRUCT_TYPE
:
case
TYPE_SCH_COMPONENT
:
ItemCount
++
;
DrawLibItem
=
(
EDA_SchComponentStruct
*
)
DrawList
;
DrawLibItem
=
(
SCH_COMPONENT
*
)
DrawList
;
DrawLibItem
->
m_Parent
=
sheet
->
LastScreen
();
if
(
List
)
{
...
...
@@ -910,8 +910,8 @@ static int GenListeGLabels( ListLabel* List )
{
switch
(
DrawList
->
Type
()
)
{
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
TYPE_SCH_HIERLABEL
:
case
TYPE_SCH_GLOBALLABEL
:
ItemCount
++
;
if
(
List
)
{
...
...
@@ -1063,12 +1063,12 @@ static int ListTriGLabelByVal( ListLabel* Objet1, ListLabel* Objet2 )
if
(
Objet1
->
m_LabelType
==
DRAW_SHEETLABEL_STRUCT_TYPE
)
Text1
=
&
(
(
DrawSheetLabelStruct
*
)
Objet1
->
m_Label
)
->
m_Text
;
else
Text1
=
&
(
(
DrawTextStruct
*
)
Objet1
->
m_Label
)
->
m_Text
;
Text1
=
&
(
(
SCH_TEXT
*
)
Objet1
->
m_Label
)
->
m_Text
;
if
(
Objet2
->
m_LabelType
==
DRAW_SHEETLABEL_STRUCT_TYPE
)
Text2
=
&
(
(
DrawSheetLabelStruct
*
)
Objet2
->
m_Label
)
->
m_Text
;
else
Text2
=
&
(
(
DrawTextStruct
*
)
Objet2
->
m_Label
)
->
m_Text
;
Text2
=
&
(
(
SCH_TEXT
*
)
Objet2
->
m_Label
)
->
m_Text
;
ii
=
Text1
->
CmpNoCase
(
*
Text2
);
...
...
@@ -1102,12 +1102,12 @@ static int ListTriGLabelBySheet( ListLabel* Objet1, ListLabel* Objet2 )
if
(
Objet1
->
m_LabelType
==
DRAW_SHEETLABEL_STRUCT_TYPE
)
Text1
=
&
(
(
DrawSheetLabelStruct
*
)
Objet1
->
m_Label
)
->
m_Text
;
else
Text1
=
&
(
(
DrawTextStruct
*
)
Objet1
->
m_Label
)
->
m_Text
;
Text1
=
&
(
(
SCH_TEXT
*
)
Objet1
->
m_Label
)
->
m_Text
;
if
(
Objet2
->
m_LabelType
==
DRAW_SHEETLABEL_STRUCT_TYPE
)
Text2
=
&
(
(
DrawSheetLabelStruct
*
)
Objet2
->
m_Label
)
->
m_Text
;
else
Text2
=
&
(
(
DrawTextStruct
*
)
Objet2
->
m_Label
)
->
m_Text
;
Text2
=
&
(
(
SCH_TEXT
*
)
Objet2
->
m_Label
)
->
m_Text
;
ii
=
Text1
->
CmpNoCase
(
*
Text2
);
}
...
...
@@ -1125,7 +1125,7 @@ static void DeleteSubCmp( ListComponent* List, int NbItems )
*/
{
int
ii
;
EDA_SchComponentStruct
*
LibItem
;
SCH_COMPONENT
*
LibItem
;
wxString
OldName
,
CurrName
;
for
(
ii
=
0
;
ii
<
NbItems
;
ii
++
)
...
...
@@ -1149,7 +1149,7 @@ static void DeleteSubCmp( ListComponent* List, int NbItems )
/*******************************************************************************************/
void
WinEDA_Build_BOM_Frame
::
PrintFieldData
(
FILE
*
f
,
EDA_SchComponentStruct
*
DrawLibItem
,
void
WinEDA_Build_BOM_Frame
::
PrintFieldData
(
FILE
*
f
,
SCH_COMPONENT
*
DrawLibItem
,
bool
CompactForm
)
/*******************************************************************************************/
{
...
...
@@ -1198,7 +1198,7 @@ int WinEDA_Build_BOM_Frame::PrintListeCmpByRef( FILE* f, ListComponent* List, in
{
int
ii
,
Multi
,
Unit
;
EDA_BaseStruct
*
DrawList
;
EDA_SchComponentStruct
*
DrawLibItem
;
SCH_COMPONENT
*
DrawLibItem
;
EDA_LibComponentStruct
*
Entry
;
char
NameCmp
[
80
];
wxString
msg
;
...
...
@@ -1254,10 +1254,10 @@ int WinEDA_Build_BOM_Frame::PrintListeCmpByRef( FILE* f, ListComponent* List, in
if
(
DrawList
==
NULL
)
continue
;
if
(
DrawList
->
Type
()
!=
DRAW_LIB_ITEM_STRUCT_TYPE
)
if
(
DrawList
->
Type
()
!=
TYPE_SCH_COMPONENT
)
continue
;
DrawLibItem
=
(
EDA_SchComponentStruct
*
)
DrawList
;
DrawLibItem
=
(
SCH_COMPONENT
*
)
DrawList
;
if
(
List
[
ii
].
m_Ref
[
0
]
==
'#'
)
continue
;
...
...
@@ -1313,7 +1313,7 @@ int WinEDA_Build_BOM_Frame::PrintListeCmpByVal( FILE* f, ListComponent* List, in
int
ii
,
Multi
;
wxChar
Unit
;
EDA_BaseStruct
*
DrawList
;
EDA_SchComponentStruct
*
DrawLibItem
;
SCH_COMPONENT
*
DrawLibItem
;
EDA_LibComponentStruct
*
Entry
;
wxString
msg
;
...
...
@@ -1331,10 +1331,10 @@ int WinEDA_Build_BOM_Frame::PrintListeCmpByVal( FILE* f, ListComponent* List, in
if
(
DrawList
==
NULL
)
continue
;
if
(
DrawList
->
Type
()
!=
DRAW_LIB_ITEM_STRUCT_TYPE
)
if
(
DrawList
->
Type
()
!=
TYPE_SCH_COMPONENT
)
continue
;
DrawLibItem
=
(
EDA_SchComponentStruct
*
)
DrawList
;
DrawLibItem
=
(
SCH_COMPONENT
*
)
DrawList
;
if
(
List
[
ii
].
m_Ref
[
0
]
==
'#'
)
continue
;
...
...
@@ -1377,7 +1377,7 @@ static int PrintListeGLabel( FILE* f, ListLabel* List, int NbItems )
/******************************************************************/
{
int
ii
,
jj
;
DrawLabelStruct
*
DrawTextItem
;
SCH_LABEL
*
DrawTextItem
;
DrawSheetLabelStruct
*
DrawSheetLabel
;
ListLabel
*
LabelItem
;
wxString
msg
,
sheetpath
;
...
...
@@ -1389,10 +1389,10 @@ static int PrintListeGLabel( FILE* f, ListLabel* List, int NbItems )
switch
(
LabelItem
->
m_LabelType
)
{
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
DrawTextItem
=
(
DrawLabelStruct
*
)
(
LabelItem
->
m_Label
);
if
(
LabelItem
->
m_LabelType
==
DRAW_HIER_LABEL_STRUCT_TYPE
)
case
TYPE_SCH_HIERLABEL
:
case
TYPE_SCH_GLOBALLABEL
:
DrawTextItem
=
(
SCH_LABEL
*
)
(
LabelItem
->
m_Label
);
if
(
LabelItem
->
m_LabelType
==
TYPE_SCH_HIERLABEL
)
labeltype
=
wxT
(
"Hierarchical"
);
else
labeltype
=
wxT
(
"Global "
);
...
...
eeschema/dialog_build_BOM.h
View file @
c406eed1
...
...
@@ -133,7 +133,7 @@ public:
void
CreateExportList
(
const
wxString
&
FullFileName
);
int
PrintListeCmpByRef
(
FILE
*
f
,
ListComponent
*
List
,
int
NbItems
,
bool
CompactForm
=
FALSE
);
int
PrintListeCmpByVal
(
FILE
*
f
,
ListComponent
*
List
,
int
NbItems
);
void
PrintFieldData
(
FILE
*
f
,
EDA_SchComponentStruct
*
DrawLibItem
,
bool
CompactForm
=
FALSE
);
void
PrintFieldData
(
FILE
*
f
,
SCH_COMPONENT
*
DrawLibItem
,
bool
CompactForm
=
FALSE
);
void
SavePreferences
();
...
...
eeschema/dialog_edit_component_in_schematic.cpp
View file @
c406eed1
...
...
@@ -54,7 +54,7 @@ WinEDA_ComponentPropertiesFrame::WinEDA_ComponentPropertiesFrame( )
}
WinEDA_ComponentPropertiesFrame
::
WinEDA_ComponentPropertiesFrame
(
WinEDA_SchematicFrame
*
parent
,
EDA_SchComponentStruct
*
cmp
,
SCH_COMPONENT
*
cmp
,
wxWindowID
id
,
const
wxString
&
caption
,
const
wxPoint
&
pos
,
const
wxSize
&
size
,
long
style
)
{
m_Parent
=
parent
;
...
...
eeschema/dialog_edit_component_in_schematic.h
View file @
c406eed1
...
...
@@ -76,7 +76,7 @@ public:
/// Constructors
WinEDA_ComponentPropertiesFrame
(
);
WinEDA_ComponentPropertiesFrame
(
WinEDA_SchematicFrame
*
parent
,
EDA_SchComponentStruct
*
cmp
,
SCH_COMPONENT
*
cmp
,
wxWindowID
id
=
SYMBOL_WINEDA_COMPONENTPROPERTIESFRAME_IDNAME
,
const
wxString
&
caption
=
SYMBOL_WINEDA_COMPONENTPROPERTIESFRAME_TITLE
,
const
wxPoint
&
pos
=
SYMBOL_WINEDA_COMPONENTPROPERTIESFRAME_POSITION
,
const
wxSize
&
size
=
SYMBOL_WINEDA_COMPONENTPROPERTIESFRAME_SIZE
,
long
style
=
SYMBOL_WINEDA_COMPONENTPROPERTIESFRAME_STYLE
);
/// Creation
...
...
@@ -137,7 +137,7 @@ public:
////@end WinEDA_ComponentPropertiesFrame member variables
WinEDA_SchematicFrame
*
m_Parent
;
EDA_SchComponentStruct
*
m_Cmp
;
SCH_COMPONENT
*
m_Cmp
;
EDA_LibComponentStruct
*
m_LibEntry
;
int
m_CurrentFieldId
;
...
...
eeschema/dialog_edit_label.cpp
View file @
c406eed1
...
...
@@ -51,7 +51,7 @@ WinEDA_LabelPropertiesFrame::WinEDA_LabelPropertiesFrame( )
}
WinEDA_LabelPropertiesFrame
::
WinEDA_LabelPropertiesFrame
(
WinEDA_SchematicFrame
*
parent
,
DrawTextStruct
*
CurrentText
,
SCH_TEXT
*
CurrentText
,
const
wxPoint
&
pos
,
wxWindowID
id
,
const
wxString
&
caption
,
const
wxSize
&
size
,
long
style
)
{
...
...
@@ -64,15 +64,15 @@ wxString msg;
m_TextLabel
->
SetFocus
();
switch
(
m_CurrentText
->
Type
()
)
{
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
TYPE_SCH_GLOBALLABEL
:
SetTitle
(
_
(
"Global Label properties"
));
break
;
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
TYPE_SCH_HIERLABEL
:
SetTitle
(
_
(
"Hierarchal Label properties"
));
break
;
case
DRAW_LABEL_STRUCT_TYPE
:
case
TYPE_SCH_LABEL
:
SetTitle
(
_
(
"Label properties"
));
break
;
...
...
@@ -189,8 +189,8 @@ void WinEDA_LabelPropertiesFrame::CreateControls()
m_TextShape
->
SetValidator
(
wxGenericValidator
(
&
m_CurrentText
->
m_Shape
)
);
////@end WinEDA_LabelPropertiesFrame content construction
if
(
m_CurrentText
->
Type
()
==
DRAW_GLOBAL_LABEL_STRUCT_TYPE
||
m_CurrentText
->
Type
()
==
DRAW_HIER_LABEL_STRUCT_TYPE
)
if
(
m_CurrentText
->
Type
()
==
TYPE_SCH_GLOBALLABEL
||
m_CurrentText
->
Type
()
==
TYPE_SCH_HIERLABEL
)
m_TextShape
->
Show
(
true
);
}
...
...
eeschema/dialog_edit_label.h
View file @
c406eed1
...
...
@@ -68,7 +68,7 @@ public:
/// Constructors
WinEDA_LabelPropertiesFrame
(
);
WinEDA_LabelPropertiesFrame
(
WinEDA_SchematicFrame
*
parent
,
DrawTextStruct
*
CurrentText
,
SCH_TEXT
*
CurrentText
,
const
wxPoint
&
pos
=
SYMBOL_WINEDA_LABELPROPERTIESFRAME_POSITION
,
wxWindowID
id
=
SYMBOL_WINEDA_LABELPROPERTIESFRAME_IDNAME
,
const
wxString
&
caption
=
SYMBOL_WINEDA_LABELPROPERTIESFRAME_TITLE
,
const
wxSize
&
size
=
SYMBOL_WINEDA_LABELPROPERTIESFRAME_SIZE
,
long
style
=
SYMBOL_WINEDA_LABELPROPERTIESFRAME_STYLE
);
...
...
@@ -110,7 +110,7 @@ public:
////@end WinEDA_LabelPropertiesFrame member variables
WinEDA_SchematicFrame
*
m_Parent
;
DrawTextStruct
*
m_CurrentText
;
SCH_TEXT
*
m_CurrentText
;
};
...
...
eeschema/edit_component_in_schematic.cpp
View file @
c406eed1
...
...
@@ -39,14 +39,14 @@ static wxPoint OldPos;
/**********************************************************************/
void
InstallCmpeditFrame
(
WinEDA_SchematicFrame
*
parent
,
wxPoint
&
pos
,
EDA_SchComponentStruct
*
cmp
)
SCH_COMPONENT
*
cmp
)
/*********************************************************************/
/* Create the dialog box for the current component edition
*/
{
parent
->
DrawPanel
->
m_IgnoreMouseEvents
=
TRUE
;
if
(
cmp
->
Type
()
!=
DRAW_LIB_ITEM_STRUCT_TYPE
)
if
(
cmp
->
Type
()
!=
TYPE_SCH_COMPONENT
)
{
DisplayError
(
parent
,
wxT
(
"InstallCmpeditFrame() error: This struct is not a component"
)
);
...
...
@@ -458,7 +458,7 @@ void WinEDA_SchematicFrame::StartMoveCmpField( PartTextStruct* Field, wxDC* DC )
wxPoint
pos
,
newpos
;
int
x1
,
y1
;
EDA_SchComponentStruct
*
Cmp
=
(
EDA_SchComponentStruct
*
)
CurrentField
->
m_Parent
;
SCH_COMPONENT
*
Cmp
=
(
SCH_COMPONENT
*
)
CurrentField
->
m_Parent
;
SAFE_DELETE
(
g_ItemToUndoCopy
);
g_ItemToUndoCopy
=
Cmp
->
GenCopy
();
...
...
@@ -519,7 +519,7 @@ void WinEDA_SchematicFrame::EditCmpFieldText( PartTextStruct* Field, wxDC* DC )
return
;
}
EDA_SchComponentStruct
*
Cmp
=
(
EDA_SchComponentStruct
*
)
Field
->
m_Parent
;
SCH_COMPONENT
*
Cmp
=
(
SCH_COMPONENT
*
)
Field
->
m_Parent
;
FieldNumber
=
Field
->
m_FieldId
;
if
(
FieldNumber
==
VALUE
)
...
...
@@ -608,14 +608,14 @@ static void MoveCmpField( WinEDA_DrawPanel* panel, wxDC* DC, bool erase )
if
(
CurrentField
==
NULL
)
return
;
EDA_SchComponentStruct
*
Cmp
=
(
EDA_SchComponentStruct
*
)
CurrentField
->
m_Parent
;
SCH_COMPONENT
*
Cmp
=
(
SCH_COMPONENT
*
)
CurrentField
->
m_Parent
;
FieldNumber
=
CurrentField
->
m_FieldId
;
/* Effacement: */
if
(
erase
)
DrawTextField
(
panel
,
DC
,
CurrentField
,
Multiflag
,
g_XorMode
);
pos
=
(
(
EDA_SchComponentStruct
*
)
CurrentField
->
m_Parent
)
->
m_Pos
;
pos
=
(
(
SCH_COMPONENT
*
)
CurrentField
->
m_Parent
)
->
m_Pos
;
/* Les positions sont caculees par la matrice TRANSPOSEE de la matrice
* de rotation-miroir */
...
...
@@ -658,13 +658,13 @@ void WinEDA_SchematicFrame::RotateCmpField( PartTextStruct* Field, wxDC* DC )
if
(
Field
->
m_Text
==
wxEmptyString
)
return
;
EDA_SchComponentStruct
*
Cmp
=
(
EDA_SchComponentStruct
*
)
Field
->
m_Parent
;
SCH_COMPONENT
*
Cmp
=
(
SCH_COMPONENT
*
)
Field
->
m_Parent
;
FieldNumber
=
Field
->
m_FieldId
;
flag
=
0
;
if
(
FieldNumber
==
REFERENCE
)
{
Entry
=
FindLibPart
(
(
(
EDA_SchComponentStruct
*
)
Field
->
m_Parent
)
->
m_ChipName
.
GetData
(),
Entry
=
FindLibPart
(
(
(
SCH_COMPONENT
*
)
Field
->
m_Parent
)
->
m_ChipName
.
GetData
(),
wxEmptyString
,
FIND_ROOT
);
if
(
Entry
!=
NULL
)
{
...
...
@@ -699,13 +699,13 @@ void PartTextStruct::Place( WinEDA_DrawFrame* frame, wxDC* DC )
frame
->
DrawPanel
->
ManageCurseur
=
NULL
;
frame
->
DrawPanel
->
ForceCloseManageCurseur
=
NULL
;
EDA_SchComponentStruct
*
Cmp
=
(
EDA_SchComponentStruct
*
)
m_Parent
;
SCH_COMPONENT
*
Cmp
=
(
SCH_COMPONENT
*
)
m_Parent
;
/* save old cmp in undo list */
if
(
g_ItemToUndoCopy
&&
(
g_ItemToUndoCopy
->
Type
()
==
Cmp
->
Type
())
)
{
Cmp
->
SwapData
(
(
EDA_SchComponentStruct
*
)
g_ItemToUndoCopy
);
Cmp
->
SwapData
(
(
SCH_COMPONENT
*
)
g_ItemToUndoCopy
);
(
(
WinEDA_SchematicFrame
*
)
frame
)
->
SaveCopyInUndoList
(
Cmp
,
IS_CHANGED
);
Cmp
->
SwapData
(
(
EDA_SchComponentStruct
*
)
g_ItemToUndoCopy
);
Cmp
->
SwapData
(
(
SCH_COMPONENT
*
)
g_ItemToUndoCopy
);
}
FieldNumber
=
m_FieldId
;
...
...
@@ -730,7 +730,7 @@ void PartTextStruct::Place( WinEDA_DrawFrame* frame, wxDC* DC )
/**************************************************************************************************/
void
WinEDA_SchematicFrame
::
EditComponentReference
(
EDA_SchComponentStruct
*
Cmp
,
wxDC
*
DC
)
void
WinEDA_SchematicFrame
::
EditComponentReference
(
SCH_COMPONENT
*
Cmp
,
wxDC
*
DC
)
/**************************************************************************************************/
/* Edit the component text reference*/
{
...
...
@@ -768,7 +768,7 @@ void WinEDA_SchematicFrame::EditComponentReference( EDA_SchComponentStruct* Cmp,
/*****************************************************************************************/
void
WinEDA_SchematicFrame
::
EditComponentValue
(
EDA_SchComponentStruct
*
Cmp
,
wxDC
*
DC
)
void
WinEDA_SchematicFrame
::
EditComponentValue
(
SCH_COMPONENT
*
Cmp
,
wxDC
*
DC
)
/*****************************************************************************************/
/* Routine de changement du texte selectionne */
{
...
...
@@ -808,7 +808,7 @@ void WinEDA_SchematicFrame::EditComponentValue( EDA_SchComponentStruct* Cmp, wxD
}
/*****************************************************************************************/
void
WinEDA_SchematicFrame
::
EditComponentFootprint
(
EDA_SchComponentStruct
*
Cmp
,
wxDC
*
DC
)
void
WinEDA_SchematicFrame
::
EditComponentFootprint
(
SCH_COMPONENT
*
Cmp
,
wxDC
*
DC
)
/*****************************************************************************************/
{
wxString
msg
;
...
...
eeschema/edit_label.cpp
View file @
c406eed1
...
...
@@ -69,7 +69,7 @@ void WinEDA_LabelPropertiesFrame::TextPropertiesAccept( wxCommandEvent& event )
/********************************************************************************/
void
WinEDA_SchematicFrame
::
StartMoveTexte
(
DrawTextStruct
*
TextStruct
,
wxDC
*
DC
)
void
WinEDA_SchematicFrame
::
StartMoveTexte
(
SCH_TEXT
*
TextStruct
,
wxDC
*
DC
)
/********************************************************************************/
{
if
(
TextStruct
==
NULL
)
...
...
@@ -87,10 +87,10 @@ void WinEDA_SchematicFrame::StartMoveTexte( DrawTextStruct* TextStruct, wxDC* DC
switch
(
TextStruct
->
Type
()
)
{
case
DRAW_LABEL_STRUCT_TYPE
:
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
DRAW_TEXT_STRUCT_TYPE
:
case
TYPE_SCH_LABEL
:
case
TYPE_SCH_GLOBALLABEL
:
case
TYPE_SCH_HIERLABEL
:
case
TYPE_SCH_TEXT
:
ItemInitialPosition
=
TextStruct
->
m_Pos
;
OldSize
=
TextStruct
->
m_Size
;
OldOrient
=
TextStruct
->
m_Orient
;
...
...
@@ -115,7 +115,7 @@ void WinEDA_SchematicFrame::StartMoveTexte( DrawTextStruct* TextStruct, wxDC* DC
/*************************************************************************/
void
WinEDA_SchematicFrame
::
EditSchematicText
(
DrawTextStruct
*
TextStruct
,
void
WinEDA_SchematicFrame
::
EditSchematicText
(
SCH_TEXT
*
TextStruct
,
wxDC
*
DC
)
/*************************************************************************/
...
...
@@ -140,11 +140,11 @@ void WinEDA_SchematicFrame::EditSchematicText( DrawTextStruct* TextStruct,
/***********************************************************************************/
void
WinEDA_SchematicFrame
::
ChangeTextOrient
(
DrawTextStruct
*
TextStruct
,
wxDC
*
DC
)
void
WinEDA_SchematicFrame
::
ChangeTextOrient
(
SCH_TEXT
*
TextStruct
,
wxDC
*
DC
)
/***********************************************************************************/
{
if
(
TextStruct
==
NULL
)
TextStruct
=
(
DrawTextStruct
*
)
PickStruct
(
GetScreen
()
->
m_Curseur
,
TextStruct
=
(
SCH_TEXT
*
)
PickStruct
(
GetScreen
()
->
m_Curseur
,
GetScreen
(),
TEXTITEM
|
LABELITEM
);
if
(
TextStruct
==
NULL
)
return
;
...
...
@@ -160,10 +160,10 @@ void WinEDA_SchematicFrame::ChangeTextOrient( DrawTextStruct* TextStruct, wxDC*
/* Rotation du texte */
switch
(
TextStruct
->
Type
()
)
{
case
DRAW_LABEL_STRUCT_TYPE
:
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
DRAW_TEXT_STRUCT_TYPE
:
case
TYPE_SCH_LABEL
:
case
TYPE_SCH_GLOBALLABEL
:
case
TYPE_SCH_HIERLABEL
:
case
TYPE_SCH_TEXT
:
TextStruct
->
m_Orient
++
;
TextStruct
->
m_Orient
&=
3
;
break
;
...
...
@@ -187,28 +187,28 @@ EDA_BaseStruct* WinEDA_SchematicFrame::CreateNewText( wxDC* DC, int type )
/* Routine to create new text struct (GraphicText, label or Glabel).
*/
{
DrawTextStruct
*
NewText
=
NULL
;
SCH_TEXT
*
NewText
=
NULL
;
g_ItemToRepeat
=
NULL
;
switch
(
type
)
{
case
LAYER_NOTES
:
NewText
=
new
DrawTextStruct
(
GetScreen
()
->
m_Curseur
);
NewText
=
new
SCH_TEXT
(
GetScreen
()
->
m_Curseur
);
break
;
case
LAYER_LOCLABEL
:
NewText
=
new
DrawLabelStruct
(
GetScreen
()
->
m_Curseur
);
NewText
=
new
SCH_LABEL
(
GetScreen
()
->
m_Curseur
);
break
;
case
LAYER_HIERLABEL
:
NewText
=
new
DrawHierLabelStruct
(
GetScreen
()
->
m_Curseur
);
NewText
=
new
SCH_HIERLABEL
(
GetScreen
()
->
m_Curseur
);
NewText
->
m_Shape
=
s_DefaultShapeGLabel
;
NewText
->
m_Orient
=
s_DefaultOrientGLabel
;
break
;
case
LAYER_GLOBLABEL
:
NewText
=
new
DrawGlobalLabelStruct
(
GetScreen
()
->
m_Curseur
);
NewText
=
new
SCH_GLOBALLABEL
(
GetScreen
()
->
m_Curseur
);
NewText
->
m_Shape
=
s_DefaultShapeGLabel
;
NewText
->
m_Orient
=
s_DefaultOrientGLabel
;
break
;
...
...
@@ -260,11 +260,11 @@ static void ShowWhileMoving( WinEDA_DrawPanel* panel, wxDC* DC, bool erase )
/* redraw the text */
switch
(
TextStruct
->
Type
()
)
{
case
DRAW_LABEL_STRUCT_TYPE
:
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
DRAW_TEXT_STRUCT_TYPE
:
(
(
DrawTextStruct
*
)
TextStruct
)
->
m_Pos
=
panel
->
GetScreen
()
->
m_Curseur
;
case
TYPE_SCH_LABEL
:
case
TYPE_SCH_GLOBALLABEL
:
case
TYPE_SCH_HIERLABEL
:
case
TYPE_SCH_TEXT
:
(
(
SCH_TEXT
*
)
TextStruct
)
->
m_Pos
=
panel
->
GetScreen
()
->
m_Curseur
;
break
;
default
:
...
...
@@ -304,12 +304,12 @@ static void ExitMoveTexte( WinEDA_DrawPanel* Panel, wxDC* DC )
{
switch
(
Struct
->
Type
()
)
{
case
DRAW_LABEL_STRUCT_TYPE
:
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
DRAW_TEXT_STRUCT_TYPE
:
case
TYPE_SCH_LABEL
:
case
TYPE_SCH_GLOBALLABEL
:
case
TYPE_SCH_HIERLABEL
:
case
TYPE_SCH_TEXT
:
{
DrawTextStruct
*
Text
=
(
DrawTextStruct
*
)
Struct
;
SCH_TEXT
*
Text
=
(
SCH_TEXT
*
)
Struct
;
Text
->
m_Pos
=
ItemInitialPosition
;
Text
->
m_Size
=
OldSize
;
Text
->
m_Orient
=
OldOrient
;
...
...
@@ -327,7 +327,7 @@ static void ExitMoveTexte( WinEDA_DrawPanel* Panel, wxDC* DC )
/*****************************************************************************/
void
WinEDA_SchematicFrame
::
ConvertTextType
(
DrawTextStruct
*
Text
,
void
WinEDA_SchematicFrame
::
ConvertTextType
(
SCH_TEXT
*
Text
,
wxDC
*
DC
,
int
newtype
)
/*****************************************************************************/
...
...
@@ -339,22 +339,22 @@ void WinEDA_SchematicFrame::ConvertTextType( DrawTextStruct* Text,
if
(
Text
==
NULL
)
return
;
DrawTextStruct
*
newtext
;
SCH_TEXT
*
newtext
;
switch
(
newtype
)
{
case
DRAW_LABEL_STRUCT_TYPE
:
newtext
=
new
DrawLabelStruct
(
Text
->
m_Pos
,
Text
->
m_Text
);
case
TYPE_SCH_LABEL
:
newtext
=
new
SCH_LABEL
(
Text
->
m_Pos
,
Text
->
m_Text
);
break
;
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
newtext
=
new
DrawGlobalLabelStruct
(
Text
->
m_Pos
,
Text
->
m_Text
);
case
TYPE_SCH_GLOBALLABEL
:
newtext
=
new
SCH_GLOBALLABEL
(
Text
->
m_Pos
,
Text
->
m_Text
);
break
;
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
newtext
=
new
DrawHierLabelStruct
(
Text
->
m_Pos
,
Text
->
m_Text
);
case
TYPE_SCH_HIERLABEL
:
newtext
=
new
SCH_HIERLABEL
(
Text
->
m_Pos
,
Text
->
m_Text
);
break
;
case
DRAW_TEXT_STRUCT_TYPE
:
newtext
=
new
DrawTextStruct
(
Text
->
m_Pos
,
Text
->
m_Text
);
case
TYPE_SCH_TEXT
:
newtext
=
new
SCH_TEXT
(
Text
->
m_Pos
,
Text
->
m_Text
);
break
;
default
:
...
...
eeschema/eecreate.cpp
View file @
c406eed1
...
...
@@ -376,9 +376,9 @@ void WinEDA_SchematicFrame::RepeatDrawItem( wxDC* DC )
STRUCT
->
m_Pos
.
y
+=
g_RepeatStep
.
y
;
oy
=
STRUCT
->
m_Pos
.
y
;
break
;
case
DRAW_TEXT_STRUCT_TYPE
:
case
TYPE_SCH_TEXT
:
#undef STRUCT
#define STRUCT ( (
DrawTextStruct
*) g_ItemToRepeat )
#define STRUCT ( (
SCH_TEXT
*) g_ItemToRepeat )
g_ItemToRepeat
=
STRUCT
->
GenCopy
();
STRUCT
->
m_Pos
.
x
+=
g_RepeatStep
.
x
;
ox
=
STRUCT
->
m_Pos
.
x
;
STRUCT
->
m_Pos
.
y
+=
g_RepeatStep
.
y
;
oy
=
STRUCT
->
m_Pos
.
y
;
...
...
@@ -389,11 +389,11 @@ void WinEDA_SchematicFrame::RepeatDrawItem( wxDC* DC )
break
;
case
DRAW_LABEL_STRUCT_TYPE
:
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
TYPE_SCH_LABEL
:
case
TYPE_SCH_GLOBALLABEL
:
case
TYPE_SCH_HIERLABEL
:
#undef STRUCT
#define STRUCT ( (
DrawLabelStruct
*) g_ItemToRepeat )
#define STRUCT ( (
SCH_LABEL
*) g_ItemToRepeat )
g_ItemToRepeat
=
STRUCT
->
GenCopy
();
STRUCT
->
m_Pos
.
x
+=
g_RepeatStep
.
x
;
ox
=
STRUCT
->
m_Pos
.
x
;
STRUCT
->
m_Pos
.
y
+=
g_RepeatStep
.
y
;
oy
=
STRUCT
->
m_Pos
.
y
;
...
...
@@ -528,9 +528,9 @@ static bool IsTerminalPoint( SCH_SCREEN* screen, const wxPoint& pos, int layer )
return
TRUE
;
item
=
PickStruct
(
screen
,
LABELITEM
);
if
(
item
&&
(
item
->
Type
()
!=
DRAW_TEXT_STRUCT_TYPE
)
&&
(
(
(
DrawGlobalLabelStruct
*
)
item
)
->
m_Pos
.
x
==
pos
.
x
)
&&
(
(
(
DrawGlobalLabelStruct
*
)
item
)
->
m_Pos
.
y
==
pos
.
y
)
)
if
(
item
&&
(
item
->
Type
()
!=
TYPE_SCH_TEXT
)
&&
(
(
(
SCH_GLOBALLABEL
*
)
item
)
->
m_Pos
.
x
==
pos
.
x
)
&&
(
(
(
SCH_GLOBALLABEL
*
)
item
)
->
m_Pos
.
y
==
pos
.
y
)
)
return
TRUE
;
pinsheet
=
LocateAnyPinSheet
(
pos
,
screen
->
EEDrawList
);
...
...
eeschema/eelibs_draw_components.cpp
View file @
c406eed1
...
...
@@ -40,7 +40,7 @@ static int s_ItemSelectColor = BROWN;
static
EDA_LibComponentStruct
*
DummyCmp
;
static
int
*
Buf_Poly_Drawings
,
Buf_Poly_Size
;
// Used fo polyline drawings
static
void
DrawLibPartAux
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
EDA_SchComponentStruct
*
Component
,
SCH_COMPONENT
*
Component
,
EDA_LibComponentStruct
*
Entry
,
const
wxPoint
&
Pos
,
int
TransMat
[
2
][
2
],
...
...
@@ -204,7 +204,7 @@ void DrawLibEntry( WinEDA_DrawPanel* panel, wxDC* DC,
* Routine to draw the given part at given position, transformed/mirror as *
* specified, and in the given drawing mode. Only this one is visible... *
*****************************************************************************/
void
EDA_SchComponentStruct
::
Draw
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
void
SCH_COMPONENT
::
Draw
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
const
wxPoint
&
offset
,
int
DrawMode
,
int
Color
)
{
EDA_LibComponentStruct
*
Entry
;
...
...
@@ -262,7 +262,7 @@ void DrawTextField( WinEDA_DrawPanel* panel, wxDC* DC,
{
int
orient
,
color
;
wxPoint
pos
;
/* Position des textes */
EDA_SchComponentStruct
*
DrawLibItem
=
(
EDA_SchComponentStruct
*
)
Field
->
m_Parent
;
SCH_COMPONENT
*
DrawLibItem
=
(
SCH_COMPONENT
*
)
Field
->
m_Parent
;
int
hjustify
,
vjustify
;
int
LineWidth
=
MAX
(
Field
->
m_Width
,
g_DrawMinimunLineWidth
);
...
...
@@ -404,7 +404,7 @@ EDA_LibComponentStruct* FindLibPart( const wxChar* Name, const wxString& LibName
*****************************************************************************/
/* DrawMode = GrXOR, GrOR ..*/
void
DrawLibPartAux
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
EDA_SchComponentStruct
*
Component
,
SCH_COMPONENT
*
Component
,
EDA_LibComponentStruct
*
Entry
,
const
wxPoint
&
Pos
,
int
TransMat
[
2
][
2
],
...
...
@@ -896,7 +896,7 @@ bool MapAngles( int* Angle1, int* Angle2, int TransMat[2][2] )
*****************************************************************************/
void
DrawingLibInGhost
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
EDA_LibComponentStruct
*
LibEntry
,
EDA_SchComponentStruct
*
DrawLibItem
,
int
PartX
,
int
PartY
,
SCH_COMPONENT
*
DrawLibItem
,
int
PartX
,
int
PartY
,
int
multi
,
int
convert
,
int
Color
,
bool
DrawPinText
)
{
int
DrawMode
=
g_XorMode
;
...
...
eeschema/eeredraw.cpp
View file @
c406eed1
...
...
@@ -459,22 +459,22 @@ void DrawStructsInGhost( WinEDA_DrawPanel* panel, wxDC* DC,
break
;
}
case
DRAW_TEXT_STRUCT_TYPE
:
case
TYPE_SCH_TEXT
:
{
DrawTextStruct
*
Struct
;
Struct
=
(
DrawTextStruct
*
)
DrawStruct
;
SCH_TEXT
*
Struct
;
Struct
=
(
SCH_TEXT
*
)
DrawStruct
;
Struct
->
m_Pos
.
x
+=
dx
;
Struct
->
m_Pos
.
y
+=
dy
;
Struct
->
Draw
(
panel
,
DC
,
wxPoint
(
0
,
0
),
DrawMode
,
g_GhostColor
);
Struct
->
m_Pos
.
x
-=
dx
;
Struct
->
m_Pos
.
y
-=
dy
;
break
;
}
case
DRAW_LABEL_STRUCT_TYPE
:
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
TYPE_SCH_LABEL
:
case
TYPE_SCH_GLOBALLABEL
:
case
TYPE_SCH_HIERLABEL
:
{
DrawLabelStruct
*
Struct
;
Struct
=
(
DrawLabelStruct
*
)
DrawStruct
;
SCH_LABEL
*
Struct
;
Struct
=
(
SCH_LABEL
*
)
DrawStruct
;
Struct
->
m_Pos
.
x
+=
dx
;
Struct
->
m_Pos
.
y
+=
dy
;
Struct
->
Draw
(
panel
,
DC
,
wxPoint
(
0
,
0
),
DrawMode
,
g_GhostColor
);
Struct
->
m_Pos
.
x
-=
dx
;
Struct
->
m_Pos
.
y
-=
dy
;
...
...
@@ -491,11 +491,11 @@ void DrawStructsInGhost( WinEDA_DrawPanel* panel, wxDC* DC,
break
;
}
case
DRAW_LIB_ITEM_STRUCT_TYPE
:
case
TYPE_SCH_COMPONENT
:
{
EDA_LibComponentStruct
*
LibEntry
;
EDA_SchComponentStruct
*
Struct
;
Struct
=
(
EDA_SchComponentStruct
*
)
DrawStruct
;
SCH_COMPONENT
*
Struct
;
Struct
=
(
SCH_COMPONENT
*
)
DrawStruct
;
LibEntry
=
FindLibPart
(
Struct
->
m_ChipName
.
GetData
(),
wxEmptyString
,
FIND_ROOT
);
if
(
LibEntry
==
NULL
)
break
;
...
...
eeschema/files-io.cpp
View file @
c406eed1
...
...
@@ -303,7 +303,7 @@ int CountCmpNumber()
{
for( Phead = Window->EEDrawList; Phead != NULL; Phead = Phead->Pnext )
{
if( Phead->Type() ==
DRAW_LIB_ITEM_STRUCT_TYPE
)
if( Phead->Type() ==
TYPE_SCH_COMPONENT
)
{
DrawPartStruct* Cmp = (DrawPartStruct*) Phead;
if( Cmp->m_Field[VALUE].m_Text.GetChar( 0 ) != '#' )
...
...
eeschema/find.cpp
View file @
c406eed1
...
...
@@ -72,7 +72,7 @@ EDA_BaseStruct* WinEDA_SchematicFrame::FindComponentAndItem(
{
DrawSheetPath
*
sheet
,
*
SheetWithComponentFound
=
NULL
;
EDA_BaseStruct
*
DrawList
=
NULL
;
EDA_SchComponentStruct
*
Component
=
NULL
;
SCH_COMPONENT
*
Component
=
NULL
;
wxSize
DrawAreaSize
=
DrawPanel
->
GetClientSize
();
wxPoint
pos
,
curpos
;
bool
DoCenterAndRedraw
=
FALSE
;
...
...
@@ -91,10 +91,10 @@ EDA_BaseStruct* WinEDA_SchematicFrame::FindComponentAndItem(
DrawList
=
sheet
->
LastDrawList
();
for
(
;
(
DrawList
!=
NULL
)
&&
(
NotFound
==
true
);
DrawList
=
DrawList
->
Pnext
)
{
if
(
DrawList
->
Type
()
==
DRAW_LIB_ITEM_STRUCT_TYPE
)
if
(
DrawList
->
Type
()
==
TYPE_SCH_COMPONENT
)
{
EDA_SchComponentStruct
*
pSch
;
pSch
=
(
EDA_SchComponentStruct
*
)
DrawList
;
SCH_COMPONENT
*
pSch
;
pSch
=
(
SCH_COMPONENT
*
)
DrawList
;
if
(
component_reference
.
CmpNoCase
(
pSch
->
GetRef
(
sheet
)
)
==
0
)
{
Component
=
pSch
;
...
...
@@ -465,9 +465,9 @@ EDA_BaseStruct* WinEDA_SchematicFrame::FindSchematicItem(
{
switch
(
DrawList
->
Type
()
)
{
case
DRAW_LIB_ITEM_STRUCT_TYPE
:
EDA_SchComponentStruct
*
pSch
;
pSch
=
(
EDA_SchComponentStruct
*
)
DrawList
;
case
TYPE_SCH_COMPONENT
:
SCH_COMPONENT
*
pSch
;
pSch
=
(
SCH_COMPONENT
*
)
DrawList
;
if
(
WildCompareString
(
WildText
,
pSch
->
GetRef
(
Sheet
),
FALSE
)
)
{
NotFound
=
FALSE
;
...
...
@@ -481,12 +481,12 @@ EDA_BaseStruct* WinEDA_SchematicFrame::FindSchematicItem(
}
break
;
case
DRAW_LABEL_STRUCT_TYPE
:
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
DRAW_TEXT_STRUCT_TYPE
:
DrawTextStruct
*
pDraw
;
pDraw
=
(
DrawTextStruct
*
)
DrawList
;
case
TYPE_SCH_LABEL
:
case
TYPE_SCH_GLOBALLABEL
:
case
TYPE_SCH_HIERLABEL
:
case
TYPE_SCH_TEXT
:
SCH_TEXT
*
pDraw
;
pDraw
=
(
SCH_TEXT
*
)
DrawList
;
if
(
WildCompareString
(
WildText
,
pDraw
->
m_Text
,
FALSE
)
)
{
NotFound
=
FALSE
;
...
...
@@ -551,12 +551,12 @@ EDA_BaseStruct* WinEDA_SchematicFrame::FindSchematicItem(
DoCenterAndRedraw
=
TRUE
;
}
/* the struct is a
DRAW_LIB_ITEM_STRUCT_TYPE
type,
/* the struct is a
TYPE_SCH_COMPONENT
type,
* coordinates must be computed according to its orientation matrix
*/
if
(
Struct
->
Type
()
==
DRAW_LIB_ITEM_STRUCT_TYPE
)
if
(
Struct
->
Type
()
==
TYPE_SCH_COMPONENT
)
{
EDA_SchComponentStruct
*
pSch
=
(
EDA_SchComponentStruct
*
)
Struct
;
SCH_COMPONENT
*
pSch
=
(
SCH_COMPONENT
*
)
Struct
;
pos
.
x
-=
pSch
->
m_Pos
.
x
;
pos
.
y
-=
pSch
->
m_Pos
.
y
;
...
...
eeschema/getpart.cpp
View file @
c406eed1
...
...
@@ -59,7 +59,7 @@ wxString SelectFromLibBrowser( WinEDA_DrawFrame* parent )
/**************************************************************************/
EDA_SchComponentStruct
*
WinEDA_SchematicFrame
::
Load_Component
(
wxDC
*
DC
,
SCH_COMPONENT
*
WinEDA_SchematicFrame
::
Load_Component
(
wxDC
*
DC
,
const
wxString
&
libname
,
wxArrayString
&
HistoryList
,
bool
UseLibBrowser
)
...
...
@@ -73,7 +73,7 @@ EDA_SchComponentStruct* WinEDA_SchematicFrame::Load_Component( wxDC* DC,
int
ii
,
CmpCount
=
0
;
LibDrawField
*
Field
;
EDA_LibComponentStruct
*
Entry
=
NULL
;
EDA_SchComponentStruct
*
DrawLibItem
=
NULL
;
SCH_COMPONENT
*
DrawLibItem
=
NULL
;
LibraryStruct
*
Library
=
NULL
;
wxString
Name
,
keys
,
msg
;
bool
AllowWildSeach
=
TRUE
;
...
...
@@ -180,7 +180,7 @@ EDA_SchComponentStruct* WinEDA_SchematicFrame::Load_Component( wxDC* DC,
DrawPanel
->
ManageCurseur
=
ShowWhileMoving
;
DrawPanel
->
ForceCloseManageCurseur
=
ExitPlaceCmp
;
DrawLibItem
=
new
EDA_SchComponentStruct
(
GetScreen
()
->
m_Curseur
);
DrawLibItem
=
new
SCH_COMPONENT
(
GetScreen
()
->
m_Curseur
);
DrawLibItem
->
m_Multi
=
1
;
/* Selection de l'unite 1 dans le boitier */
DrawLibItem
->
m_Convert
=
1
;
DrawLibItem
->
m_ChipName
=
Name
;
...
...
@@ -257,7 +257,7 @@ static void ShowWhileMoving( WinEDA_DrawPanel* panel, wxDC* DC, bool erase )
{
wxPoint
move_vector
;
EDA_SchComponentStruct
*
DrawLibItem
=
(
EDA_SchComponentStruct
*
)
SCH_COMPONENT
*
DrawLibItem
=
(
SCH_COMPONENT
*
)
panel
->
m_Parent
->
GetScreen
()
->
GetCurItem
();
/* Effacement du composant */
...
...
@@ -276,7 +276,7 @@ static void ShowWhileMoving( WinEDA_DrawPanel* panel, wxDC* DC, bool erase )
/**************************************************************************/
void
WinEDA_SchematicFrame
::
CmpRotationMiroir
(
EDA_SchComponentStruct
*
DrawComponent
,
wxDC
*
DC
,
int
type_rotate
)
SCH_COMPONENT
*
DrawComponent
,
wxDC
*
DC
,
int
type_rotate
)
/**************************************************************************/
/* Routine permettant les rotations et les miroirs d'un composant
...
...
@@ -293,7 +293,9 @@ void WinEDA_SchematicFrame::CmpRotationMiroir(
if
(
DrawComponent
->
m_Flags
)
DrawStructsInGhost
(
DrawPanel
,
DC
,
DrawComponent
,
0
,
0
);
else
DrawComponent
->
Draw
(
DrawPanel
,
DC
,
wxPoint
(
0
,
0
),
g_XorMode
);
{
DrawPanel
->
PostDirtyRect
(
DrawComponent
->
GetBoundingBox
());
}
}
DrawComponent
->
SetRotationMiroir
(
type_rotate
);
...
...
@@ -320,7 +322,7 @@ static void ExitPlaceCmp( WinEDA_DrawPanel* Panel, wxDC* DC )
/* Routine de sortie de la fonction de placement de composant
*/
{
EDA_SchComponentStruct
*
DrawLibItem
=
(
EDA_SchComponentStruct
*
)
SCH_COMPONENT
*
DrawLibItem
=
(
SCH_COMPONENT
*
)
Panel
->
m_Parent
->
GetScreen
()
->
GetCurItem
();
if
(
DrawLibItem
->
m_Flags
&
IS_NEW
)
/* Nouveau Placement en cours, on l'efface */
...
...
@@ -352,7 +354,7 @@ static void ExitPlaceCmp( WinEDA_DrawPanel* Panel, wxDC* DC )
/************************************************************************/
void
WinEDA_SchematicFrame
::
SelPartUnit
(
EDA_SchComponentStruct
*
DrawComponent
,
void
WinEDA_SchematicFrame
::
SelPartUnit
(
SCH_COMPONENT
*
DrawComponent
,
int
unit
,
wxDC
*
DC
)
/************************************************************************/
/* Selection de l'unite dans les boitiers a multiples Parts */
...
...
@@ -400,7 +402,7 @@ void WinEDA_SchematicFrame::SelPartUnit( EDA_SchComponentStruct* DrawComponent,
/************************************************************************/
void
WinEDA_SchematicFrame
::
ConvertPart
(
EDA_SchComponentStruct
*
DrawComponent
,
void
WinEDA_SchematicFrame
::
ConvertPart
(
SCH_COMPONENT
*
DrawComponent
,
wxDC
*
DC
)
/************************************************************************/
{
...
...
@@ -469,13 +471,13 @@ int LookForConvertPart( EDA_LibComponentStruct* LibEntry )
/***********************************************************************************/
void
WinEDA_SchematicFrame
::
StartMovePart
(
EDA_SchComponentStruct
*
Component
,
void
WinEDA_SchematicFrame
::
StartMovePart
(
SCH_COMPONENT
*
Component
,
wxDC
*
DC
)
/***********************************************************************************/
{
if
(
Component
==
NULL
)
return
;
if
(
Component
->
Type
()
!=
DRAW_LIB_ITEM_STRUCT_TYPE
)
if
(
Component
->
Type
()
!=
TYPE_SCH_COMPONENT
)
return
;
if
(
Component
->
m_Flags
==
0
)
...
...
eeschema/hotkeys.cpp
View file @
c406eed1
...
...
@@ -281,7 +281,7 @@ void WinEDA_SchematicFrame::OnHotKey( wxDC* DC, int hotkey,
GetScreen
(),
LIBITEM
|
TEXTITEM
|
LABELITEM
);
if
(
DrawStruct
==
NULL
)
break
;
if
(
DrawStruct
->
Type
()
==
DRAW_LIB_ITEM_STRUCT_TYPE
)
if
(
DrawStruct
->
Type
()
==
TYPE_SCH_COMPONENT
)
DrawStruct
=
LocateSmallestComponent
(
(
SCH_SCREEN
*
)
GetScreen
()
);
if
(
DrawStruct
==
NULL
)
break
;
...
...
@@ -289,7 +289,7 @@ void WinEDA_SchematicFrame::OnHotKey( wxDC* DC, int hotkey,
switch
(
DrawStruct
->
Type
()
)
{
case
DRAW_LIB_ITEM_STRUCT_TYPE
:
case
TYPE_SCH_COMPONENT
:
if
(
DrawStruct
->
m_Flags
==
0
)
{
SaveCopyInUndoList
(
DrawStruct
,
IS_CHANGED
);
...
...
@@ -297,19 +297,19 @@ void WinEDA_SchematicFrame::OnHotKey( wxDC* DC, int hotkey,
}
CmpRotationMiroir
(
(
EDA_SchComponentStruct
*
)
DrawStruct
,
DC
,
CMP_ROTATE_COUNTERCLOCKWISE
);
(
SCH_COMPONENT
*
)
DrawStruct
,
DC
,
CMP_ROTATE_COUNTERCLOCKWISE
);
break
;
case
DRAW_TEXT_STRUCT_TYPE
:
case
DRAW_LABEL_STRUCT_TYPE
:
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
TYPE_SCH_TEXT
:
case
TYPE_SCH_LABEL
:
case
TYPE_SCH_GLOBALLABEL
:
case
TYPE_SCH_HIERLABEL
:
if
(
DrawStruct
->
m_Flags
==
0
)
{
SaveCopyInUndoList
(
DrawStruct
,
IS_CHANGED
);
RefreshToolBar
=
TRUE
;
}
ChangeTextOrient
(
(
DrawTextStruct
*
)
DrawStruct
,
DC
);
ChangeTextOrient
(
(
SCH_TEXT
*
)
DrawStruct
,
DC
);
break
;
default
:
...
...
@@ -329,7 +329,7 @@ void WinEDA_SchematicFrame::OnHotKey( wxDC* DC, int hotkey,
RefreshToolBar
=
TRUE
;
}
CmpRotationMiroir
(
(
EDA_SchComponentStruct
*
)
DrawStruct
,
DC
,
CMP_MIROIR_Y
);
(
SCH_COMPONENT
*
)
DrawStruct
,
DC
,
CMP_MIROIR_Y
);
}
break
;
...
...
@@ -344,7 +344,7 @@ void WinEDA_SchematicFrame::OnHotKey( wxDC* DC, int hotkey,
RefreshToolBar
=
TRUE
;
}
CmpRotationMiroir
(
(
EDA_SchComponentStruct
*
)
DrawStruct
,
DC
,
CMP_MIROIR_X
);
(
SCH_COMPONENT
*
)
DrawStruct
,
DC
,
CMP_MIROIR_X
);
}
break
;
...
...
@@ -359,7 +359,7 @@ void WinEDA_SchematicFrame::OnHotKey( wxDC* DC, int hotkey,
RefreshToolBar
=
TRUE
;
}
CmpRotationMiroir
(
(
EDA_SchComponentStruct
*
)
DrawStruct
,
DC
,
CMP_NORMAL
);
(
SCH_COMPONENT
*
)
DrawStruct
,
DC
,
CMP_NORMAL
);
TestDanglingEnds
(
(
SCH_SCREEN
*
)
GetScreen
()
->
EEDrawList
,
DC
);
}
break
;
...
...
@@ -386,7 +386,7 @@ void WinEDA_SchematicFrame::OnHotKey( wxDC* DC, int hotkey,
if
(
DrawStruct
)
{
EditComponentValue
(
(
EDA_SchComponentStruct
*
)
DrawStruct
,
DC
);
(
SCH_COMPONENT
*
)
DrawStruct
,
DC
);
}
break
;
...
...
@@ -398,7 +398,7 @@ void WinEDA_SchematicFrame::OnHotKey( wxDC* DC, int hotkey,
if
(
DrawStruct
)
{
EditComponentFootprint
(
(
EDA_SchComponentStruct
*
)
DrawStruct
,
DC
);
(
SCH_COMPONENT
*
)
DrawStruct
,
DC
);
}
break
;
}
...
...
eeschema/load_one_schematic_file.cpp
View file @
c406eed1
...
...
@@ -378,16 +378,16 @@ bool WinEDA_SchematicFrame::LoadOneEEFile( SCH_SCREEN* screen, const wxString& F
if
(
Name1
[
0
]
==
'L'
)
{
DrawLabelStruct
*
TextStruct
=
new
DrawLabelStruct
(
pos
,
CONV_FROM_UTF8
(
text
)
);
SCH_LABEL
*
TextStruct
=
new
SCH_LABEL
(
pos
,
CONV_FROM_UTF8
(
text
)
);
TextStruct
->
m_Size
.
x
=
TextStruct
->
m_Size
.
y
=
size
;
TextStruct
->
m_Orient
=
orient
;
Struct
=
(
EDA_BaseStruct
*
)
TextStruct
;
}
else
if
(
Name1
[
0
]
==
'G'
&&
version
>
'1'
)
{
DrawGlobalLabelStruct
*
TextStruct
=
new
DrawGlobalLabelStruct
(
pos
,
CONV_FROM_UTF8
(
text
)
);
SCH_GLOBALLABEL
*
TextStruct
=
new
SCH_GLOBALLABEL
(
pos
,
CONV_FROM_UTF8
(
text
)
);
Struct
=
(
EDA_BaseStruct
*
)
TextStruct
;
TextStruct
->
m_Size
.
x
=
TextStruct
->
m_Size
.
y
=
size
;
TextStruct
->
m_Orient
=
orient
;
...
...
@@ -403,8 +403,8 @@ bool WinEDA_SchematicFrame::LoadOneEEFile( SCH_SCREEN* screen, const wxString& F
}
else
if
(
(
Name1
[
0
]
==
'H'
)
||
(
Name1
[
0
]
==
'G'
&&
version
==
'1'
))
{
//in schematic file version 1, glabels were actually hierarchal labels.
DrawHierLabelStruct
*
TextStruct
=
new
DrawHierLabelStruct
(
pos
,
CONV_FROM_UTF8
(
text
)
);
SCH_HIERLABEL
*
TextStruct
=
new
SCH_HIERLABEL
(
pos
,
CONV_FROM_UTF8
(
text
)
);
Struct
=
(
EDA_BaseStruct
*
)
TextStruct
;
TextStruct
->
m_Size
.
x
=
TextStruct
->
m_Size
.
y
=
size
;
TextStruct
->
m_Orient
=
orient
;
...
...
@@ -420,8 +420,8 @@ bool WinEDA_SchematicFrame::LoadOneEEFile( SCH_SCREEN* screen, const wxString& F
}
else
{
DrawTextStruct
*
TextStruct
=
new
DrawTextStruct
(
pos
,
CONV_FROM_UTF8
(
text
)
);
SCH_TEXT
*
TextStruct
=
new
SCH_TEXT
(
pos
,
CONV_FROM_UTF8
(
text
)
);
TextStruct
->
m_Size
.
x
=
TextStruct
->
m_Size
.
y
=
size
;
TextStruct
->
m_Orient
=
orient
;
Struct
=
(
EDA_BaseStruct
*
)
TextStruct
;
...
...
@@ -489,11 +489,11 @@ static int ReadPartDescr( wxWindow* frame, char* Line, FILE* f,
int
ii
,
fieldref
;
char
Name1
[
256
],
Name2
[
256
],
Char1
[
256
],
Char2
[
256
],
Char3
[
256
];
EDA_SchComponentStruct
*
LibItemStruct
;
SCH_COMPONENT
*
LibItemStruct
;
int
Failed
=
0
,
newfmt
=
0
;
char
*
ptcar
;
LibItemStruct
=
new
EDA_SchComponentStruct
();
LibItemStruct
=
new
SCH_COMPONENT
();
LibItemStruct
->
m_Convert
=
1
;
if
(
Line
[
0
]
==
'$'
)
...
...
eeschema/locate.cpp
View file @
c406eed1
...
...
@@ -31,14 +31,14 @@ static bool SnapPoint2( const wxPoint& PosRef, int SearchMask,
/*********************************************************************/
EDA_SchComponentStruct
*
LocateSmallestComponent
(
SCH_SCREEN
*
Screen
)
SCH_COMPONENT
*
LocateSmallestComponent
(
SCH_SCREEN
*
Screen
)
/*********************************************************************/
/* Search the smaller (considering its area) component under the mouse cursor or the pcb cursor
* If more than 1 component is found, a pointer to the smaller component is returned
*/
{
EDA_SchComponentStruct
*
DrawLibItem
=
NULL
,
*
LastDrawLibItem
=
NULL
;
SCH_COMPONENT
*
DrawLibItem
=
NULL
,
*
LastDrawLibItem
=
NULL
;
EDA_BaseStruct
*
DrawList
;
EDA_Rect
BoundaryBox
;
float
sizeref
=
0
,
sizecurr
;
...
...
@@ -54,7 +54,7 @@ EDA_SchComponentStruct* LocateSmallestComponent( SCH_SCREEN* Screen )
DrawList
,
NULL
,
Screen
->
GetZoom
()
)
)
==
FALSE
)
break
;
}
DrawLibItem
=
(
EDA_SchComponentStruct
*
)
LastSnappedStruct
;
DrawLibItem
=
(
SCH_COMPONENT
*
)
LastSnappedStruct
;
DrawList
=
DrawLibItem
->
Pnext
;
if
(
LastDrawLibItem
==
NULL
)
// First time a component is located
{
...
...
@@ -341,10 +341,10 @@ bool SnapPoint2( const wxPoint& PosRef, int SearchMask,
}
break
;
case
DRAW_LABEL_STRUCT_TYPE
:
case
DRAW_TEXT_STRUCT_TYPE
:
case
TYPE_SCH_LABEL
:
case
TYPE_SCH_TEXT
:
#undef STRUCT
#define STRUCT ( (
DrawTextStruct
*) DrawList )
#define STRUCT ( (
SCH_TEXT
*) DrawList )
if
(
!
(
SearchMask
&
(
TEXTITEM
|
LABELITEM
)
)
)
break
;
dx
=
STRUCT
->
m_Size
.
x
*
STRUCT
->
GetLength
();
...
...
@@ -379,10 +379,10 @@ bool SnapPoint2( const wxPoint& PosRef, int SearchMask,
break
;
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
TYPE_SCH_GLOBALLABEL
:
case
TYPE_SCH_HIERLABEL
:
#undef STRUCT
#define STRUCT ( (
DrawLabelStruct
*) DrawList )
#define STRUCT ( (
SCH_LABEL
*) DrawList )
if
(
!
(
SearchMask
&
LABELITEM
)
)
break
;
dx
=
STRUCT
->
m_Size
.
x
*
(
STRUCT
->
GetLength
()
+
1
);
/* longueur */
...
...
@@ -416,14 +416,14 @@ bool SnapPoint2( const wxPoint& PosRef, int SearchMask,
}
break
;
case
DRAW_LIB_ITEM_STRUCT_TYPE
:
case
TYPE_SCH_COMPONENT
:
if
(
!
(
SearchMask
&
(
LIBITEM
|
FIELDCMPITEM
)
)
)
break
;
if
(
SearchMask
&
FIELDCMPITEM
)
{
PartTextStruct
*
Field
;
EDA_SchComponentStruct
*
DrawLibItem
=
(
EDA_SchComponentStruct
*
)
DrawList
;
SCH_COMPONENT
*
DrawLibItem
=
(
SCH_COMPONENT
*
)
DrawList
;
for
(
i
=
REFERENCE
;
i
<
NUMBER_OF_FIELDS
;
i
++
)
{
Field
=
&
DrawLibItem
->
m_Field
[
i
];
...
...
@@ -442,7 +442,7 @@ bool SnapPoint2( const wxPoint& PosRef, int SearchMask,
else
{
#undef STRUCT
#define STRUCT ( (
EDA_SchComponentStruct
*) DrawList )
#define STRUCT ( (
SCH_COMPONENT
*) DrawList )
EDA_Rect
BoundaryBox
=
STRUCT
->
GetBoundaryBox
();
if
(
BoundaryBox
.
Inside
(
x
,
y
)
)
{
...
...
@@ -564,10 +564,10 @@ bool DrawStructInBox( int x1, int y1, int x2, int y2,
return
TRUE
;
break
;
case
DRAW_LABEL_STRUCT_TYPE
:
case
DRAW_TEXT_STRUCT_TYPE
:
case
TYPE_SCH_LABEL
:
case
TYPE_SCH_TEXT
:
#undef STRUCT
#define STRUCT ( (
DrawTextStruct
*) DrawStruct )
#define STRUCT ( (
SCH_TEXT
*) DrawStruct )
dx
=
STRUCT
->
m_Size
.
x
*
STRUCT
->
GetLength
();
dy
=
STRUCT
->
m_Size
.
y
;
xt1
=
xt2
=
STRUCT
->
m_Pos
.
x
;
...
...
@@ -596,10 +596,10 @@ bool DrawStructInBox( int x1, int y1, int x2, int y2,
return
TRUE
;
break
;
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
TYPE_SCH_HIERLABEL
:
case
TYPE_SCH_GLOBALLABEL
:
#undef STRUCT
#define STRUCT ( (
DrawLabelStruct
*) DrawStruct )
#define STRUCT ( (
SCH_LABEL
*) DrawStruct )
dx
=
STRUCT
->
m_Size
.
x
*
(
STRUCT
->
GetLength
()
+
1
);
/* longueur totale */
dy
=
STRUCT
->
m_Size
.
y
/
2
;
/* Demi hauteur */
xt1
=
xt2
=
STRUCT
->
m_Pos
.
x
;
...
...
@@ -628,10 +628,10 @@ bool DrawStructInBox( int x1, int y1, int x2, int y2,
return
TRUE
;
break
;
case
DRAW_LIB_ITEM_STRUCT_TYPE
:
case
TYPE_SCH_COMPONENT
:
{
#undef STRUCT
#define STRUCT ( (
EDA_SchComponentStruct
*) DrawStruct )
#define STRUCT ( (
SCH_COMPONENT
*) DrawStruct )
EDA_Rect
BoundaryBox
=
STRUCT
->
GetBoundaryBox
();
xt1
=
BoundaryBox
.
GetX
();
yt1
=
BoundaryBox
.
GetY
();
...
...
@@ -1043,7 +1043,7 @@ int distance( int dx, int dy, int spot_cX, int spot_cY, int seuil )
/*******************************************************************/
LibDrawPin
*
LocatePinByNumber
(
const
wxString
&
ePin_Number
,
EDA_SchComponentStruct
*
eComponent
)
SCH_COMPONENT
*
eComponent
)
/*******************************************************************/
/** Find a PIN in a component
...
...
@@ -1096,7 +1096,7 @@ LibDrawPin* LocatePinByNumber( const wxString & ePin_Number,
/*******************************************************************/
LibEDA_BaseStruct
*
LocatePin
(
const
wxPoint
&
RefPos
,
EDA_LibComponentStruct
*
Entry
,
int
Unit
,
int
convert
,
EDA_SchComponentStruct
*
DrawLibItem
)
int
Unit
,
int
convert
,
SCH_COMPONENT
*
DrawLibItem
)
/*******************************************************************/
/* Routine de localisation d'une PIN de la PartLib pointee par Entry
...
...
@@ -1198,19 +1198,19 @@ DrawSheetLabelStruct* LocateSheetLabel( DrawSheetStruct* Sheet, const wxPoint& p
/**************************************************************************/
LibDrawPin
*
LocateAnyPin
(
EDA_BaseStruct
*
DrawList
,
const
wxPoint
&
RefPos
,
EDA_SchComponentStruct
**
libpart
)
SCH_COMPONENT
**
libpart
)
/**************************************************************************/
{
EDA_BaseStruct
*
DrawStruct
;
EDA_LibComponentStruct
*
Entry
;
EDA_SchComponentStruct
*
LibItem
=
NULL
;
SCH_COMPONENT
*
LibItem
=
NULL
;
LibDrawPin
*
Pin
=
NULL
;
for
(
DrawStruct
=
DrawList
;
DrawStruct
!=
NULL
;
DrawStruct
=
DrawStruct
->
Pnext
)
{
if
(
DrawStruct
->
Type
()
!=
DRAW_LIB_ITEM_STRUCT_TYPE
)
if
(
DrawStruct
->
Type
()
!=
TYPE_SCH_COMPONENT
)
continue
;
LibItem
=
(
EDA_SchComponentStruct
*
)
DrawStruct
;
LibItem
=
(
SCH_COMPONENT
*
)
DrawStruct
;
Entry
=
FindLibPart
(
LibItem
->
m_ChipName
.
GetData
(),
wxEmptyString
,
FIND_ROOT
);
if
(
Entry
==
NULL
)
continue
;
...
...
eeschema/netform.cpp
View file @
c406eed1
...
...
@@ -24,10 +24,10 @@ static void WriteListOfNetsCADSTAR( FILE* f, ObjetNetListStruct* ObjNet );
static
void
WriteNetListPspice
(
WinEDA_SchematicFrame
*
frame
,
FILE
*
f
,
bool
use_netnames
);
static
void
WriteGENERICListOfNets
(
FILE
*
f
,
ObjetNetListStruct
*
ObjNet
);
static
void
AddPinToComponentPinList
(
EDA_SchComponentStruct
*
Component
,
static
void
AddPinToComponentPinList
(
SCH_COMPONENT
*
Component
,
DrawSheetPath
*
sheet
,
LibDrawPin
*
PinEntry
);
static
void
FindOthersUnits
(
EDA_SchComponentStruct
*
Component
,
DrawSheetPath
*
Sheet_in
);
static
void
FindOthersUnits
(
SCH_COMPONENT
*
Component
,
DrawSheetPath
*
Sheet_in
);
static
int
SortPinsByNum
(
ObjetNetListStruct
**
Pin1
,
ObjetNetListStruct
**
Pin2
);
static
void
EraseDuplicatePins
(
ObjetNetListStruct
**
TabPin
,
int
NbrPin
);
...
...
@@ -92,7 +92,7 @@ void WriteNetList( WinEDA_SchematicFrame* frame, const wxString& FileNameNL,
/****************************************************************************/
static
EDA_SchComponentStruct
*
FindNextComponentAndCreatPinList
(
static
SCH_COMPONENT
*
FindNextComponentAndCreatPinList
(
EDA_BaseStruct
*
DrawList
,
DrawSheetPath
*
sheet
)
/****************************************************************************/
...
...
@@ -105,7 +105,7 @@ static EDA_SchComponentStruct* FindNextComponentAndCreatPinList(
* Must be deallocated by the user
*/
{
EDA_SchComponentStruct
*
Component
=
NULL
;
SCH_COMPONENT
*
Component
=
NULL
;
EDA_LibComponentStruct
*
Entry
;
LibEDA_BaseStruct
*
DEntry
;
...
...
@@ -113,9 +113,9 @@ static EDA_SchComponentStruct* FindNextComponentAndCreatPinList(
for
(
;
DrawList
!=
NULL
;
DrawList
=
DrawList
->
Next
()
)
{
if
(
DrawList
->
Type
()
!=
DRAW_LIB_ITEM_STRUCT_TYPE
)
if
(
DrawList
->
Type
()
!=
TYPE_SCH_COMPONENT
)
continue
;
Component
=
(
EDA_SchComponentStruct
*
)
DrawList
;
Component
=
(
SCH_COMPONENT
*
)
DrawList
;
/* already tested ? : */
bool
found
=
false
;
...
...
@@ -247,7 +247,7 @@ void Write_GENERIC_NetList( WinEDA_SchematicFrame* frame,
wxString
Line
,
FootprintName
;
DrawSheetPath
*
sheet
;
EDA_BaseStruct
*
DrawList
;
EDA_SchComponentStruct
*
Component
;
SCH_COMPONENT
*
Component
;
wxString
netname
;
int
ii
;
FILE
*
tmpfile
;
...
...
@@ -363,9 +363,9 @@ static void ClearUsedFlags( WinEDA_SchematicFrame* frame )
DrawList
=
screen
->
EEDrawList
;
while
(
DrawList
)
{
if
(
DrawList
->
Type
()
==
DRAW_LIB_ITEM_STRUCT_TYPE
)
if
(
DrawList
->
Type
()
==
TYPE_SCH_COMPONENT
)
{
EDA_SchComponentStruct
*
Component
=
(
EDA_SchComponentStruct
*
)
DrawList
;
SCH_COMPONENT
*
Component
=
(
SCH_COMPONENT
*
)
DrawList
;
//Component->m_FlagControlMulti = 0;
Component
->
m_UsedOnSheets
.
Clear
();
}
...
...
@@ -394,7 +394,7 @@ static void WriteNetListPspice( WinEDA_SchematicFrame* frame, FILE* f,
char
Line
[
1024
];
DrawSheetPath
*
sheet
;
EDA_BaseStruct
*
DrawList
;
EDA_SchComponentStruct
*
Component
;
SCH_COMPONENT
*
Component
;
int
ii
,
nbitems
;
wxString
text
;
wxArrayString
SpiceCommandAtBeginFile
,
SpiceCommandAtEndFile
;
...
...
@@ -416,9 +416,9 @@ static void WriteNetListPspice( WinEDA_SchematicFrame* frame, FILE* f,
for
(
DrawList
=
sheet
->
LastDrawList
();
DrawList
!=
NULL
;
DrawList
=
DrawList
->
Pnext
)
{
wxChar
ident
;
if
(
DrawList
->
Type
()
!=
DRAW_TEXT_STRUCT_TYPE
)
if
(
DrawList
->
Type
()
!=
TYPE_SCH_TEXT
)
continue
;
#define DRAWTEXT ( (
DrawTextStruct
*) DrawList )
#define DRAWTEXT ( (
SCH_TEXT
*) DrawList )
text
=
DRAWTEXT
->
m_Text
;
if
(
text
.
IsEmpty
()
)
continue
;
ident
=
text
.
GetChar
(
0
);
...
...
@@ -536,7 +536,7 @@ static void WriteNetListPCBNEW( WinEDA_SchematicFrame* frame, FILE* f, bool with
char
Buf
[
256
];
DrawSheetPath
*
sheet
;
EDA_BaseStruct
*
DrawList
;
EDA_SchComponentStruct
*
Component
;
SCH_COMPONENT
*
Component
;
int
ii
;
ListComponent
*
CmpList
=
NULL
;
int
CmpListCount
=
0
,
CmpListSize
=
1000
;
...
...
@@ -675,7 +675,7 @@ static void WriteNetListPCBNEW( WinEDA_SchematicFrame* frame, FILE* f, bool with
/*************************************************************************************/
static
void
AddPinToComponentPinList
(
EDA_SchComponentStruct
*
Component
,
static
void
AddPinToComponentPinList
(
SCH_COMPONENT
*
Component
,
DrawSheetPath
*
sheetlist
,
LibDrawPin
*
Pin
)
/*************************************************************************************/
...
...
@@ -742,7 +742,7 @@ static void EraseDuplicatePins( ObjetNetListStruct** TabPin, int NbrPin )
/**********************************************************************/
static
void
FindOthersUnits
(
EDA_SchComponentStruct
*
Component_in
,
DrawSheetPath
*
Sheet_in
)
static
void
FindOthersUnits
(
SCH_COMPONENT
*
Component_in
,
DrawSheetPath
*
Sheet_in
)
/**********************************************************************/
/* Recherche les autres parts du boitier auquel appartient la part Component,
...
...
@@ -751,7 +751,7 @@ static void FindOthersUnits( EDA_SchComponentStruct* Component_in, DrawSheetPath
*/
{
EDA_BaseStruct
*
DrawList
;
EDA_SchComponentStruct
*
Component2
;
SCH_COMPONENT
*
Component2
;
EDA_LibComponentStruct
*
Entry
;
LibEDA_BaseStruct
*
DEntry
;
DrawSheetPath
*
sheet
;
...
...
@@ -767,8 +767,8 @@ static void FindOthersUnits( EDA_SchComponentStruct* Component_in, DrawSheetPath
{
switch
(
DrawList
->
Type
()
)
{
case
DRAW_LIB_ITEM_STRUCT_TYPE
:
Component2
=
(
EDA_SchComponentStruct
*
)
DrawList
;
case
TYPE_SCH_COMPONENT
:
Component2
=
(
SCH_COMPONENT
*
)
DrawList
;
found
=
false
;
for
(
i
=
0
;
i
<
Component2
->
m_UsedOnSheets
.
GetCount
();
i
++
){
...
...
@@ -853,7 +853,7 @@ static void WriteGENERICListOfNets( FILE* f, ObjetNetListStruct* ObjNet )
int
ii
,
jj
;
int
NetCode
,
LastNetCode
=
-
1
;
int
SameNetcodeCount
=
0
;
EDA_SchComponentStruct
*
Cmp
;
SCH_COMPONENT
*
Cmp
;
wxString
NetName
,
CmpRef
;
wxString
NetcodeName
;
char
FirstItemInNet
[
1024
];
...
...
@@ -896,7 +896,7 @@ static void WriteGENERICListOfNets( FILE* f, ObjetNetListStruct* ObjNet )
if
(
ObjNet
[
ii
].
m_Type
!=
NET_PIN
)
continue
;
Cmp
=
(
EDA_SchComponentStruct
*
)
ObjNet
[
ii
].
m_Link
;
Cmp
=
(
SCH_COMPONENT
*
)
ObjNet
[
ii
].
m_Link
;
CmpRef
=
Cmp
->
GetRef
(
&
ObjNet
[
ii
].
m_SheetList
);
//is this correct?
if
(
CmpRef
.
StartsWith
(
wxT
(
"#"
)
)
)
continue
;
// Pseudo component (Like Power symbol)
...
...
@@ -962,7 +962,7 @@ static void WriteNetListCADSTAR( WinEDA_SchematicFrame* frame, FILE* f )
char
Line
[
1024
];
DrawSheetPath
*
sheet
;
EDA_BaseStruct
*
DrawList
;
EDA_SchComponentStruct
*
Component
;
SCH_COMPONENT
*
Component
;
wxString
Title
=
g_Main_Title
+
wxT
(
" "
)
+
GetBuildVersion
();
fprintf
(
f
,
"%sHEA
\n
"
,
CONV_TO_UTF8
(
StartLine
)
);
...
...
@@ -1031,7 +1031,7 @@ static void WriteListOfNetsCADSTAR( FILE* f, ObjetNetListStruct* ObjNet )
wxString
NetcodeName
,
InitNetDescLine
;
int
ii
,
jj
,
print_ter
=
0
;
int
NetCode
,
LastNetCode
=
-
1
;
EDA_SchComponentStruct
*
Cmp
;
SCH_COMPONENT
*
Cmp
;
wxString
NetName
;
for
(
ii
=
0
;
ii
<
g_NbrObjNet
;
ii
++
)
...
...
@@ -1080,7 +1080,7 @@ static void WriteListOfNetsCADSTAR( FILE* f, ObjetNetListStruct* ObjNet )
if
(
ObjNet
[
ii
].
m_Flag
!=
0
)
continue
;
Cmp
=
(
EDA_SchComponentStruct
*
)
ObjNet
[
ii
].
m_Link
;
Cmp
=
(
SCH_COMPONENT
*
)
ObjNet
[
ii
].
m_Link
;
wxString
refstr
=
Cmp
->
GetRef
(
&
(
ObjNet
[
ii
].
m_SheetList
));
if
(
refstr
[
0
]
==
'#'
)
continue
;
// Pseudo composant (symboles d'alims)
...
...
@@ -1127,8 +1127,8 @@ static void WriteListOfNetsCADSTAR( FILE* f, ObjetNetListStruct* ObjNet )
break
;
if
(
ObjNet
[
jj
].
m_Type
!=
NET_PIN
)
continue
;
EDA_SchComponentStruct
*
tstcmp
=
(
EDA_SchComponentStruct
*
)
ObjNet
[
jj
].
m_Link
;
SCH_COMPONENT
*
tstcmp
=
(
SCH_COMPONENT
*
)
ObjNet
[
jj
].
m_Link
;
wxString
p
=
Cmp
->
GetPath
(
&
(
ObjNet
[
ii
].
m_SheetList
)
);
wxString
tstp
=
tstcmp
->
GetPath
(
&
(
ObjNet
[
jj
].
m_SheetList
)
);
if
(
p
.
Cmp
(
tstp
)
!=
0
)
...
...
eeschema/netlist.cpp
View file @
c406eed1
...
...
@@ -449,7 +449,7 @@ static int ListeObjetConnection( WinEDA_SchematicFrame* frame, DrawSheetPath* sh
{
int
ii
,
NbrItem
=
0
;
EDA_BaseStruct
*
DrawList
;
EDA_SchComponentStruct
*
DrawLibItem
;
SCH_COMPONENT
*
DrawLibItem
;
int
TransMat
[
2
][
2
],
PartX
,
PartY
,
x2
,
y2
;
EDA_LibComponentStruct
*
Entry
;
LibEDA_BaseStruct
*
DEntry
;
...
...
@@ -517,9 +517,9 @@ static int ListeObjetConnection( WinEDA_SchematicFrame* frame, DrawSheetPath* sh
NbrItem
++
;
break
;
case
DRAW_LABEL_STRUCT_TYPE
:
case
TYPE_SCH_LABEL
:
#undef STRUCT
#define STRUCT ( (
DrawLabelStruct
*) DrawList )
#define STRUCT ( (
SCH_LABEL
*) DrawList )
ii
=
IsBusLabel
(
STRUCT
->
m_Text
);
if
(
ObjNet
)
{
...
...
@@ -542,10 +542,10 @@ static int ListeObjetConnection( WinEDA_SchematicFrame* frame, DrawSheetPath* sh
NbrItem
+=
ii
+
1
;
break
;
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
TYPE_SCH_GLOBALLABEL
:
case
TYPE_SCH_HIERLABEL
:
#undef STRUCT
#define STRUCT ( (
DrawLabelStruct
*) DrawList )
#define STRUCT ( (
SCH_LABEL
*) DrawList )
ii
=
IsBusLabel
(
STRUCT
->
m_Text
);
if
(
ObjNet
)
{
...
...
@@ -568,8 +568,8 @@ static int ListeObjetConnection( WinEDA_SchematicFrame* frame, DrawSheetPath* sh
NbrItem
+=
ii
+
1
;
break
;
case
DRAW_LIB_ITEM_STRUCT_TYPE
:
DrawLibItem
=
(
EDA_SchComponentStruct
*
)
DrawList
;
case
TYPE_SCH_COMPONENT
:
DrawLibItem
=
(
SCH_COMPONENT
*
)
DrawList
;
memcpy
(
TransMat
,
DrawLibItem
->
m_Transform
,
sizeof
(
TransMat
)
);
...
...
@@ -645,7 +645,7 @@ static int ListeObjetConnection( WinEDA_SchematicFrame* frame, DrawSheetPath* sh
case
DRAW_POLYLINE_STRUCT_TYPE
:
case
DRAW_BUSENTRY_STRUCT_TYPE
:
case
DRAW_MARKER_STRUCT_TYPE
:
case
DRAW_TEXT_STRUCT_TYPE
:
case
TYPE_SCH_TEXT
:
break
;
case
DRAW_SHEET_STRUCT_TYPE
:
...
...
eeschema/netlist.h
View file @
c406eed1
...
...
@@ -99,7 +99,7 @@ typedef struct ListLabel
}
ListLabel
;
typedef
struct
ListComponent
{
EDA_SchComponentStruct
*
m_Comp
;
SCH_COMPONENT
*
m_Comp
;
char
m_Ref
[
32
];
//have to store it here since the object refrerences will be duplicated.
DrawSheetPath
m_SheetList
;
//composed of UIDs
...
...
@@ -109,7 +109,7 @@ typedef struct ListComponent
struct
CmpListStruct
{
public
:
EDA_SchComponentStruct
*
m_Cmp
;
/* Pointeur sur le composant */
SCH_COMPONENT
*
m_Cmp
;
/* Pointeur sur le composant */
int
m_NbParts
;
/* Nombre de parts par boitier */
bool
m_PartsLocked
;
// For multi part components: True if the part cannot be changed
int
m_Unit
;
/* Numero de part */
...
...
eeschema/onleftclick.cpp
View file @
c406eed1
...
...
@@ -39,15 +39,15 @@ void WinEDA_SchematicFrame::OnLeftClick( wxDC* DC, const wxPoint& MousePos )
{
switch
(
DrawStruct
->
Type
()
)
{
case
DRAW_LABEL_STRUCT_TYPE
:
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
DRAW_TEXT_STRUCT_TYPE
:
case
TYPE_SCH_LABEL
:
case
TYPE_SCH_GLOBALLABEL
:
case
TYPE_SCH_HIERLABEL
:
case
TYPE_SCH_TEXT
:
case
DRAW_SHEETLABEL_STRUCT_TYPE
:
case
DRAW_SHEET_STRUCT_TYPE
:
case
DRAW_BUSENTRY_STRUCT_TYPE
:
case
DRAW_JUNCTION_STRUCT_TYPE
:
case
DRAW_LIB_ITEM_STRUCT_TYPE
:
case
TYPE_SCH_COMPONENT
:
case
DRAW_PART_TEXT_STRUCT_TYPE
:
DrawStruct
->
Place
(
this
,
DC
);
GetScreen
()
->
SetCurItem
(
NULL
);
...
...
@@ -354,16 +354,16 @@ void WinEDA_SchematicFrame::OnLeftDClick( wxDC* DC, const wxPoint& MousePos )
InstallNextScreen
(
(
DrawSheetStruct
*
)
DrawStruct
);
break
;
case
DRAW_LIB_ITEM_STRUCT_TYPE
:
InstallCmpeditFrame
(
this
,
pos
,
(
EDA_SchComponentStruct
*
)
DrawStruct
);
case
TYPE_SCH_COMPONENT
:
InstallCmpeditFrame
(
this
,
pos
,
(
SCH_COMPONENT
*
)
DrawStruct
);
DrawPanel
->
MouseToCursorSchema
();
break
;
case
DRAW_TEXT_STRUCT_TYPE
:
case
DRAW_LABEL_STRUCT_TYPE
:
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
EditSchematicText
(
(
DrawTextStruct
*
)
DrawStruct
,
DC
);
case
TYPE_SCH_TEXT
:
case
TYPE_SCH_LABEL
:
case
TYPE_SCH_GLOBALLABEL
:
case
TYPE_SCH_HIERLABEL
:
EditSchematicText
(
(
SCH_TEXT
*
)
DrawStruct
,
DC
);
break
;
case
DRAW_PART_TEXT_STRUCT_TYPE
:
...
...
eeschema/onrightclick.cpp
View file @
c406eed1
...
...
@@ -55,11 +55,11 @@ static void AddMenusForBus( wxMenu* PopMenu, EDA_DrawLineStruct* Bus,
WinEDA_SchematicFrame
*
frame
);
static
void
AddMenusForHierchicalSheet
(
wxMenu
*
PopMenu
,
DrawSheetStruct
*
Sheet
);
static
void
AddMenusForPinSheet
(
wxMenu
*
PopMenu
,
DrawSheetLabelStruct
*
PinSheet
);
static
void
AddMenusForText
(
wxMenu
*
PopMenu
,
DrawTextStruct
*
Text
);
static
void
AddMenusForLabel
(
wxMenu
*
PopMenu
,
DrawLabelStruct
*
Label
);
static
void
AddMenusForGLabel
(
wxMenu
*
PopMenu
,
DrawGlobalLabelStruct
*
GLabel
);
static
void
AddMenusForHLabel
(
wxMenu
*
PopMenu
,
DrawHierLabelStruct
*
GLabel
);
static
void
AddMenusForComponent
(
wxMenu
*
PopMenu
,
EDA_SchComponentStruct
*
Component
);
static
void
AddMenusForText
(
wxMenu
*
PopMenu
,
SCH_TEXT
*
Text
);
static
void
AddMenusForLabel
(
wxMenu
*
PopMenu
,
SCH_LABEL
*
Label
);
static
void
AddMenusForGLabel
(
wxMenu
*
PopMenu
,
SCH_GLOBALLABEL
*
GLabel
);
static
void
AddMenusForHLabel
(
wxMenu
*
PopMenu
,
SCH_HIERLABEL
*
GLabel
);
static
void
AddMenusForComponent
(
wxMenu
*
PopMenu
,
SCH_COMPONENT
*
Component
);
static
void
AddMenusForComponentField
(
wxMenu
*
PopMenu
,
PartTextStruct
*
Field
);
static
void
AddMenusForJunction
(
wxMenu
*
PopMenu
,
DrawJunctionStruct
*
Junction
,
WinEDA_SchematicFrame
*
frame
);
...
...
@@ -182,20 +182,20 @@ bool WinEDA_SchematicFrame::OnRightClick( const wxPoint& MousePos,
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_SCH_DELETE
,
_
(
"delete Marker"
),
delete_xpm
);
break
;
case
DRAW_TEXT_STRUCT_TYPE
:
AddMenusForText
(
PopMenu
,
(
DrawTextStruct
*
)
DrawStruct
);
case
TYPE_SCH_TEXT
:
AddMenusForText
(
PopMenu
,
(
SCH_TEXT
*
)
DrawStruct
);
break
;
case
DRAW_LABEL_STRUCT_TYPE
:
AddMenusForLabel
(
PopMenu
,
(
DrawLabelStruct
*
)
DrawStruct
);
case
TYPE_SCH_LABEL
:
AddMenusForLabel
(
PopMenu
,
(
SCH_LABEL
*
)
DrawStruct
);
break
;
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
AddMenusForGLabel
(
PopMenu
,
(
DrawGlobalLabelStruct
*
)
DrawStruct
);
case
TYPE_SCH_GLOBALLABEL
:
AddMenusForGLabel
(
PopMenu
,
(
SCH_GLOBALLABEL
*
)
DrawStruct
);
break
;
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
AddMenusForHLabel
(
PopMenu
,
(
DrawHierLabelStruct
*
)
DrawStruct
);
case
TYPE_SCH_HIERLABEL
:
AddMenusForHLabel
(
PopMenu
,
(
SCH_HIERLABEL
*
)
DrawStruct
);
break
;
case
DRAW_PART_TEXT_STRUCT_TYPE
:
...
...
@@ -205,17 +205,17 @@ bool WinEDA_SchematicFrame::OnRightClick( const wxPoint& MousePos,
break
;
// Many fields are inside a component. If this is the case, add the component menu
EDA_SchComponentStruct
*
Component
=
LocateSmallestComponent
(
(
SCH_SCREEN
*
)
GetScreen
()
);
SCH_COMPONENT
*
Component
=
LocateSmallestComponent
(
(
SCH_SCREEN
*
)
GetScreen
()
);
if
(
Component
)
{
PopMenu
->
AppendSeparator
();
AddMenusForComponent
(
PopMenu
,
(
EDA_SchComponentStruct
*
)
DrawStruct
);
AddMenusForComponent
(
PopMenu
,
(
SCH_COMPONENT
*
)
DrawStruct
);
}
}
break
;
case
DRAW_LIB_ITEM_STRUCT_TYPE
:
AddMenusForComponent
(
PopMenu
,
(
EDA_SchComponentStruct
*
)
DrawStruct
);
case
TYPE_SCH_COMPONENT
:
AddMenusForComponent
(
PopMenu
,
(
SCH_COMPONENT
*
)
DrawStruct
);
break
;
case
DRAW_SEGMENT_STRUCT_TYPE
:
...
...
@@ -278,7 +278,7 @@ void AddMenusForComponentField( wxMenu* PopMenu, PartTextStruct* Field )
/**************************************************************************/
void
AddMenusForComponent
(
wxMenu
*
PopMenu
,
EDA_SchComponentStruct
*
Component
)
void
AddMenusForComponent
(
wxMenu
*
PopMenu
,
SCH_COMPONENT
*
Component
)
/**************************************************************************/
/* Add menu commands for a component
...
...
@@ -363,7 +363,7 @@ void AddMenusForComponent( wxMenu* PopMenu, EDA_SchComponentStruct* Component )
/*******************************************************************/
void
AddMenusForGLabel
(
wxMenu
*
PopMenu
,
DrawGlobalLabelStruct
*
GLabel
)
void
AddMenusForGLabel
(
wxMenu
*
PopMenu
,
SCH_GLOBALLABEL
*
GLabel
)
/*******************************************************************/
/* Add menu commands for a Global Label
...
...
@@ -388,7 +388,7 @@ void AddMenusForGLabel( wxMenu* PopMenu, DrawGlobalLabelStruct* GLabel )
ID_POPUP_SCH_CHANGE_TYPE_TEXT
,
_
(
"Change Type"
),
gl_change_xpm
);
}
/*******************************************************************/
void
AddMenusForHLabel
(
wxMenu
*
PopMenu
,
DrawHierLabelStruct
*
HLabel
)
void
AddMenusForHLabel
(
wxMenu
*
PopMenu
,
SCH_HIERLABEL
*
HLabel
)
/*******************************************************************/
/* Add menu commands for a hierarchal Label
*/
...
...
@@ -414,7 +414,7 @@ void AddMenusForHLabel( wxMenu* PopMenu, DrawHierLabelStruct* HLabel )
/*****************************************************************/
void
AddMenusForLabel
(
wxMenu
*
PopMenu
,
DrawLabelStruct
*
Label
)
void
AddMenusForLabel
(
wxMenu
*
PopMenu
,
SCH_LABEL
*
Label
)
/*****************************************************************/
/* Add menu commands for a Label
...
...
@@ -441,7 +441,7 @@ void AddMenusForLabel( wxMenu* PopMenu, DrawLabelStruct* Label )
/*****************************************************************/
void
AddMenusForText
(
wxMenu
*
PopMenu
,
DrawTextStruct
*
Text
)
void
AddMenusForText
(
wxMenu
*
PopMenu
,
SCH_TEXT
*
Text
)
/*****************************************************************/
/* Add menu commands for a Text (a comment)
...
...
eeschema/plot.cpp
View file @
c406eed1
...
...
@@ -16,7 +16,7 @@
/* Variables locales : */
static
void
PlotSheetLabelStruct
(
DrawSheetLabelStruct
*
Struct
);
static
void
PlotTextField
(
EDA_SchComponentStruct
*
DrawLibItem
,
static
void
PlotTextField
(
SCH_COMPONENT
*
DrawLibItem
,
int
FieldNumber
,
int
IsMulti
,
int
DrawMode
);
static
void
PlotPinSymbol
(
int
posX
,
int
posY
,
int
len
,
int
orient
,
int
Shape
);
...
...
@@ -164,7 +164,7 @@ void PlotNoConnectStruct( DrawNoConnectStruct* Struct )
/*************************************************/
void
PlotLibPart
(
EDA_SchComponentStruct
*
DrawLibItem
)
void
PlotLibPart
(
SCH_COMPONENT
*
DrawLibItem
)
/*************************************************/
/* Genere le trace d'un composant */
{
...
...
@@ -342,7 +342,7 @@ void PlotLibPart( EDA_SchComponentStruct* DrawLibItem )
/*************************************************************/
static
void
PlotTextField
(
EDA_SchComponentStruct
*
DrawLibItem
,
static
void
PlotTextField
(
SCH_COMPONENT
*
DrawLibItem
,
int
FieldNumber
,
int
IsMulti
,
int
DrawMode
)
/**************************************************************/
...
...
@@ -553,22 +553,22 @@ void PlotTextStruct( EDA_BaseStruct* Struct )
switch
(
Struct
->
Type
()
)
{
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
DRAW_LABEL_STRUCT_TYPE
:
case
DRAW_TEXT_STRUCT_TYPE
:
Text
=
(
(
DrawTextStruct
*
)
Struct
)
->
m_Text
;
Size
=
(
(
DrawTextStruct
*
)
Struct
)
->
m_Size
;
Orient
=
(
(
DrawTextStruct
*
)
Struct
)
->
m_Orient
;
Shape
=
(
(
DrawTextStruct
*
)
Struct
)
->
m_Shape
;
pX
=
(
(
DrawTextStruct
*
)
Struct
)
->
m_Pos
.
x
;
pY
=
(
(
DrawTextStruct
*
)
Struct
)
->
m_Pos
.
y
;
case
TYPE_SCH_GLOBALLABEL
:
case
TYPE_SCH_HIERLABEL
:
case
TYPE_SCH_LABEL
:
case
TYPE_SCH_TEXT
:
Text
=
(
(
SCH_TEXT
*
)
Struct
)
->
m_Text
;
Size
=
(
(
SCH_TEXT
*
)
Struct
)
->
m_Size
;
Orient
=
(
(
SCH_TEXT
*
)
Struct
)
->
m_Orient
;
Shape
=
(
(
SCH_TEXT
*
)
Struct
)
->
m_Shape
;
pX
=
(
(
SCH_TEXT
*
)
Struct
)
->
m_Pos
.
x
;
pY
=
(
(
SCH_TEXT
*
)
Struct
)
->
m_Pos
.
y
;
offset
=
TXTMARGE
;
if
(
Struct
->
Type
()
==
DRAW_GLOBAL_LABEL_STRUCT_TYPE
||
Struct
->
Type
()
==
DRAW_HIER_LABEL_STRUCT_TYPE
)
if
(
Struct
->
Type
()
==
TYPE_SCH_GLOBALLABEL
||
Struct
->
Type
()
==
TYPE_SCH_HIERLABEL
)
offset
+=
Size
.
x
;
// We must draw the Glabel graphic symbol
if
(
(
g_PlotFormat
==
PLOT_FORMAT_POST
)
&&
g_PlotPSColorOpt
)
color
=
ReturnLayerColor
(
(
(
DrawTextStruct
*
)
Struct
)
->
m_Layer
);
color
=
ReturnLayerColor
(
(
(
SCH_TEXT
*
)
Struct
)
->
m_Layer
);
break
;
default
:
...
...
@@ -580,9 +580,9 @@ void PlotTextStruct( EDA_BaseStruct* Struct )
SetCurrentLineWidth
(
-
1
);
if
(
Struct
->
Type
()
==
DRAW_GLOBAL_LABEL_STRUCT_TYPE
)
if
(
Struct
->
Type
()
==
TYPE_SCH_GLOBALLABEL
)
{
offset
=
(
(
DrawGlobalLabelStruct
*
)
Struct
)
->
m_Width
;
offset
=
(
(
SCH_GLOBALLABEL
*
)
Struct
)
->
m_Width
;
switch
(
Shape
)
{
case
NET_INPUT
:
...
...
@@ -604,7 +604,7 @@ void PlotTextStruct( EDA_BaseStruct* Struct )
switch
(
Orient
)
{
case
0
:
/* Orientation horiz normale */
if
(
Struct
->
Type
()
==
DRAW_GLOBAL_LABEL_STRUCT_TYPE
||
Struct
->
Type
()
==
DRAW_HIER_LABEL_STRUCT_TYPE
)
if
(
Struct
->
Type
()
==
TYPE_SCH_GLOBALLABEL
||
Struct
->
Type
()
==
TYPE_SCH_HIERLABEL
)
PlotGraphicText
(
g_PlotFormat
,
wxPoint
(
pX
-
offset
,
pY
),
color
,
Text
,
TEXT_ORIENT_HORIZ
,
Size
,
GR_TEXT_HJUSTIFY_RIGHT
,
GR_TEXT_VJUSTIFY_CENTER
);
...
...
@@ -615,7 +615,7 @@ void PlotTextStruct( EDA_BaseStruct* Struct )
break
;
case
1
:
/* Orientation vert UP */
if
(
Struct
->
Type
()
==
DRAW_GLOBAL_LABEL_STRUCT_TYPE
||
Struct
->
Type
()
==
DRAW_HIER_LABEL_STRUCT_TYPE
)
if
(
Struct
->
Type
()
==
TYPE_SCH_GLOBALLABEL
||
Struct
->
Type
()
==
TYPE_SCH_HIERLABEL
)
PlotGraphicText
(
g_PlotFormat
,
wxPoint
(
pX
,
pY
+
offset
),
color
,
Text
,
TEXT_ORIENT_VERT
,
Size
,
GR_TEXT_HJUSTIFY_CENTER
,
GR_TEXT_VJUSTIFY_TOP
);
...
...
@@ -626,7 +626,7 @@ void PlotTextStruct( EDA_BaseStruct* Struct )
break
;
case
2
:
/* Horiz Orientation - Right justified */
if
(
Struct
->
Type
()
==
DRAW_GLOBAL_LABEL_STRUCT_TYPE
||
Struct
->
Type
()
==
DRAW_HIER_LABEL_STRUCT_TYPE
)
if
(
Struct
->
Type
()
==
TYPE_SCH_GLOBALLABEL
||
Struct
->
Type
()
==
TYPE_SCH_HIERLABEL
)
PlotGraphicText
(
g_PlotFormat
,
wxPoint
(
pX
+
offset
,
pY
),
color
,
Text
,
TEXT_ORIENT_HORIZ
,
Size
,
GR_TEXT_HJUSTIFY_LEFT
,
GR_TEXT_VJUSTIFY_CENTER
);
...
...
@@ -637,7 +637,7 @@ void PlotTextStruct( EDA_BaseStruct* Struct )
break
;
case
3
:
/* Orientation vert BOTTOM */
if
(
Struct
->
Type
()
==
DRAW_GLOBAL_LABEL_STRUCT_TYPE
||
Struct
->
Type
()
==
DRAW_HIER_LABEL_STRUCT_TYPE
)
if
(
Struct
->
Type
()
==
TYPE_SCH_GLOBALLABEL
||
Struct
->
Type
()
==
TYPE_SCH_HIERLABEL
)
PlotGraphicText
(
g_PlotFormat
,
wxPoint
(
pX
,
pY
-
offset
),
color
,
Text
,
TEXT_ORIENT_VERT
,
Size
,
GR_TEXT_HJUSTIFY_CENTER
,
GR_TEXT_VJUSTIFY_BOTTOM
);
...
...
@@ -649,14 +649,14 @@ void PlotTextStruct( EDA_BaseStruct* Struct )
}
/* Draw graphic symbol for global or hierachical labels */
if
(
Struct
->
Type
()
==
DRAW_GLOBAL_LABEL_STRUCT_TYPE
)
if
(
Struct
->
Type
()
==
TYPE_SCH_GLOBALLABEL
)
{
(
(
DrawGlobalLabelStruct
*
)
Struct
)
->
CreateGraphicShape
(
Poly
,
wxPoint
(
pX
,
pY
)
);
(
(
SCH_GLOBALLABEL
*
)
Struct
)
->
CreateGraphicShape
(
Poly
,
wxPoint
(
pX
,
pY
)
);
PlotPoly
(
Poly
[
0
],
Poly
+
1
,
NOFILL
);
}
if
(
Struct
->
Type
()
==
DRAW_HIER_LABEL_STRUCT_TYPE
)
if
(
Struct
->
Type
()
==
TYPE_SCH_HIERLABEL
)
{
(
(
DrawHierLabelStruct
*
)
Struct
)
->
CreateGraphicShape
(
Poly
,
wxPoint
(
pX
,
pY
)
);
(
(
SCH_HIERLABEL
*
)
Struct
)
->
CreateGraphicShape
(
Poly
,
wxPoint
(
pX
,
pY
)
);
PlotPoly
(
Poly
[
0
],
Poly
+
1
,
NOFILL
);
}
}
...
...
eeschema/plothpgl.cpp
View file @
c406eed1
...
...
@@ -552,7 +552,7 @@ void WinEDA_PlotHPGLFrame::Plot_1_Page_HPGL(const wxString & FullFileName,
*/
{
EDA_BaseStruct
*
DrawList
;
EDA_SchComponentStruct
*
DrawLibItem
;
SCH_COMPONENT
*
DrawLibItem
;
int
x1
=
0
,
y1
=
0
,
x2
=
0
,
y2
=
0
,
layer
;
wxString
msg
;
...
...
@@ -635,15 +635,15 @@ wxString msg;
PlotCercle
(
wxPoint
(
x1
,
y1
),
DRAWJUNCTION_SIZE
*
2
);
break
;
case
DRAW_TEXT_STRUCT_TYPE
:
case
DRAW_LABEL_STRUCT_TYPE
:
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
TYPE_SCH_TEXT
:
case
TYPE_SCH_LABEL
:
case
TYPE_SCH_GLOBALLABEL
:
case
TYPE_SCH_HIERLABEL
:
PlotTextStruct
(
DrawList
);
break
;
case
DRAW_LIB_ITEM_STRUCT_TYPE
:
DrawLibItem
=
(
EDA_SchComponentStruct
*
)
DrawList
;
case
TYPE_SCH_COMPONENT
:
DrawLibItem
=
(
SCH_COMPONENT
*
)
DrawList
;
PlotLibPart
(
DrawLibItem
);
break
;
...
...
eeschema/plotps.cpp
View file @
c406eed1
...
...
@@ -380,7 +380,7 @@ void WinEDA_PlotPSFrame::PlotOneSheetPS(const wxString & FileName,
{
wxString
Line
;
EDA_BaseStruct
*
DrawList
;
EDA_SchComponentStruct
*
DrawLibItem
;
SCH_COMPONENT
*
DrawLibItem
;
int
layer
;
wxPoint
StartPos
,
EndPos
;
...
...
@@ -471,15 +471,15 @@ wxPoint StartPos, EndPos;
PlotCercle
(
STRUCT
->
m_Pos
,
DRAWJUNCTION_SIZE
);
break
;
case
DRAW_TEXT_STRUCT_TYPE
:
case
DRAW_LABEL_STRUCT_TYPE
:
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
TYPE_SCH_TEXT
:
case
TYPE_SCH_LABEL
:
case
TYPE_SCH_GLOBALLABEL
:
case
TYPE_SCH_HIERLABEL
:
PlotTextStruct
(
DrawList
);
break
;
case
DRAW_LIB_ITEM_STRUCT_TYPE
:
DrawLibItem
=
(
EDA_SchComponentStruct
*
)
DrawList
;
case
TYPE_SCH_COMPONENT
:
DrawLibItem
=
(
SCH_COMPONENT
*
)
DrawList
;
PlotLibPart
(
DrawLibItem
);
break
;
...
...
eeschema/protos.h
View file @
c406eed1
...
...
@@ -5,7 +5,7 @@ void FreeLibraryEntry(LibCmpEntry * Entry);
LibEDA_BaseStruct
*
LocatePin
(
const
wxPoint
&
RefPos
,
EDA_LibComponentStruct
*
Entry
,
int
Unit
,
int
Convert
,
EDA_SchComponentStruct
*
DrawItem
=
NULL
);
int
Unit
,
int
Convert
,
SCH_COMPONENT
*
DrawItem
=
NULL
);
/* Routine de localisation d'une PIN de la PartLib pointee par Entry */
const
wxString
&
ReturnDefaultFieldName
(
int
aFieldNdx
);
...
...
@@ -36,7 +36,7 @@ void IncrementLabelMember(wxString & name);
/* EDITPART.CPP */
/****************/
void
InstallCmpeditFrame
(
WinEDA_SchematicFrame
*
parent
,
wxPoint
&
pos
,
EDA_SchComponentStruct
*
m_Cmp
);
SCH_COMPONENT
*
m_Cmp
);
/**************/
...
...
@@ -49,7 +49,7 @@ int NumOfLibraries();
EDA_LibComponentStruct
*
FindLibPart
(
const
wxChar
*
Name
,
const
wxString
&
LibName
,
int
Alias
);
void
DrawingLibInGhost
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
EDA_LibComponentStruct
*
LibEntry
,
EDA_SchComponentStruct
*
DrawLibItem
,
int
PartX
,
int
PartY
,
SCH_COMPONENT
*
DrawLibItem
,
int
PartX
,
int
PartY
,
int
Multi
,
int
convert
,
int
Color
,
bool
DrawPinText
);
...
...
@@ -84,9 +84,9 @@ void FreeCmpLibrary(wxWindow * frame, const wxString & LibName);
const
wxChar
**
GetLibNames
();
void
SnapLibItemPoint
(
int
OrigX
,
int
OrigY
,
int
*
ClosestX
,
int
*
ClosestY
,
EDA_SchComponentStruct
*
DrawLibItem
);
SCH_COMPONENT
*
DrawLibItem
);
bool
LibItemInBox
(
int
x1
,
int
y1
,
int
x2
,
int
y2
,
EDA_SchComponentStruct
*
DrawLibItem
);
SCH_COMPONENT
*
DrawLibItem
);
void
DrawTextField
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
,
PartTextStruct
*
Field
,
int
IsMulti
,
int
DrawMode
);
/* Routine de trace des textes type Field du composant.
entree:
...
...
@@ -117,9 +117,9 @@ bool DrawStructInBox(int x1, int y1, int x2, int y2,
/* LOCATE.CPP */
/*************/
LibDrawPin
*
LocatePinByNumber
(
const
wxString
&
ePin_Number
,
EDA_SchComponentStruct
*
eComponent
);
SCH_COMPONENT
*
eComponent
);
EDA_SchComponentStruct
*
LocateSmallestComponent
(
SCH_SCREEN
*
Screen
);
SCH_COMPONENT
*
LocateSmallestComponent
(
SCH_SCREEN
*
Screen
);
/* Recherche du plus petit (en surface) composant pointe par la souris */
EDA_BaseStruct
*
PickStruct
(
EDA_Rect
&
block
,
...
...
@@ -168,7 +168,7 @@ LibEDA_BaseStruct * LocateDrawItem(SCH_SCREEN * Screen, const wxPoint & refpoint
DrawSheetLabelStruct
*
LocateSheetLabel
(
DrawSheetStruct
*
Sheet
,
const
wxPoint
&
pos
);
LibDrawPin
*
LocateAnyPin
(
EDA_BaseStruct
*
DrawList
,
const
wxPoint
&
RefPos
,
EDA_SchComponentStruct
**
libpart
=
NULL
);
SCH_COMPONENT
**
libpart
=
NULL
);
DrawSheetLabelStruct
*
LocateAnyPinSheet
(
const
wxPoint
&
RefPos
,
EDA_BaseStruct
*
DrawList
);
...
...
@@ -315,7 +315,7 @@ void PlotCercle(wxPoint centre, int diametre, int width = -1);
void
PlotPoly
(
int
nb
,
int
*
coord
,
int
fill
,
int
width
=
-
1
);
void
PlotNoConnectStruct
(
DrawNoConnectStruct
*
Struct
);
void
PlotLibPart
(
EDA_SchComponentStruct
*
DrawLibItem
);
void
PlotLibPart
(
SCH_COMPONENT
*
DrawLibItem
);
/* Genere le trace d'un composant */
void
PlotSheetStruct
(
DrawSheetStruct
*
Struct
);
/* Routine de dessin du bloc type hierarchie */
...
...
eeschema/save_schemas.cpp
View file @
c406eed1
...
...
@@ -20,7 +20,7 @@
/* Fonctions externes */
/* Fonctions Locales */
static
int
SavePartDescr
(
FILE
*
f
,
EDA_SchComponentStruct
*
LibItemStruct
);
static
int
SavePartDescr
(
FILE
*
f
,
SCH_COMPONENT
*
LibItemStruct
);
static
int
SaveSheetDescr
(
FILE
*
f
,
DrawSheetStruct
*
SheetStruct
);
static
void
SaveLayers
(
FILE
*
f
);
...
...
@@ -145,8 +145,8 @@ bool WinEDA_SchematicFrame::SaveEEFile(SCH_SCREEN *screen, int FileSave)
{
switch
(
Phead
->
Type
())
{
case
DRAW_LIB_ITEM_STRUCT_TYPE
:
/* Its a library item. */
SavePartDescr
(
f
,
(
EDA_SchComponentStruct
*
)
Phead
);
case
TYPE_SCH_COMPONENT
:
/* Its a library item. */
SavePartDescr
(
f
,
(
SCH_COMPONENT
*
)
Phead
);
break
;
case
DRAW_SHEET_STRUCT_TYPE
:
/* Its a Sheet item. */
...
...
@@ -237,9 +237,9 @@ bool WinEDA_SchematicFrame::SaveEEFile(SCH_SCREEN *screen, int FileSave)
}
break
;
case
DRAW_TEXT_STRUCT_TYPE
:
/* Its a text item. */
case
TYPE_SCH_TEXT
:
/* Its a text item. */
#undef STRUCT
#define STRUCT ((DrawTextStruct
*) Phead)
#define STRUCT ((SCH_TEXT
*) Phead)
if
(
fprintf
(
f
,
"Text Notes %-4d %-4d %-4d %-4d ~
\n
%s
\n
"
,
STRUCT
->
m_Pos
.
x
,
STRUCT
->
m_Pos
.
y
,
STRUCT
->
m_Orient
,
STRUCT
->
m_Size
.
x
,
...
...
@@ -248,9 +248,9 @@ bool WinEDA_SchematicFrame::SaveEEFile(SCH_SCREEN *screen, int FileSave)
break
;
case
DRAW_LABEL_STRUCT_TYPE
:
/* Its a label item. */
case
TYPE_SCH_LABEL
:
/* Its a label item. */
#undef STRUCT
#define STRUCT ((DrawLabelStruct
*) Phead)
#define STRUCT ((SCH_LABEL
*) Phead)
shape
=
'~'
;
if
(
fprintf
(
f
,
"Text Label %-4d %-4d %-4d %-4d %c
\n
%s
\n
"
,
STRUCT
->
m_Pos
.
x
,
STRUCT
->
m_Pos
.
y
,
...
...
@@ -259,9 +259,9 @@ bool WinEDA_SchematicFrame::SaveEEFile(SCH_SCREEN *screen, int FileSave)
Failed
=
TRUE
;
break
;
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
/* Its a Global label item. */
case
TYPE_SCH_GLOBALLABEL
:
/* Its a Global label item. */
#undef STRUCT
#define STRUCT ((DrawGlobalLabelStruct
*) Phead)
#define STRUCT ((SCH_GLOBALLABEL
*) Phead)
shape
=
STRUCT
->
m_Shape
;
if
(
fprintf
(
f
,
"Text GLabel %-4d %-4d %-4d %-4d %s
\n
%s
\n
"
,
STRUCT
->
m_Pos
.
x
,
STRUCT
->
m_Pos
.
y
,
...
...
@@ -271,9 +271,9 @@ bool WinEDA_SchematicFrame::SaveEEFile(SCH_SCREEN *screen, int FileSave)
Failed
=
TRUE
;
break
;
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
/* Its a Hierarchical label item. */
case
TYPE_SCH_HIERLABEL
:
/* Its a Hierarchical label item. */
#undef STRUCT
#define STRUCT ((DrawHierLabelStruct
*) Phead)
#define STRUCT ((SCH_HIERLABEL
*) Phead)
shape
=
STRUCT
->
m_Shape
;
if
(
fprintf
(
f
,
"Text HLabel %-4d %-4d %-4d %-4d %s
\n
%s
\n
"
,
STRUCT
->
m_Pos
.
x
,
STRUCT
->
m_Pos
.
y
,
...
...
@@ -324,7 +324,7 @@ bool WinEDA_SchematicFrame::SaveEEFile(SCH_SCREEN *screen, int FileSave)
/*******************************************************************/
static
int
SavePartDescr
(
FILE
*
f
,
EDA_SchComponentStruct
*
LibItemStruct
)
static
int
SavePartDescr
(
FILE
*
f
,
SCH_COMPONENT
*
LibItemStruct
)
/*******************************************************************/
/* Routine utilisee dans la routine precedente.
Assure la sauvegarde de la structure LibItemStruct
...
...
eeschema/schedit.cpp
View file @
c406eed1
This diff is collapsed.
Click to expand it.
eeschema/schematic_undo_redo.cpp
View file @
c406eed1
...
...
@@ -90,22 +90,22 @@ void SwapData( EDA_BaseStruct* Item )
EXCHG
(
SOURCE
->
m_Pos
,
DEST
->
m_Pos
);
break
;
case
DRAW_LABEL_STRUCT_TYPE
:
case
DRAW_GLOBAL_LABEL_STRUCT_TYPE
:
case
DRAW_HIER_LABEL_STRUCT_TYPE
:
case
DRAW_TEXT_STRUCT_TYPE
:
case
TYPE_SCH_LABEL
:
case
TYPE_SCH_GLOBALLABEL
:
case
TYPE_SCH_HIERLABEL
:
case
TYPE_SCH_TEXT
:
#undef SOURCE
#undef DEST
#define SOURCE ( (
DrawTextStruct
*) Item )
#define DEST ( (
DrawTextStruct
*) image )
#define SOURCE ( (
SCH_TEXT
*) Item )
#define DEST ( (
SCH_TEXT
*) image )
DEST
->
SwapData
(
SOURCE
);
break
;
case
DRAW_LIB_ITEM_STRUCT_TYPE
:
case
TYPE_SCH_COMPONENT
:
#undef SOURCE
#undef DEST
#define SOURCE ( (
EDA_SchComponentStruct
*) Item )
#define DEST ( (
EDA_SchComponentStruct
*) image )
#define SOURCE ( (
SCH_COMPONENT
*) Item )
#define DEST ( (
SCH_COMPONENT
*) image )
DEST
->
SwapData
(
SOURCE
);
break
;
...
...
eeschema/schframe.h
View file @
c406eed1
...
...
@@ -71,7 +71,7 @@ public:
/* Cross probing with pcbnew */
void
SendMessageToPCBNEW
(
EDA_BaseStruct
*
objectToSync
,
EDA_SchComponentStruct
*
LibItem
);
SCH_COMPONENT
*
LibItem
);
/* netlist generation */
void
*
BuildNetListBase
();
...
...
@@ -144,10 +144,10 @@ private:
// Text ,label, glabel
EDA_BaseStruct
*
CreateNewText
(
wxDC
*
DC
,
int
type
);
void
EditSchematicText
(
DrawTextStruct
*
TextStruct
,
wxDC
*
DC
);
void
ChangeTextOrient
(
DrawTextStruct
*
TextStruct
,
wxDC
*
DC
);
void
StartMoveTexte
(
DrawTextStruct
*
TextStruct
,
wxDC
*
DC
);
void
ConvertTextType
(
DrawTextStruct
*
Text
,
wxDC
*
DC
,
int
newtype
);
void
EditSchematicText
(
SCH_TEXT
*
TextStruct
,
wxDC
*
DC
);
void
ChangeTextOrient
(
SCH_TEXT
*
TextStruct
,
wxDC
*
DC
);
void
StartMoveTexte
(
SCH_TEXT
*
TextStruct
,
wxDC
*
DC
);
void
ConvertTextType
(
SCH_TEXT
*
Text
,
wxDC
*
DC
,
int
newtype
);
// Wire, Bus
void
BeginSegment
(
wxDC
*
DC
,
int
type
);
...
...
@@ -188,25 +188,25 @@ public:
private
:
// Component
EDA_SchComponentStruct
*
Load_Component
(
wxDC
*
DC
,
SCH_COMPONENT
*
Load_Component
(
wxDC
*
DC
,
const
wxString
&
libname
,
wxArrayString
&
List
,
bool
UseLibBrowser
);
void
StartMovePart
(
EDA_SchComponentStruct
*
DrawLibItem
,
wxDC
*
DC
);
void
StartMovePart
(
SCH_COMPONENT
*
DrawLibItem
,
wxDC
*
DC
);
public
:
void
CmpRotationMiroir
(
EDA_SchComponentStruct
*
DrawComponent
,
void
CmpRotationMiroir
(
SCH_COMPONENT
*
DrawComponent
,
wxDC
*
DC
,
int
type_rotate
);
private
:
void
SelPartUnit
(
EDA_SchComponentStruct
*
DrawComponent
,
void
SelPartUnit
(
SCH_COMPONENT
*
DrawComponent
,
int
unit
,
wxDC
*
DC
);
void
ConvertPart
(
EDA_SchComponentStruct
*
DrawComponent
,
wxDC
*
DC
);
void
SetInitCmp
(
EDA_SchComponentStruct
*
DrawComponent
,
wxDC
*
DC
);
void
EditComponentReference
(
EDA_SchComponentStruct
*
DrawLibItem
,
void
ConvertPart
(
SCH_COMPONENT
*
DrawComponent
,
wxDC
*
DC
);
void
SetInitCmp
(
SCH_COMPONENT
*
DrawComponent
,
wxDC
*
DC
);
void
EditComponentReference
(
SCH_COMPONENT
*
DrawLibItem
,
wxDC
*
DC
);
void
EditComponentValue
(
EDA_SchComponentStruct
*
DrawLibItem
,
wxDC
*
DC
);
void
EditComponentFootprint
(
EDA_SchComponentStruct
*
DrawLibItem
,
void
EditComponentValue
(
SCH_COMPONENT
*
DrawLibItem
,
wxDC
*
DC
);
void
EditComponentFootprint
(
SCH_COMPONENT
*
DrawLibItem
,
wxDC
*
DC
);
void
StartMoveCmpField
(
PartTextStruct
*
Field
,
wxDC
*
DC
);
void
EditCmpFieldText
(
PartTextStruct
*
Field
,
wxDC
*
DC
);
...
...
eeschema/sheetlab.cpp
View file @
c406eed1
...
...
@@ -359,16 +359,16 @@ DrawSheetLabelStruct* WinEDA_SchematicFrame::Import_PinSheet( DrawSheetStruct* S
{
EDA_BaseStruct
*
DrawStruct
;
DrawSheetLabelStruct
*
NewSheetLabel
,
*
SheetLabel
=
NULL
;
DrawHierLabelStruct
*
HLabel
=
NULL
;
SCH_HIERLABEL
*
HLabel
=
NULL
;
if
(
!
Sheet
->
m_AssociatedScreen
)
return
NULL
;
DrawStruct
=
Sheet
->
m_AssociatedScreen
->
EEDrawList
;
HLabel
=
NULL
;
for
(
;
DrawStruct
!=
NULL
;
DrawStruct
=
DrawStruct
->
Pnext
)
{
if
(
DrawStruct
->
Type
()
!=
DRAW_HIER_LABEL_STRUCT_TYPE
)
if
(
DrawStruct
->
Type
()
!=
TYPE_SCH_HIERLABEL
)
continue
;
HLabel
=
(
DrawHierLabelStruct
*
)
DrawStruct
;
HLabel
=
(
SCH_HIERLABEL
*
)
DrawStruct
;
/* Ici un G-Label a ete trouve: y a t-il un SheetLabel correspondant */
SheetLabel
=
Sheet
->
m_Label
;
...
...
include/base_struct.h
View file @
c406eed1
...
...
@@ -47,11 +47,11 @@ enum KICAD_T {
// Draw Items in schematic
DRAW_POLYLINE_STRUCT_TYPE
,
DRAW_JUNCTION_STRUCT_TYPE
,
DRAW_TEXT_STRUCT_TYPE
,
DRAW_LABEL_STRUCT_TYPE
,
DRAW_GLOBAL_LABEL_STRUCT_TYPE
,
DRAW_HIER_LABEL_STRUCT_TYPE
,
DRAW_LIB_ITEM_STRUCT_TYPE
,
TYPE_SCH_TEXT
,
TYPE_SCH_LABEL
,
TYPE_SCH_GLOBALLABEL
,
TYPE_SCH_HIERLABEL
,
TYPE_SCH_COMPONENT
,
DRAW_PICK_ITEM_STRUCT_TYPE
,
DRAW_SEGMENT_STRUCT_TYPE
,
DRAW_BUSENTRY_STRUCT_TYPE
,
...
...
@@ -357,6 +357,10 @@ public:
*/
virtual
EDA_Rect
GetBoundingBox
()
{
#if defined (DEBUG)
printf
(
"Missing GetBoundingBox() -> no good! :-)
\n
"
);
Show
(
0
,
std
::
cout
);
// tell me which classes still need GetBoundingBox support
#endif
// return a zero-sized box per default. derived classes should override this
EDA_Rect
ret
(
wxPoint
(
0
,
0
),
wxSize
(
0
,
0
)
);
return
ret
;
...
...
@@ -668,18 +672,44 @@ public:
};
/**************************/
/* class DrawPickedStruct */
/**************************/
/**
* Class SCH_ITEM
* is a base class for any item which can be embedded within the SCHEMATIC
* container class, and therefore instances of derived classes should only be
* found in EESCHEMA or other programs that use class SCHEMATIC and its contents.
* The corresponding class in PCBNEW is BOARD_ITEM.
*/
class
SCH_ITEM
:
public
EDA_BaseStruct
{
protected
:
int
m_Layer
;
public
:
SCH_ITEM
(
EDA_BaseStruct
*
aParent
,
KICAD_T
aType
)
:
EDA_BaseStruct
(
aParent
,
aType
),
m_Layer
(
0
)
{
}
~
SCH_ITEM
(){}
virtual
wxString
GetClass
()
const
{
return
wxT
(
"SCH_ITEM"
);
}
};
/* Class to hold structures picked by pick events (like block selection)
/**
* Class DrawPickedStruct
* holds structures picked by pick events (like block selection).
* This class has only one useful member: .m_PickedStruct, used as a link.
* It does not describe really an item.
* It is used to create a linked list of selected items (in block selection).
* Each DrawPickedStruct item has is member: .m_PickedStruct pointing the
*
real selected item
*
real selected item.
*/
class
DrawPickedStruct
:
public
EDA_BaseStruct
class
DrawPickedStruct
:
public
SCH_ITEM
{
public
:
EDA_BaseStruct
*
m_PickedStruct
;
...
...
@@ -691,6 +721,22 @@ public:
void
DeleteWrapperList
();
DrawPickedStruct
*
Next
()
{
return
(
DrawPickedStruct
*
)
Pnext
;
}
EDA_Rect
GetBoundingBox
();
/**
* Function GetBoundingBoxUnion
* returns the union of all the BoundingBox rectangles of all held items
* in the picklist whose list head is this DrawPickedStruct.
* @return EDA_Rect - The combined, composite, bounding box.
*/
EDA_Rect
GetBoundingBoxUnion
();
wxString
GetClass
()
const
{
return
wxT
(
"DrawPickedStruct"
);
}
#if defined(DEBUG)
void
Show
(
int
nestLevel
,
std
::
ostream
&
os
);
#endif
};
#endif
/* BASE_STRUCT_H */
include/wxstruct.h
View file @
c406eed1
...
...
@@ -71,13 +71,13 @@ class EDA_LibComponentStruct;
class
LibEDA_BaseStruct
;
class
EDA_BaseStruct
;
class
DrawBusEntryStruct
;
class
DrawGlobalLabelStruct
;
class
DrawTextStruct
;
class
SCH_GLOBALLABEL
;
class
SCH_TEXT
;
class
EDA_DrawLineStruct
;
class
DrawSheetStruct
;
class
DrawSheetPath
;
class
DrawSheetLabelStruct
;
class
EDA_SchComponentStruct
;
class
SCH_COMPONENT
;
class
LibDrawField
;
class
PartTextStruct
;
class
LibDrawPin
;
...
...
pcbnew/specctra.h
View file @
c406eed1
...
...
@@ -934,7 +934,7 @@ typedef boost::ptr_vector<WINDOW> WINDOWS;
/**
* Class KEEPOUT
* is used for
<keepout_descriptor> and <plane_descriptor>
.
* is used for
<keepout_descriptor> and <plane_descriptor>
.
*/
class
KEEPOUT
:
public
ELEM
{
...
...
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