// verifies that TabInfo state is consistent with WindowInfo state static NO_INLINE void VerifyTabInfo(WindowInfo* win, TabInfo* tdata) { CrashIf(tdata->ctrl != win->ctrl); AutoFreeW winTitle(win::GetText(win->hwndFrame)); CrashIf(!str::Eq(winTitle.Get(), tdata->frameTitle)); bool expectedTocVisibility = tdata->showToc; // if not in presentation mode if (PM_DISABLED != win->presentation) { expectedTocVisibility = false; // PM_BLACK_SCREEN, PM_WHITE_SCREEN if (PM_ENABLED == win->presentation) { expectedTocVisibility = tdata->showTocPresentation; } } CrashIf(win->tocVisible != expectedTocVisibility); CrashIf(tdata->canvasRc != win->canvasRc); }
void _HYObjectInspector::OpenObjectWindow (void) { _HYTable* dl = (_HYTable*)GetCellObject (HY_OBJECT_INSPECTOR_TABLE_ROW,0); _HYButtonBar* b1 = (_HYButtonBar*)GetCellObject (0,0); _HYPullDown* p1 = (_HYPullDown*)GetCellObject (0,2); _SimpleList sel; dl->GetSelection (sel); if (sel.lLength) { b1->EnableButton (0,true); for (long k = 0; k<sel.lLength; k+=2) { _String windowTitle (*(_String*)dl->GetCellData (0,sel.lData[k]/2)); long f; switch (p1->GetSelection()) { case 0: { _String winTitle (windowTitle); windowTitle = _String ("Tree ")&windowTitle; f = FindWindowByName (windowTitle); if (f<0) { _HYTreePanel* newTreePanel = new _HYTreePanel (winTitle,winTitle); newTreePanel->_Zoom(true); newTreePanel->BringToFront(); //newTreePanel->Show(); } else { _HYPlatformWindow* thisWindow = (_HYPlatformWindow*)windowObjects(f); thisWindow->_Activate(); } break; } case 1: { _String winTitle (windowTitle); windowTitle = _String ("DataSet ")&windowTitle; f = FindWindowByName (windowTitle); if (f<0) { _HYDataPanel* newDataPanel = new _HYDataPanel (winTitle,winTitle); newDataPanel->BringToFront(); } else { _HYPlatformWindow* thisWindow = (_HYPlatformWindow*)windowObjects(f); thisWindow->_Activate(); } break; } case 2: { _String winTitle (windowTitle); windowTitle = _String ("Model ")&windowTitle; f = FindWindowByName (windowTitle); if (f<0) { if (dl->cellTypes.lData[sel.lData[k]] & HY_TABLE_ITALIC) { if (!warnModelOpen) { windowTitle = _String ("Model \"") & winTitle & "\" is a template model, and it can't be opened. You can open a new model based on it, though."; if (!warnModelOpen) { if (!ProceedPromptWithCheck (windowTitle, donotWarnAgain, warnModelOpen)) { break; } } NewObject (); break; } } else { if (sel.lData[k]/2<modelTemplates.lLength) { _List* modelSpec = FindModelTemplate (&winTitle); if (modelSpec) { OpenModelFromFile(*(_String*)(*modelSpec)(2)); } } else { OpenModelFromMatrix (winTitle); } } } else { _HYWindow* thisWindow = (_HYWindow*)windowObjectRefs(f); thisWindow->BringToFront(); } break; } case 3: { _String winTitle (windowTitle); windowTitle = _String ("Likelihood Function ")&windowTitle; f = FindWindowByName (windowTitle); if (f<0) { f = likeFuncNamesList.Find(&winTitle); if (f>=0) { _HYParameterTable* newParameterTable = new _HYParameterTable (windowTitle,f); newParameterTable->_Zoom(true); newParameterTable->BringToFront(); } } else { _HYPlatformWindow* thisWindow = (_HYPlatformWindow*)windowObjects(f); thisWindow->_Activate(); } break; } } } } }