Commit Graph

1746 Commits

Author SHA1 Message Date
Dick Hollenbeck 0c65353c17 happy Easter 2014-04-21 01:28:17 -05:00
Dick Hollenbeck c32443fe35 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 03c4145fa8 hook top frame with KIWAY::playerDestroyHandler() 2014-04-19 14:44:59 -05:00
Dick Hollenbeck 23d150e618 *) 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 ed25a1593e *) 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
Dick Hollenbeck ac353fc037 PROJECT::configCreate() logic changes. 2014-04-15 00:34:28 -05:00
Dick Hollenbeck a340308dc1 improve help file finding after kiway breakage. 2014-04-14 13:49:52 -05:00
Dick Hollenbeck 2249b3be12 Jettison FP_LIB_TABLE::ConvertFromLegacy() into a static function, where it
was used locally.  Then comment it out in favor of a newer strategy for
filling in nicknames in cvpcb. 

Add MODULE* FootprintLoadWithOptionalNickname( const FPID& aFootprintId )
        throw( IO_ERROR, PARSE_ERROR );
from code found elsewhere.
2014-04-09 08:33:04 -05:00
Dick Hollenbeck 289c4c2f9d More migration towards single process, extend PROJECT::Config*() in proper direction, cleanups. 2014-04-07 23:55:53 -05:00
jean-pierre charras 030cee7ddf Footprint Editor: minor cosmetic enhancement (which could avoid a report like bug #1302255) 2014-04-04 20:28:35 +02:00
jean-pierre charras e962b9f4f6 Pcbnew: Fix bug #1296649 (Text on flipped modules incorrectly placed).
Dialog Freeroute: if freeroute.jar is find in kicad binaries, it is run as a standard java application, not as web applcation
Very minor other fixes
FPC_(SMD_type)_footprintwizard.py wizard finished.
2014-03-27 18:45:05 +01:00
Dick Hollenbeck 2b6305ba48 single_top.c logic, improved OpenProjectFiles() documentation. 2014-03-21 11:59:19 -05:00
Dick Hollenbeck e454408772 simplify and fix the technique used to get the project fp-lib-table 2014-03-20 20:24:35 -05:00
Dick Hollenbeck 3b48abba6d documentation clarity 2014-03-20 11:32:34 -05:00
Dick Hollenbeck 2b39b1e7ea some doxygen fixes, comment fixes 2014-03-20 09:18:32 -05:00
Dick Hollenbeck ca969f0884 merge tip in, resolve. 2014-03-20 01:24:33 -05:00
Dick Hollenbeck 88489e4af6 * 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
unknown fc961993d5 Warning removal, patches from Camille 019 2014-03-16 18:40:23 +01:00
Maciej Suminski 657ac76bbf Fixes build error with the choosy CLANG (Thanks to Maciej Suminski) 2014-03-13 18:50:52 +01:00
Maciej Suminski 187f9ff0f4 Merge selection tool branch. 2014-03-11 20:45:01 -04:00
jean-pierre charras f610294d27 Rework on 3D viewer (work in progress): Disable or enable layers, grid or 3D footprint shapes should be now faster. 2014-03-08 20:04:23 +01:00
Maciej Suminski 4419ef42bb Merged upstream. 2014-03-06 09:42:16 +01:00
Maciej Suminski 1d6357a76a Squashed memory leaks. 2014-03-05 14:57:14 +01:00
Maciej Suminski c66a3232ac Removed a few memory leaks. 2014-03-03 17:15:41 +01:00
Martin Janitschke f503ee945f make microwave toolbar accessible from menu (Bug #1285425 ) 2014-02-27 19:48:18 +01:00
HennerZeller dd628646f2 Eeschema: * Preselect the currently chosen component in the browser when pressing the thumbnail view.
* Various smallish documentation updates in the component chooser area.
2014-02-24 11:52:08 +01:00
Maciej Suminski 81b610df16 Upstream merge. 2014-02-21 11:05:28 +01:00
unknown a3e7b856b1 GLM (tool for opengl) update to 0.9.4.6 2014-02-19 11:51:33 +01:00
Henner Zeller 4cdd8e754a Eeschema component selection dialog improvements.
* Allow to select units in components that have more than one right in the
  component chooser dialog.
* Keep chosen unit in history.
* Show preview of current component unit as thumbnail image next to the
  description box.
* Fixes lp:1280567
2014-02-18 16:41:27 -05:00
unknown 19d3864a5d GLM (tool for opengl) update to 0.9.4.6 2014-02-17 19:42:52 +01:00
Maciej Suminski 6348c77788 Pcbnew: fix OpenGL PNS router track not shown bug. (fixes lp:1275319) 2014-02-15 18:54:51 -05:00
Henner Zeller a66758406e * Apply Henner Zeller's patch to add connecting line from reference and labels to component position whilst moving to help identify which component the reference or label belongs too 2014-02-11 21:54:30 +00:00
Fabrizio Tappero 6c8b0ea59c Icon update, and an other very minor fix. 2014-02-11 19:32:09 +01:00
jean-pierre charras 0c615f78a1 Add the environment variable KYSYS3DMOD to define a default path for 3D models. 2014-02-08 11:44:55 +01:00
Maciej Suminski 9583c522dd Moved PCB_VISIBLE size check to .cpp. 2014-02-07 20:54:58 +01:00
jean-pierre charras aff1bdc853 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
jean-pierre charras 8ddba7a836 Minor fixes. 2014-02-07 17:09:15 +01:00
Maciej Suminski 5959e7c2ef Upstream merged. 2014-02-07 09:52:47 +01:00
Maciej Suminski 9f18e6f152 Reverted changes introduced by the revision 4655. 2014-02-06 21:34:03 +01:00
Maciej Suminski 9f5d968476 Fixed snapping item in a wrong spot bug. 2014-02-06 17:29:13 +01:00
jean-pierre charras 11fcf7ab6e Fix some incorrect icons (which were using a not supported font for texts). Add ps_router icon from Konstantin Baranovskiy. 2014-02-06 15:13:31 +01:00
Maciej Suminski b3c5980e61 Merged ratsnest_threadsafe branch. 2014-02-05 11:55:04 +01:00
Maciej Suminski 221b68d0b8 Snapping settings are valid while autopanning. 2014-02-04 09:44:16 +01:00
Dick Hollenbeck 3a0f1c4126 Windows name export tweak 2014-02-03 23:05:07 -06:00
Dick Hollenbeck cad85c8a7a KIWAY in progress... 2014-02-03 13:26:18 -06:00
Dick Hollenbeck 5d4eab87f8 Initial KIWAY (modular-kicad) work. Various tweeks. 2014-02-03 09:10:37 -06:00
Maciej Suminski 82838e6770 Moved netnames (GAL specific layers) to a separate enum, to avoid saving/reading their settings from files.
Added a check for the number of PCB_VISIBLE elements.
Worksheet & general purpose overlay layers are visible by default.
2014-02-03 14:14:53 +01:00
Maciej Suminski eb053cac2b Changed BOARD_DESIGN_SETTINGS::m_VisibleElements from int to long, to assure at least 32 bits length (without depending on the platfrom int size). 2014-02-03 13:08:01 +01:00
Dick Hollenbeck 0ec0b63ad2 Another attempt at wxFrame::SaveSettings() standard infrastructure. 2014-02-02 14:18:10 -06:00
jean-pierre charras 659c2184b3 Eeschema: Fix bug #1271155 relative to Grid selection in Eeschema. 2014-02-02 20:51:50 +01:00