青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
金慶的專欄
C++博客
::
首頁
::
新隨筆
::
聯系
::
聚合
::
管理
::
423 隨筆 :: 0 文章 :: 454 評論 :: 0 Trackbacks
公告
我的隨筆
我的評論
我參與的隨筆
留言簿
(12)
給我留言
查看公開留言
查看私人留言
隨筆分類
(502)
1. C/C++(166)
(rss)
2. 網游開發(108)
(rss)
3. Golang(20)
(rss)
4. Linux/Unix(30)
(rss)
5. 軟工與管理(44)
(rss)
6. Python(23)
(rss)
7. Erlang(18)
(rss)
8. Rust(16)
(rss)
9. 其它(77)
(rss)
隨筆檔案
(423)
2023年1月 (1)
2022年11月 (1)
2022年10月 (2)
2022年9月 (1)
2022年4月 (6)
2022年1月 (2)
2021年12月 (4)
2021年11月 (6)
2021年10月 (2)
2021年9月 (2)
2021年8月 (7)
2021年7月 (2)
2021年5月 (2)
2021年3月 (1)
2021年2月 (2)
2021年1月 (1)
2020年12月 (1)
2020年10月 (1)
2020年9月 (5)
2020年8月 (1)
2020年7月 (1)
2020年6月 (1)
2020年4月 (2)
2020年3月 (3)
2020年2月 (3)
2020年1月 (1)
2019年12月 (1)
2019年9月 (2)
2019年4月 (2)
2019年1月 (1)
2018年12月 (1)
2018年11月 (3)
2018年10月 (1)
2018年9月 (3)
2018年8月 (3)
2018年7月 (2)
2018年6月 (4)
2018年5月 (4)
2018年4月 (4)
2018年3月 (1)
2018年1月 (2)
2017年12月 (2)
2017年11月 (3)
2017年10月 (3)
2017年8月 (7)
2017年7月 (1)
2017年6月 (1)
2017年5月 (3)
2017年4月 (3)
2017年3月 (3)
2017年2月 (2)
2017年1月 (2)
2016年12月 (5)
2016年11月 (2)
2016年10月 (2)
2016年9月 (1)
2016年8月 (6)
2016年7月 (3)
2016年6月 (2)
2016年5月 (4)
2016年4月 (2)
2016年3月 (2)
2016年1月 (3)
2015年12月 (2)
2015年11月 (2)
2015年10月 (1)
2015年8月 (2)
2015年7月 (1)
2015年6月 (1)
2015年5月 (4)
2015年4月 (3)
2015年3月 (4)
2015年2月 (5)
2015年1月 (4)
2014年12月 (3)
2014年11月 (3)
2014年10月 (2)
2014年9月 (3)
2014年8月 (1)
2014年4月 (4)
2014年3月 (1)
2014年2月 (4)
2014年1月 (5)
2013年12月 (5)
2013年11月 (5)
2013年9月 (2)
2013年8月 (2)
2013年7月 (2)
2013年6月 (2)
2013年5月 (1)
2013年1月 (2)
2012年12月 (1)
2012年11月 (1)
2012年9月 (1)
2012年8月 (3)
2012年7月 (2)
2012年6月 (1)
2012年4月 (3)
2012年3月 (2)
2012年2月 (3)
2012年1月 (2)
2011年11月 (2)
2011年10月 (3)
2011年9月 (2)
2011年8月 (2)
2011年7月 (3)
2011年6月 (2)
2011年5月 (3)
2011年1月 (2)
2010年12月 (1)
2010年11月 (2)
2010年10月 (2)
2010年9月 (3)
2010年8月 (2)
2010年7月 (3)
2010年6月 (1)
2010年5月 (3)
2010年4月 (3)
2010年3月 (5)
2010年2月 (4)
2010年1月 (4)
2009年12月 (2)
2009年11月 (3)
2009年10月 (4)
2009年9月 (3)
2009年8月 (2)
2009年7月 (4)
2009年6月 (1)
2009年5月 (3)
2009年4月 (4)
2009年3月 (2)
2009年2月 (5)
2009年1月 (1)
2008年12月 (7)
2008年11月 (4)
2008年10月 (1)
2008年9月 (3)
2008年8月 (4)
2008年7月 (3)
2008年6月 (4)
2008年5月 (6)
2008年4月 (7)
2008年3月 (6)
2008年1月 (5)
2007年12月 (7)
2007年11月 (4)
2007年10月 (5)
2007年9月 (6)
2007年8月 (8)
2007年7月 (5)
相冊
公告照片
搜索
積分與排名
積分 - 659813
排名 - 25
最新評論
1.?re: boost::asio::spawn 將一統C++網絡庫
asio 成為C++首選網絡庫
--linda
2.?re: log4cxx中文輸出錯誤補丁
評論內容較長,點擊標題查看
--金慶
3.?re: mingw編譯OrzNet
能發送一個mingw編譯好的OrzNet庫給我嗎? liuweiqcxy@163.com
謝謝!
--劉威
4.?re: log4cxx中文輸出錯誤補丁
評論內容較長,點擊標題查看
--bigbad
5.?re: log4cxx中文輸出錯誤補丁
評論內容較長,點擊標題查看
--bigbad
閱讀排行榜
1.?"multiple definition of" 錯誤(11060)
2.?SVN中邪惡的replace(10984)
3.?VS2005編譯libevent(10430)
4.?混音算法的學習與研究(10237)
5.?C調用lua腳本的效率測試(9020)
評論排行榜
1.?VC6正在被拋棄(35)
2.?VS2005編譯libevent(21)
3.?"multiple definition of" 錯誤(18)
4.?C++引用優于指針(17)
5.?ACE與ASIO之間關于Socket編程的比較(16)
為 LiteIDE 添加選中標記
為 LiteIDE 添加選中標記
(金慶的專欄 2018.1)
"[Eclipse Mark Occurrences](http://www.eclipse.org/pdt/help/html/mark_occurrences.htm)"
可以在滾動條旁邊顯示文中所有選中的標記,
可以選中某個變量顯示有多少引用。不過 GoClipse 沒有 "Mark Occurrences" 功能。
VS code 有此功能。
LiteIDE 對于build錯誤會顯示這種標記,所以感覺可以依此實現"Mark Occurrences"。
首先找到了打標記的功能。標記用到顏色,所以搜'QColor', 找到了:
```c++
QColor markTypeColor(LiteApi::EditorNaviagteType type)
```
相關的接口會用到:
```c++
void insertNavigateMark(int line, LiteApi::EditorNaviagteType type, const QString &msg, const char* tag);
void clearAllNavigateMark(LiteApi::EditorNaviagteType types, const char *tag);
```
尋找選中時觸發標記的代碼,選中或搜索時會有圓角框圈出,搜"find", 找到:
```c++
if (!m_findExpression.isEmpty()) {
if (!findInBlock(block,m_findExpression,pos,m_findFlags,cur)) {
break;
}
...
painter.drawRoundedRect(offsetX+left,r.top()+l.y(),right-left,l.height(),3,3);
} else if (!m_selectionExpression.isEmpty()) {
if (!findInBlock(block,m_selectionExpression,pos,QTextDocument::FindWholeWords,cur)) {
break;
}
...
painter.drawRoundedRect(offsetX+left,r.top()+l.y(),right-left,l.height(),3,3);
}
```
發現畫方框僅在可視區域。續繼查找 m_findExpression 和 m_selectionExpression 更改處,
添加 'updateNavigateMarks()'
```c++
void LiteEditorWidgetBase::setFindOption(LiteApi::FindOption *opt)
{
...
+ updateNavigateMarks(LiteApi::EditorNavigateFind);
viewport()->update();
}
```
```c++
void LiteEditorWidgetBase::slotSelectionChanged()
{
...
m_selectionExpression.setPattern(pattern);
+ updateNavigateMarks(LiteApi::EditorNavigateSelection);
viewport()->update();
...
}
```
須添加2個新的類型:
```c++
enum EditorNaviagteType{
EditorNavigateNormal = 1,
EditorNavigateWarning = 2,
EditorNavigateError = 4,
EditorNavigateReload = 8,
+ EditorNavigateFind = 16,
+ EditorNavigateSelection = 32,
EditorNavigateBad = EditorNavigateWarning|EditorNavigateError
};
```
搜索 `EditorNavigateWarning`, 找到因新增類型須更改優先級表和顏色函數。
```c++
const int PRIORITYLIST_LENGTH = 7;
const LiteApi::EditorNaviagteType MARKTYPE_PRIORITYLIST[PRIORITYLIST_LENGTH] = {
..., LiteApi::EditorNavigateFind, LiteApi::EditorNavigateSelection, ...
};
...
inline QColor markTypeColor(LiteApi::EditorNaviagteType type) {
switch(type) {
...
case LiteApi::EditorNavigateNormal:
return Qt::darkGreen;
case LiteApi::EditorNavigateReload:
return Qt::darkBlue;
}
}
```
更新標記時先清空,然后逐行搜索添加標記:
```c++
// Update selections or find marks.
void LiteEditorWidgetBase::updateNavigateMarks(LiteApi::EditorNaviagteType type)
{
clearAllNavigateMark(type, "");
...
QTextDocument *doc = this->document();
for (QTextBlock it = doc->begin(); it != doc->end(); it = it.next())
{
if (!needToMarkBlock(it, type))
continue;
int lineNumber = it.blockNumber() + 1;
insertNavigateMark(lineNumber, type, QString("%1: %2").arg(lineNumber).arg(it.text()), "");
}
}
bool LiteEditorWidgetBase::needToMarkBlock(
const QTextBlock &block, LiteApi::EditorNaviagteType type) const
{
...
if (LiteApi::EditorNavigateFind == type)
return findInBlock(block, m_findExpression, pos, m_findFlags, cur);
if (LiteApi::EditorNavigateSelection == type)
return findInBlock(block, m_selectionExpression, pos,
QTextDocument::FindWholeWords, cur);
return false;
}
```
已合并主干:
```
Revision: 43f4954b0b802eccbbf451136be600bfcec71f27
Author: Jin Qing <jinq0123@163.com>
Date: 18.1.5 19:08:26
Message:
Add "Mark Occurrences" function that marks selections and findings.
----
Modified: liteidex/src/api/liteeditorapi/liteeditorapi.h
Modified: liteidex/src/plugins/liteeditor/liteeditorwidgetbase.cpp
Modified: liteidex/src/plugins/liteeditor/liteeditorwidgetbase.h
```
posted on 2018-01-06 11:05
金慶
閱讀(729)
評論(0)
編輯
收藏
引用
所屬分類:
1. C/C++
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
相關文章:
How are dtLinks created in NavMesh
C++ parameter passing rules
Naming Conventions for Accessors
Visual Studio 2019 Compiler Hangs
Fbx File Format Identifier
查找內存錯誤
std::thread 中的異常會丟失調用棧
用賦值代替 protobuf CopyFrom()
vs2017 linux 編譯輸出改成 vs 格式
為 LiteIDE 添加選中標記
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 金慶
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
99精品福利视频
|
久久精品人人做人人爽
|
蜜桃av一区二区三区
|
国产精品一二三视频
|
亚洲一区二区三区中文字幕在线
|
欧美一区二区三区在线观看视频
|
日韩一区二区免费高清
|
欧美激情视频免费观看
|
日韩亚洲欧美一区
|
亚洲人成精品久久久久
|
欧美国产另类
|
99国产精品99久久久久久粉嫩
|
欧美久久久久久久久
|
国产精品jizz在线观看美国
|
女女同性精品视频
|
**欧美日韩vr在线
|
欧美成人午夜剧场免费观看
|
久久久久99
|
最新日韩在线视频
|
欧美高潮视频
|
欧美日韩精品综合
|
亚洲综合激情
|
亚洲欧美成人综合
|
国语自产精品视频在线看8查询8
|
久久一区亚洲
|
久久综合亚洲社区
|
亚洲第一久久影院
|
亚洲片在线观看
|
欧美婷婷在线
|
欧美亚洲日本网站
|
欧美一区深夜视频
|
亚洲人成网站色ww在线
|
最新国产乱人伦偷精品免费网站
|
欧美色欧美亚洲另类二区
|
欧美亚洲网站
|
欧美aa国产视频
|
亚洲一区二区黄
|
日韩一级黄色片
|
国产亚洲一区二区在线观看
|
国产主播一区二区
|
久久精品99国产精品日本
|
久久性天堂网
|
亚洲福利视频二区
|
亚洲视频精品在线
|
在线欧美三区
|
亚洲一区二区三区久久
|
在线精品视频一区二区三四
|
99精品国产在热久久婷婷
|
国产亚洲精品久久久久动
|
久久频这里精品99香蕉
|
欧美日本国产在线
|
新67194成人永久网站
|
媚黑女一区二区
|
久久成人国产
|
国产精品国产
|
久热这里只精品99re8久
|
国产精品福利影院
|
久久综合九色99
|
国产精品任我爽爆在线播放
|
久久一区免费
|
欧美亚洲视频在线看网址
|
欧美粗暴jizz性欧美20
|
久久女同互慰一区二区三区
|
欧美日韩国产区
|
欧美高清一区
|
国产综合在线看
|
亚洲主播在线播放
|
亚洲夜间福利
|
欧美经典一区二区三区
|
免费久久99精品国产自
|
国产精品二区二区三区
|
一二三四社区欧美黄
|
99国产精品久久久久久久久久
|
午夜精品免费在线
|
欧美日韩一区二区国产
|
亚洲狠狠丁香婷婷综合久久久
|
欧美性一二三区
|
亚洲美女尤物影院
|
99精品视频网
|
欧美国产精品日韩
|
亚洲国产精品电影
|
亚洲国产精品一区二区久
|
一区二区成人精品
|
亚洲综合色激情五月
|
欧美特黄一级大片
|
亚洲男人第一av网站
|
国产欧美日韩亚州综合
|
亚洲一区二区三区在线视频
|
香蕉久久精品日日躁夜夜躁
|
国产精品福利在线
|
亚洲欧美日韩国产成人精品影院
|
亚洲男人影院
|
国产美女一区
|
久久精品国产综合
|
久久嫩草精品久久久精品一
|
一区二区三区在线视频播放
|
久久夜色精品亚洲噜噜国产mv
|
欧美chengren
|
99精品福利视频
|
麻豆成人av
|
欧美伊久线香蕉线新在线
|
国产日韩欧美在线观看
|
久久久久久电影
|
亚洲精品国产精品国自产观看
|
一区二区三区欧美
|
欧美大片一区二区
|
一区二区三区欧美亚洲
|
久久国产精品久久久
|
红桃av永久久久
|
欧美激情五月
|
亚洲经典在线
|
欧美一区二区高清在线观看
|
国内成人自拍视频
|
欧美高清在线观看
|
亚洲视频欧美在线
|
麻豆国产精品va在线观看不卡
|
亚洲欧洲综合另类
|
欧美国产综合一区二区
|
亚洲一区二区在线播放
|
欧美成人免费网
|
先锋影院在线亚洲
|
亚洲黄色成人
|
欧美精品国产一区二区
|
亚洲人成在线免费观看
|
中文精品视频
|
亚洲国产成人久久综合
|
国产精品视频免费
|
欧美久久久久久蜜桃
|
亚洲免费精彩视频
|
国产日韩欧美在线观看
|
欧美精品免费看
|
欧美在线免费观看
|
一本大道久久精品懂色aⅴ
|
久热精品视频在线观看一区
|
久久亚洲一区二区三区四区
|
国产日韩精品在线播放
|
欧美日韩一区二区三区在线
|
欧美高清hd18日本
|
欧美mv日韩mv国产网站app
|
久久综合激情
|
久久综合中文色婷婷
|
久久米奇亚洲
|
久久综合网络一区二区
|
久久亚洲国产精品日日av夜夜
|
久久久免费观看视频
|
久久久99久久精品女同性
|
久久免费午夜影院
|
美女视频网站黄色亚洲
|
欧美xxx在线观看
|
欧美极品aⅴ影院
|
欧美日韩色婷婷
|
欧美视频一区二区三区四区
|
欧美色欧美亚洲另类七区
|
欧美丝袜一区二区三区
|
国产女主播一区二区
|
国产在线精品成人一区二区三区
|
国内精品久久久久影院色
|
在线欧美视频
|
久久躁日日躁aaaaxxxx
|
久久米奇亚洲
|
欧美福利影院
|
夜夜嗨av一区二区三区四季av
|
在线视频亚洲一区
|
欧美一级淫片播放口
|
久久中文欧美
|
欧美色区777第一页
|
国产日韩欧美综合在线
|
亚洲风情亚aⅴ在线发布
|
99综合电影在线视频
|
午夜免费在线观看精品视频
|
久久婷婷蜜乳一本欲蜜臀
|
亚洲国产精品精华液网站
|
日韩一级片网址
|
久久国产色av
|
欧美人妖另类
|
国产一区二区三区高清
|
亚洲精品视频在线观看免费
|
亚洲欧美日本国产有色
|
久久婷婷综合激情
|
亚洲人成高清
|
久久国产精品黑丝
|
欧美日韩国产bt
|
韩日精品中文字幕
|
亚洲视频在线观看免费
|
麻豆成人精品
|
亚洲一区二区三区色
|
嫩草成人www欧美
|
国产乱肥老妇国产一区二
|
老司机免费视频久久
|
欧美日韩精品免费在线观看视频
|
国产一区二区三区自拍
|
一本一本久久
|
欧美成人一区二区三区片免费
|
一区二区日韩精品
|
欧美a级一区
|
国内精品伊人久久久久av影院
|
亚洲私拍自拍
|
亚洲黄色在线
|
久久这里有精品15一区二区三区
|
国产精品视频专区
|