Esempio n. 1
0
  /** Call this method from you GuiScreen to process the keys into textbox. */
  public boolean textboxKeyTyped(char par1, int par2) {
    if (this.isEnabled && this.isFocused) {
      switch (par1) {
        case 1:
          this.setCursorPositionEnd();
          this.setSelectionPos(0);
          return true;

        case 3:
          GuiScreen.setClipboardString(this.getSelectedtext());
          return true;

        case 22:
          this.writeText(GuiScreen.getClipboardString());
          return true;

        case 24:
          GuiScreen.setClipboardString(this.getSelectedtext());
          this.writeText("");
          return true;

        default:
          switch (par2) {
            case 14:
              if (GuiScreen.isCtrlKeyDown()) {
                this.deleteWords(-1);
              } else {
                this.deleteFromCursor(-1);
              }

              return true;

            case 199:
              if (GuiScreen.isShiftKeyDown()) {
                this.setSelectionPos(0);
              } else {
                this.setCursorPositionZero();
              }

              return true;

            case 203:
              if (GuiScreen.isShiftKeyDown()) {
                if (GuiScreen.isCtrlKeyDown()) {
                  this.setSelectionPos(this.getNthWordFromPos(-1, this.getSelectionEnd()));
                } else {
                  this.setSelectionPos(this.getSelectionEnd() - 1);
                }
              } else if (GuiScreen.isCtrlKeyDown()) {
                this.setCursorPosition(this.getNthWordFromCursor(-1));
              } else {
                this.moveCursorBy(-1);
              }

              return true;

            case 205:
              if (GuiScreen.isShiftKeyDown()) {
                if (GuiScreen.isCtrlKeyDown()) {
                  this.setSelectionPos(this.getNthWordFromPos(1, this.getSelectionEnd()));
                } else {
                  this.setSelectionPos(this.getSelectionEnd() + 1);
                }
              } else if (GuiScreen.isCtrlKeyDown()) {
                this.setCursorPosition(this.getNthWordFromCursor(1));
              } else {
                this.moveCursorBy(1);
              }

              return true;

            case 207:
              if (GuiScreen.isShiftKeyDown()) {
                this.setSelectionPos(this.text.length());
              } else {
                this.setCursorPositionEnd();
              }

              return true;

            case 211:
              if (GuiScreen.isCtrlKeyDown()) {
                this.deleteWords(1);
              } else {
                this.deleteFromCursor(1);
              }

              return true;

            default:
              if (ChatAllowedCharacters.isAllowedCharacter(par1)) {
                this.writeText(Character.toString(par1));
                return true;
              } else {
                return false;
              }
          }
      }
    } else {
      return false;
    }
  }