*) 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.
This commit is contained in:
Dick Hollenbeck
2014-04-17 21:05:40 -05:00
parent e52d93429b
commit 5f65d0da93
30 changed files with 488 additions and 373 deletions
+3 -3
View File
@@ -639,7 +639,7 @@ namespace BMP2CMP {
static struct IFACE : public KIFACE_I
{
bool OnKifaceStart( PGM_BASE* aProgram );
bool OnKifaceStart( PGM_BASE* aProgram, int aCtlBits );
wxWindow* CreateWindow( wxWindow* aParent, int aClassId, KIWAY* aKiway, int aCtlBits = 0 )
{
@@ -706,8 +706,8 @@ PGM_BASE& Pgm()
#endif
bool IFACE::OnKifaceStart( PGM_BASE* aProgram )
bool IFACE::OnKifaceStart( PGM_BASE* aProgram, int aCtlBits )
{
return start_common();
return start_common( aCtlBits );
}