1 #ifndef TEXTEDITORVIEW_H
2 #define TEXTEDITORVIEW_H
37 std::shared_ptr<std::vector<Char>>
sp;
45 std::vector<TextEditorView::FormattedLine>
lines;
53 return lines.back().sp.get();
67 std::vector<Char> *
chars(
size_t i)
69 return lines[i].sp.get();
71 std::vector<Char>
const *
chars(
size_t i)
const
73 return lines[i].sp.get();
81 void drawCursor(
int row,
int col, QPainter *pr, QColor
const &color);
93 int calcPixelPosX(
int row,
int col,
bool adjust_scroll, std::vector<Char> *chars)
const;
94 void parse(
int row, std::vector<Char> *chars)
const;
96 void calcPixelPosX(std::vector<Char> *chars,
const QFontMetrics &fm)
const;
110 void drawText(QPainter *painter,
int px,
int py, QString
const &str);
114 void setCursorRow(
int row,
bool auto_scroll,
bool by_mouse)
override;
124 void updateVisibility(
bool ensure_current_line_visible,
bool change_col,
bool auto_scroll)
override;
137 void move(
int cur_row,
int cur_col,
int scr_row,
int scr_col,
bool auto_scroll);
165 void moved(
int cur_row,
int cur_col,
int scr_row,
int scr_col);
std::shared_ptr< TextEditorTheme > TextEditorThemePtr
Definition: TextEditorTheme.h:9
Definition: AbstractCharacterBasedApplication.h:503
Definition: TextEditorTheme.h:11
Definition: TextEditorView.h:35
std::shared_ptr< std::vector< Char > > sp
Definition: TextEditorView.h:37
FormattedLine()
Definition: TextEditorView.h:38
Definition: TextEditorView.h:43
size_t size() const
Definition: TextEditorView.h:55
void clear()
Definition: TextEditorView.h:46
FormattedLine & operator[](size_t i)
Definition: TextEditorView.h:59
std::vector< Char > * append()
Definition: TextEditorView.h:50
std::vector< TextEditorView::FormattedLine > lines
Definition: TextEditorView.h:45
std::vector< Char > const * chars(size_t i) const
Definition: TextEditorView.h:71
std::vector< Char > * chars(size_t i)
Definition: TextEditorView.h:67
Definition: TextEditorView.h:32
int basisCharWidth() const
基準文字幅
Definition: TextEditorView.cpp:210
TextEditorTheme const * theme() const
Definition: TextEditorView.cpp:105
void mouseReleaseEvent(QMouseEvent *event) override
Definition: TextEditorView.cpp:1053
void resizeEvent(QResizeEvent *event) override
Definition: TextEditorView.cpp:1136
void internalUpdateScrollBar()
Definition: TextEditorView.cpp:422
bool event(QEvent *event) override
Definition: TextEditorView.cpp:187
int scrollPosX() const
水平スクロール位置のピクセル値を取得
Definition: TextEditorView.cpp:627
void updateVisibility(bool ensure_current_line_visible, bool change_col, bool auto_scroll) override
Definition: TextEditorView.cpp:469
void wheelEvent(QWheelEvent *event) override
Definition: TextEditorView.cpp:1144
void setCursorRow(int row, bool auto_scroll, bool by_mouse) override
行位置を変更する
Definition: TextEditorView.cpp:362
void setTheme(const TextEditorThemePtr &theme)
Definition: TextEditorView.cpp:100
QVariant inputMethodQuery(Qt::InputMethodQuery q) const override
Definition: TextEditorView.cpp:1080
void moved(int cur_row, int cur_col, int scr_row, int scr_col)
void paintEvent(QPaintEvent *) override
描画
Definition: TextEditorView.cpp:702
int lineHeight() const
行の高さ
Definition: TextEditorView.cpp:200
void setFocusFrameVisible(bool f)
Definition: TextEditorView.cpp:1161
void updateCursorRect(bool auto_scroll)
Definition: TextEditorView.cpp:406
QColor colorForIndex(CharAttr const &attr, bool foreground)
Definition: TextEditorView.cpp:508
void moveCursorByMouse()
Definition: TextEditorView.cpp:1000
TextEditorView(QWidget *parent=nullptr)
Definition: TextEditorView.cpp:48
int scroll_unit_
Definition: TextEditorView.h:143
void drawText(QPainter *painter, int px, int py, QString const &str)
Definition: TextEditorView.cpp:493
void layoutEditor() override
Definition: TextEditorView.cpp:1126
QFont textFont() const
Definition: TextEditorView.cpp:488
void move(int cur_row, int cur_col, int scr_row, int scr_col, bool auto_scroll)
Definition: TextEditorView.cpp:477
void timerEvent(QTimerEvent *) override
Definition: TextEditorView.cpp:1166
void updateLayout()
Definition: TextEditorView.cpp:125
void mousePressEvent(QMouseEvent *event) override
Definition: TextEditorView.cpp:1023
ScrollUnit
Definition: TextEditorView.h:140
@ ScrollByCharacter
Definition: TextEditorView.h:141
RowCol mapFromPixel(const QPoint &pt)
ビューのピクセル座標から行と桁を求める
Definition: TextEditorView.cpp:311
void setScrollUnit(int n)
Definition: TextEditorView.cpp:613
void reflectScrollBar()
Definition: TextEditorView.cpp:1119
QColor defaultBackgroundColor()
Definition: TextEditorView.cpp:503
void internalUpdateVisibility(bool ensure_current_line_visible, bool change_col, bool auto_scroll)
Definition: TextEditorView.cpp:448
void setCursorCol(int col) override
桁位置を変更する
Definition: TextEditorView.cpp:383
void contextMenuEvent(QContextMenuEvent *event) override
Definition: TextEditorView.cpp:1177
int calcPixelPosX(int row, int col, bool adjust_scroll, std::vector< Char > *chars) const
行と桁位置からピクセルX座標を求める
Definition: TextEditorView.cpp:274
void mouseMoveEvent(QMouseEvent *event) override
Definition: TextEditorView.cpp:1066
void paintScreen(QPainter *painter)
描画(CharacterMode用)
Definition: TextEditorView.cpp:524
bool something_bad_flag
Definition: TextEditorView.h:158
void inputMethodEvent(QInputMethodEvent *e) override
Definition: TextEditorView.cpp:1089
void drawFocusFrame(QPainter *pr)
Definition: TextEditorView.cpp:607
~TextEditorView() override
Definition: TextEditorView.cpp:95
FormattedLines * fetchLines()
ビューに表示されている範囲のテキストを取得
Definition: TextEditorView.cpp:686
int scrollUnit() const
Definition: TextEditorView.cpp:618
void bindScrollBar(QScrollBar *vsb, QScrollBar *hsb)
Definition: TextEditorView.cpp:392
Private * m
Definition: TextEditorView.h:77
void setupForLogWidget(const TextEditorThemePtr &theme)
Definition: TextEditorView.cpp:398
void setTextFont(const QFont &font)
Definition: TextEditorView.cpp:113
void setSomethingBadFlag(bool f)
Definition: TextEditorView.h:159
PointInView pointInView(int row, int col) const
行と桁からビュー座標を求める
Definition: TextEditorView.cpp:648
int view_y_from_row(int row) const
Definition: TextEditorView.cpp:635
QColor defaultForegroundColor()
Definition: TextEditorView.cpp:498
void parse(int row, std::vector< Char > *chars) const
Definition: TextEditorView.cpp:301
void drawCursor(int row, int col, QPainter *pr, QColor const &color)
カーソルを描画
Definition: TextEditorView.cpp:664
Definition: GitTypes.h:74
Definition: AbstractCharacterBasedApplication.h:205
Definition: AbstractCharacterBasedApplication.h:244
Definition: TextEditorView.h:16
int start
Definition: TextEditorView.h:17
Format(int start, int length, QTextFormat const &f)
Definition: TextEditorView.h:20
int length
Definition: TextEditorView.h:18
QTextFormat format
Definition: TextEditorView.h:19
Definition: TextEditorView.h:15
std::vector< Format > format
Definition: TextEditorView.h:29
QString text
Definition: TextEditorView.h:28
Definition: AbstractCharacterBasedApplication.h:173
Definition: TextEditorView.h:150
int x
Definition: TextEditorView.h:151
int height
Definition: TextEditorView.h:153
int y
Definition: TextEditorView.h:152
Definition: TextEditorView.cpp:19