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
25720516
Commit
25720516
authored
Feb 14, 2010
by
charras
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Eeschema, libedit: fixed add/remove alias functions, broken
All: added in popup menus hotkeys info for zoom commands
parent
3624034f
Changes
23
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
191 additions
and
139 deletions
+191
-139
base_screen.cpp
common/base_screen.cpp
+2
-0
drawframe.cpp
common/drawframe.cpp
+7
-5
drawpanel.cpp
common/drawpanel.cpp
+1
-1
hotkeys_basic.cpp
common/hotkeys_basic.cpp
+19
-14
zoom.cpp
common/zoom.cpp
+27
-22
class_libentry.cpp
eeschema/class_libentry.cpp
+17
-4
class_libentry.h
eeschema/class_libentry.h
+5
-3
class_library.cpp
eeschema/class_library.cpp
+47
-36
edit_component_in_lib.cpp
eeschema/edit_component_in_lib.cpp
+5
-14
hierarch.cpp
eeschema/hierarch.cpp
+3
-4
hotkeys.h
eeschema/hotkeys.h
+4
-11
libframe.cpp
eeschema/libframe.cpp
+2
-0
schframe.cpp
eeschema/schframe.cpp
+2
-0
viewlib_frame.cpp
eeschema/viewlib_frame.cpp
+2
-0
gerberframe.cpp
gerbview/gerberframe.cpp
+3
-1
hotkeys.h
gerbview/hotkeys.h
+4
-9
class_base_screen.h
include/class_base_screen.h
+10
-3
class_drawpanel.h
include/class_drawpanel.h
+0
-1
hotkeys_basic.h
include/hotkeys_basic.h
+15
-0
wxstruct.h
include/wxstruct.h
+8
-0
hotkeys.h
pcbnew/hotkeys.h
+4
-11
moduleframe.cpp
pcbnew/moduleframe.cpp
+2
-0
pcbframe.cpp
pcbnew/pcbframe.cpp
+2
-0
No files found.
common/base_screen.cpp
View file @
25720516
...
...
@@ -38,6 +38,8 @@ BASE_SCREEN::BASE_SCREEN( KICAD_T aType ) : EDA_BaseStruct( aType )
m_Center
=
true
;
m_CurrentSheetDesc
=
&
g_Sheet_A4
;
m_IsPrinting
=
false
;
m_ScrollPixelsPerUnitX
=
1
;
m_ScrollPixelsPerUnitY
=
1
;
InitDatas
();
}
...
...
common/drawframe.cpp
View file @
25720516
...
...
@@ -54,6 +54,7 @@ WinEDA_DrawFrame::WinEDA_DrawFrame( wxWindow* father, int idtype,
m_AuxiliaryToolBar
=
NULL
;
m_SelGridBox
=
NULL
;
m_SelZoomBox
=
NULL
;
m_HotkeysZoomAndGridList
=
NULL
;
DrawPanel
=
NULL
;
MsgPanel
=
NULL
;
...
...
@@ -442,7 +443,7 @@ int WinEDA_DrawFrame::HandleBlockEnd( wxDC* DC )
void
WinEDA_DrawFrame
::
AdjustScrollBars
()
{
int
pixelsPerUnitX
,
pixelsPerUnitY
,
unitsX
,
unitsY
,
posX
,
posY
;
int
unitsX
,
unitsY
,
posX
,
posY
;
wxSize
drawingSize
,
clientSize
;
BASE_SCREEN
*
screen
=
GetBaseScreen
();
...
...
@@ -488,7 +489,7 @@ void WinEDA_DrawFrame::AdjustScrollBars()
* pixels per unit to 10, you have potential for the zoom point to
* jump around +/-5 pixels from the nearest grid point.
*/
pixelsPerUnitX
=
p
ixelsPerUnitY
=
1
;
screen
->
m_ScrollPixelsPerUnitX
=
screen
->
m_ScrollP
ixelsPerUnitY
=
1
;
// Calculate the number of scroll bar units for the given zoom level. */
#ifdef USE_WX_ZOOM
...
...
@@ -524,11 +525,12 @@ void WinEDA_DrawFrame::AdjustScrollBars()
#if 0
wxLogDebug( wxT( "SetScrollbars(%d, %d, %d, %d, %d, %d)" ),
pixelsPerUnitX, pixelsPerUnitY, unitsX, unitsY, posX, posY );
m_ScrollPixelsPerUnitX, m_ScrollPixelsPerUnitY,
unitsX, unitsY, posX, posY );
#endif
DrawPanel
->
SetScrollbars
(
p
ixelsPerUnitX
,
p
ixelsPerUnitY
,
DrawPanel
->
SetScrollbars
(
screen
->
m_ScrollP
ixelsPerUnitX
,
screen
->
m_ScrollP
ixelsPerUnitY
,
screen
->
m_ScrollbarNumber
.
x
,
screen
->
m_ScrollbarNumber
.
y
,
screen
->
m_ScrollbarPos
.
x
,
...
...
common/drawpanel.cpp
View file @
25720516
...
...
@@ -958,7 +958,7 @@ bool WinEDA_DrawPanel::OnRightClick( wxMouseEvent& event )
if
(
!
m_Parent
->
OnRightClick
(
pos
,
&
MasterMenu
)
)
return
false
;
AddMenuZoom
(
&
MasterMenu
);
m_Parent
->
AddMenuZoomAndGrid
(
&
MasterMenu
);
m_IgnoreMouseEvents
=
TRUE
;
PopupMenu
(
&
MasterMenu
,
pos
);
...
...
common/hotkeys_basic.cpp
View file @
25720516
...
...
@@ -240,11 +240,13 @@ wxString ReturnKeyNameFromKeyCode( int keycode )
* @param CommandId = Command Id value
* @return text (key name) in a wxString if found or text without modification
*/
wxString
AddHotkeyName
(
const
wxString
&
text
,
Ki_HotkeyInfo
**
List
,
int
CommandId
)
wxString
AddHotkeyName
(
const
wxString
&
aText
,
Ki_HotkeyInfo
**
a
List
,
int
a
CommandId
)
{
wxString
msg
=
text
;
wxString
keyname
=
ReturnKeyNameFromCommandId
(
List
,
CommandId
);
wxString
msg
=
aText
;
wxString
keyname
;
if
(
aList
)
keyname
=
ReturnKeyNameFromCommandId
(
aList
,
aCommandId
);
if
(
!
keyname
.
IsEmpty
()
)
msg
<<
wxT
(
"
\t
"
)
<<
keyname
;
...
...
@@ -259,22 +261,25 @@ wxString AddHotkeyName( const wxString& text, Ki_HotkeyInfo** List,
* @param CommandId = Command Id value
* @return text (key name) in a wxString if found or text without modification
*/
wxString
AddHotkeyName
(
const
wxString
&
t
ext
,
struct
Ki_HotkeyInfoSectionDescriptor
*
DescList
,
int
CommandId
)
wxString
AddHotkeyName
(
const
wxString
&
aT
ext
,
struct
Ki_HotkeyInfoSectionDescriptor
*
a
DescList
,
int
a
CommandId
)
{
wxString
msg
=
t
ext
;
wxString
msg
=
aT
ext
;
wxString
keyname
;
Ki_HotkeyInfo
**
List
;
for
(
;
DescList
->
m_HK_InfoList
!=
NULL
;
DescList
++
)
if
(
aDescList
)
{
List
=
DescList
->
m_HK_InfoList
;
keyname
=
ReturnKeyNameFromCommandId
(
List
,
CommandId
);
if
(
!
keyname
.
IsEmpty
()
)
for
(
;
aDescList
->
m_HK_InfoList
!=
NULL
;
aDescList
++
)
{
msg
<<
wxT
(
"
\t
"
)
<<
keyname
;
break
;
List
=
aDescList
->
m_HK_InfoList
;
keyname
=
ReturnKeyNameFromCommandId
(
List
,
aCommandId
);
if
(
!
keyname
.
IsEmpty
()
)
{
msg
<<
wxT
(
"
\t
"
)
<<
keyname
;
break
;
}
}
}
...
...
common/zoom.cpp
View file @
25720516
...
...
@@ -15,6 +15,7 @@
#include "class_base_screen.h"
#include "wxstruct.h"
#include "kicad_device_context.h"
#include "hotkeys_basic.h"
/** Compute draw offset (scroll bars and draw parameters)
* in order to have the current graphic cursor position at the screen center
...
...
@@ -174,7 +175,7 @@ void WinEDA_DrawFrame::OnZoom( wxCommandEvent& event )
/* add the zoom list menu the the MasterMenu.
* used in OnRightClick(wxMouseEvent& event)
*/
void
WinEDA_Draw
Panel
::
AddMenuZoom
(
wxMenu
*
MasterMenu
)
void
WinEDA_Draw
Frame
::
AddMenuZoomAndGrid
(
wxMenu
*
MasterMenu
)
{
size_t
i
;
int
maxZoomIds
;
...
...
@@ -184,58 +185,62 @@ void WinEDA_DrawPanel::AddMenuZoom( wxMenu* MasterMenu )
GRID_TYPE
tmp
;
wxMenu
*
gridMenu
;
double
gridValue
;
BASE_SCREEN
*
screen
=
DrawPanel
->
GetScreen
();
msg
=
AddHotkeyName
(
_
(
"Center"
),
m_HotkeysZoomAndGridList
,
HK_ZOOM_CENTER
);
ADD_MENUITEM
(
MasterMenu
,
ID_POPUP_ZOOM_CENTER
,
msg
,
zoom_center_xpm
);
msg
=
AddHotkeyName
(
_
(
"Zoom in"
),
m_HotkeysZoomAndGridList
,
HK_ZOOM_IN
);
ADD_MENUITEM
(
MasterMenu
,
ID_POPUP_ZOOM_IN
,
msg
,
zoom_in_xpm
);
msg
=
AddHotkeyName
(
_
(
"Zoom out"
),
m_HotkeysZoomAndGridList
,
HK_ZOOM_OUT
);
ADD_MENUITEM
(
MasterMenu
,
ID_POPUP_ZOOM_OUT
,
msg
,
zoom_out_xpm
);
msg
=
AddHotkeyName
(
_
(
"Redraw view"
),
m_HotkeysZoomAndGridList
,
HK_ZOOM_REDRAW
);
ADD_MENUITEM
(
MasterMenu
,
ID_ZOOM_REDRAW
,
msg
,
zoom_redraw_xpm
);
msg
=
AddHotkeyName
(
_
(
"Zoom auto"
),
m_HotkeysZoomAndGridList
,
HK_ZOOM_AUTO
);
ADD_MENUITEM
(
MasterMenu
,
ID_ZOOM_PAGE
,
msg
,
zoom_auto_xpm
);
ADD_MENUITEM
(
MasterMenu
,
ID_POPUP_ZOOM_CENTER
,
_
(
"Center"
),
zoom_center_xpm
);
ADD_MENUITEM
(
MasterMenu
,
ID_POPUP_ZOOM_IN
,
_
(
"Zoom in"
),
zoom_in_xpm
);
ADD_MENUITEM
(
MasterMenu
,
ID_POPUP_ZOOM_OUT
,
_
(
"Zoom out"
),
zoom_out_xpm
);
ADD_MENUITEM
(
MasterMenu
,
ID_ZOOM_PAGE
,
_
(
"Zoom auto"
),
zoom_auto_xpm
);
wxMenu
*
zoom_choice
=
new
wxMenu
;
ADD_MENUITEM_WITH_SUBMENU
(
MasterMenu
,
zoom_choice
,
ID_POPUP_ZOOM_SELECT
,
_
(
"Zoom select"
),
zoom_select_xpm
);
ADD_MENUITEM
(
MasterMenu
,
ID_ZOOM_REDRAW
,
_
(
"Redraw view"
),
zoom_redraw_xpm
);
zoom
=
GetScreen
()
->
GetZoom
();
zoom
=
screen
->
GetZoom
();
maxZoomIds
=
ID_POPUP_ZOOM_LEVEL_END
-
ID_POPUP_ZOOM_LEVEL_START
;
maxZoomIds
=
(
(
size_t
)
maxZoomIds
<
GetScreen
()
->
m_ZoomList
.
GetCount
()
)
?
maxZoomIds
:
GetScreen
()
->
m_ZoomList
.
GetCount
();
maxZoomIds
=
(
(
size_t
)
maxZoomIds
<
screen
->
m_ZoomList
.
GetCount
()
)
?
maxZoomIds
:
screen
->
m_ZoomList
.
GetCount
();
/* Populate zoom submenu. */
for
(
i
=
0
;
i
<
(
size_t
)
maxZoomIds
;
i
++
)
{
if
(
(
GetScreen
()
->
m_ZoomList
[
i
]
%
GetScreen
()
->
m_ZoomScalar
)
==
0
)
if
(
(
screen
->
m_ZoomList
[
i
]
%
screen
->
m_ZoomScalar
)
==
0
)
msg
.
Printf
(
wxT
(
"%u"
),
GetScreen
()
->
m_ZoomList
[
i
]
/
GetScreen
()
->
m_ZoomScalar
);
screen
->
m_ZoomList
[
i
]
/
screen
->
m_ZoomScalar
);
else
msg
.
Printf
(
wxT
(
"%.1f"
),
(
float
)
GetScreen
()
->
m_ZoomList
[
i
]
/
GetScreen
()
->
m_ZoomScalar
);
(
float
)
screen
->
m_ZoomList
[
i
]
/
screen
->
m_ZoomScalar
);
zoom_choice
->
Append
(
ID_POPUP_ZOOM_LEVEL_START
+
i
,
_
(
"Zoom: "
)
+
msg
,
wxEmptyString
,
wxITEM_CHECK
);
if
(
zoom
==
GetScreen
()
->
m_ZoomList
[
i
]
)
if
(
zoom
==
screen
->
m_ZoomList
[
i
]
)
zoom_choice
->
Check
(
ID_POPUP_ZOOM_LEVEL_START
+
i
,
true
);
}
/* Create grid submenu as required. */
if
(
!
GetScreen
()
->
m_GridList
.
IsEmpty
()
)
if
(
!
screen
->
m_GridList
.
IsEmpty
()
)
{
gridMenu
=
new
wxMenu
;
ADD_MENUITEM_WITH_SUBMENU
(
MasterMenu
,
gridMenu
,
ID_POPUP_GRID_SELECT
,
_
(
"Grid Select"
),
grid_select_xpm
);
grid
=
GetScreen
()
->
GetGridSize
();
grid
=
screen
->
GetGridSize
();
for
(
i
=
0
;
i
<
GetScreen
()
->
m_GridList
.
GetCount
();
i
++
)
for
(
i
=
0
;
i
<
screen
->
m_GridList
.
GetCount
();
i
++
)
{
tmp
=
GetScreen
()
->
m_GridList
[
i
];
tmp
=
screen
->
m_GridList
[
i
];
gridValue
=
To_User_Unit
(
g_UnitMetric
,
tmp
.
m_Size
.
x
,
m_
Parent
->
m_
InternalUnits
);
m_InternalUnits
);
if
(
tmp
.
m_Id
==
ID_POPUP_GRID_USER
)
{
...
...
eeschema/class_libentry.cpp
View file @
25720516
...
...
@@ -19,9 +19,17 @@
#include <boost/foreach.hpp>
/*********************/
/* class CMP_LIB_ENTRY */
/*********************/
/** class CMP_LIB_ENTRY
* Base class to describe library components and aliases.
* This class is not to be used directly.
* There are 2 derived classes
* class LIB_COMPONENT that describes a component in library
* class LIB_ALIAS that describes an alias of an existing component
* a LIB_COMPONENT object handle all info to draw a component
* (pins, graphic body items, fields, name, keywords and documentation)
* a LIB_ALIAS object use info of its LIB_COMPONENT parent
* and has just a name, keywords and documentation
*/
CMP_LIB_ENTRY
::
CMP_LIB_ENTRY
(
LibrEntryType
aType
,
const
wxString
&
aName
,
CMP_LIBRARY
*
aLibrary
)
:
...
...
@@ -160,7 +168,12 @@ void LIB_ALIAS::SetComponent( LIB_COMPONENT* aComponent )
/* class LIB_COMPONENT */
/********************************/
/* This is a standard component (in library)
/**
* Library component object definition.
*
* A library component object is typically saved and loaded
* in a component library file (.lib).
* Library components are different from schematic components.
*/
LIB_COMPONENT
::
LIB_COMPONENT
(
const
wxString
&
aName
,
CMP_LIBRARY
*
aLibrary
)
:
CMP_LIB_ENTRY
(
ROOT
,
aName
,
aLibrary
)
...
...
eeschema/class_libentry.h
View file @
25720516
...
...
@@ -134,9 +134,11 @@ extern int LibraryEntryCompare( const CMP_LIB_ENTRY* aItem1, const CMP_LIB_ENTRY
/**
* Library component object definition.
*
* A library component object is typically save and loaded in a component
* library file (.lib). Library components are different from schematic
* components.
* Library component object definition.
*
* A library component object is typically saved and loaded
* in a component library file (.lib).
* Library components are different from schematic components.
*/
class
LIB_COMPONENT
:
public
CMP_LIB_ENTRY
{
...
...
eeschema/class_library.cpp
View file @
25720516
...
...
@@ -221,6 +221,9 @@ bool CMP_LIBRARY::AddAlias( LIB_ALIAS* aAlias )
* so these alias will be added in library.
* Conflicts can happen if aliases are already existing.
* User is asked to choose what alias is removed (existing, or new)
* a special case is the library cache:
* user is not asked, and old aliases removed.
* this is not perfect, but sufficient to create a library cache project
* @param aComponent - Component to add.
* @return Added component if successful.
*/
...
...
@@ -235,41 +238,47 @@ LIB_COMPONENT* CMP_LIBRARY::AddComponent( LIB_COMPONENT* aComponent )
// Conflict detection: See if already existing aliases exist,
// and if yes, ask user for continue or abort
wxString
msg
;
int
conflict_count
=
0
;
for
(
size_t
i
=
0
;
i
<
newCmp
->
m_AliasList
.
GetCount
();
i
++
)
// Special case: if the library is the library cache of the project,
// old aliases are always removed to avoid conflict,
// and user is not prompted )
if
(
!
IsCache
()
)
{
LIB_ALIAS
*
alias
=
FindAlias
(
newCmp
->
m_AliasList
[
i
]
);
if
(
alias
==
NULL
)
break
;
wxString
msg
;
int
conflict_count
=
0
;
for
(
size_t
i
=
0
;
i
<
newCmp
->
m_AliasList
.
GetCount
();
i
++
)
{
LIB_ALIAS
*
alias
=
FindAlias
(
newCmp
->
m_AliasList
[
i
]
);
if
(
alias
->
GetComponent
()
->
GetName
().
CmpNoCase
(
newCmp
->
GetName
()
)
!=
0
)
if
(
alias
==
NULL
)
continue
;
if
(
alias
->
GetComponent
()
->
GetName
().
CmpNoCase
(
newCmp
->
GetName
()
)
!=
0
)
{
wxString
msg1
;
msg1
.
Printf
(
_
(
"alias <%s> already exists and has root name<%s>"
),
GetChars
(
alias
->
GetName
()
),
GetChars
(
alias
->
GetComponent
()
->
GetName
()
)
);
msg
<<
msg1
<<
wxT
(
"
\n
"
);
conflict_count
++
;
}
if
(
conflict_count
>
20
)
break
;
}
if
(
conflict_count
)
// Conflict: ask user what he wants: remove all aliases or abort:
{
wxString
title
;
wxString
msg1
;
msg1
.
Printf
(
_
(
"alias <%s> already exists and has root name<%s>"
),
GetChars
(
alias
->
GetName
()
),
GetChars
(
alias
->
GetComponent
()
->
GetName
()
)
);
msg
<<
msg1
<<
wxT
(
"
\n
"
);
conflict_count
++
;
title
.
Printf
(
_
(
"Conflict in library <%s>"
),
GetChars
(
fileName
.
GetName
()));
msg1
.
Printf
(
_
(
"and appears in alias list of current component <%s>."
),
GetChars
(
newCmp
->
GetName
()
)
);
msg
<<
wxT
(
"
\n\n
"
)
<<
msg1
;
msg
<<
wxT
(
"
\n\n
"
)
<<
_
(
"All old aliases will be removed. Continue ?"
);
int
diag
=
wxMessageBox
(
msg
,
title
,
wxYES
|
wxICON_QUESTION
);
if
(
diag
!=
wxYES
)
return
NULL
;
}
if
(
conflict_count
>
20
)
break
;
}
if
(
conflict_count
)
// Conflict: ask user what he wants remove all aliases or abort:
{
wxString
title
;
wxString
msg1
;
title
.
Printf
(
_
(
"Conflict in library <%s>"
),
GetChars
(
fileName
.
GetName
()));
msg1
.
Printf
(
_
(
"and appears in alias list of current component <%s>."
),
GetChars
(
newCmp
->
GetName
()
)
);
msg
<<
wxT
(
"
\n\n
"
)
<<
msg1
;
msg
<<
wxT
(
"
\n\n
"
)
<<
_
(
"All old aliases will be removed. Continue ?"
);
int
diag
=
wxMessageBox
(
msg
,
title
,
wxYES
|
wxICON_QUESTION
);
if
(
diag
!=
wxYES
)
return
NULL
;
}
for
(
size_t
i
=
0
;
i
<
newCmp
->
m_AliasList
.
GetCount
();
i
++
)
...
...
@@ -301,7 +310,7 @@ LIB_COMPONENT* CMP_LIBRARY::AddComponent( LIB_COMPONENT* aComponent )
/** function RemoveEntryName
* Remove an /a aName entry from the library list names.
* Warning: this is a partiel remove, because if a
n
ame is an alias
* Warning: this is a partiel remove, because if a
N
ame is an alias
* it is not removed from its root component.
* this is for internal use only
* Use RemoveEntry( CMP_LIB_ENTRY* aEntry ) to remove safely an entry in library.
...
...
@@ -349,9 +358,9 @@ void CMP_LIBRARY::RemoveEntryName( const wxString& aName )
root
=
alias
->
GetComponent
();
/* Remove alias name from the root component alias list */
if
(
root
==
NULL
)
if
(
root
==
NULL
)
// Should not occur, but is not a fatal error
{
wxLog
Warnin
g
(
wxT
(
"No root component found for alias <%s> in library <%s>."
),
wxLog
Debu
g
(
wxT
(
"No root component found for alias <%s> in library <%s>."
),
GetChars
(
aEntry
->
GetName
()
),
GetChars
(
fileName
.
GetName
()
)
);
}
...
...
@@ -359,12 +368,14 @@ void CMP_LIBRARY::RemoveEntryName( const wxString& aName )
{
int
index
=
root
->
m_AliasList
.
Index
(
aEntry
->
GetName
(),
false
);
if
(
index
==
wxNOT_FOUND
)
wxLogWarning
(
wxT
(
"Alias <%s> not found in component <%s> alias list in \
if
(
index
==
wxNOT_FOUND
)
// Should not occur, but is not a fatal error
{
wxLogDebug
(
wxT
(
"Alias <%s> not found in component <%s> alias list in \
library <%s>"
),
GetChars
(
aEntry
->
GetName
()
),
GetChars
(
root
->
GetName
()
),
GetChars
(
fileName
.
GetName
()
)
);
}
else
root
->
m_AliasList
.
RemoveAt
(
index
);
}
...
...
@@ -458,7 +469,7 @@ LIB_COMPONENT* CMP_LIBRARY::ReplaceComponent( LIB_COMPONENT* aOldComponent,
}
RemoveEntryName
(
aOldComponent
->
GetName
()
);
entries
.
push_back
(
(
CMP_LIB_ENTRY
*
)
newCmp
);
entries
.
push_back
(
newCmp
);
entries
.
sort
();
SetModifyFlags
(
);
...
...
eeschema/edit_component_in_lib.cpp
View file @
25720516
...
...
@@ -159,10 +159,9 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::OnOkClick( wxCommandEvent& event )
if
(
m_PartAliasList
->
GetStrings
()
!=
component
->
m_AliasList
)
{
LIB_ALIAS
*
alias
;
wxArrayString
aliases
=
m_PartAliasList
->
GetStrings
();
/* Add names not existing in the
old
alias list. */
/* Add names not existing in the
current component
alias list. */
for
(
i
=
0
;
i
<
aliases
.
GetCount
();
i
++
)
{
index
=
component
->
m_AliasList
.
Index
(
aliases
[
i
],
false
);
...
...
@@ -170,16 +169,10 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::OnOkClick( wxCommandEvent& event )
if
(
index
!=
wxNOT_FOUND
)
continue
;
alias
=
new
LIB_ALIAS
(
aliases
[
i
],
component
);
if
(
!
library
->
AddAlias
(
alias
)
)
{
delete
alias
;
alias
=
NULL
;
component
->
m_AliasList
.
Add
(
aliases
[
i
]
);
}
}
/* Remove names
and library alias entries
not in the new alias list. */
/* Remove names
in the current component that are
not in the new alias list. */
for
(
i
=
0
;
i
<
component
->
m_AliasList
.
GetCount
();
i
++
)
{
index
=
aliases
.
Index
(
component
->
m_AliasList
[
i
],
false
);
...
...
@@ -187,10 +180,8 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::OnOkClick( wxCommandEvent& event )
if
(
index
==
wxNOT_FOUND
)
continue
;
CMP_LIB_ENTRY
*
alias
=
library
->
FindAlias
(
component
->
m_AliasList
[
i
]
);
if
(
alias
!=
NULL
)
library
->
RemoveEntry
(
alias
);
component
->
m_AliasList
.
RemoveAt
(
i
);
i
--
;
}
component
->
m_AliasList
=
aliases
;
...
...
eeschema/hierarch.cpp
View file @
25720516
...
...
@@ -308,14 +308,13 @@ static bool UpdateScreenFromSheet( WinEDA_SchematicFrame* frame )
// Reset display settings of the new screen
// Assumes m_CurrentSheet has already been updated.
frame
->
ClearMsgPanel
();
int
pixelsPerUnitX
=
1
;
int
pixelsPerUnitY
=
1
;
frame
->
DrawPanel
->
SetScrollbars
(
pixelsPerUnitX
,
pixelsPerUnitY
,
frame
->
DrawPanel
->
SetScrollbars
(
NewScreen
->
m_ScrollPixelsPerUnitX
,
NewScreen
->
m_ScrollPixelsPerUnitY
,
NewScreen
->
m_ScrollbarNumber
.
x
,
NewScreen
->
m_ScrollbarNumber
.
y
,
NewScreen
->
m_ScrollbarPos
.
x
,
NewScreen
->
m_ScrollbarPos
.
y
,
TRUE
);
// update the References
frame
->
m_CurrentSheet
->
UpdateAllScreenReferences
();
frame
->
SetSheetNumberAndCount
();
...
...
eeschema/hotkeys.h
View file @
25720516
...
...
@@ -6,24 +6,17 @@
#include "hotkeys_basic.h"
// List of hot keys id.
// see also enum common_hotkey_id_commnand in hotkeys_basic.h
// for shared hotkeys id
enum
hotkey_id_commnand
{
HK_NOT_FOUND
=
0
,
HK_RESET_LOCAL_COORD
,
HK_HELP
,
HK_ZOOM_IN
,
HK_ZOOM_OUT
,
HK_ZOOM_REDRAW
,
HK_ZOOM_CENTER
,
HK_ZOOM_AUTO
,
HK_NEXT_SEARCH
,
HK_NEXT_SEARCH
=
HK_COMMON_END
,
HK_DELETE
,
HK_REPEAT_LAST
,
HK_EDIT_PIN
,
HK_LIBEDIT_MOVE_GRAPHIC_ITEM
,
HK_LIBEDIT_ROTATE_PIN
,
HK_DELETE_PIN
,
HK_UNDO
,
HK_REDO
,
HK_MOVEBLOCK_TO_DRAGBLOCK
,
HK_ROTATE
,
HK_EDIT
,
...
...
eeschema/libframe.cpp
View file @
25720516
...
...
@@ -18,6 +18,7 @@
#include "class_library.h"
#include "kicad_device_context.h"
#include "hotkeys.h"
#include <boost/foreach.hpp>
...
...
@@ -167,6 +168,7 @@ WinEDA_LibeditFrame::WinEDA_LibeditFrame( wxWindow* father,
SetShowDeMorgan
(
false
);
m_drawSpecificConvert
=
true
;
m_drawSpecificUnit
=
false
;
m_HotkeysZoomAndGridList
=
s_Libedit_Hokeys_Descr
;
// Give an icon
SetIcon
(
wxIcon
(
libedit_xpm
)
);
...
...
eeschema/schframe.cpp
View file @
25720516
...
...
@@ -27,6 +27,7 @@
#include "dialog_erc.h"
#include "libeditfrm.h"
#include "libviewfrm.h"
#include "hotkeys.h"
BEGIN_EVENT_TABLE
(
WinEDA_SchematicFrame
,
WinEDA_DrawFrame
)
...
...
@@ -160,6 +161,7 @@ WinEDA_SchematicFrame::WinEDA_SchematicFrame( wxWindow* father,
m_previewSize
=
wxDefaultSize
;
m_printMonochrome
=
true
;
m_showSheetReference
=
true
;
m_HotkeysZoomAndGridList
=
s_Schematic_Hokeys_Descr
;
CreateScreens
();
...
...
eeschema/viewlib_frame.cpp
View file @
25720516
...
...
@@ -14,6 +14,7 @@
#include "protos.h"
#include "libviewfrm.h"
#include "class_library.h"
#include "hotkeys.h"
/**
...
...
@@ -92,6 +93,7 @@ WinEDA_ViewlibFrame::WinEDA_ViewlibFrame( wxWindow* father,
// Give an icon
SetIcon
(
wxIcon
(
library_browse_xpm
)
);
m_HotkeysZoomAndGridList
=
s_Viewlib_Hokeys_Descr
;
m_CmpList
=
NULL
;
m_LibList
=
NULL
;
m_LibListWindow
=
NULL
;
...
...
gerbview/gerberframe.cpp
View file @
25720516
...
...
@@ -17,6 +17,7 @@
#include "bitmaps.h"
#include "protos.h"
#include "gerbview_id.h"
#include "hotkeys.h"
/****************************************/
...
...
@@ -128,6 +129,7 @@ WinEDA_GerberFrame::WinEDA_GerberFrame( wxWindow* father,
m_Draw_Axis
=
true
;
// true to show X and Y axis on screen
m_Draw_Sheet_Ref
=
FALSE
;
// TRUE for reference drawings.
m_HotkeysZoomAndGridList
=
s_Gerbview_Hokeys_Descr
;
if
(
DrawPanel
)
DrawPanel
->
m_Block_Enable
=
TRUE
;
...
...
@@ -415,7 +417,7 @@ void WinEDA_GerberFrame::ReFillLayerWidget()
m_auimgr
.
Update
();
else
m_LayersManager
->
SetSize
(
bestz
);
syncLayerWidget
(
);
}
...
...
gerbview/hotkeys.h
View file @
25720516
...
...
@@ -6,17 +6,12 @@
#include "hotkeys_basic.h"
// List of hot keys id.
// see also enum common_hotkey_id_commnand in hotkeys_basic.h
// for shared hotkeys id
enum
hotkey_id_commnand
{
HK_NOT_FOUND
=
0
,
HK_RESET_LOCAL_COORD
,
HK_HELP
,
HK_SWITCH_UNITS
,
HK_SWITCH_UNITS
=
HK_COMMON_END
,
HK_SWITCH_TRACK_DISPLAY_MODE
,
HK_ZOOM_IN
,
HK_ZOOM_OUT
,
HK_ZOOM_REDRAW
,
HK_ZOOM_CENTER
,
HK_ZOOM_AUTO
,
HK_SWITCH_LAYER_TO_NEXT
,
HK_SWITCH_LAYER_TO_PREVIOUS
};
...
...
include/class_base_screen.h
View file @
25720516
...
...
@@ -66,9 +66,16 @@ public:
wxPoint
m_O_Curseur
;
/* Relative Screen cursor coordinate (on grid)
* in user units.
* (coordinates from last reset position)*/
wxPoint
m_ScrollbarPos
;
// Position effective des Curseurs de scroll
wxSize
m_ScrollbarNumber
;
/* Current scroll bar posiition in scroll
* units. */
// Scrollbars management:
int
m_ScrollPixelsPerUnitX
;
/* Pixels per scroll unit in the horizontal direction. */
int
m_ScrollPixelsPerUnitY
;
/* Pixels per scroll unit in the vertical direction. */
wxSize
m_ScrollbarNumber
;
/* Current virtual draw area size in scroll
* units.
* m_ScrollbarNumber * m_ScrollPixelsPerUnit = virtual draw area size in pixels
*/
wxPoint
m_ScrollbarPos
;
/* Current scroll bar position in scroll
* units. */
wxPoint
m_StartVisu
;
/* Coordinates in drawing units of the current
* view position (upper left corner of device)
*/
...
...
include/class_drawpanel.h
View file @
25720516
...
...
@@ -159,7 +159,6 @@ public:
void
SetGrid
(
const
wxRealPoint
&
size
);
wxRealPoint
GetGrid
();
void
AddMenuZoom
(
wxMenu
*
MasterMenu
);
bool
OnRightClick
(
wxMouseEvent
&
event
);
void
Process_Special_Functions
(
wxCommandEvent
&
event
);
...
...
include/hotkeys_basic.h
View file @
25720516
...
...
@@ -75,4 +75,19 @@ void DisplayHotkeyList( WinEDA_DrawFrame* frame,
Ki_HotkeyInfo
*
GetDescriptorFromHotkey
(
int
key
,
Ki_HotkeyInfo
**
List
);
// common hotkeys event id
enum
common_hotkey_id_commnand
{
HK_NOT_FOUND
=
0
,
HK_RESET_LOCAL_COORD
,
HK_HELP
,
HK_ZOOM_IN
,
HK_ZOOM_OUT
,
HK_ZOOM_REDRAW
,
HK_ZOOM_CENTER
,
HK_ZOOM_AUTO
,
HK_UNDO
,
HK_REDO
,
HK_COMMON_END
};
#endif // HOTKEYS_BASIC_H
include/wxstruct.h
View file @
25720516
...
...
@@ -183,6 +183,7 @@ public:
wxPoint
m_Auxiliary_Axis_Position
;
/* position of the auxiliary axis */
protected
:
Ki_HotkeyInfoSectionDescriptor
*
m_HotkeysZoomAndGridList
;
int
m_LastGridSizeId
;
bool
m_DrawGrid
;
// hide/Show grid
int
m_GridColor
;
// Grid color
...
...
@@ -218,6 +219,13 @@ public:
virtual
void
OnHotKey
(
wxDC
*
DC
,
int
hotkey
,
EDA_BaseStruct
*
DrawStruct
);
/** Function AddMenuZoomAndGrid (virtual)
* Add standard zoom commands and submenu zoom and grid selection to a popup menu
* uses zoom hotkeys info base to add hotkeys info to menu commands
* @param aMasterMenu = the menu to populate.
*/
virtual
void
AddMenuZoomAndGrid
(
wxMenu
*
aMasterMenu
);
void
Affiche_Message
(
const
wxString
&
message
);
void
EraseMsgBox
();
void
Process_PageSettings
(
wxCommandEvent
&
event
);
...
...
pcbnew/hotkeys.h
View file @
25720516
...
...
@@ -7,18 +7,11 @@
#include "hotkeys_basic.h"
// List of hot keys id.
// see also enum common_hotkey_id_commnand in hotkeys_basic.h
// for shared hotkeys id
enum
hotkey_id_commnand
{
HK_NOT_FOUND
=
0
,
HK_RESET_LOCAL_COORD
,
HK_HELP
,
HK_ZOOM_IN
,
HK_ZOOM_OUT
,
HK_ZOOM_REDRAW
,
HK_ZOOM_CENTER
,
HK_ZOOM_AUTO
,
HK_UNDO
,
HK_REDO
,
HK_DELETE
,
HK_DELETE
=
HK_COMMON_END
,
HK_BACK_SPACE
,
HK_ROTATE_FOOTPRINT
,
HK_MOVE_FOOTPRINT
,
...
...
pcbnew/moduleframe.cpp
View file @
25720516
...
...
@@ -16,6 +16,7 @@
#include "bitmaps.h"
#include "protos.h"
#include "pcbnew_id.h"
#include "hotkeys.h"
#include "3d_viewer.h"
...
...
@@ -156,6 +157,7 @@ WinEDA_ModuleEditFrame::WinEDA_ModuleEditFrame( wxWindow* father,
m_FrameName
=
wxT
(
"ModEditFrame"
);
m_Draw_Sheet_Ref
=
false
;
// true to show the frame references
m_Draw_Axis
=
true
;
// true to show X and Y axis on screen
m_HotkeysZoomAndGridList
=
s_Module_Editor_Hokeys_Descr
;
// Give an icon
SetIcon
(
wxICON
(
icon_modedit
)
);
...
...
pcbnew/pcbframe.cpp
View file @
25720516
...
...
@@ -46,6 +46,7 @@
#include "layer_widget.h"
#include "dialog_design_rules.h"
#include "class_pcb_layer_widget.h"
#include "hotkeys.h"
...
...
@@ -258,6 +259,7 @@ WinEDA_PcbFrame::WinEDA_PcbFrame( wxWindow* father,
m_TrackAndViasSizesList_Changed
=
false
;
m_show_microwave_tools
=
false
;
m_show_layer_manager_tools
=
true
;
m_HotkeysZoomAndGridList
=
s_Board_Editor_Hokeys_Descr
;
SetBoard
(
new
BOARD
(
NULL
,
this
)
);
...
...
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