/** * OpenKM, Open Document Management System (http://www.openkm.com) * Copyright (c) 2006-2011 Paco Avila & Josep Llort * * No bytes were intentionally harmed during the development of this application. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package com.openkm.frontend.client.widget.filebrowser; import com.google.gwt.event.dom.client.KeyCodes; import com.google.gwt.event.dom.client.KeyUpEvent; import com.google.gwt.event.dom.client.KeyUpHandler; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.TextBox; import com.openkm.frontend.client.Main; /** * File textBox * * @author jllort * */ public class FileTextBox extends Composite { public static final int ACTION_NONE = -1; public static final int ACTION_RENAME = 0; private TextBox textBox; private int action = ACTION_RENAME; /** * File textBox */ public FileTextBox() { textBox = new TextBox(); textBox.addKeyUpHandler(new KeyUpHandler() { @Override public void onKeyUp(KeyUpEvent event) { switch (event.getNativeKeyCode()) { case (char)KeyCodes.KEY_ENTER: switch(action) { case ACTION_RENAME: if (textBox.getText().length() > 0) { Main.get().mainPanel.desktop.browser.fileBrowser.rename(textBox.getText()); } else { Main.get().mainPanel.desktop.browser.fileBrowser.hideRename(); } break; } Main.get().mainPanel.enableKeyShorcuts(); // Enables general keys applications break; case (char)KeyCodes.KEY_ESCAPE: switch(action) { case ACTION_RENAME: Main.get().mainPanel.desktop.browser.fileBrowser.hideRename(); break; } Main.get().mainPanel.enableKeyShorcuts(); // Enables general keys applications break; } } }); textBox.setVisibleLength(20); textBox.setStyleName("okm-FileBrowser-TextBox"); initWidget(textBox); } /** * Resets text Box values */ public void reset() { textBox.setText(""); } /** * Sets text input box * * @param text The text */ public void setText(String text) { textBox.setVisibleLength(text.length()+5); textBox.setText(text); } /** * Sets windows focus to input */ public void setFocus() { textBox.setFocus(true); textBox.selectAll(); } /** * Sets the action text Box * * @param action The action value */ public void setAction(int action) { this.action = action; } }