예제 #1
0
QState PSConsole::MainMenu(PSConsole *me, QEvent const *e) 
{
    switch (e->sig) 
    {
        case Q_ENTRY_SIG:
            PrintMenuTitles(MAIN_MENU_COUNT, menuMain);
            return Q_HANDLED();
        case MENU_SELECT_SIG: 
        {
            switch (((MenuSelectEvt*)e)->item_index)
            {
                case 0:
                    PrintMenuTitles(MAIN_MENU_COUNT, menuMain);
                    return Q_HANDLED();
                case 1:
                    Ps.SetDevicePropValue(PS_DPC_CaptureTransferMode, (uint16_t)0x0D);
                    Ps.Capture();
                    return Q_HANDLED();
                case 2:
                    ShowParams();
                    PrintMenuTitles(MAIN_MENU_COUNT, menuMain);
                    return Q_HANDLED();
                case 3:
                    return Q_TRAN(&PSConsole::ChangeSettingsMenu);
                case 4:
                    Ps.Operation(PS_OC_ViewfinderOn);
                    return Q_HANDLED();
                case 5:
                    Ps.Operation(PS_OC_ViewfinderOff);
                    return Q_HANDLED();
            }
        }
    }
    return Q_SUPER(&PSConsole::Active);
}
예제 #2
0
QState EOSConsole::MainMenu(EOSConsole *me, QEvt const *e) 
{
    switch (e->sig) 
    {
        case Q_ENTRY_SIG:
            PrintMenuTitles(3, menuMain);
            return Q_HANDLED();
        case MENU_SELECT_SIG: 
        {
            switch (((MenuSelectEvt*)e)->item_index)
            {
                case 0:
                    PrintMenuTitles(3, menuMain);
                    return Q_HANDLED();
                case 1:
                    Eos.Capture();
                    return Q_HANDLED();
                case 2:
                    ShowParams();
                    PrintMenuTitles(3, menuMain);
                    return Q_HANDLED();
                case 3:
                    return Q_TRAN(&EOSConsole::ChangeSettingsMenu);
            }
        }
    }
    return Q_SUPER(&EOSConsole::Active);
}
예제 #3
0
QState PSConsole::ChangeZoomMenu(PSConsole *me, QEvent const *e) 
{
    switch (e->sig) 
    {
        case Q_ENTRY_SIG:
            PrintMenuTitles(UPDWN_MENU_COUNT, menuUpDown);
            PrintZoom();
            return Q_HANDLED();
        case MENU_SELECT_SIG: 
        {
            switch (((MenuSelectEvt*)e)->item_index)
            {
            case 0:
                return Q_TRAN(&PSConsole::ChangeSettingsMenu);
            case 2:
                StepUp<uint16_t>((PTP*)&Ps, PS_DPC_Zoom);
                PrintZoom();
                return Q_HANDLED();
            case 1:
                StepDown<uint16_t>((PTP*)&Ps, PS_DPC_Zoom);
                PrintZoom();
                return Q_HANDLED();
            } // switch (((MenuSelectEvt*)e)->item_index)
        } // case MENU_SELECT_SIG:
    }
    return Q_SUPER(&PSConsole::Active);
}
예제 #4
0
QState PSConsole::ChangeSettingsMenu(PSConsole *me, QEvent const *e) 
{
    switch (e->sig) 
    {
        case Q_ENTRY_SIG:
            PrintMenuTitles(CHSET_MENU_COUNT, menuChangeSettings);
            return Q_HANDLED();
        case MENU_SELECT_SIG: 
        {
            switch (((MenuSelectEvt*)e)->item_index)
            {
                case 0:
                    return Q_TRAN(&PSConsole::MainMenu);
                case 1:  // Aperture
                      return Q_TRAN(&PSConsole::ChangeModeMenu);
                case 2:  // Aperture
                      return Q_TRAN(&PSConsole::ChangeApertureMenu);
                case 3:  // Shutter Speed
                      return Q_TRAN(&PSConsole::ChangeShutterSpeedMenu);
                case 4:  // White Balance
                      return Q_TRAN(&PSConsole::ChangeWBMenu);
                case 5:  // ISO
                      return Q_TRAN(&PSConsole::ChangeIsoMenu);
                case 6:  // Exposure Compensation
                      return Q_TRAN(&PSConsole::ChangeExpCompMenu);
                case 7:  // Camera Output
                      return Q_TRAN(&PSConsole::ChangeCamOutputMenu);
                case 8:  // Zoom
                      return Q_TRAN(&PSConsole::ChangeZoomMenu);
            } // switch
        }
    }
    return Q_SUPER(&PSConsole::Active);
}
예제 #5
0
QState EOSConsole::ChangeExpCompMenu(EOSConsole *me, QEvt const *e) 
{
    switch (e->sig) 
    {
        case Q_ENTRY_SIG:
            PrintMenuTitles(2, menuUpDown);
            return Q_HANDLED();
        case MENU_SELECT_SIG: 
        {
            uint8_t new_value;
            
            switch (((MenuSelectEvt*)e)->item_index)
            {
            case 0:
                return Q_TRAN(&EOSConsole::ChangeSettingsMenu);
            
            case 2:
                if (vlExpCompensation.GetSize() > 0)
                {
                    new_value = vlExpCompensation.GetNext(dpExpComp, 1); 
                    Eos.SetProperty(EOS_DPC_ExposureCompensation, new_value);
                }
                return Q_HANDLED();
            case 1:
                if (vlExpCompensation.GetSize() > 0)
                {
                    new_value = vlExpCompensation.GetPrev(dpExpComp, 1); 
                    Eos.SetProperty(EOS_DPC_ExposureCompensation, new_value);
                }
                return Q_HANDLED();
            } // switch (((MenuSelectEvt*)e)->item_index)
        } // case MENU_SELECT_SIG:
    }
    return Q_SUPER(&EOSConsole::Active);
}
예제 #6
0
QState EOSConsole::ChangeSettingsMenu(EOSConsole *me, QEvt const *e) 
{
    switch (e->sig) 
    {
        case Q_ENTRY_SIG:
            PrintMenuTitles(6, menuChangeSettings);
            return Q_HANDLED();
        case MENU_SELECT_SIG: 
        {
            switch (((MenuSelectEvt*)e)->item_index)
            {
                case 0:
                    return Q_TRAN(&EOSConsole::MainMenu);
                
                case 1:  // Aperture
                      return Q_TRAN(&EOSConsole::ChangeApertureMenu);
                case 2:  // Shutter Speed
                      return Q_TRAN(&EOSConsole::ChangeShutterSpeedMenu);
                case 3:  // White Balance
                      return Q_TRAN(&EOSConsole::ChangeWBMenu);
                case 4:  // Picture Style
                      return Q_TRAN(&EOSConsole::ChangePStyleMenu);
                case 5:  // ISO
                      return Q_TRAN(&EOSConsole::ChangeIsoMenu);
                case 6:  // Exposure Compensation
                      return Q_TRAN(&EOSConsole::ChangeExpCompMenu);
            } // switch
        }
    }
    return Q_SUPER(&EOSConsole::Active);
}