posts - 4,  comments - 5,  trackbacks - 0
点击下载
最近太忙, 短时间内不会更新了,虽然还有一大堆还不太满意的地方...
还有来不及调试, 可能有BUG(必油鸡), 大家随便看看, 并指导一下,
先说一下特色吧,  就是智能换行, 全文扫描标点符(分前标点后标点), 支持多国语言.
实现全模板化, 简单的实体化如下,


 1#include "ShowDebugInfo.h" //输出调试信息
 2#include "..\RcEditDef.h" //预定义
 3
 4#include "..\RcEditFontRecyclel.h" //字体回收站
 5#include "..\RcEditAlgorithm.h" //算法
 6class CFontRecyclel : public CFontRecyclelSimpT<CFontRecyclel>{};
 7
 8#include "RcEditColor.h" //颜色
 9#include "..\RcFontStyle.h" //风格
10class CFontStyle : public CFontStyleT<CFontStyle, CWinColor, CFontRecyclel>{};
11
12#include "RcWinDriverInterface.h" //CRcDCInterfaceT 设备接口
13class CWinDcInterface : public CRcDCInterfaceT<CWinColor>{};//Comb ccolor
14
15#include "RcWinFontInterface.h" //CWinFont
16#include "..\RcEditDriverInterface.h" //CRcEditDriverInterfaceT
17class CRcWinDriverInterface : public CRcEditDriverInterfaceT<CRcWinDriverInterface, CWinFont, CWinDcInterface>{//Comb Font
18}
;
19#include "RcEdit/RcEditStringAnalysis.h" //定义int 与全局属性不对 需要修改int ixxx to int nxxx
20class CRcEditDrawInterface : public CRcEditStringAnalysisT< CRcEditDrawInterface, CFontStyle, CRcWinDriverInterface>{};
21//内容容器
22#include "..\RcEditTextContainer.h"
23#include "RcWinTextContainer.h" //ContentManageW
24//撤销重做容器
25#include "..\rcEditUndo.h"
26class CDoSthBase : public CDoSthBaseT<CDoSthBase>{};
27class CRcEditUndoContainer : public CRcEditUndoContainerT<CRcEditUndoContainer, CDoSthBase>{};
28//区域管理
29#include "..\RcEditAreaManage.h"
30typedef AutoSortVectorT< AreaMarkHandle, DWORD, std::vector<AreaMarkHandle>, OSTL::CriticalSectionNull, 0, FALSE> CAreaContainer;
31class CAreaMarkContainer : public CAreaMarkContainerT<CAreaContainer>{};
32class CRcAreaManage : public CRcAreaManageBaseT<CRcAreaManage, CAreaMarkContainer>{};
33//内存池
34#include "..\rcMemPool.h"
35class RcMemBufferPool : public RcMemBufferPoolT<410244096, OSTL::CriticalSection>{};
36//行分析
37#include "..\RcEditLineAnlyze.h"
38//滚动条
39#include "..\RcEditScrollBase.h"
40#include "RcWinScroll.h" //定义int 与全局属性不对 需要修改int ixxx to int nxxx
41//主编辑器核心
42#include "..\RcEditBase.h"
43 //编辑器主接口
44class CRcEditInterface : public TRcEditInterface<ContentManageW, RcMemBufferPool, 
45  CRcEditUndoContainer, CRcAreaManage,
46  CRcEditDrawInterface, CWindowScroll>{};
47//具体实现
48template<class T, class TInterface>
49  class CRcEditBaseT : public CLineAnlyzeBaseT<T, TInterface>{
50public:
51  typedef typename CLineAnlyzeBaseT<T, TInterface> TLineAnlyze;
52  typedef typename TLineAnlyze::TLineInfo TLineInfo;
53  typedef typename TInterface::TTextContainer CTextContainer, TTextContainer;
54  typedef typename TInterface::TTextContainer::TVal TTextDate, TTextChar;
55  typedef typename TInterface::TTextContainer::iterator TextIterator;
56  typedef typename TInterface::TUndoContainer TUndoContainer, CUndoContainer; 
57  typedef typename TInterface::TUndoContainer::CDoSthBase CDoSthBase, CDoSthInfo, TDoSthBase, TDoSthInfo; 
58  typedef typename TInterface::TAreaManage TAreaManage, CAreaManage;
59  typedef typename TInterface::TAreaManage::CAreaMarkContainer CAreaMarkContainer, TAreaMarkContainer;
60  typedef typename TInterface::TDrawInterface TDrawInterface, CDrawInterface;
61  typedef typename TInterface::TDrawInterface::TStyle TStyle, TFontStyle, CStyle, CFontStyle;  
62  typedef typename TInterface::TDrawInterface::TStyle::TColor TColor, CColor;
63  typedef typename TInterface::CriticalSectionT CriticalSectionT, CCriticalSection;
64  typedef typename TInterface::TMemBufferPool TMemBufferPool, CMemBufferPool;
65  typedef typename TInterface::TEditScrollBar TEditScrollBar, CEditScrollBar;
66
67}
;
posted on 2010-11-06 18:50 ROCK 阅读(1438) 评论(2)  编辑 收藏 引用

FeedBack:
# re: 新核心的编辑器的简单阅览版 [未登录]
2010-11-06 21:19 | megax
>先说一下特色吧, 就是智能换行, 全文扫描标点符(分前标点后标点),
单词边界换行呗?  回复  更多评论
  
# re: 新核心的编辑器的简单阅览版
2010-11-07 10:02 | qqrock
@megax
是的  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


<2010年11月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用链接

留言簿

随笔档案(4)

搜索

  •  

最新评论

阅读排行榜

评论排行榜