@Override protected void buttonClicked(Button btn) { if (btn.equals(buttonDone)) { mc.displayGuiScreen(parentScreen); return; } if (btn.equals(buttonAdd)) { Shortcut sh = new Shortcut(); sh.setTitle(""); sh.setKey(Keyboard.KEY_UNKNOWN.getKeyCode()); editItem(sh); return; } ControlsBasicItem item = model.getItem(view.getSelectedRow()); ShortcutBindingItem sh = null; if (item != null && item instanceof ShortcutBindingItem) { sh = (ShortcutBindingItem) item; } if (sh != null && btn.equals(buttonEdit)) { editItem(sh.getShortcut()); } else if (btn.equals(buttonEdit) && item != null) { model.setEditing(item); } }
@Override protected void mouseClicked(int x, int y, int button) { ControlsBasicItem item = model.getEditingItem(); if (item != null && item.useMouseButtons()) { item.setModifiers(SimpleKeyBindingManager.getPressedModifiers()); item.setKey(SimpleKeyBindingManager.MOUSE_OFFSET + button); model.finishEdit(); } }
protected void keyTyped(char c, int i, boolean pressed) { ControlsBasicItem item = model.getEditingItem(); if (item != null) { if (item.useModifiers() && (!SimpleKeyBindingManager.isModifierKey(i) && pressed) || (SimpleKeyBindingManager.isModifierKey(i) && !pressed)) { item.setModifiers(SimpleKeyBindingManager.getPressedModifiers()); item.setKey(i); model.finishEdit(); } else if (!item.useModifiers()) { item.setKey(i); model.finishEdit(); } } }
public void updateButtons() { ControlsBasicItem item = model.getItem(view.getSelectedRow()); buttonEdit.setEnabled(item != null); ((DeleteControlButton) buttonRemove).setReallyShown(false); // buttonRemove.setEnabled(item instanceof ShortcutBindingItem || item instanceof // KeyBindingItem); }
@Override public void handleKeyboardInput() { ControlsBasicItem item = model.getEditingItem(); if (item != null) { this.keyTyped( org.lwjgl.input.Keyboard.getEventCharacter(), org.lwjgl.input.Keyboard.getEventKey(), org.lwjgl.input.Keyboard.getEventKeyState()); } else { super.handleKeyboardInput(); } }
protected void createInstances() { labelTitle = new GenericLabel("Controls"); buttonDone = new GenericButton("Done"); buttonAdd = new GenericButton("Add Shortcut"); buttonEdit = new GenericButton("Edit"); buttonEdit.setTooltip("Edit Shortcut"); buttonRemove = new DeleteControlButton(this); buttonRemove.setTooltip("Remove Shortcut"); labelDescription = new GenericLabel(); labelDescription.setText("Double-click an item, then press the key (combination)."); labelDescription.setWrapLines(true); filter = new GenericScrollArea(); view = new GenericListView(model); model.setCurrentGui(this); checkVanilla = new ControlsCheckBox(this, VANILLA_COLOR + "Minecraft Bindings"); checkSpoutcraft = new ControlsCheckBox(this, SPOUTCRAFT_COLOR + "Spoutcraft Bindings"); checkCustom = new ControlsCheckBox(this, CUSTOM_COLOR + "Custom Bindings"); checkShortcuts = new ControlsCheckBox(this, SHORTCUTS_COLOR + "Shortcuts"); search = new ControlsSearch(this); filter.attachWidget("Spoutcraft", checkVanilla); filter.attachWidget("Spoutcraft", checkSpoutcraft); filter.attachWidget("Spoutcraft", checkCustom); filter.attachWidget("Spoutcraft", checkShortcuts); getScreen().attachWidget("Spoutcraft", search); getScreen().attachWidget("Spoutcraft", labelTitle); getScreen().attachWidget("Spoutcraft", filter); getScreen().attachWidget("Spoutcraft", view); getScreen().attachWidget("Spoutcraft", buttonAdd); getScreen().attachWidget("Spoutcraft", buttonEdit); getScreen().attachWidget("Spoutcraft", buttonRemove); getScreen().attachWidget("Spoutcraft", buttonDone); getScreen().attachWidget("Spoutcraft", labelDescription); updateButtons(); model.refresh(); }
public void deleteCurrentControl() { SimpleKeyBindingManager man = (SimpleKeyBindingManager) SpoutClient.getInstance().getKeyBindingManager(); ControlsBasicItem item = model.getItem(view.getSelectedRow()); ShortcutBindingItem sh = null; if (item != null && item instanceof ShortcutBindingItem) { sh = (ShortcutBindingItem) item; } KeyBindingItem binding = null; if (item != null && item instanceof KeyBindingItem) { binding = (KeyBindingItem) item; } if (sh != null) { man.unregisterShortcut(sh.getShortcut()); man.save(); } else if (binding != null) { man.unregisterControl(binding.getBinding()); man.save(); model.refresh(); } else { item.setKey(-128); } model.refresh(); }
public void onClick(int x, int y, boolean doubleClick) { model.onItemClicked(this, doubleClick); }