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
Hide 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,
wxAuiPaneInfo
(
vert
).
Name
(
wxT
(
"m_VToolBar"
)
).
Right
()
);
m_auimgr
.
AddPane
(
DrawPanel
,
wxAuiPaneInfo
().
Name
(
wxT
(
"D
raw
Frame"
)
).
CentrePane
()
);
wxAuiPaneInfo
().
Name
(
wxT
(
"D
isplay
Frame"
)
).
CentrePane
()
);
m_auimgr
.
AddPane
(
MsgPanel
,
wxAuiPaneInfo
(
horiz
).
Name
(
wxT
(
"MsgPanel"
)
).
Bottom
()
);
...
...
@@ -126,7 +126,7 @@ DISPLAY_FOOTPRINTS_FRAME::~DISPLAY_FOOTPRINTS_FRAME()
delete
GetScreen
();
SetScreen
(
NULL
);
(
(
CVPCB_MAINFRAME
*
)
wxGetApp
().
GetTopWindow
()
)
->
Draw
Frame
=
NULL
;
(
(
CVPCB_MAINFRAME
*
)
wxGetApp
().
GetTopWindow
()
)
->
m_DisplayFootprint
Frame
=
NULL
;
}
/* Called when the frame is closed
...
...
@@ -134,12 +134,8 @@ DISPLAY_FOOTPRINTS_FRAME::~DISPLAY_FOOTPRINTS_FRAME()
*/
void
DISPLAY_FOOTPRINTS_FRAME
::
OnCloseWindow
(
wxCloseEvent
&
event
)
{
wxPoint
pos
;
wxSize
size
;
size
=
GetSize
();
pos
=
GetPosition
();
if
(
m_Draw3DFrame
)
m_Draw3DFrame
->
Close
(
true
);
SaveSettings
();
Destroy
();
}
...
...
@@ -408,6 +404,10 @@ void DISPLAY_FOOTPRINTS_FRAME::Show3D_Frame( wxCommandEvent& event )
{
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
();
// 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 )
Module
=
GetParent
()
->
m_footprints
.
GetModuleInfo
(
FootprintName
);
wxASSERT
(
Module
);
if
(
GetParent
()
->
Draw
Frame
)
if
(
GetParent
()
->
m_DisplayFootprint
Frame
)
{
GetParent
()
->
CreateScreenCmp
();
/* refresh general */
}
...
...
cvpcb/cvframe.cpp
View file @
0b9f39fa
...
...
@@ -32,85 +32,69 @@ static const wxString FootprintDocFileEntry( wxT( "footprints_doc_file" ) );
BEGIN_EVENT_TABLE
(
CVPCB_MAINFRAME
,
EDA_BASE_FRAME
)
EVT_MENU_RANGE
(
wxID_FILE1
,
wxID_FILE9
,
CVPCB_MAINFRAME
::
LoadNetList
)
// Menu events
EVT_MENU
(
ID_LOAD_PROJECT
,
CVPCB_MAINFRAME
::
LoadNetList
)
EVT_MENU
(
ID_SAVE_PROJECT
,
CVPCB_MAINFRAME
::
SaveQuitCvpcb
)
EVT_MENU
(
wxID_EXIT
,
CVPCB_MAINFRAME
::
OnQuit
)
EVT_MENU
(
wxID_HELP
,
CVPCB_MAINFRAME
::
GetKicadHelp
)
EVT_MENU
(
wxID_ABOUT
,
CVPCB_MAINFRAME
::
GetKicadAbout
)
EVT_MENU
(
wxID_PREFERENCES
,
CVPCB_MAINFRAME
::
ConfigCvpcb
)
EVT_MENU
(
ID_CONFIG_SAVE
,
CVPCB_MAINFRAME
::
Update_Config
)
EVT_MENU
(
ID_CVPCB_CONFIG_KEEP_OPEN_ON_SAVE
,
CVPCB_MAINFRAME
::
OnKeepOpenOnSave
)
EVT_MENU_RANGE
(
ID_LANGUAGE_CHOICE
,
ID_LANGUAGE_CHOICE_END
,
CVPCB_MAINFRAME
::
SetLanguage
)
// Toolbar events
EVT_TOOL
(
ID_CVPCB_QUIT
,
CVPCB_MAINFRAME
::
OnQuit
)
EVT_TOOL
(
ID_CVPCB_READ_INPUT_NETLIST
,
CVPCB_MAINFRAME
::
LoadNetList
)
EVT_TOOL
(
ID_CVPCB_SAVEQUITCVPCB
,
CVPCB_MAINFRAME
::
SaveQuitCvpcb
)
EVT_TOOL
(
ID_CVPCB_CREATE_CONFIGWINDOW
,
CVPCB_MAINFRAME
::
ConfigCvpcb
)
EVT_TOOL
(
ID_CVPCB_CREATE_SCREENCMP
,
CVPCB_MAINFRAME
::
DisplayModule
)
EVT_TOOL
(
ID_CVPCB_GOTO_FIRSTNA
,
CVPCB_MAINFRAME
::
ToFirstNA
)
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
)
EVT_TOOL
(
ID_CVPCB_FOOTPRINT_DISPLAY_FULL_LIST
,
CVPCB_MAINFRAME
::
OnSelectFilteringFootprint
)
// Frame events
EVT_CHAR
(
CVPCB_MAINFRAME
::
OnChar
)
EVT_CLOSE
(
CVPCB_MAINFRAME
::
OnCloseWindow
)
EVT_SIZE
(
CVPCB_MAINFRAME
::
OnSize
)
// List item events
EVT_LIST_ITEM_SELECTED
(
ID_CVPCB_FOOTPRINT_LIST
,
CVPCB_MAINFRAME
::
OnLeftClick
)
EVT_LIST_ITEM_ACTIVATED
(
ID_CVPCB_FOOTPRINT_LIST
,
CVPCB_MAINFRAME
::
OnLeftDClick
)
EVT_LIST_ITEM_SELECTED
(
ID_CVPCB_COMPONENT_LIST
,
CVPCB_MAINFRAME
::
OnSelectComponent
)
EVT_UPDATE_UI
(
ID_CVPCB_CONFIG_KEEP_OPEN_ON_SAVE
,
CVPCB_MAINFRAME
::
OnUpdateKeepOpenOnSave
)
END_EVENT_TABLE
()
CVPCB_MAINFRAME
::
CVPCB_MAINFRAME
(
const
wxString
&
title
,
long
style
)
:
EVT_MENU_RANGE
(
wxID_FILE1
,
wxID_FILE9
,
CVPCB_MAINFRAME
::
LoadNetList
)
// Menu events
EVT_MENU
(
ID_LOAD_PROJECT
,
CVPCB_MAINFRAME
::
LoadNetList
)
EVT_MENU
(
ID_SAVE_PROJECT
,
CVPCB_MAINFRAME
::
SaveQuitCvpcb
)
EVT_MENU
(
wxID_EXIT
,
CVPCB_MAINFRAME
::
OnQuit
)
EVT_MENU
(
wxID_HELP
,
CVPCB_MAINFRAME
::
GetKicadHelp
)
EVT_MENU
(
wxID_ABOUT
,
CVPCB_MAINFRAME
::
GetKicadAbout
)
EVT_MENU
(
wxID_PREFERENCES
,
CVPCB_MAINFRAME
::
ConfigCvpcb
)
EVT_MENU
(
ID_CONFIG_SAVE
,
CVPCB_MAINFRAME
::
Update_Config
)
EVT_MENU
(
ID_CVPCB_CONFIG_KEEP_OPEN_ON_SAVE
,
CVPCB_MAINFRAME
::
OnKeepOpenOnSave
)
EVT_MENU_RANGE
(
ID_LANGUAGE_CHOICE
,
ID_LANGUAGE_CHOICE_END
,
CVPCB_MAINFRAME
::
SetLanguage
)
// Toolbar events
EVT_TOOL
(
ID_CVPCB_QUIT
,
CVPCB_MAINFRAME
::
OnQuit
)
EVT_TOOL
(
ID_CVPCB_READ_INPUT_NETLIST
,
CVPCB_MAINFRAME
::
LoadNetList
)
EVT_TOOL
(
ID_CVPCB_SAVEQUITCVPCB
,
CVPCB_MAINFRAME
::
SaveQuitCvpcb
)
EVT_TOOL
(
ID_CVPCB_CREATE_CONFIGWINDOW
,
CVPCB_MAINFRAME
::
ConfigCvpcb
)
EVT_TOOL
(
ID_CVPCB_CREATE_SCREENCMP
,
CVPCB_MAINFRAME
::
DisplayModule
)
EVT_TOOL
(
ID_CVPCB_GOTO_FIRSTNA
,
CVPCB_MAINFRAME
::
ToFirstNA
)
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
)
EVT_TOOL
(
ID_CVPCB_FOOTPRINT_DISPLAY_FULL_LIST
,
CVPCB_MAINFRAME
::
OnSelectFilteringFootprint
)
// Frame events
EVT_CHAR
(
CVPCB_MAINFRAME
::
OnChar
)
EVT_CLOSE
(
CVPCB_MAINFRAME
::
OnCloseWindow
)
EVT_SIZE
(
CVPCB_MAINFRAME
::
OnSize
)
// List item events
EVT_LIST_ITEM_SELECTED
(
ID_CVPCB_FOOTPRINT_LIST
,
CVPCB_MAINFRAME
::
OnLeftClick
)
EVT_LIST_ITEM_ACTIVATED
(
ID_CVPCB_FOOTPRINT_LIST
,
CVPCB_MAINFRAME
::
OnLeftDClick
)
EVT_LIST_ITEM_SELECTED
(
ID_CVPCB_COMPONENT_LIST
,
CVPCB_MAINFRAME
::
OnSelectComponent
)
EVT_UPDATE_UI
(
ID_CVPCB_CONFIG_KEEP_OPEN_ON_SAVE
,
CVPCB_MAINFRAME
::
OnUpdateKeepOpenOnSave
)
END_EVENT_TABLE
()
CVPCB_MAINFRAME
::
CVPCB_MAINFRAME
(
const
wxString
&
title
,
long
style
)
:
EDA_BASE_FRAME
(
NULL
,
CVPCB_FRAME
,
title
,
wxDefaultPosition
,
wxDefaultSize
,
style
)
{
m_FrameName
=
wxT
(
"CvpcbFrame"
);
m_ListCmp
=
NULL
;
m_FootprintList
=
NULL
;
DrawFrame
=
NULL
;
m_HToolBar
=
NULL
;
m_modified
=
false
;
m_DisplayFootprintFrame
=
NULL
;
m_HToolBar
=
NULL
;
m_modified
=
false
;
m_isEESchemaNetlist
=
false
;
m_KeepCvpcbOpen
=
false
;
m_undefinedComponentCnt
=
0
;
...
...
@@ -129,7 +113,7 @@ CVPCB_MAINFRAME::CVPCB_MAINFRAME( const wxString& title, long style ) :
SetIcon
(
wxICON
(
icon_cvpcb
)
);
#endif
SetAutoLayout
(
TRUE
);
SetAutoLayout
(
true
);
LoadSettings
();
if
(
m_FrameSize
.
x
<
FRAME_MIN_SIZE_X
)
...
...
@@ -170,16 +154,16 @@ CVPCB_MAINFRAME::CVPCB_MAINFRAME( const wxString& title, long style ) :
if
(
m_HToolBar
)
m_auimgr
.
AddPane
(
m_HToolBar
,
wxAuiPaneInfo
(
horiz
).
Name
(
wxT
(
"m_HToolBar"
)
).
Top
()
);
wxAuiPaneInfo
(
horiz
).
Name
(
wxT
(
"m_HToolBar"
)
).
Top
()
);
if
(
m_ListCmp
)
m_auimgr
.
AddPane
(
m_ListCmp
,
wxAuiPaneInfo
(
horiz
).
Name
(
wxT
(
"m_ListCmp"
)
).
CentrePane
()
);
wxAuiPaneInfo
(
horiz
).
Name
(
wxT
(
"m_ListCmp"
)
).
CentrePane
()
);
if
(
m_FootprintList
)
m_auimgr
.
AddPane
(
m_FootprintList
,
wxAuiPaneInfo
(
horiz
).
Name
(
wxT
(
"m_FootprintList"
)
).
Right
().
BestSize
(
(
int
)
(
m_FrameSize
.
x
*
0.36
),
m_FrameSize
.
y
)
);
wxAuiPaneInfo
(
horiz
).
Name
(
wxT
(
"m_FootprintList"
)
).
Right
().
BestSize
(
(
int
)
(
m_FrameSize
.
x
*
0.36
),
m_FrameSize
.
y
)
);
m_auimgr
.
Update
();
}
...
...
@@ -245,7 +229,7 @@ void CVPCB_MAINFRAME::OnSize( wxSizeEvent& event )
void
CVPCB_MAINFRAME
::
OnQuit
(
wxCommandEvent
&
event
)
{
Close
(
TRUE
);
Close
(
true
);
}
...
...
@@ -293,9 +277,9 @@ void CVPCB_MAINFRAME::OnCloseWindow( wxCloseEvent& Event )
// Close the help frame
if
(
wxGetApp
().
m_HtmlCtrl
)
{
if
(
wxGetApp
().
m_HtmlCtrl
->
GetFrame
()
)
// returns NULL if no help
// frame active
wxGetApp
().
m_HtmlCtrl
->
GetFrame
()
->
Close
(
TRUE
);
if
(
wxGetApp
().
m_HtmlCtrl
->
GetFrame
()
)
// returns NULL if no help
// frame active
wxGetApp
().
m_HtmlCtrl
->
GetFrame
()
->
Close
(
true
);
}
if
(
m_NetlistFileName
.
IsOk
()
)
...
...
@@ -303,6 +287,9 @@ void CVPCB_MAINFRAME::OnCloseWindow( wxCloseEvent& Event )
UpdateFileHistory
(
m_NetlistFileName
.
GetFullPath
()
);
}
// Close module display frame
if
(
m_DisplayFootprintFrame
)
m_DisplayFootprintFrame
->
Close
(
true
);
m_modified
=
false
;
SaveSettings
();
Destroy
();
...
...
@@ -344,8 +331,7 @@ void CVPCB_MAINFRAME::ToFirstNA( wxCommandEvent& event )
if
(
selection
<
0
)
selection
=
0
;
BOOST_FOREACH
(
COMPONENT
&
component
,
m_components
)
{
BOOST_FOREACH
(
COMPONENT
&
component
,
m_components
)
{
if
(
component
.
m_Module
.
IsEmpty
()
&&
ii
>
selection
)
{
m_ListCmp
->
SetSelection
(
ii
);
...
...
@@ -372,8 +358,7 @@ void CVPCB_MAINFRAME::ToPreviousNA( wxCommandEvent& event )
if
(
selection
<
0
)
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
)
{
m_ListCmp
->
SetSelection
(
ii
);
...
...
@@ -391,7 +376,7 @@ void CVPCB_MAINFRAME::SaveQuitCvpcb( wxCommandEvent& event )
{
m_modified
=
false
;
if
(
!
m_KeepCvpcbOpen
)
Close
(
TRUE
);
Close
(
true
);
}
}
...
...
@@ -407,8 +392,7 @@ void CVPCB_MAINFRAME::DelAssociations( wxCommandEvent& event )
{
m_ListCmp
->
SetSelection
(
0
);
BOOST_FOREACH
(
COMPONENT
&
component
,
m_components
)
{
BOOST_FOREACH
(
COMPONENT
&
component
,
m_components
)
{
component
.
m_Module
.
Empty
();
SetNewPkg
(
wxEmptyString
);
}
...
...
@@ -462,7 +446,7 @@ void CVPCB_MAINFRAME::LoadNetList( wxCommandEvent& event )
if
(
ReadNetList
()
)
{
SetTitle
(
wxGetApp
().
GetTitle
()
+
wxT
(
" "
)
+
GetBuildVersion
()
+
wxT
(
" "
)
+
m_NetlistFileName
.
GetFullPath
()
);
wxT
(
" "
)
+
m_NetlistFileName
.
GetFullPath
()
);
}
else
{
...
...
@@ -488,7 +472,7 @@ void CVPCB_MAINFRAME::OnKeepOpenOnSave( wxCommandEvent& event )
void
CVPCB_MAINFRAME
::
DisplayModule
(
wxCommandEvent
&
event
)
{
CreateScreenCmp
();
Draw
Frame
->
RedrawScreen
(
wxPoint
(
0
,
0
),
false
);
m_DisplayFootprint
Frame
->
RedrawScreen
(
wxPoint
(
0
,
0
),
false
);
}
...
...
@@ -504,7 +488,7 @@ void CVPCB_MAINFRAME::SetLanguage( wxCommandEvent& event )
void
CVPCB_MAINFRAME
::
DisplayDocFile
(
wxCommandEvent
&
event
)
{
GetAssociatedDocument
(
this
,
m_DocModulesFileName
,
&
wxGetApp
().
GetLibraryPathList
()
);
&
wxGetApp
().
GetLibraryPathList
()
);
}
...
...
@@ -526,20 +510,20 @@ void CVPCB_MAINFRAME::OnSelectComponent( wxListEvent& event )
if
(
!
m_HToolBar
->
GetToolState
(
ID_CVPCB_FOOTPRINT_DISPLAY_FILTERED_LIST
)
)
{
m_FootprintList
->
SetActiveFootprintList
(
TRUE
,
TRUE
);
m_FootprintList
->
SetActiveFootprintList
(
true
,
true
);
return
;
}
selection
=
m_ListCmp
->
GetSelection
();
if
(
selection
<
0
)
{
m_FootprintList
->
SetActiveFootprintList
(
TRUE
,
TRUE
);
m_FootprintList
->
SetActiveFootprintList
(
true
,
true
);
return
;
}
if
(
&
m_components
[
selection
]
==
NULL
)
{
m_FootprintList
->
SetActiveFootprintList
(
TRUE
,
TRUE
);
m_FootprintList
->
SetActiveFootprintList
(
true
,
true
);
return
;
}
...
...
@@ -553,17 +537,20 @@ void CVPCB_MAINFRAME::OnSelectComponent( wxListEvent& event )
*/
void
CVPCB_MAINFRAME
::
OnSelectFilteringFootprint
(
wxCommandEvent
&
event
)
{
switch
(
event
.
GetId
()
)
switch
(
event
.
GetId
()
)
{
case
ID_CVPCB_FOOTPRINT_DISPLAY_FILTERED_LIST
:
m_HToolBar
->
ToggleTool
(
ID_CVPCB_FOOTPRINT_DISPLAY_FULL_LIST
,
false
);
break
;
case
ID_CVPCB_FOOTPRINT_DISPLAY_FULL_LIST
:
m_HToolBar
->
ToggleTool
(
ID_CVPCB_FOOTPRINT_DISPLAY_FILTERED_LIST
,
false
);
break
;
default
:
case
ID_CVPCB_FOOTPRINT_DISPLAY_FILTERED_LIST
:
m_HToolBar
->
ToggleTool
(
ID_CVPCB_FOOTPRINT_DISPLAY_FULL_LIST
,
false
);
break
;
case
ID_CVPCB_FOOTPRINT_DISPLAY_FULL_LIST
:
m_HToolBar
->
ToggleTool
(
ID_CVPCB_FOOTPRINT_DISPLAY_FILTERED_LIST
,
false
);
break
;
default
:
break
;
}
wxListEvent
l_event
;
OnSelectComponent
(
l_event
);
...
...
@@ -582,8 +569,9 @@ void CVPCB_MAINFRAME::OnUpdateKeepOpenOnSave( wxUpdateUIEvent& event )
void
CVPCB_MAINFRAME
::
DisplayStatus
()
{
wxString
msg
;
msg
.
Printf
(
_
(
"Components: %d (free: %d)"
),
m_components
.
size
(),
m_undefinedComponentCnt
);
m_components
.
size
(),
m_undefinedComponentCnt
);
SetStatusText
(
msg
,
0
);
SetStatusText
(
wxEmptyString
,
1
);
...
...
@@ -602,6 +590,7 @@ void CVPCB_MAINFRAME::DisplayStatus()
SetStatusText
(
msg
,
2
);
}
/*
* Read the list of libraries (*.mod files) and populates m_footprints
* ( list of availaible modules in libs ).
...
...
@@ -610,7 +599,7 @@ void CVPCB_MAINFRAME::DisplayStatus()
* documentation string
* associated keywords
*/
bool
CVPCB_MAINFRAME
::
LoadFootprintFiles
(
)
bool
CVPCB_MAINFRAME
::
LoadFootprintFiles
()
{
/* Check if there are footprint libraries in project file */
if
(
m_ModuleLibNames
.
GetCount
()
==
0
)
...
...
@@ -620,24 +609,24 @@ bool CVPCB_MAINFRAME::LoadFootprintFiles( )
return
false
;
}
m_footprints
.
ReadFootprintFiles
(
m_ModuleLibNames
);
m_footprints
.
ReadFootprintFiles
(
m_ModuleLibNames
);
/* Display error messages, if any */
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
()
)
{
wxString
message
=
_
(
"Some files could not be found!"
);
dialog
.
MessageSet
(
message
);
dialog
.
ListSet
(
m_footprints
.
m_filesNotFound
);
wxString
message
=
_
(
"Some files could not be found!"
);
dialog
.
MessageSet
(
message
);
dialog
.
ListSet
(
m_footprints
.
m_filesNotFound
);
}
/* Display if there are invalid files */
if
(
!
m_footprints
.
m_filesInvalid
.
IsEmpty
()
)
{
dialog
.
MessageSet
(
_
(
"Some files are invalid!"
)
);
dialog
.
ListSet
(
m_footprints
.
m_filesInvalid
);
dialog
.
MessageSet
(
_
(
"Some files are invalid!"
)
);
dialog
.
ListSet
(
m_footprints
.
m_filesInvalid
);
}
dialog
.
ShowModal
();
}
...
...
cvpcb/cvpcb_mainframe.h
View file @
0b9f39fa
...
...
@@ -17,7 +17,6 @@ class COMPONENTS_LISTBOX;
class
DISPLAY_FOOTPRINTS_FRAME
;
/**
* The CVPcb application main window.
*/
...
...
@@ -26,18 +25,18 @@ class CVPCB_MAINFRAME : public EDA_BASE_FRAME
public
:
bool
m_KeepCvpcbOpen
;
FOOTPRINTS_LISTBOX
*
m_FootprintList
;
COMPONENTS_LISTBOX
*
m_ListCmp
;
DISPLAY_FOOTPRINTS_FRAME
*
Draw
Frame
;
EDA_TOOLBAR
*
m_HToolBar
;
wxFileName
m_NetlistFileName
;
wxArrayString
m_ModuleLibNames
;
wxArrayString
m_AliasLibNames
;
wxString
m_UserLibraryPath
;
wxString
m_NetlistFileExtension
;
wxString
m_DocModulesFileName
;
FOOTPRINT_LIST
m_footprints
;
COMPONENT_LIST
m_components
;
FOOTPRINTS_LISTBOX
*
m_FootprintList
;
COMPONENTS_LISTBOX
*
m_ListCmp
;
DISPLAY_FOOTPRINTS_FRAME
*
m_DisplayFootprint
Frame
;
EDA_TOOLBAR
*
m_HToolBar
;
wxFileName
m_NetlistFileName
;
wxArrayString
m_ModuleLibNames
;
wxArrayString
m_AliasLibNames
;
wxString
m_UserLibraryPath
;
wxString
m_NetlistFileExtension
;
wxString
m_DocModulesFileName
;
FOOTPRINT_LIST
m_footprints
;
COMPONENT_LIST
m_components
;
protected
:
int
m_undefinedComponentCnt
;
...
...
@@ -45,9 +44,8 @@ protected:
bool
m_isEESchemaNetlist
;
PARAM_CFG_ARRAY
m_projectFileParams
;
public
:
CVPCB_MAINFRAME
(
const
wxString
&
title
,
long
style
=
KICAD_DEFAULT_DRAWFRAME_STYLE
);
public
:
CVPCB_MAINFRAME
(
const
wxString
&
title
,
long
style
=
KICAD_DEFAULT_DRAWFRAME_STYLE
);
~
CVPCB_MAINFRAME
();
void
OnLeftClick
(
wxListEvent
&
event
);
...
...
@@ -108,21 +106,21 @@ public:
* fills m_footprints
* @return true if libraries are found, false otherwise.
*/
bool
LoadFootprintFiles
(
);
bool
LoadFootprintFiles
(
);
/**
* function GenNetlistPcbnew
* writes the output netlist file
*
*/
int
GenNetlistPcbnew
(
FILE
*
f
,
bool
isEESchemaNetlist
=
true
);
int
GenNetlistPcbnew
(
FILE
*
f
,
bool
isEESchemaNetlist
=
true
);
/**
* Function LoadComponentFile
* Loads the .cmp file that stores the component/footprint association.
* @param aCmpFileName = the full filename of .cmp file to load
*/
bool
LoadComponentFile
(
const
wxString
&
aCmpFileName
);
bool
LoadComponentFile
(
const
wxString
&
aCmpFileName
);
PARAM_CFG_ARRAY
&
GetProjectFileParameters
(
void
);
...
...
cvpcb/setvisu.cpp
View file @
0b9f39fa
...
...
@@ -31,28 +31,32 @@ void CVPCB_MAINFRAME::CreateScreenCmp()
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
),
wxSize
(
600
,
400
),
KICAD_DEFAULT_DRAWFRAME_STYLE
);
IsNew
=
true
;
Draw
Frame
->
Show
(
true
);
m_DisplayFootprint
Frame
->
Show
(
true
);
}
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.
if
(
wxWindow
::
FindFocus
()
!=
Draw
Frame
)
Draw
Frame
->
SetFocus
();
if
(
wxWindow
::
FindFocus
()
!=
m_DisplayFootprint
Frame
)
m_DisplayFootprint
Frame
->
SetFocus
();
}
if
(
!
FootprintName
.
IsEmpty
()
)
{
msg
=
_
(
"Footprint: "
)
+
FootprintName
;
Draw
Frame
->
SetTitle
(
msg
);
m_DisplayFootprint
Frame
->
SetTitle
(
msg
);
FOOTPRINT_INFO
*
Module
=
m_footprints
.
GetModuleInfo
(
FootprintName
);
msg
=
_
(
"Lib: "
);
...
...
@@ -61,32 +65,32 @@ void CVPCB_MAINFRAME::CreateScreenCmp()
else
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
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
)
Draw
Frame
->
GetBoard
()
->
m_Modules
.
PushBack
(
mod
);
m_DisplayFootprint
Frame
->
GetBoard
()
->
m_Modules
.
PushBack
(
mod
);
Draw
Frame
->
Zoom_Automatique
(
false
);
Draw
Frame
->
DrawPanel
->
Refresh
();
Draw
Frame
->
UpdateStatusBar
();
/* Display new cursor coordinates and zoom value */
m_DisplayFootprint
Frame
->
Zoom_Automatique
(
false
);
m_DisplayFootprint
Frame
->
DrawPanel
->
Refresh
();
m_DisplayFootprint
Frame
->
UpdateStatusBar
();
/* Display new cursor coordinates and zoom value */
if
(
Draw
Frame
->
m_Draw3DFrame
)
Draw
Frame
->
m_Draw3DFrame
->
NewDisplay
();
if
(
m_DisplayFootprint
Frame
->
m_Draw3DFrame
)
m_DisplayFootprint
Frame
->
m_Draw3DFrame
->
NewDisplay
();
}
else
if
(
!
IsNew
)
{
Draw
Frame
->
Refresh
();
m_DisplayFootprint
Frame
->
Refresh
();
if
(
Draw
Frame
->
m_Draw3DFrame
)
Draw
Frame
->
m_Draw3DFrame
->
NewDisplay
();
if
(
m_DisplayFootprint
Frame
->
m_Draw3DFrame
)
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 )
}
else
{
if
(
m_ModuleEditFrame
->
IsIconized
()
)
m_ModuleEditFrame
->
Iconize
(
false
);
m_ModuleEditFrame
->
Raise
();
// 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 )
{
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
();
// 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 )
{
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
();
// 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