#include <config.h>
-#include <stdio.h>
+//#include <cstdio>
#ifdef __GNUG__
#pragma implementation "trans.h"
#include "LyXView.h"
#include "trans.h"
-#include "filetools.h"
+#include "support/filetools.h"
#include "tex-strings.h"
#include "lyxlex.h"
-#include "error.h"
+#include "debug.h"
#include "trans_mgr.h"
// KmodInfo
KmodInfo::KmodInfo()
{
- exception_list=NULL;
+ exception_list=0;
}
}
-LString DefaultTrans::process(char c,TransManager& k)
+string DefaultTrans::process(char c,TransManager& k)
{
char dummy[2]="?";
dummy[0]=c;
int i;
for(i=0; i<256; i++)
- keymap_[i]=NULL;
+ keymap_[i]=0;
for(i=0; i<TEX_MAX_ACCENT+1; i++)
kmod_list_[i]=0;
void Trans::InsertException(Trans::keyexc& exclist, char c,
- const LString& data,bool flag,tex_accent accent)
+ const string& data,bool flag,tex_accent accent)
{
keyexc p;
for(i=0; i<256; i++)
if (keymap_[i]) {
delete keymap_[i];
- keymap_[i]=NULL;
+ keymap_[i]=0;
}
for(i=0; i<TEX_MAX_ACCENT+1; i++)
if (kmod_list_[i]) {
}
-const LString& Trans::GetName()
+const string& Trans::GetName()
{
return name_;
}
};
-tex_accent getkeymod(const LString&);
+tex_accent getkeymod(const string&);
-void Trans::AddDeadkey(tex_accent accent,const LString& keys,
- const LString& allowed)
+void Trans::AddDeadkey(tex_accent accent,const string& keys,
+ const string& allowed)
{
if (kmod_list_[accent]) {
FreeException(kmod_list_[accent]->exception_list);
kmod_list_[accent]->allowed = allowed;
}
- for(int i=0;i<keys.length();i++) {
- char *temp;
- temp=keymap_[(unsigned char)keys[i]]=new char[2];
- temp[0]=0; temp[1]=accent;
+ for(string::size_type i = 0; i < keys.length(); ++i) {
+ char * temp;
+ temp = keymap_[(unsigned char)keys[i]] = new char[2];
+ temp[0] = 0; temp[1] = accent;
}
- kmod_list_[accent]->exception_list=NULL;
+ kmod_list_[accent]->exception_list=0;
}
switch(lex.lex()) {
case KMOD:
{
- if (lyxerr.debugging(Error::KBMAP))
- fprintf(stderr,"KMOD: %s\n",lex.text());
+ if (lyxerr.debugging(Debug::KBMAP))
+ lyxerr << "KMOD:\t" << lex.text() << endl;
if (lex.next(true)) {
- if (lyxerr.debugging(Error::KBMAP))
- fprintf(stderr, "key `%s'\n", lex.text());
+ if (lyxerr.debugging(Debug::KBMAP))
+ lyxerr << "key\t`" << lex.text()
+ << "'" << endl;
} else
return -1;
- LString keys = lex.GetString();
+ string keys = lex.GetString();
if (lex.next(true)) {
- if ( lyxerr.debugging(Error::KBMAP))
- fprintf(stderr, "accent `%s'\n", lex.text());
+ if ( lyxerr.debugging(Debug::KBMAP))
+ lyxerr << "accent\t`" << lex.text()
+ << "'" << endl;
} else
return -1;
return -1;
if (lex.next(true)) {
- if (lyxerr.debugging(Error::KBMAP))
- fprintf(stderr,
- "allowed `%s'\n",
- lex.text());
+ if (lyxerr.debugging(Debug::KBMAP))
+ lyxerr << "allowed\t`" << lex.text()
+ << "'" << endl;
} else
return -1;
- LString allowed = lex.GetString();
+ string allowed = lex.GetString();
AddDeadkey(accent, keys, allowed);
break;
case KCOMB: {
const char *str;
- lyxerr.debug("KCOMB:",Error::KBMAP);
+ lyxerr[Debug::KBMAP] << "KCOMB:" << endl;
if (lex.next(true)) {
str=lex.text();
- lyxerr.debug(str,Error::KBMAP);
+ lyxerr[Debug::KBMAP] << str << endl;
} else
return -1;
if (lex.next(true)) {
str=lex.text();
- lyxerr.debug(str,Error::KBMAP);
+ lyxerr[Debug::KBMAP] << str << endl;
} else
return -1;
tex_accent accent_2=getkeymod(str);
if (accent_2==TEX_NOACCENT) return -1;
- if (kmod_list_[accent_1]==NULL || kmod_list_[accent_2]==NULL)
+ if (kmod_list_[accent_1]==0 || kmod_list_[accent_2]==0)
return -1;
// Find what key accent_2 is on - should check about accent_1 also
if (keymap_[key] && keymap_[key][0]==0 && keymap_[key][1]==accent_2)
break;
- LString allowed;
+ string allowed;
if (lex.next()) {
allowed=lex.GetString();
- lyxerr.debug("allowed: "+allowed,Error::KBMAP);
+ lyxerr[Debug::KBMAP] << "allowed: "
+ << allowed << endl;
} else
return -1;
char key_from;
char *string_to;
- if (lyxerr.debugging(Error::KBMAP))
- fprintf(stderr, "KMAP: %s\n", lex.text());
+ if (lyxerr.debugging(Debug::KBMAP))
+ lyxerr << "KMAP:\t" << lex.text() << endl;
if (lex.next(true)) {
key_from=lex.text()[0];
- if (lyxerr.debugging(Error::KBMAP))
- fprintf(stderr, " `%s'\n", lex.text());
+ if (lyxerr.debugging(Debug::KBMAP))
+ lyxerr << "\t`" << lex.text() << "'"
+ << endl;
} else
return -1;
char const *t = lex.text();
string_to = strcpy(new char[strlen(t)+1],t);
keymap_[(unsigned char)key_from]=string_to;
- if (lyxerr.debugging(Error::KBMAP))
- fprintf(stderr, " `%s'\n", string_to);
+ if (lyxerr.debugging(Debug::KBMAP))
+ lyxerr << "\t`" << string_to << "'"
+ << endl;
} else
return -1;
char key;
const char *str;
- if (lyxerr.debugging(Error::KBMAP))
- fprintf(stderr, "KXMOD: %s\n", lex.text());
+ if (lyxerr.debugging(Debug::KBMAP))
+ lyxerr << "KXMOD:\t" << lex.text() << endl;
if (lex.next(true)) {
- if (lyxerr.debugging(Error::KBMAP))
- fprintf(stderr, " `%s'\n", lex.text());
+ if (lyxerr.debugging(Debug::KBMAP))
+ lyxerr << "\t`" << lex.text() << "'"
+ << endl;
accent = getkeymod(lex.GetString());
} else
return -1;
if (lex.next(true)) {
- if (lyxerr.debugging(Error::KBMAP))
- fprintf(stderr, " `%s'\n", lex.text());
+ if (lyxerr.debugging(Debug::KBMAP))
+ lyxerr << "\t`" << lex.text() << "'"
+ << endl;
key=lex.text()[0];
} else
return -1;
if (lex.next(true)) {
- if (lyxerr.debugging(Error::KBMAP))
- fprintf(stderr, " `%s'\n", lex.text());
+ if (lyxerr.debugging(Debug::KBMAP))
+ lyxerr << "\t`" << lex.text() << "'"
+ << endl;
str=lex.text();
} else
return -1;
break;
}
case LyXLex::LEX_FEOF:
- lyxerr.debug("End of parsing",Error::LEX_PARSER);
+ lyxerr[Debug::PARSER] << "End of parsing" << endl;
break;
default:
lex.printError("ParseKeymapFile: "
bool Trans::isAccentDefined(tex_accent accent,KmodInfo& i)
{
- if (kmod_list_[accent]!=NULL) {
+ if (kmod_list_[accent]!=0) {
i=*kmod_list_[accent];
return true;
}
}
-LString Trans::process(char c,TransManager& k)
+string Trans::process(char c,TransManager& k)
{
char dummy[2]="?";
char *dt=dummy;
char *t=Match(c);
- if ((t==NULL && (*dt=c)) || (t[0]!=0 && (dt=t)) ){
+ if ((t==0 && (*dt=c)) || (t[0]!=0 && (dt=t)) ){
return k.normalkey(c,dt);
} else {
return k.deadkey(c,*kmod_list_[(tex_accent)t[1]]);
}
-int Trans::Load(LString const &language)
+int Trans::Load(string const &language)
{
- LString filename = LibFileSearch("kbd", language, "kmap");
+ string filename = LibFileSearch("kbd", language, "kmap");
if (filename.empty())
return -1;
if (res==0) {
name_=language;
} else
- name_.clean();
+ name_.clear();
return res;
}
-tex_accent getkeymod(LString const &p)
+tex_accent getkeymod(string const &p)
/* return modifier - decoded from p and update p */
{
for (int i = 1; i <= TEX_MAX_ACCENT; i++) {
- if (lyxerr.debugging(Error::KBMAP))
- fprintf(stderr,
- "p = %s, lyx_accent_table[%d].name = `%s'\n",
- p.c_str(), i, lyx_accent_table[i].name);
+ if (lyxerr.debugging(Debug::KBMAP))
+ lyxerr << "p = " << p
+ << ", lyx_accent_table[" << i
+ <<"].name = `" << lyx_accent_table[i].name
+ << "'" << endl;
- if ( lyx_accent_table[i].name && p.contains(lyx_accent_table[i].name)) {
- lyxerr.debug("Found it!",Error::KBMAP);
+ if ( lyx_accent_table[i].name && contains(p, lyx_accent_table[i].name)) {
+ lyxerr[Debug::KBMAP] << "Found it!" << endl;
return (tex_accent)i;
}
}