-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refactor text component builders, add TextAreaComponentBuilder
- Loading branch information
1 parent
c2f14c0
commit f8d46d2
Showing
7 changed files
with
237 additions
and
163 deletions.
There are no files selected for viewing
38 changes: 38 additions & 0 deletions
38
src/main/java/org/jboss/forge/plugin/idea/ui/component/AbstractTextComponentBuilder.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
/* | ||
* Copyright 2014 Red Hat, Inc. and/or its affiliates. | ||
* | ||
* Licensed under the Eclipse Public License version 1.0, available at | ||
* http://www.eclipse.org/legal/epl-v10.html | ||
*/ | ||
package org.jboss.forge.plugin.idea.ui.component; | ||
|
||
import org.jboss.forge.addon.ui.input.InputComponent; | ||
import org.jboss.forge.addon.ui.input.UIInput; | ||
|
||
import javax.swing.text.JTextComponent; | ||
|
||
/** | ||
* @author Adam Wyłuda | ||
*/ | ||
public abstract class AbstractTextComponentBuilder extends ComponentBuilder | ||
{ | ||
@Override | ||
public ForgeComponent build(InputComponent<?, Object> input) | ||
{ | ||
return new LabeledComponent(input, new TextComponent(input, createTextComponent())); | ||
} | ||
|
||
@Override | ||
protected Class<String> getProducedType() | ||
{ | ||
return String.class; | ||
} | ||
|
||
@Override | ||
protected Class<?>[] getSupportedInputComponentTypes() | ||
{ | ||
return new Class<?>[]{UIInput.class}; | ||
} | ||
|
||
protected abstract JTextComponent createTextComponent(); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
68 changes: 68 additions & 0 deletions
68
src/main/java/org/jboss/forge/plugin/idea/ui/component/LabeledComponent.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
/* | ||
* Copyright 2014 Red Hat, Inc. and/or its affiliates. | ||
* | ||
* Licensed under the Eclipse Public License version 1.0, available at | ||
* http://www.eclipse.org/legal/epl-v10.html | ||
*/ | ||
package org.jboss.forge.plugin.idea.ui.component; | ||
|
||
import com.intellij.ui.components.JBLabel; | ||
import org.jboss.forge.addon.ui.input.InputComponent; | ||
import org.jboss.forge.addon.ui.output.UIMessage; | ||
|
||
import java.awt.*; | ||
import java.util.List; | ||
|
||
/** | ||
* Component with label. | ||
* | ||
* @author Adam Wyłuda | ||
*/ | ||
public class LabeledComponent extends ForgeComponent | ||
{ | ||
private final JBLabel label; | ||
private final ForgeComponent component; | ||
|
||
public LabeledComponent(InputComponent<?, Object> input, ForgeComponent component) | ||
{ | ||
this.label = new JBLabel(getLabelValue(input)); | ||
this.component = component; | ||
} | ||
|
||
@Override | ||
public void buildUI(Container container) | ||
{ | ||
container.add(label); | ||
component.buildUI(container); | ||
} | ||
|
||
private String getLabelValue(InputComponent<?, Object> input) | ||
{ | ||
String labelValue = input.getLabel() == null ? input.getName() : input.getLabel(); | ||
return labelValue + ":"; | ||
} | ||
|
||
@Override | ||
public void displayMessages(List<UIMessage> messages) | ||
{ | ||
component.displayMessages(messages); | ||
} | ||
|
||
@Override | ||
public void setErrorMessage(UIMessage message) | ||
{ | ||
component.setErrorMessage(message); | ||
} | ||
|
||
@Override | ||
public void clearErrorMessage() | ||
{ | ||
component.clearErrorMessage(); | ||
} | ||
|
||
@Override | ||
public void setValueChangeListener(Runnable valueChangeListener) | ||
{ | ||
component.setValueChangeListener(valueChangeListener); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
30 changes: 30 additions & 0 deletions
30
src/main/java/org/jboss/forge/plugin/idea/ui/component/TextAreaComponentBuilder.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
/* | ||
* Copyright 2014 Red Hat, Inc. and/or its affiliates. | ||
* | ||
* Licensed under the Eclipse Public License version 1.0, available at | ||
* http://www.eclipse.org/legal/epl-v10.html | ||
*/ | ||
package org.jboss.forge.plugin.idea.ui.component; | ||
|
||
import org.jboss.forge.addon.ui.hints.InputType; | ||
|
||
import javax.swing.*; | ||
import javax.swing.text.JTextComponent; | ||
|
||
/** | ||
* @author Adam Wyłuda | ||
*/ | ||
public class TextAreaComponentBuilder extends AbstractTextComponentBuilder | ||
{ | ||
@Override | ||
protected JTextComponent createTextComponent() | ||
{ | ||
return new JTextArea(); | ||
} | ||
|
||
@Override | ||
protected String getSupportedInputType() | ||
{ | ||
return InputType.TEXTAREA; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.