/*
* Copyright 2013-2016 consulo.io
*
* 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 consulo;
import consulo.ui.*;
/**
* @author VISTALL
* @since 11-Jun-16
*/
public class SomeTestUIBuilder {
@RequiredUIAccess
public static void build(Window window) {
/*VerticalLayout layout = Layouts.vertical();
final CheckBox top = create("top");
top.setEnabled(false);
layout.add(top);
final CheckBox left = create("left");
layout.add(left);
final CheckBox right = create("right (this item will blink every 5 sec)");
layout.add(right);
final CheckBox bottom = create("bottom");
layout.add(bottom);
final CheckBox center = Components.checkBox("UI proxy?=center", false);
center.addValueListener(new ValueComponent.ValueListener<Boolean>() {
@Override
public void valueChanged(@NotNull ValueComponent.ValueEvent<Boolean> event) {
top.setValue(event.getValue());
left.setValue(event.getValue());
right.setValue(event.getValue());
bottom.setValue(event.getValue());
bottom.setVisible(!event.getValue());
}
});
final UIAccess uiAccess = UIAccess.get();
Executors.newScheduledThreadPool(1).scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
uiAccess.give(new Runnable() {
@Override
public void run() {
right.setValue(!right.getValue());
}
});
}
}, 5, 5, TimeUnit.SECONDS);
center.setValue(true);
layout.add(center);
layout.add(Layouts.horizontal().add(Components.checkBox("Test 1")).add(Components.checkBox("Test 2")));
layout.add(Layouts.horizontal().add(Components.label("Test 1")).add(Components.label("Test 2")));
layout.add(Layouts.horizontal().add(Components.htmlLabel("<b>Test 1</b>")).add(Components.label("<b>Test 1</b>")));
final ComboBox<String> comboBox = Components.comboBox("test", "test2");
comboBox.setRender(new ListItemRender<String>() {
@Override
public void render(@NotNull ListItemPresentation render, int index, @Nullable String item) {
if (item == null) {
render.append(fromIcon(AllIcons.Actions.Help));
render.append("<null>");
return;
}
if (item.equals("test2")) {
render.append(fromIcon(AllIcons.Actions.IntentionBulb));
render.append(item, TextStyle.BOLD);
}
else {
render.append(fromIcon(AllIcons.Nodes.Class), fromIcon(AllIcons.Nodes.JunitTestMark));
render.append(item);
}
}
});
final SplitLayout splitLayout = Layouts.horizontalSplit();
splitLayout.setFirstComponent(Layouts.dock().left(Components.label("SDK:")).center(comboBox));
final ComboBox<String> component = Components.comboBox("test1", "tet2");
component.addValueListener(new ValueComponent.ValueListener<String>() {
@Override
public void valueChanged(@NotNull ValueComponent.ValueEvent<String> event) {
System.out.println(event.getValue() + " selected");
}
});
component.setValue("tet2");
splitLayout.setSecondComponent(Layouts.horizontal().add(Components.label("SDK:")).add(component));
splitLayout.setProportion(20);
layout.add(splitLayout); */
try {
Thread.sleep(1000L);
}
catch (InterruptedException e) {
e.printStackTrace();
}
final Menu file = MenuItems.menu("File");
file.add(MenuItems.menu("New").add(MenuItems.item("Class")));
file.separate();
file.add(MenuItems.item("Exit"));
window.setMenuBar(MenuItems.menuBar().add(file).add(MenuItems.item("Help")));
final SplitLayout splitLayout = Layouts.horizontalSplit();
final TabbedLayout tabbed = Layouts.tabbed();
final VerticalLayout vertical = Layouts.vertical();
ValueGroup<Boolean> group = ValueGroups.boolGroup();
final RadioButton component = Components.radioButton("Test 1", true);
vertical.add(component);
final RadioButton component1 = Components.radioButton("Test 2");
vertical.add(component1);
group.add(component).add(component1);
tabbed.addTab("Hello", vertical);
final LabeledLayout labeled = Layouts.labeled("Some Panel Label");
tabbed.addTab("Hello2", labeled.set(Components.label("test 1")));
splitLayout.setFirstComponent(Components.label("tree"));
splitLayout.setSecondComponent(tabbed);
splitLayout.setProportion(20);
window.setContent(splitLayout);
}
}