Commit Graph

521 Commits

Author SHA1 Message Date
Fabrizio Tappero d2d665e540 library option reviewed and renamed, minor menu text changes 2017-09-19 08:11:24 -04:00
Seppe Stas 3b7fbad1b9 Improve template selector for macOS
Fixes: lp:1492577 (and probably also lp:1672116).
*https://bugs.launchpad.net/kicad/+bug/1492577
*https://bugs.launchpad.net/kicad/+bug/1672116

- Fixes a race condition causing the wrong page to be selected in
  `OnPageChange`
- Allows the validate path and browse button to refresh the
  template page even when the path was not changed. This is needed
  since on OSX the page needs to be active for the templates to be
  rendered.
2017-09-18 16:40:50 +02:00
Michael Kavanagh b6029cd8ac Minor UI improvements 2017-09-14 07:38:56 -04:00
Wayne Stambaugh 8d14751352 Fix missing project file when creating a new project.
Fixes lp:1714522

https://bugs.launchpad.net/kicad/+bug/1714522
2017-09-01 15:31:03 -04:00
metacollin a490144183 fix missing parenthesis in a "#if defined (__WXMAC__)" block 2017-09-01 11:15:51 +02:00
Wayne Stambaugh bd64b70f0b Prevent KiCad from creating an empty project file history entry. 2017-08-31 11:33:39 -04:00
Wayne Stambaugh 525e04ce75 Prevent KiCad from overwriting existing files with template files.
Add tests to check for existing files before copying template files.

Split load project, create new project, create new project from template,
and load project from history command events into simple methods that
perform the correct actions before loading the project.  This greatly
simplifies the code.

Create a load project method that can be called from the event handlers
above.  This simplified a lot of duplicate code that existed in many of
these event handlers.

Remove the dummy "noname.pro" file creation which created required some
ugly code to prevent this file from being created unexpectedly.  Now
KiCad launches without setting a project file name when appropriate.

Fixes lp:1713951

https://bugs.launchpad.net/kicad/+bug/1713951
2017-08-31 11:15:20 -04:00
jean-pierre charras 50164e9968 Add Gerber job file writer in Pcbnew, and a basic reader in Gerbview. Currently disabled
Fix also very minor issues in Gerbview
2017-08-30 11:04:33 +02:00
jean-pierre charras 622ba4f11b kicad: create zip archive: test for write file error 2017-07-24 09:20:44 +02:00
Oliver Walters 29557e4d9e Fixed button sizing for launcher panel
- Increased expansion so bitmaps are fully visible
2017-06-05 09:29:45 -04:00
Fabrizio Tappero ac9a64a173 general UI fix. Fixed a lot of icons and a lot of menu.
Also a few no longer used .cpp icon files are removed.
2017-06-02 11:51:11 +02:00
Oliver Walters e6baaa6164 Improved button layout on splash screen
- Simplified code
- Button bar expands to fill entire screen width
2017-05-30 08:13:32 -04:00
John Beard e98ae3e463 Move executable name constants to own file
The executable name constants are only used by two files, they do not
have to be in common.h.

Also converted to const wxString for better type-safety and removed
old-style wxT macros.
2017-03-23 09:23:45 -04:00
John Beard ece7eeb280 Move SystemDirsAppend to own header
This function is called only from three sites, it doesn't need to be in
common.h.

The implementation was already in systemdirsappend.cpp, so a matching
header was created for it.

This reduces the visibility of the function to only the files that need
it and slightly shrinks common.h.
2017-03-23 09:23:45 -04:00
Chris Pavlina 74dfe80e21 Fix warning about creation of null reference
This is a code path that should never run.
2017-03-17 22:15:23 -04:00
jean-pierre charras 4eeed8d04f Icons options menu: code rework 2017-03-03 14:18:25 +01:00
jean-pierre charras e7e972804a Make show/hide icons in menus a run time option, instead of compil option. 2017-03-02 15:45:54 +01:00
jean-pierre charras 11dcb76fc9 Add -Wshadow compil option, if exists to warn about shadowed variables.
Swig auto generated .cxx file has a lot of shadowed variables, so this option cannot be used to compil all files.
2017-02-23 13:17:23 +01:00
Jon Evans a52250a91e Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support
eeschema now supports arbitrary colors for all object types, and
pcbnew does in GAL canvas.  When switching from GAL to legacy canvas,
pcbnew will convert colors to the nearest legacy color.
2017-02-22 17:35:00 +01:00
John Beard a8eea6155a Move bitmaps.h out of base_struct.h
bitmaps.h was included in nearly every file in the project due to it
being included by base_struct.h

Only about 130 files actually use the XPM definitions defined there, and
many of those already included bitmaps.h themselves, or via
menu_helpers.h. However, touching bitmaps.h would result in over 400
rebuilt files for pcbnew alone.

This commit moves the bitmap-related types like BITMAT_DEF out to a new
header, which is still included by base_struct.h, which is less
avoidable for now, it's it's used in the interface.

The icon list is still in bitmaps.h. This has the side effect that's
it's now easier to automatically generate this file.

Many classes in pcbnew and eeschema needed some functions moved
to the implementaitons from the headers too.
2017-02-21 09:50:15 -05:00
jean-pierre charras dba49ab299 fix incorrect wxWindow style for TREE_PROJECT_FRAME 2017-02-21 09:37:13 +01:00
Clemens Koller d99da201fb kicad: tree_project_frame: fixup drawframe style.
wxNO_BORDER and wxSW_3D seem incompatible and the border flickers
when the tree frame gets resized. Using KICAD_DEFAULT_DRAWFRAME_STYLE
avoids this.

Signed-off-by: Clemens Koller <cko@embeon.de>
2017-02-18 18:07:26 -05:00
Chris Pavlina b7edc464b0 kicad: menu bar UI compliance tweaks 2017-02-07 16:38:27 -05:00
Cirilo Bernardo 48ed9f080e Add Help Menu item to open browser at kicad-pcb.org/contribute 2016-10-10 19:01:45 -04:00
Fabrizio Tappero 194bd1d617 Minor menu text consistency improvements. 2016-10-10 18:54:58 -04:00
Chris Pavlina 52aa4ecdf4 Unify window title formats
Most window titles are now of the format "Application — file [info]",
with adaptations as necessary. Version information has been removed from
titles.
2016-09-26 17:28:25 -04:00
Simon Richter ad088db6d2 Add more "override" markers. 2016-09-25 13:59:41 -04:00
Simon Richter 59c81976dc Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
Dick Hollenbeck 7311f07eaf SWIG Improvements
*) Extend SWIG support deeper into the BOARD class.
*) Move swig *.i files into a directory identified for SWIG, in preparation
   for a parallel universe involving Phoenix's SIP.
*) Move swig files which will be common to both eeschema and pcbnew into
   common/swig.
*) Sketch out a "common" python module, and plan on dovetailing that into a
   libkicad_shared.{dll,so}
*) Add common/swig/ki_exceptions.i and define a macro HANDLE_EXCEPTIONS()
   which is to be applied to any function which needs C++ to python
   exception translation.
*) Move the test for SWIG tool into top level CMakeLists.txt file for use
   in all python modules beyond pcbnew, i.e. eeschema and common.
*) Add SWIG_MODULE_pcbnew_EXTRA_DEPS which generates a better Makefile, one
   which rebuilds the swig generated *.cxx file when one of its dependencies
   change.
*) Re-architect the board.i file so that it can be split into multiple *.i
   files easily.
*) Make some KIWAY from python progress, in preparation for Modular KiCad
   phase III.
2016-09-20 11:59:43 -04:00
Dick Hollenbeck 9ad49dc2d1 Split IO_ERROR out of richio.* and store Problem() and Where() separately 2016-09-20 11:56:18 -04:00
jean-pierre charras 3f104448df Rename libedit_icon to icon_libedit, bo be consistent with other icon names. 2016-09-20 13:23:17 +02:00
jean-pierre charras 48f916bd63 Kicad manger: add .cir netlist files to the list of files to show in project tree.
Simulator: open/save worbook file dialog: the dialog opens the current project folder by default.
2016-09-17 09:34:16 +02:00
jean-pierre charras 3389529643 Kicad project manager: when creating a new project, creates a better empty .sch file compatible with the new schematic legacy file parser. 2016-07-20 09:05:42 +02:00
jean-pierre charras 7fd30e6dc0 Fix a (minor) issue in Kicad manager: when the schematic editor or the board editor are run from the project tree frame to edit files of the current project, editors are opened on the background. 2016-06-17 19:58:14 +02:00
Wayne Stambaugh 66f8a0c1b5 KiCad: fix segfault bug when switching from remote to local project.
* Deleting the wxFileSystemWatcher when switching from a remote project to
  a local project caused KiCad to segfault.  Switching from a local project
  to a remote project did not cause KiCad to crash.  The fix was to clear all
  of the file system watcher paths instead of deleting and creating a new file
  system watcher object between project changes.  The object still crashes on
  exit when deleted in the main window dtor.  Allocating the file system
  watcher object on the stack instead of on the heap did not make any difference.
2016-06-16 08:38:31 -04:00
Chris Pavlina 81144c2476 Move hotkey list from Preferences menu to Help menu 2016-06-11 21:22:13 -04:00
Wayne Stambaugh 21595f48d3 KiCad: fix crash when kiface libraries are missing. (fixes lp:1577786)
* An assumption was made that wxDynamicLibrary.Load() would always result in
  a wxLogSystemError on failure which was not always true.  The code now throws
  an exception which is caught by KiCad and an error message is displayed.  In
  the case where the wxLogSystemError is shown, there will be an annoying two
  error messages but that is better than a crash.
2016-06-10 13:47:19 -04:00
Simon Richter b9a6c4988f Avoid conflicting declaration for Pgm()
This function has two conflicting definitions in the "kicad" executable and
the other wrapper programs. As the kifaces can be loaded from either, this
silently assumes compatible data layout for the PGM_KICAD and PGM_BASE
types when passed by reference, which is valid only when the compiler is
aware of the cast.

If the return type is encoded in the symbol name (such as when using the
MSVC compiler), this also causes an error during linking, as the symbol
names no longer match.
2016-05-28 12:57:29 -04:00
Dick Hollenbeck 0715504a9e remove support for in processing setting of ld library path 2016-05-16 21:04:20 +02:00
Matthew Petroff db54f3e7a7 Correct multiple UI spelling errors 2016-05-02 10:01:43 -04:00
unknown baa5f0ddfb Fix typos in dialogs. 2016-04-21 09:32:29 +02:00
jean-pierre charras 95962cd2ba Very minor changes: minor coding style fixes, and remove a few local shadowed variables (mainly local variables having the same name in the same function) detected using " -Wshadow" gcc compil option ( No bug, just a better code readability ) 2016-04-12 17:50:42 +02:00
Cirilo Bernardo 968a18a859 Sync with main branch r6620 2016-03-14 19:00:24 +11:00
Simon Wells 145cd47d5c Move copy version information code to about dialog. 2016-03-11 11:40:24 -05:00
Cirilo Bernardo ec580cff50 Sync to main branch r6614 2016-03-11 09:37:12 +11:00
Simon Wells ef3aa01e7d Minor internal spelling correction 2016-03-08 14:03:16 -05:00
Cirilo Bernardo d0a2080823 Merge with main branch r6601 2016-03-01 11:44:15 +11:00
Bernhard Stegmaier 5b0a250609 Fix compilation and install for OSX plus general code cleanup 2016-03-01 10:08:19 +11:00
Simon Wells 4d2a05856f Minor CMake configuration file fixes.
* Move add_directory()s in main CMakeList.txt after all find_package()
  macros are run so all flags in the main CMakeList.txt are propagated
  to the sub-folder CMakeList.txt files.
* Remove commented out include of config.h
* Make the link maps only build on linux as -${TO_LINKER},-cref
  -${TO_LINKER},-Map=blah just gives warnings on osx w/ clang
* Make the link maps only build with flag -DKICAD_MAKE_LINK_MAPS is
  defined during CMake configuration as they are highly specific.
* Moved the code for setting link maps into the main CMakeList.txt
  file to avoid duplication.
* Removed -D__ASSERTMACRO__ from osx as its no longer needed
* Removed a couple of other OSX only things that wouldn't work anyway
* Moved set (BU_CHMOD_BUNDLE_ITEMS) to the main CMakeList.txt as
  otherwise it would only work for the KiCad build not the other
  applications
* Made KICAD_SCRIPTING_MODULES enable KICAD_SCRIPTING as currently if
  you have modules enabled without the scripting base it will on build.
  This could be changed to a fatal error saying you need to also enable
  scripting but it seems unnecessary.
* Removed duplication of pcbnew.py install code under modules and
  scripting since you can't have modules without scripting now
2016-02-29 14:08:03 -05:00
Simon Wells 1c0a0c4bfe Kicad: clean up include files. 2016-02-24 16:36:52 -05:00
Simon Richter 23e8c3ebf3 Executable icon resource build configuration fixes.
* The resource setting for bitmap2component is too late in the CMakeLists.txt,
  and is being ignored. Bitmap2component does not have an icon resource on
  Windows.  Moving the entire section resolves the issue.
* The other programs only have the mingw special case listed, not the generic
  declaration for the resource file so added them.
2016-01-28 11:53:24 -05:00
jean-pierre charras de0ac192fe Kicad manager: very minor fix: Change default accelerator key Ctrl+C to Ctrl+A to run the pcb_calculator utility.
Ctrl+C cannot be used here as accelerator, because it is captured by other widgets.
2016-01-21 15:36:46 +01:00
Chris Pavlina ee2752827a Remove old, empty header 2016-01-12 10:35:27 -05:00
jean-pierre charras 59d02cf1a4 Minor fixes:
* fix minor coding style issues.
* remove unused member in modview_frame.
* use different frame names in ctor of modview_frame and viewlib_frame depending on the fact they are built modal or not modal (allowing identifications when calling wxFindWindowByName)
* change questionnable code in  class_libentry.cpp.
* remove unused code in class_treeproject_item.cpp
2015-12-22 12:58:26 +01:00
jean-pierre charras c80d92e927 Kicad manager: fix a potential bug which could crash Kicad manager. math_for_graphics.cpp: remove useless includes. 2015-12-07 10:24:31 +01:00
jean-pierre charras d5aef07816 Kicad manager: fix a very serious bug which crashes Kicad when running and closing gerbview, pcb_calculator, bitmap2component or pl_editor, when the Kicad manager frame is not the top level frame (It happens very easily if eeschema or pcbnew is running, after opening and closing a dialog).
Fix a few wxWidgets asserts.
menubar in pcbnew: move the recreate .cmp file menu to export menu, and fixes its help comment which was fully outdated.
2015-11-15 19:04:19 +01:00
Simon Wells 96918d4a8a Changed the bundle identifier to org.kicad-pcb.<app> to follow the kicad domain name 2015-10-30 08:43:04 +13:00
Wayne Stambaugh 74f00d4027 Minor string and coding policy fixes.
* Make the about dialog help string consistent across all menus.
* Improve print preview window and print initialization error messages.
* The usual smattering of coding policy fixes.
2015-10-08 09:52:03 -04:00
Wayne Stambaugh 78dc14c078 GerbView: fix path bug due to quoted command paramaters.
* It appears the wxApp leaves the trailing double quote when handling a quoted parameter list
  that was causing the project path passed from KiCad to have a trailing double quote which caused
  a file read error.
* Remvoe all comments from source file gerbview/gerbview_frame.cpp.
* Remove unused and empty function GERBVIEW_FRAME::SetAllVisibles().
* Add path paramters to KiCad executable launcher so we can see the full command string.
2015-09-25 19:34:57 -04:00
Wayne Stambaugh a6a9d8eedf Default and most recently used path fixes. (fixes: 1494210)
* 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.
2015-09-25 15:38:09 -04:00
jean-pierre charras be8b0b4823 Fix Bug #1499788 ( Kicad manager unarchive files to home directory instead selected )
Fix a very minor issue about  accelerator key in help menu:  for "Eeschema Manual" of library browser it was "H". It is now "M" like in other help menus.
2015-09-25 20:45:45 +02:00
jean-pierre charras 1861f94ec1 Kicad: fix Unarchive file dialog fails to list zip files (Linux specific) 2015-09-23 11:26:50 +02:00
jean-pierre charras 37c8462c8b 3D viewe: Very minor fixes in 3D Display Options dialog. 2015-09-15 20:47:20 +02:00
jean-pierre charras f7b8ac52e1 Disable proxy menu in Unity window manager. Only usual menubar works with wxWidgets (at least <= 3.1). When the proxy menu menubar is enable, some important things for us do not work: menuitems UI events and shortcuts. Also issues when switching from Legacy to GAL display mode. 2015-09-14 09:58:31 +02:00
Simon Wells 906991c4ac moved m_bm.Init as it is not required before initPgm 2015-09-12 10:37:33 +12:00
Chris Pavlina 21b0818e58 KiCad: do not create noname.pro when no project file is defined.
* Disable Eeschema, Component Editor, Pcbnew, and Footprint Editor toolbar
  buttons and menu entries to prevent them from creating project, schematic,
  and/or board files.
2015-08-03 16:56:37 -04:00
jean-pierre charras 6dd0073130 Move the non shared file class_sch_screen.h to eeschema folder. Code cleaning. Remove some wxCHECK_VERSION tests now useless. 2015-07-29 20:06:45 +02:00
jean-pierre charras 3d17807fcc Fix Bug #1478709: http links in template description does not work.
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 ... )
2015-07-28 15:05:47 +02:00
jean-pierre charras 078429581d Kicad manager: when creating a new project, also creates (if not exist) the 2 main files: <project>.sch and <project>.kicad_pcb.
It should avoid the message dialog asking for creating files the first time eeschema or pcbnew are launched.
2015-07-27 09:59:11 +02:00
jean-pierre charras f18aef8182 Minor fixes: Bug #1478279 : wrong icon in "YES/NO" dialog; Bug Bug #1478278 (crappy warning/log messages) 2015-07-26 19:50:13 +02:00
Wayne Stambaugh ba32ccbbb2 KiCad: do not create noname.pro file in KiCad binary path. (fixes lp:1473079)
* If a valid project name was not specified or the default project name was not
  specified, do no automatically create noname.pro which ends up in the current
  working directory.  On Linux this is generally not writable by the user but on
  windows it usually is and create an unwanted noname.pro file.
2015-07-21 15:43:19 -04:00
Garth Corral 901e96126d Fix OSX Python scripting builds. 2015-07-08 13:44:55 -04:00
Marco Hess be01e15f66 KiCad: add html file support to tree view.
* Create bitmap for html files in tree view.
* Run default web browser when html files are double clicked.
2015-06-24 15:30:35 -04:00
jean-pierre charras 35fe8b7a36 Eeschema: fix a minor bug: the board editor was not launched from the toolbar, if the footprint viewer or the footprint editor was previously run from Eeschema. 2015-06-23 12:59:38 +02:00
Garth Corral d13a05093a Remove cvpcb.app from OSX bundle as it is no longer an executable. 2015-06-11 08:14:41 -04:00
jean-pierre charras 5d2500d7db Eeschema: fix Bug #1463158 (When a schematic hierarchy is being edited, Eeschema saves sub-sheets in the new project, when the user open a new project, and save the current editon).
This was due to the fact the project name was changed before the user was prompted to save the design.
A very minor other fix.
2015-06-10 18:21:35 +02:00
Dick Hollenbeck 8fb520249e Use KiwayExpress messaging for CvPcb footprint assignment instead of *.cmp file.
* 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 )
2015-06-07 14:18:45 -04:00
Wayne Stambaugh 4664b094ae Make KiCad template selection dialog translatable. Thank you Marco. 2015-05-26 09:59:01 -04:00
jean-pierre charras e74eccede3 Kicad manager: Allows the selection of templates paths, in template selector dialog. 2015-05-16 11:20:26 +02:00
Wayne Stambaugh ad9ec412f5 UI consistency and assertion fixes.
* Use "Close" in the file menu of every main frame window instead of the
  mismatch of the terms "Close", "Exit", and "Quit".
* Change the terminology in the Pcbnew graphic text edit dialog to match the
  module text edit dialog.
* Improve the layout of the Pcbnew graphic text dialog.
* Fix some wxPrintf parameter type assertions for 64 bit time_t.
* Fix all (at least I think I got all of them) duplicate menu accelerator
  characters.
2015-04-23 15:43:45 -04:00
jean-pierre charras 4daf9039db Eeschema: Fix a very old bug relative to the tool to load power parts:
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.
2015-04-16 17:26:51 +02:00
jean-pierre charras 9c0c89256e Make hotkeys editor titles translatable. 2015-04-14 19:44:19 +02:00
Wayne Stambaugh 45d0448bb9 Add path (environment variable) configuration dialog.
* 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.
2015-03-29 17:22:53 -04:00
jean-pierre charras 85bc2ae015 Rework on Gerber plot functions: add X2 attributes in J5 version. Minor code cleaning. 2015-03-25 14:07:05 +01:00
jean-pierre charras 9c43d6f22b Very minor fixes: 3D viewer: remove artifacts with NPTH pads having the save size as their hole. Kicad: remove duplicate submenu in menubar. remove a minor coverity warning 2015-03-23 09:28:12 +01:00
jean-pierre charras 0e03fbff07 Make hotkey string info translatable in dialogs. These strings are now prefixed by _HKI , which can be used by translation tools to extract them. 2015-03-22 15:04:09 +01:00
jean-pierre charras 3c4f76abe4 Fix a not shown dialog under XFCE and Unity. Make display hotkeys window not modal. 2015-03-15 12:41:06 +01:00
jean-pierre charras c7d04c3d08 Code cleaning: Remove EDA_BASE_FRAME::m_FrameName member which is a duplicate of wxFrame name. 2015-03-03 15:53:47 +01:00
jean-pierre charras 2804d2e566 Add hotkeys to Kicad manager, and some rework on hotkeys management. 2015-03-02 18:29:18 +01:00
Wayne Stambaugh 25b9a42ea3 More Coverity scan error fix goodness. 2015-02-28 15:50:35 -05:00
Wayne Stambaugh 9131d89e80 Make KiCad project tree tab traversable so mouse is not required to open files. (fixes lp:1426556)
* Add wxTAB_TRAVERSAL to TREE_PROJECT_FRAME ctor.
* Please note that there is still a focus issue when closing a child window (at least on
  windows) that prevents this from being an ideal solution.
* Minor code cleaning.
2015-02-28 14:00:48 -05:00
Bernhard Stegmaier 30acc07e11 Default path fixes and remove old to find 3D model path code.
* Fix default KISYSMOD/KISYS3DMOD (#ifdef typo) for OSX builds.
* Remove setting KIGITHUB from kicad/pcbnew Info.plist in favor of hardcoded default
  setting for OSX builds.
* Remove now unneeded Set3DShapesDefaultPath() and other small things.
2015-02-27 08:34:02 -05:00
jean-pierre charras ac539b9578 Minor and very minors fixes: move -DKICAD_USE_WEBKIT definition to the main CMakeLists.txt. Remove duplicate semi-colon at end of some lines. 2015-01-17 09:01:16 +01:00
Adam Wolf 1bcfd95675 Fix KiCad project file missing error meassage on first run and missing history file. 2015-01-07 13:11:30 -05:00
Adam Wolf 5f6f59ef2e Fix OSX bundle library write permission bug. 2014-11-06 13:36:07 -05:00
jean-pierre charras 24f516f6ae Fix many doxygen warnings (due to missing info, old comments, typo ...) when building the doxygen doc. 2014-11-02 17:25:04 +01:00
jean-pierre charras 045f7f0d4d Kicad manager, Gerbview: When running Gerbview from Kicad manger, set the Gerbview CWD to the current project directory.
Therefore, when trying to open Gerber files, the default directory is now thecurrent project directory.
(fix Bug #1380088 )
2014-10-28 20:29:44 +01:00
jean-pierre charras 71c4f49d1d Kicad manager: fix Bug #1385953 (unable to open .PDF files with spaces in name/path when using default PDF browser).
Fix also an issue when selecting preferred browser.
2014-10-27 10:32:24 +01:00
jean-pierre charras fa96780798 eeschema: fix Bug #1385789 (eeschema segfaults, when editing a new field). Fix an other minor bug in Footprint editor. 2014-10-26 12:42:25 +01:00
Wayne Stambaugh f12953855e More missing source license fixes. 2014-10-23 13:53:38 -04:00
jean-pierre charras c237838d00 python scripting: refinement for UTF8 class (from Miguel Ángel Ajo Pelayo) add __str__ method, usefull to print a UTF8 string.
Kicad manager: fix issues in file watcher: changes (adding/removing files)  in project folder not seen by Kicad manager (perhaps due to changes in internal wxWidgets code between 2.9.5 and 3.0).
2014-10-21 18:34:51 +02:00
Bernhard Stegmaier f06bfe6d70 Commit the rest of the OSX build fixes missed in the previous commit. 2014-10-17 13:45:33 -04:00
jean-pierre charras 4167080692 Kicad manager: fix Bug #1380935 (Archive function for projects strange behavior.)
Archive function now recurses project sub directories.
2014-10-17 14:52:11 +02:00
Berhnard Stegmaier b8d1789a22 OSX build fixes and improvements.
* Fix creation of single app bundle with respect to scripting support.
* Cleanup scripting search paths for OSX.
* Fix some small CMake bugs from previous OSX build change.
* Optimize bundle file structure to be consistent with Apple specs.
* Add helper script for compiling wxWidgets and wxPython
* Update OSX build instructions.
2014-10-08 14:41:36 -04:00
Bernhard Stegmaier 8b3c14c08b OSX build improvements.
* Compile all binaries into a single application bundle.
* Use CMake BundleUtilities to make application bundle relocatable.
* Restructure build output to directly create an image file.
* Fix default search paths.
* Set KIGITHUB environment variable.
* Added patch to fix wxWidgets so names for OSX.
2014-10-02 19:03:52 -04:00
jean-pierre charras d3f15f2146 Kicad manager: fix an issue when starting eeschema from its button: if the library editor was previously running, and if the quasimodal field editor dialog was called, eeschema did not start on Windows, or started but sometimes did not load the schematic project on Linux.
Enhancement : if a tool is running but is iconized, clicking on its button bring the window on screen. This was already the case on Linux, but on Windows, the iconized frame was staying iconized.
2014-09-16 11:25:49 +02:00
jean-pierre charras fe4c01a6f2 Kicad manager: fix an issue when starting eeschema from its button: if the library editor was previously running, and if the quasimodal field editor dialog was called, eeschema dis not start on Windows, or started but dis not load the schematic project on Linux.
Enhancement: if a tool is running but is iconized, clicking on its button bring the window on screen.
2014-09-16 10:34:51 +02:00
jean-pierre charras 1edd8c8ac8 Eeschema: remove the compil option KICAD_KEEPCASE. Eeschema is now always case sensitive when seraching components in libs.
However to be compatible with old versions of Eeschema, when a search in library fails, a case insensitive search is made.
Therefore, this version should be compatible with sch files created by previous Eeschema versions compiled with KICAD_KEEPCASE = OFF
2014-09-14 17:43:18 +02:00
jean-pierre charras da4055ae88 Kicad: refinements in project_template.cpp.
Eeschema: schematic libraries in a sub path of standard libraries paths are now better handled.
2014-09-07 18:56:55 +02:00
jean-pierre charras fc6d73813e Kicad: more understandable dialog when creating a project from template. Fix also a bug when copying and renaming template files.
Pcbnew: dialog to create new .pretty lib: fix an issue which prevent to open a full disk directory (at least on Windows)
2014-09-06 21:55:20 +02:00
jean-pierre charras 858e222ea7 all: fix Bug #1361233 (a template.pro copy file overwrite silently the current project file when a group info is not found, which is a bug, because this group could be just a new group, not yet used) 2014-08-26 09:40:31 +02:00
jean-pierre charras fafd19c616 Add patch from Mario Luzeiro to 3D viewer. Fix a serious issue due to duplicate ID used in menus and toolbars between sub-applications, related to wxUpdateUIEvent events loop.
wxUpdateUIEvent events can be sent to parent frames, when opening a menu in a child frame, if parent and child frame share same ID fro menuitems (or tools)
The wrong menuitem can be used in some cases ( because there are more than one menuitem with the same identifier), by a wxUpdateUIEvent event function run in a parent frame.
2014-08-19 16:51:15 +02:00
Dick Hollenbeck 9de02e88a3 open pcbnew with filename even when previously loaded with no filename. 2014-08-17 17:58:45 -05:00
Dick Hollenbeck 7e483f69bd Modular KiCad Blueprint Milestone B), major portions:
*) When kicad.exe closes a project, close any open KIFACEs so that they cannot
     get disassociated from their true PROJECT.
  *) Allow loading eeschema library editor from kicad.exe
  *) Allow loading pcbnew library editor from kicad.exe
  *) Rename LIB_COMPONENT to LIB_PART.
  *) Add class PART_LIBS, and PART_LIB.
  *) Make PART_LIBS non-global, i.e. PROJECT specific.
  *) Implement "data on demand" for PART_LIBS
  *) Implement "data on demand" for schematic SEARCH_STACK.
  *) Use RSTRINGs to retain eeschema editor's notion of last library and part being edited.
  *) Get rid of library search on every SCH_COMPONENT::Draw() call, instead use
     a weak pointer.
  *) Remove all chdir() calls so projects don't need to be CWD.
  *) Romove APPEND support from OpenProjectFiles().
  *) Make OpenProjectFiles() robust, even for creating new projects.
  *) Load EESCHEMA colors in the KIWAY::OnKiwayStart() rather in window open,
     and save them in the .eeschema config file, not in the project file.
  *) Fix bug with wxDir() while accessing protected dirs in kicad.exe
  *) Consolidate template copying into PROJECT class, not in kicad.exe source.
  *) Generally untangle eeschema, making its libraries not global but rather
     held in the PROJECT.
2014-08-13 15:28:54 -05:00
Dick Hollenbeck 57e537699e remove un-used member 2014-07-28 09:13:59 -05:00
Dick Hollenbeck 64e38bd741 KICAD_MANAGER_FRAME::SetProjectFileName() uses PROJECT::SetProjectFullName()
and forces absolute path.
2014-07-28 09:06:08 -05:00
Dick Hollenbeck c5e14ef180 wxJoin version dependency change 2014-07-14 10:03:51 -05:00
Dick Hollenbeck 853abdac24 kicad.exe work:
*) re-enable the MacOpen() support.
*) fix path truncation bug.
*) open *.kicad_pcb and *.sch files in the same process if they are part of the 
   the currently open project, even from the tree view.
2014-07-08 19:52:46 -05:00
Dick Hollenbeck acbe6290c5 switch back to original sexpr usage of PTREE, add new DSNLEXER constructor, enforce accessors in kicad.exe 2014-07-07 14:49:14 -05:00
Dick Hollenbeck 84a14c3a51 back annotation when CVPCB and EESCHEMA are running under KICAD 2014-07-06 23:12:04 -05:00
jean-pierre charras b50872edca Gerber output: Some changes after evaluation of Gerber files by Ucamco (the manager of GERBER format):
* default file ext is now .gbr (the "official extension")
* some outdated commands remoded.
* mainly use mm and 4.5 format instead of inches and 3.4 format. this is mandatory,
  because the 3.4 format (comming from old pcbned internal units) creates truncations in coordinates.
  (with serious issues in polygons which can appear self-intersecting afer truncation)
2014-06-30 12:00:21 +02:00
Dick Hollenbeck b9b80b48b7 change to fatal error in kicad/kicad.cpp Kiface() stub. 2014-05-27 00:05:41 -05:00
jean-pierre charras cfa67aa218 Pcbnew: plot dialog: remove obscure and useless option about texts which are not value or reference.
cosmetic enhancement in dialog.
page layout: fix bug Bug #1320839 (canvas refresh countinously called when moving an item)
2014-05-19 20:24:07 +02:00
Dick Hollenbeck c855824337 Try some new Mac support ideas. 2014-05-09 09:27:21 -05:00
Lorenzo Marcantonio 342016b692 Constification of HitTest and GetParent
In particular HitTest for zones *do not* select the nearest vertex/edge as a side effect
2014-05-04 19:08:36 +02:00
Dick Hollenbeck 991926d320 Modular-Kicad milestone B), major portions:
*) Rework the set language support, simplify it by using KIWAY.  Now any major
   frame with a "change language" menu can change the language for all KIWAY_PLAYERs
   in the whole KIWAY.  Multiple KIWAYs are not supported yet.

*) Simplify "modal wxFrame" support, and add that support exclusively to
   KIWAY_PLAYER where it is inherited by all derivatives.  The function
   KIWAY_PLAYER::ShowModal() is in the vtable and so is cross module capable.

*) Remove the requirements and assumptions that the wxFrame hierarchy always
   had PCB_EDIT_FRAME and SCH_EDIT_FRAME as immediate parents of their viewers
   and editors. This is no longer the case, nor required.

*) Use KIWAY::Player() everywhere to make KIWAY_PLAYERs, this registers the
   KIWAY_PLAYER within the KIWAY and makes it very easy to find an open frame
   quickly.  It also gives control to the KIWAY as to frame hierarchical
   relationships.

*) Change single_top to use the KIWAY for loading a KIFACE and instantiating
   the single KIWAY_PLAYER, see bullet immediately above.

*) Add KIWAY::OnKiwayEnd() and call it from PGM_BASE at program termination, this
   gives the KIFACEs a chance to save their final configuration dope to disk.

*) Add dedicated FRAME_T's for the modal frames, so m_Ident can be tested and
   these modal frames are distinctly different than their non-modal equivalents.
   KIWAY_PLAYER::IsModal() is !not! a valid test during the wxFrame's constructor,
   so this is another important reason for having a dedicated FRAME_T for each
   modal wxFrame.

On balance, more lines were deleted than were added to achieve all this.
2014-05-03 12:40:19 -05:00
Dick Hollenbeck a990c9f047 Reverse Marco's patch, pending a proper review of my last patch from an English speaking Mac developer. 2014-04-28 04:23:39 -05:00
Marco Serantoni 76771b856d [MacOSX] Fixing issue with kiface libs, now are symbolic linked to the owner bundle 2014-04-27 16:30:49 +02:00
Dick Hollenbeck 8f0a773bc4 Add custom target on linux to make build-dir symlinks. 2014-04-24 12:21:34 -05:00
Dick Hollenbeck 8416c5d655 Add diagnostic message for missing *.kiface, which is now a fatal installation bug. 2014-04-24 06:30:14 -05:00
Dick Hollenbeck e47a2bc5d4 happy Easter 2014-04-21 01:28:17 -05:00
Dick Hollenbeck a985255f95 add back missing pcbnew cross probing event handlers. eeschema launches kiface versions of pcbnew & cvpcb if not single. 2014-04-19 23:35:34 -05:00
Dick Hollenbeck 0d6560a218 *) Switch kicad.exe to using KIFACE modules for all major top level windows.
Eeschema, Pcbnew, and Cvpcb all run under the same process now,
    FOR THE VERY FIRST TIME!

*)  Added KIWAY::PlayerCreate(), PlayerClose(), and PlayersClose().

*)  Factored FRAME_T into <frame_type.h> from ID_DRAWFRAME_TYPE.

*)  Found that the following command line is helpful for collecting all the *.kiface
    files into the <build>/kicad/ directory so that kicad can find them.

      $ cp `find . -name '*.kiface'` kicad/

    Maybe somebody will want to rework how the CMake files are organized so all
    the binaries can go into the same place.  See python-a-mingw-us.

*)  This might fix the problem on the Mac where child process windows were not
    coming to the front.  See ->Raise() in kicad/mainframe.cpp.

*)  You can set USE_KIFACE to 0 in kicad/mainframe.cpp to chain load child exes
    instead of using the KIFACE modules directly, i.e. revert.
2014-04-19 13:47:20 -05:00
Dick Hollenbeck 5f65d0da93 *) Add KIFACE_I::StartFlags() and IsSingle() so a KIFACE implementation can know
if it is running under single_top.cpp or under a project manager.

*)  Test Kiface().IsSingle() when adding menus, some operations are not permitted
    when running under a project manager and the KIWAY_PLAYER is pegged to a
    specific project.

*)  Implemented KIWAY::KiFACE() so it loads *.kiface files.  They still have to be
    in the same directory as the main *.exe launcher, so this presents some difficulty
    when the binaries are not yet installed but rather the *.kiface files are still
    in their original build directories.  For today, I simply copied _pcbnew.kiface
    to build/kicad/.

*)  Add a test case to kicad/mainframe.cpp just to get an early peek at loading
    _pcbnew.kiface under the C++ project manager.  Got that working for one
    specific invocation just for proof of concept.  Surprise, it works.
2014-04-17 21:05:40 -05:00
Maciej Suminski e52d93429b The kicad.exe project manager was not finding the kicad.pro file because it did
not know where the template directory was.
2014-04-17 17:02:36 -05:00
Dick Hollenbeck c39385a5cd improve help file finding after kiway breakage. 2014-04-14 13:49:52 -05:00
Dick Hollenbeck 141f3fed45 some doxygen fixes, comment fixes 2014-03-20 09:18:32 -05:00
Dick Hollenbeck 6bfff89fe5 merge tip in, resolve. 2014-03-20 01:24:33 -05:00
Dick Hollenbeck 2c67c3ff80 * KIWAY Milestone A): Make major modules into DLL/DSOs.
!   The initial testing of this commit should be done using a Debug build so that
    all the wxASSERT()s are enabled.  Also, be sure and keep enabled the
    USE_KIWAY_DLLs option.  The tree won't likely build without it.  Turning it
    off is senseless anyways.  If you want stable code, go back to a prior version,
    the one tagged with "stable".

*   Relocate all functionality out of the wxApp derivative into more finely
    targeted purposes:
    a) DLL/DSO specific
    b) PROJECT specific
    c) EXE or process specific
    d) configuration file specific data
    e) configuration file manipulations functions.

    All of this functionality was blended into an extremely large wxApp derivative
    and that was incompatible with the desire to support multiple concurrently
    loaded DLL/DSO's ("KIFACE")s and multiple concurrently open projects.
    An amazing amount of organization come from simply sorting each bit of
    functionality into the proper box.

*   Switch to wxConfigBase from wxConfig everywhere except instantiation.
*   Add classes KIWAY, KIFACE, KIFACE_I, SEARCH_STACK, PGM_BASE, PGM_KICAD,
    PGM_SINGLE_TOP,
*   Remove "Return" prefix on many function names.
*   Remove obvious comments from CMakeLists.txt files, and from else() and endif()s.
*   Fix building boost for use in a DSO on linux.
*   Remove some of the assumptions in the CMakeLists.txt files that windows had
    to be the host platform when building windows binaries.
*   Reduce the number of wxStrings being constructed at program load time via
    static construction.
*   Pass wxConfigBase* to all SaveSettings() and LoadSettings() functions so that
    these functions are useful even when the wxConfigBase comes from another
    source, as is the case in the KICAD_MANAGER_FRAME.
*   Move the setting of the KIPRJMOD environment variable into class PROJECT,
    so that it can be moved into a project variable soon, and out of FP_LIB_TABLE.
*   Add the KIWAY_PLAYER which is associated with a particular PROJECT, and all
    its child wxFrames and wxDialogs now have a Kiway() member function which
    returns a KIWAY& that that window tree branch is in support of.  This is like
    wxWindows DNA in that child windows get this member with proper value at time
    of construction.
*   Anticipate some of the needs for milestones B) and C) and make code
    adjustments now in an effort to reduce work in those milestones.
*   No testing has been done for python scripting, since milestone C) has that
    being largely reworked and re-thought-out.
2014-03-19 19:42:08 -05:00
Fabrizio Tappero 9c71f62e1c Commit patch about cvpcb, pcbnew and layout editor menu items, with 3 menu labels modified in Eeschema. 2014-02-28 18:31:00 +01:00
jean-pierre charras fbecc0d9ce * fp_lib_table.cpp: fix an issue on Windows in ConvertFromLegacy: sometimes, because the comparison was case sensitive, lib nicknames were not found, although libs exist ( for instance if a path was given like f:\mypath instead of F:\mypath)
* getpart.cpp: fix a potential bug on a translatable string with has requirements in spelling.
* fix bug  #1066179
* kicad: fix erroneous labels in sub menus.
2014-02-26 15:06:24 +01:00
Fabrizio Tappero 28e6356250 Patch from Fabrizio Tappero: better kicad and eeschema menu entries and labels, which minor fixes. 2014-02-21 08:54:13 +01:00
jean-pierre charras fd2afec6f5 Remove some fully outdated code (#pragma, from Henner Zeller's report, and some other things) 2014-02-18 12:41:53 +01:00
jean-pierre charras d6f348f41e Remove duplicate icon apply.svg (use ckecked_ok.svg instead which is the same icon).
Add a workaround to fix a new bug in wxWidgets 3.0 ( Windows specific ) which shows icons only with a size = 16x16 in menus which have attribute wxITEM_CHECK
2014-02-07 20:32:08 +01:00
Brian Sidebotham 742ee5320e * Fix Project templates location under Linux, preserve Windows location 2014-02-07 18:19:53 +00:00
Brian Sidebotham 775ce3993c * Fix linux location for system project templates 2014-02-07 18:17:58 +00:00
jean-pierre charras d68940c4d2 Minor fixes. 2014-02-07 17:09:15 +01:00
Dick Hollenbeck 4f26386e8d Initial KIWAY (modular-kicad) work. Various tweeks. 2014-02-03 09:10:37 -06:00
Dick Hollenbeck 741bfb685b Another attempt at wxFrame::SaveSettings() standard infrastructure. 2014-02-02 14:18:10 -06:00
jean-pierre charras 6f10d16824 Kicad manager: code cleaning. Fix a very minor bug. 2014-02-01 19:27:18 +01:00