File: DAPTextView.h

package info (click to toggle)
codelite 17.0.0%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 136,244 kB
  • sloc: cpp: 491,547; ansic: 280,393; php: 10,259; sh: 8,930; lisp: 7,664; vhdl: 6,518; python: 6,020; lex: 4,920; yacc: 3,123; perl: 2,385; javascript: 1,715; cs: 1,193; xml: 1,110; makefile: 804; cobol: 741; sql: 709; ruby: 620; f90: 566; ada: 534; asm: 464; fortran: 350; objc: 289; tcl: 258; java: 157; erlang: 61; pascal: 51; ml: 49; awk: 44; haskell: 36
file content (48 lines) | stat: -rw-r--r-- 1,498 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#ifndef DAPTEXTVIEW_H
#define DAPTEXTVIEW_H

#include "UI.h"
#include "cl_command_event.h"
#include "dap/dap.hpp"

#include <vector>

class DAPTextView : public DAPTextViewBase
{
    wxString m_filepath;
    dap::Source m_current_source;
    wxString m_mimeType;

protected:
    void ApplyTheme();
    void Clear();
    void SetFilePath(const wxString& filepath);
    void UpdateLineNumbersMargin();

    void OnColourChanged(clCommandEvent& event);
    void OnMarginClick(wxStyledTextEvent& event);

public:
    DAPTextView(wxWindow* parent);
    virtual ~DAPTextView();

    wxStyledTextCtrl* GetCtrl() { return m_stcTextView; }

    static void ClearMarker(wxStyledTextCtrl* ctrl);
    void ClearMarker() { ClearMarker(m_stcTextView); }

    static void SetMarker(wxStyledTextCtrl* ctrl, int line_number);
    void SetMarker(int line_number) { SetMarker(m_stcTextView, line_number); }

    void SetText(const dap::Source& source, const wxString& text, const wxString& path, const wxString& mimeType);
    void LoadFile(const dap::Source& source, const wxString& filepath);

    const wxString& GetFilePath() const { return m_filepath; }
    bool IsSame(const dap::Source& source) const { return m_current_source == source; }
    void DeleteBreakpointMarkers(int line_number = wxNOT_FOUND);
    void SetBreakpointMarker(int line_number, const wxString& tooltip);
    bool HasBreakpointMarker(int line_number);
    size_t GetBreakpointMarkers(std::vector<int>* lines);
};

#endif // DAPTEXTVIEW_H