- 19 Nov, 2014 1 commit
-
-
jean-pierre charras authored
Try to fix issues on Ubuntu/Unity for dialogs which are not displayed: adding GetSizer()->Fit( this ) in some other dialogs
-
- 02 Nov, 2014 1 commit
-
-
Dick Hollenbeck authored
-
- 24 Aug, 2014 1 commit
-
-
Wayne Stambaugh authored
* Refresh canvas when user cancels edits so that the discarded sheet is cleared from the schematic. * Add file name validation to the sheet properties dialog to prevent illegal file name characters from being entered into the text control. * Rename FOOTPRINT_NAME_VALIDATOR to FILE_NAME_CHAR_VALIDATOR for clarity.
-
- 13 Aug, 2014 1 commit
-
-
Dick Hollenbeck authored
*) 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.
-
- 03 May, 2014 2 commits
-
-
Dick Hollenbeck authored
*) 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.
-
Dick Hollenbeck authored
*) 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.
-
- 28 Apr, 2014 1 commit
-
-
jean-pierre charras authored
Plots function: fix a bug about virtual PLOTTER::Text, which was not virtual for derived classes due to a missing parameter in ::Text in these classes. Noticeable only in SVG plot. SVG plot, fix a missing reinitialization in plot lines, which could define a filled polyline, instead of a simple polyline (these fixes solve Bug #1313084 )
-
- 20 Mar, 2014 1 commit
-
-
Dick Hollenbeck authored
! 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.
-
- 14 Dec, 2013 1 commit
-
-
jean-pierre charras authored
Minor change: Eeschema+Pcbnew: display timestamp in edit dialogs (for footprints, sheets, components)
-
- 05 Aug, 2013 1 commit
-
-
Dick Hollenbeck authored
was simply a pointer to an object on the display list. At times this object would disappear from the display list, in the test case because of a concatonation of two wires, and if you then tried to clone the non-existent object you'd get a crash. This was not merely a bug, but a naive design choice. IMO. Now the item to repeat is cloned, so will never also be on the display list.
-
- 03 Aug, 2013 1 commit
-
-
Dick Hollenbeck authored
*) add hotkey for setting the grid origin as 'S', in board editor, module editor. *) re-position the function interface for cursor movement from BASE_SCREEN into class EDA_DRAW_FRAME. This is a prelude to getting rid of BASE_SCREEN or splitting it up.
-
- 28 Apr, 2013 1 commit
-
-
Lorenzo Marcantonio authored
In most case the assignment to null was not necessary since it was easily provable that the (local) variable wouldn't have referenced after that anyway.
-
- 09 Apr, 2013 1 commit
-
-
Lorenzo Marcantonio authored
-
- 13 Oct, 2012 1 commit
-
-
jean-pierre charras authored
Eeschema: always stores sheet filename in unix-like notation, and fix a bug when editing sheet file name. Pcbnew: add PDF format for drill map generation. Plotter classes: tweaking code.
-
- 28 Sep, 2012 1 commit
-
-
jean-pierre charras authored
-
- 19 Apr, 2012 1 commit
-
-
Dick Hollenbeck authored
// This provides better project control over rounding to int from double // than wxRound() did. This scheme provides better logging in Debug builds // and it provides for compile time calculation of constants. #include <stdio.h> #include <assert.h> #include <limits.h> //-----<KiROUND KIT>------------------------------------------------------------ /** * KiROUND * rounds a floating point number to an int using * "round halfway cases away from zero". * In Debug build an assert fires if will not fit into an int. */ #if defined( DEBUG ) // DEBUG: a macro to capture line and file, then calls this inline static inline int KiRound( double v, int line, const char* filename ) { v = v < 0 ? v - 0.5 : v + 0.5; if( v > INT_MAX + 0.5 ) { printf( "%s: in file %s on line %d, val: %.16g too ' > 0 ' for int\n", __FUNCTION__, filename, line, v ); } else if( v < INT_MIN - 0.5 ) { printf( "%s: in file %s on line %d, val: %.16g too ' < 0 ' for int\n", __FUNCTION__, filename, line, v ); } return int( v ); } #define KiROUND( v ) KiRound( v, __LINE__, __FILE__ ) #else // RELEASE: a macro so compile can pre-compute constants. #define KiROUND( v ) int( (v) < 0 ? (v) - 0.5 : (v) + 0.5 ) #endif //-----</KiROUND KIT>----------------------------------------------------------- // Only a macro is compile time calculated, an inline function causes a static constructor // in a situation like this. // Therefore the Release build is best done with a MACRO not an inline function. int Computed = KiROUND( 14.3 * 8 ); int main( int argc, char** argv ) { for( double d = double(INT_MAX)-1; d < double(INT_MAX)+8; d += 2.0 ) { int i = KiROUND( d ); printf( "t: %d %.16g\n", i, d ); } return 0; }
-
- 16 Apr, 2012 1 commit
-
-
Wayne Stambaugh authored
* Move all convert from user to internal units into base_units.cpp. * Remove internal units parameters from all moved conversion functions. * Revise all source code that calls the moved conversion functions. * Remove internal units from all dialog text control helper classes.
-
- 13 Apr, 2012 1 commit
-
-
Wayne Stambaugh authored
* Move all convert from internal to user units functions into separate file. * Remove internal units parameter from all moved conversion functions. * Revise all source code that calls the moved conversion functions. * Compile these conversion routines separately for the appropriate pcb or schematic internal units. * Move internal units specific status bar update code into the appropriate application for updating the status bar. * Move millimeter user units rounding function to common.cpp.
-
- 26 Feb, 2012 1 commit
-
-
Wayne Stambaugh authored
* Convert Eeschema from manually linked list to DLIST for storing SCH_ITEM objects. * Add helper functions to SCH_SCREEN for appending list of SCH_ITEM objects. * Fix bug in wire editing code for accurate undo/redo behavior. * Add member to DLIST to append another DLIST. * Other minor code cleaning.
-
- 16 Feb, 2012 1 commit
-
-
jean-pierre charras authored
Code cleaning and other minor fixes.
-
- 23 Jan, 2012 1 commit
-
-
Dick Hollenbeck authored
-
- 05 Jan, 2012 1 commit
-
-
Dick Hollenbeck authored
-
- 31 Dec, 2011 1 commit
-
-
Dick Hollenbeck authored
-
- 29 Dec, 2011 1 commit
-
-
Wayne Stambaugh authored
* EDA_DRAW_PANEL completely encapsulated. * Moved OSX m_overlay member from EDA_DRAW_PANEL to EDA_DRAW_FRAME where it is used. * Doxygen comment warning fixes.
-
- 22 Dec, 2011 1 commit
-
-
Wayne Stambaugh authored
* EDA_DRAW_FRAME completely encapsulated. * Encapsulate the the low hanging fruit in EDA_DRAW_PANEL.
-
- 16 Dec, 2011 1 commit
-
-
Wayne Stambaugh authored
* EDA_DRAW_FRAME completely encapsulated except for DrawFrame member. * Moved members specific to Pcbnew from EDA_DRAW_FRAME to PCB_BASE_FRAME or PCB_EDIT_FRAME as appropriate. * Replace EDA_TOOLBAR with wxAuiToolBar as EDA_TOOL bar provided no additional functionality and made code less readable. * Remove EDA_TOOLBAR class definition from wxstruct.h and delete file wineda_toolbar.cpp. * Rename tool bar members to something more descriptive since the horizontal and vertical references wont mean anything once the tool bars are movable. * Lots of dead code removal.
-
- 12 Dec, 2011 1 commit
-
-
Dick Hollenbeck authored
-
- 08 Dec, 2011 1 commit
-
-
Wayne Stambaugh authored
-
- 07 Dec, 2011 1 commit
-
-
jean-pierre charras authored
In common.cpp GetTimeStamp is renamed GetNewTimeStamp (a better name). Pcbnew: prepare work to calculate connections between pads that inteserct and therefore can be connected without any track (composite pads).
-
- 27 Oct, 2011 1 commit
-
-
Wayne Stambaugh authored
* Create command event handler for editing all schematic and child items. * Remove unique edit schematic item command IDs. * Unify find item, undo, and redo hot key commands.
-
- 07 Oct, 2011 1 commit
-
-
Wayne Stambaugh authored
* Move the hierarchical label connected test into the NETLIST_OBJECT class. * ERC pin type strings can now be translated. * Remove unused EDA_DRAW_PANEL attribute from all ERC test functions. * Add get marker count method to SCH_SCREENS object. * Redundant header removal. * Lots of coding style policy fixes.
-
- 06 Sep, 2011 1 commit
-
-
Wayne Stambaugh authored
-
- 31 Aug, 2011 1 commit
-
-
Wayne Stambaugh authored
-
- 08 Jul, 2011 1 commit
-
-
Marco Mattila authored
-
- 16 Jun, 2011 1 commit
-
-
jean-pierre charras authored
-
- 15 Jun, 2011 1 commit
-
-
Wayne Stambaugh authored
* Move code from function ClearProjectDrawList() into SCH_SCREEN object Clear() method. * Delete eeschema/delsheet.cpp as none of the code in it is ever called. * Move global spice and net list command line variables into SCH_EDIT_FRAME object as priviate members and provide access methods. * Remove unnecessary header includes from eeschema/sheet.cpp. * Minor coding policy fixes.
-
- 07 Jun, 2011 1 commit
-
-
Wayne Stambaugh authored
* Fix debug build warning (lp:793373). * Changed sheet edit restore and undo to use object copy and replace method. * Add minimum width and height constraints when resizing sheets that have hierarchical pins. * Fix drag sheet hot key bug. * Change Doxygen configuration to extract private methods and members when creating documentation. * Fix a bunch of Doxygen comment warnings.
-
- 05 Apr, 2011 1 commit
-
-
Wayne Stambaugh authored
* Move undo item copy global variable into schematic editor frame object member variable. * Add helper methods for accessing the undo item copy member variable. * Fix undetected bug when changing a text type. * Added an exchange command to the undo/redo base class for handling undoing a changed item type which cannot be undone by swapping out the variables. * Revert change to common/hotkeys_basic.cpp that broke hot key behavior. * Lots of coding policy changes while making the changes above.
-
- 30 Mar, 2011 1 commit
-
-
Wayne Stambaugh authored
* Change all code references to pin sheet and sheet label to sheet pin to more closely match the sheet pin object for improved code readability. * Change menu and tool bar text from pin sheet to sheet pin for improved user readability. * Moved sheet pin place method to sheet pin object source file. * Move last sheet pin stored state information into schematic frame object. * Add Doxygen comments for the sheet pin editing methods.
-
- 21 Feb, 2011 1 commit
-
-
Wayne Stambaugh authored
* Old control state handling code completely removed in all applications. * Factor common control state handlers into EDA_DRAW_FRAME. * Replaced EDA_ITEM test for newness with IsNew() method. * Factor vertical right toolbar command handlers out of giant edit command switch statement in EESchema and PCBNew.
-