starmath: Prefix n to SmCaretPos's Index

Change-Id: Ie1647d8143c4c38ebcf5111bffc291c26704c4c0
Reviewed-on: https://gerrit.libreoffice.org/32428
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
This commit is contained in:
Takeshi Abe
2016-12-26 18:41:53 +09:00
parent fd3d7a1f2c
commit d6a7f7fe98
4 changed files with 32 additions and 31 deletions

View File

@@ -20,9 +20,10 @@
/** Representation of caret position with an equation */
struct SmCaretPos{
SmCaretPos(SmNode* selectedNode = nullptr, int iIndex = 0) {
pSelectedNode = selectedNode;
Index = iIndex;
SmCaretPos(SmNode* selectedNode = nullptr, int iIndex = 0)
: pSelectedNode(selectedNode)
, nIndex(iIndex)
{
}
/** Selected node */
SmNode* pSelectedNode;
@@ -36,11 +37,11 @@ struct SmCaretPos{
*/
//TODO: Special cases for SmBlankNode is needed
//TODO: Consider forgetting about the todo above... As it's really unpleasant.
int Index;
int nIndex;
/** True, if this is a valid caret position */
bool IsValid() const { return pSelectedNode != nullptr; }
bool operator==(const SmCaretPos &pos) const {
return pos.pSelectedNode == pSelectedNode && Index == pos.Index;
return pos.pSelectedNode == pSelectedNode && nIndex == pos.nIndex;
}
/** Get the caret position after pNode, regardless of pNode
*

View File

@@ -17,7 +17,7 @@ SmCaretPosGraph::~SmCaretPosGraph() = default;
SmCaretPosGraphEntry* SmCaretPosGraph::Add(SmCaretPos pos,
SmCaretPosGraphEntry* left)
{
SAL_WARN_IF( pos.Index < 0, "starmath", "Index shouldn't be -1!" );
SAL_WARN_IF( pos.nIndex < 0, "starmath", "nIndex shouldn't be -1!" );
auto entry = o3tl::make_unique<SmCaretPosGraphEntry>(pos, left, nullptr);
SmCaretPosGraphEntry* e = entry.get();
//Set Left and Right to point to the entry itself if they are NULL

View File

@@ -184,7 +184,7 @@ void SmCursor::DeletePrev(OutputDevice* pDev){
assert(nLineOffset >= 0);
//If we're in front of a node who's parent is a TABLE
if(pLineParent->GetType() == NTABLE && mpPosition->CaretPos.Index == 0 && nLineOffset > 0){
if(pLineParent->GetType() == NTABLE && mpPosition->CaretPos.nIndex == 0 && nLineOffset > 0){
//Now we can merge with nLineOffset - 1
BeginEdit();
//Line to merge things into, so we can delete pLine
@@ -342,13 +342,13 @@ SmNodeList::iterator SmCursor::FindPositionInLineList(SmNodeList* pLineList,
if((*it)->GetType() == NTEXT)
{
//Split textnode if needed
if(rCaretPos.Index > 0)
if(rCaretPos.nIndex > 0)
{
SmTextNode* pText = static_cast<SmTextNode*>(rCaretPos.pSelectedNode);
if (rCaretPos.Index == pText->GetText().getLength())
if (rCaretPos.nIndex == pText->GetText().getLength())
return ++it;
OUString str1 = pText->GetText().copy(0, rCaretPos.Index);
OUString str2 = pText->GetText().copy(rCaretPos.Index);
OUString str1 = pText->GetText().copy(0, rCaretPos.nIndex);
OUString str2 = pText->GetText().copy(rCaretPos.nIndex);
pText->ChangeText(str1);
++it;
//Insert str2 as new text node
@@ -1462,12 +1462,12 @@ bool SmCursor::IsAtTailOfBracket(SmBracketType eBracketType, SmBraceNode** ppBra
if (pNode->GetType() == NTEXT) {
SmTextNode* pTextNode = static_cast<SmTextNode*>(pNode);
if (pos.Index < pTextNode->GetText().getLength()) {
if (pos.nIndex < pTextNode->GetText().getLength()) {
// The cursor is on a text node and at the middle of it.
return false;
}
} else {
if (pos.Index < 1) {
if (pos.nIndex < 1) {
return false;
}
}
@@ -1533,9 +1533,9 @@ bool SmCursor::IsAtTailOfBracket(SmBracketType eBracketType, SmBraceNode** ppBra
void SmCursor::MoveAfterBracket(SmBraceNode* pBraceNode)
{
mpPosition->CaretPos.pSelectedNode = pBraceNode;
mpPosition->CaretPos.Index = 1;
mpPosition->CaretPos.nIndex = 1;
mpAnchor->CaretPos.pSelectedNode = pBraceNode;
mpAnchor->CaretPos.Index = 1;
mpAnchor->CaretPos.nIndex = 1;
RequestRepaint();
}

View File

@@ -176,7 +176,7 @@ SmCaretDrawingVisitor::SmCaretDrawingVisitor( OutputDevice& rDevice,
void SmCaretDrawingVisitor::Visit( SmTextNode* pNode )
{
long i = maPos.Index;
long i = maPos.nIndex;
mrDev.SetFont( pNode->GetFont( ) );
@@ -212,7 +212,7 @@ void SmCaretDrawingVisitor::DefaultVisit( SmNode* pNode )
SmNode* pLine = SmCursor::FindTopMostNodeInLine( pNode );
//Find coordinates
long left = pNode->GetLeft( ) + maOffset.X( ) + ( maPos.Index == 1 ? pNode->GetWidth( ) : 0 );
long left = pNode->GetLeft( ) + maOffset.X( ) + ( maPos.nIndex == 1 ? pNode->GetWidth( ) : 0 );
long top = pLine->GetTop( ) + maOffset.Y( );
long height = pLine->GetHeight( );
long left_line = pLine->GetLeft( ) + maOffset.X( );
@@ -241,7 +241,7 @@ void SmCaretPos2LineVisitor::Visit( SmTextNode* pNode )
//Save device state
mpDev->Push( PushFlags::FONT | PushFlags::TEXTCOLOR );
long i = maPos.Index;
long i = maPos.nIndex;
mpDev->SetFont( pNode->GetFont( ) );
@@ -260,7 +260,7 @@ void SmCaretPos2LineVisitor::DefaultVisit( SmNode* pNode )
{
//Vertical line ( code from SmCaretDrawingVisitor )
Point p1 = pNode->GetTopLeft( );
if( maPos.Index == 1 )
if( maPos.nIndex == 1 )
p1.Move( pNode->GetWidth( ), 0 );
maLine = SmCaretLine( p1.X( ), p1.Y( ), pNode->GetHeight( ) );
@@ -528,10 +528,10 @@ SmSetSelectionVisitor::SmSetSelectionVisitor( SmCaretPos startPos, SmCaretPos en
//Visit root node, this is special as this node cannot be selected, but its children can!
if(pTree->GetType() == NTABLE){
//Change state if maStartPos is in front of this node
if( maStartPos.pSelectedNode == pTree && maStartPos.Index == 0 )
if( maStartPos.pSelectedNode == pTree && maStartPos.nIndex == 0 )
mbSelecting = !mbSelecting;
//Change state if maEndPos is in front of this node
if( maEndPos.pSelectedNode == pTree && maEndPos.Index == 0 )
if( maEndPos.pSelectedNode == pTree && maEndPos.nIndex == 0 )
mbSelecting = !mbSelecting;
SAL_WARN_IF(mbSelecting, "starmath", "Caret positions needed to set mbSelecting about, shouldn't be possible!");
@@ -575,10 +575,10 @@ void SmSetSelectionVisitor::SetSelectedOnAll( SmNode* pSubTree, bool IsSelected
void SmSetSelectionVisitor::DefaultVisit( SmNode* pNode ) {
//Change state if maStartPos is in front of this node
if( maStartPos.pSelectedNode == pNode && maStartPos.Index == 0 )
if( maStartPos.pSelectedNode == pNode && maStartPos.nIndex == 0 )
mbSelecting = !mbSelecting;
//Change state if maEndPos is in front of this node
if( maEndPos.pSelectedNode == pNode && maEndPos.Index == 0 )
if( maEndPos.pSelectedNode == pNode && maEndPos.nIndex == 0 )
mbSelecting = !mbSelecting;
//Cache current state
@@ -621,12 +621,12 @@ void SmSetSelectionVisitor::DefaultVisit( SmNode* pNode ) {
}
//Change state if maStartPos is after this node
if( maStartPos.pSelectedNode == pNode && maStartPos.Index == 1 )
if( maStartPos.pSelectedNode == pNode && maStartPos.nIndex == 1 )
{
mbSelecting = !mbSelecting;
}
//Change state if maEndPos is after of this node
if( maEndPos.pSelectedNode == pNode && maEndPos.Index == 1 )
if( maEndPos.pSelectedNode == pNode && maEndPos.nIndex == 1 )
{
mbSelecting = !mbSelecting;
}
@@ -635,10 +635,10 @@ void SmSetSelectionVisitor::DefaultVisit( SmNode* pNode ) {
void SmSetSelectionVisitor::VisitCompositionNode( SmStructureNode* pNode )
{
//Change state if maStartPos is in front of this node
if( maStartPos.pSelectedNode == pNode && maStartPos.Index == 0 )
if( maStartPos.pSelectedNode == pNode && maStartPos.nIndex == 0 )
mbSelecting = !mbSelecting;
//Change state if maEndPos is in front of this node
if( maEndPos.pSelectedNode == pNode && maEndPos.Index == 0 )
if( maEndPos.pSelectedNode == pNode && maEndPos.nIndex == 0 )
mbSelecting = !mbSelecting;
//Cache current state
@@ -656,10 +656,10 @@ void SmSetSelectionVisitor::VisitCompositionNode( SmStructureNode* pNode )
pNode->SetSelected( WasSelecting && mbSelecting );
//Change state if maStartPos is after this node
if( maStartPos.pSelectedNode == pNode && maStartPos.Index == 1 )
if( maStartPos.pSelectedNode == pNode && maStartPos.nIndex == 1 )
mbSelecting = !mbSelecting;
//Change state if maEndPos is after of this node
if( maEndPos.pSelectedNode == pNode && maEndPos.Index == 1 )
if( maEndPos.pSelectedNode == pNode && maEndPos.nIndex == 1 )
mbSelecting = !mbSelecting;
}
@@ -667,9 +667,9 @@ void SmSetSelectionVisitor::Visit( SmTextNode* pNode ) {
long i1 = -1,
i2 = -1;
if( maStartPos.pSelectedNode == pNode )
i1 = maStartPos.Index;
i1 = maStartPos.nIndex;
if( maEndPos.pSelectedNode == pNode )
i2 = maEndPos.Index;
i2 = maEndPos.nIndex;
long start, end;
pNode->SetSelected(true);