private void initialize() { List<Control> children = new ArrayList<>(Arrays.asList(shlMyanmarTyping.getChildren())); while (!children.isEmpty()) { Control c = children.remove(0); if (c instanceof Composite) { children.addAll(Arrays.asList(((Composite) c).getChildren())); } else if (c instanceof Button) { Button b = (Button) c; MMKey key = MMKey.ALL_MM_KEY_MAP.get(b.getText().charAt(0)); if (key != null) { b.setData(key); b.setText(key.toString()); b.addSelectionListener(listener); } } } text.addModifyListener(modifyListener); text_5.addModifyListener(modifyTextListener); text_1.setEditable(false); text_2.setEditable(false); text_3.setEditable(false); text_4.setEditable(false); text.setFocus(); text.setText(defaultText); text_5.setText("100F"); }
/** Create contents of the window. */ protected void createContents() { shlMyanmarTyping = new Shell(); shlMyanmarTyping.setSize(785, 500); shlMyanmarTyping.setText("Myanmar Typing"); shlMyanmarTyping.setLayout(new BorderLayout(0, 0)); text = new Text(shlMyanmarTyping, SWT.BORDER); text.setLayoutData(BorderLayout.NORTH); Composite unicodeKeyPanel = new Composite(shlMyanmarTyping, SWT.NONE); unicodeKeyPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 1, 1)); unicodeKeyPanel.setLayoutData(BorderLayout.CENTER); for (MMKey key : MMKey.ALL_MM_KEYS) { Button btnNewButton = new Button(unicodeKeyPanel, SWT.NONE); btnNewButton.setText(key.toUnicode()); btnNewButton.setData(key); btnNewButton.addSelectionListener(listener); } }
@Override public void widgetSelected(SelectionEvent e) { MMKey key = (MMKey) e.widget.getData(); text.append(key.toUnicode()); }