public virtual WordRegionBase getLastWord() { LastWordRegion wr = new LastWordRegion(); wr.startWord = this.startWord; wr.endWord = this.endWord; wr.type = this.type; return wr; }
public void GenerateSensibleArea(int startPos,int[] positions, ScintillaControl sci) { if (isMonitoring) DeactiveMonitorWords(); //if (sci.CodePage == 65001 && startPos!=0) //{ // int strLen = Encoding.UTF8.GetByteCount( // sci.Text.Substring(0,startPos) // ); // startPos = strLen; //} //startPos = sci.MBSafePosition(startPos); WordRegionBase last=null; WordRegionBase wr=null; for (int i = 0; i < positions.Length; i+=2) { if (i == positions.Length-2) { wr = new LastWordRegion(); } else { wr = new WordRegion(); } wr.type = WordRegionBase.kind.place; wr.startWord = startPos + positions[i]; wr.endWord = startPos + positions[i + 1]; if (last != null) { last.NextWord = wr; } last = wr; Words.Add(wr); } firstWord = Words[0]; lastWord = wr; fileName = ASContext.Context.CurrentClass.Name; if (MonitorOnWordsActive != null) MonitorOnWordsActive(this); ActiveMonitorWords(); MoveNextWord(); }
public void CreateTemporaryVar() { sciMonitor = ASContext.CurSciControl; if (Words.Count == 0) { LastWordRegion wb = new LastWordRegion(); wb.startWord = wb.endWord = sciMonitor.CurrentPos; Words.Add(wb); firstWord = wb; numCursors = 1; } declarationWord = new WordRegion(); sciMonitor.TextInserted += new TextInsertedHandler(insertTemporaryText); sciMonitor.TextDeleted += new TextDeletedHandler(deleteTemporaryText); // it became firstword in the list declarationWord.startWord = declarationWord.endWord = firstWord.startWord; declarationWord.NextWord = firstWord; firstWord = declarationWord; }