use of com.vaadin.ui.Component in project ANNIS by korpling.
the class AdminView method enter.
@Override
public void enter(ViewChangeListener.ViewChangeEvent event) {
boolean kickstarter = Helper.isKickstarter(getSession());
importPanel.updateMode(kickstarter, Helper.getUser() != null);
// group and user management are not applicable in kickstarter
tabSheet.getTab(groupManagementPanel).setVisible(!kickstarter);
tabSheet.getTab(userManagementPanel).setVisible(!kickstarter);
Component selectedTab = getComponentForFragment(event.getParameters());
if (selectedTab != null && selectedTab != tabSheet.getSelectedTab()) {
// Select the component given by the fragment, This will call
// the selection change handler and thus we don't have
// to call the listeners here.
tabSheet.setSelectedTab(selectedTab);
} else {
// nothing to change in the tab selection, call the listeners manually
selectedTab = tabSheet.getSelectedTab();
for (UIView.Listener l : listeners) {
l.loadedTab(selectedTab);
}
setFragmentParameter(getFragmentForComponent(selectedTab));
}
}
use of com.vaadin.ui.Component in project ANNIS by korpling.
the class AdminView method selectedTabChange.
@Override
public void selectedTabChange(TabSheet.SelectedTabChangeEvent event) {
Component selected = event.getTabSheet().getSelectedTab();
for (UIView.Listener l : listeners) {
l.loadedTab(selected);
}
setFragmentParameter(getFragmentForComponent(selected));
}
use of com.vaadin.ui.Component in project ANNIS by korpling.
the class VisualizerPanel method loadVisualizer.
private void loadVisualizer(final LoadableVisualizer.Callback callback) {
if (visPlugin != null) {
btEntry.setIcon(ICON_COLLAPSE);
progress.setIndeterminate(true);
progress.setVisible(true);
progress.setEnabled(true);
progress.setDescription("Loading visualizer" + visPlugin.getShortName());
ExecutorService execService = Executors.newSingleThreadExecutor();
final Future<Component> future = execService.submit(new LoadComponentTask());
// run the actual code to load the visualizer
Background.run(new BackgroundJob(future, callback, UI.getCurrent()));
}
// end if create input was needed
}
use of com.vaadin.ui.Component in project linkki by linkki-framework.
the class Binder method addFieldBinding.
/**
* Adds the descriptor and component for the given field to the given map.
*
* @param field a Component typed field that is annotated with {@link Bind}
*
* @throws IllegalStateException if the field does not hold a component
* @throws NullPointerException if the component held by the field is {@code null}
*/
private void addFieldBinding(Field field, LinkedHashMap<BindingDescriptor, Component> bindings) {
Validate.validState(Component.class.isAssignableFrom(field.getType()), "%s is not a Component-typed field and cannot be annotated with @Bind", field);
try {
if (!field.isAccessible()) {
field.setAccessible(true);
}
Component component = requireNonNull((Component) field.get(view), () -> "Cannot create binding for field " + field + " as it is null");
@SuppressWarnings("null") @Nonnull Bind bindAnnotation = field.getAnnotation(Bind.class);
List<LinkkiAspectDefinition> aspectDefinitions = Arrays.asList(field.getAnnotations()).stream().flatMap(a -> AspectAnnotationReader.createAspectDefinitionsFrom(a).stream()).collect(Collectors.toList());
BindAnnotationDescriptor descriptor = new BindAnnotationDescriptor(bindAnnotation, aspectDefinitions);
bindings.put(descriptor, component);
} catch (IllegalArgumentException | IllegalAccessException e) {
throw new LinkkiRuntimeException(e);
}
}
use of com.vaadin.ui.Component in project linkki by linkki-framework.
the class Binder method addMethodBinding.
/**
* Adds the descriptor and component (returned by the method) for the given method to the given
* map.
*
* @throws IllegalArgumentException if the method does not return a component or requires
* parameters
* @throws NullPointerException if the component returned by the method is {@code null}
*/
private void addMethodBinding(Method method, LinkedHashMap<BindingDescriptor, Component> bindings) {
Validate.isAssignableFrom(Component.class, method.getReturnType(), "%s does not return a Component and cannot be annotated with @Bind", method);
Validate.isTrue(method.getParameterCount() == 0, "%s has parameters and cannot be annotated with @Bind", method);
try {
Component component = (Component) method.invoke(view);
if (component == null) {
throw new NullPointerException("Cannot create binding for method " + method + " as it returned null");
}
@SuppressWarnings("null") @Nonnull Bind bindAnnotation = method.getAnnotation(Bind.class);
List<LinkkiAspectDefinition> aspectDefinitions = Arrays.asList(method.getAnnotations()).stream().flatMap(a -> AspectAnnotationReader.createAspectDefinitionsFrom(a).stream()).collect(Collectors.toList());
BindAnnotationDescriptor descriptor = new BindAnnotationDescriptor(bindAnnotation, aspectDefinitions);
bindings.put(descriptor, component);
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
throw new LinkkiRuntimeException(e);
}
}
Aggregations