Make dialog pns properties resizable. DXF import: add very basic polyline import.
This commit is contained in:
parent
95a6e8deb2
commit
96b6e1a5cb
|
@ -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, false );
|
||||
cfg->Read( ENBL_MIDDLE_BUTT_PAN_KEY, &m_enableMiddleButtonPan, true );
|
||||
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 );
|
||||
|
|
|
@ -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( wxDefaultSize, wxDefaultSize );
|
||||
this->SetSizeHints( wxSize( 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 );
|
||||
bOptions->Add( m_staticline1, 0, wxEXPAND | wxALL, 5 );
|
||||
|
||||
bMainSizer->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 );
|
||||
|
|
|
@ -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">277,404</property>
|
||||
<property name="style">wxDEFAULT_DIALOG_STYLE</property>
|
||||
<property name="size">298,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,91 +1221,12 @@
|
|||
</object>
|
||||
</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="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>
|
||||
|
@ -1331,6 +1252,4 @@
|
|||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</wxFormBuilder_Project>
|
||||
|
|
|
@ -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( 277,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( 298,410 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
|
||||
~DIALOG_PNS_SETTINGS_BASE();
|
||||
|
||||
};
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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 ){}
|
||||
|
|
Loading…
Reference in New Issue