Ejemplo n.º 1
0
_THyPhyString * _THyPhy::ExecuteBF (const char * buffer, bool doPurge)
{
    if (doPurge) {
        PurgeAll            (true);    // cleanup results of previous analysis
    }
    _String             commandString (buffer);

    if (commandString.beginswith ("#NEXUS"),false) {
        lastNexusDataMatrix = ReadDataSetFile (nil, 2, &commandString);
        commandString = nexusBFBody;
    }

    _ExecutionList      compiledCode  (commandString);

    ApplyPreferences    ();

    DeleteObject        ((_String*)errors);
    DeleteObject        ((_String*)warnings);
    DeleteObject        ((_String*)textout);

    errors              = new _String (128L,true);
    warnings            = new _String (128L,true);
    textout             = new _String (128L,true);

    askFID              = compiledCode.ExecuteAndClean (0x7ffffff,&_tHYPHYAskFor);
    _PMathObj bfReturn  = compiledCode.GetResult ();

    ((_String*)errors)->Finalize();
    ((_String*)warnings)->Finalize();
    ((_String*)textout)->Finalize();

    if (currentResultHolder->sData) {
        free (currentResultHolder->sData);
        currentResultHolder->sData = nil;
    }
    if (bfReturn) {
        _String * serializedReturn   = (_String*) bfReturn->toStr();
        currentResultHolder->sData   = serializedReturn->sData;
        serializedReturn->sData      = nil;
        currentResultHolder->sLength = serializedReturn->sLength;
    }
    return currentResultHolder;
}
Ejemplo n.º 2
0
LRESULT CChildView::OnPrefsApply(WPARAM /* wParam */, LPARAM lParam)
{
    ApplyPreferences(lParam);
    return 0;
}
Ejemplo n.º 3
0
void CChildView::OnPreferences() 
{
    // If the preferences dialog is already displayed, leave it alone.
    //
    if (m_prefs.GetSafeHwnd() != NULL) {
        return;
    }

    MeaUnitsMgr& unitsMgr = MeaUnitsMgr::Instance();

    // Tool preferences
    //
    m_prefs.m_toolsPrefs.m_backColor    = MeaColors::Get(MeaColors::CrossHairBack);
    m_prefs.m_toolsPrefs.m_borderColor  = MeaColors::Get(MeaColors::CrossHairBorder);
    m_prefs.m_toolsPrefs.m_hiliteColor  = MeaColors::Get(MeaColors::CrossHairHilite);
    m_prefs.m_toolsPrefs.m_lineColor    = MeaColors::Get(MeaColors::LineFore);
    m_prefs.m_toolsPrefs.m_opacity      = 100 * MeaColors::GetA(MeaColors::CrossHairOpacity) / 255;
    m_prefs.m_toolsPrefs.m_showDataWin  = MeaDataWin::IsArmed();
    m_prefs.m_toolsPrefs.m_originMarker = MeaToolMgr::Instance().IsToolEnabled(MeaOriginTool::kToolName);

    // Precision preferences
    //
    m_prefs.m_precisionPrefs.SetLinearPrecisions(MeaPixelsId,      unitsMgr.GetLinearDisplayPrecisions(MeaPixelsId));
    m_prefs.m_precisionPrefs.SetLinearPrecisions(MeaPointsId,      unitsMgr.GetLinearDisplayPrecisions(MeaPointsId));
    m_prefs.m_precisionPrefs.SetLinearPrecisions(MeaTwipsId,       unitsMgr.GetLinearDisplayPrecisions(MeaTwipsId));
    m_prefs.m_precisionPrefs.SetLinearPrecisions(MeaInchesId,      unitsMgr.GetLinearDisplayPrecisions(MeaInchesId));
    m_prefs.m_precisionPrefs.SetLinearPrecisions(MeaCentimetersId, unitsMgr.GetLinearDisplayPrecisions(MeaCentimetersId));
    m_prefs.m_precisionPrefs.SetLinearPrecisions(MeaMillimetersId, unitsMgr.GetLinearDisplayPrecisions(MeaMillimetersId));
    m_prefs.m_precisionPrefs.SetLinearPrecisions(MeaPicasId,       unitsMgr.GetLinearDisplayPrecisions(MeaPicasId));
    m_prefs.m_precisionPrefs.SetLinearPrecisions(MeaCustomId,      unitsMgr.GetLinearDisplayPrecisions(MeaCustomId));

    m_prefs.m_precisionPrefs.SetAngularPrecisions(MeaDegreesId,    unitsMgr.GetAngularDisplayPrecisions(MeaDegreesId));
    m_prefs.m_precisionPrefs.SetAngularPrecisions(MeaRadiansId,    unitsMgr.GetAngularDisplayPrecisions(MeaRadiansId));

    // Custom units preferences
    //
    MeaCustomUnits* customUnits = unitsMgr.GetCustomUnits();
    m_prefs.m_customPrefs.m_name   = customUnits->GetName();
    m_prefs.m_customPrefs.m_abbrev = customUnits->GetAbbrev();
    m_prefs.m_customPrefs.SetScaleFactor(customUnits->GetScaleBasis(), customUnits->GetScaleFactor());

    // Ruler preferences
    //
    m_prefs.m_rulerPrefs.m_backColor    = MeaColors::Get(MeaColors::RulerBack);
    m_prefs.m_rulerPrefs.m_borderColor  = MeaColors::Get(MeaColors::RulerBorder);
    m_prefs.m_rulerPrefs.m_opacity      = 100 * MeaColors::GetA(MeaColors::RulerOpacity) / 255;

    // Calibration preferences
    //
    bool useManualRes;
    FSIZE manualRes;
    MeaScreenMgr::ScreenIter iter;
    MeaScreenMgr& screenMgr = MeaScreenMgr::Instance();

    m_prefs.m_calibrationPrefs.m_screens.clear();
    for (iter = screenMgr.GetScreenIter(); !screenMgr.AtEnd(iter); ++iter) {
        MeaCalibrationPrefs::Screen screen;

        screenMgr.GetScreenRes(iter, useManualRes, manualRes);
        screen.m_resMode = useManualRes ? MeaCalibrationPrefs::ManualRes : MeaCalibrationPrefs::AutoRes;
        screen.m_res = manualRes;
        screen.m_resUnits = screenMgr.GetCalInInches(iter) ? MeaCalibrationPrefs::UseInches : MeaCalibrationPrefs::UseCentimeters;

        m_prefs.m_calibrationPrefs.m_screens[iter] = screen;
    }

    // Advanced preferences
    //
    m_prefs.m_advancedPrefs.m_startupProfile = m_startupProfile;
    m_prefs.m_advancedPrefs.m_startupProfileDlg = MeaProfileMgr::Instance().CreateLoadDialog();
	m_prefs.m_advancedPrefs.m_screenGrabDirectory = m_screenGrabDirectory;

    int res = m_prefs.DoModal();
    if (res == IDOK) {
        ApplyPreferences();
    } else if (res == ID_MEA_MASTER_RESET) {
        GetParentFrame()->PostMessage(MeaMasterResetMsg);
    }
}