mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-09-14 02:03:12 +02:00
*) 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.
46 lines
821 B
C
46 lines
821 B
C
#ifndef FRAME_T_H_
|
|
#define FRAME_T_H_
|
|
|
|
/**
|
|
* Enum FRAME_T
|
|
* is the set of EDA_BASE_FRAME derivatives, typically stored in
|
|
* EDA_BASE_FRAME::m_Ident.
|
|
*/
|
|
enum FRAME_T
|
|
{
|
|
FRAME_SCH,
|
|
FRAME_SCH_LIB_EDITOR,
|
|
FRAME_SCH_VIEWER,
|
|
FRAME_SCH_VIEWER_MODAL,
|
|
|
|
FRAME_PCB,
|
|
FRAME_PCB_MODULE_EDITOR,
|
|
FRAME_PCB_MODULE_VIEWER,
|
|
FRAME_PCB_MODULE_VIEWER_MODAL,
|
|
FRAME_PCB_FOOTPRINT_WIZARD_MODAL,
|
|
FRAME_PCB_DISPLAY3D,
|
|
|
|
FRAME_CVPCB,
|
|
FRAME_CVPCB_DISPLAY,
|
|
|
|
FRAME_GERBER,
|
|
|
|
FRAME_PL_EDITOR,
|
|
|
|
FRAME_BM2CMP,
|
|
|
|
FRAME_CALC,
|
|
|
|
KIWAY_PLAYER_COUNT, // counts subset of FRAME_T's which are KIWAY_PLAYER derivatives
|
|
|
|
// C++ project manager is not a KIWAY_PLAYER
|
|
KICAD_MAIN_FRAME_T = KIWAY_PLAYER_COUNT,
|
|
|
|
FRAME_T_COUNT
|
|
};
|
|
|
|
//TEXT_EDITOR_FRAME_T,
|
|
|
|
|
|
#endif // FRAME_T_H_
|