MultiConvertorの頻度更新に対応したつもり。
1 parent 424e4a7 commit aa5029ebde543049a839220c07f0afdb194fd56f
@tamra tamra authored on 8 Jul 2005
Showing 1 changed file
View
31
honoka/src/multiconvertor.cpp
results.clear();
result.kouho.clear();
ResultList l;
MultiResultList m;
vector<MultiResultList> rs;
// メインのConvertorからまず取得。
ResultList t = instance->m_def_convertor->getResultList(p,kt);
m.list.Title = t.Title;
m.list.Yomi = t.Yomi;
d.insert(t.kouho[j].kanji);
m.list.kouho.push_back(t.kouho[j]);
}
}
rs.push_back(m);
m.list = t;
results.push_back(m);
// その他のConvertorから取得。
for(unsigned int i = 0;i < instance->convertors.size();i ++) {
if (nuc.find(instance->convertors[i]) != nuc.end()) continue;
d.insert(t.kouho[j].kanji);
m.list.kouho.push_back(t.kouho[j]);
}
}
rs.push_back(m);
m.list = t;
results.push_back(m);
}
}
// リスト生成。
for(unsigned int i = 0;i < results.size();i ++) {
for(unsigned int j = 0;j < results[i].list.count();j ++) {
int rp = l.find(results[i].list.kouho[j].kanji);
for(unsigned int i = 0;i < rs.size();i ++) {
for(unsigned int j = 0;j < rs[i].list.count();j ++) {
int rp = l.find(rs[i].list.kouho[j].kanji);
if (rp != -1) {
l.kouho[rp].label = l.kouho[rp].label + utf8_mbstowcs(String(",")) +
utf8_mbstowcs(results[i].convertor->getPropertyName());
utf8_mbstowcs(rs[i].convertor->getPropertyName());
} else {
l.kouho.push_back(ResultEntry(results[i].list.kouho[j].kanji,
results[i].list.kouho[j].kanji + utf8_mbstowcs(String(" (")) +
utf8_mbstowcs(results[i].convertor->getPropertyName())));
l.kouho.push_back(ResultEntry(rs[i].list.kouho[j].kanji,
rs[i].list.kouho[j].kanji + utf8_mbstowcs(String(" (")) +
utf8_mbstowcs(rs[i].convertor->getPropertyName())));
}
}
}
for(unsigned int i = 0;i < l.count();i ++) {
 
 
bool MultiConvertor::select(int p) {
if (p < result.kouho.size()) texts[getPos()] = result.kouho[p].kanji;
for(unsigned int i = 0;i < results.size();i ++) {
int ps = results[i].list.find(result.kouho[p].kanji);
if (ps != -1) results[i].convertor->select(ps);
}
return true;
}
 
AttributeList MultiConvertor::getAttributeList() {
return true;
}
 
void MultiConvertor::updateFrequency() {
// 未実装。
for(unsigned int i = 0;i < instance->convertors.size();i ++) {
if (nuc.find(instance->convertors[i]) != nuc.end()) continue;
instance->convertors[i]->updateFrequency();
}
return;
}
 
bool MultiConvertor::connect() {