diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 00330f5c34..ccbdcb0623 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -4,6 +4,13 @@ KiCad ChangeLog 2009 Please add newer entries at the top, list the date and your name with email address. +2009-apr-07 UPDATE Jean-Pierre Charras +================================================================================ +++pcbnew: + fixed: bug 2738052 (Delete tool does not delete zones outlines) +++eeschema: + fixed: void history file list in menu + 2009-apr-06 UPDATE Jean-Pierre Charras ================================================================================ ++common: diff --git a/common/eda_doc.cpp b/common/eda_doc.cpp index c9e537e737..f1bc8734de 100644 --- a/common/eda_doc.cpp +++ b/common/eda_doc.cpp @@ -86,7 +86,7 @@ bool GetAssociatedDocument( wxFrame* frame, const wxString& LibPath, */ { wxString docpath, fullfilename, file_ext; - wxString Line; + wxString msg; wxString command; bool success = FALSE; @@ -143,8 +143,9 @@ bool GetAssociatedDocument( wxFrame* frame, const wxString& LibPath, if( !wxFileExists( fullfilename ) ) { - Line = _( "Doc File " ) + fullfilename + _( " not found" ); - DisplayError( frame, Line ); + msg = _( "Doc File " ); + msg << wxT("\"") << fullfilename << wxT("\"") << _( " not found" ); + DisplayError( frame, msg ); return FALSE; } @@ -183,9 +184,9 @@ bool GetAssociatedDocument( wxFrame* frame, const wxString& LibPath, if( !success ) { - Line.Printf( _( "Unknown MIME type for doc file <%s>" ), + msg.Printf( _( "Unknown MIME type for doc file <%s>" ), fullfilename.GetData() ); - DisplayError( frame, Line ); + DisplayError( frame, msg ); } return success; diff --git a/common/edaappl.cpp b/common/edaappl.cpp index 25958492f8..efe8ef1e09 100644 --- a/common/edaappl.cpp +++ b/common/edaappl.cpp @@ -585,7 +585,7 @@ void WinEDA_App::GetSettings() { wxASSERT( m_EDA_Config != NULL && m_EDA_CommonConfig != NULL ); - wxString Line, entry; + wxString Line; unsigned ii; m_HelpSize.x = 500; @@ -599,27 +599,6 @@ void WinEDA_App::GetSettings() m_fileHistory.Load( *m_EDA_Config ); - /* Load the last file history settings from legacy version if this is the - * first time wxFileHistory was used to manage the file history. */ - if( m_fileHistory.GetCount() == (size_t) 0 ) - { - for( ii = 0; ii < (unsigned) m_fileHistory.GetMaxFiles(); ii++ ) - { - entry = wxT( "LastProject" ); - if( ii != 0 ) - entry << ii; - - if( m_EDA_Config->Read( entry, &Line ) ) - { - if( Line != wxEmptyString && wxFileName::FileExists( Line ) ) - m_fileHistory.AddFileToHistory( Line ); - else - m_EDA_Config->Write( entry, wxEmptyString ); - Line = wxEmptyString; - } - } - } - /* Set default font sizes */ g_StdFontPointSize = m_EDA_Config->Read( wxT( "SdtFontSize" ), FONT_DEFAULT_SIZE ); diff --git a/eeschema/eeschema.cpp b/eeschema/eeschema.cpp index c31b83670c..a4e809ee59 100644 --- a/eeschema/eeschema.cpp +++ b/eeschema/eeschema.cpp @@ -161,6 +161,7 @@ bool WinEDA_App::OnInit() /* init EESCHEMA */ SeedLayers(); + GetSettings(); extern PARAM_CFG_BASE* ParamCfgList[]; wxGetApp().ReadCurrentSetupValues( ParamCfgList ); Read_Hotkey_Config( frame, false ); /* Must be called before creating diff --git a/eeschema/schedit.cpp b/eeschema/schedit.cpp index 12a3b4723b..2734f2fc58 100644 --- a/eeschema/schedit.cpp +++ b/eeschema/schedit.cpp @@ -616,12 +616,14 @@ void WinEDA_SchematicFrame::Process_Special_Functions( wxCommandEvent& event ) EDA_LibComponentStruct* LibEntry; LibEntry = FindLibPart( ( (SCH_COMPONENT*) screen->GetCurItem() )->m_ChipName.GetData(), - wxEmptyString, - FIND_ALIAS ); + wxEmptyString, FIND_ALIAS ); if( LibEntry && LibEntry->m_DocFile != wxEmptyString ) + { +wxMessageBox(g_RealLibDirBuffer, LibEntry->m_DocFile); GetAssociatedDocument( this, g_RealLibDirBuffer, LibEntry->m_DocFile ); + } } break; diff --git a/include/wxstruct.h b/include/wxstruct.h index 5a526cd6f3..98dd97dbc6 100644 --- a/include/wxstruct.h +++ b/include/wxstruct.h @@ -19,19 +19,19 @@ //C++ guarantees that operator delete checks its argument for null-ness #ifndef SAFE_DELETE -#define SAFE_DELETE(p) delete (p); (p) = NULL; +#define SAFE_DELETE( p ) delete (p); (p) = NULL; #endif -#define INTERNAL_UNIT_TYPE 0 // Internal unit = inch +#define INTERNAL_UNIT_TYPE 0 // Internal unit = inch #ifndef EESCHEMA_INTERNAL_UNIT -#define EESCHEMA_INTERNAL_UNIT 1000 +#define EESCHEMA_INTERNAL_UNIT 1000 #endif // Option for dialog boxes // #define DIALOG_STYLE wxDEFAULT_DIALOG_STYLE|wxFRAME_FLOAT_ON_PARENT|wxSTAY_ON_TOP #define DIALOG_STYLE wxDEFAULT_DIALOG_STYLE | wxFRAME_FLOAT_ON_PARENT | \ - MAYBE_RESIZE_BORDER + MAYBE_RESIZE_BORDER #define KICAD_DEFAULT_DRAWFRAME_STYLE wxDEFAULT_FRAME_STYLE | wxWANTS_CHARS @@ -72,15 +72,15 @@ enum id_toolbar { TOOLBAR_MAIN = 1, // Main horizontal Toolbar TOOLBAR_TOOL, // Rigth vertical Toolbar (list of tools) TOOLBAR_OPTION, // Left vertical Toolbar (option toolbar - TOOLBAR_AUX // Secondary horizontal Toolbar + TOOLBAR_AUX // Secondary horizontal Toolbar }; -/**********************/ -/* Classes pour WXWIN */ -/**********************/ +/***********************************************/ +/* Classes for basic main frames used in kicad */ +/***********************************************/ -#define MSG_PANEL_DEFAULT_HEIGHT ( 28 ) // height of the infos display window +#define MSG_PANEL_DEFAULT_HEIGHT ( 28 ) // height of the infos display window /******************************************************************/ @@ -108,33 +108,33 @@ public: WinEDA_BasicFrame( wxWindow* father, int idtype, const wxString& title, const wxPoint& pos, const wxSize& size, - long style = KICAD_DEFAULT_DRAWFRAME_STYLE); + long style = KICAD_DEFAULT_DRAWFRAME_STYLE ); #ifdef KICAD_PYTHON WinEDA_BasicFrame( const WinEDA_BasicFrame& ) { } // Should throw!! WinEDA_BasicFrame() { } // Should throw!! #endif ~WinEDA_BasicFrame(); - void GetKicadHelp( wxCommandEvent& event ); - void GetKicadAbout( wxCommandEvent& event ); - void PrintMsg( const wxString& text ); + void GetKicadHelp( wxCommandEvent& event ); + void GetKicadAbout( wxCommandEvent& event ); + void PrintMsg( const wxString& text ); - virtual void LoadSettings(); - virtual void SaveSettings(); + virtual void LoadSettings(); + virtual void SaveSettings(); - int WriteHotkeyConfigFile( const wxString& Filename, - struct Ki_HotkeyInfoSectionDescriptor* DescList, - bool verbose ); - int ReadHotkeyConfigFile( const wxString& Filename, - struct Ki_HotkeyInfoSectionDescriptor* DescList, - bool verbose ); - void SetLanguage( wxCommandEvent& event ); - void ProcessFontPreferences( int id ); + int WriteHotkeyConfigFile( const wxString& Filename, + struct Ki_HotkeyInfoSectionDescriptor* DescList, + bool verbose ); + int ReadHotkeyConfigFile( const wxString& Filename, + struct Ki_HotkeyInfoSectionDescriptor* DescList, + bool verbose ); + void SetLanguage( wxCommandEvent& event ); + void ProcessFontPreferences( int id ); - wxString GetFileFromHistory( int cmdId, const wxString& type ); - void SetLastProject( const wxString& FullFileName ); - void DisplayActivity( int PerCent, const wxString& Text ); - virtual void ReCreateMenuBar(); + wxString GetFileFromHistory( int cmdId, const wxString& type ); + void SetLastProject( const wxString& FullFileName ); + void DisplayActivity( int PerCent, const wxString& Text ); + virtual void ReCreateMenuBar(); }; @@ -146,7 +146,7 @@ class WinEDA_DrawFrame : public WinEDA_BasicFrame { public: WinEDA_DrawPanel* DrawPanel; // Draw area - WinEDA_MsgPanel* MsgPanel; // Zone d'affichage de caracteristiques + WinEDA_MsgPanel* MsgPanel; // Panel used to display some info (bottom of the screen) WinEDA_Toolbar* m_VToolBar; // Vertical (right side) Toolbar WinEDA_Toolbar* m_AuxVToolBar; // Auxiliary Vertical (right side) Toolbar WinEDA_Toolbar* m_OptionsToolBar; // Options Toolbar (left side) @@ -155,26 +155,26 @@ public: WinEDAChoiceBox* m_SelGridBox; // Dialog box to choose the grid size WinEDAChoiceBox* m_SelZoomBox; // Dialog box to choose the Zoom value - int m_CursorShape; // shape for cursor (0 = default cursor) - int m_ID_current_state; // Id of active button on the vertical toolbar - int m_HTOOL_current_state; // Id of active button on horizontal toolbar + int m_CursorShape; // shape for cursor (0 = default cursor) + int m_ID_current_state; // Id of active button on the vertical toolbar + int m_HTOOL_current_state; // Id of active button on horizontal toolbar - int m_InternalUnits; // nombre d'unites internes pour 1 pouce - // = 1000 pour schema, = 10000 pour PCB + int m_InternalUnits; // Internal units count in 1 inch + // = 1000 for eeschema, = 10000 for PCBnew and Gerbview - int m_UnitType; // Internal Unit type (0 = inch) - bool m_Draw_Axis; // TRUE pour avoir les axes dessines - bool m_Draw_Grid; // TRUE pour avoir la grille dessinee - bool m_Draw_Sheet_Ref; // TRUE pour avoir le cartouche dessin� + int m_UnitType; // Internal Unit type (0 = inch) + bool m_Draw_Axis; // TRUE to show X and Y axis + bool m_Draw_Grid; // TRUE to show the grid + bool m_Draw_Sheet_Ref; // TRUE to show frame references - bool m_Print_Sheet_Ref; // TRUE pour avoir le cartouche imprim� - bool m_Draw_Auxiliary_Axis; // TRUE pour avoir les axes auxiliaires dessines - wxPoint m_Auxiliary_Axis_Position; /* origine de l'axe auxiliaire (app: - * dans la generation les fichiers de positionnement - * des composants) */ + bool m_Print_Sheet_Ref; // TRUE to print frame references + bool m_Draw_Auxiliary_Axis; /* TRUE to show auxiliary axis. Used in pcbnew: + * the auxiliary axis is the origin of coordinates for drill, gerber and component position files + */ + wxPoint m_Auxiliary_Axis_Position; /* position of the auxiliary axis */ private: - BASE_SCREEN* m_CurrentScreen; ///< current used SCREEN + BASE_SCREEN* m_CurrentScreen; ///< current used SCREEN protected: void SetBaseScreen( BASE_SCREEN* aScreen ) { m_CurrentScreen = aScreen; } @@ -189,66 +189,66 @@ public: ~WinEDA_DrawFrame(); - virtual wxString GetScreenDesc(); + virtual wxString GetScreenDesc(); /** * Function GetBaseScreen * is virtual and returns a pointer to a BASE_SCREEN or one of its derivatives. * It may be overloaded by derived classes. */ - virtual BASE_SCREEN* GetBaseScreen() const { return m_CurrentScreen; } + virtual BASE_SCREEN* GetBaseScreen() const { return m_CurrentScreen; } - void OnMenuOpen( wxMenuEvent& event ); - void OnMouseEvent( wxMouseEvent& event ); - virtual void OnHotKey( wxDC* DC, int hotkey, EDA_BaseStruct* DrawStruct ); - void AddFontSelectionMenu( wxMenu* main_menu ); - void ProcessFontPreferences( wxCommandEvent& event ); + void OnMenuOpen( wxMenuEvent& event ); + void OnMouseEvent( wxMouseEvent& event ); + virtual void OnHotKey( wxDC* DC, int hotkey, EDA_BaseStruct* DrawStruct ); + void AddFontSelectionMenu( wxMenu* main_menu ); + void ProcessFontPreferences( wxCommandEvent& event ); - void Affiche_Message( const wxString& message ); - void EraseMsgBox(); - void Process_PageSettings( wxCommandEvent& event ); - void SetDrawBgColor( int color_num ); - virtual void SetToolbars(); - void SetLanguage( wxCommandEvent& event ); - virtual void ReCreateHToolbar() = 0; - virtual void ReCreateVToolbar() = 0; - virtual void ReCreateMenuBar(); - virtual void ReCreateAuxiliaryToolbar(); - virtual void SetToolID( int id, int new_cursor_id, - const wxString& title ); + void Affiche_Message( const wxString& message ); + void EraseMsgBox(); + void Process_PageSettings( wxCommandEvent& event ); + void SetDrawBgColor( int color_num ); + virtual void SetToolbars(); + void SetLanguage( wxCommandEvent& event ); + virtual void ReCreateHToolbar() = 0; + virtual void ReCreateVToolbar() = 0; + virtual void ReCreateMenuBar(); + virtual void ReCreateAuxiliaryToolbar(); + virtual void SetToolID( int id, int new_cursor_id, + const wxString& title ); - virtual void OnSelectGrid( wxCommandEvent& event ); - virtual void OnSelectZoom( wxCommandEvent& event ); + virtual void OnSelectGrid( wxCommandEvent& event ); + virtual void OnSelectZoom( wxCommandEvent& event ); - virtual void GeneralControle( wxDC* DC, wxPoint Mouse ){ /* dummy */ } - virtual void OnSize( wxSizeEvent& event ); - void OnEraseBackground( wxEraseEvent& SizeEvent ); + virtual void GeneralControle( wxDC* DC, wxPoint Mouse ) { /* dummy */ } + virtual void OnSize( wxSizeEvent& event ); + void OnEraseBackground( wxEraseEvent& SizeEvent ); // void OnChar(wxKeyEvent& event); - void SetToolbarBgColor( int color_num ); - virtual void OnZoom( wxCommandEvent& event ); - void OnGrid( int grid_type ); - void Recadre_Trace( bool ToMouse ); - void PutOnGrid( wxPoint* coord ); /* set the coordiante "coord" to the nearest grid coordinate */ - void Zoom_Automatique( bool move_mouse_cursor ); + void SetToolbarBgColor( int color_num ); + virtual void OnZoom( wxCommandEvent& event ); + void OnGrid( int grid_type ); + void Recadre_Trace( bool ToMouse ); + void PutOnGrid( wxPoint* coord ); /* set the coordiante "coord" to the nearest grid coordinate */ + void Zoom_Automatique( bool move_mouse_cursor ); /* Set the zoom level to show the area Rect */ - void Window_Zoom( EDA_Rect& Rect ); + void Window_Zoom( EDA_Rect& Rect ); /* Return the zoom level which displays the full page on screen */ - virtual int BestZoom() = 0; + virtual int BestZoom() = 0; /* Return the current zoom level */ - int GetZoom(void); + int GetZoom( void ); - void ToPrinter( wxCommandEvent& event ); - void SVG_Print( wxCommandEvent& event ); + void ToPrinter( wxCommandEvent& event ); + void SVG_Print( wxCommandEvent& event ); - void OnActivate( wxActivateEvent& event ); - void ReDrawPanel(); - void TraceWorkSheet( wxDC* DC, BASE_SCREEN* screen, int line_width ); - void PlotWorkSheet( int format_plot, BASE_SCREEN* screen ); + void OnActivate( wxActivateEvent& event ); + void ReDrawPanel(); + void TraceWorkSheet( wxDC* DC, BASE_SCREEN* screen, int line_width ); + void PlotWorkSheet( int format_plot, BASE_SCREEN* screen ); /** Function GetXYSheetReferences * Return the X,Y sheet references where the point position is located @@ -256,36 +256,36 @@ public: * @param aPosition = position to identify by YX ref * @return a wxString containing the message locator like A3 or B6 (or ?? if out of page limits) */ - wxString GetXYSheetReferences( BASE_SCREEN* aScreen, const wxPoint& aPosition ); + wxString GetXYSheetReferences( BASE_SCREEN* aScreen, const wxPoint& aPosition ); - void DisplayToolMsg( const wxString& msg ); - void Process_Zoom( wxCommandEvent& event ); - void Process_Grid( wxCommandEvent& event ); - virtual void RedrawActiveWindow( wxDC* DC, bool EraseBg ) = 0; - virtual void Process_Special_Functions( wxCommandEvent& event ) = 0; - virtual void OnLeftClick( wxDC* DC, const wxPoint& MousePos ) = 0; - virtual void OnLeftDClick( wxDC* DC, const wxPoint& MousePos ); - virtual bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu ) = 0; - virtual void ToolOnRightClick( wxCommandEvent& event ); - void AdjustScrollBars(); - virtual void UpdateStatusBar(); /* Affichage des coord curseur, zoom .. */ - void DisplayUnitsMsg(); + void DisplayToolMsg( const wxString& msg ); + void Process_Zoom( wxCommandEvent& event ); + void Process_Grid( wxCommandEvent& event ); + virtual void RedrawActiveWindow( wxDC* DC, bool EraseBg ) = 0; + virtual void Process_Special_Functions( wxCommandEvent& event ) = 0; + virtual void OnLeftClick( wxDC* DC, const wxPoint& MousePos ) = 0; + virtual void OnLeftDClick( wxDC* DC, const wxPoint& MousePos ); + virtual bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu ) = 0; + virtual void ToolOnRightClick( wxCommandEvent& event ); + void AdjustScrollBars(); + virtual void UpdateStatusBar(); /* Affichage des coord curseur, zoom .. */ + void DisplayUnitsMsg(); /* Handlers for block commands */ - virtual int ReturnBlockCommand( int key ); - virtual void InitBlockPasteInfos(); - virtual bool HandleBlockBegin( wxDC* DC, int cmd_type, const wxPoint& startpos ); - virtual void HandleBlockPlace( wxDC* DC ); - virtual int HandleBlockEnd( wxDC* DC ); + virtual int ReturnBlockCommand( int key ); + virtual void InitBlockPasteInfos(); + virtual bool HandleBlockBegin( wxDC* DC, int cmd_type, const wxPoint& startpos ); + virtual void HandleBlockPlace( wxDC* DC ); + virtual int HandleBlockEnd( wxDC* DC ); - void CopyToClipboard( wxCommandEvent& event ); + void CopyToClipboard( wxCommandEvent& event ); /* interprocess communication */ - void OnSockRequest( wxSocketEvent& evt ); - void OnSockRequestServer( wxSocketEvent& evt ); + void OnSockRequest( wxSocketEvent& evt ); + void OnSockRequestServer( wxSocketEvent& evt ); - virtual void LoadSettings(); - virtual void SaveSettings(); + virtual void LoadSettings(); + virtual void SaveSettings(); DECLARE_EVENT_TABLE(); }; @@ -296,8 +296,8 @@ public: /****************************************************/ /********************************************************* -class WinEDA_MsgPanel : this is a panel to display various infos -and messages on items in eeschema an pcbnew +* class WinEDA_MsgPanel : this is a panel to display various infos +* and messages on items in eeschema an pcbnew *********************************************************/ /** @@ -307,12 +307,12 @@ and messages on items in eeschema an pcbnew */ struct MsgItem { - int m_X; - int m_UpperY; - int m_LowerY; - wxString m_UpperText; - wxString m_LowerText; - int m_Color; + int m_X; + int m_UpperY; + int m_LowerY; + wxString m_UpperText; + wxString m_LowerText; + int m_Color; /** * Function operator= @@ -322,13 +322,14 @@ struct MsgItem */ MsgItem& operator=( const MsgItem& rv ) { - m_X = rv.m_X; + m_X = rv.m_X; m_UpperY = rv.m_UpperY; m_LowerY = rv.m_LowerY; m_UpperText = rv.m_UpperText; // overloaded operator=() m_LowerText = rv.m_LowerText; // overloaded operator=() m_Color = rv.m_Color; - return *this; + + return * this; } }; @@ -336,13 +337,13 @@ struct MsgItem class WinEDA_MsgPanel : public wxPanel { protected: - std::vector m_Items; - int m_last_x; ///< the last used x coordinate + std::vector m_Items; + int m_last_x; ///< the last used x coordinate - void showItem( wxDC& dc, const MsgItem& aItem ); + void showItem( wxDC& dc, const MsgItem& aItem ); - void erase( wxDC* DC ); + void erase( wxDC* DC ); public: WinEDA_DrawFrame* m_Parent; @@ -354,10 +355,10 @@ public: WinEDA_MsgPanel( WinEDA_DrawFrame* parent, int id, const wxPoint& pos, const wxSize& size ); ~WinEDA_MsgPanel(); - void OnPaint( wxPaintEvent& event ); - void EraseMsgBox(); - void Affiche_1_Parametre( int pos_X, const wxString& texte_H, - const wxString& texte_L, int color ); + void OnPaint( wxPaintEvent& event ); + void EraseMsgBox(); + void Affiche_1_Parametre( int pos_X, const wxString& texte_H, + const wxString& texte_L, int color ); DECLARE_EVENT_TABLE() @@ -389,10 +390,10 @@ public: } - wxString GetValue(); - void GetValue( char* buffer, int lenmax ); - void SetValue( const wxString& new_text ); - void Enable( bool enbl ); + wxString GetValue(); + void GetValue( char* buffer, int lenmax ); + void SetValue( const wxString& new_text ); + void Enable( bool enbl ); void SetFocus() { m_FrameText->SetFocus(); } void SetInsertionPoint( int n ) { m_FrameText->SetInsertionPoint( n ); } @@ -425,14 +426,14 @@ public: ~WinEDA_GraphicTextCtrl(); - wxString GetText(); - int GetTextSize(); - void Enable( bool state ); - void SetTitle( const wxString& title ); + wxString GetText(); + int GetTextSize(); + void Enable( bool state ); + void SetTitle( const wxString& title ); void SetFocus() { m_FrameText->SetFocus(); } - void SetValue( const wxString& value ); - void SetValue( int value ); + void SetValue( const wxString& value ); + void SetValue( int value ); /** * Function FormatSize @@ -440,7 +441,7 @@ public: */ static wxString FormatSize( int internalUnit, int units, int textSize ); - static int ParseSize( const wxString& sizeText, int internalUnit, int units ); + static int ParseSize( const wxString& sizeText, int internalUnit, int units ); }; @@ -474,9 +475,9 @@ public: }; /************************************************************* -Class to edit/enter a size (pair of values for X and Y size) -( INCHES or MM ) in dialog boxes -***************************************************************/ + * Class to edit/enter a size (pair of values for X and Y size) + * ( INCHES or MM ) in dialog boxes + ***************************************************************/ class WinEDA_SizeCtrl : public WinEDA_PositionCtrl { public: @@ -519,9 +520,9 @@ public: ~WinEDA_ValueCtrl(); - int GetValue(); - void SetValue( int new_value ); - void Enable( bool enbl ); + int GetValue(); + void SetValue( int new_value ); + void Enable( bool enbl ); void SetToolTip( const wxString& text ) { @@ -548,9 +549,9 @@ public: ~WinEDA_DFloatValueCtrl(); - double GetValue(); - void SetValue( double new_value ); - void Enable( bool enbl ); + double GetValue(); + void SetValue( double new_value ); + void Enable( bool enbl ); void SetToolTip( const wxString& text ) { @@ -592,7 +593,7 @@ public: const wxChar** m_ItemList; private: - void (*m_MoveFct)( wxString & Text ); + void (*m_MoveFct)( wxString& Text ); public: WinEDAListBox( WinEDA_DrawFrame* parent, const wxString& title, @@ -603,19 +604,19 @@ public: wxPoint dialog_position = wxDefaultPosition ); ~WinEDAListBox(); - void SortList(); - void Append( const wxString& item ); - void InsertItems( const wxArrayString& itemlist, int position = 0 ); - void MoveMouseToOrigin(); - wxString GetTextSelection(); + void SortList(); + void Append( const wxString& item ); + void InsertItems( const wxArrayString& itemlist, int position = 0 ); + void MoveMouseToOrigin(); + wxString GetTextSelection(); private: - void OnClose( wxCloseEvent& event ); - void OnCancelClick( wxCommandEvent& event ); - void OnOkClick( wxCommandEvent& event ); - void ClickOnList( wxCommandEvent& event ); - void D_ClickOnList( wxCommandEvent& event ); - void OnKeyEvent( wxKeyEvent& event ); + void OnClose( wxCloseEvent& event ); + void OnCancelClick( wxCommandEvent& event ); + void OnOkClick( wxCommandEvent& event ); + void ClickOnList( wxCommandEvent& event ); + void D_ClickOnList( wxCommandEvent& event ); + void OnKeyEvent( wxKeyEvent& event ); DECLARE_EVENT_TABLE() }; diff --git a/pcbnew/edit.cpp b/pcbnew/edit.cpp index b79dc41a9b..b3e77ef80f 100644 --- a/pcbnew/edit.cpp +++ b/pcbnew/edit.cpp @@ -1124,6 +1124,20 @@ void WinEDA_PcbFrame::RemoveStruct( BOARD_ITEM* Item, wxDC* DC ) Delete_Zone_Fill( DC, (SEGZONE*) Item ); break; + case TYPE_ZONE_EDGE_CORNER: + Remove_Zone_Corner( DC, (ZONE_CONTAINER*) Item ); + SetCurItem( NULL ); + break; + + case TYPE_ZONE_CONTAINER: + { + SetCurItem( NULL ); + int netcode = ((ZONE_CONTAINER*) Item)->GetNet(); + Delete_Zone_Contour( DC, (ZONE_CONTAINER*) Item ); + test_1_net_connexion( NULL, netcode ); + } + break; + case TYPE_MARKER: if( Item == GetCurItem() ) SetCurItem( NULL );