Commit 97be0050 authored by CHARRAS's avatar CHARRAS
Browse files

Added: Delete cutout outline in zone popup menu

parent 549e5f68
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -4,12 +4,21 @@ Started 2007-June-11
Please add newer entries at the top, list the date and your name with
email address.

2008-jan-05 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+pcbnew:
	Added: Delete cutout outline in zone popup menu
	the GUI about zones is now working.
	Some work is needed ( a zone in a zone of the same net is not merged )
	Currently No DRC for outlines


2008-jan-04 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+pcbnew:
	More about zones:
		Outlines can be edited. Outlines are merged if needeed.
		Current No DRC for outlines
		Currently No DRC for outlines


2008-jan-01 UPDATE  Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
+1 −1
Original line number Diff line number Diff line
@@ -560,7 +560,7 @@ enum main_id {
	ID_POPUP_PCB_PLACE_ZONE_CORNER,
	ID_POPUP_PCB_ZONE_ADD_SIMILAR_ZONE,
	ID_POPUP_PCB_ZONE_ADD_CUTOUT_ZONE,
	ID_POPUP_ZONE_UNUSED1,
	ID_POPUP_PCB_DELETE_ZONE_CUTOUT,
	ID_POPUP_ZONE_UNUSED2,
	ID_POPUP_ZONE_UNUSED3,
	ID_POPUP_ZONE_UNUSED4,
+200 −195
Original line number Diff line number Diff line
/***********************************************************/
/*                      wxstruct.h:                        */
/* descriptions des principales classes derivees utilisees */
/*                      wxPcbStruct.h:                     */
/*      Classes used in pcbnew, cvpcb and gerbview         */
/***********************************************************/

#ifndef  WXPCB_STRUCT_H
@@ -14,14 +14,6 @@
#define PCB_INTERNAL_UNIT       10000
#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

#define KICAD_DEFAULT_DRAWFRAME_STYLE wxDEFAULT_FRAME_STYLE|wxWANTS_CHARS
#define EDA_DRAW_PANEL wxScrolledWindow

class wxMyDialogModalData;

/*  Forward declarations of classes. */
class WinEDA_DrawPanel;
@@ -29,25 +21,12 @@ class WinEDA_DrawFrame;

#include "base_struct.h"

class WinEDA_App;
class WinEDA_MsgPanel;
class COMMAND;
class WinEDA_MainFrame;
class BASE_SCREEN;
class SCH_SCREEN;
class PCB_SCREEN;
class WinEDA_SchematicFrame;    // Schematic main frame
class WinEDA_LibeditFrame;      // Component creation and edition main frame
class WinEDA_ViewlibFrame;      // Component viewer main frame
class WinEDA_GerberFrame;       // GERBER viewer main frame
class WinEDA_Toolbar;
class WinEDA_CvpcbFrame;
class WinEDA_PcbFrame;
class WinEDA_ModuleEditFrame;
class WinEDAChoiceBox;
#define WinEDA_MenuBar  wxMenuBar
#define WinEDA_Menu     wxMenu
#define WinEDA_MenuItem wxMenuItem

// Used but not defined here:
class BOARD;
@@ -193,7 +172,9 @@ public:
    void                        InstallModuleOptionsFrame( MODULE* Module,
                                                           wxDC* DC, const wxPoint& pos );
    MODULE*                     Copie_Module( MODULE* module );
    MODULE*         Exchange_Module( wxWindow* winaff, MODULE* old_module, MODULE* new_module );
    MODULE*                     Exchange_Module( wxWindow* winaff,
                                                 MODULE*                       old_module,
                                                 MODULE*                       new_module );
    int                         Save_1_Module( const wxString& LibName, MODULE* Module,
                                               bool Overwrite, bool DisplayDialog );
    void                        Archive_Modules( const wxString& LibName, bool NewModulesOnly );
@@ -203,7 +184,10 @@ public:
    // Modules (footprints)
    MODULE*                     Create_1_Module( wxDC* DC, const wxString& module_name );
    void                        Edit_Module( MODULE* module, wxDC* DC );
    void            Rotate_Module( wxDC* DC, MODULE* module, int angle, bool incremental );
    void                        Rotate_Module( wxDC*   DC,
                                               MODULE* module,
                                               int     angle,
                                               bool    incremental );
    void                        Change_Side_Module( MODULE* Module, wxDC* DC );
    void                        Place_Module( MODULE* module, wxDC* DC );
    void                        InstallExchangeModuleFrame( MODULE* ExchangeModuleModule,
@@ -232,8 +216,10 @@ public:


    // loading footprints
    MODULE*         Get_Librairie_Module( wxWindow* winaff, const wxString& library,
                                          const wxString& ModuleName, bool show_msg_err );
    MODULE*                     Get_Librairie_Module( wxWindow* winaff,
                                                      const wxString&               library,
                                                      const wxString&               ModuleName,
                                                      bool                          show_msg_err );

    wxString                    Select_1_Module_From_List(
        WinEDA_DrawFrame* active_window, const wxString& Library,
@@ -252,7 +238,9 @@ public:
    void                        trace_ratsnest_pad( wxDC* DC );
    void                        recalcule_pad_net_code(); /* compute and update the PAD net codes */
    void                        build_liste_pads();
    int*            build_ratsnest_pad( EDA_BaseStruct* ref, const wxPoint& refpos, bool init );
    int*                        build_ratsnest_pad( EDA_BaseStruct* ref,
                                                    const wxPoint&                         refpos,
                                                    bool                                   init );

    void                        Tst_Ratsnest( wxDC* DC, int ref_netcode );
    void                        test_connexions( wxDC* DC );
@@ -483,16 +471,18 @@ public:
    bool                Genere_Pad_Connexion( wxDC* DC, int layer );

    // zone handling
/** Function Delete_Zone
 * Remove the zone which include the segment aZone, or the zone which have the given time stamp.

    /** Function Delete_Zone_Fill
     * Remove the zone filling which include the segment aZone, or the zone which have the given time stamp.
     *  A zone is a group of segments which have the same TimeStamp
     * @param DC = current Device Context (can be NULL)
     * @param aZone = zone segment within the zone to delete. Can be NULL
     * @param aTimestamp = Timestamp for the zone to delete, used if aZone == NULL
     */
    void                Delete_Zone( wxDC* DC, SEGZONE* Track, long aTimestamp = 0 );
    void                Delete_Zone_Fill( wxDC* DC, SEGZONE* Track, long aTimestamp = 0 );

    EDGE_ZONE*          Del_SegmEdgeZone( wxDC* DC, EDGE_ZONE* edge_zone );

    /**
     * Function Begin_Zone
     * initiates a zone edge creation process,
@@ -559,7 +549,11 @@ public:
     * called from a move corner command (IsNewCorner = false),
     * or a create new cornet command (IsNewCorner = true )
     */
	void Start_Move_Zone_Corner( wxDC* DC , ZONE_CONTAINER * zone_container, int corner_id, bool IsNewCorner );
    void                Start_Move_Zone_Corner( wxDC*           DC,
                                                ZONE_CONTAINER* zone_container,
                                                int             corner_id,
                                                bool            IsNewCorner );

    /**
     * Function End_Move_Zone_Corner
     * Terminates a move corner in a zone outline
@@ -573,6 +567,17 @@ public:
     */
    void                Remove_Zone_Corner( wxDC* DC, ZONE_CONTAINER* zone_container );

    /** Function Delete_Zone
     * Remove the zone which include the segment aZone, or the zone which have the given time stamp.
     *  A zone is a group of segments which have the same TimeStamp
     * @param DC = current Device Context (can be NULL)
     * @param zone_container = zone to modify
     *  the member .m_CornerSelection is used to find the outline to remove.
     * if the outline is the main outline, all the zone is removed
     * otherwise, the hole is deleted
     */
    void                Delete_Zone_Contour( wxDC* DC, ZONE_CONTAINER* zone_container );

    // Target handling
    MIREPCB*            Create_Mire( wxDC* DC );
    void                Delete_Mire( MIREPCB* MirePcb, wxDC* DC );
−82 B (137 KiB)

File changed.

No diff preview for this file type.

+98 −109
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kicad\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2008-01-01 17:55+0100\n"
"PO-Revision-Date: 2008-01-05 14:17+0100\n"
"Last-Translator: \n"
"Language-Team: kicad team <jean-pierre.charras@ujf-grenoble.fr>\n"
"MIME-Version: 1.0\n"
@@ -639,7 +639,7 @@ msgstr "Cuivre"
#: pcbnew/classpcb.cpp:210
#: pcbnew/class_track.cpp:806
#: pcbnew/class_module.cpp:1217
#: pcbnew/class_zone.cpp:407
#: pcbnew/class_zone.cpp:441
#: gerbview/affiche.cpp:109
msgid "Layer"
msgstr "Couche"
@@ -1357,7 +1357,7 @@ msgstr "Module"
#: pcbnew/classpcb.cpp:194
#: pcbnew/class_marker.cpp:112
#: pcbnew/class_track.cpp:750
#: pcbnew/class_zone.cpp:388
#: pcbnew/class_zone.cpp:422
#: gerbview/affiche.cpp:93
msgid "Type"
msgstr "Type"
@@ -1629,11 +1629,11 @@ msgstr "Hauteur Texte Module"
msgid "Text Module Size H"
msgstr "Largeur Texte Module"

#: pcbnew/zone_filling_algorithm.cpp:156
#: pcbnew/zone_filling_algorithm.cpp:155
msgid "No pads or starting point found to fill this zone outline"
msgstr "Pas de pads ou de points de dpart pour remplir ce contour de zone"

#: pcbnew/zone_filling_algorithm.cpp:194
#: pcbnew/zone_filling_algorithm.cpp:193
msgid "Ok"
msgstr "Ok"

@@ -1911,8 +1911,8 @@ msgstr "Garder"

#: pcbnew/dialog_netlist.cpp:143
#: pcbnew/onrightclick.cpp:589
#: pcbnew/onrightclick.cpp:749
#: pcbnew/onrightclick.cpp:846
#: pcbnew/onrightclick.cpp:754
#: pcbnew/onrightclick.cpp:851
#: eeschema/edit_component_in_lib.cpp:239
#: eeschema/edit_component_in_lib.cpp:320
msgid "Delete"
@@ -2086,7 +2086,7 @@ msgid "Add Drawing"
msgstr "Ajout d'lments graphiques"

#: pcbnew/modedit.cpp:424
#: pcbnew/edit.cpp:536
#: pcbnew/edit.cpp:518
#: eeschema/schedit.cpp:455
#: eeschema/libframe.cpp:579
msgid "Delete item"
@@ -2144,8 +2144,8 @@ msgid "Delete Block (shift+ctrl + drag mouse)"
msgstr "Effacement Bloc (shift+ctrl + drag mouse)"

#: pcbnew/modedit_onclick.cpp:252
#: pcbnew/onrightclick.cpp:743
#: pcbnew/onrightclick.cpp:840
#: pcbnew/onrightclick.cpp:748
#: pcbnew/onrightclick.cpp:845
msgid "Rotate"
msgstr "Rotation"

@@ -2170,17 +2170,17 @@ msgid "Move Pad"
msgstr "Dplace Pad"

#: pcbnew/modedit_onclick.cpp:274
#: pcbnew/onrightclick.cpp:782
#: pcbnew/onrightclick.cpp:787
msgid "Edit Pad"
msgstr "Edit Pad"

#: pcbnew/modedit_onclick.cpp:276
#: pcbnew/onrightclick.cpp:786
#: pcbnew/onrightclick.cpp:791
msgid "New Pad Settings"
msgstr "Nouvelles Caract. Pads"

#: pcbnew/modedit_onclick.cpp:278
#: pcbnew/onrightclick.cpp:788
#: pcbnew/onrightclick.cpp:793
msgid "Export Pad Settings"
msgstr "Exporte Caract. Pads"

@@ -2189,7 +2189,7 @@ msgid "delete Pad"
msgstr "Supprimer Pad"

#: pcbnew/modedit_onclick.cpp:285
#: pcbnew/onrightclick.cpp:793
#: pcbnew/onrightclick.cpp:798
msgid "Global Pad Settings"
msgstr "Edition Globale des pads"

@@ -2222,9 +2222,9 @@ msgid "Place edge"
msgstr "Place contour"

#: pcbnew/modedit_onclick.cpp:317
#: pcbnew/onrightclick.cpp:711
#: pcbnew/onrightclick.cpp:745
#: pcbnew/onrightclick.cpp:842
#: pcbnew/onrightclick.cpp:716
#: pcbnew/onrightclick.cpp:750
#: pcbnew/onrightclick.cpp:847
#: eeschema/onrightclick.cpp:313
msgid "Edit"
msgstr "Editer"
@@ -2565,7 +2565,7 @@ msgid "Footprint name:"
msgstr "Nom Module: "

#: pcbnew/modules.cpp:281
#: pcbnew/onrightclick.cpp:717
#: pcbnew/onrightclick.cpp:722
msgid "Delete Module"
msgstr "Supprimer Module"

@@ -3212,7 +3212,6 @@ msgid "Add Similar Zone"
msgstr "Addition d'une Zone Semblable"

#: pcbnew/onrightclick.cpp:664
#, fuzzy
msgid "Add Cutout Area"
msgstr "Addition d'une Zone Interdite"

@@ -3224,44 +3223,48 @@ msgstr "Remplir Zone"
msgid "Edit Zone Params"
msgstr "Editer Paramtres de la Zone"

#: pcbnew/onrightclick.cpp:673
#: pcbnew/onrightclick.cpp:675
msgid "Delete Cutout"
msgstr "Supprimer Zone Interdite"

#: pcbnew/onrightclick.cpp:678
msgid "Delete Zone Outline"
msgstr "Supprimer Contour de Zone"

#: pcbnew/onrightclick.cpp:695
#: pcbnew/onrightclick.cpp:740
#: pcbnew/onrightclick.cpp:778
#: pcbnew/onrightclick.cpp:837
#: pcbnew/onrightclick.cpp:700
#: pcbnew/onrightclick.cpp:745
#: pcbnew/onrightclick.cpp:783
#: pcbnew/onrightclick.cpp:842
msgid "Move"
msgstr "Move"

#: pcbnew/onrightclick.cpp:698
#: pcbnew/onrightclick.cpp:780
#: pcbnew/onrightclick.cpp:703
#: pcbnew/onrightclick.cpp:785
msgid "Drag"
msgstr "Drag"

#: pcbnew/onrightclick.cpp:702
#: pcbnew/onrightclick.cpp:707
msgid "Rotate  +"
msgstr "Rotation +"

#: pcbnew/onrightclick.cpp:706
#: pcbnew/onrightclick.cpp:711
#: eeschema/onrightclick.cpp:301
msgid "Rotate -"
msgstr "Rotation -"

#: pcbnew/onrightclick.cpp:707
#: pcbnew/onrightclick.cpp:712
msgid "Flip"
msgstr "Change ct"

#: pcbnew/onrightclick.cpp:797
#: pcbnew/onrightclick.cpp:802
msgid "delete"
msgstr "Effacer"

#: pcbnew/onrightclick.cpp:804
#: pcbnew/onrightclick.cpp:809
msgid "Autoroute Pad"
msgstr "Autoroute Pad"

#: pcbnew/onrightclick.cpp:805
#: pcbnew/onrightclick.cpp:810
msgid "Autoroute Net"
msgstr "Autoroute Net"

@@ -3612,11 +3615,11 @@ msgstr "Pcb Graphic"
#: pcbnew/class_board_item.cpp:59
#: pcbnew/class_board_item.cpp:68
#: pcbnew/class_board_item.cpp:145
#: pcbnew/class_board_item.cpp:164
#: pcbnew/class_board_item.cpp:180
#: pcbnew/class_board_item.cpp:207
#: pcbnew/class_board_item.cpp:224
#: pcbnew/class_board_item.cpp:230
#: pcbnew/class_board_item.cpp:169
#: pcbnew/class_board_item.cpp:185
#: pcbnew/class_board_item.cpp:212
#: pcbnew/class_board_item.cpp:229
#: pcbnew/class_board_item.cpp:235
msgid " on "
msgstr " sur "

@@ -3659,46 +3662,51 @@ msgid "Length:"
msgstr "Long.:"

#: pcbnew/class_board_item.cpp:152
#: pcbnew/class_zone.cpp:385
#: pcbnew/class_zone.cpp:416
msgid "Zone Outline"
msgstr "Contour de Zone"

#: pcbnew/class_board_item.cpp:168
#: pcbnew/class_board_item.cpp:156
#: pcbnew/class_zone.cpp:419
msgid "(Cutout)"
msgstr "(Cutout)"

#: pcbnew/class_board_item.cpp:173
#: pcbnew/class_track.cpp:743
msgid "Zone"
msgstr "Zone"

#: pcbnew/class_board_item.cpp:186
#: pcbnew/class_board_item.cpp:191
#: pcbnew/pcbframe.cpp:479
msgid "Via"
msgstr "Via"

#: pcbnew/class_board_item.cpp:190
#: pcbnew/class_board_item.cpp:195
msgid "Blind"
msgstr "Enterre"

#: pcbnew/class_board_item.cpp:192
#: pcbnew/class_board_item.cpp:197
msgid "Buried"
msgstr "Borgne"

#: pcbnew/class_board_item.cpp:214
#: pcbnew/class_board_item.cpp:219
#: pcbnew/class_marker.cpp:112
msgid "Marker"
msgstr "Marqueur"

#: pcbnew/class_board_item.cpp:219
#: pcbnew/class_board_item.cpp:224
msgid "Dimension"
msgstr "Dimension"

#: pcbnew/class_board_item.cpp:224
#: pcbnew/class_board_item.cpp:229
msgid "Target"
msgstr "Mire"

#: pcbnew/class_board_item.cpp:225
#: pcbnew/class_board_item.cpp:230
msgid "size"
msgstr "dimension"

#: pcbnew/class_board_item.cpp:230
#: pcbnew/class_board_item.cpp:235
msgid "Edge Zone"
msgstr "Contour Zone"

@@ -3874,13 +3882,13 @@ msgstr "Pads"

#: pcbnew/class_track.cpp:765
#: pcbnew/zones.cpp:873
#: pcbnew/zones_by_polygon.cpp:705
#: pcbnew/class_zone.cpp:398
#: pcbnew/zones_by_polygon.cpp:831
#: pcbnew/class_zone.cpp:432
msgid "NetName"
msgstr "NetName"

#: pcbnew/class_track.cpp:770
#: pcbnew/class_zone.cpp:403
#: pcbnew/class_zone.cpp:437
msgid "NetCode"
msgstr "NetCode"

@@ -4433,73 +4441,30 @@ msgid "Delete Current Zone Edges"
msgstr "Effacer contour zone courant"

#: pcbnew/zones.cpp:871
#: pcbnew/zones_by_polygon.cpp:703
#: pcbnew/zones_by_polygon.cpp:829
msgid "No Net"
msgstr "No Net"

#: pcbnew/dsn.cpp:456
msgid "Line length exceeded"
msgstr "Longueur de ligne dpasse"

#: pcbnew/dsn.cpp:518
msgid "'quoted text delimiter'"
msgstr "'delimiteur de texte balis'"

#: pcbnew/dsn.cpp:524
msgid "'symbol'"
msgstr "'symbole'"

#: pcbnew/dsn.cpp:527
msgid "'number'"
msgstr "'nombre'"

#: pcbnew/dsn.cpp:536
msgid "\"quoted string\""
msgstr "\"chane entre quotes\""

#: pcbnew/dsn.cpp:539
msgid "'end of file'"
msgstr "fin de fichier'"

#: pcbnew/dsn.cpp:556
msgid "in file"
msgstr "dans le fichier"

#: pcbnew/dsn.cpp:557
msgid "on line"
msgstr "en ligne"

#: pcbnew/dsn.cpp:558
msgid "at offset"
msgstr "a l'offset"

#: pcbnew/dsn.cpp:597
msgid "String delimiter must be a single character of ', \", or $"
msgstr "Le caractre de dlimitation de ligne doit tre un seul caractre  ', \", or $"

#: pcbnew/dsn.cpp:676
msgid "Un-terminated delimited string"
msgstr "Ligne dlimite non termine"

#: pcbnew/specctra.cpp:271
#: pcbnew/specctra.cpp:280
#: pcbnew/specctra.cpp:1015
#: pcbnew/specctra.cpp:1022
msgid "Expecting"
msgstr "Attendu"

#: pcbnew/specctra.cpp:300
#: pcbnew/specctra.cpp:1031
#: pcbnew/specctra.cpp:1038
msgid "Unexpected"
msgstr "Inattendu"

#: pcbnew/specctra.cpp:1059
#: pcbnew/specctra.cpp:1817
#, c-format
msgid "Unable to open file \"%s\""
msgstr "Ne peut pas ouvrirle  fichier \"%s\""

#: pcbnew/specctra.cpp:401
#: pcbnew/specctra.cpp:467
#: pcbnew/specctra.cpp:474
msgid "on or off"
msgstr "on ou off"

#: pcbnew/specctra.cpp:452
msgid "testpoint, guides, or image_conductor"
msgstr "testpoint, guides, ou image_conductor"
#: pcbnew/specctra.cpp:1792
#, c-format
msgid "System file error writing to file \"%s\""
msgstr "Erreur systme sur criture fichier \"%s\""

#: pcbnew/move_or_drag_track.cpp:714
msgid "Unable to drag this segment: too many segments connected"
@@ -4545,6 +4510,30 @@ msgstr "Erreur. Vous devez choisir une couche"
msgid "Error : you must choose a net name"
msgstr "Erreur. Vous devez choisir une quipotentielle"

#: pcbnew/dsn.cpp:467
msgid "Line length exceeded"
msgstr "Longueur de ligne dpasse"

#: pcbnew/dsn.cpp:577
msgid "in file"
msgstr "dans le fichier"

#: pcbnew/dsn.cpp:578
msgid "on line"
msgstr "en ligne"

#: pcbnew/dsn.cpp:579
msgid "at offset"
msgstr "a l'offset"

#: pcbnew/dsn.cpp:618
msgid "String delimiter must be a single character of ', \", or $"
msgstr "Le caractre de dlimitation de ligne doit tre un seul caractre  ', \", or $"

#: pcbnew/dsn.cpp:697
msgid "Un-terminated delimited string"
msgstr "Ligne dlimite non termine"

#: pcbnew/initpcb.cpp:125
msgid "Current Board will be lost ?"
msgstr "Le C.I. courant sera perdu ?"
@@ -4860,11 +4849,11 @@ msgstr "Fichier rapport termin
msgid "DRC Report file"
msgstr "Fichier rapport de contrle DRC:"

#: pcbnew/class_zone.cpp:411
#: pcbnew/class_zone.cpp:445
msgid "Corners"
msgstr "Sommets"

#: pcbnew/class_zone.cpp:415
#: pcbnew/class_zone.cpp:449
msgid "Hatch lines"
msgstr "Lignes de Hachure"

Loading