*/
if (System.getProperty("os.name").contains("Windows")) {
System.runFinalization();
System.exit(0);
} else {
KeyMonitorMethods quit = new KeyMonitorMethods();
KeyMonitorMethods.loggingEnabled = true;
quit.printKeys(88); // Enable Auto Repeat.
try {
InitLinux.socket.close();
} catch (IOException e) {
e.printStackTrace();
}
System.runFinalization();
System.exit(0);
}
} else {
sh.dispose();
}
}
});
help.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
File docsDir = new File("./docs/index.html");
if (!docsDir.exists()) {
Shell sh = new Shell(display, SWT.APPLICATION_MODAL);
sh.setImage(image);
MessageBox messageBox = new MessageBox(sh, SWT.OK
| SWT.ICON_ERROR);
messageBox.setText("Help File Not Found");
messageBox
.setMessage("index.html not found! Make sure it is present in docs\ndirectory");
messageBox.open();
} else {
Program pBrowse = Program.findProgram(".html");
pBrowse.execute("./docs/index.html");
}
}
});
// XML Create Listener for Inscript like keyboards
XMLCreateIns.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
XMLGenerator.GenerateXMLUI();
}
});
/*
* // XML Create Listener for other keyboards
* XMLCreateOth.addListener(SWT.Selection, new Listener() {
*
* public void handleEvent(Event event) { String d =
* XMLCreateOth.getText(); exit.setSelection(false); if
* (d.compareTo("Add Other Layout") == 0) {
* XMLGenerator.GenerateXMLUI(); } else {
*
* } } });
*/
// All the kannada layouts go here
{
kgp.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
kgp.setSelection(false);
{
layoutImg = "kagapa";
currentLayout.setEnabled(true);
tip.setMessage("KaGaPa");
tip.setVisible(true);
// Set the selected language to be kan_kagapa.xml.
ParseXML.setlang("kan_kagapa.xml");
PhoneticParseXML.PhoneticFlag = 0;
Image image1 = new Image(display,
IndicKeyboards.workingDirectory
+ "/resources/kannada.ico");
item.setImage(image1);
item
.setToolTipText("indic-keyboards - KANNADA KaGaPa");
previousKeyboardIcon = item.getImage();
}
}
});
kanInscript.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
{
layoutImg = "kannada_inscript";
currentLayout.setEnabled(true);
tip.setMessage("Kannada Inscript");
tip.setVisible(true);
ParseXML.setlang("kan_inscript.xml");
PhoneticParseXML.PhoneticFlag = 0;
Image image1 = new Image(display,
IndicKeyboards.workingDirectory
+ "/resources/kannada.ico");
item.setImage(image1);
item
.setToolTipText("indic-keyboards - KANNADA Inscript");
previousKeyboardIcon = item.getImage();
}
}
});
kanPhonetic.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
{
currentLayout.setEnabled(false);
tip.setMessage("Kannada Phonetic");
tip.setVisible(true);
PhoneticParseXML.setlang("kan_phonetic.xml");
PhoneticParseXML.PhoneticFlag = 1;
Image image1 = new Image(display,
IndicKeyboards.workingDirectory
+ "/resources/kannada.ico");
item.setImage(image1);
item
.setToolTipText("indic-keyboards - KANNADA Phonetic");
previousKeyboardIcon = item.getImage();
}
}
});
}// End of kannada section
// All the tamil layouts go here
{
tamil99.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
{
layoutImg = "tamil99";
currentLayout.setEnabled(true);
tip.setMessage("Tamil99");
tip.setVisible(true);
ParseXML.setlang("tamil99.xml");
PhoneticParseXML.PhoneticFlag = 0;
Image image1 = new Image(display,
IndicKeyboards.workingDirectory
+ "/resources/tamil.ico");
item.setImage(image1);
item
.setToolTipText("indic-keyboards - TAMIL Tamil99");
previousKeyboardIcon = item.getImage();
}
}
});
tamInscript.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
{
layoutImg = "tamil_inscript";
currentLayout.setEnabled(true);
tip.setMessage("Tamil Inscript");
tip.setVisible(true);
ParseXML.setlang("tam_inscript.xml");
PhoneticParseXML.PhoneticFlag = 0;
Image image1 = new Image(display,
IndicKeyboards.workingDirectory
+ "/resources/tamil.ico");
item.setImage(image1);
item
.setToolTipText("indic-keyboards - TAMIL Inscript");
previousKeyboardIcon = item.getImage();
}
}
});
tamBamini.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
{
layoutImg = "tamil_bamini_inscript";
currentLayout.setEnabled(true);
tip.setMessage("Tamil Bamini");
tip.setVisible(true);
ParseXML.setlang("tam_bamini_inscript.xml");
PhoneticParseXML.PhoneticFlag = 0;
Image image1 = new Image(display,
IndicKeyboards.workingDirectory
+ "/resources/tamil.ico");
item.setImage(image1);
item
.setToolTipText("indic-keyboards - TAMIL Bamini");
previousKeyboardIcon = item.getImage();
}
}
});
tamRemington.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
{
layoutImg = "tamil_remington";
currentLayout.setEnabled(true);
tip.setMessage("Tamil Remington");
tip.setVisible(true);
ParseXML.setlang("tam_remington_inscript.xml");
PhoneticParseXML.PhoneticFlag = 0;
Image image1 = new Image(display,
IndicKeyboards.workingDirectory
+ "/resources/tamil.ico");
item.setImage(image1);
item
.setToolTipText("indic-keyboards - TAMIL Remington");
previousKeyboardIcon = item.getImage();
}
}
});
// Tamil Phonetic keyboard layout
tamPhonetic.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
{
tip.setMessage("Tamil Phonetic");
tip.setVisible(true);
PhoneticParseXML.setlang("tam_phonetic.xml");
PhoneticParseXML.PhoneticFlag = 1;
Image image1 = new Image(display,
IndicKeyboards.workingDirectory
+ "/resources/tamil.ico");
item.setImage(image1);
item
.setToolTipText("indic-keyboards - TAMIL Phonetic");
previousKeyboardIcon = item.getImage();
}
}
});
}// End of tamil section
// All telugu layouts go here
{
telInscript.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
{
layoutImg = "telugu_inscript";
currentLayout.setEnabled(true);
tip.setMessage("Telugu Inscript");
tip.setVisible(true);
ParseXML.setlang("tel_inscript.xml");
PhoneticParseXML.PhoneticFlag = 0;
Image image1 = new Image(display,
IndicKeyboards.workingDirectory
+ "/resources/telugu.ico");
item.setImage(image1);
item
.setToolTipText("indic-keyboards - TELUGU Inscript");
previousKeyboardIcon = item.getImage();
}
}
});
// Telugu phonetic keyboard listener
telPhonetic.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
{
tip.setMessage("Telugu Phonetic");
currentLayout.setEnabled(false);
tip.setVisible(true);
PhoneticParseXML.setlang("tel_phonetic.xml");
PhoneticParseXML.PhoneticFlag = 1;
Image image1 = new Image(display,
IndicKeyboards.workingDirectory
+ "/resources/telugu.ico");
item.setImage(image1);
item
.setToolTipText("indic-keyboards - TELUGU Phonetic");
previousKeyboardIcon = item.getImage();
}
}
});
}
// All the gujarati layouts go here
{
gujInscript.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
gujInscript.setSelection(false);
{
layoutImg = "gujarati_inscript";
currentLayout.setEnabled(true);
tip.setMessage("Gujrathi Inscript");
tip.setVisible(true);
ParseXML.setlang("guj_inscript.xml");
PhoneticParseXML.PhoneticFlag = 0;
Image image1 = new Image(display,
IndicKeyboards.workingDirectory
+ "/resources/gujarati.ico");
item.setImage(image1);
item
.setToolTipText("indic-keyboards - GUJRATI Inscript");
previousKeyboardIcon = item.getImage();
}
}
});
// Gujarati Phonetic keyboard listener
gujPhonetic.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
gujPhonetic.setSelection(false);
{
tip.setMessage("Gujarati Phonetic");
currentLayout.setEnabled(false);
tip.setVisible(true);
PhoneticParseXML.setlang("guj_phonetic.xml");
PhoneticParseXML.PhoneticFlag = 1;
Image image1 = new Image(display,
IndicKeyboards.workingDirectory
+ "/resources/gujarati.ico");
item.setImage(image1);
item
.setToolTipText("indic-keyboards - GUJARATI Phonetic");
previousKeyboardIcon = item.getImage();
}
}
});
}// End of gujarati section
// All the Hindi layouts go here
{
hinLay.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
hinLay.setSelection(false);
{
layoutImg = "hindi_remington";
currentLayout.setEnabled(true);
tip.setMessage("Hindi Remington");
tip.setVisible(true);
ParseXML.setlang("hin_remington_inscript.xml");
PhoneticParseXML.PhoneticFlag = 0;
Image image1 = new Image(display,
IndicKeyboards.workingDirectory
+ "/resources/hindi.ico");
item.setImage(image1);
item
.setToolTipText("indic-keyboards - HINDI Remington");
previousKeyboardIcon = item.getImage();
}
}
});
hinInscript.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
hinInscript.setSelection(false);
{
layoutImg = "hindi_inscript";
currentLayout.setEnabled(true);
tip.setMessage("Hindi Inscript");
tip.setVisible(true);
ParseXML.setlang("hin_inscript.xml");
PhoneticParseXML.PhoneticFlag = 0;
Image image1 = new Image(display,
IndicKeyboards.workingDirectory
+ "/resources/hindi.ico");
item.setImage(image1);
item
.setToolTipText("indic-keyboards - HINDI Inscript");
previousKeyboardIcon = item.getImage();
}
}
});
// Hindi Phonetic keyboard listener
hinPhonetic.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
hinPhonetic.setSelection(false);
{
tip.setMessage("Hindi Phonetic");
currentLayout.setEnabled(false);
tip.setVisible(true);
PhoneticParseXML.setlang("hin_phonetic.xml");
PhoneticParseXML.PhoneticFlag = 1;
Image image1 = new Image(display,
IndicKeyboards.workingDirectory
+ "/resources/hindi.ico");
item.setImage(image1);
item
.setToolTipText("indic-keyboards - HINDI Phonetic");
previousKeyboardIcon = item.getImage();
}
}
});
}// End of hindi section
// All the marathi layouts go here
{
marLay.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
marLay.setSelection(false);
{
layoutImg = "hindi_remington";
currentLayout.setEnabled(true);
tip.setMessage("Marathi Remington");
tip.setVisible(true);
ParseXML.setlang("hin_remington_inscript.xml");
PhoneticParseXML.PhoneticFlag = 0;
Image image1 = new Image(display,
IndicKeyboards.workingDirectory
+ "/resources/hindi.ico");
item.setImage(image1);
item.setToolTipText("indic-keyboards - MARATHI");
previousKeyboardIcon = item.getImage();
}
}
});
marInscript.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
marInscript.setSelection(false);
{
layoutImg = "hindi_inscript";
currentLayout.setEnabled(true);
tip.setMessage("Marathi Inscript");
tip.setVisible(true);
ParseXML.setlang("mar_inscript.xml");
PhoneticParseXML.PhoneticFlag = 0;
Image image1 = new Image(display,
IndicKeyboards.workingDirectory
+ "/resources/hindi.ico");
item.setImage(image1);
item
.setToolTipText("indic-keyboards - MARATHI Inscript");
previousKeyboardIcon = item.getImage();
}
}
});
// Marathi phonetic keyboard listener
marPhonetic.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
marPhonetic.setSelection(false);
{
tip.setMessage("Marathi Phonetic");
currentLayout.setEnabled(false);
tip.setVisible(true);
PhoneticParseXML.setlang("hin_phonetic.xml");
PhoneticParseXML.PhoneticFlag = 1;
Image image1 = new Image(display,
IndicKeyboards.workingDirectory
+ "/resources/hindi.ico");
item.setImage(image1);
item
.setToolTipText("indic-keyboards - MARATHI Phonetic");
previousKeyboardIcon = item.getImage();
}
}
});
}// End of marathi section
// Bengali layout listener goes here
benInscript.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
benInscript.setSelection(false);
{
layoutImg = "bengali_inscript";
currentLayout.setEnabled(true);
tip.setMessage("Bengali Inscript");
tip.setVisible(true);
ParseXML.setlang("ben_inscript.xml");
PhoneticParseXML.PhoneticFlag = 0;
Image image1 = new Image(display,
IndicKeyboards.workingDirectory
+ "/resources/bengali.ico");
item.setImage(image1);
item
.setToolTipText("indic-keyboards - BENGALI Inscript");
previousKeyboardIcon = item.getImage();
}
}
});
// Punjabi layout listeners goes here
gurInscript.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
gurInscript.setSelection(false);
{
layoutImg = "gurmukhi_inscript";
currentLayout.setEnabled(true);
tip.setMessage("Gurmukhi Inscript");
tip.setVisible(true);
ParseXML.setlang("gur_inscript.xml");
PhoneticParseXML.PhoneticFlag = 0;
Image image1 = new Image(display,
IndicKeyboards.workingDirectory
+ "/resources/gurmukhi.ico");
item.setImage(image1);
item
.setToolTipText("indic-keyboards - GURMUKHI Inscript");
previousKeyboardIcon = item.getImage();
}
}
});
// Malayalam layout listener goes here
malInscript.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
malInscript.setSelection(false);
{
layoutImg = "malayalam_inscript";
currentLayout.setEnabled(true);
tip.setMessage("Malayalam Inscript");
tip.setVisible(true);
ParseXML.setlang("mal_inscript.xml");
PhoneticParseXML.PhoneticFlag = 0;
Image image1 = new Image(display,
IndicKeyboards.workingDirectory
+ "/resources/malayalam.ico");
item.setImage(image1);
item
.setToolTipText("indic-keyboards - MALAYALAM Inscript");
previousKeyboardIcon = item.getImage();
}
}
});
// Oriya layout listeners goes here
oriInscript.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
oriInscript.setSelection(false);
{
layoutImg = "oriya_inscript";
currentLayout.setEnabled(true);
tip.setMessage("Oriya Inscript");
tip.setVisible(true);
ParseXML.setlang("ori_inscript.xml");
PhoneticParseXML.PhoneticFlag = 0;
Image image1 = new Image(display,
IndicKeyboards.workingDirectory
+ "/resources/oriya.ico");
item.setImage(image1);
item.setToolTipText("indic-keyboards - ORIYA Inscript");
previousKeyboardIcon = item.getImage();
}
}
});
// Listener for displaying the current layout image.
currentLayout.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
try {
if (layoutImg.compareTo("kagapa") == 0) {
showCurrentLayout("KaGaPa",
IndicKeyboards.workingDirectory
+ "/resources/kagapa.png");
}
if (layoutImg.compareTo("kannada_inscript") == 0) {
showCurrentLayout("Kannada Inscript",
IndicKeyboards.workingDirectory
+ "/resources/kannada_inscript.png");
}
if (layoutImg.compareTo("tamil99") == 0) {
showCurrentLayout("Tamil 99",
IndicKeyboards.workingDirectory
+ "/resources/tamil99.png");
}
if (layoutImg.compareTo("tamil_inscript") == 0) {
showCurrentLayout("Tamil Inscript",
IndicKeyboards.workingDirectory
+ "/resources/tamil_inscript.png");
}
if (layoutImg.compareTo("tamil_bamini_inscript") == 0) {
showCurrentLayout("Tamil Bamini",
IndicKeyboards.workingDirectory
+ "/resources/tamil_bamini_inscript.png");
}
if (layoutImg.compareTo("tamil_remington") == 0) {
showCurrentLayout("Tamil Remington",
IndicKeyboards.workingDirectory
+ "/resources/tamil_remington.gif");
}
if (layoutImg.compareTo("hindi_inscript") == 0) {
showCurrentLayout("Hindi Inscript",
IndicKeyboards.workingDirectory
+ "/resources/hindi_inscript.png");
}
if (layoutImg.compareTo("hindi_remington") == 0) {
showCurrentLayout("Hindi Remington",
IndicKeyboards.workingDirectory
+ "/resources/hindi_remington.png");
}
if (layoutImg.compareTo("gujarati_inscript") == 0) {
showCurrentLayout(
"Gujarati Inscript",
IndicKeyboards.workingDirectory
+ "/resources/gujarati_inscript.png");
}
if (layoutImg.compareTo("telugu_inscript") == 0) {
showCurrentLayout("Telugu Inscript",
IndicKeyboards.workingDirectory
+ "/resources/telugu_inscript.png");
}
if (layoutImg.compareTo("bengali_inscript") == 0) {
showCurrentLayout("Bengali Inscript",
IndicKeyboards.workingDirectory
+ "/resources/bengali_inscript.png");
}
if (layoutImg.compareTo("gurmukhi_inscript") == 0) {
showCurrentLayout(
"Gurmukhi Inscript",
IndicKeyboards.workingDirectory
+ "/resources/gurmukhi_inscript.png");
}
if (layoutImg.compareTo("malayalam_inscript") == 0) {
showCurrentLayout(
"Malayalam Inscript",
IndicKeyboards.workingDirectory
+ "/resources/malayalam_inscript.png");
}
if (layoutImg.compareTo("oriya_inscript") == 0) {
showCurrentLayout("Oriya Inscript",
IndicKeyboards.workingDirectory
+ "/resources/oriya_inscript.png");
}
if (layoutImg.compareTo("na") == 0) {
currentLayout.setEnabled(false);
}
} catch (NullPointerException e) {
} catch (org.eclipse.swt.SWTException e) {
}
}
});
// Enable and disable listener - should be differnet for Linux and
// windows
if (System.getProperty("os.name").contains("Windows")) {
enableDisable.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
InitWin.enable = !InitWin.enable;
if (InitWin.enable) {
item.setImage(previousKeyboardIcon);
tip.setMessage("Enabled");
tip.setVisible(true);
enableDisable.setText("Disable [Alt + F12]");
System.gc();
} else {
previousKeyboardIcon = item.getImage();
Image image1 = new Image(
display,
IndicKeyboards.workingDirectory
+ "/resources/trayicon_disabled.ico");
item.setImage(image1);
tip.setMessage("Disabled");
tip.setVisible(true);
enableDisable.setText("Enable [Alt + F12]");
System.gc();
}
}
});
} else {
enableDisable.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
if (KeyMonitorMethods.loggingEnabled == false) {
KeyMonitorMethods enable = new KeyMonitorMethods();
enable.printKeys(666);
item.setImage(previousKeyboardIcon);
tip.setMessage("Enabled");
tip.setVisible(true);
enableDisable.setText("Disable [Alt+F12]");
System.gc();
} else if (KeyMonitorMethods.loggingEnabled == true) {
KeyMonitorMethods disable = new KeyMonitorMethods();
disable.printKeys(666);
previousKeyboardIcon = item.getImage();
Image image1 = new Image(
display,
IndicKeyboards.workingDirectory
+ "/resources/trayicon_disabled.ico");