Commit 31a84b84 authored by Dick Hollenbeck's avatar Dick Hollenbeck

Add include/dialog_shim.h and common/dialog_shim.cpp for use by...

Add include/dialog_shim.h and common/dialog_shim.cpp for use by wxformbuilder's "subclass a wxDialog" support.
This works, but in my version of wxformbuilder there is a bug which does not properly show the 
subclass property, even though it is still in play.  This happens after saving then loading the *.fbp file.
So it is a nuisance bug, but does not affect functionality.
parent fda20d28
...@@ -48,6 +48,7 @@ set(COMMON_SRCS ...@@ -48,6 +48,7 @@ set(COMMON_SRCS
confirm.cpp confirm.cpp
copy_to_clipboard.cpp copy_to_clipboard.cpp
dcsvg.cpp dcsvg.cpp
dialog_shim.cpp
displlst.cpp displlst.cpp
dlist.cpp dlist.cpp
drawframe.cpp drawframe.cpp
......
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
* Copyright (C) 2012 KiCad Developers, see CHANGELOG.TXT for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you may find one here:
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
* or you may search the http://www.gnu.org website for the version 2 license,
* or you may write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <dialog_shim.h>
DIALOG_SHIM::DIALOG_SHIM( wxWindow* aParent, wxWindowID id, const wxString& title,
const wxPoint& pos, const wxSize& size, long style, const wxString& name ) :
wxDialog( aParent, id, title, pos, size, style, name )
{
// linux wxGTK needed this at one time to allow the ESCAPE key to close a wxDialog window.
SetFocus();
}
// our hashtable is an implementation secret, don't need or want it in a header file
#include <hashtables.h>
#include <base_struct.h> // EDA_RECT
#include <typeinfo>
/// hashtable with key: C string and value: EDA_RECT.
/// The key is the classname of the derived wxformbuilder dialog
WX_DECLARE_HASH_MAP( char*, EDA_RECT, wxStringHash, wxStringEqual, RECT_MAP );
static RECT_MAP class_map;
bool DIALOG_SHIM::Show( bool show )
{
bool ret;
const char* classname = typeid(*this).name();
// Show or hide the window. If hiding, save current position and size.
// If showing, use previous position and size.
if( show )
{
ret = wxDialog::Show( show );
// classname is key, returns a zeroed out default EDA_RECT if none existed before.
EDA_RECT r = class_map[ classname ];
if( r.GetSize().x != 0 && r.GetSize().y != 0 )
SetSize( r.GetPosition().x, r.GetPosition().y, r.GetSize().x, r.GetSize().y, 0 );
}
else
{
// Save the dialog's position & size before hiding, using classname as key
EDA_RECT r( wxDialog::GetPosition(), wxDialog::GetSize() );
class_map[ classname ] = r;
ret = wxDialog::Show( show );
}
return ret;
}
/*
const wxSize& DIALOG_SHIM::GetLastSize()
{
const char* classname = typeid(*this).name();
return class_map[ classname ].GetSize();
}
const wxPoint& DIALOG_SHIM::GetLastPosition()
{
const char* classname = typeid(*this).name();
return class_map[ classname ].GetPosition();
}
*/
...@@ -7,11 +7,6 @@ ...@@ -7,11 +7,6 @@
#include <dialog_lib_edit_pin.h> #include <dialog_lib_edit_pin.h>
// dialog should remember its previous screen position and size
// Not also if the defaut size is > s_LastSize, default size is used
wxPoint DIALOG_LIB_EDIT_PIN::s_LastPos( -1, -1 );
wxSize DIALOG_LIB_EDIT_PIN::s_LastSize;
DIALOG_LIB_EDIT_PIN::DIALOG_LIB_EDIT_PIN( wxWindow* parent, LIB_PIN* aPin ) : DIALOG_LIB_EDIT_PIN::DIALOG_LIB_EDIT_PIN( wxWindow* parent, LIB_PIN* aPin ) :
DIALOG_LIB_EDIT_PIN_BASE( parent ) DIALOG_LIB_EDIT_PIN_BASE( parent )
{ {
...@@ -25,31 +20,17 @@ DIALOG_LIB_EDIT_PIN::DIALOG_LIB_EDIT_PIN( wxWindow* parent, LIB_PIN* aPin ) : ...@@ -25,31 +20,17 @@ DIALOG_LIB_EDIT_PIN::DIALOG_LIB_EDIT_PIN( wxWindow* parent, LIB_PIN* aPin ) :
m_panelShowPin->SetBackgroundColour( MakeColour( g_DrawBgColor ) ); m_panelShowPin->SetBackgroundColour( MakeColour( g_DrawBgColor ) );
/* Required to make escape key work correctly in wxGTK. */
SetFocus();
// Set tab order // Set tab order
m_textPadName-> MoveAfterInTabOrder(m_textPinName); m_textPadName->MoveAfterInTabOrder(m_textPinName);
m_sdbSizerButtonsOK->SetDefault(); m_sdbSizerButtonsOK->SetDefault();
} }
DIALOG_LIB_EDIT_PIN::~DIALOG_LIB_EDIT_PIN() DIALOG_LIB_EDIT_PIN::~DIALOG_LIB_EDIT_PIN()
{ {
delete m_dummyPin; delete m_dummyPin;
} }
void DIALOG_LIB_EDIT_PIN::SetLastSizeAndPosition()
{
if( s_LastPos.x != -1 )
{
wxSize defaultSize = GetSize();
if( s_LastSize.x < defaultSize.x )
s_LastSize.x = defaultSize.x;
SetSize( s_LastSize );
SetPosition( s_LastPos );
}
else
Center();
}
/* /*
* Draw (on m_panelShowPin) the pin currently edited * Draw (on m_panelShowPin) the pin currently edited
...@@ -92,25 +73,16 @@ void DIALOG_LIB_EDIT_PIN::OnPaintShowPanel( wxPaintEvent& event ) ...@@ -92,25 +73,16 @@ void DIALOG_LIB_EDIT_PIN::OnPaintShowPanel( wxPaintEvent& event )
void DIALOG_LIB_EDIT_PIN::OnCloseDialog( wxCloseEvent& event ) void DIALOG_LIB_EDIT_PIN::OnCloseDialog( wxCloseEvent& event )
{ {
// Save the dialog's position
s_LastPos = GetPosition();
s_LastSize = GetSize();
EndModal( wxID_CANCEL ); EndModal( wxID_CANCEL );
} }
void DIALOG_LIB_EDIT_PIN::OnCancelButtonClick( wxCommandEvent& event ) void DIALOG_LIB_EDIT_PIN::OnCancelButtonClick( wxCommandEvent& event )
{ {
// Save the dialog's position
s_LastPos = GetPosition();
s_LastSize = GetSize();
EndModal( wxID_CANCEL ); EndModal( wxID_CANCEL );
} }
void DIALOG_LIB_EDIT_PIN::OnOKButtonClick( wxCommandEvent& event ) void DIALOG_LIB_EDIT_PIN::OnOKButtonClick( wxCommandEvent& event )
{ {
// Save the dialog's position
s_LastPos = GetPosition();
s_LastSize = GetSize();
EndModal( wxID_OK ); EndModal( wxID_OK );
} }
......
...@@ -13,9 +13,6 @@ ...@@ -13,9 +13,6 @@
/** Implementing DIALOG_LIB_EDIT_PIN_BASE */ /** Implementing DIALOG_LIB_EDIT_PIN_BASE */
class DIALOG_LIB_EDIT_PIN : public DIALOG_LIB_EDIT_PIN_BASE class DIALOG_LIB_EDIT_PIN : public DIALOG_LIB_EDIT_PIN_BASE
{ {
static wxSize s_LastSize; ///< last position and size
static wxPoint s_LastPos;
LIB_PIN * m_dummyPin; // a working copy used to show changes LIB_PIN * m_dummyPin; // a working copy used to show changes
public: public:
...@@ -23,7 +20,6 @@ public: ...@@ -23,7 +20,6 @@ public:
DIALOG_LIB_EDIT_PIN( wxWindow* parent, LIB_PIN* aPin ); DIALOG_LIB_EDIT_PIN( wxWindow* parent, LIB_PIN* aPin );
~DIALOG_LIB_EDIT_PIN(); ~DIALOG_LIB_EDIT_PIN();
void SetLastSizeAndPosition();
void OnCloseDialog( wxCloseEvent& event ); void OnCloseDialog( wxCloseEvent& event );
void OnCancelButtonClick( wxCommandEvent& event ); void OnCancelButtonClick( wxCommandEvent& event );
void OnOKButtonClick( wxCommandEvent& event ); void OnOKButtonClick( wxCommandEvent& event );
......
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Jun 30 2011) // C++ code generated with wxFormBuilder (version Mar 19 2012)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
#ifndef __DIALOG_LIB_EDIT_PIN_BASE_H__ #ifndef __DIALOG_LIB_EDIT_PIN_BASE_H__
#define __DIALOG_LIB_EDIT_PIN_BASE_H__ #define __DIALOG_LIB_EDIT_PIN_BASE_H__
#include <wx/artprov.h> #include <wx/artprov.h>
#include <wx/xrc/xmlres.h> #include <wx/xrc/xmlres.h>
#include <wx/intl.h> #include <wx/intl.h>
class wxBitmapComboBox; #include "wx/bmpcbox.h"
#include "dialog_shim.h"
#include <wx/string.h> #include <wx/string.h>
#include <wx/stattext.h> #include <wx/stattext.h>
#include <wx/gdicmn.h> #include <wx/gdicmn.h>
#include <wx/font.h> #include <wx/font.h>
#include <wx/colour.h> #include <wx/colour.h>
#include <wx/settings.h> #include <wx/settings.h>
#include <wx/textctrl.h> #include <wx/textctrl.h>
#include <wx/combobox.h> #include <wx/combobox.h>
#include <wx/sizer.h> #include <wx/sizer.h>
#include <wx/checkbox.h> #include <wx/checkbox.h>
#include <wx/statbox.h> #include <wx/statbox.h>
#include <wx/panel.h> #include <wx/panel.h>
#include <wx/statline.h> #include <wx/statline.h>
#include <wx/button.h> #include <wx/button.h>
#include <wx/dialog.h> #include <wx/dialog.h>
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
/// Class DIALOG_LIB_EDIT_PIN_BASE /// Class DIALOG_LIB_EDIT_PIN_BASE
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
class DIALOG_LIB_EDIT_PIN_BASE : public wxDialog class DIALOG_LIB_EDIT_PIN_BASE : public DIALOG_SHIM
{ {
private: private:
protected: protected:
enum enum
{ {
ID_M_TEXTPINNAME = 1000, ID_M_TEXTPINNAME = 1000,
ID_M_STATICTEXTPADNAME, ID_M_STATICTEXTPADNAME,
ID_M_TEXTPADNAME, ID_M_TEXTPADNAME,
ID_M_STATICTEXTNAMESIZE, ID_M_STATICTEXTNAMESIZE,
ID_M_TEXTPINNAMETEXTSIZE, ID_M_TEXTPINNAMETEXTSIZE,
ID_M_STATICNAMETEXTSIZEUNITS, ID_M_STATICNAMETEXTSIZEUNITS,
ID_M_STATICTEXTPADNAMESIZE, ID_M_STATICTEXTPADNAMESIZE,
ID_M_TEXTPADNAMETEXTSIZE, ID_M_TEXTPADNAMETEXTSIZE,
ID_M_STATICNUMBERTEXTSIZEUNITS, ID_M_STATICNUMBERTEXTSIZEUNITS,
ID_M_STATICTEXTPINLEN, ID_M_STATICTEXTPINLEN,
ID_M_TEXTLENGTH, ID_M_TEXTLENGTH,
ID_M_STATICLENGTHUNITS, ID_M_STATICLENGTHUNITS
}; };
wxStaticText* m_staticTextPinName; wxStaticText* m_staticTextPinName;
wxTextCtrl* m_textPinName; wxTextCtrl* m_textPinName;
wxStaticText* m_staticTextPadName; wxStaticText* m_staticTextPadName;
wxTextCtrl* m_textPadName; wxTextCtrl* m_textPadName;
wxStaticText* m_staticTextOrient; wxStaticText* m_staticTextOrient;
wxBitmapComboBox* m_choiceOrientation; wxBitmapComboBox* m_choiceOrientation;
wxStaticText* m_staticTextEType; wxStaticText* m_staticTextEType;
wxBitmapComboBox* m_choiceElectricalType; wxBitmapComboBox* m_choiceElectricalType;
wxStaticText* m_staticTextGstyle; wxStaticText* m_staticTextGstyle;
wxBitmapComboBox* m_choiceStyle; wxBitmapComboBox* m_choiceStyle;
wxCheckBox* m_checkApplyToAllParts; wxCheckBox* m_checkApplyToAllParts;
wxCheckBox* m_checkApplyToAllConversions; wxCheckBox* m_checkApplyToAllConversions;
wxCheckBox* m_checkShow; wxCheckBox* m_checkShow;
wxStaticText* m_staticTextNameSize; wxStaticText* m_staticTextNameSize;
wxTextCtrl* m_textPinNameTextSize; wxTextCtrl* m_textPinNameTextSize;
wxStaticText* m_staticNameTextSizeUnits; wxStaticText* m_staticNameTextSizeUnits;
wxStaticText* m_staticTextPadNameSize; wxStaticText* m_staticTextPadNameSize;
wxTextCtrl* m_textPadNameTextSize; wxTextCtrl* m_textPadNameTextSize;
wxStaticText* m_staticNumberTextSizeUnits; wxStaticText* m_staticNumberTextSizeUnits;
wxStaticText* m_staticTextPinLen; wxStaticText* m_staticTextPinLen;
wxTextCtrl* m_textLength; wxTextCtrl* m_textLength;
wxStaticText* m_staticLengthUnits; wxStaticText* m_staticLengthUnits;
wxPanel* m_panelShowPin; wxPanel* m_panelShowPin;
wxStaticLine* m_staticline1; wxStaticLine* m_staticline1;
wxStdDialogButtonSizer* m_sdbSizerButtons; wxStdDialogButtonSizer* m_sdbSizerButtons;
wxButton* m_sdbSizerButtonsOK; wxButton* m_sdbSizerButtonsOK;
wxButton* m_sdbSizerButtonsCancel; wxButton* m_sdbSizerButtonsCancel;
// Virtual event handlers, overide them in your derived class // Virtual event handlers, overide them in your derived class
virtual void OnCloseDialog( wxCloseEvent& event ) { event.Skip(); } virtual void OnCloseDialog( wxCloseEvent& event ) { event.Skip(); }
virtual void OnPropertiesChange( wxCommandEvent& event ) { event.Skip(); } virtual void OnPropertiesChange( wxCommandEvent& event ) { event.Skip(); }
virtual void OnPaintShowPanel( wxPaintEvent& event ) { event.Skip(); } virtual void OnPaintShowPanel( wxPaintEvent& event ) { event.Skip(); }
virtual void OnCancelButtonClick( wxCommandEvent& event ) { event.Skip(); } virtual void OnCancelButtonClick( wxCommandEvent& event ) { event.Skip(); }
virtual void OnOKButtonClick( wxCommandEvent& event ) { event.Skip(); } virtual void OnOKButtonClick( wxCommandEvent& event ) { event.Skip(); }
public: public:
DIALOG_LIB_EDIT_PIN_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Pin Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 476,372 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ); DIALOG_LIB_EDIT_PIN_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Pin Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
~DIALOG_LIB_EDIT_PIN_BASE(); ~DIALOG_LIB_EDIT_PIN_BASE();
}; };
#endif //__DIALOG_LIB_EDIT_PIN_BASE_H__ #endif //__DIALOG_LIB_EDIT_PIN_BASE_H__
...@@ -109,7 +109,7 @@ void LIB_EDIT_FRAME::OnEditPin( wxCommandEvent& event ) ...@@ -109,7 +109,7 @@ void LIB_EDIT_FRAME::OnEditPin( wxCommandEvent& event )
dlg.Layout(); dlg.Layout();
dlg.Fit(); dlg.Fit();
dlg.SetMinSize( dlg.GetSize() ); dlg.SetMinSize( dlg.GetSize() );
dlg.SetLastSizeAndPosition(); // dlg.SetLastSizeAndPosition(); // done in DIALOG_SHIM::Show()
if( dlg.ShowModal() == wxID_CANCEL ) if( dlg.ShowModal() == wxID_CANCEL )
{ {
...@@ -121,7 +121,7 @@ void LIB_EDIT_FRAME::OnEditPin( wxCommandEvent& event ) ...@@ -121,7 +121,7 @@ void LIB_EDIT_FRAME::OnEditPin( wxCommandEvent& event )
return; return;
} }
/* Save the pin properties to use for the next new pin. */ // Save the pin properties to use for the next new pin.
LastPinNameSize = ReturnValueFromString( g_UserUnit, dlg.GetNameTextSize(), m_internalUnits ); LastPinNameSize = ReturnValueFromString( g_UserUnit, dlg.GetNameTextSize(), m_internalUnits );
LastPinNumSize = ReturnValueFromString( g_UserUnit, dlg.GetPadNameTextSize(), m_internalUnits ); LastPinNumSize = ReturnValueFromString( g_UserUnit, dlg.GetPadNameTextSize(), m_internalUnits );
LastPinOrient = LIB_PIN::GetOrientationCode( dlg.GetOrientation() ); LastPinOrient = LIB_PIN::GetOrientationCode( dlg.GetOrientation() );
...@@ -185,7 +185,7 @@ static void AbortPinMove( EDA_DRAW_PANEL* Panel, wxDC* DC ) ...@@ -185,7 +185,7 @@ static void AbortPinMove( EDA_DRAW_PANEL* Panel, wxDC* DC )
else else
parent->RestoreComponent(); parent->RestoreComponent();
/* clear edit flags */ // clear edit flags
parent->SetDrawItem( NULL ); parent->SetDrawItem( NULL );
parent->SetLastDrawItem( NULL ); parent->SetLastDrawItem( NULL );
Panel->Refresh( true ); Panel->Refresh( true );
...@@ -258,7 +258,7 @@ another pin. Continue?" ) ); ...@@ -258,7 +258,7 @@ another pin. Continue?" ) );
m_component->AddDrawItem( m_drawItem ); m_component->AddDrawItem( m_drawItem );
} }
/* Put linked pins in new position, and clear flags */ // Put linked pins in new position, and clear flags
for( Pin = m_component->GetNextPin(); Pin != NULL; Pin = m_component->GetNextPin( Pin ) ) for( Pin = m_component->GetNextPin(); Pin != NULL; Pin = m_component->GetNextPin( Pin ) )
{ {
if( Pin->GetFlags() == 0 ) if( Pin->GetFlags() == 0 )
...@@ -292,7 +292,7 @@ void LIB_EDIT_FRAME::StartMovePin( wxDC* DC ) ...@@ -292,7 +292,7 @@ void LIB_EDIT_FRAME::StartMovePin( wxDC* DC )
TempCopyComponent(); TempCopyComponent();
/* Mark pins for moving. */ // Mark pins for moving.
Pin = m_component->GetNextPin(); Pin = m_component->GetNextPin();
for( ; Pin != NULL; Pin = m_component->GetNextPin( Pin ) ) for( ; Pin != NULL; Pin = m_component->GetNextPin( Pin ) )
...@@ -341,7 +341,7 @@ static void DrawMovePin( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aPosi ...@@ -341,7 +341,7 @@ static void DrawMovePin( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aPosi
wxPoint pinpos = CurrentPin->GetPosition(); wxPoint pinpos = CurrentPin->GetPosition();
bool showPinText = true; bool showPinText = true;
/* Erase pin in old position */ // Erase pin in old position
if( aErase ) if( aErase )
{ {
CurrentPin->SetPosition( PinPreviousPos ); CurrentPin->SetPosition( PinPreviousPos );
...@@ -349,7 +349,7 @@ static void DrawMovePin( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aPosi ...@@ -349,7 +349,7 @@ static void DrawMovePin( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aPosi
&showPinText, DefaultTransform ); &showPinText, DefaultTransform );
} }
/* Redraw pin in new position */ // Redraw pin in new position
CurrentPin->SetPosition( aPanel->GetScreen()->GetCrossHairPosition( true ) ); CurrentPin->SetPosition( aPanel->GetScreen()->GetCrossHairPosition( true ) );
CurrentPin->Draw( aPanel, aDC, wxPoint( 0, 0 ), -1, g_XorMode, &showPinText, DefaultTransform ); CurrentPin->Draw( aPanel, aDC, wxPoint( 0, 0 ), -1, g_XorMode, &showPinText, DefaultTransform );
...@@ -383,7 +383,7 @@ void LIB_EDIT_FRAME::CreatePin( wxDC* DC ) ...@@ -383,7 +383,7 @@ void LIB_EDIT_FRAME::CreatePin( wxDC* DC )
pin->SetUnit( m_unit ); pin->SetUnit( m_unit );
pin->SetConvert( m_convert ); pin->SetConvert( m_convert );
/* Flag pins to consider */ // Flag pins to consider
if( SynchronizePins() ) if( SynchronizePins() )
pin->SetFlags( IS_LINKED ); pin->SetFlags( IS_LINKED );
...@@ -430,7 +430,7 @@ void LIB_EDIT_FRAME::CreateImagePins( LIB_PIN* aPin, int aUnit, int aConvert, bo ...@@ -430,7 +430,7 @@ void LIB_EDIT_FRAME::CreateImagePins( LIB_PIN* aPin, int aUnit, int aConvert, bo
if( !SynchronizePins() ) if( !SynchronizePins() )
return; return;
/* Create "convert" pin at the current position. */ // Create "convert" pin at the current position.
if( aDeMorgan && ( aPin->GetConvert() != 0 ) ) if( aDeMorgan && ( aPin->GetConvert() != 0 ) )
{ {
NewPin = (LIB_PIN*) aPin->Clone(); NewPin = (LIB_PIN*) aPin->Clone();
...@@ -446,7 +446,7 @@ void LIB_EDIT_FRAME::CreateImagePins( LIB_PIN* aPin, int aUnit, int aConvert, bo ...@@ -446,7 +446,7 @@ void LIB_EDIT_FRAME::CreateImagePins( LIB_PIN* aPin, int aUnit, int aConvert, bo
for( ii = 1; ii <= aPin->GetParent()->GetPartCount(); ii++ ) for( ii = 1; ii <= aPin->GetParent()->GetPartCount(); ii++ )
{ {
if( ii == aUnit || aPin->GetUnit() == 0 ) if( ii == aUnit || aPin->GetUnit() == 0 )
continue; /* Pin common to all units. */ continue; // Pin common to all units.
NewPin = (LIB_PIN*) aPin->Clone(); NewPin = (LIB_PIN*) aPin->Clone();
...@@ -526,7 +526,7 @@ void LIB_EDIT_FRAME::GlobalSetPins( wxDC* DC, LIB_PIN* MasterPin, int id ) ...@@ -526,7 +526,7 @@ void LIB_EDIT_FRAME::GlobalSetPins( wxDC* DC, LIB_PIN* MasterPin, int id )
} }
/* Create a new pin based on the previous pin with an incremented pin number. */ // Create a new pin based on the previous pin with an incremented pin number.
void LIB_EDIT_FRAME::RepeatPinItem( wxDC* DC, LIB_PIN* SourcePin ) void LIB_EDIT_FRAME::RepeatPinItem( wxDC* DC, LIB_PIN* SourcePin )
{ {
LIB_PIN* Pin; LIB_PIN* Pin;
...@@ -570,7 +570,7 @@ void LIB_EDIT_FRAME::RepeatPinItem( wxDC* DC, LIB_PIN* SourcePin ) ...@@ -570,7 +570,7 @@ void LIB_EDIT_FRAME::RepeatPinItem( wxDC* DC, LIB_PIN* SourcePin )
} }
/* helper function to sort pins by pin num */ // helper function to sort pins by pin num
bool sort_by_pin_number( const LIB_PIN* ref, const LIB_PIN* tst ) bool sort_by_pin_number( const LIB_PIN* ref, const LIB_PIN* tst )
{ {
int test = ref->GetNumber() - tst->GetNumber(); int test = ref->GetNumber() - tst->GetNumber();
......
#ifndef DIALOG_SHIM_
#define DIALOG_SHIM_
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
* Copyright (C) 2012 KiCad Developers, see CHANGELOG.TXT for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you may find one here:
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
* or you may search the http://www.gnu.org website for the version 2 license,
* or you may write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <wx/dialog.h>
#include <hashtables.h>
/**
* Class DIALOG_SHIM
* may sit in the inheritance tree between wxDialog and any class written by
* wxFormBuilder. To put it there, use wxFormBuilder tool and set:
* <br> subclass name = DIALOG_SHIM
* <br> subclass header = dialog_shim.h
* <br>
* in the dialog window's properties.
**/
class DIALOG_SHIM : public wxDialog
{
public:
DIALOG_SHIM( wxWindow* aParent, wxWindowID id, const wxString& title,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_DIALOG_STYLE,
const wxString& name = wxDialogNameStr );
bool Show( bool show ); // overload wxDialog::Show
/*
const wxSize& GetLastSize();
const wxPoint& GetLastPosition();
*/
};
#endif // DIALOG_SHIM_
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment