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
4a8bf70d
Commit
4a8bf70d
authored
Sep 06, 2007
by
dickelbeck
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
tweaks
parent
9fba83b5
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
154 additions
and
146 deletions
+154
-146
macros.h
include/macros.h
+3
-3
pcbstruct.h
include/pcbstruct.h
+12
-4
wxstruct.h
include/wxstruct.h
+13
-3
collectors.cpp
pcbnew/collectors.cpp
+16
-37
collectors.h
pcbnew/collectors.h
+7
-0
edit.cpp
pcbnew/edit.cpp
+4
-0
onrightclick.cpp
pcbnew/onrightclick.cpp
+97
-98
pcbframe.cpp
pcbnew/pcbframe.cpp
+2
-1
No files found.
include/macros.h
View file @
4a8bf70d
...
...
@@ -11,12 +11,12 @@
#define CONV_FROM_UTF8(utf8string) (utf8string)
#endif
/* violation of C++ standard, cannot use
MIN() and MAX()
/* violation of C++ standard, cannot use
min() and max(), i.e. in lowercase
#ifndef min
#define
MIN
(x, y) ((x) > (y) ? (y) : (x))
#define
min
(x, y) ((x) > (y) ? (y) : (x))
#endif
#ifndef max
#define
MAX
(x, y) ((x) > (y) ? (x) : (y))
#define
max
(x, y) ((x) > (y) ? (x) : (y))
#endif
*/
...
...
include/pcbstruct.h
View file @
4a8bf70d
...
...
@@ -325,11 +325,19 @@ public:
public
:
PCB_SCREEN
(
int
idscreen
);
~
PCB_SCREEN
();
PCB_SCREEN
*
Next
()
{
return
(
PCB_SCREEN
*
)
Pnext
;
}
void
Init
();
void
SetNextZoom
();
void
SetPreviousZoom
();
void
SetLastZoom
();
/**
* Function GetCurItem
* returns the currently selected BOARD_ITEM, overriding BASE_SCREEN::GetCurItem().
* @return BOARD_ITEM* - the one selected, or NULL.
*/
BOARD_ITEM
*
GetCurItem
()
const
{
return
(
BOARD_ITEM
*
)
BASE_SCREEN
::
GetCurItem
();
}
};
/***************************/
...
...
include/wxstruct.h
View file @
4a8bf70d
...
...
@@ -210,8 +210,8 @@ public:
BASE_SCREEN
*
m_CurrentScreen
;
// SCREEN en cours
int
m_CurrentCursorShape
;
// shape for cursor (0 = default cursor)
int
m_ID_current_state
;
//
Id du bouton actif du tool bar vertical
int
m_HTOOL_current_state
;
//
Id du bouton actif du tool bar horizontal
int
m_ID_current_state
;
//
/< Id of active button on the vertical toolbar
int
m_HTOOL_current_state
;
//
/< Id of active button on horizontal toolbar
int
m_InternalUnits
;
// nombre d'unites internes pour 1 pouce
// = 1000 pour schema, = 10000 pour PCB
...
...
@@ -395,6 +395,7 @@ public:
BOARD_ITEM
*
PcbGeneralLocateAndDisplay
();
BOARD_ITEM
*
Locate
(
int
typeloc
,
int
LayerSearch
);
#if defined(DEBUG)
/**
* Function GetCollectorsGuide
...
...
@@ -562,7 +563,16 @@ public:
void
PrepareLayerIndicator
();
void
OnLeftClick
(
wxDC
*
DC
,
const
wxPoint
&
MousePos
);
void
OnLeftDClick
(
wxDC
*
DC
,
const
wxPoint
&
MousePos
);
void
OnRightClick
(
const
wxPoint
&
MousePos
,
wxMenu
*
PopMenu
);
/**
* Function OnRightClick
* populates a popup menu with the choices appropriate for the current context.
* The caller will add the ZOOM menu choices afterwards.
* @param aMousePos The current mouse position
* @param aPopMenu The menu to add to.
*/
void
OnRightClick
(
const
wxPoint
&
aMousePos
,
wxMenu
*
aPopMenu
);
void
OnSelectOptionToolbar
(
wxCommandEvent
&
event
);
void
ToolOnRightClick
(
wxCommandEvent
&
event
);
...
...
pcbnew/collectors.cpp
View file @
4a8bf70d
...
...
@@ -47,6 +47,19 @@ const KICAD_T GENERAL_COLLECTOR::AllBoardItems[] = {
};
const
KICAD_T
GENERAL_COLLECTOR
::
PrimaryItems
[]
=
{
TYPETEXTE
,
TYPEDRAWSEGMENT
,
TYPECOTATION
,
TYPEVIA
,
TYPETRACK
,
// TYPEPAD, TYPEPAD and TYPETEXTEMODULE are handled in a subsearch
// TYPETEXTEMODULE,
TYPEMODULE
,
EOT
};
/**
* Function Inspect
* is the examining function within the INSPECTOR which is passed to the
...
...
@@ -224,41 +237,7 @@ exit:
// see collectors.h
/*
void GENERAL_COLLECTOR::Collect( BOARD* board, const wxPoint& refPos,
int aPreferredLayer, int aLayerMask )
{
Empty(); // empty the collection, primary criteria list
Empty2nd(); // empty the collection, secondary criteria list
SetPreferredLayer( aPreferredLayer );
SetLayerMask( aLayerMask );
// remember refPos, pass to Inspect()
SetRefPos( refPos );
#if defined(DEBUG)
std::cout << '\n';
#endif
// visit the board with the INSPECTOR (me).
board->Visit( this, // INSPECTOR* inspector
NULL, // const void* testData, not used here
m_ScanTypes);
SetTimeNow(); // when snapshot was taken
// append 2nd list onto end of the first "list"
for( unsigned i=0; i<list2nd.size(); ++i )
Append( list2nd[i] );
Empty2nd();
}
*/
// see collectors.h
void
GENERAL_COLLECTOR
::
Collect
(
BOARD_ITEM
*
aItem
,
const
wxPoint
&
refPos
,
void
GENERAL_COLLECTOR
::
Collect
(
BOARD_ITEM
*
aItem
,
const
wxPoint
&
aRefPos
,
const
COLLECTORS_GUIDE
*
aGuide
)
{
Empty
();
// empty the collection, primary criteria list
...
...
@@ -269,9 +248,9 @@ void GENERAL_COLLECTOR::Collect( BOARD_ITEM* aItem, const wxPoint& refPos,
// remember where the snapshot was taken from and pass refPos to
// the Inspect() function.
SetRefPos
(
r
efPos
);
SetRefPos
(
aR
efPos
);
// visit the board with the INSPECTOR (me).
// visit the board
or module
with the INSPECTOR (me).
aItem
->
Visit
(
this
,
// INSPECTOR* inspector
NULL
,
// const void* testData, not used here
m_ScanTypes
);
...
...
pcbnew/collectors.h
View file @
4a8bf70d
...
...
@@ -192,6 +192,13 @@ public:
static
const
KICAD_T
AllBoardItems
[];
/**
* A scan list for all primary board items, omitting items which are subsidiary to
* a MODULE, such as D_PAD and TEXTEMODULE.
*/
static
const
KICAD_T
PrimaryItems
[];
/**
* Constructor GENERALCOLLECTOR
*/
...
...
pcbnew/edit.cpp
View file @
4a8bf70d
...
...
@@ -352,6 +352,10 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event )
DrawPanel
->
CursorOff
(
&
dc
);
DrawPanel
->
PrepareGraphicContext
(
&
dc
);
#if defined(DEBUG)
std
::
cout
<<
"GetString="
<<
event
.
GetString
().
mb_str
()
<<
'\n'
;
#endif
wxGetMousePosition
(
&
pos
.
x
,
&
pos
.
y
);
pos
.
y
+=
20
;
...
...
pcbnew/onrightclick.cpp
View file @
4a8bf70d
...
...
@@ -121,67 +121,63 @@ static wxMenu* Append_Track_Width_List()
}
/****************************************************************************/
void
WinEDA_PcbFrame
::
OnRightClick
(
const
wxPoint
&
MousePos
,
wxMenu
*
PopMenu
)
/****************************************************************************/
/* Create the PopUp menu (click on right mouse button)
* de la souris.
* The ZOOM menu is added to this menu
*/
/******************************************************************************/
void
WinEDA_PcbFrame
::
OnRightClick
(
const
wxPoint
&
aMousePos
,
wxMenu
*
aPopMenu
)
/******************************************************************************/
{
EDA_BaseStruct
*
DrawStruct
=
m_CurrentScreen
->
GetCurItem
();
wxString
msg
;
int
flags
=
0
;
bool
locate_track
=
FALSE
;
bool
BlockActive
=
(
m_CurrentScreen
->
BlockLocate
.
m_Command
!=
BLOCK_IDLE
);
wxClientDC
dc
(
DrawPanel
);
BOARD_ITEM
*
item
=
GetScreen
()
->
GetCurItem
();
DrawPanel
->
CursorOff
(
&
dc
);
DrawPanel
->
m_CanStartBlock
=
-
1
;
// Ne pas engager un debut de bloc sur validation menu
// Simple localisation des elements si possible
if
(
(
DrawStruct
==
NULL
)
||
(
DrawStruct
->
m_Flags
==
0
)
)
if
(
item
==
NULL
||
item
->
m_Flags
==
0
)
{
if
(
m_HTOOL_current_state
==
ID_TOOLBARH_PCB_AUTOPLACE
)
{
DrawStruct
=
Locate_Prefered_Module
(
m_Pcb
,
CURSEUR_OFF_GRILLE
|
VISIBLE_ONLY
);
if
(
DrawStruct
)
(
(
MODULE
*
)
DrawStruct
)
->
Display_Infos
(
this
);
item
=
Locate_Prefered_Module
(
m_Pcb
,
CURSEUR_OFF_GRILLE
|
VISIBLE_ONLY
);
if
(
item
)
item
->
Display_Infos
(
this
);
else
DrawStruct
=
PcbGeneralLocateAndDisplay
();
item
=
PcbGeneralLocateAndDisplay
();
}
else
DrawStruct
=
PcbGeneralLocateAndDisplay
();
item
=
PcbGeneralLocateAndDisplay
();
}
// If command in progress: Put the Cancel command (if needed) and End command
if
(
m_ID_current_state
)
{
if
(
DrawStruct
&&
DrawStruct
->
m_Flags
)
if
(
item
&&
item
->
m_Flags
)
{
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_CANCEL_CURRENT_COMMAND
,
ADD_MENUITEM
(
a
PopMenu
,
ID_POPUP_CANCEL_CURRENT_COMMAND
,
_
(
"Cancel"
),
cancel_xpm
);
}
else
{
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_CLOSE_CURRENT_TOOL
,
ADD_MENUITEM
(
a
PopMenu
,
ID_POPUP_CLOSE_CURRENT_TOOL
,
_
(
"End Tool"
),
cancel_tool_xpm
);
}
PopMenu
->
AppendSeparator
();
a
PopMenu
->
AppendSeparator
();
}
else
{
if
(
(
DrawStruct
&&
DrawStruct
->
m_Flags
)
||
BlockActive
)
if
(
(
item
&&
item
->
m_Flags
)
||
BlockActive
)
{
if
(
BlockActive
)
CreatePopUpBlockMenu
(
PopMenu
);
CreatePopUpBlockMenu
(
a
PopMenu
);
else
{
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_CANCEL_CURRENT_COMMAND
,
ADD_MENUITEM
(
a
PopMenu
,
ID_POPUP_CANCEL_CURRENT_COMMAND
,
_
(
"Cancel"
),
cancel_xpm
);
}
PopMenu
->
AppendSeparator
();
a
PopMenu
->
AppendSeparator
();
}
}
...
...
@@ -191,65 +187,65 @@ void WinEDA_PcbFrame::OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu )
return
;
}
m_CurrentScreen
->
SetCurItem
(
DrawStruct
);
m_CurrentScreen
->
SetCurItem
(
item
);
if
(
DrawStruct
)
flags
=
DrawStruct
->
m_Flags
;
if
(
item
)
flags
=
item
->
m_Flags
;
else
flags
=
0
;
if
(
!
flags
)
{
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_PCB_GET_AND_MOVE_MODULE_REQUEST
,
ADD_MENUITEM
(
a
PopMenu
,
ID_POPUP_PCB_GET_AND_MOVE_MODULE_REQUEST
,
_
(
"Get and Move Footprint"
),
Move_Module_xpm
);
}
if
(
DrawStruct
)
if
(
item
)
{
switch
(
DrawStruct
->
Type
()
)
switch
(
item
->
Type
()
)
{
case
TYPEMODULE
:
if
(
!
flags
)
CreatePopUpMenuForFootprints
(
(
MODULE
*
)
DrawStruct
,
PopMenu
,
TRUE
);
CreatePopUpMenuForFootprints
(
(
MODULE
*
)
item
,
a
PopMenu
,
TRUE
);
else
CreatePopUpMenuForFootprints
(
(
MODULE
*
)
DrawStruct
,
PopMenu
,
FALSE
);
CreatePopUpMenuForFootprints
(
(
MODULE
*
)
item
,
a
PopMenu
,
FALSE
);
if
(
m_HTOOL_current_state
==
ID_TOOLBARH_PCB_AUTOPLACE
)
{
PopMenu
->
AppendSeparator
();
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_PCB_AUTOPLACE_FIXE_MODULE
,
_
(
"Lock Module"
),
a
PopMenu
->
AppendSeparator
();
ADD_MENUITEM
(
a
PopMenu
,
ID_POPUP_PCB_AUTOPLACE_FIXE_MODULE
,
_
(
"Lock Module"
),
Locked_xpm
);
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_PCB_AUTOPLACE_FREE_MODULE
,
_
(
"Unlock Module"
),
ADD_MENUITEM
(
a
PopMenu
,
ID_POPUP_PCB_AUTOPLACE_FREE_MODULE
,
_
(
"Unlock Module"
),
Unlocked_xpm
);
if
(
!
flags
)
PopMenu
->
Append
(
ID_POPUP_PCB_AUTOPLACE_CURRENT_MODULE
,
a
PopMenu
->
Append
(
ID_POPUP_PCB_AUTOPLACE_CURRENT_MODULE
,
_
(
"Auto place Module"
)
);
}
if
(
m_HTOOL_current_state
==
ID_TOOLBARH_PCB_AUTOROUTE
)
{
if
(
!
flags
)
PopMenu
->
Append
(
ID_POPUP_PCB_AUTOROUTE_MODULE
,
_
(
"Autoroute"
)
);
a
PopMenu
->
Append
(
ID_POPUP_PCB_AUTOROUTE_MODULE
,
_
(
"Autoroute"
)
);
}
break
;
case
TYPEPAD
:
if
(
!
flags
)
{
MODULE
*
Module
=
(
MODULE
*
)
DrawStruct
->
m_Parent
;
if
(
M
odule
)
MODULE
*
module
=
(
MODULE
*
)
item
->
m_Parent
;
if
(
m
odule
)
{
CreatePopUpMenuForFootprints
(
Module
,
PopMenu
,
TRUE
);
PopMenu
->
AppendSeparator
();
CreatePopUpMenuForFootprints
(
module
,
a
PopMenu
,
TRUE
);
a
PopMenu
->
AppendSeparator
();
}
}
CreatePopUpMenuForPads
(
(
D_PAD
*
)
DrawStruct
,
PopMenu
);
CreatePopUpMenuForPads
(
(
D_PAD
*
)
item
,
a
PopMenu
);
if
(
m_HTOOL_current_state
==
ID_TOOLBARH_PCB_AUTOROUTE
)
{
if
(
!
flags
)
{
PopMenu
->
Append
(
ID_POPUP_PCB_AUTOROUTE_PAD
,
_
(
"Autoroute Pad"
)
);
PopMenu
->
Append
(
ID_POPUP_PCB_AUTOROUTE_NET
,
_
(
"Autoroute Net"
)
);
a
PopMenu
->
Append
(
ID_POPUP_PCB_AUTOROUTE_PAD
,
_
(
"Autoroute Pad"
)
);
a
PopMenu
->
Append
(
ID_POPUP_PCB_AUTOROUTE_NET
,
_
(
"Autoroute Net"
)
);
}
}
break
;
...
...
@@ -257,83 +253,83 @@ void WinEDA_PcbFrame::OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu )
case
TYPETEXTEMODULE
:
if
(
!
flags
)
{
MODULE
*
Module
=
(
MODULE
*
)
DrawStruct
->
m_Parent
;
if
(
M
odule
)
MODULE
*
module
=
(
MODULE
*
)
item
->
m_Parent
;
if
(
m
odule
)
{
CreatePopUpMenuForFootprints
(
Module
,
PopMenu
,
TRUE
);
PopMenu
->
AppendSeparator
();
CreatePopUpMenuForFootprints
(
module
,
a
PopMenu
,
TRUE
);
a
PopMenu
->
AppendSeparator
();
}
}
CreatePopUpMenuForFpTexts
(
(
TEXTE_MODULE
*
)
DrawStruct
,
PopMenu
);
CreatePopUpMenuForFpTexts
(
(
TEXTE_MODULE
*
)
item
,
a
PopMenu
);
break
;
case
TYPEDRAWSEGMENT
:
if
(
!
flags
)
{
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_PCB_MOVE_DRAWING_REQUEST
,
ADD_MENUITEM
(
a
PopMenu
,
ID_POPUP_PCB_MOVE_DRAWING_REQUEST
,
_
(
"Move Drawing"
),
move_xpm
);
}
if
(
flags
&
IS_NEW
)
{
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_PCB_STOP_CURRENT_DRAWING
,
ADD_MENUITEM
(
a
PopMenu
,
ID_POPUP_PCB_STOP_CURRENT_DRAWING
,
_
(
"End Drawing"
),
apply_xpm
);
}
PopMenu
->
Append
(
ID_POPUP_PCB_EDIT_DRAWING
,
_
(
"Edit Drawing"
)
);
PopMenu
->
Append
(
ID_POPUP_PCB_DELETE_DRAWING
,
_
(
"Delete Drawing"
)
);
a
PopMenu
->
Append
(
ID_POPUP_PCB_EDIT_DRAWING
,
_
(
"Edit Drawing"
)
);
a
PopMenu
->
Append
(
ID_POPUP_PCB_DELETE_DRAWING
,
_
(
"Delete Drawing"
)
);
break
;
case
TYPEEDGEZONE
:
if
(
flags
&
IS_NEW
)
{
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_PCB_STOP_CURRENT_EDGE_ZONE
,
ADD_MENUITEM
(
a
PopMenu
,
ID_POPUP_PCB_STOP_CURRENT_EDGE_ZONE
,
_
(
"End edge zone"
),
apply_xpm
);
}
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_PCB_DELETE_EDGE_ZONE
,
ADD_MENUITEM
(
a
PopMenu
,
ID_POPUP_PCB_DELETE_EDGE_ZONE
,
_
(
"Delete edge zone"
),
delete_xpm
);
break
;
case
TYPETEXTE
:
CreatePopUpMenuForTexts
(
(
TEXTE_PCB
*
)
DrawStruct
,
PopMenu
);
CreatePopUpMenuForTexts
(
(
TEXTE_PCB
*
)
item
,
a
PopMenu
);
break
;
case
TYPETRACK
:
case
TYPEVIA
:
locate_track
=
TRUE
;
CreatePopupMenuForTracks
(
(
TRACK
*
)
DrawStruct
,
GetScreen
()
->
m_Curseur
,
PopMenu
);
CreatePopupMenuForTracks
(
(
TRACK
*
)
item
,
GetScreen
()
->
m_Curseur
,
a
PopMenu
);
break
;
case
TYPEZONE
:
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_PCB_EDIT_ZONE
,
ADD_MENUITEM
(
a
PopMenu
,
ID_POPUP_PCB_EDIT_ZONE
,
_
(
"Edit Zone"
),
edit_xpm
);
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_PCB_DELETE_ZONE
,
ADD_MENUITEM
(
a
PopMenu
,
ID_POPUP_PCB_DELETE_ZONE
,
_
(
"Delete Zone"
),
delete_xpm
);
break
;
case
TYPEMARQUEUR
:
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_PCB_DELETE_MARKER
,
ADD_MENUITEM
(
a
PopMenu
,
ID_POPUP_PCB_DELETE_MARKER
,
_
(
"Delete Marker"
),
delete_xpm
);
break
;
case
TYPECOTATION
:
if
(
!
flags
)
{
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_PCB_EDIT_COTATION
,
ADD_MENUITEM
(
a
PopMenu
,
ID_POPUP_PCB_EDIT_COTATION
,
_
(
"Edit Cotation"
),
edit_xpm
);
}
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_PCB_DELETE_COTATION
,
ADD_MENUITEM
(
a
PopMenu
,
ID_POPUP_PCB_DELETE_COTATION
,
_
(
"Delete Cotation"
),
delete_xpm
);
break
;
case
TYPEMIRE
:
if
(
!
flags
)
{
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_PCB_MOVE_MIRE_REQUEST
,
ADD_MENUITEM
(
a
PopMenu
,
ID_POPUP_PCB_MOVE_MIRE_REQUEST
,
_
(
"Move Mire"
),
move_xpm
);
}
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_PCB_EDIT_MIRE
,
ADD_MENUITEM
(
a
PopMenu
,
ID_POPUP_PCB_EDIT_MIRE
,
_
(
"Edit Mire"
),
edit_xpm
);
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_PCB_DELETE_MIRE
,
ADD_MENUITEM
(
a
PopMenu
,
ID_POPUP_PCB_DELETE_MIRE
,
_
(
"Delete Mire"
),
delete_xpm
);
break
;
...
...
@@ -344,19 +340,19 @@ void WinEDA_PcbFrame::OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu )
case
PCB_EQUIPOT_STRUCT_TYPE
:
msg
.
Printf
(
wxT
(
"WinEDA_PcbFrame::OnRightClick() Error: illegal DrawType %d"
),
DrawStruct
->
Type
()
);
item
->
Type
()
);
DisplayError
(
this
,
msg
);
break
;
default
:
msg
.
Printf
(
wxT
(
"WinEDA_PcbFrame::OnRightClick() Error: unknown DrawType %d"
),
DrawStruct
->
Type
()
);
item
->
Type
()
);
DisplayError
(
this
,
msg
);
break
;
}
PopMenu
->
AppendSeparator
();
a
PopMenu
->
AppendSeparator
();
}
/* Traitement des fonctions specifiques */
...
...
@@ -365,39 +361,39 @@ void WinEDA_PcbFrame::OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu )
case
ID_PCB_ZONES_BUTT
:
{
bool
add_separator
=
FALSE
;
PopMenu
->
Append
(
ID_POPUP_PCB_FILL_ZONE
,
_
(
"Fill zone"
)
);
a
PopMenu
->
Append
(
ID_POPUP_PCB_FILL_ZONE
,
_
(
"Fill zone"
)
);
if
(
DrawStruct
&&
(
(
DrawStruct
->
Type
()
==
TYPEPAD
)
||
(
DrawStruct
->
Type
()
==
TYPETRACK
)
||
(
DrawStruct
->
Type
()
==
TYPEVIA
)
)
)
if
(
item
&&
(
(
item
->
Type
()
==
TYPEPAD
)
||
(
item
->
Type
()
==
TYPETRACK
)
||
(
item
->
Type
()
==
TYPEVIA
)
)
)
{
add_separator
=
TRUE
;
PopMenu
->
Append
(
ID_POPUP_PCB_SELECT_NET_ZONE
,
_
(
"Select Net"
)
);
a
PopMenu
->
Append
(
ID_POPUP_PCB_SELECT_NET_ZONE
,
_
(
"Select Net"
)
);
}
if
(
m_Pcb
->
m_CurrentLimitZone
)
{
add_separator
=
TRUE
;
PopMenu
->
Append
(
ID_POPUP_PCB_DELETE_ZONE_LIMIT
,
_
(
"Delete Zone Limit"
)
);
a
PopMenu
->
Append
(
ID_POPUP_PCB_DELETE_ZONE_LIMIT
,
_
(
"Delete Zone Limit"
)
);
}
if
(
add_separator
)
PopMenu
->
AppendSeparator
();
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_PCB_SELECT_LAYER
,
a
PopMenu
->
AppendSeparator
();
ADD_MENUITEM
(
a
PopMenu
,
ID_POPUP_PCB_SELECT_LAYER
,
_
(
"Select Working Layer"
),
Select_W_Layer_xpm
);
PopMenu
->
AppendSeparator
();
a
PopMenu
->
AppendSeparator
();
}
break
;
case
ID_TRACK_BUTT
:
{
ADD_MENUITEM_WITH_SUBMENU
(
PopMenu
,
Append_Track_Width_List
(),
ADD_MENUITEM_WITH_SUBMENU
(
a
PopMenu
,
Append_Track_Width_List
(),
ID_POPUP_PCB_SELECT_WIDTH
,
_
(
"Select Track Width"
),
width_track_xpm
);
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_PCB_SELECT_CU_LAYER
,
ADD_MENUITEM
(
a
PopMenu
,
ID_POPUP_PCB_SELECT_CU_LAYER
,
_
(
"Select Working Layer"
),
Select_W_Layer_xpm
);
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_PCB_SELECT_LAYER_PAIR
,
ADD_MENUITEM
(
a
PopMenu
,
ID_POPUP_PCB_SELECT_LAYER_PAIR
,
_
(
"Select layer pair for vias"
),
select_layer_pair_xpm
);
PopMenu
->
AppendSeparator
();
a
PopMenu
->
AppendSeparator
();
}
break
;
...
...
@@ -406,28 +402,28 @@ void WinEDA_PcbFrame::OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu )
case
ID_TEXT_COMMENT_BUTT
:
case
ID_LINE_COMMENT_BUTT
:
case
ID_PCB_COTATION_BUTT
:
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_PCB_SELECT_NO_CU_LAYER
,
ADD_MENUITEM
(
a
PopMenu
,
ID_POPUP_PCB_SELECT_NO_CU_LAYER
,
_
(
"Select Working Layer"
),
Select_W_Layer_xpm
);
PopMenu
->
AppendSeparator
();
a
PopMenu
->
AppendSeparator
();
break
;
case
ID_COMPONENT_BUTT
:
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_PCB_DISPLAY_FOOTPRINT_DOC
,
ADD_MENUITEM
(
a
PopMenu
,
ID_POPUP_PCB_DISPLAY_FOOTPRINT_DOC
,
_
(
"Footprint documentation"
),
book_xpm
);
PopMenu
->
AppendSeparator
();
a
PopMenu
->
AppendSeparator
();
break
;
case
0
:
if
(
m_HTOOL_current_state
==
ID_TOOLBARH_PCB_AUTOPLACE
)
{
wxMenu
*
commands
=
new
wxMenu
;
ADD_MENUITEM_WITH_SUBMENU
(
PopMenu
,
commands
,
ADD_MENUITEM_WITH_SUBMENU
(
a
PopMenu
,
commands
,
ID_POPUP_PCB_AUTOPLACE_COMMANDS
,
_
(
"Glob Move and Place"
),
move_xpm
);
ADD_MENUITEM
(
commands
,
ID_POPUP_PCB_AUTOPLACE_FREE_ALL_MODULES
,
_
(
"
Free
All Modules"
),
Unlocked_xpm
);
_
(
"
Unlock
All Modules"
),
Unlocked_xpm
);
ADD_MENUITEM
(
commands
,
ID_POPUP_PCB_AUTOPLACE_FIXE_ALL_MODULES
,
_
(
"
Fixe
All Modules"
),
Locked_xpm
);
_
(
"
Lock
All Modules"
),
Locked_xpm
);
commands
->
AppendSeparator
();
ADD_MENUITEM
(
commands
,
ID_POPUP_PCB_AUTOMOVE_ALL_MODULES
,
_
(
"Move All Modules"
),
move_xpm
);
...
...
@@ -439,12 +435,13 @@ void WinEDA_PcbFrame::OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu )
commands
->
AppendSeparator
();
ADD_MENUITEM
(
commands
,
ID_POPUP_PCB_REORIENT_ALL_MODULES
,
_
(
"Orient All Modules"
),
rotate_module_pos_xpm
);
PopMenu
->
AppendSeparator
();
a
PopMenu
->
AppendSeparator
();
}
if
(
m_HTOOL_current_state
==
ID_TOOLBARH_PCB_AUTOROUTE
)
{
wxMenu
*
commands
=
new
wxMenu
;
PopMenu
->
Append
(
ID_POPUP_PCB_AUTOROUTE_COMMANDS
,
_
(
"Global Autoroute"
),
commands
);
a
PopMenu
->
Append
(
ID_POPUP_PCB_AUTOROUTE_COMMANDS
,
_
(
"Global Autoroute"
),
commands
);
ADD_MENUITEM
(
commands
,
ID_POPUP_PCB_SELECT_LAYER_PAIR
,
_
(
"Select layer pair"
),
select_layer_pair_xpm
);
commands
->
AppendSeparator
();
...
...
@@ -459,16 +456,16 @@ void WinEDA_PcbFrame::OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu )
commands
->
Append
(
ID_POPUP_PCB_AUTOROUTE_GET_AUTOROUTER_DATA
,
_
(
"Read Global AutoRouter Data"
)
);
}
PopMenu
->
AppendSeparator
();
a
PopMenu
->
AppendSeparator
();
}
if
(
locate_track
)
ADD_MENUITEM_WITH_SUBMENU
(
PopMenu
,
Append_Track_Width_List
(),
ADD_MENUITEM_WITH_SUBMENU
(
a
PopMenu
,
Append_Track_Width_List
(),
ID_POPUP_PCB_SELECT_WIDTH
,
_
(
"Select Track Width"
),
width_track_xpm
);
ADD_MENUITEM
(
PopMenu
,
ID_POPUP_PCB_SELECT_LAYER
,
ADD_MENUITEM
(
a
PopMenu
,
ID_POPUP_PCB_SELECT_LAYER
,
_
(
"Select Working Layer"
),
Select_W_Layer_xpm
);
PopMenu
->
AppendSeparator
();
a
PopMenu
->
AppendSeparator
();
break
;
}
...
...
@@ -631,7 +628,7 @@ void CreatePopupMenuForTracks( TRACK* Track, wxPoint CursorPosition,
/*********************************************************************************/
void
CreatePopUpMenuForFootprints
(
MODULE
*
Module
,
wxMenu
*
menu
,
bool
full_menu
)
void
CreatePopUpMenuForFootprints
(
MODULE
*
a
Module
,
wxMenu
*
menu
,
bool
full_menu
)
/*********************************************************************************/
/* Create the wxMenuitem list for footprint editing
...
...
@@ -639,10 +636,10 @@ void CreatePopUpMenuForFootprints( MODULE* Module, wxMenu* menu, bool full_menu
{
wxMenu
*
sub_menu_footprint
;
wxString
msg
;
int
flags
=
Module
->
m_Flags
;
int
flags
=
a
Module
->
m_Flags
;
msg
=
_
(
"Footprint"
);
msg
<<
wxT
(
" "
)
<<
Module
->
m_Reference
->
m_Text
;
msg
<<
wxT
(
" "
)
<<
aModule
->
GetReference
()
;
sub_menu_footprint
=
new
wxMenu
;
...
...
@@ -741,6 +738,7 @@ void CreatePopUpMenuForPads( D_PAD* Pad, wxMenu* menu )
}
ADD_MENUITEM
(
sub_menu_Pad
,
ID_POPUP_PCB_EDIT_PAD
,
_
(
"Edit Pad"
),
options_pad_xpm
);
sub_menu_Pad
->
AppendSeparator
();
ADD_MENUITEM
(
sub_menu_Pad
,
ID_POPUP_PCB_IMPORT_PAD_SETTINGS
,
_
(
"New Pad Settings"
),
options_new_pad_xpm
);
ADD_MENUITEM
(
sub_menu_Pad
,
ID_POPUP_PCB_EXPORT_PAD_SETTINGS
,
...
...
@@ -751,6 +749,7 @@ void CreatePopUpMenuForPads( D_PAD* Pad, wxMenu* menu )
ADD_MENUITEM
(
sub_menu_Pad
,
ID_POPUP_PCB_GLOBAL_IMPORT_PAD_SETTINGS
,
_
(
"Global Pad Settings"
),
global_options_pad_xpm
);
sub_menu_Pad
->
AppendSeparator
();
ADD_MENUITEM
(
sub_menu_Pad
,
ID_POPUP_PCB_DELETE_PAD
,
_
(
"delete"
),
Delete_Pad_xpm
);
}
...
...
pcbnew/pcbframe.cpp
View file @
4a8bf70d
...
...
@@ -18,7 +18,8 @@
BEGIN_EVENT_TABLE
(
WinEDA_PcbFrame
,
wxFrame
)
COMMON_EVENTS_DRAWFRAME
EVT_SOCKET
(
ID_EDA_SOCKET_EVENT_SERV
,
WinEDA_PcbFrame
::
OnSockRequestServer
)
COMMON_EVENTS_DRAWFRAME
EVT_SOCKET
(
ID_EDA_SOCKET_EVENT_SERV
,
WinEDA_PcbFrame
::
OnSockRequestServer
)
EVT_SOCKET
(
ID_EDA_SOCKET_EVENT
,
WinEDA_PcbFrame
::
OnSockRequest
)
EVT_KICAD_CHOICEBOX
(
ID_ON_ZOOM_SELECT
,
WinEDA_PcbFrame
::
OnSelectZoom
)
...
...
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