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
96b6e1a5
Commit
96b6e1a5
authored
Jun 24, 2014
by
jean-pierre charras
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Make dialog pns properties resizable. DXF import: add very basic polyline import.
parent
95a6e8de
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
100 additions
and
126 deletions
+100
-126
draw_panel.cpp
common/draw_panel.cpp
+1
-1
dialog_pns_settings_base.cpp
pcbnew/dialogs/dialog_pns_settings_base.cpp
+4
-7
dialog_pns_settings_base.fbp
pcbnew/dialogs/dialog_pns_settings_base.fbp
+31
-112
dialog_pns_settings_base.h
pcbnew/dialogs/dialog_pns_settings_base.h
+2
-4
dxf2brd_items.cpp
pcbnew/import_dxf/dxf2brd_items.cpp
+60
-0
dxf2brd_items.h
pcbnew/import_dxf/dxf2brd_items.h
+2
-2
No files found.
common/draw_panel.cpp
View file @
96b6e1a5
...
...
@@ -128,7 +128,7 @@ EDA_DRAW_PANEL::EDA_DRAW_PANEL( EDA_DRAW_FRAME* parent, int id,
if
(
cfg
)
{
cfg
->
Read
(
ENBL_MIDDLE_BUTT_PAN_KEY
,
&
m_enableMiddleButtonPan
,
fals
e
);
cfg
->
Read
(
ENBL_MIDDLE_BUTT_PAN_KEY
,
&
m_enableMiddleButtonPan
,
tru
e
);
cfg
->
Read
(
ENBL_ZOOM_NO_CENTER_KEY
,
&
m_enableZoomNoCenter
,
false
);
cfg
->
Read
(
MIDDLE_BUTT_PAN_LIMITED_KEY
,
&
m_panScrollbarLimits
,
false
);
cfg
->
Read
(
ENBL_AUTO_PAN_KEY
,
&
m_enableAutoPan
,
true
);
...
...
pcbnew/dialogs/dialog_pns_settings_base.cpp
View file @
96b6e1a5
...
...
@@ -11,7 +11,7 @@
DIALOG_PNS_SETTINGS_BASE
::
DIALOG_PNS_SETTINGS_BASE
(
wxWindow
*
parent
,
wxWindowID
id
,
const
wxString
&
title
,
const
wxPoint
&
pos
,
const
wxSize
&
size
,
long
style
)
:
DIALOG_SHIM
(
parent
,
id
,
title
,
pos
,
size
,
style
)
{
this
->
SetSizeHints
(
wx
DefaultSize
,
wxDefaultSize
);
this
->
SetSizeHints
(
wx
Size
(
280
,
380
)
,
wxDefaultSize
);
wxBoxSizer
*
bMainSizer
;
bMainSizer
=
new
wxBoxSizer
(
wxVERTICAL
);
...
...
@@ -91,8 +91,8 @@ DIALOG_PNS_SETTINGS_BASE::DIALOG_PNS_SETTINGS_BASE( wxWindow* parent, wxWindowID
bOptions
->
Add
(
bEffort
,
0
,
wxEXPAND
,
5
);
m_staticline1
=
new
wxStaticLine
(
this
,
wxID_ANY
,
wxDefaultPosition
,
wxDefaultSize
,
wxLI_HORIZONTAL
);
b
Options
->
Add
(
m_staticline1
,
0
,
wxEXPAND
|
wxALL
,
5
);
b
MainSizer
->
Add
(
bOptions
,
1
,
wxEXPAND
|
wxALL
,
5
);
m_stdButtons
=
new
wxStdDialogButtonSizer
();
m_stdButtonsOK
=
new
wxButton
(
this
,
wxID_OK
);
...
...
@@ -101,10 +101,7 @@ DIALOG_PNS_SETTINGS_BASE::DIALOG_PNS_SETTINGS_BASE( wxWindow* parent, wxWindowID
m_stdButtons
->
AddButton
(
m_stdButtonsCancel
);
m_stdButtons
->
Realize
();
bOptions
->
Add
(
m_stdButtons
,
0
,
wxEXPAND
,
5
);
bMainSizer
->
Add
(
bOptions
,
1
,
wxEXPAND
|
wxALL
,
5
);
bMainSizer
->
Add
(
m_stdButtons
,
0
,
wxEXPAND
|
wxALL
,
5
);
this
->
SetSizer
(
bMainSizer
);
...
...
pcbnew/dialogs/dialog_pns_settings_base.fbp
View file @
96b6e1a5
...
...
@@ -41,11 +41,11 @@
<property
name=
"hidden"
>
0
</property>
<property
name=
"id"
>
wxID_ANY
</property>
<property
name=
"maximum_size"
></property>
<property
name=
"minimum_size"
></property>
<property
name=
"minimum_size"
>
280,380
</property>
<property
name=
"name"
>
DIALOG_PNS_SETTINGS_BASE
</property>
<property
name=
"pos"
></property>
<property
name=
"size"
>
2
77,404
</property>
<property
name=
"style"
>
wxDEFAULT_DIALOG_STYLE
</property>
<property
name=
"size"
>
2
98,410
</property>
<property
name=
"style"
>
wxDEFAULT_DIALOG_STYLE
|wxRESIZE_BORDER
</property>
<property
name=
"subclass"
>
DIALOG_SHIM; dialog_shim.h
</property>
<property
name=
"title"
>
Interactive Router settings
</property>
<property
name=
"tooltip"
></property>
...
...
@@ -811,11 +811,11 @@
<event
name=
"OnUpdateUI"
></event>
</object>
</object>
<object
class=
"sizeritem"
expanded=
"
0
"
>
<object
class=
"sizeritem"
expanded=
"
1
"
>
<property
name=
"border"
>
5
</property>
<property
name=
"flag"
>
wxEXPAND
</property>
<property
name=
"proportion"
>
0
</property>
<object
class=
"wxBoxSizer"
expanded=
"
0
"
>
<object
class=
"wxBoxSizer"
expanded=
"
1
"
>
<property
name=
"minimum_size"
></property>
<property
name=
"name"
>
bEffort
</property>
<property
name=
"orient"
>
wxHORIZONTAL
</property>
...
...
@@ -1221,113 +1221,32 @@
</object>
</object>
</object>
<object
class=
"sizeritem"
expanded=
"1"
>
<property
name=
"border"
>
5
</property>
<property
name=
"flag"
>
wxEXPAND | wxALL
</property>
<property
name=
"proportion"
>
0
</property>
<object
class=
"wxStaticLine"
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_layer"
></property>
<property
name=
"aui_name"
></property>
<property
name=
"aui_position"
></property>
<property
name=
"aui_row"
></property>
<property
name=
"best_size"
></property>
<property
name=
"bg"
></property>
<property
name=
"caption"
></property>
<property
name=
"caption_visible"
>
1
</property>
<property
name=
"center_pane"
>
0
</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=
"max_size"
></property>
<property
name=
"maximize_button"
>
0
</property>
<property
name=
"maximum_size"
></property>
<property
name=
"min_size"
></property>
<property
name=
"minimize_button"
>
0
</property>
<property
name=
"minimum_size"
></property>
<property
name=
"moveable"
>
1
</property>
<property
name=
"name"
>
m_staticline1
</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=
"resize"
>
Resizable
</property>
<property
name=
"show"
>
1
</property>
<property
name=
"size"
></property>
<property
name=
"style"
>
wxLI_HORIZONTAL
</property>
<property
name=
"subclass"
></property>
<property
name=
"toolbar_pane"
>
0
</property>
<property
name=
"tooltip"
></property>
<property
name=
"window_extra_style"
></property>
<property
name=
"window_name"
></property>
<property
name=
"window_style"
></property>
<event
name=
"OnChar"
></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
class=
"sizeritem"
expanded=
"1"
>
<property
name=
"border"
>
5
</property>
<property
name=
"flag"
>
wxEXPAND
</property>
<property
name=
"proportion"
>
0
</property>
<object
class=
"wxStdDialogButtonSizer"
expanded=
"1"
>
<property
name=
"Apply"
>
0
</property>
<property
name=
"Cancel"
>
1
</property>
<property
name=
"ContextHelp"
>
0
</property>
<property
name=
"Help"
>
0
</property>
<property
name=
"No"
>
0
</property>
<property
name=
"OK"
>
1
</property>
<property
name=
"Save"
>
0
</property>
<property
name=
"Yes"
>
0
</property>
<property
name=
"minimum_size"
></property>
<property
name=
"name"
>
m_stdButtons
</property>
<property
name=
"permission"
>
protected
</property>
<event
name=
"OnApplyButtonClick"
></event>
<event
name=
"OnCancelButtonClick"
>
OnCancelClick
</event>
<event
name=
"OnContextHelpButtonClick"
></event>
<event
name=
"OnHelpButtonClick"
></event>
<event
name=
"OnNoButtonClick"
></event>
<event
name=
"OnOKButtonClick"
>
OnOkClick
</event>
<event
name=
"OnSaveButtonClick"
></event>
<event
name=
"OnYesButtonClick"
></event>
</object>
</object>
</object>
</object>
<object
class=
"sizeritem"
expanded=
"1"
>
<property
name=
"border"
>
5
</property>
<property
name=
"flag"
>
wxEXPAND|wxALL
</property>
<property
name=
"proportion"
>
0
</property>
<object
class=
"wxStdDialogButtonSizer"
expanded=
"1"
>
<property
name=
"Apply"
>
0
</property>
<property
name=
"Cancel"
>
1
</property>
<property
name=
"ContextHelp"
>
0
</property>
<property
name=
"Help"
>
0
</property>
<property
name=
"No"
>
0
</property>
<property
name=
"OK"
>
1
</property>
<property
name=
"Save"
>
0
</property>
<property
name=
"Yes"
>
0
</property>
<property
name=
"minimum_size"
></property>
<property
name=
"name"
>
m_stdButtons
</property>
<property
name=
"permission"
>
protected
</property>
<event
name=
"OnApplyButtonClick"
></event>
<event
name=
"OnCancelButtonClick"
>
OnCancelClick
</event>
<event
name=
"OnContextHelpButtonClick"
></event>
<event
name=
"OnHelpButtonClick"
></event>
<event
name=
"OnNoButtonClick"
></event>
<event
name=
"OnOKButtonClick"
>
OnOkClick
</event>
<event
name=
"OnSaveButtonClick"
></event>
<event
name=
"OnYesButtonClick"
></event>
</object>
</object>
</object>
...
...
pcbnew/dialogs/dialog_pns_settings_base.h
View file @
96b6e1a5
...
...
@@ -24,9 +24,8 @@ class DIALOG_SHIM;
#include <wx/stattext.h>
#include <wx/slider.h>
#include <wx/sizer.h>
#include <wx/statline.h>
#include <wx/button.h>
#include <wx/statbox.h>
#include <wx/button.h>
#include <wx/dialog.h>
///////////////////////////////////////////////////////////////////////////
...
...
@@ -52,7 +51,6 @@ class DIALOG_PNS_SETTINGS_BASE : public DIALOG_SHIM
wxSlider
*
m_effort
;
wxStaticText
*
m_lowLabel
;
wxStaticText
*
m_highLabel
;
wxStaticLine
*
m_staticline1
;
wxStdDialogButtonSizer
*
m_stdButtons
;
wxButton
*
m_stdButtonsOK
;
wxButton
*
m_stdButtonsCancel
;
...
...
@@ -65,7 +63,7 @@ class DIALOG_PNS_SETTINGS_BASE : public DIALOG_SHIM
public
:
DIALOG_PNS_SETTINGS_BASE
(
wxWindow
*
parent
,
wxWindowID
id
=
wxID_ANY
,
const
wxString
&
title
=
_
(
"Interactive Router settings"
),
const
wxPoint
&
pos
=
wxDefaultPosition
,
const
wxSize
&
size
=
wxSize
(
2
77
,
404
),
long
style
=
wxDEFAULT_DIALOG_STYLE
);
DIALOG_PNS_SETTINGS_BASE
(
wxWindow
*
parent
,
wxWindowID
id
=
wxID_ANY
,
const
wxString
&
title
=
_
(
"Interactive Router settings"
),
const
wxPoint
&
pos
=
wxDefaultPosition
,
const
wxSize
&
size
=
wxSize
(
2
98
,
410
),
long
style
=
wxDEFAULT_DIALOG_STYLE
|
wxRESIZE_BORDER
);
~
DIALOG_PNS_SETTINGS_BASE
();
};
...
...
pcbnew/import_dxf/dxf2brd_items.cpp
View file @
96b6e1a5
...
...
@@ -134,6 +134,66 @@ void DXF2BRD_CONVERTER::addLine( const DRW_Line& data )
appendToBoard
(
segm
);
}
void
DXF2BRD_CONVERTER
::
addPolyline
(
const
DRW_Polyline
&
data
)
{
// Currently, Pcbnew does not know polylines, for boards.
// So we have to convert a polyline to a set of segments.
// Obviously, the z coordinate is ignored
wxPoint
startpoint
;
for
(
unsigned
ii
=
0
;
ii
<
data
.
vertlist
.
size
();
ii
++
)
{
DRW_Vertex
*
vertex
=
data
.
vertlist
[
ii
];
if
(
ii
==
0
)
{
startpoint
.
x
=
mapX
(
vertex
->
basePoint
.
x
);
startpoint
.
y
=
mapY
(
vertex
->
basePoint
.
y
);
continue
;
}
DRAWSEGMENT
*
segm
=
new
DRAWSEGMENT
(
m_brd
);
segm
->
SetLayer
(
m_brdLayer
);
segm
->
SetStart
(
startpoint
);
wxPoint
endpoint
(
mapX
(
vertex
->
basePoint
.
x
),
mapY
(
vertex
->
basePoint
.
y
)
);
segm
->
SetEnd
(
endpoint
);
segm
->
SetWidth
(
mapDim
(
data
.
thickness
==
0
?
m_defaultThickness
:
data
.
thickness
)
);
appendToBoard
(
segm
);
startpoint
=
endpoint
;
}
}
void
DXF2BRD_CONVERTER
::
addLWPolyline
(
const
DRW_LWPolyline
&
data
)
{
// Currently, Pcbnew does not know polylines, for boards.
// So we have to convert a polyline to a set of segments.
// The import is a simplified import: the width of segment is
// (obviously contant and is the width of the DRW_LWPolyline.
// the variable width of each vertex (when exists) is not used.
wxPoint
startpoint
;
for
(
unsigned
ii
=
0
;
ii
<
data
.
vertlist
.
size
();
ii
++
)
{
DRW_Vertex2D
*
vertex
=
data
.
vertlist
[
ii
];
if
(
ii
==
0
)
{
startpoint
.
x
=
mapX
(
vertex
->
x
);
startpoint
.
y
=
mapY
(
vertex
->
y
);
continue
;
}
DRAWSEGMENT
*
segm
=
new
DRAWSEGMENT
(
m_brd
);
segm
->
SetLayer
(
m_brdLayer
);
segm
->
SetStart
(
startpoint
);
wxPoint
endpoint
(
mapX
(
vertex
->
x
),
mapY
(
vertex
->
y
)
);
segm
->
SetEnd
(
endpoint
);
segm
->
SetWidth
(
mapDim
(
data
.
thickness
==
0
?
m_defaultThickness
:
data
.
thickness
)
);
appendToBoard
(
segm
);
startpoint
=
endpoint
;
}
}
/*
* Import Circle entities.
...
...
pcbnew/import_dxf/dxf2brd_items.h
View file @
96b6e1a5
...
...
@@ -123,9 +123,9 @@ private:
virtual
void
addCircle
(
const
DRW_Circle
&
data
);
virtual
void
addArc
(
const
DRW_Arc
&
data
);
virtual
void
addEllipse
(
const
DRW_Ellipse
&
data
){}
virtual
void
addLWPolyline
(
const
DRW_LWPolyline
&
data
)
{}
virtual
void
addLWPolyline
(
const
DRW_LWPolyline
&
data
)
;
virtual
void
addText
(
const
DRW_Text
&
data
);
virtual
void
addPolyline
(
const
DRW_Polyline
&
data
)
{}
virtual
void
addPolyline
(
const
DRW_Polyline
&
data
)
;
virtual
void
addSpline
(
const
DRW_Spline
*
data
){}
virtual
void
addKnot
(
const
DRW_Entity
&
)
{}
virtual
void
addInsert
(
const
DRW_Insert
&
data
){}
...
...
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