変換時のカーソル位置計算を追加。
1 parent ac06ba9 commit 03e367d6b9bacadad91ddb39604edc660c881cc7
@tamra tamra authored on 24 Nov 2004
Showing 2 changed files
View
12
scim-wnn/src/wnnconversion.cpp
*/
void WnnConversion::createText()
{
WideString w;
int len = 0;
caretPos = 0;
for(unsigned int i = 0;i < bunsetu;i ++) {
if (pos == i) {
attr.clear();
Attribute a(w.length(),bunList[i].length(),SCIM_ATTR_DECORATE,SCIM_ATTR_DECORATE_REVERSE);
attr.push_back(a);
}
if (pos < i) caretPos += bunList[i].length();
w = w + bunList[i];
}
text = w;
}
jl_optimize_fi(wnn,0,-1);
}
 
 
 
/*!
\fn WnnConversion::getCaretPos()
*/
int WnnConversion::getCaretPos()
{
return(caretPos);
}
View
2
■■■
scim-wnn/src/wnnconversion.h
AttributeList getAttributeList();
bool resizeRegion(int w);
void updateFrequency();
bool wnnConnect(String name,String host,String rc,int timeout);
int getCaretPos();
 
protected:
void wstostr(unsigned char *e,w_char *u);
void strtows(w_char *u,unsigned char *e);
IConvert m_iconv;
WideString yomiText;
int pos;
int bunsetu;
int caretPos;
WideString text;
vector<WideString> bunList;
vector<WideString> yomiList;
AttributeList attr;