gSpLightsNavOnCmdRef  = XPLMFindCommand(sLIGHTS_NAV_ON_CR);
    gSpLightsNavOffCmdRef  = XPLMFindCommand(sLIGHTS_NAV_OFF_CR);
    gSpLightsStrobeOnCmdRef  = XPLMFindCommand(sLIGHTS_STROBE_ON_CR);
    gSpLightsStrobeOffCmdRef  = XPLMFindCommand(sLIGHTS_STROBE_OFF_CR);
    gSpLightsTaxiOnCmdRef  = XPLMFindCommand(sLIGHTS_TAXI_ON_CR);
    gSpLightsTaxiOffCmdRef  = XPLMFindCommand(sLIGHTS_TAXI_OFF_CR);
    gSpLightsLandingOnCmdRef  = XPLMFindCommand(sLIGHTS_LANDING_ON_CR);
    gSpLightsLandingOffCmdRef  = XPLMFindCommand(sLIGHTS_LANDING_OFF_CR);

    // landing gear
    gSpLandingGearUpCmdRef  = XPLMFindCommand(sLANDING_GEAR_UP_CR);
    gSpLandingGearDownCmdRef  = XPLMFindCommand(sLANDING_GEAR_DOWN_CR);

    /*----- SwitchPanel Data Ref Assignment -----*/
    /* magnetos */
    cmd_ref = XPLMCreateCommand(sMAGNETOS_OFF_CR, "Magnetos off.");
    XPLMRegisterCommandHandler(cmd_ref, SwitchPanelCommandHandler, CMD_HNDLR_PROLOG, (void*)SP_CMD_MAGNETOS_OFF);

    cmd_ref = XPLMCreateCommand(sMAGNETOS_RIGHT_CR, "Magnetos right for engine #1.");
    XPLMRegisterCommandHandler(cmd_ref, SwitchPanelCommandHandler, CMD_HNDLR_PROLOG, (void*)SP_CMD_MAGNETOS_RIGHT);

    cmd_ref = XPLMCreateCommand(sMAGNETOS_LEFT_CR, "Magnetos left for engine #1.");
    XPLMRegisterCommandHandler(cmd_ref, SwitchPanelCommandHandler, CMD_HNDLR_PROLOG, (void*)SP_CMD_MAGNETOS_LEFT);

    cmd_ref = XPLMCreateCommand(sMAGNETOS_BOTH_CR, "Magnetos both.");
    XPLMRegisterCommandHandler(cmd_ref, SwitchPanelCommandHandler, CMD_HNDLR_PROLOG, (void*)SP_CMD_MAGNETOS_BOTH);

    cmd_ref = XPLMCreateCommand(sMAGNETOS_START_CR, "Engage starter and fuel.");
    XPLMRegisterCommandHandler(cmd_ref, SwitchPanelCommandHandler, CMD_HNDLR_PROLOG, (void*)SP_CMD_MAGNETOS_START);

    /* battery */
    gRpNAV2DMEDistanceNMDataRef = XPLMFindDataRef(sRP_NAV2_DME_DISTANCE_NM_DR);
    gRpNAV2DMESpeedKtsDataRef   = XPLMFindDataRef(sRP_NAV2_DME_SPEED_KTS_DR);
    gRpDMEDMESpeedKtsDataRef    = XPLMFindDataRef(sRP_DME_DME_SPEED_KTS_DR);
    gRpDMEFrequencyHzDataRef    = XPLMFindDataRef(sRP_DME_FREQUENCY_HZ_DR);
    gRpDMEDMETimeMinDataRef     = XPLMFindDataRef(sRP_DME_DME_TIME_MIN_DR);
    gRpAvionicsOnDataRef        = XPLMFindDataRef(sRP_AVIONICS_ON_DR);
    gRpBatteryOnDataRef         = XPLMFindDataRef(sRP_BATTERY_ON_DR);
    gRpNAV1PowerDataRef         = XPLMFindDataRef(sRP_NAV1_POWER_DR);
    gRpNAV2PowerDataRef         = XPLMFindDataRef(sRP_NAV2_POWER_DR);
    gRpCOM1PowerDataRef         = XPLMFindDataRef(sRP_COM1_POWER_DR);
    gRpCOM2PowerDataRef         = XPLMFindDataRef(sRP_COM2_POWER_DR);
    gRpADF1PowerDataRef         = XPLMFindDataRef(sRP_ADF1_POWER_DR);
    gRpDMEPowerDataRef          = XPLMFindDataRef(sRP_DME_POWER_DR);

    /*----- RadioPanel Command Handlers -----*/
    cmd_ref = XPLMCreateCommand(sRP_STDBY_COM1_FINE_DOWN_CR, "COM 1 fine down.");
    XPLMRegisterCommandHandler(cmd_ref, RadioPanelCommandHandler, CMD_HNDLR_EPILOG, (void*)RP_CMD_STDBY_COM1_FINE_DOWN);

    cmd_ref = XPLMCreateCommand(sRP_STDBY_COM1_FINE_UP_CR, "COM 1 fine up.");
    XPLMRegisterCommandHandler(cmd_ref, RadioPanelCommandHandler, CMD_HNDLR_EPILOG, (void*)RP_CMD_STDBY_COM1_FINE_UP);

    cmd_ref = XPLMCreateCommand(sRP_STDBY_COM1_COARSE_DOWN_CR, "COM 1 coarse down.");
    XPLMRegisterCommandHandler(cmd_ref, RadioPanelCommandHandler, CMD_HNDLR_EPILOG, (void*)RP_CMD_STDBY_COM1_COARSE_DOWN);

    cmd_ref = XPLMCreateCommand(sRP_STDBY_COM1_COARSE_UP_CR, "COM 1 coarse up.");
    XPLMRegisterCommandHandler(cmd_ref, RadioPanelCommandHandler, CMD_HNDLR_EPILOG, (void*)RP_CMD_STDBY_COM1_COARSE_UP);

    cmd_ref = XPLMCreateCommand(sRP_STDBY_COM2_FINE_DOWN_CR, "COM 2 fine down.");
    XPLMRegisterCommandHandler(cmd_ref, RadioPanelCommandHandler, CMD_HNDLR_EPILOG, (void*)RP_CMD_STDBY_COM2_FINE_DOWN);

    cmd_ref = XPLMCreateCommand(sRP_STDBY_COM2_FINE_UP_CR, "COM 2 fine up.");
Esempio n. 3
0
PLUGIN_API int XPluginStart(
						char *		outName,
						char *		outSig,
						char *		outDesc)
{
        int		PluginSubMenuItem;
	int             ChecklistsSubMenuItem;

         xcDebug("Xchecklist: ver " VERSION_NUMBER "\n");

        /* First set up our plugin info. */
        strcpy(outName, "Xchecklist ver " VERSION_NUMBER);
        strcpy(outSig, "Michal_Bill.Example.Xchecklist");
        strcpy(outDesc, "A plugin to display checklists in a widget window.");


  ext_view = XPLMFindDataRef("sim/graphics/view/view_is_external");

// Create our menu
        PluginSubMenuItem = XPLMAppendMenuItem(
                    XPLMFindPluginsMenu(),
                    "Xchecklist",
                    NULL,
                    1);

        PluginMenu = XPLMCreateMenu(
                    "Xchecklist",
                    XPLMFindPluginsMenu(),
                    PluginSubMenuItem,
                    xCheckListMenuHandler,
                    (void *)0);

        XPLMAppendMenuItem(PluginMenu, "Open CheckList", (void *) "checklist", 1);
        XPLMAppendMenuItem(PluginMenu, "Open Setup", (void *) "setup", 1);

        ChecklistsSubMenuItem = XPLMAppendMenuItem(
                    PluginMenu,
                    "CheckLists",
                    NULL,
                    1);

        checklistsMenu = XPLMCreateMenu(
                    "CheckLists",
                    PluginMenu,
                    ChecklistsSubMenuItem,
                    xCheckListMenuHandler,
                    (void *)1);

        XPLMAppendMenuItem(checklistsMenu, "CheckList1", (void *) 0, 1);
        XPLMAppendMenuItem(checklistsMenu, "CheckList2", (void *) 1, 1);


        cmdcheckitem = XPLMCreateCommand("bgood/xchecklist/check_item","Check Item");
        cmdnextchecklist = XPLMCreateCommand("bgood/xchecklist/next_checklist","Next Checklist");
        cmdprevchecklist = XPLMCreateCommand("bgood/xchecklist/prev_checklist","Prev Checklist");
        cmdhidechecklist = XPLMCreateCommand("bgood/xchecklist/hide_checklist","Hide Checklist");

        XPLMRegisterCommandHandler(
                    cmdcheckitem,
                    MyCommandCallback,
                    true,
                    (void *)CHECK_ITEM_COMMAND);

        XPLMRegisterCommandHandler(
                    cmdnextchecklist,
                    MyCommandCallback,
                    true,
                    (void *)NEXT_CHECKLIST_COMMAND);

        XPLMRegisterCommandHandler(
                    cmdprevchecklist,
                    MyCommandCallback,
                    true,
                    (void *)PREV_CHECKLIST_COMMAND);

        XPLMRegisterCommandHandler(
                    cmdhidechecklist,
                    MyCommandCallback,
                    true,
                    (void *)HIDE_CHECKLIST_COMMAND);

        return 1;
}