/* ** clearWinDetail() ** Clear the pertinant detail in the windows. */ void clearWinDetail (TuiWinInfoPtr winInfo) { if (m_winPtrNotNull (winInfo)) { switch (winInfo->generic.type) { case SRC_WIN: case DISASSEM_WIN: winInfo->detail.sourceInfo.startLineOrAddr.addr = 0; winInfo->detail.sourceInfo.horizontalOffset = 0; break; case CMD_WIN: winInfo->detail.commandInfo.curLine = winInfo->detail.commandInfo.curch = 0; break; case DATA_WIN: winInfo->detail.dataDisplayInfo.dataContent = (TuiWinContent) NULL; winInfo->detail.dataDisplayInfo.dataContentCount = 0; winInfo->detail.dataDisplayInfo.regsContent = (TuiWinContent) NULL; winInfo->detail.dataDisplayInfo.regsContentCount = 0; winInfo->detail.dataDisplayInfo.regsDisplayType = TUI_UNDEFINED_REGS; winInfo->detail.dataDisplayInfo.regsColumnCount = 1; winInfo->detail.dataDisplayInfo.displayRegs = FALSE; break; default: break; } } return; } /* clearWinDetail */
/* ** unhighlightWin(). */ void unhighlightWin (TuiWinInfoPtr winInfo) { if (m_winPtrNotNull (winInfo) && winInfo->generic.handle != (WINDOW *) NULL) { boxWin ((TuiGenWinInfoPtr) winInfo, NO_HILITE); wrefresh (winInfo->generic.handle); m_setWinHighlightOff (winInfo); } } /* unhighlightWin */
/* ** checkAndDisplayHighlightIfNecessay */ void checkAndDisplayHighlightIfNeeded (TuiWinInfoPtr winInfo) { if (m_winPtrNotNull (winInfo) && winInfo->generic.type != CMD_WIN) { if (winInfo->isHighlighted) highlightWin (winInfo); else unhighlightWin (winInfo); } return; } /* checkAndDisplayHighlightIfNeeded */
/* ** allocWinInfo(). */ TuiWinInfoPtr allocWinInfo (TuiWinType type) { TuiWinInfoPtr winInfo = (TuiWinInfoPtr) NULL; winInfo = (TuiWinInfoPtr) xmalloc (sizeof (TuiWinInfo)); if (m_winPtrNotNull (winInfo)) { winInfo->generic.type = type; initWinInfo (winInfo); } return winInfo; } /* allocWinInfo */
/* ** freeAllSourceWinsContent(). */ void freeAllSourceWinsContent (void) { int i; for (i = 0; i < (sourceWindows ())->count; i++) { TuiWinInfoPtr winInfo = (TuiWinInfoPtr) (sourceWindows ())->list[i]; if (m_winPtrNotNull (winInfo)) { freeWinContent (&(winInfo->generic)); freeWinContent (winInfo->detail.sourceInfo.executionInfo); } } return; } /* freeAllSourceWinsContent */
/* ** makeAllVisible(). ** Makes all windows invisible (except the command and locator windows) */ void makeAllVisible (int visible) { int i; for (i = 0; i < MAX_MAJOR_WINDOWS; i++) { if (m_winPtrNotNull (winList[i]) && ((winList[i])->generic.type) != CMD_WIN) { if (m_winIsSourceType ((winList[i])->generic.type)) makeVisible ((winList[i])->detail.sourceInfo.executionInfo, visible); makeVisible ((TuiGenWinInfoPtr) winList[i], visible); } } return; } /* makeAllVisible */