BreakpointPanel.hxx 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #ifndef BREAKPOINTS_VIEW_H
  9. #define BREAKPOINTS_VIEW_H
  10. #if !defined(Q_MOC_RUN)
  11. #include <AzCore/Memory/SystemAllocator.h>
  12. #include <AzCore/base.h>
  13. #include <QtCore/QObject>
  14. #include <QtWidgets/QTableWidget>
  15. #include <QtWidgets/QWidget>
  16. #include "LUABreakpointTrackerMessages.h"
  17. #endif
  18. #pragma once
  19. class DHBreakpointsWidget
  20. : public QTableWidget
  21. , LUAEditor::LUABreakpointTrackerMessages::Bus::Handler
  22. {
  23. Q_OBJECT;
  24. public:
  25. // CLASS ALLOCATOR INTENIONALLY OMITTED so that we can be factoried by Qt code.
  26. DHBreakpointsWidget(QWidget* parent = 0);
  27. virtual ~DHBreakpointsWidget();
  28. //////////////////////////////////////////////////////////////////////////
  29. // Debugger Messages, from the LUAEditor::LUABreakpointTrackerMessages::Bus
  30. virtual void BreakpointsUpdate(const LUAEditor::BreakpointMap& uniqueBreakpoints);
  31. virtual void BreakpointHit(const LUAEditor::Breakpoint& breakpoint);
  32. virtual void BreakpointResume();
  33. private:
  34. void RemoveRow(int which);
  35. void CreateBreakpoint(const AZStd::string& debugName, int lineNumber);
  36. void RemoveBreakpoint(const AZStd::string& debugName, int lineNumber);
  37. void PullFromContext();
  38. bool m_PauseUpdates;
  39. private slots:
  40. void CreateContextMenu(const QPoint& pos);
  41. public slots:
  42. void OnDoubleClicked(const QModelIndex&);
  43. void DeleteSelected();
  44. void DeleteAll();
  45. };
  46. #endif