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
0b9f39fa
Commit
0b9f39fa
authored
Aug 04, 2011
by
jean-pierre charras
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix 3D frame issue when iconized (Windows only).
parent
04bf11c2
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
161 additions
and
160 deletions
+161
-160
GUI_Translation_HOWTO.odt
Documentation/GUI_Translation_HOWTO.odt
+0
-0
GUI_Translation_HOWTO.pdf
Documentation/GUI_Translation_HOWTO.pdf
+0
-0
class_DisplayFootprintsFrame.cpp
cvpcb/class_DisplayFootprintsFrame.cpp
+8
-8
class_footprints_listbox.cpp
cvpcb/class_footprints_listbox.cpp
+1
-1
cvframe.cpp
cvpcb/cvframe.cpp
+101
-112
cvpcb_mainframe.h
cvpcb/cvpcb_mainframe.h
+17
-19
setvisu.cpp
cvpcb/setvisu.cpp
+24
-20
edit.cpp
pcbnew/edit.cpp
+2
-0
moduleframe.cpp
pcbnew/moduleframe.cpp
+4
-0
pcbframe.cpp
pcbnew/pcbframe.cpp
+4
-0
No files found.
Documentation/GUI_Translation_HOWTO.odt
View file @
0b9f39fa
No preview for this file type
Documentation/GUI_Translation_HOWTO.pdf
View file @
0b9f39fa
No preview for this file type
cvpcb/class_DisplayFootprintsFrame.cpp
View file @
0b9f39fa
...
@@ -106,7 +106,7 @@ DISPLAY_FOOTPRINTS_FRAME::DISPLAY_FOOTPRINTS_FRAME( CVPCB_MAINFRAME* father,
...
@@ -106,7 +106,7 @@ DISPLAY_FOOTPRINTS_FRAME::DISPLAY_FOOTPRINTS_FRAME( CVPCB_MAINFRAME* father,
wxAuiPaneInfo
(
vert
).
Name
(
wxT
(
"m_VToolBar"
)
).
Right
()
);
wxAuiPaneInfo
(
vert
).
Name
(
wxT
(
"m_VToolBar"
)
).
Right
()
);
m_auimgr
.
AddPane
(
DrawPanel
,
m_auimgr
.
AddPane
(
DrawPanel
,
wxAuiPaneInfo
().
Name
(
wxT
(
"D
raw
Frame"
)
).
CentrePane
()
);
wxAuiPaneInfo
().
Name
(
wxT
(
"D
isplay
Frame"
)
).
CentrePane
()
);
m_auimgr
.
AddPane
(
MsgPanel
,
m_auimgr
.
AddPane
(
MsgPanel
,
wxAuiPaneInfo
(
horiz
).
Name
(
wxT
(
"MsgPanel"
)
).
Bottom
()
);
wxAuiPaneInfo
(
horiz
).
Name
(
wxT
(
"MsgPanel"
)
).
Bottom
()
);
...
@@ -126,7 +126,7 @@ DISPLAY_FOOTPRINTS_FRAME::~DISPLAY_FOOTPRINTS_FRAME()
...
@@ -126,7 +126,7 @@ DISPLAY_FOOTPRINTS_FRAME::~DISPLAY_FOOTPRINTS_FRAME()
delete
GetScreen
();
delete
GetScreen
();
SetScreen
(
NULL
);
SetScreen
(
NULL
);
(
(
CVPCB_MAINFRAME
*
)
wxGetApp
().
GetTopWindow
()
)
->
Draw
Frame
=
NULL
;
(
(
CVPCB_MAINFRAME
*
)
wxGetApp
().
GetTopWindow
()
)
->
m_DisplayFootprint
Frame
=
NULL
;
}
}
/* Called when the frame is closed
/* Called when the frame is closed
...
@@ -134,12 +134,8 @@ DISPLAY_FOOTPRINTS_FRAME::~DISPLAY_FOOTPRINTS_FRAME()
...
@@ -134,12 +134,8 @@ DISPLAY_FOOTPRINTS_FRAME::~DISPLAY_FOOTPRINTS_FRAME()
*/
*/
void
DISPLAY_FOOTPRINTS_FRAME
::
OnCloseWindow
(
wxCloseEvent
&
event
)
void
DISPLAY_FOOTPRINTS_FRAME
::
OnCloseWindow
(
wxCloseEvent
&
event
)
{
{
wxPoint
pos
;
if
(
m_Draw3DFrame
)
wxSize
size
;
m_Draw3DFrame
->
Close
(
true
);
size
=
GetSize
();
pos
=
GetPosition
();
SaveSettings
();
SaveSettings
();
Destroy
();
Destroy
();
}
}
...
@@ -408,6 +404,10 @@ void DISPLAY_FOOTPRINTS_FRAME::Show3D_Frame( wxCommandEvent& event )
...
@@ -408,6 +404,10 @@ void DISPLAY_FOOTPRINTS_FRAME::Show3D_Frame( wxCommandEvent& event )
{
{
if
(
m_Draw3DFrame
)
if
(
m_Draw3DFrame
)
{
{
// Raising the window does not show the window on Windows if iconized.
// This should work on any platform.
if
(
m_Draw3DFrame
->
IsIconized
()
)
m_Draw3DFrame
->
Iconize
(
false
);
m_Draw3DFrame
->
Raise
();
m_Draw3DFrame
->
Raise
();
// Raising the window does not set the focus on Linux. This should work on any platform.
// Raising the window does not set the focus on Linux. This should work on any platform.
...
...
cvpcb/class_footprints_listbox.cpp
View file @
0b9f39fa
...
@@ -244,7 +244,7 @@ void FOOTPRINTS_LISTBOX::OnLeftClick( wxListEvent& event )
...
@@ -244,7 +244,7 @@ void FOOTPRINTS_LISTBOX::OnLeftClick( wxListEvent& event )
Module
=
GetParent
()
->
m_footprints
.
GetModuleInfo
(
FootprintName
);
Module
=
GetParent
()
->
m_footprints
.
GetModuleInfo
(
FootprintName
);
wxASSERT
(
Module
);
wxASSERT
(
Module
);
if
(
GetParent
()
->
Draw
Frame
)
if
(
GetParent
()
->
m_DisplayFootprint
Frame
)
{
{
GetParent
()
->
CreateScreenCmp
();
/* refresh general */
GetParent
()
->
CreateScreenCmp
();
/* refresh general */
}
}
...
...
cvpcb/cvframe.cpp
View file @
0b9f39fa
...
@@ -32,83 +32,67 @@ static const wxString FootprintDocFileEntry( wxT( "footprints_doc_file" ) );
...
@@ -32,83 +32,67 @@ static const wxString FootprintDocFileEntry( wxT( "footprints_doc_file" ) );
BEGIN_EVENT_TABLE
(
CVPCB_MAINFRAME
,
EDA_BASE_FRAME
)
BEGIN_EVENT_TABLE
(
CVPCB_MAINFRAME
,
EDA_BASE_FRAME
)
EVT_MENU_RANGE
(
wxID_FILE1
,
wxID_FILE9
,
CVPCB_MAINFRAME
::
LoadNetList
)
EVT_MENU_RANGE
(
wxID_FILE1
,
wxID_FILE9
,
CVPCB_MAINFRAME
::
LoadNetList
)
// Menu events
// Menu events
EVT_MENU
(
ID_LOAD_PROJECT
,
EVT_MENU
(
ID_LOAD_PROJECT
,
CVPCB_MAINFRAME
::
LoadNetList
)
CVPCB_MAINFRAME
::
LoadNetList
)
EVT_MENU
(
ID_SAVE_PROJECT
,
EVT_MENU
(
ID_SAVE_PROJECT
,
CVPCB_MAINFRAME
::
SaveQuitCvpcb
)
CVPCB_MAINFRAME
::
SaveQuitCvpcb
)
EVT_MENU
(
wxID_EXIT
,
EVT_MENU
(
wxID_EXIT
,
CVPCB_MAINFRAME
::
OnQuit
)
CVPCB_MAINFRAME
::
OnQuit
)
EVT_MENU
(
wxID_HELP
,
EVT_MENU
(
wxID_HELP
,
CVPCB_MAINFRAME
::
GetKicadHelp
)
CVPCB_MAINFRAME
::
GetKicadHelp
)
EVT_MENU
(
wxID_ABOUT
,
EVT_MENU
(
wxID_ABOUT
,
CVPCB_MAINFRAME
::
GetKicadAbout
)
CVPCB_MAINFRAME
::
GetKicadAbout
)
EVT_MENU
(
wxID_PREFERENCES
,
EVT_MENU
(
wxID_PREFERENCES
,
CVPCB_MAINFRAME
::
ConfigCvpcb
)
CVPCB_MAINFRAME
::
ConfigCvpcb
)
EVT_MENU
(
ID_CONFIG_SAVE
,
EVT_MENU
(
ID_CONFIG_SAVE
,
CVPCB_MAINFRAME
::
Update_Config
)
CVPCB_MAINFRAME
::
Update_Config
)
EVT_MENU
(
ID_CVPCB_CONFIG_KEEP_OPEN_ON_SAVE
,
EVT_MENU
(
ID_CVPCB_CONFIG_KEEP_OPEN_ON_SAVE
,
CVPCB_MAINFRAME
::
OnKeepOpenOnSave
)
CVPCB_MAINFRAME
::
OnKeepOpenOnSave
)
EVT_MENU_RANGE
(
ID_LANGUAGE_CHOICE
,
EVT_MENU_RANGE
(
ID_LANGUAGE_CHOICE
,
ID_LANGUAGE_CHOICE_END
,
ID_LANGUAGE_CHOICE_END
,
CVPCB_MAINFRAME
::
SetLanguage
)
CVPCB_MAINFRAME
::
SetLanguage
)
// Toolbar events
// Toolbar events
EVT_TOOL
(
ID_CVPCB_QUIT
,
EVT_TOOL
(
ID_CVPCB_QUIT
,
CVPCB_MAINFRAME
::
OnQuit
)
CVPCB_MAINFRAME
::
OnQuit
)
EVT_TOOL
(
ID_CVPCB_READ_INPUT_NETLIST
,
CVPCB_MAINFRAME
::
LoadNetList
)
EVT_TOOL
(
ID_CVPCB_READ_INPUT_NETLIST
,
EVT_TOOL
(
ID_CVPCB_SAVEQUITCVPCB
,
CVPCB_MAINFRAME
::
SaveQuitCvpcb
)
CVPCB_MAINFRAME
::
LoadNetList
)
EVT_TOOL
(
ID_CVPCB_CREATE_CONFIGWINDOW
,
CVPCB_MAINFRAME
::
ConfigCvpcb
)
EVT_TOOL
(
ID_CVPCB_SAVEQUITCVPCB
,
EVT_TOOL
(
ID_CVPCB_CREATE_SCREENCMP
,
CVPCB_MAINFRAME
::
DisplayModule
)
CVPCB_MAINFRAME
::
SaveQuitCvpcb
)
EVT_TOOL
(
ID_CVPCB_GOTO_FIRSTNA
,
CVPCB_MAINFRAME
::
ToFirstNA
)
EVT_TOOL
(
ID_CVPCB_CREATE_CONFIGWINDOW
,
EVT_TOOL
(
ID_CVPCB_GOTO_PREVIOUSNA
,
CVPCB_MAINFRAME
::
ToPreviousNA
)
CVPCB_MAINFRAME
::
ConfigCvpcb
)
EVT_TOOL
(
ID_CVPCB_DEL_ASSOCIATIONS
,
CVPCB_MAINFRAME
::
DelAssociations
)
EVT_TOOL
(
ID_CVPCB_CREATE_SCREENCMP
,
EVT_TOOL
(
ID_CVPCB_AUTO_ASSOCIE
,
CVPCB_MAINFRAME
::
AssocieModule
)
CVPCB_MAINFRAME
::
DisplayModule
)
EVT_TOOL
(
ID_CVPCB_CREATE_STUFF_FILE
,
CVPCB_MAINFRAME
::
WriteStuffList
)
EVT_TOOL
(
ID_CVPCB_GOTO_FIRSTNA
,
EVT_TOOL
(
ID_PCB_DISPLAY_FOOTPRINT_DOC
,
CVPCB_MAINFRAME
::
DisplayDocFile
)
CVPCB_MAINFRAME
::
ToFirstNA
)
EVT_TOOL
(
ID_CVPCB_FOOTPRINT_DISPLAY_FILTERED_LIST
,
EVT_TOOL
(
ID_CVPCB_GOTO_PREVIOUSNA
,
CVPCB_MAINFRAME
::
ToPreviousNA
)
EVT_TOOL
(
ID_CVPCB_DEL_ASSOCIATIONS
,
CVPCB_MAINFRAME
::
DelAssociations
)
EVT_TOOL
(
ID_CVPCB_AUTO_ASSOCIE
,
CVPCB_MAINFRAME
::
AssocieModule
)
EVT_TOOL
(
ID_CVPCB_CREATE_STUFF_FILE
,
CVPCB_MAINFRAME
::
WriteStuffList
)
EVT_TOOL
(
ID_PCB_DISPLAY_FOOTPRINT_DOC
,
CVPCB_MAINFRAME
::
DisplayDocFile
)
EVT_TOOL
(
ID_CVPCB_FOOTPRINT_DISPLAY_FILTERED_LIST
,
CVPCB_MAINFRAME
::
OnSelectFilteringFootprint
)
CVPCB_MAINFRAME
::
OnSelectFilteringFootprint
)
EVT_TOOL
(
ID_CVPCB_FOOTPRINT_DISPLAY_FULL_LIST
,
EVT_TOOL
(
ID_CVPCB_FOOTPRINT_DISPLAY_FULL_LIST
,
CVPCB_MAINFRAME
::
OnSelectFilteringFootprint
)
CVPCB_MAINFRAME
::
OnSelectFilteringFootprint
)
// Frame events
// Frame events
EVT_CHAR
(
CVPCB_MAINFRAME
::
OnChar
)
EVT_CHAR
(
CVPCB_MAINFRAME
::
OnChar
)
EVT_CLOSE
(
CVPCB_MAINFRAME
::
OnCloseWindow
)
EVT_CLOSE
(
CVPCB_MAINFRAME
::
OnCloseWindow
)
EVT_SIZE
(
CVPCB_MAINFRAME
::
OnSize
)
EVT_SIZE
(
CVPCB_MAINFRAME
::
OnSize
)
// List item events
// List item events
EVT_LIST_ITEM_SELECTED
(
ID_CVPCB_FOOTPRINT_LIST
,
EVT_LIST_ITEM_SELECTED
(
ID_CVPCB_FOOTPRINT_LIST
,
CVPCB_MAINFRAME
::
OnLeftClick
)
CVPCB_MAINFRAME
::
OnLeftClick
)
EVT_LIST_ITEM_ACTIVATED
(
ID_CVPCB_FOOTPRINT_LIST
,
CVPCB_MAINFRAME
::
OnLeftDClick
)
EVT_LIST_ITEM_ACTIVATED
(
ID_CVPCB_FOOTPRINT_LIST
,
EVT_LIST_ITEM_SELECTED
(
ID_CVPCB_COMPONENT_LIST
,
CVPCB_MAINFRAME
::
OnSelectComponent
)
CVPCB_MAINFRAME
::
OnLeftDClick
)
EVT_LIST_ITEM_SELECTED
(
ID_CVPCB_COMPONENT_LIST
,
CVPCB_MAINFRAME
::
OnSelectComponent
)
EVT_UPDATE_UI
(
ID_CVPCB_CONFIG_KEEP_OPEN_ON_SAVE
,
EVT_UPDATE_UI
(
ID_CVPCB_CONFIG_KEEP_OPEN_ON_SAVE
,
CVPCB_MAINFRAME
::
OnUpdateKeepOpenOnSave
)
CVPCB_MAINFRAME
::
OnUpdateKeepOpenOnSave
)
END_EVENT_TABLE
()
END_EVENT_TABLE
()
CVPCB_MAINFRAME
::
CVPCB_MAINFRAME
(
const
wxString
&
title
,
long
style
)
:
CVPCB_MAINFRAME
::
CVPCB_MAINFRAME
(
const
wxString
&
title
,
long
style
)
:
EDA_BASE_FRAME
(
NULL
,
CVPCB_FRAME
,
title
,
wxDefaultPosition
,
wxDefaultSize
,
style
)
EDA_BASE_FRAME
(
NULL
,
CVPCB_FRAME
,
title
,
wxDefaultPosition
,
wxDefaultSize
,
style
)
{
{
m_FrameName
=
wxT
(
"CvpcbFrame"
);
m_FrameName
=
wxT
(
"CvpcbFrame"
);
m_ListCmp
=
NULL
;
m_ListCmp
=
NULL
;
m_FootprintList
=
NULL
;
m_FootprintList
=
NULL
;
DrawFrame
=
NULL
;
m_DisplayFootprintFrame
=
NULL
;
m_HToolBar
=
NULL
;
m_HToolBar
=
NULL
;
m_modified
=
false
;
m_modified
=
false
;
m_isEESchemaNetlist
=
false
;
m_isEESchemaNetlist
=
false
;
...
@@ -129,7 +113,7 @@ CVPCB_MAINFRAME::CVPCB_MAINFRAME( const wxString& title, long style ) :
...
@@ -129,7 +113,7 @@ CVPCB_MAINFRAME::CVPCB_MAINFRAME( const wxString& title, long style ) :
SetIcon
(
wxICON
(
icon_cvpcb
)
);
SetIcon
(
wxICON
(
icon_cvpcb
)
);
#endif
#endif
SetAutoLayout
(
TRUE
);
SetAutoLayout
(
true
);
LoadSettings
();
LoadSettings
();
if
(
m_FrameSize
.
x
<
FRAME_MIN_SIZE_X
)
if
(
m_FrameSize
.
x
<
FRAME_MIN_SIZE_X
)
...
@@ -174,7 +158,7 @@ CVPCB_MAINFRAME::CVPCB_MAINFRAME( const wxString& title, long style ) :
...
@@ -174,7 +158,7 @@ CVPCB_MAINFRAME::CVPCB_MAINFRAME( const wxString& title, long style ) :
if
(
m_ListCmp
)
if
(
m_ListCmp
)
m_auimgr
.
AddPane
(
m_ListCmp
,
m_auimgr
.
AddPane
(
m_ListCmp
,
wxAuiPaneInfo
(
horiz
).
Name
(
wxT
(
"m_ListCmp"
)
).
CentrePane
()
);
wxAuiPaneInfo
(
horiz
).
Name
(
wxT
(
"m_ListCmp"
)
).
CentrePane
()
);
if
(
m_FootprintList
)
if
(
m_FootprintList
)
m_auimgr
.
AddPane
(
m_FootprintList
,
m_auimgr
.
AddPane
(
m_FootprintList
,
...
@@ -245,7 +229,7 @@ void CVPCB_MAINFRAME::OnSize( wxSizeEvent& event )
...
@@ -245,7 +229,7 @@ void CVPCB_MAINFRAME::OnSize( wxSizeEvent& event )
void
CVPCB_MAINFRAME
::
OnQuit
(
wxCommandEvent
&
event
)
void
CVPCB_MAINFRAME
::
OnQuit
(
wxCommandEvent
&
event
)
{
{
Close
(
TRUE
);
Close
(
true
);
}
}
...
@@ -295,7 +279,7 @@ void CVPCB_MAINFRAME::OnCloseWindow( wxCloseEvent& Event )
...
@@ -295,7 +279,7 @@ void CVPCB_MAINFRAME::OnCloseWindow( wxCloseEvent& Event )
{
{
if
(
wxGetApp
().
m_HtmlCtrl
->
GetFrame
()
)
// returns NULL if no help
if
(
wxGetApp
().
m_HtmlCtrl
->
GetFrame
()
)
// returns NULL if no help
// frame active
// frame active
wxGetApp
().
m_HtmlCtrl
->
GetFrame
()
->
Close
(
TRUE
);
wxGetApp
().
m_HtmlCtrl
->
GetFrame
()
->
Close
(
true
);
}
}
if
(
m_NetlistFileName
.
IsOk
()
)
if
(
m_NetlistFileName
.
IsOk
()
)
...
@@ -303,6 +287,9 @@ void CVPCB_MAINFRAME::OnCloseWindow( wxCloseEvent& Event )
...
@@ -303,6 +287,9 @@ void CVPCB_MAINFRAME::OnCloseWindow( wxCloseEvent& Event )
UpdateFileHistory
(
m_NetlistFileName
.
GetFullPath
()
);
UpdateFileHistory
(
m_NetlistFileName
.
GetFullPath
()
);
}
}
// Close module display frame
if
(
m_DisplayFootprintFrame
)
m_DisplayFootprintFrame
->
Close
(
true
);
m_modified
=
false
;
m_modified
=
false
;
SaveSettings
();
SaveSettings
();
Destroy
();
Destroy
();
...
@@ -344,8 +331,7 @@ void CVPCB_MAINFRAME::ToFirstNA( wxCommandEvent& event )
...
@@ -344,8 +331,7 @@ void CVPCB_MAINFRAME::ToFirstNA( wxCommandEvent& event )
if
(
selection
<
0
)
if
(
selection
<
0
)
selection
=
0
;
selection
=
0
;
BOOST_FOREACH
(
COMPONENT
&
component
,
m_components
)
BOOST_FOREACH
(
COMPONENT
&
component
,
m_components
)
{
{
if
(
component
.
m_Module
.
IsEmpty
()
&&
ii
>
selection
)
if
(
component
.
m_Module
.
IsEmpty
()
&&
ii
>
selection
)
{
{
m_ListCmp
->
SetSelection
(
ii
);
m_ListCmp
->
SetSelection
(
ii
);
...
@@ -372,8 +358,7 @@ void CVPCB_MAINFRAME::ToPreviousNA( wxCommandEvent& event )
...
@@ -372,8 +358,7 @@ void CVPCB_MAINFRAME::ToPreviousNA( wxCommandEvent& event )
if
(
selection
<
0
)
if
(
selection
<
0
)
selection
=
m_ListCmp
->
GetCount
()
-
1
;
selection
=
m_ListCmp
->
GetCount
()
-
1
;
BOOST_REVERSE_FOREACH
(
COMPONENT
&
component
,
m_components
)
BOOST_REVERSE_FOREACH
(
COMPONENT
&
component
,
m_components
)
{
{
if
(
component
.
m_Module
.
IsEmpty
()
&&
ii
<
selection
)
if
(
component
.
m_Module
.
IsEmpty
()
&&
ii
<
selection
)
{
{
m_ListCmp
->
SetSelection
(
ii
);
m_ListCmp
->
SetSelection
(
ii
);
...
@@ -391,7 +376,7 @@ void CVPCB_MAINFRAME::SaveQuitCvpcb( wxCommandEvent& event )
...
@@ -391,7 +376,7 @@ void CVPCB_MAINFRAME::SaveQuitCvpcb( wxCommandEvent& event )
{
{
m_modified
=
false
;
m_modified
=
false
;
if
(
!
m_KeepCvpcbOpen
)
if
(
!
m_KeepCvpcbOpen
)
Close
(
TRUE
);
Close
(
true
);
}
}
}
}
...
@@ -407,8 +392,7 @@ void CVPCB_MAINFRAME::DelAssociations( wxCommandEvent& event )
...
@@ -407,8 +392,7 @@ void CVPCB_MAINFRAME::DelAssociations( wxCommandEvent& event )
{
{
m_ListCmp
->
SetSelection
(
0
);
m_ListCmp
->
SetSelection
(
0
);
BOOST_FOREACH
(
COMPONENT
&
component
,
m_components
)
BOOST_FOREACH
(
COMPONENT
&
component
,
m_components
)
{
{
component
.
m_Module
.
Empty
();
component
.
m_Module
.
Empty
();
SetNewPkg
(
wxEmptyString
);
SetNewPkg
(
wxEmptyString
);
}
}
...
@@ -488,7 +472,7 @@ void CVPCB_MAINFRAME::OnKeepOpenOnSave( wxCommandEvent& event )
...
@@ -488,7 +472,7 @@ void CVPCB_MAINFRAME::OnKeepOpenOnSave( wxCommandEvent& event )
void
CVPCB_MAINFRAME
::
DisplayModule
(
wxCommandEvent
&
event
)
void
CVPCB_MAINFRAME
::
DisplayModule
(
wxCommandEvent
&
event
)
{
{
CreateScreenCmp
();
CreateScreenCmp
();
Draw
Frame
->
RedrawScreen
(
wxPoint
(
0
,
0
),
false
);
m_DisplayFootprint
Frame
->
RedrawScreen
(
wxPoint
(
0
,
0
),
false
);
}
}
...
@@ -526,20 +510,20 @@ void CVPCB_MAINFRAME::OnSelectComponent( wxListEvent& event )
...
@@ -526,20 +510,20 @@ void CVPCB_MAINFRAME::OnSelectComponent( wxListEvent& event )
if
(
!
m_HToolBar
->
GetToolState
(
ID_CVPCB_FOOTPRINT_DISPLAY_FILTERED_LIST
)
)
if
(
!
m_HToolBar
->
GetToolState
(
ID_CVPCB_FOOTPRINT_DISPLAY_FILTERED_LIST
)
)
{
{
m_FootprintList
->
SetActiveFootprintList
(
TRUE
,
TRUE
);
m_FootprintList
->
SetActiveFootprintList
(
true
,
true
);
return
;
return
;
}
}
selection
=
m_ListCmp
->
GetSelection
();
selection
=
m_ListCmp
->
GetSelection
();
if
(
selection
<
0
)
if
(
selection
<
0
)
{
{
m_FootprintList
->
SetActiveFootprintList
(
TRUE
,
TRUE
);
m_FootprintList
->
SetActiveFootprintList
(
true
,
true
);
return
;
return
;
}
}
if
(
&
m_components
[
selection
]
==
NULL
)
if
(
&
m_components
[
selection
]
==
NULL
)
{
{
m_FootprintList
->
SetActiveFootprintList
(
TRUE
,
TRUE
);
m_FootprintList
->
SetActiveFootprintList
(
true
,
true
);
return
;
return
;
}
}
...
@@ -553,17 +537,20 @@ void CVPCB_MAINFRAME::OnSelectComponent( wxListEvent& event )
...
@@ -553,17 +537,20 @@ void CVPCB_MAINFRAME::OnSelectComponent( wxListEvent& event )
*/
*/
void
CVPCB_MAINFRAME
::
OnSelectFilteringFootprint
(
wxCommandEvent
&
event
)
void
CVPCB_MAINFRAME
::
OnSelectFilteringFootprint
(
wxCommandEvent
&
event
)
{
{
switch
(
event
.
GetId
()
)
switch
(
event
.
GetId
()
)
{
{
case
ID_CVPCB_FOOTPRINT_DISPLAY_FILTERED_LIST
:
case
ID_CVPCB_FOOTPRINT_DISPLAY_FILTERED_LIST
:
m_HToolBar
->
ToggleTool
(
ID_CVPCB_FOOTPRINT_DISPLAY_FULL_LIST
,
false
);
m_HToolBar
->
ToggleTool
(
ID_CVPCB_FOOTPRINT_DISPLAY_FULL_LIST
,
false
);
break
;
break
;
case
ID_CVPCB_FOOTPRINT_DISPLAY_FULL_LIST
:
case
ID_CVPCB_FOOTPRINT_DISPLAY_FULL_LIST
:
m_HToolBar
->
ToggleTool
(
ID_CVPCB_FOOTPRINT_DISPLAY_FILTERED_LIST
,
false
);
m_HToolBar
->
ToggleTool
(
ID_CVPCB_FOOTPRINT_DISPLAY_FILTERED_LIST
,
false
);
break
;
break
;
default
:
default
:
break
;
break
;
}
}
wxListEvent
l_event
;
wxListEvent
l_event
;
OnSelectComponent
(
l_event
);
OnSelectComponent
(
l_event
);
...
@@ -582,6 +569,7 @@ void CVPCB_MAINFRAME::OnUpdateKeepOpenOnSave( wxUpdateUIEvent& event )
...
@@ -582,6 +569,7 @@ void CVPCB_MAINFRAME::OnUpdateKeepOpenOnSave( wxUpdateUIEvent& event )
void
CVPCB_MAINFRAME
::
DisplayStatus
()
void
CVPCB_MAINFRAME
::
DisplayStatus
()
{
{
wxString
msg
;
wxString
msg
;
msg
.
Printf
(
_
(
"Components: %d (free: %d)"
),
msg
.
Printf
(
_
(
"Components: %d (free: %d)"
),
m_components
.
size
(),
m_undefinedComponentCnt
);
m_components
.
size
(),
m_undefinedComponentCnt
);
SetStatusText
(
msg
,
0
);
SetStatusText
(
msg
,
0
);
...
@@ -602,6 +590,7 @@ void CVPCB_MAINFRAME::DisplayStatus()
...
@@ -602,6 +590,7 @@ void CVPCB_MAINFRAME::DisplayStatus()
SetStatusText
(
msg
,
2
);
SetStatusText
(
msg
,
2
);
}
}
/*
/*
* Read the list of libraries (*.mod files) and populates m_footprints
* Read the list of libraries (*.mod files) and populates m_footprints
* ( list of availaible modules in libs ).
* ( list of availaible modules in libs ).
...
@@ -610,7 +599,7 @@ void CVPCB_MAINFRAME::DisplayStatus()
...
@@ -610,7 +599,7 @@ void CVPCB_MAINFRAME::DisplayStatus()
* documentation string
* documentation string
* associated keywords
* associated keywords
*/
*/
bool
CVPCB_MAINFRAME
::
LoadFootprintFiles
(
)
bool
CVPCB_MAINFRAME
::
LoadFootprintFiles
()
{
{
/* Check if there are footprint libraries in project file */
/* Check if there are footprint libraries in project file */
if
(
m_ModuleLibNames
.
GetCount
()
==
0
)
if
(
m_ModuleLibNames
.
GetCount
()
==
0
)
...
@@ -620,24 +609,24 @@ bool CVPCB_MAINFRAME::LoadFootprintFiles( )
...
@@ -620,24 +609,24 @@ bool CVPCB_MAINFRAME::LoadFootprintFiles( )
return
false
;
return
false
;
}
}
m_footprints
.
ReadFootprintFiles
(
m_ModuleLibNames
);
m_footprints
.
ReadFootprintFiles
(
m_ModuleLibNames
);
/* Display error messages, if any */
/* Display error messages, if any */
if
(
!
m_footprints
.
m_filesNotFound
.
IsEmpty
()
||
!
m_footprints
.
m_filesInvalid
.
IsEmpty
()
)
if
(
!
m_footprints
.
m_filesNotFound
.
IsEmpty
()
||
!
m_footprints
.
m_filesInvalid
.
IsEmpty
()
)
{
{
DIALOG_LOAD_ERROR
dialog
(
NULL
);
DIALOG_LOAD_ERROR
dialog
(
NULL
);
if
(
!
m_footprints
.
m_filesNotFound
.
IsEmpty
()
)
if
(
!
m_footprints
.
m_filesNotFound
.
IsEmpty
()
)
{
{
wxString
message
=
_
(
"Some files could not be found!"
);
wxString
message
=
_
(
"Some files could not be found!"
);
dialog
.
MessageSet
(
message
);
dialog
.
MessageSet
(
message
);
dialog
.
ListSet
(
m_footprints
.
m_filesNotFound
);
dialog
.
ListSet
(
m_footprints
.
m_filesNotFound
);
}
}
/* Display if there are invalid files */
/* Display if there are invalid files */
if
(
!
m_footprints
.
m_filesInvalid
.
IsEmpty
()
)
if
(
!
m_footprints
.
m_filesInvalid
.
IsEmpty
()
)
{
{
dialog
.
MessageSet
(
_
(
"Some files are invalid!"
)
);
dialog
.
MessageSet
(
_
(
"Some files are invalid!"
)
);
dialog
.
ListSet
(
m_footprints
.
m_filesInvalid
);
dialog
.
ListSet
(
m_footprints
.
m_filesInvalid
);
}
}
dialog
.
ShowModal
();
dialog
.
ShowModal
();
}
}
...
...
cvpcb/cvpcb_mainframe.h
View file @
0b9f39fa
...
@@ -17,7 +17,6 @@ class COMPONENTS_LISTBOX;
...
@@ -17,7 +17,6 @@ class COMPONENTS_LISTBOX;
class
DISPLAY_FOOTPRINTS_FRAME
;
class
DISPLAY_FOOTPRINTS_FRAME
;
/**
/**
* The CVPcb application main window.
* The CVPcb application main window.
*/
*/
...
@@ -28,7 +27,7 @@ public:
...
@@ -28,7 +27,7 @@ public:
bool
m_KeepCvpcbOpen
;
bool
m_KeepCvpcbOpen
;
FOOTPRINTS_LISTBOX
*
m_FootprintList
;
FOOTPRINTS_LISTBOX
*
m_FootprintList
;
COMPONENTS_LISTBOX
*
m_ListCmp
;
COMPONENTS_LISTBOX
*
m_ListCmp
;
DISPLAY_FOOTPRINTS_FRAME
*
Draw
Frame
;
DISPLAY_FOOTPRINTS_FRAME
*
m_DisplayFootprint
Frame
;
EDA_TOOLBAR
*
m_HToolBar
;
EDA_TOOLBAR
*
m_HToolBar
;
wxFileName
m_NetlistFileName
;
wxFileName
m_NetlistFileName
;
wxArrayString
m_ModuleLibNames
;
wxArrayString
m_ModuleLibNames
;
...
@@ -45,8 +44,7 @@ protected:
...
@@ -45,8 +44,7 @@ protected:
bool
m_isEESchemaNetlist
;
bool
m_isEESchemaNetlist
;
PARAM_CFG_ARRAY
m_projectFileParams
;
PARAM_CFG_ARRAY
m_projectFileParams
;
public
:
public
:
CVPCB_MAINFRAME
(
const
wxString
&
title
,
CVPCB_MAINFRAME
(
const
wxString
&
title
,
long
style
=
KICAD_DEFAULT_DRAWFRAME_STYLE
);
long
style
=
KICAD_DEFAULT_DRAWFRAME_STYLE
);
~
CVPCB_MAINFRAME
();
~
CVPCB_MAINFRAME
();
...
@@ -108,7 +106,7 @@ public:
...
@@ -108,7 +106,7 @@ public:
* fills m_footprints
* fills m_footprints
* @return true if libraries are found, false otherwise.
* @return true if libraries are found, false otherwise.
*/
*/
bool
LoadFootprintFiles
(
);
bool
LoadFootprintFiles
(
);
/**
/**
* function GenNetlistPcbnew
* function GenNetlistPcbnew
...
...
cvpcb/setvisu.cpp
View file @
0b9f39fa
...
@@ -31,28 +31,32 @@ void CVPCB_MAINFRAME::CreateScreenCmp()
...
@@ -31,28 +31,32 @@ void CVPCB_MAINFRAME::CreateScreenCmp()
FootprintName
=
m_FootprintList
->
GetSelectedFootprint
();
FootprintName
=
m_FootprintList
->
GetSelectedFootprint
();
if
(
Draw
Frame
==
NULL
)
if
(
m_DisplayFootprint
Frame
==
NULL
)
{
{
Draw
Frame
=
new
DISPLAY_FOOTPRINTS_FRAME
(
this
,
_
(
"Module"
),
m_DisplayFootprint
Frame
=
new
DISPLAY_FOOTPRINTS_FRAME
(
this
,
_
(
"Module"
),
wxPoint
(
0
,
0
),
wxPoint
(
0
,
0
),
wxSize
(
600
,
400
),
wxSize
(
600
,
400
),
KICAD_DEFAULT_DRAWFRAME_STYLE
);
KICAD_DEFAULT_DRAWFRAME_STYLE
);
IsNew
=
true
;
IsNew
=
true
;
Draw
Frame
->
Show
(
true
);
m_DisplayFootprint
Frame
->
Show
(
true
);
}
}
else
else
{
{
DrawFrame
->
Raise
();
// Raising the window does not show the window on Windows if iconized.
// This should work on any platform.
if
(
m_DisplayFootprintFrame
->
IsIconized
()
)
m_DisplayFootprintFrame
->
Iconize
(
false
);
m_DisplayFootprintFrame
->
Raise
();
// Raising the window does not set the focus on Linux. This should work on any platform.
// Raising the window does not set the focus on Linux. This should work on any platform.
if
(
wxWindow
::
FindFocus
()
!=
Draw
Frame
)
if
(
wxWindow
::
FindFocus
()
!=
m_DisplayFootprint
Frame
)
Draw
Frame
->
SetFocus
();
m_DisplayFootprint
Frame
->
SetFocus
();
}
}
if
(
!
FootprintName
.
IsEmpty
()
)
if
(
!
FootprintName
.
IsEmpty
()
)
{
{
msg
=
_
(
"Footprint: "
)
+
FootprintName
;
msg
=
_
(
"Footprint: "
)
+
FootprintName
;
Draw
Frame
->
SetTitle
(
msg
);
m_DisplayFootprint
Frame
->
SetTitle
(
msg
);
FOOTPRINT_INFO
*
Module
=
m_footprints
.
GetModuleInfo
(
FootprintName
);
FOOTPRINT_INFO
*
Module
=
m_footprints
.
GetModuleInfo
(
FootprintName
);
msg
=
_
(
"Lib: "
);
msg
=
_
(
"Lib: "
);
...
@@ -61,32 +65,32 @@ void CVPCB_MAINFRAME::CreateScreenCmp()
...
@@ -61,32 +65,32 @@ void CVPCB_MAINFRAME::CreateScreenCmp()
else
else
msg
+=
wxT
(
"???"
);
msg
+=
wxT
(
"???"
);
Draw
Frame
->
SetStatusText
(
msg
,
0
);
m_DisplayFootprint
Frame
->
SetStatusText
(
msg
,
0
);
if
(
Draw
Frame
->
GetBoard
()
->
m_Modules
.
GetCount
()
)
if
(
m_DisplayFootprint
Frame
->
GetBoard
()
->
m_Modules
.
GetCount
()
)
{
{
// there is only one module in the list
// there is only one module in the list
Draw
Frame
->
GetBoard
()
->
m_Modules
.
DeleteAll
();
m_DisplayFootprint
Frame
->
GetBoard
()
->
m_Modules
.
DeleteAll
();
}
}
MODULE
*
mod
=
Draw
Frame
->
Get_Module
(
FootprintName
);
MODULE
*
mod
=
m_DisplayFootprint
Frame
->
Get_Module
(
FootprintName
);
if
(
mod
)
if
(
mod
)
Draw
Frame
->
GetBoard
()
->
m_Modules
.
PushBack
(
mod
);
m_DisplayFootprint
Frame
->
GetBoard
()
->
m_Modules
.
PushBack
(
mod
);
Draw
Frame
->
Zoom_Automatique
(
false
);
m_DisplayFootprint
Frame
->
Zoom_Automatique
(
false
);
Draw
Frame
->
DrawPanel
->
Refresh
();
m_DisplayFootprint
Frame
->
DrawPanel
->
Refresh
();
Draw
Frame
->
UpdateStatusBar
();
/* Display new cursor coordinates and zoom value */
m_DisplayFootprint
Frame
->
UpdateStatusBar
();
/* Display new cursor coordinates and zoom value */
if
(
Draw
Frame
->
m_Draw3DFrame
)
if
(
m_DisplayFootprint
Frame
->
m_Draw3DFrame
)
Draw
Frame
->
m_Draw3DFrame
->
NewDisplay
();
m_DisplayFootprint
Frame
->
m_Draw3DFrame
->
NewDisplay
();
}
}
else
if
(
!
IsNew
)
else
if
(
!
IsNew
)
{
{
Draw
Frame
->
Refresh
();
m_DisplayFootprint
Frame
->
Refresh
();
if
(
Draw
Frame
->
m_Draw3DFrame
)
if
(
m_DisplayFootprint
Frame
->
m_Draw3DFrame
)
Draw
Frame
->
m_Draw3DFrame
->
NewDisplay
();
m_DisplayFootprint
Frame
->
m_Draw3DFrame
->
NewDisplay
();
}
}
}
}
...
...
pcbnew/edit.cpp
View file @
0b9f39fa
...
@@ -168,6 +168,8 @@ void PCB_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event )
...
@@ -168,6 +168,8 @@ void PCB_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event )
}
}
else
else
{
{
if
(
m_ModuleEditFrame
->
IsIconized
()
)
m_ModuleEditFrame
->
Iconize
(
false
);
m_ModuleEditFrame
->
Raise
();
m_ModuleEditFrame
->
Raise
();
// Raising the window does not set the focus on Linux. This should work on
// Raising the window does not set the focus on Linux. This should work on
...
...
pcbnew/moduleframe.cpp
View file @
0b9f39fa
...
@@ -325,6 +325,10 @@ void WinEDA_ModuleEditFrame::Show3D_Frame( wxCommandEvent& event )
...
@@ -325,6 +325,10 @@ void WinEDA_ModuleEditFrame::Show3D_Frame( wxCommandEvent& event )
{
{
if
(
m_Draw3DFrame
)
if
(
m_Draw3DFrame
)
{
{
// Raising the window does not show the window on Windows if iconized.
// This should work on any platform.
if
(
m_Draw3DFrame
->
IsIconized
()
)
m_Draw3DFrame
->
Iconize
(
false
);
m_Draw3DFrame
->
Raise
();
m_Draw3DFrame
->
Raise
();
// Raising the window does not set the focus on Linux. This should work on any platform.
// Raising the window does not set the focus on Linux. This should work on any platform.
...
...
pcbnew/pcbframe.cpp
View file @
0b9f39fa
...
@@ -483,6 +483,10 @@ void PCB_EDIT_FRAME::Show3D_Frame( wxCommandEvent& event )
...
@@ -483,6 +483,10 @@ void PCB_EDIT_FRAME::Show3D_Frame( wxCommandEvent& event )
{
{
if
(
m_Draw3DFrame
)
if
(
m_Draw3DFrame
)
{
{
// Raising the window does not show the window on Windows if iconized.
// This should work on any platform.
if
(
m_Draw3DFrame
->
IsIconized
()
)
m_Draw3DFrame
->
Iconize
(
false
);
m_Draw3DFrame
->
Raise
();
m_Draw3DFrame
->
Raise
();
// Raising the window does not set the focus on Linux. This should work on any platform.
// Raising the window does not set the focus on Linux. This should work on any platform.
...
...
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