diff --git a/libj2dplot/code/J2DPlotFunction.cpp b/libj2dplot/code/J2DPlotFunction.cpp index 3c5060a29..8fb2d0a11 100644 --- a/libj2dplot/code/J2DPlotFunction.cpp +++ b/libj2dplot/code/J2DPlotFunction.cpp @@ -164,31 +164,27 @@ J2DPlotFunction::Receive { if (sender == itsVarList && message.Is(JVariableList::kVarInserted)) { - const auto* info = dynamic_cast(&message); - assert( info != nullptr ); - info->AdjustIndex(&itsXIndex); + auto& info = dynamic_cast(message); + info.AdjustIndex(&itsXIndex); } else if (sender == itsVarList && message.Is(JVariableList::kVarRemoved)) { - const auto* info = dynamic_cast(&message); - assert( info != nullptr ); - const bool ok = info->AdjustIndex(&itsXIndex); + auto& info = dynamic_cast(message); + const bool ok = info.AdjustIndex(&itsXIndex); assert( ok ); // client must ensure this } else if (sender == itsVarList && message.Is(JVariableList::kVarMoved)) { - const auto* info = dynamic_cast(&message); - assert( info != nullptr ); - info->AdjustIndex(&itsXIndex); + auto& info = dynamic_cast(message); + info.AdjustIndex(&itsXIndex); } else if (sender == itsVarList && message.Is(JVariableList::kVarValueChanged)) { - const auto* info = dynamic_cast(&message); - assert( info != nullptr ); - if (info->GetVarIndex() != itsXIndex) + auto& info = dynamic_cast(message); + if (info.GetVarIndex() != itsXIndex) { UpdateFunction(); BroadcastCurveChanged(); diff --git a/libj2dplot/code/JX2DCurveOptionsDialog.cpp b/libj2dplot/code/JX2DCurveOptionsDialog.cpp index 3e4d1af02..a6b178074 100644 --- a/libj2dplot/code/JX2DCurveOptionsDialog.cpp +++ b/libj2dplot/code/JX2DCurveOptionsDialog.cpp @@ -171,10 +171,9 @@ JX2DCurveOptionsDialog::Receive { if (sender == itsNameList && message.Is(JX2DCurveNameList::kNameSelected)) { - const auto* info = dynamic_cast(&message); - assert(info != nullptr); + auto& info = dynamic_cast(message); SaveSettings(); - itsCurrentIndex = info->GetIndex(); + itsCurrentIndex = info.GetIndex(); AdjustWidgets(); } diff --git a/libjcore/code/JAliasArray.tmpl b/libjcore/code/JAliasArray.tmpl index c7711256d..c8343823f 100644 --- a/libjcore/code/JAliasArray.tmpl +++ b/libjcore/code/JAliasArray.tmpl @@ -398,7 +398,7 @@ JAliasArray::SearchSortedOTI JIndex* data = const_cast(itsIndexArray->GetCArray()); \ for (JIndex _i=0; _iAdjustIndex(data + _i); \ + m.AdjustIndex(data + _i); \ } template @@ -411,27 +411,25 @@ JAliasArray::Receive { if (sender == itsData && message.Is(JListT::kItemsInserted)) { - auto* m = dynamic_cast(&message); - assert( m != nullptr ); + auto& m = dynamic_cast(message); ADJUST_INDEX(m); - for (JIndex i = m->GetFirstIndex(); i <= m->GetLastIndex(); i++) + for (JIndex i = m.GetFirstIndex(); i <= m.GetLastIndex(); i++) { itsIndexArray->InsertSorted(i); } - SetItemCount(GetItemCount() + m->GetCount()); + SetItemCount(GetItemCount() + m.GetCount()); } else if (sender == itsData && message.Is(JListT::kItemsRemoved)) { - auto* m = dynamic_cast(&message); - assert( m != nullptr ); + auto& m = dynamic_cast(message); const JSize count = itsIndexArray->GetItemCount(); for (JIndex i=count; i>=1; i--) { JIndex index = itsIndexArray->GetItem(i); - if (m->AdjustIndex(&index)) + if (m.AdjustIndex(&index)) { itsIndexArray->SetItem(i, index); } @@ -441,28 +439,25 @@ JAliasArray::Receive } } - SetItemCount(GetItemCount() - m->GetCount()); + SetItemCount(GetItemCount() - m.GetCount()); } else if (sender == itsData && message.Is(JListT::kItemMoved)) { - auto* m = dynamic_cast(&message); - assert( m != nullptr ); + auto& m = dynamic_cast(message); ADJUST_INDEX(m); } else if (sender == itsData && message.Is(JListT::kItemsSwapped)) { - auto* m = dynamic_cast(&message); - assert( m != nullptr ); + auto& m = dynamic_cast(message); ADJUST_INDEX(m); } else if (sender == itsData && message.Is(JListT::kItemsChanged)) { // Sort() would be O(N log N). This method is O(N) + O(log N) = O(N). - auto* m = dynamic_cast(&message); - assert( m != nullptr ); + auto& m = dynamic_cast(message); - for (JIndex j=m->GetFirstIndex(); j<=m->GetLastIndex(); j++) + for (JIndex j=m.GetFirstIndex(); j<=m.GetLastIndex(); j++) { const JSize count = itsIndexArray->GetItemCount(); for (JIndex i=1; i<=count; i++) diff --git a/libjcore/code/JAuxTableData.tmpl b/libjcore/code/JAuxTableData.tmpl index 1681e8ba2..3a5d68458 100644 --- a/libjcore/code/JAuxTableData.tmpl +++ b/libjcore/code/JAuxTableData.tmpl @@ -116,60 +116,52 @@ JAuxTableData::Receive if (sender == itsTable && message.Is(JTableData::kRowsInserted)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - JPackedTableData::InsertRows(info->GetFirstIndex(), info->GetCount()); + auto& info = dynamic_cast(message); + JPackedTableData::InsertRows(info.GetFirstIndex(), info.GetCount()); } else if (sender == itsTable && message.Is(JTableData::kRowDuplicated)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - JPackedTableData::DuplicateRow(info->GetOrigIndex(), info->GetNewIndex()); + auto& info = dynamic_cast(message); + JPackedTableData::DuplicateRow(info.GetOrigIndex(), info.GetNewIndex()); } else if (sender == itsTable && message.Is(JTableData::kRowsRemoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - JPackedTableData::RemoveNextRows(info->GetFirstIndex(), info->GetCount()); + auto& info = dynamic_cast(message); + JPackedTableData::RemoveNextRows(info.GetFirstIndex(), info.GetCount()); } else if (sender == itsTable && message.Is(JTableData::kRowMoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - JPackedTableData::MoveRow(info->GetOrigIndex(), info->GetNewIndex()); + auto& info = dynamic_cast(message); + JPackedTableData::MoveRow(info.GetOrigIndex(), info.GetNewIndex()); } // columns changed else if (sender == itsTable && message.Is(JTableData::kColsInserted)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - JPackedTableData::InsertCols(info->GetFirstIndex(), info->GetCount()); + auto& info = dynamic_cast(message); + JPackedTableData::InsertCols(info.GetFirstIndex(), info.GetCount()); } else if (sender == itsTable && message.Is(JTableData::kColDuplicated)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - JPackedTableData::DuplicateCol(info->GetOrigIndex(), info->GetNewIndex()); + auto& info = dynamic_cast(message); + JPackedTableData::DuplicateCol(info.GetOrigIndex(), info.GetNewIndex()); } else if (sender == itsTable && message.Is(JTableData::kColsRemoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - JPackedTableData::RemoveNextCols(info->GetFirstIndex(), info->GetCount()); + auto& info = dynamic_cast(message); + JPackedTableData::RemoveNextCols(info.GetFirstIndex(), info.GetCount()); } else if (sender == itsTable && message.Is(JTableData::kColMoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - JPackedTableData::MoveCol(info->GetOrigIndex(), info->GetNewIndex()); + auto& info = dynamic_cast(message); + JPackedTableData::MoveCol(info.GetOrigIndex(), info.GetNewIndex()); } // everything changed diff --git a/libjcore/code/JBroadcasterMessageIterator.tmpl b/libjcore/code/JBroadcasterMessageIterator.tmpl index 14ff6a14b..ffb1e5726 100644 --- a/libjcore/code/JBroadcasterMessageIterator.tmpl +++ b/libjcore/code/JBroadcasterMessageIterator.tmpl @@ -64,11 +64,10 @@ JBroadcasterMessageIterator::ListChanged if (message.Is(JListT::kItemsInserted)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - if (JListIterator::GetCursor() == 0 && info->GetFirstIndex() == 1) + auto& info = dynamic_cast(message); + if (JListIterator::GetCursor() == 0 && info.GetFirstIndex() == 1) { - JListIterator::MoveTo(JListT::kStartAfter, info->GetCount()); + JListIterator::MoveTo(JListT::kStartAfter, info.GetCount()); } } } diff --git a/libjcore/code/JBufferTableData.cpp b/libjcore/code/JBufferTableData.cpp index aea415516..3ef2f9323 100644 --- a/libjcore/code/JBufferTableData.cpp +++ b/libjcore/code/JBufferTableData.cpp @@ -62,71 +62,62 @@ JBufferTableData::Receive if (sender == data && message.Is(JTableData::kRectChanged)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - UpdateRect(info->GetRect()); + auto& info = dynamic_cast(message); + UpdateRect(info.GetRect()); } // rows changed else if (sender == data && message.Is(JTableData::kRowsInserted)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - InsertRows(info->GetFirstIndex(), info->GetCount()); - UpdateRows(info->GetFirstIndex(), info->GetCount()); + auto& info = dynamic_cast(message); + InsertRows(info.GetFirstIndex(), info.GetCount()); + UpdateRows(info.GetFirstIndex(), info.GetCount()); } else if (sender == data && message.Is(JTableData::kRowDuplicated)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - DuplicateRow(info->GetOrigIndex(), info->GetNewIndex()); + auto& info = dynamic_cast(message); + DuplicateRow(info.GetOrigIndex(), info.GetNewIndex()); } else if (sender == data && message.Is(JTableData::kRowsRemoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - RemoveNextRows(info->GetFirstIndex(), info->GetCount()); + auto& info = dynamic_cast(message); + RemoveNextRows(info.GetFirstIndex(), info.GetCount()); } else if (sender == data && message.Is(JTableData::kRowMoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - MoveRow(info->GetOrigIndex(), info->GetNewIndex()); + auto& info = dynamic_cast(message); + MoveRow(info.GetOrigIndex(), info.GetNewIndex()); } // columns changed else if (sender == data && message.Is(JTableData::kColsInserted)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - InsertCols(info->GetFirstIndex(), info->GetCount()); - UpdateCols(info->GetFirstIndex(), info->GetCount()); + auto& info = dynamic_cast(message); + InsertCols(info.GetFirstIndex(), info.GetCount()); + UpdateCols(info.GetFirstIndex(), info.GetCount()); } else if (sender == data && message.Is(JTableData::kColDuplicated)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - DuplicateCol(info->GetOrigIndex(), info->GetNewIndex()); + auto& info = dynamic_cast(message); + DuplicateCol(info.GetOrigIndex(), info.GetNewIndex()); } else if (sender == data && message.Is(JTableData::kColsRemoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - RemoveNextCols(info->GetFirstIndex(), info->GetCount()); + auto& info = dynamic_cast(message); + RemoveNextCols(info.GetFirstIndex(), info.GetCount()); } else if (sender == data && message.Is(JTableData::kColMoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - MoveCol(info->GetOrigIndex(), info->GetNewIndex()); + auto& info = dynamic_cast(message); + MoveCol(info.GetOrigIndex(), info.GetNewIndex()); } // something else diff --git a/libjcore/code/JContainer.cpp b/libjcore/code/JContainer.cpp index d6c5f7161..f481de396 100644 --- a/libjcore/code/JContainer.cpp +++ b/libjcore/code/JContainer.cpp @@ -123,15 +123,13 @@ JContainer::Receive { if (sender == itsList && message.Is(JListT::kItemsInserted)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - SetItemCount(GetItemCount() + info->GetCount()); + auto& info = dynamic_cast(message); + SetItemCount(GetItemCount() + info.GetCount()); } else if (sender == itsList && message.Is(JListT::kItemsRemoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - SetItemCount(GetItemCount() - info->GetCount()); + auto& info = dynamic_cast(message); + SetItemCount(GetItemCount() - info.GetCount()); } else { diff --git a/libjcore/code/JListIterator.tmpl b/libjcore/code/JListIterator.tmpl index 6b367c555..24fec8473 100644 --- a/libjcore/code/JListIterator.tmpl +++ b/libjcore/code/JListIterator.tmpl @@ -529,24 +529,22 @@ JListIterator::ListChanged { if (message.Is(JListT::kItemsInserted)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - if (itsCursorPosition >= info->GetFirstIndex()) + auto& info = dynamic_cast(message); + if (itsCursorPosition >= info.GetFirstIndex()) { - itsCursorPosition += info->GetCount(); + itsCursorPosition += info.GetCount(); } } else if (message.Is(JListT::kItemsRemoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - if (itsCursorPosition > info->GetLastIndex()) + auto& info = dynamic_cast(message); + if (itsCursorPosition > info.GetLastIndex()) { - itsCursorPosition -= info->GetCount(); + itsCursorPosition -= info.GetCount(); } - else if (itsCursorPosition >= info->GetFirstIndex()) + else if (itsCursorPosition >= info.GetFirstIndex()) { - itsCursorPosition = info->GetFirstIndex()-1; + itsCursorPosition = info.GetFirstIndex()-1; } } else if (message.Is(JListT::kCopied)) diff --git a/libjcore/code/JMMMonitor.cpp b/libjcore/code/JMMMonitor.cpp index c4bfd3bb9..179aa28a1 100644 --- a/libjcore/code/JMMMonitor.cpp +++ b/libjcore/code/JMMMonitor.cpp @@ -60,34 +60,29 @@ JMMMonitor::Receive if ( message.Is(JMemoryManager::kObjectDeletedAsArray) ) { - const auto* msg - = dynamic_cast(&message); - HandleObjectDeletedAsArray( msg->GetRecord() ); + auto& msg = dynamic_cast(message); + HandleObjectDeletedAsArray( msg.GetRecord() ); } else if ( message.Is(JMemoryManager::kArrayDeletedAsObject) ) { - const auto* msg - = dynamic_cast(&message); - HandleArrayDeletedAsObject( msg->GetRecord() ); + auto& msg = dynamic_cast(message); + HandleArrayDeletedAsObject( msg.GetRecord() ); } else if ( message.Is(JMemoryManager::kUnallocatedDeletion) ) { - const auto* msg - = dynamic_cast(&message); - HandleUnallocatedDeletion( msg->GetFile(), msg->GetLine(), msg->IsArray() ); + auto& msg = dynamic_cast(message); + HandleUnallocatedDeletion( msg.GetFile(), msg.GetLine(), msg.IsArray() ); } else if ( message.Is(JMemoryManager::kMultipleDeletion) ) { - const auto* msg - = dynamic_cast(&message); - HandleMultipleDeletion( msg->GetRecord(), msg->GetFile(), - msg->GetLine(), msg->IsArray() ); + auto& msg = dynamic_cast(message); + HandleMultipleDeletion( msg.GetRecord(), msg.GetFile(), + msg.GetLine(), msg.IsArray() ); } else if ( message.Is(JMemoryManager::kMultipleAllocation) ) { - const auto* msg - = dynamic_cast(&message); - HandleMultipleAllocation( msg->GetThisRecord(), msg->GetFirstRecord() ); + auto& msg = dynamic_cast(message); + HandleMultipleAllocation( msg.GetThisRecord(), msg.GetFirstRecord() ); } } diff --git a/libjcore/code/JNamedTreeList.cpp b/libjcore/code/JNamedTreeList.cpp index 658501128..59602ae89 100644 --- a/libjcore/code/JNamedTreeList.cpp +++ b/libjcore/code/JNamedTreeList.cpp @@ -88,7 +88,7 @@ JNamedTreeList::GetNodeName ) const { - return (GetNamedNode(index))->GetName(); + return GetNamedNode(index)->GetName(); } /****************************************************************************** @@ -103,7 +103,7 @@ JNamedTreeList::SetNodeName const JString& name ) { - (GetNamedNode(index))->SetName(name); + GetNamedNode(index)->SetName(name); } /****************************************************************************** @@ -189,26 +189,23 @@ JNamedTreeList::Receive { if (sender == this && message.Is(kNodeInserted)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - itsSortedNodeList->InsertSorted(const_cast(info->GetNode())); + auto& info = dynamic_cast(message); + itsSortedNodeList->InsertSorted(const_cast(info.GetNode())); } else if (sender == this && message.Is(kNodeRemoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - itsSortedNodeList->Remove(info->GetNode()); + auto& info = dynamic_cast(message); + itsSortedNodeList->Remove(info.GetNode()); } else if (sender == this && message.Is(kNodeChanged)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - itsSortedNodeList->Remove(info->GetNode()); - itsSortedNodeList->InsertSorted(const_cast(info->GetNode())); + auto& info = dynamic_cast(message); + itsSortedNodeList->Remove(info.GetNode()); + itsSortedNodeList->InsertSorted(const_cast(info.GetNode())); - const JTreeNode* node = info->GetNode(); + const JTreeNode* node = info.GetNode(); if (node != GetTree()->GetRoot()) { itsSortedNodeList->Remove(node); diff --git a/libjcore/code/JPtrArrayIterator.tmpl b/libjcore/code/JPtrArrayIterator.tmpl index 61290eed6..52380daf4 100644 --- a/libjcore/code/JPtrArrayIterator.tmpl +++ b/libjcore/code/JPtrArrayIterator.tmpl @@ -56,9 +56,9 @@ template bool JPtrArrayIterator::SetPrev ( - T* dataPtr, + T* dataPtr, const JPtrArrayT::SetAction action, - const JListT::Action move + const JListT::Action move ) { JList* obj; @@ -67,12 +67,10 @@ JPtrArrayIterator::SetPrev return false; } - JPtrArray* ptr = dynamic_cast*>(obj); - assert( ptr != nullptr ); - const JCursorPosition cursorPos = JListIterator::GetCursor(); - ptr->SetItem(cursorPos, dataPtr, action); + JPtrArray& ptr = dynamic_cast&>(*obj); + ptr.SetItem(cursorPos, dataPtr, action); if (move) { this->SetCursor(cursorPos-1); @@ -92,9 +90,9 @@ template bool JPtrArrayIterator::SetNext ( - T* dataPtr, + T* dataPtr, const JPtrArrayT::SetAction action, - const JListT::Action move + const JListT::Action move ) { JList* obj; @@ -103,12 +101,10 @@ JPtrArrayIterator::SetNext return false; } - JPtrArray* ptr = dynamic_cast*>(obj); - assert( ptr != nullptr ); - const JCursorPosition cursorPos = JListIterator::GetCursor() + 1; - ptr->SetItem(cursorPos, dataPtr, action); + JPtrArray& ptr = dynamic_cast&>(*obj); + ptr.SetItem(cursorPos, dataPtr, action); if (move) { this->SetCursor(cursorPos); @@ -134,10 +130,8 @@ JPtrArrayIterator::DeletePrev() return false; } - JPtrArray* ptr = dynamic_cast*>(obj); - assert( ptr != nullptr ); - - ptr->DeleteItem(JListIterator::GetCursor()); + JPtrArray& ptr = dynamic_cast&>(*obj); + ptr.DeleteItem(JListIterator::GetCursor()); return true; } @@ -159,10 +153,8 @@ JPtrArrayIterator::DeleteNext() return false; } - JPtrArray* ptr = dynamic_cast*>(obj); - assert( ptr != nullptr ); - - ptr->DeleteItem(JListIterator::GetCursor()+1); + JPtrArray& ptr = dynamic_cast&>(*obj); + ptr.DeleteItem(JListIterator::GetCursor()+1); return true; } @@ -184,10 +176,8 @@ JPtrArrayIterator::DeletePrevAsArray() return false; } - JPtrArray* ptr = dynamic_cast*>(obj); - assert( ptr != nullptr ); - - ptr->DeleteItemAsArray(JListIterator::GetCursor()); + JPtrArray& ptr = dynamic_cast&>(*obj); + ptr.DeleteItemAsArray(JListIterator::GetCursor()); return true; } @@ -209,10 +199,8 @@ JPtrArrayIterator::DeleteNextAsArray() return false; } - JPtrArray* ptr = dynamic_cast*>(obj); - assert( ptr != nullptr ); - - ptr->DeleteItemAsArray(JListIterator::GetCursor()+1); + JPtrArray& ptr = dynamic_cast&>(*obj); + ptr.DeleteItemAsArray(JListIterator::GetCursor()+1); return true; } diff --git a/libjcore/code/JSimpleProcess.cpp b/libjcore/code/JSimpleProcess.cpp index 914203a62..45c0edc88 100644 --- a/libjcore/code/JSimpleProcess.cpp +++ b/libjcore/code/JSimpleProcess.cpp @@ -347,9 +347,8 @@ JSimpleProcess::Receive { if (sender == this && message.Is(JProcess::kFinished)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - ReportError(info->Successful()); + auto& info = dynamic_cast(message); + ReportError(info.Successful()); } else { diff --git a/libjcore/code/JStyledText.cpp b/libjcore/code/JStyledText.cpp index 445ae2fdb..b5d31827f 100644 --- a/libjcore/code/JStyledText.cpp +++ b/libjcore/code/JStyledText.cpp @@ -1606,12 +1606,12 @@ JStyledText::SetAllFontNameAndSize { for (auto* u : *list) { - dynamic_cast(u)->SetFont(name, size); + dynamic_cast(*u).SetFont(name, size); } } else if (itsUndoChain->GetCurrentUndo(&undo)) { - dynamic_cast(undo)->SetFont(name, size); + dynamic_cast(*undo).SetFont(name, size); } itsDefaultFont.Set(name, size, itsDefaultFont.GetStyle()); diff --git a/libjcore/code/JTable.cpp b/libjcore/code/JTable.cpp index e6e1497b3..e316ee74c 100644 --- a/libjcore/code/JTable.cpp +++ b/libjcore/code/JTable.cpp @@ -2563,9 +2563,8 @@ JTable::Receive if ((sender == const_cast(itsTableData) || isAuxData) && message.Is(JTableData::kRectChanged)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - const JRect& r = info->GetRect(); + auto& info = dynamic_cast(message); + const JRect& r = info.GetRect(); if (sender == const_cast(itsTableData) && itsIsEditingFlag && r.Contains(itsEditCell)) { @@ -2579,33 +2578,29 @@ JTable::Receive else if (sender == const_cast(itsTableData) && message.Is(JTableData::kRowsInserted)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - InsertRows(info->GetFirstIndex(), info->GetCount()); + auto& info = dynamic_cast(message); + InsertRows(info.GetFirstIndex(), info.GetCount()); } else if (sender == const_cast(itsTableData) && message.Is(JTableData::kRowDuplicated)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - InsertRows(info->GetNewIndex(), 1); + auto& info = dynamic_cast(message); + InsertRows(info.GetNewIndex(), 1); } else if (sender == const_cast(itsTableData) && message.Is(JTableData::kRowsRemoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - RemoveNextRows(info->GetFirstIndex(), info->GetCount()); + auto& info = dynamic_cast(message); + RemoveNextRows(info.GetFirstIndex(), info.GetCount()); } else if (sender == const_cast(itsTableData) && message.Is(JTableData::kRowMoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - MoveRow(info->GetOrigIndex(), info->GetNewIndex()); + auto& info = dynamic_cast(message); + MoveRow(info.GetOrigIndex(), info.GetNewIndex()); } // columns changed @@ -2613,33 +2608,29 @@ JTable::Receive else if (sender == const_cast(itsTableData) && message.Is(JTableData::kColsInserted)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - InsertCols(info->GetFirstIndex(), info->GetCount()); + auto& info = dynamic_cast(message); + InsertCols(info.GetFirstIndex(), info.GetCount()); } else if (sender == const_cast(itsTableData) && message.Is(JTableData::kColDuplicated)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - InsertCols(info->GetNewIndex(), 1); + auto& info = dynamic_cast(message); + InsertCols(info.GetNewIndex(), 1); } else if (sender == const_cast(itsTableData) && message.Is(JTableData::kColsRemoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - RemoveNextCols(info->GetFirstIndex(), info->GetCount()); + auto& info = dynamic_cast(message); + RemoveNextCols(info.GetFirstIndex(), info.GetCount()); } else if (sender == const_cast(itsTableData) && message.Is(JTableData::kColMoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - MoveCol(info->GetOrigIndex(), info->GetNewIndex()); + auto& info = dynamic_cast(message); + MoveCol(info.GetOrigIndex(), info.GetNewIndex()); } // something else diff --git a/libjcore/code/JTableSelection.cpp b/libjcore/code/JTableSelection.cpp index a15809c5c..9d54ed4ba 100644 --- a/libjcore/code/JTableSelection.cpp +++ b/libjcore/code/JTableSelection.cpp @@ -136,32 +136,29 @@ JTableSelection::Receive if (sender == table && message.Is(JTableData::kRowsInserted)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - info->AdjustCell(&itsBoat); - info->AdjustCell(&itsAnchor); + auto& info = dynamic_cast(message); + info.AdjustCell(&itsBoat); + info.AdjustCell(&itsAnchor); reselect = true; } else if (sender == table && message.Is(JTableData::kRowDuplicated)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - info->AdjustCell(&itsBoat); - info->AdjustCell(&itsAnchor); + auto& info = dynamic_cast(message); + info.AdjustCell(&itsBoat); + info.AdjustCell(&itsAnchor); reselect = true; } else if (sender == table && message.Is(JTableData::kRowsRemoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); + auto& info = dynamic_cast(message); const JPoint origBoat = itsBoat; const JPoint origAnchor = itsAnchor; - info->AdjustCell(&itsBoat); - info->AdjustCell(&itsAnchor); + info.AdjustCell(&itsBoat); + info.AdjustCell(&itsAnchor); AdjustIndexAfterRemove(origBoat.y, origAnchor.y, - info->GetFirstIndex(), GetRowCount(), + info.GetFirstIndex(), GetRowCount(), &(itsBoat.y), &(itsAnchor.y)); reselect = true; } @@ -170,32 +167,29 @@ JTableSelection::Receive else if (sender == table && message.Is(JTableData::kColsInserted)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - info->AdjustCell(&itsBoat); - info->AdjustCell(&itsAnchor); + auto& info = dynamic_cast(message); + info.AdjustCell(&itsBoat); + info.AdjustCell(&itsAnchor); reselect = true; } else if (sender == table && message.Is(JTableData::kColDuplicated)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - info->AdjustCell(&itsBoat); - info->AdjustCell(&itsAnchor); + auto& info = dynamic_cast(message); + info.AdjustCell(&itsBoat); + info.AdjustCell(&itsAnchor); reselect = true; } else if (sender == table && message.Is(JTableData::kColsRemoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); + auto& info = dynamic_cast(message); const JPoint origBoat = itsBoat; const JPoint origAnchor = itsAnchor; - info->AdjustCell(&itsBoat); - info->AdjustCell(&itsAnchor); + info.AdjustCell(&itsBoat); + info.AdjustCell(&itsAnchor); AdjustIndexAfterRemove(origBoat.x, origAnchor.x, - info->GetFirstIndex(), GetColCount(), + info.GetFirstIndex(), GetColCount(), &(itsBoat.x), &(itsAnchor.x)); reselect = true; } diff --git a/libjcore/code/JTableSelectionIterator.cpp b/libjcore/code/JTableSelectionIterator.cpp index 97dc21bd5..113627056 100644 --- a/libjcore/code/JTableSelectionIterator.cpp +++ b/libjcore/code/JTableSelectionIterator.cpp @@ -394,24 +394,21 @@ JTableSelectionIterator::Receive if (message.Is(JTableData::kRowsInserted)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - info->AdjustCell(&itsCursor); + auto& info = dynamic_cast(message); + info.AdjustCell(&itsCursor); } else if (message.Is(JTableData::kRowDuplicated)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - info->AdjustCell(&itsCursor); + auto& info = dynamic_cast(message); + info.AdjustCell(&itsCursor); } else if (message.Is(JTableData::kRowsRemoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); + auto& info = dynamic_cast(message); JPoint newCursor = itsCursor; - if (info->AdjustCell(&newCursor)) + if (info.AdjustCell(&newCursor)) { itsCursor = newCursor; } @@ -436,24 +433,21 @@ JTableSelectionIterator::Receive else if (message.Is(JTableData::kColsInserted)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - info->AdjustCell(&itsCursor); + auto& info = dynamic_cast(message); + info.AdjustCell(&itsCursor); } else if (message.Is( JTableData::kColDuplicated)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - info->AdjustCell(&itsCursor); + auto& info = dynamic_cast(message); + info.AdjustCell(&itsCursor); } else if (message.Is(JTableData::kColsRemoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); + auto& info = dynamic_cast(message); JPoint newCursor = itsCursor; - if (info->AdjustCell(&newCursor)) + if (info.AdjustCell(&newCursor)) { itsCursor = newCursor; } diff --git a/libjcore/code/JTaskIterator.tmpl b/libjcore/code/JTaskIterator.tmpl index fbf1a8fb4..1c1ee136e 100644 --- a/libjcore/code/JTaskIterator.tmpl +++ b/libjcore/code/JTaskIterator.tmpl @@ -72,11 +72,10 @@ JTaskIterator::ListChanged if (message.Is(JListT::kItemsInserted)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - if (JListIterator::GetCursor() == 0 && info->GetFirstIndex() == 1) + auto& info = dynamic_cast(message); + if (JListIterator::GetCursor() == 0 && info.GetFirstIndex() == 1) { - JListIterator::MoveTo(JListT::kStartAfter, info->GetCount()); + JListIterator::MoveTo(JListT::kStartAfter, info.GetCount()); } } } diff --git a/libjcore/code/JTextEditor.cpp b/libjcore/code/JTextEditor.cpp index fd708e15f..5e98f999a 100644 --- a/libjcore/code/JTextEditor.cpp +++ b/libjcore/code/JTextEditor.cpp @@ -398,22 +398,21 @@ JTextEditor::Receive else if (sender == itsText && message.Is(JStyledText::kTextChanged)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - const TextRange& rcr = info->GetRecalcRange(); + auto& info = dynamic_cast(message); + const TextRange& rcr = info.GetRecalcRange(); if (rcr.charRange.GetCount() == itsText->GetText().GetCharacterCount()) { RecalcAll(false); } else { - Recalc(rcr, info->GetRedrawRange()); + Recalc(rcr, info.GetRedrawRange()); } - const TextRange& r = info->GetRange(); + const TextRange& r = info.GetRange(); - const JInteger cd = info->GetCharDelta(), - bd = info->GetByteDelta(); + const JInteger cd = info.GetCharDelta(), + bd = info.GetByteDelta(); if (itsSelection.IsEmpty() && r.charRange.last - cd < itsCaret.location.charIndex) @@ -464,9 +463,8 @@ JTextEditor::Receive else if (sender == itsText && message.Is(JStyledText::kUndoFinished)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - const TextRange& r = info->GetRange(); + auto& info = dynamic_cast(message); + const TextRange& r = info.GetRange(); if (itsActiveFlag && !r.IsEmpty()) { SetSelection(r); diff --git a/libjcore/code/JThreadPG.cpp b/libjcore/code/JThreadPG.cpp index a5383d059..07ec7d1e2 100644 --- a/libjcore/code/JThreadPG.cpp +++ b/libjcore/code/JThreadPG.cpp @@ -68,39 +68,37 @@ JThreadPG::WaitForProcessFinished { if (m->Is(kProcessBeginning)) { - auto* info = dynamic_cast(m); - assert( info != nullptr ); + auto& info = dynamic_cast(*m); const JString* msg; - if (!info->GetMessage(&msg)) + if (!info.GetMessage(&msg)) { msg = &JString::empty; } - if (info->GetProcessType() == kFixedLengthProcess) + if (info.GetProcessType() == kFixedLengthProcess) { - pg->FixedLengthProcessBeginning(info->GetStepCount(), *msg, - info->AllowCancel(), false); + pg->FixedLengthProcessBeginning(info.GetStepCount(), *msg, + info.AllowCancel(), false); } else { - assert( info->GetProcessType() == kVariableLengthProcess ); + assert( info.GetProcessType() == kVariableLengthProcess ); - pg->VariableLengthProcessBeginning(*msg, info->AllowCancel(), false); + pg->VariableLengthProcessBeginning(*msg, info.AllowCancel(), false); } } else if (m->Is(kIncrementProgress)) { - auto* info = dynamic_cast(m); - assert( info != nullptr ); + auto& info = dynamic_cast(*m); const JString* msg; - if (!info->GetMessage(&msg)) + if (!info.GetMessage(&msg)) { msg = &JString::empty; } - if (!pg->IncrementProgress(*msg, info->GetDelta()) && + if (!pg->IncrementProgress(*msg, info.GetDelta()) && itsCancelFlag != nullptr) { *itsCancelFlag = true; diff --git a/libjcore/code/JTreeList.cpp b/libjcore/code/JTreeList.cpp index f3e317240..6e13c720b 100644 --- a/libjcore/code/JTreeList.cpp +++ b/libjcore/code/JTreeList.cpp @@ -402,11 +402,10 @@ JTreeList::Receive } else if (sender == itsTree && message.Is(JTree::kNodeInserted)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - const JIndex index = info->GetIndex(); - JTreeNode* parent = info->GetParent(); - JTreeNode* node = info->GetNode(); + auto& info = dynamic_cast(message); + const JIndex index = info.GetIndex(); + JTreeNode* parent = info.GetParent(); + JTreeNode* node = info.GetNode(); // Since every node may have children, we have to insert the new // node just above the node it displaced. @@ -438,9 +437,8 @@ JTreeList::Receive else if (sender == itsTree && message.Is(JTree::kNodeRemoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - JTreeNode* node = info->GetNode(); + auto& info = dynamic_cast(message); + JTreeNode* node = info.GetNode(); JIndex index; if (FindNode(node, &index)) { @@ -451,9 +449,8 @@ JTreeList::Receive else if (sender == itsTree && message.Is(JTree::kNodeDeleted)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - JTreeNode* node = info->GetNode(); + auto& info = dynamic_cast(message); + JTreeNode* node = info.GetNode(); itsOpenNodeList->Remove(node); JIndex index; if (FindNode(node, &index)) @@ -464,9 +461,8 @@ JTreeList::Receive else if (sender == itsTree && message.Is(JTree::kNodeChanged)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - JTreeNode* node = info->GetNode(); + auto& info = dynamic_cast(message); + JTreeNode* node = info.GetNode(); JIndex index; if (FindNode(node, &index)) @@ -482,9 +478,8 @@ JTreeList::Receive else if (sender == itsTree && message.Is(JTree::kPrepareForNodeMove)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - itsWasOpenBeforeMoveFlag = IsOpen(info->GetNode()); + auto& info = dynamic_cast(message); + itsWasOpenBeforeMoveFlag = IsOpen(info.GetNode()); } else diff --git a/libjcore/code/JTreeNode.cpp b/libjcore/code/JTreeNode.cpp index b350b9284..e372998be 100644 --- a/libjcore/code/JTreeNode.cpp +++ b/libjcore/code/JTreeNode.cpp @@ -476,11 +476,10 @@ JTreeNode::Receive { assert( itsTree != nullptr ); - auto* info = dynamic_cast(&message); - assert( info != nullptr ); + auto& info = dynamic_cast(message); - const JIndex origIndex = info->GetOrigIndex(); - const JIndex newIndex = info->GetNewIndex(); + const JIndex origIndex = info.GetOrigIndex(); + const JIndex newIndex = info.GetNewIndex(); JTreeNode* child = itsChildren->GetItem(newIndex); itsChildren->RemoveItem(newIndex); // avoid another ItemMoved diff --git a/libjexpr/code/JExprEditor.cpp b/libjexpr/code/JExprEditor.cpp index 2c490876b..50c2389f3 100644 --- a/libjexpr/code/JExprEditor.cpp +++ b/libjexpr/code/JExprEditor.cpp @@ -810,23 +810,22 @@ JExprEditor::ApplyFunction const bool isLogB = dynamic_cast(*newF) != nullptr; - auto* fwa = dynamic_cast(*newF); - assert( fwa != nullptr ); - argCount = fwa->GetArgCount(); + auto& fwa = dynamic_cast(**newF); + argCount = fwa.GetArgCount(); for (JIndex i=1; i<=argCount; i++) { if (i == 2 && isLogB) { - fwa->SetArg(2, *newArg); + fwa.SetArg(2, *newArg); } else if (i == 1 && !isLogB) { - fwa->SetArg(1, *newArg); + fwa.SetArg(1, *newArg); } else if (!isLogB || origArgCount > 1) { auto* uif = jnew JUserInputFunction(this); - fwa->SetArg(i, uif); + fwa.SetArg(i, uif); if (*newUIF == nullptr) { *newUIF = uif; @@ -943,8 +942,8 @@ JExprEditor::GroupArguments const bool groupAll = lastArg - firstArg + 1 == parentArgCount; - auto* neg = dynamic_cast(f); - JFunction* negArg = neg != nullptr ? neg->GetArg() : nullptr; + auto* neg = dynamic_cast(f); + JFunction* negArg = neg != nullptr ? neg->GetArg() : nullptr; const bool extendNegation = typeid(*parentF) == typeid(JSummation) && neg != nullptr && typeid(*neg) == typeid(JNegation) && @@ -956,13 +955,12 @@ JExprEditor::GroupArguments if (extendNegation && argsInRange) { SaveStateForUndo(); - auto* naryF = dynamic_cast(neg->GetArg()); - assert( naryF != nullptr ); + auto& naryF = dynamic_cast(*neg->GetArg()); if (delta > 0) { for (JIndex i=1; i <= (JSize) delta; i++) { - naryF->AppendArg(Negate(*(naryParentF->GetArg(argIndex+1)))); + naryF.AppendArg(Negate(*naryParentF->GetArg(argIndex+1))); naryParentF->DeleteArg(argIndex+1); } } @@ -970,7 +968,7 @@ JExprEditor::GroupArguments { for (JIndex i=1; i <= (JSize) -delta; i++) { - naryF->PrependArg(Negate(*(naryParentF->GetArg(argIndex-i)))); + naryF.PrependArg(Negate(*naryParentF->GetArg(argIndex-i))); naryParentF->DeleteArg(argIndex-i); } } @@ -995,15 +993,14 @@ JExprEditor::GroupArguments // will not be in the group. JFunction* newF = parentF->Copy(); - auto* group = dynamic_cast(newF); - assert( group != nullptr ); - while (group->GetArgCount() > lastArg) + auto& group = dynamic_cast(*newF); + while (group.GetArgCount() > lastArg) { - group->DeleteArg(lastArg+1); + group.DeleteArg(lastArg+1); } for (i=1; iDeleteArg(1); + group.DeleteArg(1); } // Replace the original args from the parent function @@ -1013,13 +1010,13 @@ JExprEditor::GroupArguments { naryParentF->DeleteArg(firstArg); } - naryParentF->InsertArg(firstArg, group); + naryParentF->InsertArg(firstArg, &group); // show the result itsActiveUIF = nullptr; Render(); - SelectFunction(group); + SelectFunction(&group); } // add the arguments to the existing group @@ -1027,13 +1024,12 @@ JExprEditor::GroupArguments else if (sameType && argsInRange && !groupAll) { SaveStateForUndo(); - auto* naryF = dynamic_cast(f); - assert( naryF != nullptr ); + auto& naryF = dynamic_cast(*f); if (delta > 0) { for (JIndex i=1; i <= (JSize) delta; i++) { - naryF->AppendArg((naryParentF->GetArg(argIndex+1))->Copy()); + naryF.AppendArg(naryParentF->GetArg(argIndex+1)->Copy()); naryParentF->DeleteArg(argIndex+1); } } @@ -1041,7 +1037,7 @@ JExprEditor::GroupArguments { for (JIndex i=1; i <= (JSize) -delta; i++) { - naryF->PrependArg((naryParentF->GetArg(argIndex-i))->Copy()); + naryF.PrependArg(naryParentF->GetArg(argIndex-i)->Copy()); naryParentF->DeleteArg(argIndex-i); } } @@ -1101,9 +1097,8 @@ JExprEditor::UngroupArguments() typeid(*naryParentF) == typeid(JSummation) && typeid(*f) == typeid(JNegation)) { - const auto* neg = dynamic_cast(f); - assert( neg != nullptr ); - const auto* naryF = dynamic_cast(neg->GetArg()); + auto& neg = dynamic_cast(*f); + auto* naryF = dynamic_cast(neg.GetArg()); if (naryF != nullptr && typeid(*naryF) == typeid(JSummation)) { SaveStateForUndo(); @@ -1115,7 +1110,7 @@ JExprEditor::UngroupArguments() const JSize fArgCount = naryF->GetArgCount(); for (JIndex i=1; i<=fArgCount; i++) { - naryParentF->InsertArg(argIndex+i, Negate(*(naryF->GetArg(i)))); + naryParentF->InsertArg(argIndex+i, Negate(*naryF->GetArg(i))); } naryParentF->DeleteArg(argIndex); @@ -1374,9 +1369,9 @@ JExprEditor::SelectFunction bool found = itsRectList->FindFunction(f, &fIndex); while (!found) { - const auto* fwa = dynamic_cast(f); - assert( fwa != nullptr && fwa->GetArgCount() > 0 ); - f = fwa->GetArg(1); + auto& fwa = dynamic_cast(*f); + assert( fwa.GetArgCount() > 0 ); + f = fwa.GetArg(1); found = itsRectList->FindFunction(f, &fIndex); } @@ -1536,9 +1531,8 @@ JExprEditor::GetCmdStatus else if (typeid(*naryParentF) == typeid(JSummation) && typeid(*selF) == typeid(JNegation)) { - const auto* neg = dynamic_cast(selF); - assert( neg != nullptr ); - const JFunction* negArg = neg->GetArg(); + auto& neg = dynamic_cast(*selF); + const JFunction* negArg = neg.GetArg(); if (typeid(*negArg) == typeid(JSummation)) { flags.SetItem(kUngroupCmd, true); @@ -1788,9 +1782,8 @@ JExprEditor::EIPHandleMouseUp() const std::type_info& selectedFType = typeid(*selectedF); if (selectedFType == typeid(JUserInputFunction)) { - auto* uif = dynamic_cast(selectedF); - assert( uif != nullptr ); - ActivateUIF(uif); + auto& uif = dynamic_cast(*selectedF); + ActivateUIF(&uif); assert( itsActiveUIF != nullptr ); itsActiveUIF->HandleMouseDown(itsStartPt, false, *itsRectList, *this); itsActiveUIF->HandleMouseUp(); @@ -1804,16 +1797,14 @@ JExprEditor::EIPHandleMouseUp() JString s; if (selectedFType == typeid(JConstantValue)) { - auto* constVal = dynamic_cast(selectedF); - assert( constVal != nullptr ); - s = JString(constVal->GetValue()); + auto& constVal = dynamic_cast(*selectedF); + s = JString(constVal.GetValue()); } else { assert( selectedFType == typeid(JVariableValue) ); - auto* varVal = dynamic_cast(selectedF); - assert( varVal != nullptr ); - s = itsVarList->GetVariableName(varVal->GetVariableIndex()); + auto& varVal = dynamic_cast(*selectedF); + s = itsVarList->GetVariableName(varVal.GetVariableIndex()); } auto* newUIF = jnew JUserInputFunction(this, s); ReplaceFunction(selectedF, newUIF); @@ -2065,21 +2056,19 @@ JExprEditor::ApplyOperatorKey (key == '*' && targetType == typeid(JProduct)) || (key == '|' && targetType == typeid(JParallel))) { - auto* naryOp = dynamic_cast(targetF); - assert( naryOp != nullptr ); - naryOp->SetArg(naryOp->GetArgCount()+1, newArg); + auto& naryOp = dynamic_cast(*targetF); + naryOp.SetArg(naryOp.GetArgCount()+1, newArg); } else if (parentF != nullptr && (((key == '+' || key == '-') && *parentType == typeid(JSummation)) || (key == '*' && *parentType == typeid(JProduct)) || (key == '|' && *parentType == typeid(JParallel)))) { - auto* naryOp = dynamic_cast(parentF); - assert( naryOp != nullptr ); + auto& naryOp = dynamic_cast(*parentF); JIndex selFIndex; - const bool found = naryOp->FindArg(targetF, &selFIndex); + const bool found = naryOp.FindArg(targetF, &selFIndex); assert( found ); - naryOp->InsertArg(selFIndex+1, newArg); + naryOp.InsertArg(selFIndex+1, newArg); } else if (key == '+' || key == '-' || key == '*' || key == '|') { @@ -2322,11 +2311,10 @@ JExprEditor::DeleteFunction } else if (parentArgCount > 2) { - auto* naryF = dynamic_cast(parentF); - assert( naryF != nullptr ); - const bool ok = naryF->DeleteArg(targetF); + auto& naryF = dynamic_cast(*parentF); + const bool ok = naryF.DeleteArg(targetF); assert( ok ); - fToSelect = naryF; + fToSelect = &naryF; } return fToSelect; @@ -2395,7 +2383,7 @@ JExprEditor::FindNextUIF for (JIndex i=currentIndex+1; i<=rectCount; i++) { const JFunction* f = itsRectList->GetFunction(i); - const auto* uif = dynamic_cast(f); + const auto* uif = dynamic_cast(f); if (uif != nullptr) { return const_cast(uif); @@ -2405,7 +2393,7 @@ JExprEditor::FindNextUIF for (JIndex i=1; i<=currentIndex; i++) { const JFunction* f = itsRectList->GetFunction(i); - const auto* uif = dynamic_cast(f); + const auto* uif = dynamic_cast(f); if (uif != nullptr) { return const_cast(uif); diff --git a/libjexpr/code/JUserInputFunction.cpp b/libjexpr/code/JUserInputFunction.cpp index a72aa092f..51a9d8142 100644 --- a/libjexpr/code/JUserInputFunction.cpp +++ b/libjexpr/code/JUserInputFunction.cpp @@ -253,10 +253,9 @@ JUserInputFunction::Render // JTextEditor draws text - auto* exprEditor = dynamic_cast(const_cast(&renderer)); - assert( exprEditor != nullptr ); + auto& exprEditor = dynamic_cast(const_cast(renderer)); - JPainter* p = exprEditor->GetPainter(); + JPainter* p = exprEditor.GetPainter(); assert( p != nullptr ); const JPoint delta = ourRect.topLeft() + JPoint(kHMarginWidth, kVMarginWidth); @@ -573,7 +572,7 @@ JUserInputFunction::Parse const JUtf8Character& c, JFunction** f, JUserInputFunction** newUIF, - bool* needRender + bool* needRender ) { *f = nullptr; @@ -611,10 +610,9 @@ JUserInputFunction::Parse JExprParser p(itsEditor->GetVariableList()); if (p.Parse(buffer, f)) { - auto* fwv = dynamic_cast(*f); - assert( fwv != nullptr ); - *newUIF = jnew JUserInputFunction(itsEditor); - fwv->SetArrayIndex(*newUIF); + auto& fwv = dynamic_cast(**f); + *newUIF = jnew JUserInputFunction(itsEditor); + fwv.SetArrayIndex(*newUIF); return true; } else diff --git a/libjexpr/code/JVariableList.cpp b/libjexpr/code/JVariableList.cpp index 61ca9094c..f49ef7997 100644 --- a/libjexpr/code/JVariableList.cpp +++ b/libjexpr/code/JVariableList.cpp @@ -362,9 +362,8 @@ JVariableList::Receive if (sender == const_cast(mainList) && message.Is(JListT::kItemsInserted)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - VariablesInserted(*info); + auto& info = dynamic_cast(message); + VariablesInserted(info); } else if (sender == const_cast(mainList) && message.Is(JListT::kItemsRemoved)) @@ -375,24 +374,21 @@ JVariableList::Receive // happens when the object is destructed. During destruction, // we obviously should not complain. - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - VariablesRemoved(*info); + auto& info = dynamic_cast(message); + VariablesRemoved(info); } } else if (sender == const_cast(mainList) && message.Is(JListT::kItemMoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - VariableMoved(*info); + auto& info = dynamic_cast(message); + VariableMoved(info); } else if (sender == const_cast(mainList) && message.Is(JListT::kItemsSwapped)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - VariablesSwapped(*info); + auto& info = dynamic_cast(message); + VariablesSwapped(info); } else if (sender == const_cast(mainList) && message.Is(JListT::kSorted)) diff --git a/libjfs/code/JFSFileTreeNode.cpp b/libjfs/code/JFSFileTreeNode.cpp index 292cb77f2..81732ef46 100644 --- a/libjfs/code/JFSFileTreeNode.cpp +++ b/libjfs/code/JFSFileTreeNode.cpp @@ -193,10 +193,8 @@ JFSFileTreeNode::UpdatePath { assert( message.Is(JFSFileTree::kDirectoryRenamed) ); - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - - UpdatePath(info->GetOldPath(), info->GetNewPath()); + auto& info = dynamic_cast(message); + UpdatePath(info.GetOldPath(), info.GetNewPath()); } void @@ -367,11 +365,10 @@ JFSFileTreeNode::CreateDirInfo() JTreeNode* parent; if (GetParent(&parent)) { - auto* fsParent = dynamic_cast(parent); - assert( fsParent != nullptr ); + auto& fsParent = dynamic_cast(*parent); JDirInfo* parentInfo; - ok = fsParent->GetDirInfo(&parentInfo); + ok = fsParent.GetDirInfo(&parentInfo); assert( ok ); ok = JDirInfo::Create(*parentInfo, fullName, &itsDirInfo); } diff --git a/libjfs/code/JFSFileTreeNodeBase.cpp b/libjfs/code/JFSFileTreeNodeBase.cpp index 3ed661436..2064bb361 100644 --- a/libjfs/code/JFSFileTreeNodeBase.cpp +++ b/libjfs/code/JFSFileTreeNodeBase.cpp @@ -55,9 +55,8 @@ JFSFileTreeNodeBase::Update const JSize count = GetChildCount(); for (JIndex i=1; i<=count; i++) { - auto* node = dynamic_cast(GetChild(i)); - assert( node != nullptr ); - if (node->Update(force, updateNode)) + auto& node = dynamic_cast(*GetChild(i)); + if (node.Update(force, updateNode)) { changed = true; } diff --git a/libjfs/code/JXFSCommandHistoryMenu.cpp b/libjfs/code/JXFSCommandHistoryMenu.cpp index 358c993e7..752acf29d 100644 --- a/libjfs/code/JXFSCommandHistoryMenu.cpp +++ b/libjfs/code/JXFSCommandHistoryMenu.cpp @@ -95,10 +95,8 @@ JXFSCommandHistoryMenu::GetCommand { assert( message.Is(JXMenu::kItemSelected) ); - const auto* selection = dynamic_cast(&message); - assert( selection != nullptr ); - - return GetCommand(selection->GetIndex(), type, singleFile); + auto& selection = dynamic_cast(message); + return GetCommand(selection.GetIndex(), type, singleFile); } const JString& diff --git a/libjfs/code/JXFSDirMenu.cpp b/libjfs/code/JXFSDirMenu.cpp index 3876ee16c..b2603450c 100644 --- a/libjfs/code/JXFSDirMenu.cpp +++ b/libjfs/code/JXFSDirMenu.cpp @@ -360,15 +360,14 @@ JXFSDirMenu::Receive } else if (sender == this && message.Is(JXMenu::kItemSelected)) { - const auto* info = dynamic_cast(&message); - assert(info != nullptr); + auto& info = dynamic_cast(message); if (itsEntries != nullptr) { - BroadcastIfTopLevel(itsEntries->GetItem(info->GetIndex())->GetFullName()); + BroadcastIfTopLevel(itsEntries->GetItem(info.GetIndex())->GetFullName()); } else if (itsDirInfo != nullptr) { - BroadcastIfTopLevel(itsDirInfo->GetEntry(info->GetIndex()).GetFullName()); + BroadcastIfTopLevel(itsDirInfo->GetEntry(info.GetIndex()).GetFullName()); } } else diff --git a/libjx/code/JXCSFDialogBase.cpp b/libjx/code/JXCSFDialogBase.cpp index fd77f0212..faa3243f0 100644 --- a/libjx/code/JXCSFDialogBase.cpp +++ b/libjx/code/JXCSFDialogBase.cpp @@ -559,9 +559,8 @@ JXCSFDialogBase::Receive else if (sender == itsShowHiddenCB && message.Is(JXCheckbox::kPushed)) { - auto* state = dynamic_cast(&message); - assert( state != nullptr ); - itsFileBrowser->ShowHidden(state->IsChecked()); + auto& state = dynamic_cast(message); + itsFileBrowser->ShowHidden(state.IsChecked()); } else if (sender == itsCurrPathMenu && message.Is(JXMenu::kItemSelected)) diff --git a/libjx/code/JXChooseFileDialog.cpp b/libjx/code/JXChooseFileDialog.cpp index c7210c32a..178443992 100644 --- a/libjx/code/JXChooseFileDialog.cpp +++ b/libjx/code/JXChooseFileDialog.cpp @@ -331,9 +331,8 @@ JXChooseFileDialog::Receive if (sender == fileBrowser && message.Is(JXDirTable::kFileDblClicked)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - if (info->IsActive()) + auto& info = dynamic_cast(message); + if (info.IsActive()) { EndDialog(true); } diff --git a/libjx/code/JXColHeaderWidget.cpp b/libjx/code/JXColHeaderWidget.cpp index dac629181..35936e112 100644 --- a/libjx/code/JXColHeaderWidget.cpp +++ b/libjx/code/JXColHeaderWidget.cpp @@ -500,62 +500,56 @@ JXColHeaderWidget::Receive else if (sender == itsTable && message.Is(JTable::kColWidthChanged)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - SetColWidth(info->GetIndex(), info->GetNewColWidth()); + auto& info = dynamic_cast(message); + SetColWidth(info.GetIndex(), info.GetNewColWidth()); } else if (sender == itsTable && message.Is(JTable::kAllColWidthsChanged)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - SetAllColWidths(info->GetNewColWidth()); + auto& info = dynamic_cast(message); + SetAllColWidths(info.GetNewColWidth()); } else if (sender == itsTable && message.Is(JTable::kColsInserted)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); + auto& info = dynamic_cast(message); if (itsTitles != nullptr) { - for (JIndex i=1; i<=info->GetCount(); i++) + for (JIndex i=1; i<=info.GetCount(); i++) { - itsTitles->InsertAtIndex(info->GetFirstIndex(), (JString*) nullptr); + itsTitles->InsertAtIndex(info.GetFirstIndex(), (JString*) nullptr); } } - InsertCols(info->GetFirstIndex(), info->GetCount(), info->GetColWidth()); + InsertCols(info.GetFirstIndex(), info.GetCount(), info.GetColWidth()); } else if (sender == itsTable && message.Is(JTable::kColsRemoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); + auto& info = dynamic_cast(message); if (itsTitles != nullptr) { - for (JIndex i=1; i<=info->GetCount(); i++) + for (JIndex i=1; i<=info.GetCount(); i++) { - itsTitles->DeleteItem(info->GetFirstIndex()); + itsTitles->DeleteItem(info.GetFirstIndex()); } } - RemoveNextCols(info->GetFirstIndex(), info->GetCount()); + RemoveNextCols(info.GetFirstIndex(), info.GetCount()); } else if (sender == itsTable && message.Is(JTable::kColMoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); + auto& info = dynamic_cast(message); if (itsTitles != nullptr) { - itsTitles->MoveItemToIndex(info->GetOrigIndex(), info->GetNewIndex()); + itsTitles->MoveItemToIndex(info.GetOrigIndex(), info.GetNewIndex()); } - MoveCol(info->GetOrigIndex(), info->GetNewIndex()); + MoveCol(info.GetOrigIndex(), info.GetNewIndex()); } else if (sender == itsTable && message.Is(JTable::kColBorderWidthChanged)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - SetColBorderInfo(info->GetNewBorderWidth(), JColorManager::GetDefaultBackColor()); + auto& info = dynamic_cast(message); + SetColBorderInfo(info.GetNewBorderWidth(), JColorManager::GetDefaultBackColor()); } // something else diff --git a/libjx/code/JXCurrentPathMenu.cpp b/libjx/code/JXCurrentPathMenu.cpp index ddb573cfa..be8d4fd3d 100644 --- a/libjx/code/JXCurrentPathMenu.cpp +++ b/libjx/code/JXCurrentPathMenu.cpp @@ -107,10 +107,8 @@ JXCurrentPathMenu::GetPath { assert( message.Is(JXMenu::kItemSelected) ); - auto* selection = dynamic_cast(&message); - assert( selection != nullptr ); - - return GetPath(selection->GetIndex()); + auto& selection = dynamic_cast(message); + return GetPath(selection.GetIndex()); } JString diff --git a/libjx/code/JXDNDManager.cpp b/libjx/code/JXDNDManager.cpp index a81716e1d..6b2c901a9 100644 --- a/libjx/code/JXDNDManager.cpp +++ b/libjx/code/JXDNDManager.cpp @@ -1833,16 +1833,15 @@ JXDNDManager::ReceiveWithFeedback { if (sender == itsDisplay && message->Is(JXDisplay::kXError)) { - auto* err = dynamic_cast(message); - assert( err != nullptr ); + auto& err = dynamic_cast(*message); // source: target crashed -- nothing to do // target: source crashed if (itsDragger == nullptr && itsDraggerWindow != None && - err->GetType() == BadWindow && - err->GetXID() == itsDraggerWindow) + err.GetType() == BadWindow && + err.GetXID() == itsDraggerWindow) { #if JXDND_DEBUG_MSGS std::cout << "JXDND: Source crashed via XError" << std::endl; @@ -1850,7 +1849,7 @@ JXDNDManager::ReceiveWithFeedback itsDraggerWindow = None; CleanUpAfterDNDLeave(); - err->SetCaught(); + err.SetCaught(); } // target: residual from source crash -- nothing to do diff --git a/libjx/code/JXDisplayMenu.cpp b/libjx/code/JXDisplayMenu.cpp index 91ed85f18..1a7c1670c 100644 --- a/libjx/code/JXDisplayMenu.cpp +++ b/libjx/code/JXDisplayMenu.cpp @@ -148,9 +148,8 @@ JXDisplayMenu::Receive } else if (sender == this && message.Is(JXMenu::kItemSelected)) { - auto* selection = dynamic_cast(&message); - assert( selection != nullptr ); - ChooseDisplay(selection->GetIndex()); + auto& selection = dynamic_cast(message); + ChooseDisplay(selection.GetIndex()); } else if (sender == const_cast*>(displayList)) diff --git a/libjx/code/JXDockWidget.cpp b/libjx/code/JXDockWidget.cpp index 5167564a8..0c379a14b 100644 --- a/libjx/code/JXDockWidget.cpp +++ b/libjx/code/JXDockWidget.cpp @@ -729,8 +729,8 @@ JXDockWidget::Receive JIndex currIndex; const bool hadSelection = itsTabGroup->GetCurrentTabIndex(&currIndex); - auto* card = dynamic_cast(itsTabGroup->RemoveTab(i)); - itsTabGroup->InsertTab(index, w->GetTitle(), card); + auto& card = dynamic_cast(*itsTabGroup->RemoveTab(i)); + itsTabGroup->InsertTab(index, w->GetTitle(), &card); itsWindowList->MoveItemToIndex(i, index); @@ -757,11 +757,10 @@ JXDockWidget::Receive else if (sender == itsTabGroup->GetCardEnclosure() && message.Is(JXCardFile::kCardIndexChanged)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); + auto& info = dynamic_cast(message); JIndex index; - if (info->GetCardIndex(&index)) + if (info.GetCardIndex(&index)) { JXWindow* w = itsWindowList->GetItem(index); w->GetDirector()->Activate(); @@ -873,11 +872,11 @@ JXDockWidget::HasWindows() { if (itsChildPartition != nullptr && itsIsHorizFlag) { - return dynamic_cast(itsChildPartition)->HasWindows(); + return dynamic_cast(*itsChildPartition).HasWindows(); } else if (itsChildPartition != nullptr) { - return dynamic_cast(itsChildPartition)->HasWindows(); + return dynamic_cast(*itsChildPartition).HasWindows(); } else { @@ -908,11 +907,11 @@ JXDockWidget::CloseAllWindows() { if (itsChildPartition != nullptr && itsIsHorizFlag) { - return dynamic_cast(itsChildPartition)->CloseAllWindows(); + return dynamic_cast(*itsChildPartition).CloseAllWindows(); } else if (itsChildPartition != nullptr) { - return dynamic_cast(itsChildPartition)->CloseAllWindows(); + return dynamic_cast(*itsChildPartition).CloseAllWindows(); } else { @@ -932,11 +931,11 @@ JXDockWidget::GetMinSize() JPoint minSize; if (itsChildPartition != nullptr && itsIsHorizFlag) { - minSize = dynamic_cast(itsChildPartition)->UpdateMinSize(); + minSize = dynamic_cast(*itsChildPartition).UpdateMinSize(); } else if (itsChildPartition != nullptr) { - minSize = dynamic_cast(itsChildPartition)->UpdateMinSize(); + minSize = dynamic_cast(*itsChildPartition).UpdateMinSize(); } minSize.x = JMax(minSize.x, itsMinSize.x); diff --git a/libjx/code/JXDocumentMenu.cpp b/libjx/code/JXDocumentMenu.cpp index 71db8227f..034ca563a 100644 --- a/libjx/code/JXDocumentMenu.cpp +++ b/libjx/code/JXDocumentMenu.cpp @@ -91,10 +91,9 @@ JXDocumentMenu::Receive } else if (sender == this && message.Is(JXMenu::kItemSelected)) { - auto* selection = dynamic_cast(&message); - assert( selection != nullptr ); + auto& selection = dynamic_cast(message); JXDocument* doc; - if (itsDocMgr->GetDocument(selection->GetIndex(), &doc)) // doc might close while menu is open + if (itsDocMgr->GetDocument(selection.GetIndex(), &doc)) // doc might close while menu is open { doc->Activate(); } diff --git a/libjx/code/JXFileHistoryMenu.cpp b/libjx/code/JXFileHistoryMenu.cpp index 9173d6287..e67f71c9c 100644 --- a/libjx/code/JXFileHistoryMenu.cpp +++ b/libjx/code/JXFileHistoryMenu.cpp @@ -93,10 +93,8 @@ JXFileHistoryMenu::GetFile { assert( message.Is(JXMenu::kItemSelected) ); - auto* selection = dynamic_cast(&message); - assert( selection != nullptr ); - - return GetFile(selection->GetIndex()); + auto& selection = dynamic_cast(message); + return GetFile(selection.GetIndex()); } JString diff --git a/libjx/code/JXFileInput.cpp b/libjx/code/JXFileInput.cpp index 1473fa435..e2f79321e 100644 --- a/libjx/code/JXFileInput.cpp +++ b/libjx/code/JXFileInput.cpp @@ -318,12 +318,12 @@ JXFileInput::StyledText::ComputeErrorLength return totalLength; } - auto* f = dynamic_cast(field); + auto& f = dynamic_cast(*field); if (!JFileExists(fullName) || - (f->itsRequireReadFlag && !JFileReadable(fullName)) || - (f->itsRequireWriteFlag && !JFileWritable(fullName)) || - (f->itsRequireExecFlag && !JFileExecutable(fullName))) + (f.itsRequireReadFlag && !JFileReadable(fullName)) || + (f.itsRequireWriteFlag && !JFileWritable(fullName)) || + (f.itsRequireExecFlag && !JFileExecutable(fullName))) { const JString closestDir = JGetClosestDirectory(fullName, false); if (fullName.StartsWith(closestDir)) diff --git a/libjx/code/JXFileListTable.cpp b/libjx/code/JXFileListTable.cpp index 1af79bb3d..b9860807b 100644 --- a/libjx/code/JXFileListTable.cpp +++ b/libjx/code/JXFileListTable.cpp @@ -1188,7 +1188,7 @@ JXFileListTable::SetEditMenuProvider VisInfo* info = const_cast(itsVisibleList->GetCArray()); \ for (JUnsignedOffset i=0; iAdjustIndex(&(info[i].fileIndex)); \ + m.AdjustIndex(&(info[i].fileIndex)); \ } void @@ -1200,20 +1200,18 @@ JXFileListTable::Receive { if (sender == itsFileList && message.Is(JListT::kItemsInserted)) { - auto* m = dynamic_cast(&message); - assert( m != nullptr ); + auto& m = dynamic_cast(message); ADJUST_INDEX(m) } else if (sender == itsFileList && message.Is(JListT::kItemsRemoved)) { - auto* m = dynamic_cast(&message); - assert( m != nullptr ); + auto& m = dynamic_cast(message); const JSize count = itsVisibleList->GetItemCount(); for (JIndex i=count; i>=1; i--) { VisInfo info = itsVisibleList->GetItem(i); - if (m->AdjustIndex(&info.fileIndex)) + if (m.AdjustIndex(&info.fileIndex)) { itsVisibleList->SetItem(i, info); } @@ -1226,14 +1224,12 @@ JXFileListTable::Receive } else if (sender == itsFileList && message.Is(JListT::kItemMoved)) { - auto* m = dynamic_cast(&message); - assert( m != nullptr ); + auto& m = dynamic_cast(message); ADJUST_INDEX(m) } else if (sender == itsFileList && message.Is(JListT::kItemsSwapped)) { - auto* m = dynamic_cast(&message); - assert( m != nullptr ); + auto& m = dynamic_cast(message); ADJUST_INDEX(m) } else if (sender == itsFileList && message.Is(JListT::kItemsChanged)) @@ -1251,9 +1247,8 @@ JXFileListTable::Receive } else if (sender == itsEditMenu && message.Is(JXMenu::kItemSelected)) { - auto* selection = dynamic_cast(&message); - assert( selection != nullptr ); - HandleEditMenu(selection->GetIndex()); + auto& selection = dynamic_cast(message); + HandleEditMenu(selection.GetIndex()); } else @@ -1364,12 +1359,11 @@ JXFileListTable::GetSelectionData { assert( HasSelection() ); - auto* fileData = dynamic_cast(data); - assert( fileData != nullptr ); + auto& fileData = dynamic_cast(*data); JPtrArray list(JPtrArrayT::kDeleteAll); - JTableSelectionIterator iter(&(GetTableSelection())); + JTableSelectionIterator iter(&GetTableSelection()); JPoint cell; JString fullName; while (iter.Next(&cell)) @@ -1380,7 +1374,7 @@ JXFileListTable::GetSelectionData } } - fileData->SetData(list); + fileData.SetData(list); } else { diff --git a/libjx/code/JXFontNameMenu.cpp b/libjx/code/JXFontNameMenu.cpp index c7f8731bb..3b5202b2c 100644 --- a/libjx/code/JXFontNameMenu.cpp +++ b/libjx/code/JXFontNameMenu.cpp @@ -203,19 +203,17 @@ JXFontNameMenu::Receive } else if (sender == this && message.Is(JXMenu::kItemSelected)) { - auto* selection = dynamic_cast(&message); - assert( selection != nullptr ); - + auto& selection = dynamic_cast(message); if (itsNameHistory != nullptr) { - const JString& name = GetItemText(selection->GetIndex()); + const JString& name = GetItemText(selection.GetIndex()); UpdateHistory(name); itsFontIndex = 0; // force broadcast SetFontName(name); } else { - itsFontIndex = selection->GetIndex(); + itsFontIndex = selection.GetIndex(); Broadcast(NameChanged()); } } diff --git a/libjx/code/JXFontSizeMenu.cpp b/libjx/code/JXFontSizeMenu.cpp index 1416e3f03..344ac102e 100644 --- a/libjx/code/JXFontSizeMenu.cpp +++ b/libjx/code/JXFontSizeMenu.cpp @@ -295,9 +295,8 @@ JXFontSizeMenu::Receive } else if (sender == this && message.Is(JXMenu::kItemSelected)) { - auto* selection = dynamic_cast(&message); - assert( selection != nullptr ); - ChooseFontSize(selection->GetIndex()); + auto& selection = dynamic_cast(message); + ChooseFontSize(selection.GetIndex()); } else diff --git a/libjx/code/JXHistoryMenuBase.cpp b/libjx/code/JXHistoryMenuBase.cpp index 754b33d13..77d71e281 100644 --- a/libjx/code/JXHistoryMenuBase.cpp +++ b/libjx/code/JXHistoryMenuBase.cpp @@ -449,10 +449,8 @@ JXHistoryMenuBase::GetItemText { assert( message.Is(JXMenu::kItemSelected) ); - auto* selection = dynamic_cast(&message); - assert( selection != nullptr ); - - return JXTextMenu::GetItemText(selection->GetIndex()); + auto& selection = dynamic_cast(message); + return JXTextMenu::GetItemText(selection.GetIndex()); } /****************************************************************************** diff --git a/libjx/code/JXImageMenuTable.cpp b/libjx/code/JXImageMenuTable.cpp index e88921285..c624a0dbf 100644 --- a/libjx/code/JXImageMenuTable.cpp +++ b/libjx/code/JXImageMenuTable.cpp @@ -219,9 +219,8 @@ JXImageMenuTable::Receive if (sender == const_cast(itsIconMenuData) && message.Is(JXImageMenuData::kImageChanged)) { - auto* item = dynamic_cast(&message); - assert( item != nullptr ); - TableRefreshCell(ItemIndexToCell(item->GetIndex())); + auto& item = dynamic_cast(message); + TableRefreshCell(ItemIndexToCell(item.GetIndex())); } else diff --git a/libjx/code/JXImagePainter.cpp b/libjx/code/JXImagePainter.cpp index 3d97a7652..a8e7348a9 100644 --- a/libjx/code/JXImagePainter.cpp +++ b/libjx/code/JXImagePainter.cpp @@ -260,9 +260,6 @@ JXImagePainter::Image const JRect& destRect ) { - auto* ximage = dynamic_cast(&image); - assert( ximage != nullptr ); - if (PrepareXDraw()) { JXWindowPainter::Image(image, srcRect, destRect); diff --git a/libjx/code/JXMenuTable.cpp b/libjx/code/JXMenuTable.cpp index 2a336175e..84020b5b2 100644 --- a/libjx/code/JXMenuTable.cpp +++ b/libjx/code/JXMenuTable.cpp @@ -599,14 +599,13 @@ JXMenuTable::GetMenuWidgetToActivate if ((**widget).IsMenu()) { - auto* menu = dynamic_cast(*widget); - assert( menu != nullptr ); + auto& menu = dynamic_cast(**widget); JXMenuBar* menuBar1; JXMenuBar* menuBar2; - if (menu->GetMenuBar(&menuBar1) && itsMenu->GetMenuBar(&menuBar2) && + if (menu.GetMenuBar(&menuBar1) && itsMenu->GetMenuBar(&menuBar2) && menuBar1 == menuBar2 && - menu->GetTopLevelMenu() != itsMenu->GetTopLevelMenu()) + menu.GetTopLevelMenu() != itsMenu->GetTopLevelMenu()) { return true; } diff --git a/libjx/code/JXPSPrintSetupDialog.cpp b/libjx/code/JXPSPrintSetupDialog.cpp index d309d18f5..e4718b88e 100644 --- a/libjx/code/JXPSPrintSetupDialog.cpp +++ b/libjx/code/JXPSPrintSetupDialog.cpp @@ -391,9 +391,8 @@ JXPSPrintSetupDialog::Receive { if (sender == itsDestination && message.Is(JXRadioGroup::kSelectionChanged)) { - auto* selection = dynamic_cast(&message); - assert( selection != nullptr ); - SetDestination(selection->GetID()); + auto& selection = dynamic_cast(message); + SetDestination(selection.GetID()); } else if (sender == itsChooseFileButton && message.Is(JXButton::kPushed)) diff --git a/libjx/code/JXPTPrintSetupDialog.cpp b/libjx/code/JXPTPrintSetupDialog.cpp index dbec09c5e..d3e826304 100644 --- a/libjx/code/JXPTPrintSetupDialog.cpp +++ b/libjx/code/JXPTPrintSetupDialog.cpp @@ -340,9 +340,8 @@ JXPTPrintSetupDialog::Receive { if (sender == itsDestination && message.Is(JXRadioGroup::kSelectionChanged)) { - auto* selection = dynamic_cast(&message); - assert( selection != nullptr ); - SetDestination(selection->GetID()); + auto& selection = dynamic_cast(message); + SetDestination(selection.GetID()); } else if (sender == itsChooseFileButton && message.Is(JXButton::kPushed)) diff --git a/libjx/code/JXPathInput.cpp b/libjx/code/JXPathInput.cpp index 559b29886..f4f9c3080 100644 --- a/libjx/code/JXPathInput.cpp +++ b/libjx/code/JXPathInput.cpp @@ -316,9 +316,9 @@ JXPathInput::StyledText::ComputeErrorLength return totalLength; } - auto* f = dynamic_cast(field); + auto& f = dynamic_cast(*field); - const JString closestDir = JGetClosestDirectory(fullPath, f->itsRequireWriteFlag); + const JString closestDir = JGetClosestDirectory(fullPath, f.itsRequireWriteFlag); if (fullPath.StartsWith(closestDir)) { return fullPath.GetCharacterCount() - closestDir.GetCharacterCount(); diff --git a/libjx/code/JXRowHeaderWidget.cpp b/libjx/code/JXRowHeaderWidget.cpp index 7a4727f2c..7346de4bc 100644 --- a/libjx/code/JXRowHeaderWidget.cpp +++ b/libjx/code/JXRowHeaderWidget.cpp @@ -516,62 +516,56 @@ JXRowHeaderWidget::Receive else if (sender == itsTable && message.Is(JTable::kRowHeightChanged)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - SetRowHeight(info->GetIndex(), info->GetNewRowHeight()); + auto& info = dynamic_cast(message); + SetRowHeight(info.GetIndex(), info.GetNewRowHeight()); } else if (sender == itsTable && message.Is(JTable::kAllRowHeightsChanged)) { - auto* info = dynamic_cast(& message); - assert( info != nullptr ); - SetAllRowHeights(info->GetNewRowHeight()); + auto& info = dynamic_cast( message); + SetAllRowHeights(info.GetNewRowHeight()); } else if (sender == itsTable && message.Is(JTable::kRowsInserted)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); + auto& info = dynamic_cast(message); if (itsTitles != nullptr) { - for (JIndex i=1; i<=info->GetCount(); i++) + for (JIndex i=1; i<=info.GetCount(); i++) { - itsTitles->InsertAtIndex(info->GetFirstIndex(), (JString*) nullptr); + itsTitles->InsertAtIndex(info.GetFirstIndex(), (JString*) nullptr); } } - InsertRows(info->GetFirstIndex(), info->GetCount(), info->GetRowHeight()); + InsertRows(info.GetFirstIndex(), info.GetCount(), info.GetRowHeight()); } else if (sender == itsTable && message.Is(JTable::kRowsRemoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); + auto& info = dynamic_cast(message); if (itsTitles != nullptr) { - for (JIndex i=1; i<=info->GetCount(); i++) + for (JIndex i=1; i<=info.GetCount(); i++) { - itsTitles->DeleteItem(info->GetFirstIndex()); + itsTitles->DeleteItem(info.GetFirstIndex()); } } - RemoveNextRows(info->GetFirstIndex(), info->GetCount()); + RemoveNextRows(info.GetFirstIndex(), info.GetCount()); } else if (sender == itsTable && message.Is(JTable::kRowMoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); + auto& info = dynamic_cast(message); if (itsTitles != nullptr) { - itsTitles->MoveItemToIndex(info->GetOrigIndex(), info->GetNewIndex()); + itsTitles->MoveItemToIndex(info.GetOrigIndex(), info.GetNewIndex()); } - MoveRow(info->GetOrigIndex(), info->GetNewIndex()); + MoveRow(info.GetOrigIndex(), info.GetNewIndex()); } else if (sender == itsTable && message.Is(JTable::kRowBorderWidthChanged)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - SetRowBorderInfo(info->GetNewBorderWidth(), JColorManager::GetDefaultBackColor()); + auto& info = dynamic_cast(message); + SetRowBorderInfo(info.GetNewBorderWidth(), JColorManager::GetDefaultBackColor()); } // something else diff --git a/libjx/code/JXSaveFileDialog.cpp b/libjx/code/JXSaveFileDialog.cpp index 8c7faf747..5ffd8eb48 100644 --- a/libjx/code/JXSaveFileDialog.cpp +++ b/libjx/code/JXSaveFileDialog.cpp @@ -366,16 +366,15 @@ JXSaveFileDialog::Receive else if (sender == fileBrowser && message.Is(JXDirTable::kFileDblClicked)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - const JString fileName = (info->GetDirEntry()).GetName(); + auto& info = dynamic_cast(message); + const JString fileName = (info.GetDirEntry()).GetName(); itsFileNameInput->GetText()->SetText(fileName); itsFileNameInput->Focus(); } else { - if (sender == &(fileBrowser->GetTableSelection())) + if (sender == &fileBrowser->GetTableSelection()) { UpdateDisplay(); } diff --git a/libjx/code/JXSearchTextDialog.cpp b/libjx/code/JXSearchTextDialog.cpp index 2d1bfd456..731954d40 100644 --- a/libjx/code/JXSearchTextDialog.cpp +++ b/libjx/code/JXSearchTextDialog.cpp @@ -1422,20 +1422,19 @@ JXSearchTextDialog::ReceiveWithFeedback { if (sender == GetDisplay() && message->Is(JXDisplay::kXEventMessage)) { - auto* info = dynamic_cast(message); - assert( info != nullptr ); - const XEvent& event = info->GetXEvent(); + auto& info = dynamic_cast(*message); + const XEvent& event = info.GetXEvent(); if (event.type == PropertyNotify && event.xproperty.window == itsVersionWindow && event.xproperty.atom == itsAtoms[ kXSearchVersionAtomIndex ] && event.xproperty.state == PropertyNewValue) { - if (!(GetDisplay()->GetSelectionManager())-> + if (!GetDisplay()->GetSelectionManager()-> OwnsSelection(itsAtoms[ kXSearchSelectionAtomIndex ])) { GetXSearch(); } - info->SetProcessed(); + info.SetProcessed(); return; } } diff --git a/libjx/code/JXSelectionManager.cpp b/libjx/code/JXSelectionManager.cpp index 3998c35f6..b2d7a5a23 100644 --- a/libjx/code/JXSelectionManager.cpp +++ b/libjx/code/JXSelectionManager.cpp @@ -1051,20 +1051,18 @@ JXSelectionManager::ReceiveWithFeedback { if (sender == itsDisplay && message->Is(JXDisplay::kXError)) { - auto* err = dynamic_cast(message); - assert( err != nullptr ); - - if (err->GetType() == BadAlloc) + auto& err = dynamic_cast(*message); + if (err.GetType() == BadAlloc) { itsReceivedAllocErrorFlag = true; - err->SetCaught(); + err.SetCaught(); } - else if (err->GetType() == BadWindow && - err->GetXID() == itsTargetWindow) + else if (err.GetType() == BadWindow && + err.GetXID() == itsTargetWindow) { itsTargetWindowDeletedFlag = true; - err->SetCaught(); + err.SetCaught(); } } diff --git a/libjx/code/JXSpellCheckerDialog.cpp b/libjx/code/JXSpellCheckerDialog.cpp index f7e4ab6ca..69c013e11 100644 --- a/libjx/code/JXSpellCheckerDialog.cpp +++ b/libjx/code/JXSpellCheckerDialog.cpp @@ -326,29 +326,23 @@ JXSpellCheckerDialog::Receive { if (sender == itsSuggestionWidget && message.Is(JXSpellList::kWordSelected)) { - auto* choice = dynamic_cast(&message); - assert( choice != nullptr ); - - itsFirstGuess->GetText()->SetText(choice->GetWord()); + auto& choice = dynamic_cast(message); + itsFirstGuess->GetText()->SetText(choice.GetWord()); itsFirstGuess->Focus(); itsIgnoreButton->SetShortcuts(JString::empty); itsChangeButton->SetShortcuts(JGetString("DefaultButtonShortcut::JXSpellCheckerDialog")); } else if (sender == itsSuggestionWidget && message.Is(JXSpellList::kReplaceWord)) { - auto* choice = dynamic_cast(&message); - assert( choice != nullptr ); - - itsFirstGuess->GetText()->SetText(choice->GetWord()); + auto& choice = dynamic_cast(message); + itsFirstGuess->GetText()->SetText(choice.GetWord()); Change(); Check(); } else if (sender == itsSuggestionWidget && message.Is(JXSpellList::kReplaceWordAll)) { - auto* choice = dynamic_cast(&message); - assert( choice != nullptr ); - - itsFirstGuess->GetText()->SetText(choice->GetWord()); + auto& choice = dynamic_cast(message); + itsFirstGuess->GetText()->SetText(choice.GetWord()); ChangeAll(); Check(); } diff --git a/libjx/code/JXSpellList.h b/libjx/code/JXSpellList.h index ae6d4137a..5bbb3d068 100644 --- a/libjx/code/JXSpellList.h +++ b/libjx/code/JXSpellList.h @@ -39,13 +39,13 @@ class JXSpellList : public JXStringList : JBroadcaster::Message(type), itsWord(word) - { }; + { }; const JString& GetWord() const - { + { return itsWord; - }; + }; private: @@ -67,7 +67,7 @@ class JXSpellList : public JXStringList WordSelected(const JString& word) : SpellBase(kWordSelected, word) - { }; + { }; }; class ReplaceWord : public SpellBase @@ -77,7 +77,7 @@ class JXSpellList : public JXStringList ReplaceWord(const JString& word) : SpellBase(kReplaceWord, word) - { }; + { }; }; class ReplaceWordAll : public SpellBase @@ -87,7 +87,7 @@ class JXSpellList : public JXStringList ReplaceWordAll(const JString& word) : SpellBase(kReplaceWordAll, word) - { }; + { }; }; }; diff --git a/libjx/code/JXStringCompletionMenu.cpp b/libjx/code/JXStringCompletionMenu.cpp index 70ede91b0..034dc1eab 100644 --- a/libjx/code/JXStringCompletionMenu.cpp +++ b/libjx/code/JXStringCompletionMenu.cpp @@ -179,9 +179,8 @@ JXStringCompletionMenu::Receive { if (sender == this && message.Is(JXMenu::kItemSelected)) { - auto* selection = dynamic_cast(&message); - assert( selection != nullptr ); - HandleSelection(selection->GetIndex()); + auto& selection = dynamic_cast(message); + HandleSelection(selection.GetIndex()); } else diff --git a/libjx/code/JXStringList.cpp b/libjx/code/JXStringList.cpp index 50ed8089a..07f310565 100644 --- a/libjx/code/JXStringList.cpp +++ b/libjx/code/JXStringList.cpp @@ -388,36 +388,32 @@ JXStringList::Receive if (sender == const_cast*>(itsList) && message.Is(JListT::kItemsInserted)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - InsertRows(info->GetFirstIndex(), info->GetCount()); + auto& info = dynamic_cast(message); + InsertRows(info.GetFirstIndex(), info.GetCount()); } else if (sender == const_cast*>(itsList) && message.Is(JListT::kItemsRemoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); + auto& info = dynamic_cast(message); itsMinColWidth = 1; - RemoveNextRows(info->GetFirstIndex(), info->GetCount()); + RemoveNextRows(info.GetFirstIndex(), info.GetCount()); } else if (sender == const_cast*>(itsList) && message.Is(JListT::kItemMoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - MoveRow(info->GetOrigIndex(), info->GetNewIndex()); + auto& info = dynamic_cast(message); + MoveRow(info.GetOrigIndex(), info.GetNewIndex()); } else if (sender == const_cast*>(itsList) && message.Is(JListT::kItemsSwapped)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - const JFontStyle s1 = itsStyles->GetItem(info->GetIndex1(), 1); - itsStyles->SetItem(info->GetIndex1(), 1, itsStyles->GetItem(info->GetIndex2(), 1)); - itsStyles->SetItem(info->GetIndex2(), 1, s1); + auto& info = dynamic_cast(message); + const JFontStyle s1 = itsStyles->GetItem(info.GetIndex1(), 1); + itsStyles->SetItem(info.GetIndex1(), 1, itsStyles->GetItem(info.GetIndex2(), 1)); + itsStyles->SetItem(info.GetIndex2(), 1, s1); } else if (sender == const_cast*>(itsList) && diff --git a/libjx/code/JXStyleMenu.cpp b/libjx/code/JXStyleMenu.cpp index 4f44713e5..0c45fa2f7 100644 --- a/libjx/code/JXStyleMenu.cpp +++ b/libjx/code/JXStyleMenu.cpp @@ -163,10 +163,8 @@ JXStyleMenu::Receive } else if (sender == this && message.Is(JXMenu::kItemSelected)) { - auto* selection = dynamic_cast(&message); - assert( selection != nullptr ); - - const JIndex i = selection->GetIndex(); + auto& selection = dynamic_cast(message); + const JIndex i = selection.GetIndex(); if (i == kCustomColorCmd) { ChooseColor(); diff --git a/libjx/code/JXTEBase.cpp b/libjx/code/JXTEBase.cpp index e31d28f1d..2dc5c65d1 100644 --- a/libjx/code/JXTEBase.cpp +++ b/libjx/code/JXTEBase.cpp @@ -510,22 +510,21 @@ JXTEBase::GetSelectionData { if (id == kSelectionDataID) { - auto* textData = dynamic_cast(data); - assert( textData != nullptr ); + auto& textData = dynamic_cast(*data); auto* text = jnew JString; auto* style = jnew JRunArray; const bool ok = GetSelection(text, style); assert( ok ); - textData->SetData(text, style); + textData.SetData(text, style); if (GetType() == kFullEditor) { JCharacterRange r; const bool ok = GetSelection(&r); assert( ok ); - textData->SetTextEditor(this, r); + textData.SetTextEditor(this, r); } } else @@ -1969,9 +1968,8 @@ JXTEBase::Receive { if (HasFocus()) { - auto* selection = dynamic_cast(&message); - assert( selection != nullptr ); - HandleEditMenu(selection->GetIndex()); + auto& selection = dynamic_cast(message); + HandleEditMenu(selection.GetIndex()); } } @@ -1986,9 +1984,8 @@ JXTEBase::Receive { if (HasFocus()) { - auto* selection = dynamic_cast(&message); - assert( selection != nullptr ); - HandleSearchMenu(selection->GetIndex()); + auto& selection = dynamic_cast(message); + HandleSearchMenu(selection.GetIndex()); } } @@ -2003,9 +2000,8 @@ JXTEBase::Receive { if (HasFocus()) { - auto* selection = dynamic_cast(&message); - assert( selection != nullptr ); - HandleReplaceMenu(selection->GetIndex()); + auto& selection = dynamic_cast(message); + HandleReplaceMenu(selection.GetIndex()); } } @@ -2013,12 +2009,11 @@ JXTEBase::Receive { if (sender == this && message.Is(JTextEditor::kCaretLocationChanged)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); + auto& info = dynamic_cast(message); JPoint pt; - pt.x = GetCharLeft(info->GetCharacterIndex()); - pt.y = GetLineBottom(info->GetLineIndex()); + pt.x = GetCharLeft(info.GetCharacterIndex()); + pt.y = GetLineBottom(info.GetLineIndex()); GetWindow()->SetXIMPosition(JXContainer::LocalToGlobal(pt)); } else if (sender == GetText() && message.Is(JStyledText::kWillBeBusy)) diff --git a/libjx/code/JXTextMenuTable.cpp b/libjx/code/JXTextMenuTable.cpp index d856ef145..69b0358ce 100644 --- a/libjx/code/JXTextMenuTable.cpp +++ b/libjx/code/JXTextMenuTable.cpp @@ -144,11 +144,10 @@ JXTextMenuTable::TableDrawCell rect.left += kHilightBorderWidth; - auto* xp = dynamic_cast(&p); - assert( xp != nullptr ); - xp->String(rect.left, rect.top, text, ulIndex, - rect.width(), JPainter::HAlign::kLeft, - rect.height(), JPainter::VAlign::kCenter); + auto& xp = dynamic_cast(p); + xp.String(rect.left, rect.top, text, ulIndex, + rect.width(), JPainter::HAlign::kLeft, + rect.height(), JPainter::VAlign::kCenter); } else if (cell.x == kSubmenuColumnIndex && itsTextMenuData->HasSubmenu(cell.y)) @@ -370,9 +369,8 @@ JXTextMenuTable::Receive if (sender == const_cast(itsTextMenuData) && message.Is(JXTextMenuData::kImageChanged)) { - auto* item = dynamic_cast(&message); - assert( item != nullptr ); - TableRefreshCell(JPoint(kImageColumnIndex, item->GetIndex())); + auto& item = dynamic_cast(message); + TableRefreshCell(JPoint(kImageColumnIndex, item.GetIndex())); } else diff --git a/libjx/code/JXToolBar.cpp b/libjx/code/JXToolBar.cpp index 5ea4f82db..b47f44af2 100644 --- a/libjx/code/JXToolBar.cpp +++ b/libjx/code/JXToolBar.cpp @@ -258,15 +258,15 @@ JXToolBar::Receive if (message.Is(JXButton::kPushed)) { - auto* button = dynamic_cast(sender); - if (itsButtons->Includes(button)) + auto& button = dynamic_cast(*sender); + if (itsButtons->Includes(&button)) { - JXTextMenu* menu = button->GetMenu(); + JXTextMenu* menu = button.GetMenu(); if (menu->IsActive()) { menu->PrepareToOpenMenu(true); JIndex itemIndex; - if (button->GetMenuItemIndex(&itemIndex) && + if (button.GetMenuItemIndex(&itemIndex) && menu->IsEnabled(itemIndex)) { JXDisplay* display = GetDisplay(); // need local copy, since we might be deleted @@ -291,9 +291,8 @@ JXToolBar::Receive else if (hasPrefs && sender == prefsMgr && message.Is(JPrefsManager::kDataChanged)) { - auto* info = dynamic_cast(&message); - assert(info != nullptr); - if (info->GetID() == prefID) + auto& info = dynamic_cast(message); + if (info.GetID() == prefID) { JPrefObject::ReadPrefs(); propagate = false; @@ -395,13 +394,12 @@ JXToolBar::ExtractItemNodes } else { - auto* item = dynamic_cast(child); - assert(item != nullptr); - if (item->IsChecked()) + auto& item = dynamic_cast(*child); + if (item.IsChecked()) { - AppendButton(item->GetMenu(), item->GetIndex()); + AppendButton(item.GetMenu(), item.GetIndex()); } - if (item->HasSeparator()) + if (item.HasSeparator()) { NewGroup(); } @@ -474,8 +472,8 @@ JXToolBar::AddMenuToTree } } - const auto* temp = dynamic_cast(sub); - auto* tsub = const_cast(temp); + auto* temp = dynamic_cast(sub); + auto* tsub = const_cast(temp); if (tsub != nullptr) { AddMenuToTree(tree, tsub, mnode, name1); diff --git a/libjx/code/JXToolBarEditWidget.cpp b/libjx/code/JXToolBarEditWidget.cpp index 4cac2bfa0..ec1587f0d 100644 --- a/libjx/code/JXToolBarEditWidget.cpp +++ b/libjx/code/JXToolBarEditWidget.cpp @@ -83,10 +83,8 @@ JXToolBarEditWidget::GetImage return true; } - const auto* tbnode = dynamic_cast(node); - assert( tbnode != nullptr ); - - *image = tbnode->IsChecked() ? itsCheckedItemImage : itsUncheckedItemImage; + auto& tbnode = dynamic_cast(*node); + *image = tbnode.IsChecked() ? itsCheckedItemImage : itsUncheckedItemImage; return true; } @@ -99,8 +97,8 @@ void JXToolBarEditWidget::HandleMouseDown ( const JPoint& pt, - const JXMouseButton button, - const JSize clickCount, + const JXMouseButton button, + const JSize clickCount, const JXButtonStates& buttonStates, const JXKeyModifiers& modifiers ) @@ -111,9 +109,8 @@ JXToolBarEditWidget::HandleMouseDown JTreeNode* node = GetTreeList()->GetNode(cell.y); if (cell.x == 2 && button == kJXLeftButton && !node->IsOpenable()) { - auto* tbnode = dynamic_cast(node); - assert(tbnode != nullptr); - tbnode->ToggleChecked(); + auto& tbnode = dynamic_cast(*node); + tbnode.ToggleChecked(); } else { diff --git a/libjx/code/JXTreeListWidget.cpp b/libjx/code/JXTreeListWidget.cpp index 48c1a591f..e14bcd539 100644 --- a/libjx/code/JXTreeListWidget.cpp +++ b/libjx/code/JXTreeListWidget.cpp @@ -624,25 +624,22 @@ JXTreeListWidget::Receive { if (sender == itsTreeList && message.Is(JTreeList::kNodeInserted)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - InsertRows(info->GetIndex(), 1); + auto& info = dynamic_cast(message); + InsertRows(info.GetIndex(), 1); NeedsAdjustToTree(); } else if (sender == itsTreeList && message.Is(JTreeList::kNodeRemoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - RemoveRow(info->GetIndex()); + auto& info = dynamic_cast(message); + RemoveRow(info.GetIndex()); NeedsAdjustToTree(); } else if (sender == itsTreeList && message.Is(JTreeList::kNodeChanged)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - TableRefreshRow(info->GetIndex()); + auto& info = dynamic_cast(message); + TableRefreshRow(info.GetIndex()); NeedsAdjustToTree(); } @@ -650,9 +647,8 @@ JXTreeListWidget::Receive (message.Is(JTreeList::kNodeOpened) || message.Is(JTreeList::kNodeClosed))) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - TableRefreshRow(info->GetIndex()); + auto& info = dynamic_cast(message); + TableRefreshRow(info.GetIndex()); } else if (sender == itsTreeList->GetTree() && @@ -671,34 +667,31 @@ JXTreeListWidget::Receive { if (sender == this && message.Is(kColsInserted)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - info->AdjustIndex(&itsToggleOpenColIndex); - info->AdjustIndex(&itsNodeColIndex); - info->AdjustIndex(&itsElasticColIndex); + auto& info = dynamic_cast(message); + info.AdjustIndex(&itsToggleOpenColIndex); + info.AdjustIndex(&itsNodeColIndex); + info.AdjustIndex(&itsElasticColIndex); NeedsAdjustToTree(); } else if (sender == this && message.Is(kColsRemoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - bool ok = info->AdjustIndex(&itsToggleOpenColIndex); + auto& info = dynamic_cast(message); + bool ok = info.AdjustIndex(&itsToggleOpenColIndex); assert( ok ); - ok = info->AdjustIndex(&itsNodeColIndex); + ok = info.AdjustIndex(&itsNodeColIndex); assert( ok ); - info->AdjustIndex(&itsElasticColIndex); // ok to let it go to zero + info.AdjustIndex(&itsElasticColIndex); // ok to let it go to zero NeedsAdjustToTree(); } else if (sender == this && message.Is(kColMoved)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - info->AdjustIndex(&itsToggleOpenColIndex); - info->AdjustIndex(&itsNodeColIndex); - info->AdjustIndex(&itsElasticColIndex); - itsMinColWidths->MoveItemToIndex(info->GetOrigIndex(), info->GetNewIndex()); + auto& info = dynamic_cast(message); + info.AdjustIndex(&itsToggleOpenColIndex); + info.AdjustIndex(&itsNodeColIndex); + info.AdjustIndex(&itsElasticColIndex); + itsMinColWidths->MoveItemToIndex(info.GetOrigIndex(), info.GetNewIndex()); } JXStyleTable::Receive(sender, message); diff --git a/libjx/code/JXWDMenu.cpp b/libjx/code/JXWDMenu.cpp index bfa609bbb..e8cd52bf8 100644 --- a/libjx/code/JXWDMenu.cpp +++ b/libjx/code/JXWDMenu.cpp @@ -91,9 +91,8 @@ JXWDMenu::Receive } else if (sender == this && message.Is(JXMenu::kItemSelected)) { - auto* selection = dynamic_cast(&message); - assert( selection != nullptr ); - itsWDMgr->HandleWDMenu(this, selection->GetIndex()); + auto& selection = dynamic_cast(message); + itsWDMgr->HandleWDMenu(this, selection.GetIndex()); } else if (sender == itsWDMgr && message.Is(JXWDManager::kWDMenuNeedsUpdate)) diff --git a/libjx/code/JXWindowPainter.cpp b/libjx/code/JXWindowPainter.cpp index 6b52af737..e0ae9ff64 100644 --- a/libjx/code/JXWindowPainter.cpp +++ b/libjx/code/JXWindowPainter.cpp @@ -828,10 +828,8 @@ JXWindowPainter::Image const JRect& destRect ) { - const auto* ximage = dynamic_cast(&image); - assert( ximage != nullptr ); - + auto& ximage = dynamic_cast(image); JRect destRectG = destRect; destRectG.Shift(GetOrigin()); - ximage->Draw(itsDrawable, itsGC, srcRect, destRectG); + ximage.Draw(itsDrawable, itsGC, srcRect, destRectG); } diff --git a/libjx/testui/code/TestDirector.cpp b/libjx/testui/code/TestDirector.cpp index db2090c1a..eb37c4657 100644 --- a/libjx/testui/code/TestDirector.cpp +++ b/libjx/testui/code/TestDirector.cpp @@ -983,7 +983,7 @@ TestDirector::FGProcess ) { JProgressDisplay* pg = JNewPG(); - dynamic_cast(pg)->RaiseWhenUpdate(); + dynamic_cast(*pg).RaiseWhenUpdate(); const JSize stepCount = 100; if (fixedLength) diff --git a/libjx/testui/code/TestIdleTask.cpp b/libjx/testui/code/TestIdleTask.cpp index 7ed1f2b21..bbc52bdc8 100644 --- a/libjx/testui/code/TestIdleTask.cpp +++ b/libjx/testui/code/TestIdleTask.cpp @@ -43,13 +43,15 @@ TestIdleTask::Perform { // automatically deleted }, + "TestIdleTask", true); task->Start(); auto* utask = jnew JXUrgentFunctionTask(JXGetDocumentManager(), []() { // automatically deleted - }); + }, + "TestUrgentTask"); utask->Go(); if (itsCounter >= 10) diff --git a/libjx/testui/code/TestTextEditor.cpp b/libjx/testui/code/TestTextEditor.cpp index 8a65290e7..5d605e9f9 100644 --- a/libjx/testui/code/TestTextEditor.cpp +++ b/libjx/testui/code/TestTextEditor.cpp @@ -100,9 +100,8 @@ TestTextEditor::Receive } else if (sender == editMenu && message.Is(JXMenu::kItemSelected)) { - auto* selection = dynamic_cast(&message); - assert( selection != nullptr ); - if (HandleCustomEditMenuItems(selection->GetIndex())) + auto& selection = dynamic_cast(message); + if (HandleCustomEditMenuItems(selection.GetIndex())) { return; } diff --git a/libjx/testui/code/TestWidget.cpp b/libjx/testui/code/TestWidget.cpp index f42d6c28f..f6448d825 100644 --- a/libjx/testui/code/TestWidget.cpp +++ b/libjx/testui/code/TestWidget.cpp @@ -301,7 +301,8 @@ TestWidget::TestWidget HandleDNDDrop(JPoint(0,0), data.GetTypeList(), data.GetAction(), data.GetTime(), data.GetSource()); })); - }); + }, + "Drop on iconified window"); task->Go(); } @@ -1475,13 +1476,12 @@ TestWidget::ReceiveWithFeedback if (GetWindow()->GetIconWidget(&windowIcon) && sender == windowIcon && message->Is(JXWindowIcon::kAcceptDrop)) { - auto* data = dynamic_cast(message); - assert( data != nullptr ); - if (!data->WillAcceptDrop()) + auto& data = dynamic_cast(*message); + if (!data.WillAcceptDrop()) { - data->ShouldAcceptDrop( - WillAcceptDrop(data->GetTypeList(), data->GetActionPtr(), - data->GetPoint(), data->GetTime(), data->GetSource())); + data.ShouldAcceptDrop( + WillAcceptDrop(data.GetTypeList(), data.GetActionPtr(), + data.GetPoint(), data.GetTime(), data.GetSource())); } } diff --git a/libjx/testui/testjx.jcc b/libjx/testui/testjx.jcc index 4cc415ab7..04010d44c 100644 --- a/libjx/testui/testjx.jcc +++ b/libjx/testui/testjx.jcc @@ -1,4 +1,4 @@ -jx_browser_data 97 +jx_browser_data 99 # project tree 0 "root" T diff --git a/tools/jx_layout_editor/code/FileHistoryMenu.cpp b/tools/jx_layout_editor/code/FileHistoryMenu.cpp index b9eb6a3eb..5a1610134 100644 --- a/tools/jx_layout_editor/code/FileHistoryMenu.cpp +++ b/tools/jx_layout_editor/code/FileHistoryMenu.cpp @@ -97,17 +97,14 @@ FileHistoryMenu::Receive if (sender == GetDocumentManager() && message.Is(DocumentManager::kAddFileToHistory)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - AddFile(info->GetFullName()); + auto& info = dynamic_cast(message); + AddFile(info.GetFullName()); } else if (sender == this && message.Is(JXMenu::kItemSelected)) { - auto* selection = dynamic_cast(&message); - assert( selection != nullptr ); - - LayoutDocument::Create(GetFile(selection->GetIndex())); + auto& selection = dynamic_cast(message); + LayoutDocument::Create(GetFile(selection.GetIndex())); } else diff --git a/tools/jx_layout_editor/code/LayoutContainer.cpp b/tools/jx_layout_editor/code/LayoutContainer.cpp index e787c4a2d..e817c886b 100644 --- a/tools/jx_layout_editor/code/LayoutContainer.cpp +++ b/tools/jx_layout_editor/code/LayoutContainer.cpp @@ -1911,7 +1911,7 @@ LayoutContainer::CurrentUndoIs JUndo* tmpUndo; return (itsUndoChain->GetCurrentUndo(&tmpUndo) && tmpUndo->IsActive() && - dynamic_cast(tmpUndo)->GetType() == type); + dynamic_cast(*tmpUndo).GetType() == type); } /****************************************************************************** diff --git a/tools/jx_layout_editor/code/LayoutDocument.cpp b/tools/jx_layout_editor/code/LayoutDocument.cpp index 57d6e8776..f830ffce4 100644 --- a/tools/jx_layout_editor/code/LayoutDocument.cpp +++ b/tools/jx_layout_editor/code/LayoutDocument.cpp @@ -512,10 +512,8 @@ LayoutDocument::UpdateGridMenu() const bool ok = GetWindow()->GetFocusWidget(&widget); assert( ok ); - auto* layout = dynamic_cast(widget); - assert( layout != nullptr ); - - const JSize w = layout->GetGridSpacing(); + auto& layout = dynamic_cast(*widget); + const JSize w = layout.GetGridSpacing(); if (w == 5) { itsGridMenu->CheckItem(kGrid5Cmd); @@ -541,21 +539,19 @@ LayoutDocument::HandleGridMenu const bool ok = GetWindow()->GetFocusWidget(&widget); assert( ok ); - auto* layout = dynamic_cast(widget); - assert( layout != nullptr ); - + auto& layout = dynamic_cast(*widget); if (index == kGrid5Cmd) { - layout->SetGridSpacing(5); - if (layout == itsLayout) + layout.SetGridSpacing(5); + if (&layout == itsLayout) { GetWindow()->SetStepSize(5,5); } } if (index == kGrid10Cmd) { - layout->SetGridSpacing(10); - if (layout == itsLayout) + layout.SetGridSpacing(10); + if (&layout == itsLayout) { GetWindow()->SetStepSize(10,10); } diff --git a/tools/jx_menu_editor/code/FileHistoryMenu.cpp b/tools/jx_menu_editor/code/FileHistoryMenu.cpp index ccc62fec3..b7e53180b 100644 --- a/tools/jx_menu_editor/code/FileHistoryMenu.cpp +++ b/tools/jx_menu_editor/code/FileHistoryMenu.cpp @@ -97,18 +97,16 @@ FileHistoryMenu::Receive if (sender == GetDocumentManager() && message.Is(DocumentManager::kAddFileToHistory)) { - auto* info = dynamic_cast(&message); - assert( info != nullptr ); - AddFile(info->GetFullName()); + auto& info = dynamic_cast(message); + AddFile(info.GetFullName()); } else if (sender == this && message.Is(JXMenu::kItemSelected)) { - auto* selection = dynamic_cast(&message); - assert( selection != nullptr ); + auto& selection = dynamic_cast(message); MenuDocument* doc; - MenuDocument::Create(GetFile(selection->GetIndex()), &doc); + MenuDocument::Create(GetFile(selection.GetIndex()), &doc); } else diff --git a/tools/jx_menu_editor/code/MenuTable.cpp b/tools/jx_menu_editor/code/MenuTable.cpp index f1ae50338..5e3c6737d 100644 --- a/tools/jx_menu_editor/code/MenuTable.cpp +++ b/tools/jx_menu_editor/code/MenuTable.cpp @@ -920,9 +920,8 @@ MenuTable::Receive { if (HasFocus()) { - auto* selection = dynamic_cast(&message); - assert( selection != nullptr ); - HandleEditMenu(selection->GetIndex()); + auto& selection = dynamic_cast(message); + HandleEditMenu(selection.GetIndex()); } } diff --git a/tutorial/14-DragAndDrop/DNDWidget.cpp b/tutorial/14-DragAndDrop/DNDWidget.cpp index e34fda416..2555d01f5 100644 --- a/tutorial/14-DragAndDrop/DNDWidget.cpp +++ b/tutorial/14-DragAndDrop/DNDWidget.cpp @@ -340,18 +340,17 @@ void DNDWidget::GetSelectionData ( JXSelectionData* data, - const JString& id + const JString& id ) { // Check to see if this is our id if (id == kSelectionID) { // Cast the data object to the object that we know it is. - DNDData* lineData = dynamic_cast(data); - assert(lineData != nullptr); + auto& lineData = dynamic_cast(*data); // Pass our points to the line data object. - lineData->SetData(*itsPoints); + lineData.SetData(*itsPoints); } }