void NcursesEditorView::refresh()
{
    EditorAreas areas = determineEditorAreas(model.lineCount());

    forceCursorVisible(areas.editorArea, model, topVisibleLine, leftVisibleColumn);
    placeText(areas.editorArea, model, topVisibleLine, leftVisibleColumn);
    redrawLineNumberArea(areas.lineNumberArea, model, topVisibleLine);
    redrawStatusBar(areas.statusBarArea, model);
    redrawScrollArea(areas.scrollArea, leftVisibleColumn);
    placeCursor(areas.editorArea, model, topVisibleLine, leftVisibleColumn);

    ::refresh();
}
示例#2
0
void AngleTool::finishDrawing()
{
    // Així alliberem les primitives perquè puguin ser esborrades
    m_mainPolyline->decreaseReferenceCount();
    m_circlePolyline->decreaseReferenceCount();
    // Eliminem l'arc de circumferència (s'esborra automàticament del drawer)
    delete m_circlePolyline;

    // Col·loquem l'angle en el pla corresponent
    m_2DViewer->getDrawer()->erasePrimitive(m_mainPolyline);
    equalizeDepth();
    m_2DViewer->getDrawer()->draw(m_mainPolyline, m_2DViewer->getView(), m_2DViewer->getCurrentSlice());

    // Afegim l'annotació textual
    DrawerText *text = new DrawerText;
    text->setText(tr("%1 degrees").arg(m_currentAngle, 0, 'f', 1));
    placeText(text);
    m_2DViewer->getDrawer()->draw(text, m_2DViewer->getView(), m_2DViewer->getCurrentSlice());
}