/*
 * Copyright 2000-2012 JetBrains s.r.o.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.intellij.ui.components;

import com.intellij.util.ui.ComponentWithEmptyText;
import com.intellij.util.ui.StatusText;
import com.intellij.util.ui.UIUtil;
import org.jetbrains.annotations.NotNull;

import javax.swing.*;
import java.awt.*;

public class JBTextField extends JTextField implements ComponentWithEmptyText {
  private TextComponentEmptyText myEmptyText;

  public JBTextField() {
    init();
  }

  public JBTextField(int i) {
    super(i);
    init();
  }

  public JBTextField(String s) {
    super(s);
    init();
  }

  public JBTextField(String s, int i) {
    super(s, i);
    init();
  }

  private void init() {
    UIUtil.addUndoRedoActions(this);
    myEmptyText = new TextComponentEmptyText(this);
  }

  public void setTextToTriggerEmptyTextStatus(String t) {
    myEmptyText.setTextToTriggerStatus(t);
  }

  @Override
  public void setText(String t) {
    super.setText(t);
    UIUtil.resetUndoRedoActions(this);
  }

  @NotNull
  @Override
  public StatusText getEmptyText() {
    return myEmptyText;
  }

  @Override
  protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    if (!myEmptyText.getStatusTriggerText().isEmpty() && myEmptyText.isStatusVisible()) {
      g.setColor(getBackground());
      g.fillRect(0, 0, getWidth(), getHeight());
      g.setColor(getForeground());
    }
    myEmptyText.paintStatusText(g);
  }
}

@@ -17,17 +17,17 @@
 2000-201
-2
+6
  JetBrai
@@ -1034,25 +1034,31 @@
 xtField(int 
-i
+columns
 ) %7B%0A    supe
@@ -1059,17 +1059,23 @@
   super(
-i
+columns
 );%0A    i
@@ -1114,17 +1114,20 @@
 (String 
-s
+text
 ) %7B%0A    
@@ -1132,17 +1132,20 @@
   super(
-s
+text
 );%0A    i
@@ -1188,16 +1188,25 @@
 ing 
-s
+text
 , int 
-i
+columns
 ) %7B%0A
@@ -1219,12 +1219,21 @@
 per(
-s, i
+text, columns
 );%0A 

fix parameter names