//----------------------------------------------- INT AflStringsWindow::printf(LPCSTR pString,...) { bool bFlag = false; if(m_scrollVBar.isLastPos()) bFlag = true; CHAR cBuff[2048]; va_list vaList; va_start( vaList, pString ); INT iRet = vsprintf(cBuff,pString,vaList); va_end(vaList); m_spriteStrings.addString(cBuff); m_spriteStrings.setLimitWidth(); SIZE size; m_spriteStrings.getStringsSize(&size); setScrollBars(size.cx,size.cy); AflFRect rect; getClientRect(&rect); m_spriteStrings.setLimitSize(rect.getWidth(),rect.getHeight()); m_spriteStrings.setPoint(rect.fLeft,rect.fTop); m_spriteStrings.setRedraw(); if(bFlag) { setScrollPos(SBS_VERT,100000); } return iRet; }
void MapWindow::ensureVisible(qint32 x, qint32 y) { const float scrollfactor = MapCanvas::SCROLLFACTOR(); const float horizontalValue = static_cast<float>(m_horizontalScrollBar->value()) * scrollfactor; const float verticalValue = static_cast<float>(m_verticalScrollBar->value()) * scrollfactor; const auto X1 = static_cast<qint32>(horizontalValue - 5.0f); const auto Y1 = static_cast<qint32>(verticalValue - 5.0f); const auto X2 = static_cast<qint32>(horizontalValue + 5.0f); const auto Y2 = static_cast<qint32>(verticalValue + 5.0f); if (x > X2 - 1) { m_horizontalScrollBar->setValue( static_cast<qint32>(static_cast<float>(x - 2) / scrollfactor)); } else if (x < X1 + 1) { m_horizontalScrollBar->setValue( static_cast<qint32>(static_cast<float>(x + 2) / scrollfactor)); } if (y > Y2 - 1) { m_verticalScrollBar->setValue(static_cast<qint32>(static_cast<float>(y - 2) / scrollfactor)); } else if (y < Y1 + 1) { m_verticalScrollBar->setValue(static_cast<qint32>(static_cast<float>(y + 2) / scrollfactor)); } bool scrollsNeedsUpdate = false; if (x < m_scrollBarMinimumVisible.x) { m_scrollBarMinimumVisible.x = x; scrollsNeedsUpdate = true; } if (x > m_scrollBarMaximumVisible.x) { m_scrollBarMaximumVisible.x = x; scrollsNeedsUpdate = true; } if (y < m_scrollBarMinimumVisible.y) { m_scrollBarMinimumVisible.y = y; scrollsNeedsUpdate = true; } if (y > m_scrollBarMaximumVisible.y) { m_scrollBarMaximumVisible.y = y; scrollsNeedsUpdate = true; } if (scrollsNeedsUpdate) { setScrollBars(m_scrollBarMinimumVisible, m_scrollBarMaximumVisible); } }
//----------------------------------------------- bool AflStringsWindow::open(LPCSTR pFileName) { if(!m_spriteStrings.open(pFileName)) return false; m_spriteStrings.setLimitWidth(); SIZE size; m_spriteStrings.getStringsSize(&size); setScrollBars(size.cx,size.cy); AflFRect rect; getClientRect(&rect); m_spriteStrings.setLimitSize(rect.getWidth(),rect.getHeight()); m_spriteStrings.setPoint(rect.fLeft,rect.fTop); m_spriteStrings.setRedraw(); return true; }
void MapWindow::resizeEvent(QResizeEvent * /*event*/) { setScrollBars(m_scrollBarMinimumVisible, m_scrollBarMaximumVisible); }