Commit 96b6e1a5 authored by jean-pierre charras's avatar jean-pierre charras
Browse files

Make dialog pns properties resizable. DXF import: add very basic polyline import.

parent 95a6e8de
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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 );
+4 −7
Original line number Diff line number Diff line
@@ -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 );
+31 −112
Original line number Diff line number Diff line
@@ -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,90 +1221,11 @@
                                </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="flag">wxEXPAND|wxALL</property>
                    <property name="proportion">0</property>
                    <object class="wxStdDialogButtonSizer" expanded="1">
                        <property name="Apply">0</property>
@@ -1331,6 +1252,4 @@
            </object>
        </object>
    </object>
        </object>
    </object>
</wxFormBuilder_Project>
+2 −4
Original line number Diff line number Diff line
@@ -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();
	
};
+60 −0
Original line number Diff line number Diff line
@@ -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.
Loading