* Replace the wxListCtrl with a wxTreeListCtrl, allowing expandable categories
in a future change.
* Clean up the code to make HOTKEY_LIST_CTRL function a bit better on its own.
* Migrate the hotkey dialog to TransferData{To,From}Window, use matching
TransferData{To,From}Control methods on HOTKEY_LIST_CTRL so it is easy to
embed.
1. Fixed an assumption somebody originally made in the plugin that std::string had contiguous storage. This is not specced behavior pre C++11 so we gamble by calling .reserve() which should give a far better guarantee.
2. Added copy to clipboard information for curl
3. Removed some openssl references in compiling.md
4. Renamed struct vars to be uppercase to match "public var" code style policy
* Create base class EDA_PATTERN_MATCH to hand multiple pattern matching methods.
* Create classes for regular expression and wildcard pattern matching.
* Add new pattern matching semantics to component select dialog.
* Thanks to Henner Zellar <h.zeller@acm.org> for improvments to the original patch.
non-transformed S3DMODEL for rendering.
+ S3D_CACHE now caches S3DMODEL and returns a pointer to a single
instance of the S3DMODEL for repeated calls to Prepare()
+ Beginning the VRML Plugin
In polygon calculations (combining polygons, fracture) the mode of calculation (fast or strictly simple polygon option) as no more a default value, because choosing the best mode is better to optimize the calculation time.
'GetVersion'.
+ Introduced normal calculations. This is buggy due to multiple equal
face normals distorting the vertex normal; this will be fixed by
removing the redundant face normals from the calculations.
* Rename Eda_FileSelector to EDA_FILE_SELECTOR.
* Add optional pointer to wxString to save the most recently used path to EDA_FILE_SELECTOR.
* Rename Eda_DirectorySelector to EDA_PATH_SELECTOR.
* Replace wxGetCwd() with wxStandardPaths::GetDocumentsDir(). This fixes the windows issue
where wxGetCwd() returns the path where the executable files are located.
* Add code to handle most recently used path to EDA_BASE_FRAME.
* Fix string formatting error in kicad/files-io.cpp.
* Remove setting and restoring current working directory when launching GerbView. Setting the CWD
has no effect on the launched executable which starts with it's own CWD.
* Allow project path to be passed to GerbView when launched from KiCad.
* Note: this is a work in progress. Do not expect every path and/or file selection dialog to properly
update the most recently used path. The correct solution to this problem requires a much more
well though out solution which will not happen until after the next stable release.
* SearchHelpFileFullPath(): clean up platform specific path code, add executable path sans bin
directory on non-osx platforms, and move KICAD path variable to the beginning of the search
list.
* Minor search stack debug output improvements.
* Push center on zoom, use middle mouse button to pan, limit panning, and
pan while moving object settings from schematic editor to symbol library
editor and symbol library viewer child windows.
* Push center on zoom, use middle mouse button to pan, limit panning, and
pan while moving object settings from board editor to footprint library
editor and footprint library viewer child windows.
PAD_SHAPE_T and PAD_ATTR_T still have a double definition (new names and old names) to be sure python scripts are nor broken by the change.
PAD_DRILL_SHAPE_T does not have a double definition, because it is unlikely oblong holes are used in python scripts.
Double definitions will be removed in the (next) future.
Fix an issue when a .kicad_pcb file contains an incorrect fpid ( containing a '/ ' in footprint section ) . After saving the board the file was no more readable, due to a broken fpid saved in file
(can happens in old .kicad_pcb files, coming from the bzr 4022 stable version, and/or in files converted from an other EDA tool like altium)
Fix 2 very minor coverity warnings.
* Remove ENVIRONMENT_VARIABLE_CHAR_VALIDATOR::OnChar() because it was skipping
the filtering of the first character. Not sure what was going but this seemed to fix the issue.
* Added environment variable name test to DIALOG_ENV_VAR_CONFIG::TransferDataFromWindow
because apparently validators do not get called in wxGrids even whe the extend window style
wxWS_EX_VALIDATE_RECURSIVELY is set.
* Set the default button using wxFormBuilder since the OK button is not part of a wxStdDialogButtonSizer.
* Minor improvements to the HTML help dialog.
* Fix assertion when calling HTML help dialog. Apparently any dialog derived from DIALOG_SHIM must
have a KIWAY top level window as a parent.
In 3D viewer, this option can take a *very long* calculation time (minutes instead of seconds, or hangs) and they are now using aFastMode = true to do polygon calculations, especially for zones inside zones belong to the same net but having different priority (which creates weak polygons).
aFastMode = false is the default for other calculations (zone filling) as before.
* Adds a "Grid Reference Point" to the VRML export; this allows a user to specify the (X,Y) coordinate which will be the origin point on the output
* Adds a "Grid Reference Point" to the IDF export; this is similar in purpose to the corresponding VRML export feature.
* Replace module nomenclature with footprint for improved consistency.
* Replace abbreviations in control text.
* Replace exchange nomenclature with change.
* Add code to allow each editing window it's own undo/redo count.
* Add code to allow for infinite undo/redo when count is set to 0.
* Add edit control to all editing windows general options dialog for
user configuration of undo/redo count.
* Add code to save and restore undo/redo count for each editing window.
Also add PAD_SHAPE_<PADSHAPE> equiv to PAD_<PADSHAPE> and PAD_ATTRIB_PAD_<PADATTRIB> equiv to PAD_<PADATTRIB>
(<PADSHAPE> = ROUND, RECT... and <PADATTRIB> =SMD, CONN ... )
* Update cross-hair position when using mouse wheel to pan.
* Add ugly hack when mouse cursor enters canvas to force the cross-hair visibility counter
back to zero. There was a bug on Windows when using the middle mouse button to pan
and the user released the middle mouse button off of the canvas, the cross-hair would no
longer be displayed until the window was closed and reopened.
Now all are calculated using the top to bottom draw Y axis. This is perhaps not a good idea, but at least it will be easy to change, later.
Code cleaning relative to these bounding boxes.
* Remove global s_NetObjectslist.
* Separate out non-owning version of NETLIST_OBJECTS_LIST into NETLIST_OBJECTS.
* Fix double free pertaining to ~NETLIST_READER().
* Remove all file-io from CvPCB.
* Remove exe launcher cvpcb, retain only cvpcb.kiface, since cvpcb.kiface has no file i/o.
* Add void CVPCB_MAINFRAME::KiwayMailIn( KIWAY_EXPRESS& mail ) and teach it to use old
netlist loading code with a STRING_LINE_READER LINE_READER.
* Fix BEGIN_EVENT_TABLE( CVPCB_MAINFRAME, KIWAY_PLAYER )
* auto-save was broken for all sub sheets with are in a sub-directory of the project directory. (reason wxFileName::Normalize(), used to create the absolute path has issues with filenames starting by '$', perhaps due to env var which also start by $). the auto-save prefix is modified ( now AUTOSAVE_PREFIX_FILENAME which defines "_save_" ) and defined only once.
* auto-save files from sub-sheets were not found due to the fact the path was not set (fixed by Blair Bonnet's patch)
* Use only double to store zoom levels in class BASE_SCREEN (int type is not working for eeschema or page layout editor) (this fix Bug #1450551, Assertion failed on wxRound() when zooming)
* Fix crash in all apps but Pcbnew when a grid or a zoom was selected from the popup menu.
* Modify default hotkeys for Next Grid and Previous Grid: the initial key was a dead key, not suitable as hotkey. the 'N' and Shift N keys are used instead (with a change for unfill zone hotkey)
* Modify code in EDA_DRAW_FRAME::SetNextGrid() and EDA_DRAW_FRAME::SetPreviousGrid() to make them compatible with other editors than the board editor.
* Add code to test if any of the components in the schematic cache have been changed
in the component libraries.
* Prompt user to accept or reject components when changes are found.
* If the user chooses to use the components in the cache, create a new library with the old
components and add it to the beginning of the component library list so the schematic will
not be changed.
* Create dialogs to handle user feedback and status.
Previously, only the lib named "power" was used (and therefore power parts defined in other libs not shown).
Now, all power parts can be loaded from any library.
Also, when loading power parts from the chose component dialog or the lib viewer, libs and parts are filtered: only power parts and libs containing power parts are listed.
Hotkeys: move a few global strings in the files where ther are actually used (and make them local.) and code cleaning.
Fix a few other minor issues.
Modedit, GAL mode: fix a crash when a duplicated area includes the ref or value fields.
Add missing bitmap for pad enumerate.
fix bad flag for Portuguese language.
Fix a few typo in messages.
* Create new dialog to edit environment variables.
* Add helper class ENV_VAR_ITEM to manage environment variable values and
if they were defined externally.
* A path configuration dialog access to KiCad, CvPcb, Pcbnew, and Footprint Editor
window menus.
* Add validator for environment variables.
these options are used in GAL mode, but the usercannot control this visibility. So if the board file does not have these visibility flags set, the GAL never show them.
Fix also a compil warning.
legacy plugin: better compatibility with old brd files (current track width and current vias size, stored in SETUP section, were not read from file and incorrectly set)