Search in sources :

Example 96 with Tooltip

use of javafx.scene.control.Tooltip in project org.csstudio.display.builder by kasemir.

the class ImageToolbarHandler method addItem.

/**
 * Add a custom tool bar item
 *  @param icon Icon {@link Image}
 *  @param tool_tip Tool tip text
 *  @return {@link ToolItem}
 */
public Button addItem(final Image icon, final String tool_tip) {
    if (!have_custom_items) {
        toolbar.getItems().add(new Separator());
        have_custom_items = true;
    }
    final Button item = new Button();
    item.setGraphic(new ImageView(icon));
    item.setTooltip(new Tooltip(tool_tip));
    toolbar.getItems().add(item);
    return item;
}
Also used : Button(javafx.scene.control.Button) ToggleButton(javafx.scene.control.ToggleButton) Tooltip(javafx.scene.control.Tooltip) ImageView(javafx.scene.image.ImageView) Separator(javafx.scene.control.Separator)

Example 97 with Tooltip

use of javafx.scene.control.Tooltip in project org.csstudio.display.builder by kasemir.

the class RTImagePlot method showAxisLimitsField.

private void showAxisLimitsField(AxisPart<Double> axis, boolean isHigh, Rectangle area) {
    axisLimitsField.setOnKeyPressed((KeyEvent event) -> {
        if (event.getCode().equals(KeyCode.ENTER)) {
            hideAxisLimitsField();
            if (axisLimitsField.getText().isEmpty())
                return;
            try {
                Double value = Double.parseDouble(axisLimitsField.getText());
                changeAxisLimit(axis, isHigh, value);
            } catch (NumberFormatException e) {
            }
        } else if (event.getCode().equals(KeyCode.ESCAPE)) {
            hideAxisLimitsField();
        }
    });
    String tip = isHigh ? axis.getValueRange().getHigh().toString() : axis.getValueRange().getLow().toString();
    axisLimitsField.setText(tip);
    axisLimitsField.setTooltip(new Tooltip(tip));
    axisLimitsField.setVisible(true);
    axisLimitsField.relocate(area.getX(), area.getY());
    axisLimitsField.resize(area.getWidth(), area.getHeight());
    axisLimitsField.requestFocus();
    // force text to appear in field
    axisLimitsField.layout();
}
Also used : KeyEvent(javafx.scene.input.KeyEvent) Tooltip(javafx.scene.control.Tooltip)

Example 98 with Tooltip

use of javafx.scene.control.Tooltip in project org.csstudio.display.builder by kasemir.

the class RTTimePlot method setScrolling.

/**
 * @param enabled <code>true</code> to enable scrolling
 */
public void setScrolling(final boolean enabled) {
    // TODO: Fix graphics size to button size
    final ScheduledFuture<?> was_scrolling;
    if (enabled) {
        // Show that scrolling is 'on', and tool tip explains that it can be turned off
        scroll_img.imageProperty().set(scroll_on);
        scroll.setTooltip(new Tooltip(Messages.Scroll_Off_TT));
        // Scroll once so that end of axis == 'now',
        // because otherwise one of the listeners might right away
        // disable scrolling
        scroll();
        final long scroll_period = scroll_step.toMillis();
        was_scrolling = scrolling.getAndSet(Activator.thread_pool.scheduleAtFixedRate(RTTimePlot.this::scroll, scroll_period, scroll_period, TimeUnit.MILLISECONDS));
    } else {
        // Other way around
        scroll_img.imageProperty().set(scroll_off);
        scroll.setTooltip(new Tooltip(Messages.Scroll_On_TT));
        was_scrolling = scrolling.getAndSet(null);
    }
    if (was_scrolling != null)
        was_scrolling.cancel(false);
}
Also used : Tooltip(javafx.scene.control.Tooltip)

Example 99 with Tooltip

use of javafx.scene.control.Tooltip in project FinalCrypt by ron-from-nl.

the class GUIFX method welcome.

private void welcome() {
    targetFCPathList = new FCPathList();
    updateDashboard(targetFCPathList);
    configuration = new Configuration(ui);
    version = new Version(ui);
    version.checkCurrentlyInstalledVersion(this);
    status("Welcome to " + Version.getProduct() + " " + version.getCurrentlyInstalledOverallVersionString() + "\r\n", false);
    log("Welcome to " + Version.getProduct() + " " + version.getCurrentlyInstalledOverallVersionString() + "\r\n");
    log("Copyright: " + Version.getCopyright() + " " + Version.getAuthor() + "\r\n");
    log("Email:     " + Version.getAuthorEmail() + "\r\n");
    log("Logfiles:  " + configuration.getLogDirPath().toString() + "\r\n");
    log("\r\n");
    log("Tip: FinalCrypt command line (DOS) usage:\r\n");
    log("java -cp FinalCrypt.jar rdj/CLUI --help\r\n");
    log("\r\n");
    copyrightLabel.setText("Copyright: " + Version.getCopyright() + " " + Version.getAuthor());
    // cpuIndicator
    Rectangle rect = new Rectangle(0, 0, 100, 100);
    Tooltip cpuIndicatorToolTip = new Tooltip("Process CPU Load");
    Tooltip.install(rect, cpuIndicatorToolTip);
    cpuIndicator.setTooltip(cpuIndicatorToolTip);
    // for: ProcessCpuLoad()
    // procCPULoadAttribute = "ProcessCpuLoad";
    mbs = ManagementFactory.getPlatformMBeanServer();
    try {
        name = ObjectName.getInstance("java.lang:type=OperatingSystem");
    } catch (MalformedObjectNameException | NullPointerException ex) {
        status(ex.getMessage(), true);
    }
    Timeline timeline = new Timeline(new KeyFrame(Duration.millis(200), ae -> cpuIndicator.setProgress(getProcessCpuLoad())));
    timeline.setCycleCount(Animation.INDEFINITE);
    timeline.play();
    Platform.runLater(new Runnable() {

        @Override
        public void run() {
            String title = "Welcome to " + Version.getProduct();
            String header = "Brief Introduction:";
            String infotext = "Step 1 Select items to en/decrypt on the left side.\r\n";
            infotext += "Step 2 Select personal cipher file on the right side.\r\n";
            infotext += "Step 3 Click [Encrypt] or [Decrypt] at the bottom left.\r\n";
            infotext += "\r\n";
            infotext += "That's it! Not hard right?\r\n";
            infotext += "\r\n";
            infotext += "Optional:\r\n";
            infotext += "\r\n";
            infotext += "Double click to open files.\r\n";
            infotext += "Click [LOG] to see details.\r\n";
            infotext += "Click [Check Update] sometimes.\r\n";
            infotext += "Tip:  Watch statusbar at bottom.\r\n";
            infotext += "Tip:  Make backups of your data.\r\n";
            infotext += "\r\n";
            infotext += "Live to love - Enjoy your privacy.\r\n\r\n";
            /*
                Linux: ${user.home}/.java/.userPrefs/_\!\(\)\!~\!\"q\!#4\!\[w\"_\!%k\!\[g\"\}\!#@\!\<\!\=\=/prefs.xml 
                
                For Windows systemRoot and userRoot are stored in HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Prefs and HKEY_CURRENT_USER\Software\JavaSoft\Prefs respectively.
                For Unix systemRoot and userRoot are stored in "/etc/.java" and "${user.home}/.java/.userPrefs", respectively.
                Note that for Unix the locations can be changed by specifying "java.util.prefs.userRoot" and "java.util.prefs.systemRoot" properties
                Mac OS X ~/Library/Preferences in multiple plist files.
                Mac OS X uses the java.util.prefs.MacOSXPreferencesFactory class. See lists.apple.com/archives/java-dev/2010/Jul/msg00056.html 
                the java.util.prefs.MacOSXPreferencesFactory class should be in rt.jar in JDK 1.7 or later.
                See hg.openjdk.java.net/macosx-port/macosx-port/jdk/file/… for the source code.
                JDK 8 all the items in java.util.prefs:                 
*/
            Preferences prefs = Preferences.userRoot().node(this.getClass().getName());
            // if no val then "Unknown" prefs location registry: HKEY_CURRENT_USER\Software\JavaSoft\Prefs
            String val = prefs.get("Hide Intro", "Unknown");
            if (!val.equals("Yes")) {
                Alert alert = introAlert(AlertType.INFORMATION, title, header, infotext, "Don't show again", param -> prefs.put("Hide Intro", param ? "Yes" : "No"), ButtonType.OK);
                if (alert.showAndWait().filter(t -> t == ButtonType.OK).isPresent()) {
                }
            }
        }
    });
    Alert alert = new Alert(AlertType.INFORMATION);
    // Style the Alert
    DialogPane dialogPane = alert.getDialogPane();
    dialogPane.getStylesheets().add(getClass().getResource("myInfoAlerts.css").toExternalForm());
    dialogPane.getStyleClass().add("myDialog");
// alert.setTitle("Info");
// alert.setHeaderText("Welcome");
// alert.setResizable(true);
// String infotext = new String();
// infotext  = "Welcome.\r\n";
// alert.setContentText(infotext);
// alert.setOnShowing(new EventHandler<DialogEvent>()
// {
// @Override
// public void handle(DialogEvent event)
// {
// //              JavaFX Delay Timer to prevent not on application thread error
// Timeline timeline = new Timeline(new KeyFrame( Duration.millis(1000), ae ->
// alert.close()
// )); timeline.play();
// }
// });
// alert.showAndWait();
}
Also used : Button(javafx.scene.control.Button) Initializable(javafx.fxml.Initializable) URL(java.net.URL) URISyntaxException(java.net.URISyntaxException) JToggleButton(javax.swing.JToggleButton) Timer(java.util.Timer) Application(javafx.application.Application) Parent(javafx.scene.Parent) TabPane(javafx.scene.control.TabPane) AlertType(javafx.scene.control.Alert.AlertType) Locale(java.util.Locale) URI(java.net.URI) JFileChooser(javax.swing.JFileChooser) TimerTask(java.util.TimerTask) Path(java.nio.file.Path) ReflectionException(javax.management.ReflectionException) Alert(javafx.scene.control.Alert) Font(java.awt.Font) Predicate(java.util.function.Predicate) StandardOpenOption(java.nio.file.StandardOpenOption) Event(javafx.event.Event) Rectangle(javafx.scene.shape.Rectangle) Timeline(javafx.animation.Timeline) ObjectName(javax.management.ObjectName) Group(javafx.scene.Group) Component(java.awt.Component) Collectors(java.util.stream.Collectors) Platform(javafx.application.Platform) FXML(javafx.fxml.FXML) MalformedObjectNameException(javax.management.MalformedObjectNameException) List(java.util.List) Duration(javafx.util.Duration) ToggleButton(javafx.scene.control.ToggleButton) Scene(javafx.scene.Scene) TextArea(javafx.scene.control.TextArea) ButtonType(javafx.scene.control.ButtonType) FileNameExtensionFilter(javax.swing.filechooser.FileNameExtensionFilter) MouseEvent(javafx.scene.input.MouseEvent) AttributeList(javax.management.AttributeList) ArrayList(java.util.ArrayList) LinkOption(java.nio.file.LinkOption) ProgressBar(javafx.scene.control.ProgressBar) Calendar(java.util.Calendar) ResourceBundle(java.util.ResourceBundle) FXMLLoader(javafx.fxml.FXMLLoader) Attribute(javax.management.Attribute) MBeanServer(javax.management.MBeanServer) Container(java.awt.Container) ManagementFactory(java.lang.management.ManagementFactory) Tooltip(javafx.scene.control.Tooltip) Animation(javafx.animation.Animation) InstanceNotFoundException(javax.management.InstanceNotFoundException) GridPane(javafx.scene.layout.GridPane) Desktop(java.awt.Desktop) ProgressIndicator(javafx.scene.control.ProgressIndicator) Color(javafx.scene.paint.Color) KeyFrame(javafx.animation.KeyFrame) Label(javafx.scene.control.Label) JButton(javax.swing.JButton) Files(java.nio.file.Files) Node(javafx.scene.Node) CheckBox(javafx.scene.control.CheckBox) IOException(java.io.IOException) FileFilter(javax.swing.filechooser.FileFilter) File(java.io.File) Preferences(java.util.prefs.Preferences) Consumer(java.util.function.Consumer) ActionEvent(javafx.event.ActionEvent) DialogPane(javafx.scene.control.DialogPane) Stage(javafx.stage.Stage) Tab(javafx.scene.control.Tab) PlatformImpl(com.sun.javafx.application.PlatformImpl) SwingNode(javafx.embed.swing.SwingNode) MalformedObjectNameException(javax.management.MalformedObjectNameException) Tooltip(javafx.scene.control.Tooltip) Rectangle(javafx.scene.shape.Rectangle) DialogPane(javafx.scene.control.DialogPane) Timeline(javafx.animation.Timeline) KeyFrame(javafx.animation.KeyFrame) Alert(javafx.scene.control.Alert) Preferences(java.util.prefs.Preferences)

Example 100 with Tooltip

use of javafx.scene.control.Tooltip in project org.csstudio.display.builder by kasemir.

the class PropertyPanelSection method bindSimplePropertyField.

/**
 * Some 'simple' properties are handled
 *  in static method to allow use in the
 *  RulesDialog
 *  @param undo
 *  @param bindings
 *  @param property
 *  @param other
 *  @return
 */
public static Node bindSimplePropertyField(final UndoableActionManager undo, final List<WidgetPropertyBinding<?, ?>> bindings, final WidgetProperty<?> property, final List<Widget> other) {
    final Widget widget = property.getWidget();
    Node field = null;
    if (property.isReadonly()) {
        // If "Type", use a label with an icon.
        if (property.getName().equals(CommonWidgetProperties.propType.getName())) {
            final String type = widget.getType();
            try {
                final Image image = new Image(WidgetFactory.getInstance().getWidgetDescriptor(type).getIconStream());
                final ImageView icon = new ImageView(image);
                final String name = WidgetFactory.getInstance().getWidgetDescriptor(type).getName();
                field = new Label(name, icon);
            } catch (Exception ex) {
                // Some widgets have no icon (e.g. DisplayModel).
                field = new Label(String.valueOf(property.getValue()));
            }
        } else {
            final TextField text = new TextField();
            text.setText(String.valueOf(property.getValue()));
            text.setDisable(true);
            field = text;
        }
    } else if (property instanceof ColorWidgetProperty) {
        final ColorWidgetProperty color_prop = (ColorWidgetProperty) property;
        final WidgetColorPropertyField color_field = new WidgetColorPropertyField();
        final WidgetColorPropertyBinding binding = new WidgetColorPropertyBinding(undo, color_field, color_prop, other);
        bindings.add(binding);
        binding.bind();
        field = color_field;
    } else if (property instanceof FontWidgetProperty) {
        final FontWidgetProperty font_prop = (FontWidgetProperty) property;
        final Button font_field = new Button();
        font_field.setMaxWidth(Double.MAX_VALUE);
        final WidgetFontPropertyBinding binding = new WidgetFontPropertyBinding(undo, font_field, font_prop, other);
        bindings.add(binding);
        binding.bind();
        field = font_field;
    } else if (property instanceof EnumWidgetProperty<?>) {
        final EnumWidgetProperty<?> enum_prop = (EnumWidgetProperty<?>) property;
        final ComboBox<String> combo = new ComboBox<>();
        combo.setPromptText(property.getDefaultValue().toString());
        combo.getItems().addAll(enum_prop.getLabels());
        combo.setMaxWidth(Double.MAX_VALUE);
        combo.setMaxHeight(Double.MAX_VALUE);
        final ToggleButton macroButton = new ToggleButton("$");
        try {
            macroButton.setGraphic(new ImageView(new Image(ResourceUtil.openPlatformResource("platform:/plugin/org.csstudio.display.builder.editor/icons/macro-edit.png"))));
        } catch (Exception ex) {
            logger.log(Level.WARNING, "Cannot load macro edit image.", ex);
        }
        macroButton.getStyleClass().add("macro_button");
        macroButton.setTooltip(new Tooltip(Messages.MacroEditButton));
        BorderPane.setMargin(macroButton, new Insets(0, 0, 0, 3));
        BorderPane.setAlignment(macroButton, Pos.CENTER);
        final EnumWidgetPropertyBinding binding = new EnumWidgetPropertyBinding(undo, combo, enum_prop, other);
        bindings.add(binding);
        binding.bind();
        final EventHandler<ActionEvent> macro_handler = event -> {
            final boolean use_macro = macroButton.isSelected() || MacroHandler.containsMacros(enum_prop.getSpecification());
            combo.setEditable(use_macro);
            // now that the combo has become editable.
            if (use_macro && combo.getEditor().getText().isEmpty())
                binding.restore();
        };
        macroButton.setOnAction(macro_handler);
        macroButton.setSelected(MacroHandler.containsMacros(enum_prop.getSpecification()));
        macro_handler.handle(null);
        field = new BorderPane(combo, null, macroButton, null, null);
        // When used in RulesDialog, field can get focus.
        // In that case, forward focus to combo
        field.focusedProperty().addListener((ob, o, focused) -> {
            if (focused) {
                combo.requestFocus();
                if (combo.isEditable())
                    combo.getEditor().selectAll();
            }
        });
    } else if (property instanceof BooleanWidgetProperty) {
        final BooleanWidgetProperty bool_prop = (BooleanWidgetProperty) property;
        final ComboBox<String> combo = new ComboBox<>();
        combo.setPromptText(property.getDefaultValue().toString());
        combo.getItems().addAll("true", "false");
        combo.setMaxWidth(Double.MAX_VALUE);
        combo.setMaxHeight(Double.MAX_VALUE);
        combo.setEditable(true);
        // BooleanWidgetPropertyBinding makes either check or combo visible
        // for plain boolean vs. macro-based value
        final CheckBox check = new CheckBox();
        StackPane.setAlignment(check, Pos.CENTER_LEFT);
        final ToggleButton macroButton = new ToggleButton("$");
        try {
            macroButton.setGraphic(new ImageView(new Image(ResourceUtil.openPlatformResource("platform:/plugin/org.csstudio.display.builder.editor/icons/macro-edit.png"))));
        } catch (Exception ex) {
            logger.log(Level.WARNING, "Cannot load macro edit image.", ex);
        }
        macroButton.getStyleClass().add("macro_button");
        macroButton.setTooltip(new Tooltip(Messages.MacroEditButton));
        BorderPane.setMargin(macroButton, new Insets(0, 0, 0, 3));
        BorderPane.setAlignment(macroButton, Pos.CENTER);
        final BooleanWidgetPropertyBinding binding = new BooleanWidgetPropertyBinding(undo, check, combo, macroButton, bool_prop, other);
        bindings.add(binding);
        binding.bind();
        field = new BorderPane(new StackPane(combo, check), null, macroButton, null, null);
        // For RulesDialog, see above
        field.focusedProperty().addListener((ob, o, focused) -> {
            if (focused) {
                if (combo.isVisible()) {
                    combo.requestFocus();
                    combo.getEditor().selectAll();
                } else if (check.isVisible())
                    check.requestFocus();
            }
        });
    } else if (property instanceof ColorMapWidgetProperty) {
        final ColorMapWidgetProperty colormap_prop = (ColorMapWidgetProperty) property;
        final Button map_button = new Button();
        map_button.setMaxWidth(Double.MAX_VALUE);
        final ColorMapPropertyBinding binding = new ColorMapPropertyBinding(undo, map_button, colormap_prop, other);
        bindings.add(binding);
        binding.bind();
        field = map_button;
    } else if (property instanceof WidgetClassProperty) {
        final WidgetClassProperty widget_class_prop = (WidgetClassProperty) property;
        final ComboBox<String> combo = new ComboBox<>();
        combo.setPromptText(property.getDefaultValue().toString());
        combo.setEditable(true);
        // List classes of this widget
        final String type = widget.getType();
        final Collection<String> classes = WidgetClassesService.getWidgetClasses().getWidgetClasses(type);
        combo.getItems().addAll(classes);
        combo.setMaxWidth(Double.MAX_VALUE);
        final WidgetClassBinding binding = new WidgetClassBinding(undo, combo, widget_class_prop, other);
        bindings.add(binding);
        binding.bind();
        field = combo;
    } else if (property instanceof FilenameWidgetProperty) {
        final FilenameWidgetProperty file_prop = (FilenameWidgetProperty) property;
        final TextField text = new TextField();
        text.setPromptText(file_prop.getDefaultValue().toString());
        text.setMaxWidth(Double.MAX_VALUE);
        final Button select_file = new Button("...");
        select_file.setOnAction(event -> {
            try {
                final String filename = FilenameSupport.promptForRelativePath(widget, file_prop.getValue());
                if (filename != null)
                    undo.execute(new SetMacroizedWidgetPropertyAction(file_prop, filename));
            } catch (Exception ex) {
                logger.log(Level.WARNING, "Cannot prompt for " + file_prop, ex);
            }
        });
        final MacroizedWidgetPropertyBinding binding = new MacroizedWidgetPropertyBinding(undo, text, file_prop, other);
        bindings.add(binding);
        binding.bind();
        field = new HBox(text, select_file);
        HBox.setHgrow(text, Priority.ALWAYS);
        // For RulesDialog, see above
        field.focusedProperty().addListener((ob, o, focused) -> {
            if (focused)
                text.requestFocus();
        });
    } else if (property instanceof PVNameWidgetProperty) {
        final PVNameWidgetProperty pv_prop = (PVNameWidgetProperty) property;
        final TextField text = new TextField();
        text.setPromptText(pv_prop.getDefaultValue().toString());
        final MacroizedWidgetPropertyBinding binding = new MacroizedWidgetPropertyBinding(undo, text, pv_prop, other) {

            @Override
            public void bind() {
                super.bind();
                autocomplete_menu.attachField(text);
            }

            @Override
            public void unbind() {
                super.unbind();
                autocomplete_menu.removeField(text);
            }
        };
        bindings.add(binding);
        binding.bind();
        // Allow editing long PV names, including loc://text("Log text with newlines"),
        // in dialog
        final Button open_editor = new Button("...");
        open_editor.setOnAction(event -> {
            final MultiLineInputDialog dialog = new MultiLineInputDialog(pv_prop.getSpecification());
            DialogHelper.positionDialog(dialog, open_editor, -600, 0);
            final Optional<String> result = dialog.showAndWait();
            if (!result.isPresent())
                return;
            undo.execute(new SetMacroizedWidgetPropertyAction(pv_prop, result.get()));
            for (Widget w : other) {
                final MacroizedWidgetProperty<?> other_prop = (MacroizedWidgetProperty<?>) w.getProperty(pv_prop.getName());
                undo.execute(new SetMacroizedWidgetPropertyAction(other_prop, result.get()));
            }
        });
        field = new HBox(text, open_editor);
        HBox.setHgrow(text, Priority.ALWAYS);
        // For RulesDialog, see similar code elsewhere
        field.focusedProperty().addListener((ob, o, focused) -> {
            if (focused)
                text.requestFocus();
        });
    } else if (property instanceof MacroizedWidgetProperty) {
        // MacroizedWidgetProperty needs to be checked _after_ subclasses like PVNameWidgetProperty, FilenameWidgetProperty
        final MacroizedWidgetProperty<?> macro_prop = (MacroizedWidgetProperty<?>) property;
        final TextField text = new TextField();
        text.setPromptText(macro_prop.getDefaultValue().toString());
        final MacroizedWidgetPropertyBinding binding = new MacroizedWidgetPropertyBinding(undo, text, macro_prop, other);
        bindings.add(binding);
        binding.bind();
        if (CommonWidgetProperties.propText.getName().equals(property.getName()) || CommonWidgetProperties.propTooltip.getName().equals(property.getName())) {
            // Allow editing multi-line text in dialog
            final Button open_editor = new Button("...");
            open_editor.setOnAction(event -> {
                final MultiLineInputDialog dialog = new MultiLineInputDialog(macro_prop.getSpecification());
                DialogHelper.positionDialog(dialog, open_editor, -600, 0);
                final Optional<String> result = dialog.showAndWait();
                if (!result.isPresent())
                    return;
                undo.execute(new SetMacroizedWidgetPropertyAction(macro_prop, result.get()));
                for (Widget w : other) {
                    final MacroizedWidgetProperty<?> other_prop = (MacroizedWidgetProperty<?>) w.getProperty(macro_prop.getName());
                    undo.execute(new SetMacroizedWidgetPropertyAction(other_prop, result.get()));
                }
            });
            field = new HBox(text, open_editor);
            HBox.setHgrow(text, Priority.ALWAYS);
            // For RulesDialog, see above
            field.focusedProperty().addListener((ob, o, focused) -> {
                if (focused)
                    text.requestFocus();
            });
        } else
            field = text;
    } else if (property instanceof PointsWidgetProperty) {
        final PointsWidgetProperty points_prop = (PointsWidgetProperty) property;
        final Button points_field = new Button();
        points_field.setMaxWidth(Double.MAX_VALUE);
        final PointsPropertyBinding binding = new PointsPropertyBinding(undo, points_field, points_prop, other);
        bindings.add(binding);
        binding.bind();
        field = points_field;
    }
    return field;
}
Also used : EventHandler(javafx.event.EventHandler) Button(javafx.scene.control.Button) FilenameSupport(org.csstudio.display.builder.representation.javafx.FilenameSupport) HPos(javafx.geometry.HPos) Pos(javafx.geometry.Pos) UndoableActionManager(org.csstudio.display.builder.util.undo.UndoableActionManager) ScriptsWidgetProperty(org.csstudio.display.builder.model.properties.ScriptsWidgetProperty) SetMacroizedWidgetPropertyAction(org.csstudio.display.builder.editor.undo.SetMacroizedWidgetPropertyAction) StackPane(javafx.scene.layout.StackPane) MultiLineInputDialog(org.csstudio.javafx.MultiLineInputDialog) StructuredWidgetProperty(org.csstudio.display.builder.model.StructuredWidgetProperty) MacrosWidgetProperty(org.csstudio.display.builder.model.properties.MacrosWidgetProperty) ComboBox(javafx.scene.control.ComboBox) ResourceUtil(org.csstudio.display.builder.util.ResourceUtil) EnumWidgetProperty(org.csstudio.display.builder.model.properties.EnumWidgetProperty) WidgetProperty(org.csstudio.display.builder.model.WidgetProperty) BooleanWidgetProperty(org.csstudio.display.builder.model.properties.BooleanWidgetProperty) HBox(javafx.scene.layout.HBox) TextField(javafx.scene.control.TextField) Collection(java.util.Collection) WidgetClassProperty(org.csstudio.display.builder.model.properties.WidgetClassProperty) WidgetClassesService(org.csstudio.display.builder.model.persist.WidgetClassesService) Spinner(javafx.scene.control.Spinner) Messages(org.csstudio.display.builder.editor.Messages) CommonWidgetProperties(org.csstudio.display.builder.model.properties.CommonWidgetProperties) MacroizedWidgetProperty(org.csstudio.display.builder.model.MacroizedWidgetProperty) Separator(javafx.scene.control.Separator) Priority(javafx.scene.layout.Priority) List(java.util.List) ColorWidgetProperty(org.csstudio.display.builder.model.properties.ColorWidgetProperty) PointsWidgetProperty(org.csstudio.display.builder.model.properties.PointsWidgetProperty) ToggleButton(javafx.scene.control.ToggleButton) WidgetFactory(org.csstudio.display.builder.model.WidgetFactory) Optional(java.util.Optional) AutocompleteMenu(org.csstudio.display.builder.representation.javafx.AutocompleteMenu) BorderPane(javafx.scene.layout.BorderPane) PVNameWidgetProperty(org.csstudio.display.builder.model.properties.PVNameWidgetProperty) ColumnConstraints(javafx.scene.layout.ColumnConstraints) Plugin.logger(org.csstudio.display.builder.editor.Plugin.logger) FilenameWidgetProperty(org.csstudio.display.builder.model.properties.FilenameWidgetProperty) ArrayList(java.util.ArrayList) Level(java.util.logging.Level) RulesWidgetProperty(org.csstudio.display.builder.model.properties.RulesWidgetProperty) Insets(javafx.geometry.Insets) Tooltip(javafx.scene.control.Tooltip) GridPane(javafx.scene.layout.GridPane) ArrayWidgetProperty(org.csstudio.display.builder.model.ArrayWidgetProperty) Label(javafx.scene.control.Label) WidgetPropertyCategory(org.csstudio.display.builder.model.WidgetPropertyCategory) FontWidgetProperty(org.csstudio.display.builder.model.properties.FontWidgetProperty) Node(javafx.scene.Node) CheckBox(javafx.scene.control.CheckBox) ColorMapWidgetProperty(org.csstudio.display.builder.model.properties.ColorMapWidgetProperty) ActionsWidgetProperty(org.csstudio.display.builder.model.properties.ActionsWidgetProperty) ActionEvent(javafx.event.ActionEvent) MacroHandler(org.csstudio.display.builder.model.macros.MacroHandler) ImageView(javafx.scene.image.ImageView) DialogHelper(org.csstudio.javafx.DialogHelper) Widget(org.csstudio.display.builder.model.Widget) Image(javafx.scene.image.Image) BorderPane(javafx.scene.layout.BorderPane) HBox(javafx.scene.layout.HBox) Insets(javafx.geometry.Insets) PointsWidgetProperty(org.csstudio.display.builder.model.properties.PointsWidgetProperty) FontWidgetProperty(org.csstudio.display.builder.model.properties.FontWidgetProperty) Node(javafx.scene.Node) ColorMapWidgetProperty(org.csstudio.display.builder.model.properties.ColorMapWidgetProperty) Widget(org.csstudio.display.builder.model.Widget) Label(javafx.scene.control.Label) EventHandler(javafx.event.EventHandler) WidgetClassProperty(org.csstudio.display.builder.model.properties.WidgetClassProperty) Image(javafx.scene.image.Image) Button(javafx.scene.control.Button) ToggleButton(javafx.scene.control.ToggleButton) MultiLineInputDialog(org.csstudio.javafx.MultiLineInputDialog) TextField(javafx.scene.control.TextField) ImageView(javafx.scene.image.ImageView) StackPane(javafx.scene.layout.StackPane) ToggleButton(javafx.scene.control.ToggleButton) BooleanWidgetProperty(org.csstudio.display.builder.model.properties.BooleanWidgetProperty) Optional(java.util.Optional) ComboBox(javafx.scene.control.ComboBox) Tooltip(javafx.scene.control.Tooltip) FilenameWidgetProperty(org.csstudio.display.builder.model.properties.FilenameWidgetProperty) MacroizedWidgetProperty(org.csstudio.display.builder.model.MacroizedWidgetProperty) SetMacroizedWidgetPropertyAction(org.csstudio.display.builder.editor.undo.SetMacroizedWidgetPropertyAction) EnumWidgetProperty(org.csstudio.display.builder.model.properties.EnumWidgetProperty) CheckBox(javafx.scene.control.CheckBox) ColorWidgetProperty(org.csstudio.display.builder.model.properties.ColorWidgetProperty) PVNameWidgetProperty(org.csstudio.display.builder.model.properties.PVNameWidgetProperty)

Aggregations

Tooltip (javafx.scene.control.Tooltip)173 Button (javafx.scene.control.Button)61 Label (javafx.scene.control.Label)51 Insets (javafx.geometry.Insets)38 ImageView (javafx.scene.image.ImageView)34 VBox (javafx.scene.layout.VBox)32 List (java.util.List)31 TableColumn (javafx.scene.control.TableColumn)29 AutoTooltipLabel (bisq.desktop.components.AutoTooltipLabel)28 FXML (javafx.fxml.FXML)27 TableCell (javafx.scene.control.TableCell)27 ObservableList (javafx.collections.ObservableList)26 Node (javafx.scene.Node)26 TableView (javafx.scene.control.TableView)26 ArrayList (java.util.ArrayList)25 Inject (javax.inject.Inject)25 Res (bisq.core.locale.Res)24 FxmlView (bisq.desktop.common.view.FxmlView)23 HyperlinkWithIcon (bisq.desktop.components.HyperlinkWithIcon)23 Collectors (java.util.stream.Collectors)23