| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #include "TextEditor.h"
- void TextEditor::ImGuiDebugPanel(const std::string& panelName)
- {
- ImGui::Begin(panelName.c_str());
- if (ImGui::CollapsingHeader("Editor state info"))
- {
- ImGui::Checkbox("Panning", &mPanning);
- ImGui::Checkbox("Dragging selection", &mDraggingSelection);
- ImGui::DragInt("Cursor count", &mState.mCurrentCursor);
- for (int i = 0; i <= mState.mCurrentCursor; i++)
- {
- ImGui::DragInt2("Interactive start", &mState.mCursors[i].mInteractiveStart.mLine);
- ImGui::DragInt2("Interactive end", &mState.mCursors[i].mInteractiveEnd.mLine);
- }
- }
- if (ImGui::CollapsingHeader("Lines"))
- {
- for (int i = 0; i < mLines.size(); i++)
- {
- ImGui::Text("%d", mLines[i].size());
- }
- }
- if (ImGui::CollapsingHeader("Undo"))
- {
- static std::string numberOfRecordsText;
- numberOfRecordsText = "Number of records: " + std::to_string(mUndoBuffer.size());
- ImGui::Text("%s", numberOfRecordsText.c_str());
- ImGui::DragInt("Undo index", &mState.mCurrentCursor);
- for (int i = 0; i < mUndoBuffer.size(); i++)
- {
- if (ImGui::CollapsingHeader(std::to_string(i).c_str()))
- {
- ImGui::Text("Operations");
- for (int j = 0; j < mUndoBuffer[i].mOperations.size(); j++)
- {
- ImGui::Text("%s", mUndoBuffer[i].mOperations[j].mText.c_str());
- ImGui::Text(mUndoBuffer[i].mOperations[j].mType == UndoOperationType::Add ? "Add" : "Delete");
- ImGui::DragInt2("Start", &mUndoBuffer[i].mOperations[j].mStart.mLine);
- ImGui::DragInt2("End", &mUndoBuffer[i].mOperations[j].mEnd.mLine);
- ImGui::Separator();
- }
- }
- }
- }
- if (ImGui::Button("Run unit tests"))
- {
- UnitTests();
- }
- ImGui::End();
- }
|