@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); } }
protected void layoutWidgets() { int top = 5; int swidth = mc.fontRenderer.getStringWidth(labelTitle.getText()); labelTitle.setY(top + 7).setX(width / 2 - swidth / 2).setHeight(11).setWidth(swidth); search.setX(5).setY(top).setWidth(150).setHeight(20); top += 25; int sheight = height - top - 55; filter.setX(5).setY(top).setWidth(130).setHeight(sheight); view.setX((int) (5 + filter.getX() + filter.getWidth())) .setY(top) .setWidth((int) (width - 15 - filter.getWidth())) .setHeight(sheight); int ftop = 5; checkVanilla.setX(5).setY(ftop).setWidth(100).setHeight(20); ftop += 25; checkSpoutcraft.setX(5).setY(ftop).setWidth(100).setHeight(20); ftop += 25; checkCustom.setX(5).setY(ftop).setWidth(100).setHeight(20); ftop += 25; checkShortcuts.setX(5).setY(ftop).setWidth(100).setHeight(20); for (Widget w : filter.getAttachedWidgets()) { w.setWidth(filter.getViewportSize(Orientation.HORIZONTAL) - 10); } search.setWidth((int) filter.getWidth()); top += 5 + view.getHeight(); int totalWidth = Math.min(width - 10, 200 * 3 + 10); int cellWidth = (totalWidth - 10) / 3; int left = width / 2 - totalWidth / 2; int center = left + 5 + cellWidth; int right = center + 5 + cellWidth; buttonAdd.setHeight(20).setWidth(cellWidth).setX(left).setY(top); buttonEdit.setHeight(20).setWidth(cellWidth).setX(center).setY(top); buttonRemove.setHeight(20).setWidth(cellWidth).setX(right).setY(top); top += 25; labelDescription.setHeight(20).setWidth(cellWidth * 2 + 5).setX(left).setY(top); labelDescription.recalculateLines(); buttonDone.setHeight(20).setWidth(cellWidth).setX(right).setY(top); }
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); }
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(); }
@Override public void initGui() { Control control; GenericScrollArea screen = new GenericScrollArea(); scroll = screen; screen.setHeight(height - 24 - 30).setWidth(width).setY(24).setX(0); getScreen().attachWidget("Spoutcraft", screen); GenericLabel label = new GenericLabel("Game Settings"); int size = Spoutcraft.getMinecraftFont().getTextWidth(label.getText()); label.setX((int) (width / 2 - size / 2)).setY(10); label.setFixed(true).setPriority(RenderPriority.Lowest); getScreen().attachWidget("Spoutcraft", label); int left = (int) (width / 2 - 155); int right = (int) (width / 2 + 5); int center = (int) (width / 2 - 75); control = new ResetButton(parent).setAlign(WidgetAnchor.TOP_CENTER); control.setWidth(150).setHeight(20).setX(left).setY(height - 25); getScreen().attachWidget("Spoutcraft", control); switchToAdvancedCheck = new GenericCheckBox("Advanced"); switchToAdvancedCheck.setChecked(false); switchToAdvancedCheck.setX(5).setY(3).setWidth(100).setHeight(20); switchToAdvancedCheck.setPriority(RenderPriority.Low); getScreen().attachWidget("Spoutcraft", switchToAdvancedCheck); doneButton = new GenericButton("Done"); doneButton.setAlign(WidgetAnchor.CENTER_CENTER); doneButton.setX(right).setY(height - 25); doneButton.setHeight(20).setWidth(150); getScreen().attachWidget("Spoutcraft", doneButton); int top = 5; Color grey = new Color(0.80F, 0.80F, 0.80F, 0.65F); label = new GenericLabel("Controls and Audio Settings"); size = Spoutcraft.getMinecraftFont().getTextWidth(label.getText()); label.setX((int) (width / 2 - size / 2)).setY(top); label.setTextColor(grey); screen.attachWidget("Spoutcraft", label); top += 11; Gradient linebreak = new GenericGradient(); linebreak.setBottomColor(grey); linebreak.setTopColor(grey); linebreak.setX(width / 2 - 318 / 2).setY(top).setHeight(3).setWidth(318); screen.attachWidget("Spoutcraft", linebreak); top += 6; control = new MusicSlider().setAlign(WidgetAnchor.TOP_CENTER); control.setWidth(150).setHeight(20).setX(left).setY(top); screen.attachWidget("Spoutcraft", control); control = new SoundEffectsSlider().setAlign(WidgetAnchor.TOP_CENTER); control.setWidth(150).setHeight(20).setX(right).setY(top); screen.attachWidget("Spoutcraft", control); top += 22; control = new FieldOfViewSlider().setAlign(WidgetAnchor.TOP_CENTER); control.setWidth(150).setHeight(20).setX(left).setY(top); screen.attachWidget("Spoutcraft", control); control = new DifficultyButton().setAlign(WidgetAnchor.TOP_CENTER); control.setWidth(150).setHeight(20).setX(right).setY(top); screen.attachWidget("Spoutcraft", control); top += 22; control = new TexturesButton(this).setAlign(WidgetAnchor.TOP_CENTER); control.setWidth(150).setHeight(20).setX(center).setY(top); screen.attachWidget("Spoutcraft", control); top += 22; control = new ControlsButton(this).setAlign(WidgetAnchor.TOP_CENTER); control.setWidth(150).setHeight(20).setX(left).setY(top); screen.attachWidget("Spoutcraft", control); control = new LanguagesButton(this).setAlign(WidgetAnchor.TOP_CENTER); control.setWidth(150).setHeight(20).setX(right).setY(top); screen.attachWidget("Spoutcraft", control); top += 22; control = new ChatButton(this).setAlign(WidgetAnchor.TOP_CENTER); control.setWidth(150).setHeight(20).setX(left).setY(top); screen.attachWidget("Spoutcraft", control); control = new MinimapButton(this).setAlign(WidgetAnchor.TOP_CENTER); control.setWidth(150).setHeight(20).setX(right).setY(top); screen.attachWidget("Spoutcraft", control); top += 22; // Graphics label = new GenericLabel("Graphical Settings"); size = Spoutcraft.getMinecraftFont().getTextWidth(label.getText()); label.setX((int) (width / 2 - size / 2)).setY(top); label.setTextColor(grey); screen.attachWidget("Spoutcraft", label); top += 11; linebreak = new GenericGradient(); linebreak.setBottomColor(grey); linebreak.setTopColor(grey); linebreak.setX(width / 2 - 318 / 2).setY(top).setHeight(3).setWidth(318); screen.attachWidget("Spoutcraft", linebreak); top += 6; // TODO Clean up references to Spoutworth and remove message Label message = new GenericLabel(""); message.setWidth(150).setHeight(20).setX(left).setY(top); if (Configuration.isAutomatePerformance()) { screen.attachWidget("Spoutcraft", message); // top += 47; } RadioButton button; button = (RadioButton) new FavorPerformanceButton("Favor Performance", message) .setGroup(1) .setAlign(WidgetAnchor.TOP_CENTER); button.setWidth(150).setHeight(20).setX(left).setY(top); button.setTooltip( "Spoutcraft will attempt to provide smooth framerates, potentially at the cost of appearance."); screen.attachWidget("Spoutcraft", button); button.setSelected( Configuration.isAutomatePerformance() && Configuration.getAutomateMode() == 0); button = (RadioButton) new OptimalGameplayButton("Balanced Gameplay", message) .setGroup(1) .setAlign(WidgetAnchor.TOP_CENTER); button.setWidth(150).setHeight(20).setX(right).setY(top); button.setTooltip("Spoutcraft will attempt to provide reasonable framerates and appearance."); screen.attachWidget("Spoutcraft", button); button.setSelected( Configuration.isAutomatePerformance() && Configuration.getAutomateMode() == 1); top += 22; button = (RadioButton) new FavorAppearanceButton("Favor Appearance", message) .setGroup(1) .setAlign(WidgetAnchor.TOP_CENTER); button.setWidth(150).setHeight(20).setX(left).setY(top); button.setTooltip( "Spoutcraft will attempt to provide the best appearance, but potentially at the cost of framerates."); screen.attachWidget("Spoutcraft", button); button.setSelected( Configuration.isAutomatePerformance() && Configuration.getAutomateMode() == 2); button = (RadioButton) new ManualSelectionButton("Manual Selection", message, parent) .setGroup(1) .setAlign(WidgetAnchor.TOP_CENTER); button.setWidth(150).setHeight(20).setX(right).setY(top); button.setTooltip("Disable automatic performance settings and adjust the settings manually."); screen.attachWidget("Spoutcraft", button); button.setSelected(!Configuration.isAutomatePerformance()); top += 22; // TODO add option controls to the scroll area }