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
430a39d7
Commit
430a39d7
authored
Mar 01, 2011
by
Marco Mattila
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Modify pcbnew plot and zone dialogs. Policy fixes in dialog_copper_zone.
parent
1010601a
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
3766 additions
and
3673 deletions
+3766
-3673
dialog_copper_zones.cpp
pcbnew/dialogs/dialog_copper_zones.cpp
+34
-63
dialog_copper_zones.h
pcbnew/dialogs/dialog_copper_zones.h
+24
-2
dialog_copper_zones_base.cpp
pcbnew/dialogs/dialog_copper_zones_base.cpp
+247
-247
dialog_copper_zones_base.fbp
pcbnew/dialogs/dialog_copper_zones_base.fbp
+3222
-3222
dialog_copper_zones_base.h
pcbnew/dialogs/dialog_copper_zones_base.h
+126
-125
dialog_plot_base.cpp
pcbnew/dialogs/dialog_plot_base.cpp
+4
-0
dialog_plot_base.fbp
pcbnew/dialogs/dialog_plot_base.fbp
+86
-0
dialog_plot_base.h
pcbnew/dialogs/dialog_plot_base.h
+2
-0
pcbplot.cpp
pcbnew/pcbplot.cpp
+19
-12
zones_by_polygon.cpp
pcbnew/zones_by_polygon.cpp
+2
-2
No files found.
pcbnew/dialogs/dialog_copper_zones.cpp
View file @
430a39d7
...
...
@@ -24,24 +24,19 @@
#define LAYER_BITMAP_SIZE_X 20
#define LAYER_BITMAP_SIZE_Y 10
/
* the filter to show nets (default * "*").
* static to keep this pattern for an entire pcbnew session
*/
wxS
tring
dialog_copper_zone
::
m_netNameShowFilter
(
wxT
(
"*"
)
)
;
/
/ Initialize static member variables
wxString
DIALOG_COPPER_ZONE
::
m_netNameShowFilter
(
wxT
(
"*"
)
);
wxPoint
DIALOG_COPPER_ZONE
::
prevPosition
(
-
1
,
-
1
);
wxS
ize
DIALOG_COPPER_ZONE
::
prevSize
;
wxPoint
dialog_copper_zone
::
prevPosition
(
-
1
,
-
1
);
wxSize
dialog_copper_zone
::
prevSize
;
dialog_copper_zone
::
dialog_copper_zone
(
PCB_EDIT_FRAME
*
parent
,
ZONE_SETTING
*
zone_setting
)
:
dialog_copper_zone_base
(
parent
)
DIALOG_COPPER_ZONE
::
DIALOG_COPPER_ZONE
(
PCB_EDIT_FRAME
*
parent
,
ZONE_SETTING
*
zone_setting
)
:
DIALOG_COPPER_ZONE_BASE
(
parent
)
{
m_Parent
=
parent
;
m_Config
=
wxGetApp
().
m_EDA_Config
;
m_Zone_Setting
=
zone_setting
;
m_NetSortingByPadCount
=
true
;
/* false = alphabetic sort.
* true = pad count sort.
*/
m_NetSortingByPadCount
=
true
;
// false = alphabetic sort, true = pad count sort
m_OnExitCode
=
ZONE_ABORT
;
SetReturnCode
(
ZONE_ABORT
);
// Will be changed on buttons click
...
...
@@ -56,22 +51,24 @@ dialog_copper_zone::dialog_copper_zone( PCB_EDIT_FRAME* parent, ZONE_SETTING* zo
m_layerSizer
->
Add
(
m_LayerSelectionCtrl
,
1
,
wxGROW
|
wxLEFT
|
wxRIGHT
|
wxBOTTOM
,
5
);
// Fix static text widget minimum width to a suitable value so that
// resizing the dialog is not necessary when changing the corner smoothing type.
// Depends on the default text in the widget.
m_cornerSmoothingTitle
->
SetMinSize
(
m_cornerSmoothingTitle
->
GetSize
()
);
initDialog
();
GetSizer
()
->
SetSizeHints
(
this
);
Center
();
if
(
prevPosition
.
x
!=
-
1
)
SetSize
(
prevPosition
.
x
,
prevPosition
.
y
,
prevSize
.
x
,
prevSize
.
y
);
else
Center
();
}
/*****************************************************************/
void
dialog_copper_zone
::
initDialog
()
/*****************************************************************/
// Initialise all dialog options and values in wxTextCtrl
void
DIALOG_COPPER_ZONE
::
initDialog
()
{
BOARD
*
board
=
m_Parent
->
GetBoard
();
...
...
@@ -202,15 +199,13 @@ void dialog_copper_zone::initDialog()
}
/********************************************************************/
void
dialog_copper_zone
::
OnButtonCancelClick
(
wxCommandEvent
&
event
)
/********************************************************************/
void
DIALOG_COPPER_ZONE
::
OnButtonCancelClick
(
wxCommandEvent
&
event
)
{
Close
(
true
);
}
void
dialog_copper_zone
::
OnClose
(
wxCloseEvent
&
event
)
void
DIALOG_COPPER_ZONE
::
OnClose
(
wxCloseEvent
&
event
)
{
prevPosition
=
GetPosition
();
prevSize
=
GetSize
();
...
...
@@ -218,7 +213,7 @@ void dialog_copper_zone::OnClose( wxCloseEvent& event )
}
void
dialog_copper_zone
::
OnSize
(
wxSizeEvent
&
event
)
void
DIALOG_COPPER_ZONE
::
OnSize
(
wxSizeEvent
&
event
)
{
Layout
();
...
...
@@ -228,7 +223,7 @@ void dialog_copper_zone::OnSize( wxSizeEvent& event )
}
void
dialog_copper_zone
::
OnCornerSmoothingModeChoice
(
wxCommandEvent
&
event
)
void
DIALOG_COPPER_ZONE
::
OnCornerSmoothingModeChoice
(
wxCommandEvent
&
event
)
{
int
selection
=
m_cornerSmoothingChoice
->
GetSelection
();
...
...
@@ -254,16 +249,7 @@ void dialog_copper_zone::OnCornerSmoothingModeChoice( wxCommandEvent& event )
}
/********************************************************************************************/
bool
dialog_copper_zone
::
AcceptOptions
(
bool
aPromptForErrors
,
bool
aUseExportableSetupOnly
)
/********************************************************************************************/
/**
* Function AcceptOptions(
* @return false if incorrect options, true if Ok.
* @param aPromptForErrors = true to prompt user on incorrectparams
* @param aUseExportableSetupOnly = true to use exportable parametres only (used to export this setup to other zones)
*/
bool
DIALOG_COPPER_ZONE
::
AcceptOptions
(
bool
aPromptForErrors
,
bool
aUseExportableSetupOnly
)
{
switch
(
m_PadInZoneOpt
->
GetSelection
()
)
{
...
...
@@ -365,8 +351,9 @@ bool dialog_copper_zone::AcceptOptions( bool aPromptForErrors, bool aUseExportab
if
(
aUseExportableSetupOnly
)
return
true
;
/
* Get the layer selection for this zone */
/
/ Get the layer selection for this zone
int
ii
=
m_LayerSelectionCtrl
->
GetFirstSelected
();
if
(
ii
<
0
&&
aPromptForErrors
)
{
DisplayError
(
this
,
_
(
"No layer selected."
)
);
...
...
@@ -375,8 +362,9 @@ bool dialog_copper_zone::AcceptOptions( bool aPromptForErrors, bool aUseExportab
m_Zone_Setting
->
m_CurrentZone_Layer
=
m_LayerId
[
ii
];
/
* Get the net name selection for this zone */
/
/ Get the net name selection for this zone
ii
=
m_ListNetNameSelection
->
GetSelection
();
if
(
ii
<
0
&&
aPromptForErrors
)
{
DisplayError
(
this
,
_
(
"No net selected."
)
);
...
...
@@ -395,7 +383,7 @@ bool dialog_copper_zone::AcceptOptions( bool aPromptForErrors, bool aUseExportab
g_Zone_Default_Setting
.
m_NetcodeSelection
=
0
;
/
* Search net_code for this net, if a net was selected */
/
/ Search net_code for this net, if a net was selected
if
(
m_ListNetNameSelection
->
GetSelection
()
>
0
)
{
NETINFO_ITEM
*
net
=
m_Parent
->
GetBoard
()
->
FindNet
(
net_name
);
...
...
@@ -407,9 +395,7 @@ bool dialog_copper_zone::AcceptOptions( bool aPromptForErrors, bool aUseExportab
}
/***************************************************************************/
void
dialog_copper_zone
::
OnNetSortingOptionSelected
(
wxCommandEvent
&
event
)
/***************************************************************************/
void
DIALOG_COPPER_ZONE
::
OnNetSortingOptionSelected
(
wxCommandEvent
&
event
)
{
initListNetsParams
();
buildAvailableListOfNets
();
...
...
@@ -424,9 +410,7 @@ void dialog_copper_zone::OnNetSortingOptionSelected( wxCommandEvent& event )
}
/*****************************************************************/
void
dialog_copper_zone
::
OnButtonOkClick
(
wxCommandEvent
&
event
)
/*****************************************************************/
void
DIALOG_COPPER_ZONE
::
OnButtonOkClick
(
wxCommandEvent
&
event
)
{
m_netNameShowFilter
=
m_ShowNetNameFilter
->
GetValue
();
prevPosition
=
GetPosition
();
...
...
@@ -437,9 +421,7 @@ void dialog_copper_zone::OnButtonOkClick( wxCommandEvent& event )
}
/******************************************************************************/
void
dialog_copper_zone
::
ExportSetupToOtherCopperZones
(
wxCommandEvent
&
event
)
/******************************************************************************/
void
DIALOG_COPPER_ZONE
::
ExportSetupToOtherCopperZones
(
wxCommandEvent
&
event
)
{
prevPosition
=
GetPosition
();
prevSize
=
GetSize
();
...
...
@@ -460,9 +442,7 @@ void dialog_copper_zone::ExportSetupToOtherCopperZones( wxCommandEvent& event )
}
/******************************************************************/
void
dialog_copper_zone
::
OnPadsInZoneClick
(
wxCommandEvent
&
event
)
/******************************************************************/
void
DIALOG_COPPER_ZONE
::
OnPadsInZoneClick
(
wxCommandEvent
&
event
)
{
switch
(
m_PadInZoneOpt
->
GetSelection
()
)
{
...
...
@@ -479,10 +459,7 @@ void dialog_copper_zone::OnPadsInZoneClick( wxCommandEvent& event )
}
/** init m_NetSortingByPadCount and m_NetFiltering values
* according to m_NetDisplayOption selection
*/
void
dialog_copper_zone
::
initListNetsParams
()
void
DIALOG_COPPER_ZONE
::
initListNetsParams
()
{
switch
(
m_NetDisplayOption
->
GetSelection
()
)
{
...
...
@@ -509,15 +486,11 @@ void dialog_copper_zone::initListNetsParams()
}
/* Called when clicking on Apply Filter button
* Rebuild the list of nets with the currents filters settings.
* If the net display options is not a filtered option, force this option
*/
void
dialog_copper_zone
::
OnRunFiltersButtonClick
(
wxCommandEvent
&
event
)
void
DIALOG_COPPER_ZONE
::
OnRunFiltersButtonClick
(
wxCommandEvent
&
event
)
{
m_netNameShowFilter
=
m_ShowNetNameFilter
->
GetValue
();
// Ensure filtered option for nets
:
// Ensure filtered option for nets
if
(
m_NetDisplayOption
->
GetSelection
()
==
0
)
m_NetDisplayOption
->
SetSelection
(
2
);
else
if
(
m_NetDisplayOption
->
GetSelection
()
==
1
)
...
...
@@ -527,7 +500,7 @@ void dialog_copper_zone::OnRunFiltersButtonClick( wxCommandEvent& event )
}
void
dialog_copper_zone
::
buildAvailableListOfNets
()
void
DIALOG_COPPER_ZONE
::
buildAvailableListOfNets
()
{
wxArrayString
listNetName
;
...
...
@@ -577,18 +550,16 @@ void dialog_copper_zone::buildAvailableListOfNets()
}
wxBitmap
dialog_copper_zone
::
makeLayerBitmap
(
int
aColor
)
wxBitmap
DIALOG_COPPER_ZONE
::
makeLayerBitmap
(
int
aColor
)
{
wxBitmap
bitmap
(
LAYER_BITMAP_SIZE_X
,
LAYER_BITMAP_SIZE_Y
);
wxBrush
brush
;
wxMemoryDC
iconDC
;
iconDC
.
SelectObject
(
bitmap
);
brush
.
SetColour
(
MakeColour
(
aColor
)
);
brush
.
SetStyle
(
wxSOLID
);
iconDC
.
SetBrush
(
brush
);
iconDC
.
DrawRectangle
(
0
,
0
,
LAYER_BITMAP_SIZE_X
,
LAYER_BITMAP_SIZE_Y
);
return
bitmap
;
...
...
pcbnew/dialogs/dialog_copper_zones.h
View file @
430a39d7
...
...
@@ -9,7 +9,7 @@
/* here is the derivated class from dialog_copper_zone_frame created by wxFormBuilder
*/
class
dialog_copper_zone
:
public
dialog_copper_zone_base
class
DIALOG_COPPER_ZONE
:
public
DIALOG_COPPER_ZONE_BASE
{
private
:
PCB_EDIT_FRAME
*
m_Parent
;
...
...
@@ -35,21 +35,43 @@ private:
static
wxSize
prevSize
;
public
:
dialog_copper_zone
(
PCB_EDIT_FRAME
*
parent
,
ZONE_SETTING
*
zone_setting
);
DIALOG_COPPER_ZONE
(
PCB_EDIT_FRAME
*
parent
,
ZONE_SETTING
*
zone_setting
);
private
:
/** Function initDialog
* fills in the dialog controls using the current settings.
*/
void
initDialog
();
void
OnButtonOkClick
(
wxCommandEvent
&
event
);
void
OnButtonCancelClick
(
wxCommandEvent
&
event
);
void
OnClose
(
wxCloseEvent
&
event
);
void
OnSize
(
wxSizeEvent
&
event
);
void
OnCornerSmoothingModeChoice
(
wxCommandEvent
&
event
);
/**
* Function AcceptOptions
* @param aPromptForErrors is true to prompt user on incorrect params.
* @param aUseExportableSetupOnly is true to use exportable parametres only (used to export this setup to other zones).
* @return bool - false if incorrect options, true if ok.
*/
bool
AcceptOptions
(
bool
aPromptForErrors
,
bool
aUseExportableSetupOnly
=
false
);
void
OnNetSortingOptionSelected
(
wxCommandEvent
&
event
);
void
ExportSetupToOtherCopperZones
(
wxCommandEvent
&
event
);
void
OnPadsInZoneClick
(
wxCommandEvent
&
event
);
void
OnRunFiltersButtonClick
(
wxCommandEvent
&
event
);
void
buildAvailableListOfNets
();
/** Function initListNetsParams
* initializes m_NetSortingByPadCount and m_NetFiltering values
* according to m_NetDisplayOption selection.
*/
void
initListNetsParams
();
/**
* Function makeLayerBitmap
* creates the colored rectangle bitmaps used in the layer selection widget.
* @param aColor is the color to fill the rectangle with.
*/
wxBitmap
makeLayerBitmap
(
int
aColor
);
};
#endif // #ifndef DIALOG_COPPER_ZONES
pcbnew/dialogs/dialog_copper_zones_base.cpp
View file @
430a39d7
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Nov 1
7 2010)
// C++ code generated with wxFormBuilder (version Nov 1
8 2010)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
...
...
@@ -9,21 +9,21 @@
///////////////////////////////////////////////////////////////////////////
BEGIN_EVENT_TABLE
(
dialog_copper_zone_base
,
wxDialog
)
EVT_CLOSE
(
dialog_copper_zone_base
::
_wxFB_OnClose
)
EVT_SIZE
(
dialog_copper_zone_base
::
_wxFB_OnSize
)
EVT_CHOICE
(
ID_M_NETDISPLAYOPTION
,
dialog_copper_zone_base
::
_wxFB_OnNetSortingOptionSelected
)
EVT_TEXT_ENTER
(
ID_TEXTCTRL_NETNAMES_FILTER
,
dialog_copper_zone_base
::
_wxFB_OnRunFiltersButtonClick
)
EVT_TEXT_ENTER
(
ID_TEXTCTRL_NETNAMES_FILTER
,
dialog_copper_zone_base
::
_wxFB_OnRunFiltersButtonClick
)
EVT_BUTTON
(
wxID_APPLY_FILTERS
,
dialog_copper_zone_base
::
_wxFB_OnRunFiltersButtonClick
)
EVT_CHOICE
(
ID_CORNER_SMOOTHING
,
dialog_copper_zone_base
::
_wxFB_OnCornerSmoothingModeChoice
)
EVT_CHOICE
(
ID_M_PADINZONEOPT
,
dialog_copper_zone_base
::
_wxFB_OnPadsInZoneClick
)
EVT_BUTTON
(
wxID_BUTTON_EXPORT
,
dialog_copper_zone_base
::
_wxFB_ExportSetupToOtherCopperZones
)
EVT_BUTTON
(
wxID_OK
,
dialog_copper_zone_base
::
_wxFB_OnButtonOkClick
)
EVT_BUTTON
(
wxID_CANCEL
,
dialog_copper_zone_base
::
_wxFB_OnButtonCancelClick
)
BEGIN_EVENT_TABLE
(
DIALOG_COPPER_ZONE_BASE
,
wxDialog
)
EVT_CLOSE
(
DIALOG_COPPER_ZONE_BASE
::
_wxFB_OnClose
)
EVT_SIZE
(
DIALOG_COPPER_ZONE_BASE
::
_wxFB_OnSize
)
EVT_CHOICE
(
ID_M_NETDISPLAYOPTION
,
DIALOG_COPPER_ZONE_BASE
::
_wxFB_OnNetSortingOptionSelected
)
EVT_TEXT_ENTER
(
ID_TEXTCTRL_NETNAMES_FILTER
,
DIALOG_COPPER_ZONE_BASE
::
_wxFB_OnRunFiltersButtonClick
)
EVT_TEXT_ENTER
(
ID_TEXTCTRL_NETNAMES_FILTER
,
DIALOG_COPPER_ZONE_BASE
::
_wxFB_OnRunFiltersButtonClick
)
EVT_BUTTON
(
wxID_APPLY_FILTERS
,
DIALOG_COPPER_ZONE_BASE
::
_wxFB_OnRunFiltersButtonClick
)
EVT_CHOICE
(
ID_CORNER_SMOOTHING
,
DIALOG_COPPER_ZONE_BASE
::
_wxFB_OnCornerSmoothingModeChoice
)
EVT_CHOICE
(
ID_M_PADINZONEOPT
,
DIALOG_COPPER_ZONE_BASE
::
_wxFB_OnPadsInZoneClick
)
EVT_BUTTON
(
wxID_BUTTON_EXPORT
,
DIALOG_COPPER_ZONE_BASE
::
_wxFB_ExportSetupToOtherCopperZones
)
EVT_BUTTON
(
wxID_OK
,
DIALOG_COPPER_ZONE_BASE
::
_wxFB_OnButtonOkClick
)
EVT_BUTTON
(
wxID_CANCEL
,
DIALOG_COPPER_ZONE_BASE
::
_wxFB_OnButtonCancelClick
)
END_EVENT_TABLE
()
dialog_copper_zone_base
::
dialog_copper_zone_base
(
wxWindow
*
parent
,
wxWindowID
id
,
const
wxString
&
title
,
const
wxPoint
&
pos
,
const
wxSize
&
size
,
long
style
)
:
wxDialog
(
parent
,
id
,
title
,
pos
,
size
,
style
)
DIALOG_COPPER_ZONE_BASE
::
DIALOG_COPPER_ZONE_BASE
(
wxWindow
*
parent
,
wxWindowID
id
,
const
wxString
&
title
,
const
wxPoint
&
pos
,
const
wxSize
&
size
,
long
style
)
:
wxDialog
(
parent
,
id
,
title
,
pos
,
size
,
style
)
{
this
->
SetSizeHints
(
wxDefaultSize
,
wxDefaultSize
);
...
...
@@ -242,6 +242,6 @@ dialog_copper_zone_base::dialog_copper_zone_base( wxWindow* parent, wxWindowID i
this
->
Layout
();
}
dialog_copper_zone_base
::~
dialog_copper_zone_base
()
DIALOG_COPPER_ZONE_BASE
::~
DIALOG_COPPER_ZONE_BASE
()
{
}
pcbnew/dialogs/dialog_copper_zones_base.fbp
View file @
430a39d7
...
...
@@ -48,14 +48,14 @@
<property
name=
"font"
></property>
<property
name=
"gripper"
>
0
</property>
<property
name=
"hidden"
>
0
</property>
<property
name=
"id"
>
wxID_ANY
</property>
<property
name=
"id"
>
ID_DIALOG_COPPER_ZONE_BASE
</property>
<property
name=
"layer"
></property>
<property
name=
"maximize_button"
>
0
</property>
<property
name=
"maximum_size"
></property>
<property
name=
"minimize_button"
>
0
</property>
<property
name=
"minimum_size"
></property>
<property
name=
"moveable"
>
1
</property>
<property
name=
"name"
>
dialog_copper_zone_base
</property>
<property
name=
"name"
>
DIALOG_COPPER_ZONE_BASE
</property>
<property
name=
"pane_border"
>
1
</property>
<property
name=
"pane_position"
></property>
<property
name=
"pane_size"
></property>
...
...
pcbnew/dialogs/dialog_copper_zones_base.h
View file @
430a39d7
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Nov 1
7 2010)
// C++ code generated with wxFormBuilder (version Nov 1
8 2010)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
...
...
@@ -27,9 +27,9 @@
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
/// Class
dialog_copper_zone_base
/// Class
DIALOG_COPPER_ZONE_BASE
///////////////////////////////////////////////////////////////////////////////
class
dialog_copper_zone_base
:
public
wxDialog
class
DIALOG_COPPER_ZONE_BASE
:
public
wxDialog
{
DECLARE_EVENT_TABLE
()
private
:
...
...
@@ -49,7 +49,8 @@ class dialog_copper_zone_base : public wxDialog
protected
:
enum
{
ID_NETNAME_SELECTION
=
1000
,
ID_DIALOG_COPPER_ZONE_BASE
=
1000
,
ID_NETNAME_SELECTION
,
ID_M_NETDISPLAYOPTION
,
ID_TEXTCTRL_NETNAMES_FILTER
,
wxID_APPLY_FILTERS
,
...
...
@@ -117,8 +118,8 @@ class dialog_copper_zone_base : public wxDialog
public
:
dialog_copper_zone_base
(
wxWindow
*
parent
,
wxWindowID
id
=
wxID_ANY
,
const
wxString
&
title
=
_
(
"Zone Properties"
),
const
wxPoint
&
pos
=
wxDefaultPosition
,
const
wxSize
&
size
=
wxSize
(
550
,
500
),
long
style
=
wxDEFAULT_DIALOG_STYLE
|
wxRESIZE_BORDER
);
~
dialog_copper_zone_base
();
DIALOG_COPPER_ZONE_BASE
(
wxWindow
*
parent
,
wxWindowID
id
=
ID_DIALOG_COPPER_ZONE_BASE
,
const
wxString
&
title
=
_
(
"Zone Properties"
),
const
wxPoint
&
pos
=
wxDefaultPosition
,
const
wxSize
&
size
=
wxSize
(
550
,
500
),
long
style
=
wxDEFAULT_DIALOG_STYLE
|
wxRESIZE_BORDER
);
~
DIALOG_COPPER_ZONE_BASE
();
};
...
...
pcbnew/dialogs/dialog_plot_base.cpp
View file @
430a39d7
...
...
@@ -65,6 +65,10 @@ DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxStr
m_LayersSizer
=
new
wxStaticBoxSizer
(
new
wxStaticBox
(
this
,
wxID_ANY
,
_
(
"Layers"
)
),
wxHORIZONTAL
);
wxArrayString
m_layerCheckListBoxChoices
;
m_layerCheckListBox
=
new
wxCheckListBox
(
this
,
wxID_ANY
,
wxDefaultPosition
,
wxDefaultSize
,
m_layerCheckListBoxChoices
,
0
);
m_LayersSizer
->
Add
(
m_layerCheckListBox
,
1
,
wxALL
|
wxEXPAND
,
5
);
bUpperSizer
->
Add
(
m_LayersSizer
,
1
,
wxALL
|
wxEXPAND
,
3
);
m_PlotOptionsSizer
=
new
wxBoxSizer
(
wxVERTICAL
);
...
...
pcbnew/dialogs/dialog_plot_base.fbp
View file @
430a39d7
...
...
@@ -612,6 +612,92 @@
<property
name=
"orient"
>
wxHORIZONTAL
</property>
<property
name=
"permission"
>
protected
</property>
<event
name=
"OnUpdateUI"
></event>
<object
class=
"sizeritem"
expanded=
"1"
>
<property
name=
"border"
>
5
</property>
<property
name=
"flag"
>
wxALL|wxEXPAND
</property>
<property
name=
"proportion"
>
1
</property>
<object
class=
"wxCheckListBox"
expanded=
"1"
>
<property
name=
"BottomDockable"
>
1
</property>
<property
name=
"LeftDockable"
>
1
</property>
<property
name=
"RightDockable"
>
1
</property>
<property
name=
"TopDockable"
>
1
</property>
<property
name=
"aui_name"
></property>
<property
name=
"bg"
></property>
<property
name=
"caption"
></property>
<property
name=
"caption_visible"
>
1
</property>
<property
name=
"center_pane"
>
0
</property>
<property
name=
"choices"
></property>
<property
name=
"close_button"
>
1
</property>
<property
name=
"context_help"
></property>
<property
name=
"context_menu"
>
1
</property>
<property
name=
"default_pane"
>
0
</property>
<property
name=
"dock"
>
Dock
</property>
<property
name=
"dock_fixed"
>
0
</property>
<property
name=
"docking"
>
Left
</property>
<property
name=
"enabled"
>
1
</property>
<property
name=
"fg"
></property>
<property
name=
"floatable"
>
1
</property>
<property
name=
"font"
></property>
<property
name=
"gripper"
>
0
</property>
<property
name=
"hidden"
>
0
</property>
<property
name=
"id"
>
wxID_ANY
</property>
<property
name=
"layer"
></property>
<property
name=
"maximize_button"
>
0
</property>
<property
name=
"maximum_size"
></property>
<property
name=
"minimize_button"
>
0
</property>
<property
name=
"minimum_size"
></property>
<property
name=
"moveable"
>
1
</property>
<property
name=
"name"
>
m_layerCheckListBox
</property>
<property
name=
"pane_border"
>
1
</property>
<property
name=
"pane_position"
></property>
<property
name=
"pane_size"
></property>
<property
name=
"permission"
>
protected
</property>
<property
name=
"pin_button"
>
1
</property>
<property
name=
"pos"
></property>
<property
name=
"position"
></property>
<property
name=
"resize"
>
Resizable
</property>
<property
name=
"row"
></property>
<property
name=
"show"
>
1
</property>
<property
name=
"size"
></property>
<property
name=
"style"
></property>
<property
name=
"subclass"
></property>
<property
name=
"toolbar_pane"
>
0
</property>
<property
name=
"tooltip"
></property>
<property
name=
"validator_data_type"
></property>
<property
name=
"validator_style"
>
wxFILTER_NONE
</property>
<property
name=
"validator_type"
>
wxDefaultValidator
</property>
<property
name=
"validator_variable"
></property>
<property
name=
"window_extra_style"
></property>
<property
name=
"window_name"
></property>
<property
name=
"window_style"
></property>
<event
name=
"OnChar"
></event>
<event
name=
"OnCheckListBox"
></event>
<event
name=
"OnCheckListBoxDClick"
></event>
<event
name=
"OnCheckListBoxToggled"
></event>
<event
name=
"OnEnterWindow"
></event>
<event
name=
"OnEraseBackground"
></event>
<event
name=
"OnKeyDown"
></event>
<event
name=
"OnKeyUp"
></event>
<event
name=
"OnKillFocus"
></event>
<event
name=
"OnLeaveWindow"
></event>
<event
name=
"OnLeftDClick"
></event>
<event
name=
"OnLeftDown"
></event>
<event
name=
"OnLeftUp"
></event>
<event
name=
"OnMiddleDClick"
></event>
<event
name=
"OnMiddleDown"
></event>
<event
name=
"OnMiddleUp"
></event>
<event
name=
"OnMotion"
></event>
<event
name=
"OnMouseEvents"
></event>
<event
name=
"OnMouseWheel"
></event>
<event
name=
"OnPaint"
></event>
<event
name=
"OnRightDClick"
></event>
<event
name=
"OnRightDown"
></event>
<event
name=
"OnRightUp"
></event>
<event
name=
"OnSetFocus"
></event>
<event
name=
"OnSize"
></event>
<event
name=
"OnUpdateUI"
></event>
</object>
</object>
</object>
</object>
<object
class=
"sizeritem"
expanded=
"1"
>
...
...
pcbnew/dialogs/dialog_plot_base.h
View file @
430a39d7
...
...
@@ -20,6 +20,7 @@
#include <wx/sizer.h>
#include <wx/textctrl.h>
#include <wx/button.h>
#include <wx/checklst.h>
#include <wx/statbox.h>
#include <wx/checkbox.h>
#include <wx/dialog.h>
...
...
@@ -49,6 +50,7 @@ class DIALOG_PLOT_BASE : public wxDialog
wxTextCtrl
*
m_outputDirectoryName
;
wxButton
*
m_browseButton
;
wxStaticBoxSizer
*
m_LayersSizer
;
wxCheckListBox
*
m_layerCheckListBox
;
wxBoxSizer
*
m_PlotOptionsSizer
;
wxCheckBox
*
m_plotSheetRef
;
wxCheckBox
*
m_plotPads_on_Silkscreen
;
...
...
pcbnew/pcbplot.cpp
View file @
430a39d7
...
...
@@ -54,15 +54,16 @@ static bool setDouble( double* aDouble, double aValue, double aMin, double aMax
class
DIALOG_PLOT
:
public
DIALOG_PLOT_BASE
{
p
ublic
:
p
rivate
:
PCB_EDIT_FRAME
*
m_Parent
;
wxConfig
*
m_Config
;
std
::
vector
<
int
>
layerList
;
// List to hold CheckListBox layer numbers
wxCheckListBox
*
layerCheckListBox
;
double
m_XScaleAdjust
;
double
m_YScaleAdjust
;
public
:
DIALOG_PLOT
(
PCB_EDIT_FRAME
*
parent
);
static
wxPoint
prevPosition
;
// Dialog position & size
static
wxSize
prevSize
;
public
:
DIALOG_PLOT
(
PCB_EDIT_FRAME
*
parent
);
private
:
void
Init_Dialog
();
void
Plot
(
wxCommandEvent
&
event
);
...
...
@@ -75,6 +76,9 @@ private:
void
CreateDrillFile
(
wxCommandEvent
&
event
);
};
wxPoint
DIALOG_PLOT
::
prevPosition
(
-
1
,
-
1
);
wxSize
DIALOG_PLOT
::
prevSize
;
const
int
UNITS_MILS
=
1000
;
...
...
@@ -84,15 +88,16 @@ DIALOG_PLOT::DIALOG_PLOT( PCB_EDIT_FRAME* parent ) :
m_Parent
=
parent
;
m_Config
=
wxGetApp
().
m_EDA_Config
;
layerCheckListBox
=
new
wxCheckListBox
(
this
,
wxID_ANY
);
m_LayersSizer
->
Add
(
layerCheckListBox
,
0
,
wxGROW
|
wxALL
,
1
);
Init_Dialog
();
GetSizer
()
->
Fit
(
this
);
GetSizer
()
->
SetSizeHints
(
this
);
Centre
();
if
(
prevPosition
.
x
!=
-
1
)
SetSize
(
prevPosition
.
x
,
prevPosition
.
y
,
prevSize
.
x
,
prevSize
.
y
);
else
Center
();
}
...
...
@@ -157,10 +162,10 @@ void DIALOG_PLOT::Init_Dialog()
continue
;
layerList
.
push_back
(
layer
);
checkIndex
=
layerCheckListBox
->
Append
(
board
->
GetLayerName
(
layer
)
);
checkIndex
=
m_
layerCheckListBox
->
Append
(
board
->
GetLayerName
(
layer
)
);
if
(
g_PcbPlotOptions
.
GetLayerSelection
()
&
(
1
<<
layer
)
)
layerCheckListBox
->
Check
(
checkIndex
);
m_
layerCheckListBox
->
Check
(
checkIndex
);
}
// Option for using proper Gerber extensions
...
...
@@ -227,6 +232,8 @@ void DIALOG_PLOT::OnQuit( wxCommandEvent& event )
void
DIALOG_PLOT
::
OnClose
(
wxCloseEvent
&
event
)
{
prevPosition
=
GetPosition
();
prevSize
=
GetSize
();
applyPlotSettings
();
EndModal
(
0
);
}
...
...
@@ -509,7 +516,7 @@ void DIALOG_PLOT::applyPlotSettings()
unsigned
int
i
;
for
(
i
=
0
;
i
<
layerList
.
size
();
i
++
)
{
if
(
layerCheckListBox
->
IsChecked
(
i
)
)
if
(
m_
layerCheckListBox
->
IsChecked
(
i
)
)
selectedLayers
|=
(
1
<<
layerList
[
i
]);
}
tempOptions
.
SetLayerSelection
(
selectedLayers
);
...
...
pcbnew/zones_by_polygon.cpp
View file @
430a39d7
...
...
@@ -520,7 +520,7 @@ int PCB_EDIT_FRAME::Begin_Zone( wxDC* DC )
&
g_Zone_Default_Setting
.
m_ThermalReliefCopperBridgeValue
);
g_Zone_Default_Setting
.
m_CurrentZone_Layer
=
zone
->
GetLayer
();
dialog_copper_zone
*
frame
=
new
dialog_copper_zone
(
this
,
&
g_Zone_Default_Setting
);
DIALOG_COPPER_ZONE
*
frame
=
new
DIALOG_COPPER_ZONE
(
this
,
&
g_Zone_Default_Setting
);
diag
=
frame
->
ShowModal
();
frame
->
Destroy
();
}
...
...
@@ -780,7 +780,7 @@ void PCB_EDIT_FRAME::Edit_Zone_Params( wxDC* DC, ZONE_CONTAINER* zone_container
if
(
zone_container
->
GetLayer
()
<
FIRST_NO_COPPER_LAYER
)
{
// edit a zone on a copper layer
g_Zone_Default_Setting
.
ImportSetting
(
*
zone_container
);
dialog_copper_zone
*
frame
=
new
dialog_copper_zone
(
this
,
&
g_Zone_Default_Setting
);
DIALOG_COPPER_ZONE
*
frame
=
new
DIALOG_COPPER_ZONE
(
this
,
&
g_Zone_Default_Setting
);
diag
=
frame
->
ShowModal
();
frame
->
Destroy
();
}
...
...
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