1. 程式人生 > >紅孩兒編輯器的詳細設計第四部分

紅孩兒編輯器的詳細設計第四部分

紅孩兒編輯器的詳細設計第四部分

系統中主要的資料結構設計

1快取的結構
二維的陣列,還有一個棧,是一個修改的日誌 包括操作型別,位置,原內容,新內容。

2狀態的結構
是一個物件,它有屬性是檔名,當前的游標行號,當前游標的列號,
左上角頂點處的位置在檔案中的行號,列號

3配置的結構
是一個物件,它有屬性 是否是語法高亮顯示,是否是程式碼摺疊, 是否是括號匹配,
是否是自動換行,是否是顯示行號,是否是插入模式,輸入法,字型大小,字型名稱
查詢的配置,作為一個子物件,它也有自己的屬性例如,查詢方向,是否大小寫匹配,
是否支援正則表示式,正則表示式的內容,是查詢一次還是多次,查詢範圍是全文還是限定區域

4編輯器主體物件的結構
這個物件有許多的屬性,例如,游標的當前的行號,列號,游標標記
編輯的寬度和高度,單行的高度,一個字的寬度,操作游標定位的方法


5 HTML5的畫布物件
這個物件的屬性有填充格式,畫線的格式,填充矩形的方法,畫線矩形的方法。