You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1547 lines
73 KiB

  1. KiCad ChangeLog 2007
  2. ====================
  3. 2007-Dec-29 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  4. ================================================================================
  5. +pcbnew:
  6. First draft (and code..) about new zone handling, using polygons to define an outline.
  7. Now currently not useable because the fill function (and many other important functions) is not implemented.
  8. Many functions are not yet implemented: merging zones, cutout, DRC ...
  9. Nevertheless, one can create, modify edit and save zone outlines
  10. 2007-Dec-23 UPDATE Dick Hollenbeck <dick@softplc.com>
  11. ================================================================================
  12. +all
  13. * Because of the discussion 4 months ago about using Boost::Python, and
  14. because of an excellent boost::ptr_vector class, I want to make some of the
  15. boost libraries be necessary for building Kicad. These would be:
  16. 1) boost pointer container library (immediately)
  17. http://www.boost.org/libs/ptr_container/doc/ptr_container.html
  18. See the work in specctra.cpp to see where this is going:
  19. typedef boost::ptr_vector<ELEM> ELEM_ARRAY found within class PARENT.
  20. I found that gcc 4.2.1 was complaining about the standard ubuntu libboost-dev
  21. package and would not compile ptr_vector class. But the svn of boost
  22. fixed this.
  23. 2) boost::python when building python in.
  24. * Added FIND_PACKAGE(Boost) to CMakeLists.txt
  25. 2007-Dec-22 UPDATE Dick Hollenbeck <dick@softplc.com>
  26. ================================================================================
  27. +all
  28. added strlower() to common.h and string.cpp.
  29. fixed compiler warnings in common/gr_basic.cpp and pcbnew/clean.cpp
  30. +pcbnew
  31. started the DSN file import/export for SPECCTRA routers, adding dsn.cpp and
  32. specctra.cpp, with "stand alone" compile support for it in pcbnew/CMakeLists.txt.
  33. 2007-Dec-17 UPDATE Dick Hollenbeck <dick@softplc.com>
  34. ================================================================================
  35. +pcbnew
  36. WinEDA_PcbFrame::Other_Layer_Route() was leaving in the bridging segment
  37. when the DRC denied the via insertion.
  38. 2007-Dec-17 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  39. ================================================================================
  40. +pcbnew:
  41. some changes about zones: enhanced dialog, and files reorganisation
  42. 2007-Dec-14 UPDATE Dick Hollenbeck <dick@softplc.com>
  43. ================================================================================
  44. +pcbnew
  45. WinEDA_PcbFrame::Other_Layer_Route() now returns bool, so that if the DRC
  46. would not allow the new via placement, then it can be checked and the layer
  47. change can also then be aborted. Previously the layer change would happen
  48. in mid track even if the via could not be placed.
  49. 2007-Dec-13 UPDATE Dick Hollenbeck <dick@softplc.com>
  50. ================================================================================
  51. +pcbnew
  52. * surbrill.cpp's int WinEDA_PcbFrame::Select_High_Light( wxDC* DC )
  53. was re-written to use the GENERAL_COLLECTOR, and the scanList is set to
  54. give pads a higher search priority than tracks, vias or zones.
  55. The objective was to use the pad if possible, rather than a track on a pad,
  56. so the pad can be sent to eeschema. Finding the track only (even though
  57. on a pad) would not send anything to eeschema.
  58. 2007-Dec-12 UPDATE Dick Hollenbeck <dick@softplc.com>
  59. ================================================================================
  60. +pcbnew
  61. * Fized zone drawing bug in svn HEAD only.
  62. pcbnew/zones.cpp, see:
  63. http://tech.groups.yahoo.com/group/kicad-users/message/2993
  64. 2007-Dec-11 UPDATE Dick Hollenbeck <dick@softplc.com>
  65. ================================================================================
  66. +all
  67. * Fixed hotkey table for '+' and '-' bug. The lookup table in
  68. common/hotkeys_basic.cpp had bad entries for + and -. These hotkeys
  69. were not working on Linux.
  70. * Added polygon directory to Doxyfile.
  71. 2007-Dec-09 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  72. ================================================================================
  73. +cvpcb:
  74. listboxes.cpp FootprintListBox::m_ActiveFootprint member was not initialized.
  75. Can crash cvpcb (WINDOWS only, i believe)
  76. 2007-Dec-09 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  77. ================================================================================
  78. +pcbnew:
  79. changes in file organisation and classes to prepare zone redesign. No real new code.
  80. class zone functions and definitions moved in class_zone.h and .cpp
  81. 2007-Dec-07 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  82. ================================================================================
  83. +pcbnew
  84. Very minor bug in drill map : inaccurate via shapes (I believe EXCELLON drill file has no problems)
  85. 2007-Dec-06 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  86. ================================================================================
  87. +all
  88. Solved zoom key command problems (under linux and windows)
  89. (seen http://sourceforge.net/tracker/index.php?func=detail&aid=1844960&group_id=145591&atid=762476)
  90. +pcbnew
  91. solved bug when loading a footprint in modedit: invisible text attribute was lost (trunk and tag)
  92. 2007-Dec-4 UPDATE Dick Hollenbeck <dick@softplc.com>
  93. ================================================================================
  94. +pcbnew
  95. added the D() macro to fctsys.h to ease conditional debug printf()s.
  96. worked on http://sourceforge.net/tracker/index.php?func=detail&aid=1844960&group_id=145591&atid=762476
  97. but could not resolve it in 1/2 day.
  98. 2007-Dec-4 UPDATE Dick Hollenbeck <dick@softplc.com>
  99. ================================================================================
  100. +pcbnew
  101. * drc.cpp and dialog_drc.cpp update.
  102. Added double click support on a MARKER or unconnected DRC_ITEM in the listboxes.
  103. On Linux, it sometimes pops up the menu from PcbGeneralLocateAndDisplay()
  104. for some reason after repositioning the cursor. That is not intended, but
  105. after several attempts to work around it, I realized it is not so bad to
  106. have this happen.
  107. * Added right click popup menus to the list boxes. User must first select
  108. the item he wants to go to, as the right click does not change the selection.
  109. * Added WinEDA_BasePcbFrame::CursorGoto( const wxPoint& ) by factoring it
  110. out of pcbnew/find.cpp
  111. Done now, its ready for folks to start using it and testing it.
  112. 2007-Dec-02 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  113. ================================================================================
  114. +eeschema:
  115. Solved an annotation problem: in multiple parts per package components,
  116. when sorted by position, parts were not grouped by package.
  117. 2007-Dec-2 UPDATE Dick Hollenbeck <dick@softplc.com>
  118. ================================================================================
  119. +pcbnew
  120. drc.cpp and dialog_drc.cpp intermediate update.
  121. 2007-Nov-30 UPDATE Dick Hollenbeck <dick@softplc.com>
  122. ================================================================================
  123. +pcbnew
  124. * added virtual GetPosition() to BOARD_ITEM and derivatives.
  125. * added classes DRC, REPORT_ISSUE, DRC_ITEM and rearranged drc.cpp entirely
  126. to comprize the DRC class. The result has finer granularity of functions
  127. and each is fairly well documented in English, see drc_stuff.h.
  128. Keeping old stuff commented out at bottom of drc.cpp until some more usage
  129. and testing is done.
  130. * Made the DRC dialog modeless, so it can sit off to the side while the MARKER
  131. are inspected one by one.
  132. 2007-Nov-29 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  133. ================================================================================
  134. +pcbnew:
  135. Removed a bug (function block() ) which crashes pcbnew when erasing a zone by block delete
  136. 2007-Nov-27 UPDATE Dick Hollenbeck <dick@softplc.com>
  137. ================================================================================
  138. +pcbnew
  139. * changed class MARQUEUR to class MARKER name only.
  140. * Moved BOARD's MARKERs from m_Drawings to vector<MARKER*> m_markers so
  141. they can be easily deleted and navigated to from the drc dialog.
  142. * deprecated the MARKER::Unlink() function.
  143. * Added
  144. BOARD::Add( BOARD_ITEM*, int )
  145. BOARD::GetMARKER(int)
  146. BOARD::Delete( BOARD_ITEM* )
  147. BOARD::DeleteMARKERs();
  148. * Changed BOARD::~BOARD() to use DeleteMARKERs().
  149. * Revised screen drawing routine to know about BOARD::m_markers.
  150. * Revised BOARD::Visit() to know about BOARD::m_markers.
  151. * Revised pcbnew/find.cpp to know about BOARD::m_markers.
  152. * removed wxYield() from drc.cpp
  153. 2007-Nov-26 UPDATE Dick Hollenbeck <dick@softplc.com>
  154. ================================================================================
  155. +pcbnew
  156. DRC code and dialog rework start. This breaks DRC, until I get out the
  157. other end of the tunnel.
  158. 2007-Nov-24 UPDATE Dick Hollenbeck <dick@softplc.com>
  159. ================================================================================
  160. +pcbnew
  161. * dialog_track_options uses a portable technique for SetFocus(), namely the
  162. function OnInitDialog( wxInitDialogEvent& event ).
  163. * started work on dialog_drc, not checked in. basic wxHtmlListBox is working with dummied text.
  164. +all
  165. makefile.include's now use CXX instead of CC for compiling.
  166. 2007-Nov-15 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  167. ================================================================================
  168. +pcbnew:
  169. Removed a bug (function Delete_Zone() ) which crashes pcbnew when erasing a zone by popup menu
  170. 2007-Nov-13 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
  171. ================================================================================
  172. + eeschema & pcbnew
  173. * The "Page Settings" dialog box has been enhanced; it now includes a
  174. wxStdDialogButtonSizer, and is also now designed to be expandable.
  175. + pcbnew
  176. * The "DRC Control" and "Netlist:" dialog boxes have also been enhanced. Each
  177. of those dialogs now includes a wxStdDialogButtonSizer and a "Cancel" button,
  178. (so each of those dialogs can now (otherwise) be cancelled by pressing the
  179. "Esc" key), and is also now designed to be expandable.
  180. 2007-Nov-11 UPDATE Dick Hollenbeck <dick@softplc.com>
  181. ================================================================================
  182. + pcbnew
  183. Fixed modedit.cpp bug which occurred when selecting a non pad item (such
  184. as a text field) in the module editor, then selecting Dimensions -> Pad Settings
  185. in the module editor.
  186. 2007-Nov-11 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
  187. ================================================================================
  188. + eeschema & pcbnew & gerbview
  189. * The "Colors" dialog box has been enhanced; the distance between adjacent
  190. controls now increases (and in both horizontal and vertical directions)
  191. when that dialog is resized. And the "Cancel" button is no longer centre-
  192. justified; it is now right-justifed instead.
  193. + eeschema
  194. * A wxStdDialogButtonSizer is now used within the "EESchema Colors" dialog box,
  195. meaning that the sequence of the "OK", "Cancel", and "Apply" buttons within
  196. that dialog now depends upon which (OS) version of KiCad is being used (and
  197. thus matching the nature of the corresponding dialogs within Pcbnew and GerbView
  198. in that regard). (As of yet, the vertical distance between adjacent controls
  199. does not increase when this dialog is resized, but that aspect will also be
  200. implemented when time permits.)
  201. + gerbview
  202. * The "GerbView Layer Colors:" dialog box has been updated, and is now similar
  203. in nature to the corresponding dialogs within EESchema and Pcbnew. Tool tips
  204. have also been provided for the "Show All" and "Show None" buttons.
  205. 2007-Nov-10 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  206. ================================================================================
  207. +eeschema:
  208. More comprehensive dialog in netlist plugin interface.
  209. Eeschema configuration now shows the plugin netlist list
  210. 2007-Nov-09 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
  211. ================================================================================
  212. + 3d-viewer
  213. * The 3d_canvas.cpp file has been updated to use a const parameter, as suggested
  214. within (Bug) Request ID 1828487.
  215. + pcbnew
  216. * Sizers have now been provided for the "Pcbnew Layer Colors:" dialog box (previously
  217. identified as the "Colors:" dialog box), and tool tips have been provided for the
  218. "Show All" and "Show None" buttons.
  219. * The reglage.cpp file (which is not currently used) has been removed, and replaced
  220. with reglage.cpp.notused.
  221. 2007-Nov-02 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  222. ================================================================================
  223. + all
  224. removed not used files
  225. 2007-Nov-07 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
  226. ================================================================================
  227. + all
  228. * The common/svg_print.cpp, common/svg_print.h, and common/svg_print.pjd files (which
  229. are not currently used) have been removed, and replaced with svg_print.cpp.notused,
  230. svg_print.h.notused, and svg_print.pjd.notused. And common/makefile.include has
  231. also been updated so that none of those files are now listed at all.
  232. + eeschema
  233. * A "Cancel" button has now been provided within each of the "Component properties",
  234. "EESchema Annotation", "EESchema Erc", "Global Label properties", "Label properties",
  235. and "Text properties" dialog boxes, and each of those dialogs can now (otherwise) be
  236. cancelled by pressing the "Esc" key. (In due course, each of those dialogs will be
  237. refined yet further; this is just an incremental enhancement.)
  238. * The eestatus.cpp file (which is not currently used) has been removed, and replaced
  239. with eestatus.cpp.notused.
  240. 2007-Nov-05 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
  241. ================================================================================
  242. + eeschema
  243. * The previously provided "Close" button within the "Netlist" dialog box has
  244. now been replaced with a "Cancel" button, and this dialog can now (otherwise)
  245. be cancelled by pressing the "Esc" key. General cleanup and beautification of
  246. eeschema/netlist_control.cpp.
  247. + pcbnew
  248. * The color of each text string provided within the "Swap Layers:" dialog box is
  249. now set to blue for each string specifying that the associated layer is *not*
  250. being swapped with any other layer, or to fushia for each string specifying that
  251. the associated layer *is* being swapped with another layer. (This change was
  252. made after being suggested by Dick Hollenbeck.)
  253. + gerbview
  254. * The color of each text string provided within the "Layer selection" dialog box
  255. is similarly now set to blue for each string specifying that the associated
  256. Gerber layer is *not* being exported to any pcbnew layer, or to fushia for each
  257. string specifying that the associated Gerber layer *is* being exported to a
  258. pcbnew layer.
  259. 2007-Nov-2 UPDATE Dick Hollenbeck <dick@softplc.com>
  260. ================================================================================
  261. + pcbnew
  262. fixed a crashing bug which happened if you "dragged" a module with
  263. tracks. Then deleted one of the pad connected tracks, then deleted the
  264. next track attached to the first one. Memory was being corrupted because
  265. PcbGeneralLocate() and display was not being called on the 2nd track to
  266. be deleted because the m_Flags test:
  267. bool ItemFree = (GetCurItem()==0 || GetCurItem()->m_Flags==0);
  268. was returning false. Solution was to SetCurItem(NULL) after deleting a
  269. TRACK. This makes sense, SetCurItem() is used for designating a "selected"
  270. item, and a deleted TRACK is not even in the BOARD anymore and should not
  271. be selected or selectable. I think this bug may have been causing spurious
  272. crashes for the last couple of months.
  273. 2007-Nov-02 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  274. ================================================================================
  275. +all:
  276. solved: eeschema, pcbnew and cvpcb did not find libraries when they were
  277. in the default library path, but in a subdirectory
  278. (this is because the default path was not added to the name if the name had
  279. already a path)
  280. 2007-Nov-02 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
  281. ================================================================================
  282. + pcbnew
  283. * Sizers have now been provided for the "Swap Layers:" dialog box, and the
  284. previously provided radiobuttons have been replaced with buttons and static
  285. text strings. (In the previous version of this dialog, radiobuttons were being
  286. used in an inappropriate manner. The most "orthodox" way of implementing the
  287. functionality within this dialog would be to provide a combobox for each layer,
  288. but as up to 30 strings would be needed within the dropdown list associated with
  289. each of those controls (one string for each of the layers, and another string to
  290. deselect the layer), such controls would be less than user-friendly. Hence a
  291. button is now provided for each layer instead (and which, like the previously
  292. provided radiobutton, invokes the "Select Layer:" dialog box after being clicked
  293. on). Two static text strings are also provided for each layer, with one of them
  294. being used to identify that layer, and the other being used to identify which
  295. layer that each layer is currently being swapped to.) The previously provided
  296. "Select" and "Deselect" buttons are no longer required, and are thus no longer
  297. provided.
  298. + gerbview
  299. * The "Layer selection" dialog box (invoked during the "Export to Pcbnew" command)
  300. has similarly been updated. (This dialog did use spacers before, but once again,
  301. the previously provided radiobuttons were being used in an inappropriate manner.)
  302. 2007-Nov-01 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
  303. ================================================================================
  304. + pcbnew
  305. * Provided new definitions of FIRST_COPPER_LAYER and LAST_COPPER_LAYER within
  306. include/pcbstruct.h, and used those definitions within various other files.
  307. Beautified and generally refined 3d-viewer/3d_draw.cpp and pcbnew/plotgerb.cpp.
  308. 2007-Oct-31 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  309. ================================================================================
  310. +kicad:
  311. rename mdiframe.cpp to mainframe.cpp
  312. create commandframe.cpp to handle the command frame (which have the 4 "fast launch" buttons)
  313. 2007-Oct-31 UPDATE Dick Hollenbeck <dick@softplc.com>
  314. ================================================================================
  315. + all
  316. * Added Doxygen configuration file, whose standard name is Doxyfile. Output
  317. is set to go to ./doxygen directory just off the project tree.
  318. * Added a note to todo.txt which asks folks to start using "Doxygen compatible"
  319. comments in member functions and classes. Run Doxygen on the project, then
  320. look at the documentation for class INSPECTOR as an example.
  321. + pcbnew
  322. * zones.cpp, Trace_Pcb(), & EDGE_ZONE class:
  323. Reversed the usage of EDGE_ZONE::Pnext and Pback in the list management to be
  324. consistent with other classes and with BOARD_ITEM::IterateForward() and
  325. BOARD::~BOARD().
  326. * Fixed a display bug when high contrast mode is enabled and the track tool
  327. is selected.
  328. 2007-Oct-31 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  329. ================================================================================
  330. +all:
  331. gcc 4.2.1 compatibility: change char * to const char * whenever it was necessary,
  332. mainly in .xpm files
  333. 2007-Oct-30 UPDATE Dick Hollenbeck <dick@softplc.com>
  334. ================================================================================
  335. + pcbnew
  336. added BOARD_ITEM::Save() and to all derived classes as well. Made virtual
  337. and removed all UI code from these utility functions.
  338. removed WriteDesc() functions from all BOARD_ITEM derived classes, although
  339. Keeping old ones in commented out form for a while for reference.
  340. @todo: delete these from *.cpp files eventually.
  341. zones.cpp, clean up in prep for enhancements.
  342. + gerbview
  343. fixed bug which came about when BOARD::~BOARD() started deleting the objects
  344. that a BOARD owns. export_to_pcbnew.cpp was not consistent with this
  345. design and was crashing. Also, export_to_pcbnew.cpp now uses the simple
  346. BOARD::Save() function. It was another place to maintain the PCB file format,
  347. rather than simply putting that knowledge into one place like BOARD::Save().
  348. + all
  349. beautified gr_basic.cpp and made CLIP_LINE macro a static inline function.
  350. 2007-Oct-30 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  351. ================================================================================
  352. +cvpcb: listboxes.cpp problem solved: exists only under windows
  353. now apply to windows only, because this Workaround creates a problem undex linux
  354. +others:
  355. some very minor problems solved
  356. +eeschema:
  357. in B.O.M.: the footprint field can be added to the field list
  358. 2007-Oct-29 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  359. ================================================================================
  360. +cvpcb: listboxes.cpp problem solved: Workaround for a curious bug in wxWidgets:
  361. if we switch from a long list of footprints to a short list (a filtered footprint list),
  362. and if the selected item is near the end of the long list,
  363. the new list is not displayed from the top of the list box
  364. +eeschema:
  365. Implemented: graying in/out of "Edit/Undo", "Edit/Redo" menu items,
  366. when Undo/Redo stack is empty/filled.
  367. +pcbnew:
  368. Implemented: action for ID_POPUP_PCB_DELETE_MARKER
  369. 2007-Oct-27 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  370. ================================================================================
  371. + all:
  372. remove unused files.
  373. some translations
  374. +cvpcb:
  375. set flag wxFRAME_FLOAT_ON_PARENT when create the footprint 3D frame and the
  376. display frame
  377. minor other changes
  378. + pcbnew:
  379. Use collector class to locate items in modedit.
  380. This is a big enhancement,
  381. but a small work for me because Dick made all the work.
  382. 2007-Oct-26 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  383. ================================================================================
  384. + pcbnew:
  385. Add class_marker.cpp and class_marker.h and move MARQUEUR functions in class_marker.cpp
  386. Change MARQUEUR::HitTest to take in account the zoom level.
  387. change global var EDA_Appl to g_EDA_Appl
  388. 2007-Oct-25 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
  389. ================================================================================
  390. + cvpcb
  391. * Fine-tuned contents of dialog_display_options.cpp, dialog_display_options.h,
  392. and dialog_display_options.pjd, so that the controls within the associated
  393. ("Display Options") dialog box now also expand if that dialog is expanded.
  394. + all
  395. * The share/selcolor.cpp file (which is no longer used) has been removed, and
  396. replaced with share/selcolor.cpp.notused
  397. 2007-Oct-24 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  398. ================================================================================
  399. + cvpcb:
  400. 2 missing .prj files added (and updated)
  401. dialog_display_option.cpp is rebuild from its dialog_display_option.prj source
  402. 2007-Oct-23 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
  403. ================================================================================
  404. + eeschema
  405. * Sizers have now been provided for the "EESchema Preferences" dialog box,
  406. together with "OK", "Cancel", and "Apply" buttons. And an additional bitmap
  407. button and checkbox have also been provided for the purpose of editing the
  408. color and visibility of the grid.
  409. 2007-Oct-21 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
  410. ================================================================================
  411. + all
  412. * Provided an MAYBE_RESIZE_BORDER field within all of the .pjd files (used by
  413. DialogBlocks), and restored the MAYBE_RESIZE_BORDER field to cleaningoptions_dialog.h
  414. 2007-Oct-21 UPDATE Dick Hollenbeck <dick@softplc.com>
  415. ================================================================================
  416. + all
  417. added UIpolicies.txt
  418. 2007-Oct-21 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  419. ================================================================================
  420. + pcbnew:
  421. rename dialog_clean_pcb.pjd to cleaningoptions_dialog.pjd,
  422. accordind to the corresponding cpp filename.
  423. enter the new tool tips in cleaningoptions_dialog.pjd.
  424. +all:
  425. USE_RESIZE_BORDER is now defined (default) in fctsys.h.
  426. Therefore, under windows, dialogs are now resizable (like under unix)
  427. 2007-Oct-21 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
  428. ================================================================================
  429. + eeschema & pcbnew & gerbview
  430. * Sizers have now been provided within the "Colors" dialog box.
  431. 2007-Oct-19 UPDATE Dick Hollenbeck <dick@softplc.com>
  432. ================================================================================
  433. + pcbnew
  434. * "Clean tracks" changed to "Track operations".
  435. * Housekeeping on clean.cpp completed.
  436. Added static void ConnectDanglingEndToVia( BOARD* pcb ) in clean.cpp which
  437. extends tracks to via centers. Call it from "extend to pads", works nice.
  438. * Added tooltip text to cleaningoptions_dialog.cpp's m_ConnectToPadsOpt
  439. but don't know if DialogBlocks will parse this backwards.
  440. * Made compilable, somebody broke #define VIA_???? s throughout. Would not compile.
  441. * SEGVIA::SetPos() & GetPos() added.
  442. 2007-Oct-17 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  443. ================================================================================
  444. + pcbnew:
  445. Removed enhancements in connectivity computation because
  446. rastnest computation does not work (errors) with short track segments
  447. (lenght < width) . This is not a bug, but an algorithm problem, so
  448. I must work on algos.
  449. 2007-Oct-17 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
  450. ================================================================================
  451. + pcbnew
  452. * Rolled back previous changes (made in revision 336) that edited the values of
  453. vias' Shape property (following feedback from Jean-Pierre Charras concerning
  454. the true significance of that property).
  455. 2007-Oct-13 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  456. ================================================================================
  457. + pcbnew:
  458. remove a change for Read VIA because via attributes
  459. (TROUGH VIA, BLIND VIA or BURIED VIA) are autorisations for layer connection,
  460. and are not a real layer indicator.
  461. If a via connect layers from copper to component, it can have a BURIED VIA attribute.
  462. the meaning is for this via the layer pair can be changed for other layer pair
  463. if after editing this via connect 2 tracks which are only int internal layers,
  464. its layer pair can be changed.
  465. If a via has a TROUGH VIA attribute, it connects ALL layers, whenever tracks
  466. connected to it.
  467. Note: curenty: only TROUGH VIA are handled.
  468. Other types (BLIND VIA and BURIED VIA) are only experimental.
  469. A **lot** of code is needed for a full support.
  470. enhancements in connectivity computation
  471. 2007-Oct-15 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
  472. ================================================================================
  473. + pcbnew
  474. * Made some changes involving vias so that these would have the correct value
  475. of the Shape property assigned to them - while being created, and while files
  476. are being saved, and while files are being loaded.
  477. 2007-Oct-14 UPDATE Dick Hollenbeck <dick@softplc.com>
  478. ================================================================================
  479. + pcbnew:
  480. * housekeeping and translation to English on bottom third of pcbnew/clean.cpp.
  481. No algorithm changes were intended, only improved readability.
  482. * my todo: figure out how to intercept double clicks on a wxWidgets text control
  483. so I can complete the work I started on MARQUEUR error tracking.
  484. 2007-Oct-13 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  485. ================================================================================
  486. + pcbnew:
  487. ratsnest.cpp translated into english.
  488. Many infos on the LEE algorithm used here added.
  489. todo (by myself): connect.cpp translation.
  490. onrightclick() bug (created by last change) solved: one could reselect an item,
  491. while moving a previously selected item (pcbnew crashes).
  492. 2007-Oct-13 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
  493. ================================================================================
  494. + eeschema
  495. * The previously provided "Quit" button within the "List of Material" dialog box
  496. has been replaced with "OK", "Cancel", and "Apply" buttons. Greater consistency
  497. has also been achieved after clicking on the "Create List" button; none of the
  498. prevailing settings are subsequently saved (previously, some, but not all, of
  499. the settings were subsequently saved). (However, settings can still be saved by
  500. clicking on either of the "OK" or "Apply" buttons instead.) Assorted cleanup
  501. and beautification of associated source code.
  502. * The genliste.cpp file (which is no longer used) has been removed, and replaced
  503. with genliste.cpp.notused
  504. 2007-Oct-12 UPDATE Dick Hollenbeck <dick@softplc.com>
  505. ================================================================================
  506. + all
  507. * m_NetCode is now private or protected throughout.
  508. added SetNet() and GetNet() to all classes which have this member name.
  509. ditto for m_Sous_NetCode, for which there is now SetSubNet() and GetSubNet().
  510. + pcbnew
  511. added more disambiguating text to the PcbGeneralLocateAndDisplay() popup
  512. menu for tracks. We need all the info we can get there I found after using
  513. the software for many hours.
  514. Jean-Pierre:
  515. I never thought I would find a greater problem in using Kicad than having to
  516. lay down all the ground and power tracks, rather that just linking vias into
  517. pre-established zones or "tagged layers".
  518. But I have, hundreds of my tracks and vias are showing
  519. unconnected under my BGA, (where say the track or via is NetCode==0) and it
  520. should not be, because the damn track ties the BGA pad to a nearby via.
  521. How can the software be made to think these three items are on the same net,
  522. without re-entering all the damn tracks?
  523. This issue has been coming up for months on the user list, it must be dealt with now.
  524. There is always the same lame answer, "make sure your tracks go to the center of the pads".
  525. Nonsense, the software picked the track end points, not me, and grid was on when it did it.
  526. There are bugs here.
  527. Does Recalcule_all_net_connexion() work, and why is not called from anywhere?
  528. 2007-Oct-11 UPDATE Dick Hollenbeck <dick@softplc.com>
  529. ================================================================================
  530. + pcbnew
  531. * D_PAD::Draw() refinements.
  532. * WinEDA_DrawFrame::SetToolID() will redraw the DrawPanel if the track
  533. button is selected or de-selected and the high-contrast mode is in play.
  534. * If high-contrast mode is in play, the Select Layer Pair dialog completion
  535. will redraw the DisplayPanel, now that SMD pads' colors are so dependent
  536. on these variables.
  537. 2007-Oct-11 UPDATE Dick Hollenbeck <dick@softplc.com>
  538. ================================================================================
  539. + pcbnew
  540. * D_PAD::Draw() so that it shows SMD pads as greyed out when in high contrast
  541. mode and not on current layer. Slight variation on this when laying down
  542. tracks: m_Route_Layer_BOTTOM or m_Route_Layer_TOP layers' SMD pads are
  543. not greyed out.
  544. * Changed English UI text for "Cotation" to "Dimension".
  545. 2007-Oct-11 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
  546. ================================================================================
  547. + pcbnew
  548. * The "Target Properties" and "Pads Global Edit" dialog boxes can now (otherwise)
  549. be cancelled by pressing the "Esc" key, and the caption of the "OK" button
  550. within the latter dialog box has been capitalised (so that an icon is now
  551. provided within that button within the Linux version of KiCad).
  552. * The pcbpiste.cpp file (which is no longer used) has been removed, and replaced
  553. with pcbpiste.cpp.notused
  554. + cvpcb
  555. * The affiche.cpp file (which is no longer used) has been removed, and replaced
  556. with affiche.cpp.notused
  557. 2007-Oct-11 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
  558. ================================================================================
  559. + pcbnew
  560. * The previously provided "Exit" button within the "Colors:" dialog box has been
  561. replaced with "OK", "Cancel", and "Apply" buttons, and the code for editing the
  562. visibility of the Grid layer from that dialog now is "cleaner" than before.
  563. Details associated with buttons within that dialog box moved from set_color.cpp
  564. to set_color.h (matching implementation for GerbView's corresponding dialog box).
  565. * Fixed bug which previously prevented the Copper layer from being selected as the
  566. current layer when only one copper layer is enabled (and made some modifications
  567. to the code for selecting the next copper layer and previous copper layer).
  568. + gerbview
  569. * The code for editing the visibility of the Grid layer from the "GerbView Layer
  570. Colors:" dialog box is "cleaner" than before, and assorted other beautification.
  571. + eeschema
  572. * The options.cpp file (which is no longer used) has been removed, and replaced
  573. with options.cpp.notused
  574. 2007-Oct-10 UPDATE Dick Hollenbeck <dick@softplc.com>
  575. ================================================================================
  576. + pcbnew
  577. * bug fix: prevent OnRightClick() from calling PcbGeneralLocateAndDisplay()
  578. when creating a new track.
  579. * bug fix: popup menu was not handling Mires, because the collector was not
  580. being asked to find them.
  581. * added TRACK::ShowWidth() and call it from BOARD_ITEM::MenuText(). There was
  582. not enough information in Selection Clarification at a busy junction to
  583. make a reasonable choice.
  584. * SEGVIA::MenuText() shows via width, rather than net_code.
  585. * Beautified ratsnets.cpp, I would like to understand it better. It would help
  586. if the comments were in English.
  587. + all
  588. * Changed English UI text "Mire" to "Target" according to this post:
  589. http://tech.groups.yahoo.com/group/kicad-users/message/1380
  590. * rewrote msgpanel.cpp so it retains wxStrings and therefore can repaint its
  591. window when being uncovered, resized or whatever.
  592. 2007-Oct-9 UPDATE Dick Hollenbeck <dick@softplc.com>
  593. ================================================================================
  594. + pcbnew
  595. changed pcbnew/onrightclick.cpp so that a right click only shows the
  596. Selection Clarification menu if there is no selected object or if the
  597. click is in a position different from where the selection was previously
  598. made.
  599. 2007-Oct-09 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  600. ================================================================================
  601. + eeschema:
  602. cross-probing minor bug solved ( due to last modification): pins/pads not probed
  603. 2007-Oct-08 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
  604. ================================================================================
  605. + gerbview
  606. Display on screen now updates properly (in Linux version) after clicking on
  607. the "OK" button provided within the "GerbView Layer Colors" dialog box.
  608. 2007-Oct-7 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  609. ================================================================================
  610. + eeschema
  611. create new file cross-probing.cpp
  612. move RemoteCommand() to cross-probing.cpp and create SendMessageToPCBNEW()
  613. + pcbnew
  614. bug in move pad fixed (could crash pcbnew)
  615. Small change in selection clarification (side effect removed):
  616. - Escape or click on title does not show the next popup menu.
  617. - the title is displayed under linux
  618. - definition CUIVRE_N translated into COPPER_LAYER_N
  619. 2007-Oct-07 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
  620. ================================================================================
  621. + all
  622. * Various dialog boxes can now (otherwise) be cancelled by pressing the "Esc" key.
  623. (Some dialog boxes still require attention in that regard though, so that task
  624. is not yet complete.) And the captions of the "OK" button within various dialog
  625. boxes have been fully capitalised (meaning that an icon is now provided within
  626. each of those buttons within the Linux version of KiCad).
  627. * DIALOG_STYLE (defined within include/wxstruct.h) now includes MAYBE_RESIZE_BORDER
  628. field. (Refer to 2007-Oct-2 UPDATE notes for the relevance of this.)
  629. * Beautification and house keeping.
  630. + eeschema
  631. * The editpart.cpp and libedpart.cpp files (which are no longer used) have been
  632. removed, and replaced with editpart.cpp.notused and libedpart.cpp.notused
  633. + cvpcb
  634. * Additional "OK", "Cancel", and "Apply" buttons have now been provided for the
  635. "Options" dialog box which lists various display options for footprints.
  636. + pcbnew
  637. * Invoking the "Select Layer Pair:" dialog box is no longer possible whenever only
  638. one (copper) layer is currently enabled. And it is no longer possible to select
  639. the same layer to be both the Top Layer and Bottom Layer (for any Layer Pair).
  640. * Deselecting layers during the "Swap layers" command is now more user-friendly,
  641. due to the provision of an additional "(Deselect)" radiobutton within the (child)
  642. "Select Layer:" dialog box (which is always invoked whenever a different
  643. radiobutton within the "Swap Layers:" dialog box is clicked on). (It had
  644. previously been necessary to cancel the "Select Layer:" dialog box before being
  645. able to click on the "Deselect" button within the "Swap Layers:" dialog box.)
  646. * Definition for NB_LAYERS changed from (EDGE_N + 1) to (LAST_NO_COPPER_LAYER + 1)
  647. (Although EDGE_N is currently the "last" layer, that wouldn't necessarily still
  648. be true if any additional layers are ever defined in the future.) And comparisons
  649. to 29 (or 28) have been replaced with comparisons to NB_LAYERS (when appropriate).
  650. + gerbview
  651. * The previously provided "Exit" button within the "GerbView Layer Colors" dialog
  652. box has been replaced with "OK", "Cancel", and "Apply" buttons; and both the
  653. visibility and color of the Grid layer can now be edited from the same dialog.
  654. * Deselecting (Gerber) layers during the "Export to Pcbnew" command is now more
  655. user-friendly, due to the provision of an additional "(Deselect)" radiobutton
  656. within the (child) "Select Layer:" dialog box (which is always invoked whenever
  657. a different radiobutton within the "Layer selection:" dialog box is clicked on).
  658. (It had previously been necessary to cancel the "Select Layer:" dialog box before
  659. being able to click on the "Deselect" button within the "Layer selection:" dialog
  660. box.)
  661. * The "Export to Pcbnew" command now requires at least one Gerber file to have been
  662. already loaded. And Gerber files can now be loaded into any of the 32 (Gerber)
  663. layers provided. (It had previously been necessary to avoid having any gaps within
  664. the sequence of used Gerber layers.)
  665. 2007-Oct-6 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  666. ================================================================================
  667. + pcbnew
  668. create new file cross-probing.cpp
  669. move RemoteCommand() and SendMessageToEESCHEMA() to cross-probing.cpp
  670. 2007-Oct-3 UPDATE Dick Hollenbeck <dick@softplc.com>
  671. ================================================================================
  672. + pcbnew
  673. made BOARD_ITEM::UnLink() virtual
  674. added BOARD_ITEM::DeleteStructure().
  675. added EDA_BaseStruct::DeleteStructList()
  676. deleted gerbview/struct.cpp, pcbnew/struct.cpp,
  677. BOARD::~BOARD() now deletes objects that it owns.
  678. Collectors now finds MARQUEURs also
  679. added MARQUEURS::Display_Infos()
  680. added MARQUEURS::HitTest()
  681. 2007-Oct-2 UPDATE Dick Hollenbeck <dick@softplc.com>
  682. ================================================================================
  683. + all
  684. The lack of border resizing in dialogs has been a problem. In my world,
  685. dialog boxes are resizable. I use large fonts, I like to see stuff.
  686. So now for __UNIX__ they are resizeable, for windows not.
  687. See fctsys.h and the #define for MAYBE_RESIZE_BORDER. For windows it defaults
  688. to zero which means resizeable is not featured. A compiler command line
  689. option of "USE_RESIZE_BORDER" can override this windows default.
  690. 2007-Oct-01 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  691. ================================================================================
  692. + pcbnew/eeschema
  693. Cross-probing pcbnew to eeschema:
  694. A left click on a pad in pcbnew moves the eeschema cursor on the corresponding component pin
  695. A left click on a footprint ref or value in pcbnew moves the eeschema cursor on the corresponding component ref or value
  696. A left ckick on a footprint moves the eeschema cursor on the corresponding component anchor
  697. + pcbnew
  698. removed drc.cpp change line 584, and translate comments in english.
  699. nothing broken:
  700. -> a pad with its netcode = 0 means the pad ** must be left unconnected ** (not attached to * a net).
  701. -> a track with its netcode = 0 means the track is not attached to a net (cannot be connected to any pad).
  702. 2007-Sep-30 UPDATE Dick Hollenbeck <dick@softplc.com>
  703. ================================================================================
  704. + pcbnew
  705. Added dedicated Show() function for SEGVIA. Enhanced BOARD_ITEM::MenuText()
  706. for SEGVIA.
  707. 2007-Sep-29 UPDATE Dick Hollenbeck <dick@softplc.com>
  708. ================================================================================
  709. + pcbnew
  710. * drc.c made a change near line 584 to comment out pt_pad->m_NetCode test against
  711. zero. This was preventing me from laying out my board. It's possible that
  712. this broke something else, but it is also clear that something was broke before
  713. this change, because I could not put down some tracks.
  714. * beautification, house keeping.
  715. 2007-Sep-29 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  716. ================================================================================
  717. + pcbnew
  718. create new file onleftclick.cpp
  719. move onleftcligk() and onleftDcligk() from edit.cpp to onleftclick.cpp
  720. 2007-Sep-27 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  721. ================================================================================
  722. + all
  723. test case for OnLeftClick() handling enhancements.
  724. TAB key removed, because is not needed for block selection and double click.
  725. (SHIHT ou CTRL or ALT key is sufficient to suppress the popup menu
  726. if needed for a double click )
  727. Some work is still needed, of course
  728. + pcbnew
  729. Color grid setting now works
  730. 2007-Sep-26 UPDATE Dick Hollenbeck <dick@softplc.com>
  731. ================================================================================
  732. + all
  733. test case for OnLeftClick() handling from a release circumstance.
  734. a few simple changes to void WinEDA_DrawPanel::OnMouseEvent( wxMouseEvent& event ),
  735. but they affect all programs in a subtle way.
  736. TAB key allow double clicking, but is not needed for block selection.
  737. + pcbnew
  738. GENERAL_COLLECTOR::GetCount() returns int, not unsigned. Was tired of the
  739. compiler complaining when using an int ndx.
  740. 2007-Sep-25 UPDATE Dick Hollenbeck <dick@softplc.com>
  741. ================================================================================
  742. + pcbnew
  743. * removed reference to global display options DisplayOpt.DisplayZones in
  744. collectors.cpp so collectors.cpp can continue to be used in multiple future
  745. (non-display related) general contexts. I don't want unnecessary dependencies
  746. in there. The way to completely ignore a type is to exclude it from scanList.
  747. The way to sometimes ignore a type is to add support for this in COLLECTORS_GUIDE.
  748. * Moved TYPEZONE to end of AllBoardItems, added GENERAL_COLLECTOR::AllButZones to
  749. provide support for DisplayOpt.DisplayZones.
  750. * Added aHotKeyCode to PcbGeneralLocateAndDisplay()
  751. + gerbview
  752. * viewer was getting stuck in a loop when loading a bad gerber file. Fixed
  753. the bug, but line 223 through 225 of readgerb.cpp needs review.
  754. * beautified a few files with uncrustify, (any I had to look at).
  755. 2007-sept-25 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  756. ================================================================================
  757. + pcbnew:
  758. * add class_board_item.cpp file and move BOARD_ITEM::MenuText() and BOARD_ITEM::MenuIcon() in it
  759. * Add zone detection, forgotten in PcbGeneralLocateAndDisplay()
  760. + class_collector.h:
  761. add void COLLECTOR::Remove( unsigned int item_position ), needed by zone detection, see PcbGeneralLocateAndDisplay
  762. 2007-Sep-25 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
  763. ================================================================================
  764. + gerbview
  765. The "Exit" button previously provided within the dialog box invoked from the
  766. "Preferences -> File ext" menu entry has now been replaced by "OK" and "Cancel"
  767. buttons. Similarly, the "Accept" button previously provided within each of the
  768. dialog boxes invoked from the "Preferences -> Options" and "Preferences -> Display"
  769. menu entries has now been replaced by an "OK" button. And each of those three
  770. dialog boxes can now (otherwise) be cancelled by pressing the "Esc" key.
  771. 2007-sept-22 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  772. ================================================================================
  773. + all
  774. * small change in hotkeys handling
  775. (Ki_HotkeyInfo: new member m_IdMenuEvent to call an existing event handler from a hotkey list)
  776. + eeschema:
  777. * added drag component in pop up menu and hotkeys
  778. * plot svg format: incorrect arc draw fixed
  779. 2007-Sep-22 UPDATE Dick Hollenbeck <dick@softplc.com>
  780. ================================================================================
  781. + pcbnew
  782. GENERAL_COLLECTOR::Collect() was skipping thru hole pads even though they
  783. were visible.
  784. Highlight tool now sends message to eeschema when a pad is selected.
  785. 2007-Sep-20 UPDATE Dick Hollenbeck <dick@softplc.com>
  786. ================================================================================
  787. + eeschema
  788. * beautify, add debug Show() functions, changed ReturnFieldName()
  789. to return "const wxString&" for speed, added GetFieldValue().
  790. * tracking down questionable behavior (a bug?) in erc regarding pwr_flag, still looking
  791. 2007-sept-20 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  792. ================================================================================
  793. + all
  794. * hotkeys handling finished
  795. + pcbnew
  796. * bug fix: a subtle bug in place via : partial drc only was made.
  797. 2007-Sep-14 UPDATE Dick Hollenbeck <dick@softplc.com>
  798. ================================================================================
  799. + pcbnew
  800. * controle.cpp, added Function AllAreModulesAndReturnSmallestIfSo() which is
  801. called from PcbGeneralLocateAndDisplay()
  802. * onrightclick.cpp changed to calls to BOARD_ITEM::MenuText(), and switched
  803. to member functions for createPopupMenus() so we can get all the state
  804. information we need for the proper menus.
  805. * BOARD_ITEM::MenuText() got new argument BOARD*, and elaboration for
  806. TRACKs and VIAs and Pcb Graphics.
  807. * Fixed a problem in GENERAL_COLLECTOR::Inspect() so it now knows that MODULEs
  808. have their own visibility controls (same for pads and pcb texts). This
  809. interpretation must always match the drawing code's interpretation.
  810. * Made TRACK::TRACK( const TRACK& ) protected to enforce use of TRACK::Copy()
  811. 2007-Sep-13 UPDATE Dick Hollenbeck <dick@softplc.com>
  812. ================================================================================
  813. + kicad
  814. * Inverted the logic associated with filters. Filters now enable a file
  815. in the project manager. The default is to ignore all files.
  816. * The filter for *.sch files is smarter, in that it looks to display only
  817. top level *.sch files, rather than all *.sch files.
  818. + Others
  819. More beautification
  820. 2007-sept-13 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  821. ================================================================================
  822. + all
  823. * EDA_BaseStruct.SetType() removed.
  824. The m_StructType member of class EDA_BaseStruct is no more modified in kicad.
  825. Now Virtual functions can be widely used.
  826. * The old EDA_BaseStruct.ReturnClassName() was removed.
  827. the virtual EDA_BaseStruct.GetClass() is used instead.
  828. + gerbview: hotkeys Ok.
  829. 2007-Sep-13 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
  830. ================================================================================
  831. + eeschema & pcbnew & gerbview
  832. A Cancel button has now been provided for the "Colors" dialog box, which also
  833. permits it to (otherwise) be cancelled by pressing the "Esc" key; the button
  834. whose color matches that of the color currently selected (for the layer being
  835. edited) also has the initial focus set to it.
  836. 2007-Sep-11 UPDATE Dick Hollenbeck <dick@softplc.com>
  837. ================================================================================
  838. + pcbnew
  839. * Changed PcbLocateAndDisplay() to be tool specific in its search and to present
  840. a popup menu when there are multiple items under the mouse. It is also
  841. a framework for future enhancements.
  842. @todo: grep for @todo and finish off those tasks.
  843. * Introduced a formal notion of "selected item". This is done with the addition
  844. of the WinEDA_BasePcbFrame::SetCurItem() function. So now you have to first
  845. select an item with the left mouse button before you attempt to use the
  846. right button popup menu. Right button no longer has an effect on the
  847. currently selected item. The currently selected item is shown in the MsgPanel.
  848. When none is selected, the m_Pcb is shown.
  849. * Tweaked the OnRightClick() popup menus so that the most likely choices are
  850. at the top.
  851. * Added wxString BOARD_ITEM::MenuText() const and BOARD_ITEM::MenuIcon() and
  852. both need more work, work which I will not have time to do.
  853. 2007-Sep-10 UPDATE Dick Hollenbeck <dick@softplc.com>
  854. ================================================================================
  855. + pcbnew
  856. * Searched and did not see any usage of TRACK::Copy(int), where int was other
  857. than '1', so renamed it to TRACK::CopyList(int) and commented it out because
  858. with int==1, this makes Copy(1) equivalent to the new Copy(void).
  859. * Made TRACK::Copy() capable of copying SEGZONE too.
  860. 2007-sept-10 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  861. ================================================================================
  862. + gerbview
  863. Programmable hotkeys added. Fixed a compilation probleme in ansi mode (non unicode mode).
  864. 2007-Sep-8 UPDATE Dick Hollenbeck <dick@softplc.com>
  865. ================================================================================
  866. + pcbnew
  867. * Made good progress in onrightclick.cpp for multiple items under the mouse.
  868. * Fixed some macros in macros.h so they can be followed with a semicolon and
  869. used like simple expressions.
  870. All changes not yet committed.
  871. 2007-sept-6 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  872. ================================================================================
  873. + eeschema & pcbnew
  874. Programmable hotkeys update.
  875. some features are still subject to change (mainly path for config files: see 2007-aug-30 UPDATE))
  876. The preference menu has a command to create and reread config hotkey files.
  877. the hotkey ? lists the current hotkeys.
  878. 2007-Sep-4 UPDATE Dick Hollenbeck <dick@softplc.com>
  879. ================================================================================
  880. + pcbnew
  881. * Made GENERAL_COLLECTORS_GUIDE and GENERAL_COLLECTOR useable. They can now
  882. serve as a fully functional replacement for PcbGeneralLocateAndDisplay(),
  883. see DEBUG code in BOARD_ITEM* WinEDA_BasePcbFrame::PcbGeneralLocateAndDisplay().
  884. * Made GENERAL_COLLECTOR capable of Collect()ing from a MODULE as well as a BOARD.
  885. * pcbnew/onrightclick.cpp changed English from "Free Module" to "Unlock Module".
  886. Next I hope to add some UI to handle multiple items under the mouse in onrightclick.cpp
  887. 2007-sept-04 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  888. ================================================================================
  889. + pcbnew
  890. better comments in editrack-part2 (the todo remark solved)
  891. + todo.txt: note about editrack-part2 modified (problem solved)
  892. 2007-Aug-31 UPDATE Dick Hollenbeck <dick@softplc.com>
  893. ================================================================================
  894. + pcbnew & gerbview
  895. * Added TRACK::Copy() which can copy a SEGVIA or a TRACK.
  896. * Changed export_to_pcbnew.cpp so it created a SEGVIA properly, a significant change.
  897. Moved and changed a big block of code in export_to_pcbnew.cpp so we can
  898. properly construct the SEGVIA(). Not tested.
  899. * Make EDA_BaseStruct::m_StructType private so we can trap where it is being
  900. changed. (It should never be changed after construction, see comment above
  901. EDA_BaseStruct::SetType().)
  902. 2007-Aug-30 UPDATE Dick Hollenbeck <dick@softplc.com>
  903. ================================================================================
  904. + pcbnew
  905. * Removed SEGVIA::IsViaOnLayer, and instead implemented an override to
  906. virtual BOARD_ITEM::IsOnLayer() called SEGVIA::IsOnLayer().
  907. * Tweaked TRACK::Visit() to not traverse the KICAD_T scan list and a
  908. corresponding change to BOARD::Vist() so we can now get VIA priority
  909. if desired. (Have to traverse m_Tracks twice, wonder if we could use
  910. two lists: m_Tracks and a new m_Vias?)
  911. * Changed signature of MODULE::Display_Infos( WinEDA_DrawFrame* frame ) so
  912. it gets called virtually with any BOARD_ITEM* which is actually a MODULE*.
  913. This was a bug.
  914. * With virtual functions, it is now critical that the correct object type
  915. be instantiated. This was not happening in ioascii.cpp when reading
  916. the vias. Bug fixed.
  917. * GENERAL_COLLECTOR getting closer to useable.
  918. 2007-aug-30 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  919. ================================================================================
  920. + eeschema & pcbnew
  921. more about programmable hotkeys.
  922. Most existing hotkeys are programmable and displayed in popup menus or tools
  923. Work still in progress but most features are ok.
  924. some features are not fixed (mainly the configuration files path, which is
  925. currently the home directory under unix systems and kicad/template under windows))
  926. 2007-Aug-29 UPDATE Dick Hollenbeck <dick@softplc.com>
  927. ================================================================================
  928. + pcbnew
  929. Started abstract class COLLECTORS_GUIDE.
  930. Renamed classtrc.cpp to classtrc.cpp.notused
  931. Changed some comments in class BOARD's header to english, clarifying
  932. linked list contents.
  933. 2007-aug-27 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  934. ================================================================================
  935. + all
  936. Display grid size in mils or mm in popup menu according to the current unit choice
  937. 2007-Aug-24 UPDATE Dick Hollenbeck <dick@softplc.com>
  938. ================================================================================
  939. + eeschema & pcbnew
  940. * Removed class EDA_BaseLineStruct, which brought no behavioral advantage, only data.
  941. Classes which were based on it got its data members added and their initializers.
  942. * Changed type of EDA_BaseStruct::m_StructType from int to KICAD_T which is an
  943. enum. This makes debugging easier since gdb will show the name of the
  944. KICAD_T rather than simply a number. Added NOT_USED = -1 to KICAD_T enum for
  945. 3d which was using -1.
  946. * More beautification using latest uncrustify and the committed uncrustify.cfg
  947. 2007-Aug-24 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
  948. ================================================================================
  949. + pcbnew
  950. A new option has now been provided which permits Gerber files to be generated
  951. in which the contents of the Edges Pcb layer are not also included with the
  952. contents of each other layer.
  953. 2007-Aug-23 UPDATE Dick Hollenbeck <dick@softplc.com>
  954. ================================================================================
  955. + eeschema & pcbnew
  956. * Fixed MODULE::Visit() and BOARD::Vist() so they traverse certain lists
  957. only once and they are working nicely now.
  958. * You can test the GENERALCOLLECTOR::Scan() code by compiling with DEBUG=1 on
  959. the command line and enabling the stuff near line 124 in
  960. pcbnew/controle.cpp, then watch Show( std::cout ) show the selected items in
  961. xml format on your console. (launch pcbnew from command line.)
  962. @todo:
  963. The layer selection mechanism used by the collector is still inadequate, so
  964. tomorrow I will add a new class COLLECTORS_GUIDE which can be used by a
  965. COLLECTOR to control its operation. It adds the concept of layer
  966. locking, even though PCBNEW does not support that in the UI yet.
  967. 2007-Aug-22 UPDATE Dick Hollenbeck <dick@softplc.com>
  968. ================================================================================
  969. + eeschema & pcbnew
  970. Things are still pretty transient, should be stable a day or two:
  971. * Fixed a filename case sensitivity problem that would show up on Linux
  972. but probably not on Windows: bitmap/Reload.xpm needed uppercase R.
  973. * Wedged a new class BOARD_ITEM underneath all PCB drawable classes. This is
  974. a big change and may introduce a bug or two, but it is worth it for the
  975. future, because we can add virtual functions there that do not impact
  976. the entire project (since everything is derived from EDA_BaseStruct).
  977. The corresponding class in EESCHEMA seems to be DrawPartStruct, so we had
  978. nothing in PCBNEW like that.
  979. BOARD_ITEM::GetLayer() and SetLayer() introduced, more functions to come.
  980. Much of this work is geared towards making collectors.cpp's ARROWCOLLECTOR::Inspect()
  981. very very simple, and that can be a model for future work.
  982. * Changed min() and max() macros to MIN() and MAX() because min() and max()
  983. are actually reserved according to the C++ standard! (and their usage prevented
  984. the use of #include <vector>).
  985. * Added files class_collector.h, collectors.h, and collectors.cpp.
  986. File collectors.cpp is still unfinished.
  987. * Started using a function and class comment style that will make sense to the
  988. Doxygen source code documenter program.
  989. * Beautified more un-beautified files.
  990. 2007-aug-21 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  991. ================================================================================
  992. + eeschema & pcbnew
  993. First version of programmable hotkeys by editing hotkey configuration files.
  994. some hotkeys are not programmable (Zoom)(work in progress)
  995. 2007-Aug-21 UPDATE Dick Hollenbeck <dick@softplc.com>
  996. ================================================================================
  997. + administrative
  998. Added copyright.h as a proposed copyright header for Mr. Charras's review.
  999. Added uncrustify.cfg, the configuration file for the "uncrustify" C++ beautifier.
  1000. 2007-Aug-20 UPDATE Dick Hollenbeck <dick@softplc.com>
  1001. ================================================================================
  1002. + pcbnew & eeschema
  1003. * Moved allowed m_Flags values from pcbnew.h, general.h, and eeschema/delete.cpp to base_struct.h
  1004. near m_Flags itself. Several of the flags values were changed. I am only
  1005. comfortable with this change if m_Flags is not written to disk anywhere,
  1006. and we need to give that some thought. If m_Flags is a memory only usage
  1007. and not saved to disk, then this change should be safe. I could not find
  1008. any case where m_Flags was being saved to disk, but I could have missed one.
  1009. The reason for the change was to consolidate into one place the allowed values
  1010. so that as new flags are allocated there is no conflict.
  1011. * Moved most all the pcbnew/affiche.cpp functions to virtual member functions of their
  1012. respective classes with the name Display_Infos().
  1013. * Moved GetEquipot() global function to BOARD::FindNet().
  1014. These changes are working towards a concise locate.cpp module, on the way
  1015. to implementing the multiple choice support. Mass edits should be slowing down
  1016. in a day or so.
  1017. 2007-Aug-20 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
  1018. ================================================================================
  1019. + eeschema & pcbnew
  1020. The comments provided within postscript files now fully comply with Adobe's
  1021. Document Structuring Convention.
  1022. 2007-aug-20 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  1023. ================================================================================
  1024. + eeschema & pcbnew
  1025. modify hotkeys.cpp code (large modifications).
  1026. Added: common code in hotkeys_basic.cpp (in common) and hotkeys_basic.h (in include)
  1027. In the future, i hope hotkeys will be programmed by a config file
  1028. + pcbnew
  1029. filename drc_dialog.prj changed to dialog_drc.prj
  1030. (according to the fulename dialog_drc.cpp and dialog_drc.h created by dialogblock from the .prj)
  1031. 2007-Aug-19 UPDATE Dick Hollenbeck <dick@softplc.com>
  1032. ================================================================================
  1033. + all
  1034. * Made BASE_SCREEN::m_CurrentItem private so we can force usage of the new
  1035. SetCurItem() function, and use it to put a breakpoint on the only place
  1036. that m_CurrentItem is changed, namely in the new SetCurItem() function.
  1037. ( Added new function GetCurItem() as well to class BASE_SCREEN in
  1038. drawpanel_wxstruct.h.) Using a stack trace at the breakpoint we can tell
  1039. who called it. There were in excess of 450 edits to get this done so I
  1040. had to commit it asap so other folks could get on with edits without a
  1041. merge conflict.
  1042. * Started work on the COLLECTOR class which will assist in giving a choice
  1043. in PCBNEW when there is more than one click candidate at the same mouse
  1044. or cursor coordinates. COLLECTOR not committed yet.
  1045. * More beautification.
  1046. * The mouse click and part synchronization from EESCHEMA to PCBNEW would
  1047. track fine but would not always position the PCBNEW part on screen. Now
  1048. we center it unconditionally. No change was made in the reverse direction
  1049. since that code uses the long established Find support.
  1050. 2007-Aug-14 UPDATE Dick Hollenbeck <dick@softplc.com>
  1051. ================================================================================
  1052. + eeschema & pcbnew
  1053. * Added mouse click, TCP/IP socket based, part synchronization in the reverse
  1054. of how it was working, so a mouse click on a module in PCBNEW will take
  1055. EESCHEMA to the part with the same reference.
  1056. * More beautification, working with developer of uncrustify. Almost ready
  1057. to add the customized uncrustifiy configuration file to this project.
  1058. * Fixed a bug in pcbnew/tracepcb.cpp's WinEDA_PcbFrame::Trace_Pcb( wxDC* DC, int mode )
  1059. which was using a bool for the MaskLay variable, causing through hole pads
  1060. on modules on copper layer not to be shown when the copper components were
  1061. set to invisible.
  1062. 2007-aug-11 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  1063. ================================================================================
  1064. + eeschema
  1065. modify hotkeys.cpp code.
  1066. 2007-Aug-10 UPDATE Dick Hollenbeck <dick@softplc.com>
  1067. ================================================================================
  1068. + pcbnew & common
  1069. Improved MODULE::FindPadOrModule().
  1070. Ran more source files through auto-beautifier.
  1071. Renamed dupltrac.cpp to dupltrac.cpp.notused.
  1072. 2007-aug-10 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  1073. ================================================================================
  1074. + eeschema
  1075. better hotkeys.cpp code.
  1076. 2007-Aug-09 UPDATE Dick Hollenbeck <dick@softplc.com>
  1077. ================================================================================
  1078. + pcbnew & common
  1079. Released the new Visitor paradigm. Wrote MODULE::FindPadOrModule() using
  1080. it.
  1081. 2007-aug-09 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  1082. ================================================================================
  1083. + eeschema
  1084. Some new hotkeys (see hotkeys.cpp).
  1085. Now, the key ? display the current existing hotkeys
  1086. 2007-Aug-08 UPDATE Dick Hollenbeck <dick@softplc.com>
  1087. ================================================================================
  1088. + pcbnew & common
  1089. * Renamed locate.cpp's distance() to DistanceTest() and moved it to trigo.cpp.
  1090. Pass more parameters to DistanceTest and removed globals that were used by
  1091. distance() in locate.cpp.
  1092. Moved and renamed DistanceTest function proto from protos.h to trigo.h.
  1093. * Implemented HitTest() for class_cotation, class_mire, and a few other classes
  1094. by factoring out existing code from locate.cpp. locate.cpp should operate
  1095. exactly the same as before.
  1096. * Improved or implemented the Show() function for several classes.
  1097. * Detected that the suspected class_module hit-testing bug was not real,
  1098. i.e. no bug found.
  1099. 2007-aug-08 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  1100. ================================================================================
  1101. + eeschema
  1102. bug in class_hierarchy_sheet.cpp.
  1103. + pcbnew
  1104. small change in block commands:
  1105. rastnest was updated for each footprint, while moving footprints.
  1106. Now it is updated at the end of changes.
  1107. enhancements in block.cpp and connect.cpp
  1108. 2007-Aug-07 UPDATE Dick Hollenbeck <dick@softplc.com>
  1109. ================================================================================
  1110. + pcbnew & common
  1111. * More searching work. Made HitTest() virtual. Factored out a HitTest()
  1112. function for both class_module and class_pad from existing code.
  1113. * Embellished the Show() function for several of the classes. Could be the
  1114. basis of a possible future XML export, but with the native format being
  1115. ascii already, this is of questionable value as an export.
  1116. * Discovered a long time existing bug in class_module hit-testing.
  1117. Still need to understand it. It could just be an improperly formatted module.
  1118. 2007-Aug-06 UPDATE Dick Hollenbeck <dick@softplc.com>
  1119. ================================================================================
  1120. + pcbnew & common
  1121. Started sketching out a new search architecture. To learn more:
  1122. look for "INSPECTOR" text in base_struct.h.
  1123. 2007-Aug-05 UPDATE Dick Hollenbeck <dick@softplc.com>
  1124. ================================================================================
  1125. + pcbnew & common
  1126. * Added some conditional DEBUG code for showing the pcb object tree in
  1127. simple XML format. See class EDA_BaseStruct's new Show() function.
  1128. * Changed the function name of Locate( const wxPoint& ref_pos ) to bool HitTest(..)
  1129. in both class_text_mod and base_struct.
  1130. * More beautification and commenting.
  1131. 2007-Aug-04 UPDATE Dick Hollenbeck <dick@softplc.com>
  1132. ================================================================================
  1133. + pcbnew
  1134. Read-ability formatting, I am playing with a C++ beautifier called "uncrustify".
  1135. I had to patch it and spent 2 days getting it configured. Patch not
  1136. sent upstream yet.
  1137. Fixed a bug in "display local ratsnest pad or module": if you had a small
  1138. module and the mouse clicked its reference text, the ratnest for
  1139. the associated module would not show. The work around was to add
  1140. support to Show_1_Ratsnest() so it could take a TYPETEXTEMODULE as
  1141. the result of the hit-testing. But I think a longer term better
  1142. solution will be to create a specific search function for this kind
  1143. of hit-testing, one which could disregard text and look only for
  1144. pads and modules.
  1145. 2007-aug-02 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  1146. ================================================================================
  1147. + pcbnew
  1148. Drc test now generates a DRC file report.
  1149. 2007-Jul-31 UPDATE Geoff Harland <gharlandau@yahoo.com.au>
  1150. ================================================================================
  1151. + pcbnew
  1152. Drill Map and Drill Report files now list the diameters of each drill in
  1153. the selected drill unit first, and then in the other drill unit.
  1154. Drill report files also now list the tool assigned to each drill, and
  1155. the correct hole count and oval count for each drill size; the
  1156. file creation date and the selected drill unit are also listed.
  1157. 2007-Jul-30 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  1158. ================================================================================
  1159. + pcbnew
  1160. Some file are added (missing .prj files)
  1161. Better Drc test:
  1162. Zones can be tested.
  1163. better pad to pad test.
  1164. 2007-Jul-25 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  1165. ================================================================================
  1166. ** Some minor enhancements
  1167. + pcbnew
  1168. In Drc diags, better (more explicit) messages
  1169. Change (and simplify) code in 'update' as well as 'insert' modules into main PCB from within the module editor,
  1170. because it had a bug (crashes when there was no footprint in pcb)
  1171. 2007-June-21 UPDATE Tim Hanson <tim@hardcarve.com>
  1172. ================================================================================
  1173. + pcbnew
  1174. 1. added button to 'update' as well as 'insert' modules into main PCB
  1175. from within the module editor. Made them functional, of course.
  1176. 2. added control-o, control-s & control-f to pcbnew,
  1177. though I'm not perfectly happy with the implementation -- wxwidgets puts
  1178. the control-characters in alphabetical order!
  1179. 2007-June-25 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  1180. ================================================================================
  1181. + pcbnew
  1182. minor enhancement in Edit footprint dialog (more help tool tips).
  1183. better hotkey.cpp (code cleaning and info messages)
  1184. 2007-June-19 UPDATE Dick Hollenbeck <dick@softplc.com>
  1185. ================================================================================
  1186. + pcbnew
  1187. After locking a module with 'L', update the status window with the locked
  1188. status. Side step some asserts from wxWidgets which were happening when
  1189. running compiled for debug.
  1190. 2007-June-16 UPDATE Richard A Burton <richardaburton@gmail.com>
  1191. ================================================================================
  1192. + pcbnew
  1193. fix debug assert starting pcbnew with wx2.6
  1194. + build
  1195. add install targets for resources and docs
  1196. 2007-June-15 UPDATE Dick Hollenbeck <dick@softplc.com>
  1197. ================================================================================
  1198. + pcbnew
  1199. ** only modules on the present layer are subject to individual module
  1200. moves, rotations, or layer swaps, with the 'M', 'G', 'R' or 'S' hotkeys.
  1201. ** only unlocked modules are subject to the individual module moves,
  1202. rotations, or layer swaps, with the 'M', 'G', 'R' or 'S' hotkeys.
  1203. ** implemented the 'L' hotkey to quickly lock or unlock a module,
  1204. just by hovering over it and hitting the 'L' or 'l' key. The lock is
  1205. toggled.
  1206. ** Enhanced locate.cpp's Locate_Prefered_Module(BOARD * Pcb, int typeloc)
  1207. significantly, it now has a widely ranging behavior based on the
  1208. typeloc argument.
  1209. 2007-June-14 UPDATE Igor Plyatov <plyatov@mail.ru>
  1210. ================================================================================
  1211. + eeschema
  1212. Added sorting by value or position in to the annotation window
  1213. (Thanks for patch to Andrey Fedorushkov).
  1214. 2007-June-13 RELEASE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  1215. ================================================================================
  1216. +All:
  1217. merging my development with svn version
  1218. + pcbnew:
  1219. bug fix (problem in postscript generation due to the internationalization
  1220. of floating point number notation )
  1221. added tool to select layer pair and monitor active layer
  1222. + eeschema
  1223. bug fix:
  1224. crash libedit when loading certain components (linux only)
  1225. incomplete generation of erc file list
  1226. 2007-June-13 UPDATE Richard A Burton <richardaburton@gmail.com>
  1227. ================================================================================
  1228. + build:
  1229. dynamic linking by default, use make -f makefile.gtk KICAD_STATIC_LINK=1
  1230. or uncomment the bit in libs.linux for static
  1231. 2007-June-11 UPDATE Richard A Burton <richardaburton@gmail.com>
  1232. ================================================================================
  1233. + build:
  1234. removed several 2 line scripts for configuring wx builds and put them in
  1235. how-to-build-kicad.txt
  1236. improved KICAD_STATIC_LINK handling so it can be overridden on the command
  1237. line e.g. "make -f makefile.gtk KICAD_STATIC_LINK=0"
  1238. 2007-June-11 UPDATE Dick Hollenbeck <dick@softplc.com>
  1239. ================================================================================
  1240. + Started this change log file.
  1241. 2007-June-5 UPDATE Richard A Burton <richardaburton@gmail.com>
  1242. ================================================================================
  1243. + pcbnew:
  1244. fixed 3d-display image export (blank box in image)
  1245. + build:
  1246. fixed makefile clean targets so they don't fail if already clean
  1247. fixed wx2.6 compatibility
  1248. 2007-May-25 RELEASE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
  1249. ================================================================================
  1250. + pcbnew:
  1251. bug: problem with 3D shapes.
  1252. + Gerbview:
  1253. Better (but crude...) support to export gerber files to pcbnew.