• Dick Hollenbeck's avatar
    Modular-Kicad milestone B), major portions: · 991926d3
    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.
    991926d3