File: clCellValue.h

package info (click to toggle)
codelite 17.0.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 136,204 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 (102 lines) | stat: -rw-r--r-- 3,839 bytes parent folder | download | duplicates (2)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#ifndef CLCELLVALUE_H
#define CLCELLVALUE_H

#include "codelite_exports.h"
#include "drawingutils.h"

#include <vector>
#include <wx/colour.h>
#include <wx/font.h>
#include <wx/string.h>

enum class eCellButtonType {
    BT_NONE = -1,
    BT_DROPDOWN_ARROW = 0,
    BT_ELLIPSIS = 1,
};

class WXDLLIMPEXP_SDK clCellValue
{
public:
    enum eType {
        kTypeNull = 0,
        kTypeString = 1,
        kTypeBool = 2,
        kTypeButton = 3,
        kTypeColour = 4,
        kTypeOnlyButton = 5,
    };
    typedef std::vector<clCellValue> Vect_t;

protected:
    bool m_boolValue = false;
    wxString m_stringValue;
    eType m_type = kTypeNull;
    eCellButtonType m_button_type = eCellButtonType::BT_NONE;
    int m_bitmapIndex = wxNOT_FOUND;
    int m_bitmapSelectedIndex = wxNOT_FOUND;
    wxFont m_font;
    wxColour m_textColour;
    wxColour m_bgColour;
    wxRect m_checkboxRect;
    wxRect m_buttonRect;
    wxColour m_colourValue;
    wxString m_buttonUnicodeSymbol;
    eButtonState m_button_state = eButtonState::kNormal;

public:
    clCellValue();
    clCellValue(const wxString& text, int bmpIndex = wxNOT_FOUND, int bmpOpenIndex = wxNOT_FOUND);
    clCellValue(const char* ptext, int bmpIndex = wxNOT_FOUND, int bmpOpenIndex = wxNOT_FOUND);
    clCellValue(bool bValue, const wxString& label, int bmpIndex = wxNOT_FOUND, int bmpOpenIndex = wxNOT_FOUND);
    virtual ~clCellValue();
    bool IsOk() const { return m_type != kTypeNull; }
    bool IsString() const { return m_type == kTypeString; }
    bool IsBool() const { return m_type == kTypeBool; }
    void SetType(eType type) { m_type = type; }
    void SetValue(const wxString& text);
    void SetValue(bool b) { this->m_boolValue = b; }
    void SetValue(const wxColour& c) { this->m_colourValue = c; }
    const wxString& GetValueString() const;
    bool GetValueBool() const { return m_boolValue; }
    const wxColour& GetValueColour() const { return m_colourValue; }

    void SetButtonState(const eButtonState& button_state) { this->m_button_state = button_state; }
    const eButtonState& GetButtonState() const { return m_button_state; }

    /**
     * @brief this cell has button in addition to ...
     */
    bool HasButton() const { return m_type == kTypeButton; }

    /**
     * @brief the entire cell is a button
     */
    bool IsButton() const { return m_type == kTypeOnlyButton; }

    bool IsColour() const { return m_type == kTypeColour; }
    eCellButtonType GetButtonType() const { return m_button_type; }
    void SetButtonType(eCellButtonType type, const wxString& unicode_symbol)
    {
        m_button_type = type;
        m_buttonUnicodeSymbol = unicode_symbol;
    }

    int GetBitmapIndex() const { return m_bitmapIndex; }
    int GetBitmapSelectedIndex() const { return m_bitmapSelectedIndex; }
    void SetBgColour(const wxColour& bgColour) { this->m_bgColour = bgColour; }
    void SetBitmapIndex(int bitmapIndex) { this->m_bitmapIndex = bitmapIndex; }
    void SetBitmapSelectedIndex(int bitmapSelectedIndex) { this->m_bitmapSelectedIndex = bitmapSelectedIndex; }
    void SetFont(const wxFont& font) { this->m_font = font; }
    void SetTextColour(const wxColour& textColour) { this->m_textColour = textColour; }
    const wxColour& GetBgColour() const { return m_bgColour; }
    const wxFont& GetFont() const { return m_font; }
    const wxColour& GetTextColour() const { return m_textColour; }
    void SetCheckboxRect(const wxRect& checkboxRect) { this->m_checkboxRect = checkboxRect; }
    const wxRect& GetCheckboxRect() const { return m_checkboxRect; }
    void SetButtonRect(const wxRect& dropDownRect) { this->m_buttonRect = dropDownRect; }
    const wxRect& GetButtonRect() const { return m_buttonRect; }
    const wxString& GetButtonUnicodeSymbol() const { return m_buttonUnicodeSymbol; }
};

#endif // CLCELLVALUE_H