List of usage examples for javafx.scene.layout ColumnConstraints ColumnConstraints
public ColumnConstraints()
From source file:dsfixgui.view.DSPWPane.java
private void initialize() { //Basic layout this.setFitToWidth(true); spacerColumn = new ColumnConstraints(); spacerColumn.setFillWidth(true);//from w ww.j a v a 2 s . co m spacerColumn.setPercentWidth(3.0); primaryColumn = new ColumnConstraints(); primaryColumn.setFillWidth(true); primaryColumn.setPercentWidth(95.0); primaryPane = new GridPane(); primaryPane.getColumnConstraints().addAll(spacerColumn, primaryColumn); primaryVBox = new VBox(); primaryVBox.getStyleClass().add("spacing_15"); primaryPane.add(primaryVBox, 1, 0); titleLabel = new Label(DSPW_SHORT.toUpperCase() + " " + SETTINGS.toUpperCase()); titleLabel.getStyleClass().add("settings_title"); titleBar = new HBox(); titleBar.setAlignment(Pos.CENTER); titleBar.getChildren().add(titleLabel); restoreDefaultsBar = new HBox(); restoreDefaultsBar.setAlignment(Pos.CENTER); restoreDefaultsBar.setSpacing(5.0); applySettingsButton = new Button(APPLY_SETTINGS); restoreDefaultsButton = new Button(RESTORE_DEFAULTS); applySettingsButton.getStyleClass().add("translate_y_4"); restoreDefaultsButton.getStyleClass().add("translate_y_4"); restoreDefaultsBar.getChildren().addAll(applySettingsButton, restoreDefaultsButton); spacerHBox = new HBox(); spacerHBox.setMinHeight(10.0); bottomSpacerHBox = new HBox(); bottomSpacerHBox.setMinHeight(10.0); /////////////////////SETTINGS PANES///////////////////// // // //Version Banner versionBannerPane = new FlowPane(); versionBannerPane.getStyleClass().add("settings_pane"); versionBannerLabel = new Label(VERSION_LABEL); versionBannerLabel.getStyleClass().addAll("bold_text", "font_12_pt"); versionBannerLabel.setTooltip(new Tooltip(VERSION_TT)); versionBannerChoice = new ToggleGroup(); versionBannerOn = new RadioButton(ON_OFF[0] + " "); versionBannerOn.setToggleGroup(versionBannerChoice); versionBannerOff = new RadioButton(ON_OFF[1]); versionBannerOff.setToggleGroup(versionBannerChoice); if (config.ShowVersionBanner.toString().equals(TRUE_FALSE[0])) { versionBannerOn.setSelected(true); } else { versionBannerOff.setSelected(true); } versionBannerPane.getChildren().addAll(versionBannerLabel, versionBannerOn, versionBannerOff); // //Toggle Overlay overlayPane = new FlowPane(); overlayPane.getStyleClass().add("settings_pane"); overlayLabel = new Label(OVERLAY_LABEL); overlayLabel.getStyleClass().addAll("bold_text", "font_12_pt"); overlayLabel.setTooltip(new Tooltip(OVERLAY_TT)); overlayChoice = new ToggleGroup(); overlayOn = new RadioButton(ON_OFF[0] + " "); overlayOn.setToggleGroup(overlayChoice); overlayOff = new RadioButton(ON_OFF[1]); overlayOff.setToggleGroup(overlayChoice); if (config.ShowOverlay.toString().equals(TRUE_FALSE[0])) { overlayOn.setSelected(true); } else { overlayOff.setSelected(true); } overlayPane.getChildren().addAll(overlayLabel, overlayOn, overlayOff); // //Text Alignment textAlignmentPane = new FlowPane(); textAlignmentPane.getStyleClass().add("settings_pane"); textAlignmentLabel = new Label(TEXT_ALIGNMENT_LABEL); textAlignmentLabel.getStyleClass().addAll("bold_text", "font_12_pt"); textAlignmentLabel.setTooltip(new Tooltip(TEXT_ALIGNMENT_TT)); textAlignmentChoice = new ToggleGroup(); textAlignmentLeft = new RadioButton(DSPW_TEXT_ALIGNMENT_OPTIONS[0] + " "); textAlignmentLeft.setToggleGroup(textAlignmentChoice); textAlignmentCenter = new RadioButton(DSPW_TEXT_ALIGNMENT_OPTIONS[1]); textAlignmentCenter.setToggleGroup(textAlignmentChoice); textAlignmentRight = new RadioButton(DSPW_TEXT_ALIGNMENT_OPTIONS[2]); textAlignmentRight.setToggleGroup(textAlignmentChoice); if (config.TextAlignment.toString().equals(DSPW_TEXT_ALIGNMENT_OPTIONS[0])) { textAlignmentLeft.setSelected(true); } else if (config.TextAlignment.toString().equals(DSPW_TEXT_ALIGNMENT_OPTIONS[1])) { textAlignmentCenter.setSelected(true); } else { textAlignmentRight.setSelected(true); } textAlignmentPane.getChildren().addAll(textAlignmentLabel, textAlignmentLeft, textAlignmentCenter, textAlignmentRight); // //Invasion Notification Sound invasionNotifPane = new FlowPane(); invasionNotifPane.getStyleClass().add("settings_pane"); invasionNotifLabel = new Label(INVASION_NOTIF_LABEL); invasionNotifLabel.getStyleClass().addAll("bold_text", "font_12_pt"); invasionNotifLabel.setTooltip(new Tooltip(INVASION_NOTIF_TT)); invasionNotifChoice = new ToggleGroup(); invasionNotifOn = new RadioButton(ON_OFF[0] + " "); invasionNotifOn.setToggleGroup(invasionNotifChoice); invasionNotifOff = new RadioButton(ON_OFF[1]); invasionNotifOff.setToggleGroup(invasionNotifChoice); if (config.InvasionSoundNotification.toString().equals(TRUE_FALSE[0])) { invasionNotifOn.setSelected(true); } else { invasionNotifOff.setSelected(true); } invasionNotifPane.getChildren().addAll(invasionNotifLabel, invasionNotifOn, invasionNotifOff); // //Cheater Notification Sound cheaterNotifPane = new FlowPane(); cheaterNotifPane.getStyleClass().add("settings_pane"); cheaterNotifLabel = new Label(CHEATER_NOTIF_LABEL); cheaterNotifLabel.getStyleClass().addAll("bold_text", "font_12_pt"); cheaterNotifLabel.setTooltip(new Tooltip(CHEATER_NOTIF_TT)); cheaterNotifChoice = new ToggleGroup(); cheaterNotifOn = new RadioButton(ON_OFF[0] + " "); cheaterNotifOn.setToggleGroup(cheaterNotifChoice); cheaterNotifOff = new RadioButton(ON_OFF[1]); cheaterNotifOff.setToggleGroup(cheaterNotifChoice); if (config.CheaterSoundNotification.toString().equals(TRUE_FALSE[0])) { cheaterNotifOn.setSelected(true); } else { cheaterNotifOff.setSelected(true); } cheaterNotifPane.getChildren().addAll(cheaterNotifLabel, cheaterNotifOn, cheaterNotifOff); // //Block Arena Freeze blockArenaFreezePane = new FlowPane(); blockArenaFreezePane.getStyleClass().add("settings_pane"); blockArenaFreezeLabel = new Label(BLOCK_ARENA_FREEZE_LABEL); blockArenaFreezeLabel.getStyleClass().addAll("bold_text", "font_12_pt"); blockArenaFreezeLabel.setTooltip(new Tooltip(BLOCK_ARENA_FREEZE_TT)); blockArenaFreezeChoice = new ToggleGroup(); blockArenaFreezeOn = new RadioButton(BLOCK_FREEZE_CHOICES[0] + " "); blockArenaFreezeOn.setToggleGroup(blockArenaFreezeChoice); blockArenaFreezeOff = new RadioButton(BLOCK_FREEZE_CHOICES[1]); blockArenaFreezeOff.setToggleGroup(blockArenaFreezeChoice); if (config.BlockArenaFreeze.toString().equals(TRUE_FALSE[0])) { blockArenaFreezeOn.setSelected(true); } else { blockArenaFreezeOff.setSelected(true); } blockArenaFreezePane.getChildren().addAll(blockArenaFreezeLabel, blockArenaFreezeOn, blockArenaFreezeOff); // //Show Node Count nodeCountPane = new FlowPane(); nodeCountPane.getStyleClass().add("settings_pane"); nodeCountLabel = new Label(NODE_COUNT_LABEL); nodeCountLabel.getStyleClass().addAll("bold_text", "font_12_pt"); nodeCountLabel.setTooltip(new Tooltip(NODE_COUNT_TT)); nodeCountChoice = new ToggleGroup(); nodeCountOn = new RadioButton(ON_OFF[0] + " "); nodeCountOn.setToggleGroup(nodeCountChoice); nodeCountOff = new RadioButton(ON_OFF[1]); nodeCountOff.setToggleGroup(nodeCountChoice); if (config.ShowNodeDbCount.toString().equals(TRUE_FALSE[0])) { nodeCountOn.setSelected(true); } else { nodeCountOff.setSelected(true); } nodeCountPane.getChildren().addAll(nodeCountLabel, nodeCountOn, nodeCountOff); // //Increase Node Limit increaseNodesPane = new FlowPane(); increaseNodesPane.getStyleClass().add("settings_pane"); increaseNodesLabel = new Label(INCREASE_NODES_LABEL); increaseNodesLabel.getStyleClass().addAll("bold_text", "font_12_pt"); increaseNodesLabel.setTooltip(new Tooltip(INCREASE_NODES_TT)); increaseNodesChoice = new ToggleGroup(); increaseNodesOn = new RadioButton(ON_OFF[0] + " "); increaseNodesOn.setToggleGroup(increaseNodesChoice); increaseNodesOff = new RadioButton(ON_OFF[1]); increaseNodesOff.setToggleGroup(increaseNodesChoice); if (config.IncreaseNodeDbLimit.toString().equals(TRUE_FALSE[0])) { increaseNodesOn.setSelected(true); } else { increaseNodesOff.setSelected(true); } increaseNodesPane.getChildren().addAll(increaseNodesLabel, increaseNodesOn, increaseNodesOff); // //Font Size fontSizePane = new FlowPane(); fontSizePane.getStyleClass().add("settings_pane"); fontSizeLabel = new Label(FONT_SIZE_LABEL + " "); fontSizeLabel.setTooltip(new Tooltip(FONT_SIZE_TT)); fontSizeLabel.getStyleClass().addAll("bold_text", "font_12_pt"); fontSizeField = new TextField("" + config.FontSize.toString()); fontSizeField.getStyleClass().add("settings_text_field"); fontSizeField.setTooltip(new Tooltip(FONT_SIZE_FIELD_TT)); fontSizePane.getChildren().addAll(fontSizeLabel, fontSizeField); // //Toggle Date datePane = new FlowPane(); datePane.getStyleClass().add("settings_pane"); dateLabel = new Label(DATE_LABEL); dateLabel.getStyleClass().addAll("bold_text", "font_12_pt"); dateLabel.setTooltip(new Tooltip(DATE_TT)); dateChoice = new ToggleGroup(); dateOn = new RadioButton(ON_OFF[0] + " "); dateOn.setToggleGroup(dateChoice); dateOff = new RadioButton(ON_OFF[1]); dateOff.setToggleGroup(dateChoice); if (config.DisplayDate.toString().equals(TRUE_FALSE[0])) { dateOn.setSelected(true); } else { dateOff.setSelected(true); } datePane.getChildren().addAll(dateLabel, dateOn, dateOff); // //Toggle Time timePane = new FlowPane(); timePane.getStyleClass().add("settings_pane"); timeLabel = new Label(TIME_LABEL); timeLabel.getStyleClass().addAll("bold_text", "font_12_pt"); timeLabel.setTooltip(new Tooltip(TIME_TT)); timeChoice = new ToggleGroup(); timeOn = new RadioButton(ON_OFF[0] + " "); timeOn.setToggleGroup(timeChoice); timeOff = new RadioButton(ON_OFF[1]); timeOff.setToggleGroup(timeChoice); if (config.DisplayClock.toString().equals(TRUE_FALSE[0])) { timeOn.setSelected(true); } else { timeOff.setSelected(true); } timePane.getChildren().addAll(timeLabel, timeOn, timeOff); // //Check for Updates updatePane = new FlowPane(); updatePane.getStyleClass().add("settings_pane"); updateLabel = new Label(UPDATE_LABEL); updateLabel.getStyleClass().addAll("bold_text", "font_12_pt"); updateLabel.setTooltip(new Tooltip(UPDATE_TT)); updateChoice = new ToggleGroup(); updateOn = new RadioButton(ON_OFF[0] + " "); updateOn.setToggleGroup(updateChoice); updateOff = new RadioButton(ON_OFF[1]); updateOff.setToggleGroup(updateChoice); if (config.CheckForUpdates.toString().equals(TRUE_FALSE[0])) { updateOn.setSelected(true); } else { updateOff.setSelected(true); } updatePane.getChildren().addAll(updateLabel, updateOn, updateOff); // //DLL Chaining dllChainPane = new FlowPane(); dllChainPane.getStyleClass().add("settings_pane"); dllChainLabel = new Label(DLL_CHAIN_LABEL + " "); dllChainLabel.getStyleClass().addAll("bold_text", "font_12_pt"); dllChainLabel.setTooltip(new Tooltip(DSPW_DLL_CHAIN_TT)); dllChainField = new TextField(); dllChainField.setEditable(false); dllChainButton = new Button("..."); dllChainButton.setTooltip(new Tooltip(DLL_CHAIN_TOOLTIP)); noChainButton = new Button(NO_CHAIN_BT); if (config.d3d9dllWrapper.toString().equals(NONE)) { noChainButton.setDisable(true); dllChainField.setStyle("-fx-text-fill: gray;"); } else { noChainButton.setDisable(false); } dllChainField.setText(config.d3d9dllWrapper.toString()); dllChainPane.getChildren().addAll(dllChainLabel, dllChainField, dllChainButton, noChainButton); // // // ////////////////////////////////// ///////////Key Bindings/////////// ////////////////////////////////// // // //Keybinds Parent Label keybindsPane = new FlowPane(); keybindsPane.getStyleClass().add("settings_pane"); keybindsLabel = new Label(KEYBINDS_LABEL); keybindsLabel.getStyleClass().addAll("bold_text", "font_14_pt"); keybindsPane.getChildren().add(keybindsLabel); // //Ban Phantom banPane = new FlowPane(); banPane.getStyleClass().add("settings_pane"); banLabel = new Label(BAN_LABEL + " "); banLabel.getStyleClass().addAll("bold_text", "font_12_pt"); banPicker = new ComboBox(keybinds); banPicker.setValue(keybinds.get(keybindsHex.indexOf(config.key_BanPhantom.toString()))); banPane.getChildren().addAll(banLabel, banPicker); // //Ignore Phantom ignorePane = new FlowPane(); ignorePane.getStyleClass().add("settings_pane"); ignoreLabel = new Label(IGNORE_LABEL + " "); ignoreLabel.getStyleClass().addAll("bold_text", "font_12_pt"); ignorePicker = new ComboBox(keybinds); ignorePicker.setValue(keybinds.get(keybindsHex.indexOf(config.key_IgnorePhantom.toString()))); ignorePane.getChildren().addAll(ignoreLabel, ignorePicker); // //Toggle Overlay toggleOverlayPane = new FlowPane(); toggleOverlayPane.getStyleClass().add("settings_pane"); toggleOverlayLabel = new Label(TOGGLE_OVERLAY_LABEL + " "); toggleOverlayLabel.getStyleClass().addAll("bold_text", "font_12_pt"); toggleOverlayPicker = new ComboBox(keybinds); toggleOverlayPicker.setValue(keybinds.get(keybindsHex.indexOf(config.key_HideOverlay.toString()))); toggleOverlayPane.getChildren().addAll(toggleOverlayLabel, toggleOverlayPicker); // //About Dark Souls PvP Watchdog aboutPane = new FlowPane(); aboutPane.getStyleClass().add("settings_pane"); aboutLabel = new Label(ABOUT_DSPW_LABEL + " "); aboutLabel.getStyleClass().addAll("bold_text", "font_12_pt"); aboutPicker = new ComboBox(keybinds); aboutPicker.setValue(keybinds.get(keybindsHex.indexOf(config.key_AboutDSPW.toString()))); aboutPane.getChildren().addAll(aboutLabel, aboutPicker); primaryVBox.getChildren().addAll(titleBar, restoreDefaultsBar, spacerHBox, versionBannerPane, overlayPane, textAlignmentPane, invasionNotifPane, cheaterNotifPane, blockArenaFreezePane, nodeCountPane, increaseNodesPane, fontSizePane, datePane, timePane, updatePane, dllChainPane, keybindsPane, banPane, ignorePane, toggleOverlayPane, aboutPane, bottomSpacerHBox); initializeEventHandlers(); this.setContent(primaryPane); }
From source file:dsfixgui.view.DSFGraphicsPane.java
private void initialize() { //Basic layout this.setFitToWidth(true); spacerColumn = new ColumnConstraints(); spacerColumn.setFillWidth(true);//from w w w .j a v a 2 s .c o m spacerColumn.setPercentWidth(3.0); primaryColumn = new ColumnConstraints(); primaryColumn.setFillWidth(true); primaryColumn.setPercentWidth(95.0); primaryPane = new GridPane(); primaryPane.getColumnConstraints().addAll(spacerColumn, primaryColumn); primaryVBox = new VBox(); primaryVBox.getStyleClass().add("spacing_15"); primaryPane.add(primaryVBox, 1, 0); titleLabel = new Label(GRAPHICS.toUpperCase() + " " + SETTINGS.toUpperCase()); titleLabel.getStyleClass().add("settings_title"); titleBar = new HBox(); titleBar.setAlignment(Pos.CENTER); titleBar.getChildren().add(titleLabel); restoreDefaultsBar = new HBox(); restoreDefaultsBar.setAlignment(Pos.CENTER); restoreDefaultsBar.setSpacing(5.0); applySettingsButton = new Button(APPLY_SETTINGS); restoreDefaultsButton = new Button(RESTORE_DEFAULTS); applySettingsButton.getStyleClass().add("translate_y_4"); restoreDefaultsButton.getStyleClass().add("translate_y_4"); restoreDefaultsBar.getChildren().addAll(applySettingsButton, restoreDefaultsButton); spacerHBox = new HBox(); spacerHBox.setMinHeight(10.0); bottomSpacerHBox = new HBox(); bottomSpacerHBox.setMinHeight(10.0); /////////////////////SETTINGS PANES///////////////////// // // // //MAIN GRAPHICS OPTIONS // //Render resolution renderResPane = new FlowPane(); renderResPane.getStyleClass().add("settings_pane"); renderResLabel = new Label(RENDER_RES_LABEL + " "); renderResLabel.getStyleClass().addAll("bold_text", "font_12_pt"); renderResLabel.setTooltip(new Tooltip(RENDER_RES_TT)); renderWidthLabel = new Label(WIDTH_HEIGHT[0] + ":"); renderWidthField = new TextField(""); renderWidthField.appendText("" + config.getRenderWidth()); renderWidthField.getStyleClass().add("settings_text_field"); renderHeightLabel = new Label(" " + WIDTH_HEIGHT[1] + ":"); renderHeightField = new TextField(""); renderHeightField.appendText("" + config.getRenderHeight()); renderHeightField.getStyleClass().add("settings_text_field"); setWindowsRenderRes = new Button(USE_WINDOWS_RES); renderResPane.getChildren().addAll(renderResLabel, renderWidthLabel, renderWidthField, renderHeightLabel, renderHeightField, setWindowsRenderRes); // //Present Resolution presentResPane = new FlowPane(); presentResPane.getStyleClass().add("settings_pane"); presentResLabel = new Label(PRESENT_RES_LABEL + " "); presentResLabel.getStyleClass().addAll("bold_text", "font_12_pt"); presentResLabel.setTooltip(new Tooltip(PRESENT_RES_TT)); presentResSpacer = new HBox(); presentResSpacer.setMinWidth(3); presentWidthLabel = new Label(WIDTH_HEIGHT[0] + ":"); presentWidthField = new TextField(""); presentWidthField.appendText(config.getPresentWidth() + ""); presentRes[0] = config.getPresentWidth() + ""; presentWidthField.getStyleClass().add("settings_text_field"); presentHeightLabel = new Label(" " + WIDTH_HEIGHT[1] + ":"); presentHeightField = new TextField(""); presentHeightField.appendText(config.getPresentHeight() + ""); presentRes[1] = config.getPresentHeight() + ""; presentHeightField.getStyleClass().add("settings_text_field"); setWindowsPresentRes = new Button(USE_WINDOWS_RES); presentResSpacer2 = new HBox(); presentResSpacer2.setMinWidth(5); presentResChoice = new ToggleGroup(); usePresentRes = new RadioButton(USE_PRESENT_RES + " "); usePresentRes.setToggleGroup(presentResChoice); dontUsePresentRes = new RadioButton(DONT_USE_PRES_RES); dontUsePresentRes.setToggleGroup(presentResChoice); //Check if presentRes is off if (config.getPresentWidth() == 0 && config.getPresentHeight() == 0) { presentWidthField.setDisable(true); presentHeightField.setDisable(true); setWindowsPresentRes.setDisable(true); dontUsePresentRes.setSelected(true); } else { presentWidthField.setDisable(false); presentWidthField.setText("" + config.getPresentWidth()); presentHeightField.setDisable(false); presentHeightField.setText("" + config.getPresentHeight()); setWindowsPresentRes.setDisable(false); usePresentRes.setSelected(true); recheckTextInput(presentWidthField); recheckTextInput(presentHeightField); } presentResPane.getChildren().addAll(presentResLabel, presentResSpacer, presentWidthLabel, presentWidthField, presentHeightLabel, presentHeightField, setWindowsPresentRes, presentResSpacer2, usePresentRes, dontUsePresentRes); // // // //ANTIALIASING OPTIONS // //AA Quality aaQualityPane = new FlowPane(); aaQualityPane.getStyleClass().add("settings_pane"); aaQualityLabel = new Label(AA_QUALITY_LABEL + " "); aaQualityLabel.getStyleClass().addAll("bold_text", "font_12_pt"); aaQualityLabel.setTooltip(new Tooltip(AA_QUALITY_TT)); aaQualityPicker = new ComboBox(FXCollections.observableArrayList(AAQUALITIES)); aaQualityPicker.setValue(AAQUALITIES[config.aaQuality.get()]); aaQualityPane.getChildren().addAll(aaQualityLabel, aaQualityPicker); // //AA Type aaTypePane = new FlowPane(); aaTypePane.getStyleClass().add("settings_pane"); aaTypeLabel = new Label(AA_TYPE_LABEL + " "); aaTypeLabel.getStyleClass().addAll("bold_text", "font_12_pt"); aaTypeLabel.setTooltip(new Tooltip(AA_TYPE_TT)); aaTypePicker = new ComboBox(FXCollections.observableArrayList(AATYPES)); aaTypePicker.setValue(config.aaType.toString()); if (config.aaQuality.get() == 0) { aaTypePicker.setDisable(true); } aaTypePane.getChildren().addAll(aaTypeLabel, aaTypePicker); // // // //AMBIENT OCCLUSION OPTIONS // //SSAO Strength ssaoStrengthPane = new FlowPane(); ssaoStrengthPane.getStyleClass().add("settings_pane"); ssaoStrengthLabel = new Label(SSAO_STRENGTH_LABEL + " "); ssaoStrengthLabel.getStyleClass().addAll("bold_text", "font_12_pt"); ssaoStrengthLabel.setTooltip(new Tooltip(SSAO_STRENGTH_TT)); ssaoStrengthPicker = new ComboBox(FXCollections.observableArrayList(SSAOSTRENGTHS)); ssaoStrengthPicker.setValue(SSAOSTRENGTHS[config.ssaoStrength.get()]); ssaoStrengthPane.getChildren().addAll(ssaoStrengthLabel, ssaoStrengthPicker); // //SSAO Scale ssaoScalePane = new FlowPane(); ssaoScalePane.getStyleClass().add("settings_pane"); ssaoScaleLabel = new Label(SSAO_SCALE_LABEL + " "); ssaoScaleLabel.getStyleClass().addAll("bold_text", "font_12_pt"); ssaoScaleLabel.setTooltip(new Tooltip(SSAO_SCALE_TT)); ssaoScalePicker = new ComboBox(FXCollections.observableArrayList(SSAOSCALES)); ssaoScalePicker.setValue(SSAOSCALES[config.ssaoScale.get() - 1]); if (config.ssaoStrength.get() == 0) { ssaoScalePicker.setDisable(true); } ssaoScalePane.getChildren().addAll(ssaoScaleLabel, ssaoScalePicker); // //SSAO Type ssaoTypePane = new FlowPane(); ssaoTypePane.getStyleClass().add("settings_pane"); ssaoTypeLabel = new Label(SSAO_TYPE_LABEL + " "); ssaoTypeLabel.setTooltip(new Tooltip(SSAO_TYPE_TT)); ssaoTypeLabel.getStyleClass().addAll("bold_text", "font_12_pt"); ssaoTypePicker = new ComboBox(FXCollections.observableArrayList(SSAOTYPES)); ssaoTypePicker.setValue(config.ssaoType.toString()); if (config.ssaoStrength.get() == 0) { ssaoTypePicker.setDisable(true); } ssaoTypePane.getChildren().addAll(ssaoTypeLabel, ssaoTypePicker); // // // //DEPTH OF FIELD OPTIONS // //DOF Override Resolution dofOverridePane = new FlowPane(); dofOverridePane.getStyleClass().add("settings_pane"); dofOverrideLabel = new Label(DOF_OVERRIDE_LABEL + " "); dofOverrideLabel.getStyleClass().addAll("bold_text", "font_12_pt"); dofOverrideLabel.setTooltip(new Tooltip(DOF_OVERRIDE_TT)); dofOverridePicker = new ComboBox(FXCollections.observableArrayList(DOFOVERRIDERESOLUTIONS)); for (int i = 0; i < DOF_OVERRIDE_OPTIONS.length; i++) { if (config.getDOFOverride() == DOF_OVERRIDE_OPTIONS[i]) { dofOverridePicker.setValue(DOFOVERRIDERESOLUTIONS[i]); } } dofOverridePane.getChildren().addAll(dofOverrideLabel, dofOverridePicker); // //DOF Scaling dofScalingPane = new FlowPane(); dofScalingPane.getStyleClass().add("settings_pane"); dofScalingLabel = new Label(DOF_SCALING_LABEL + " "); dofScalingLabel.getStyleClass().addAll("bold_text", "font_12_pt"); dofScalingLabel.setTooltip(new Tooltip(DOF_SCALING_OR_TT)); dofScalingChoice = new ToggleGroup(); dofScalingEnabled = new RadioButton(ENABLE_DISABLE[0] + " "); dofScalingEnabled.setToggleGroup(dofScalingChoice); dofScalingDisabled = new RadioButton(ENABLE_DISABLE[1]); dofScalingDisabled.setToggleGroup(dofScalingChoice); if (config.disableDofScaling.get() == 0) { dofScalingEnabled.setSelected(true); } else { dofScalingDisabled.setSelected(true); } dofScalingPane.getChildren().addAll(dofScalingLabel, dofScalingEnabled, dofScalingDisabled); // //DOF Additional Blur dofAddPane = new FlowPane(); dofAddPane.getStyleClass().add("settings_pane"); dofAddLabel = new Label(DOF_ADD_BLUR_LABEL + " "); dofAddLabel.getStyleClass().addAll("bold_text", "font_12_pt"); dofAddLabel.setTooltip(new Tooltip(DOF_ADD_BLUR_TT)); dofAddPicker = new ComboBox(FXCollections.observableArrayList(DOF_ADDITIONAL_BLUR)); for (int i = 0; i < DOF_ADDITIONAL_BLUR_OPTIONS.length; i++) { if (config.dofBlurAmount.toString().equals(DOF_ADDITIONAL_BLUR_OPTIONS[i])) { dofAddPicker.setValue(DOF_ADDITIONAL_BLUR[i]); } } dofAddPane.getChildren().addAll(dofAddLabel, dofAddPicker); if (config.disableDOF) { dofScalingEnabled.setDisable(true); dofScalingDisabled.setDisable(true); dofAddPicker.setDisable(true); dofOverridePicker.setValue(DOFOVERRIDERESOLUTIONS[5]); setWindowsPresentRes.setDisable(true); presentWidthField.setDisable(true); presentHeightField.setDisable(true); usePresentRes.setDisable(true); dontUsePresentRes.setDisable(true); } // // // //FRAMERATE OPTIONS // //Unlock Framerate unlockFPSPane = new FlowPane(); unlockFPSPane.getStyleClass().add("settings_pane"); unlockFPSLabel = new Label(UNLOCK_FPS_LABEL + " "); unlockFPSLabel.getStyleClass().addAll("bold_text", "font_12_pt"); unlockFPSLabel.setTooltip(new Tooltip(UNLOCK_FPS_TT)); unlockFPSChoice = new ToggleGroup(); fpsLocked = new RadioButton(LOCK_UNLOCK[0] + " "); fpsLocked.setToggleGroup(unlockFPSChoice); fpsUnlocked = new RadioButton(LOCK_UNLOCK[1]); fpsUnlocked.setToggleGroup(unlockFPSChoice); if (config.unlockFPS.get() == 0) { fpsLocked.setSelected(true); } else { fpsUnlocked.setSelected(true); } unlockFPSPane.getChildren().addAll(unlockFPSLabel, fpsLocked, fpsUnlocked); // //Bonfire FPSFix Keybind fpsFixKeyPane = new FlowPane(); fpsFixKeyPane.getStyleClass().add("settings_pane"); fpsFixKeyLabel = new Label(FPS_FIX_KEY_LABEL + " "); fpsFixKeyLabel.getStyleClass().addAll("bold_text", "font_12_pt"); fpsFixKeyLabel.setTooltip(new Tooltip(FPS_FIX_TT)); fpsFixKeyPicker = new ComboBox(FPS_FIX_KEYS_ARRAY_LIST); fpsFixKeyPicker.setTooltip(new Tooltip(FPS_FIX_TT)); fpsFixKeyPane.getChildren().addAll(fpsFixKeyLabel, fpsFixKeyPicker); // fpsFixKey = getFPSFixKey(); if (fpsFixKey != null) { fpsFixKeyPicker.setValue(FPS_FIX_KEYS[FPS_FIX_KEYS_HEX_ARRAY_LIST.indexOf("0x" + fpsFixKey)]); } else { fpsFixKeyPicker.setValue(FPS_FIX_KEYS[4]); fpsFixKeyPicker.setDisable(true); } // //FPS Limit fpsLimitPane = new FlowPane(); fpsLimitPane.getStyleClass().add("settings_pane"); fpsLimitLabel = new Label(FPS_LIMIT_LABEL + " "); fpsLimitLabel.getStyleClass().addAll("bold_text", "font_12_pt"); fpsLimitLabel.setTooltip(new Tooltip(FPS_LIMIT_TT)); fpsLimitField = new TextField("" + config.FPSlimit); fpsLimitField.getStyleClass().add("settings_small_text_field"); fpsLimitPane.getChildren().addAll(fpsLimitLabel, fpsLimitField); // if (config.unlockFPS.get() == 0) { fpsLimitField.setDisable(true); } // //FPS Threshold (for automatic disabling of AA) fpsThresholdPane = new FlowPane(); fpsThresholdPane.getStyleClass().add("settings_pane"); fpsThresholdLabel = new Label(FPS_THRESHOLD_LABEL + " "); fpsThresholdLabel.getStyleClass().addAll("bold_text", "font_12_pt"); fpsThresholdLabel.setTooltip(new Tooltip(FPS_THRESHOLD_TT)); fpsThresholdField = new TextField("" + config.FPSthreshold); fpsThresholdField.getStyleClass().add("settings_small_text_field"); fpsThresholdPane.getChildren().addAll(fpsThresholdLabel, fpsThresholdField); // // // //TEXTURE FILTERING OPTIONS // //Texture Filtering Override texOverridePane = new FlowPane(); texOverridePane.getStyleClass().add("settings_pane"); texOverrideLabel = new Label(TEX_FILTERING_OVERRIDE_LABEL + " "); texOverrideLabel.getStyleClass().addAll("bold_text", "font_12_pt"); texOverrideLabel.setTooltip(new Tooltip(TEX_FILT_OR_TT)); texOverridePicker = new ComboBox(FXCollections.observableArrayList(FILTERINGOVERRIDES)); for (int i = 0; i < FILTERING_OVERRIDE_OPTIONS.length; i++) { if (config.filteringOverride.get() == i) { texOverridePicker.setValue(FILTERINGOVERRIDES[i]); } } texOverridePane.getChildren().addAll(texOverrideLabel, texOverridePicker); primaryVBox.getChildren().addAll(titleBar, restoreDefaultsBar, spacerHBox, renderResPane, presentResPane, aaQualityPane, aaTypePane, ssaoStrengthPane, ssaoScalePane, ssaoTypePane, dofOverridePane, dofScalingPane, dofAddPane, fpsFixKeyPane, unlockFPSPane, fpsLimitPane, fpsThresholdPane, texOverridePane, bottomSpacerHBox); if (config.disableDOF) { dofScalingEnabled.setDisable(true); dofScalingDisabled.setDisable(true); dofAddPicker.setDisable(true); presentWidthField.setDisable(true); presentHeightField.setDisable(true); setWindowsPresentRes.setDisable(true); usePresentRes.setDisable(true); dontUsePresentRes.setDisable(true); dofScalingDisabled.setSelected(true); dofAddPicker.setValue(dofAddPicker.getItems().get(0)); if (usePresentRes.isSelected()) { presentRes[0] = presentWidthField.getText(); presentRes[1] = presentHeightField.getText(); } presentWidthField.setText("0"); presentHeightField.setText("0"); } recheckTextInput(presentWidthField); recheckTextInput(presentHeightField); recheckTextInput(renderWidthField); recheckTextInput(renderHeightField); initializeEventHandlers(); this.setContent(primaryPane); }
From source file:de.pixida.logtest.designer.testrun.TestRunEditor.java
public TitledPane createPanelForConfiguration() { final GridPane gp = new GridPane(); gp.setAlignment(Pos.BASELINE_LEFT);//from w w w . j a v a 2 s . c o m final double hGapOfGridPane = 10d; gp.setHgap(hGapOfGridPane); final double vGapOfGridPane = 15d; gp.setVgap(vGapOfGridPane); final double paddingOfGridPane = 5d; gp.setPadding(new Insets(paddingOfGridPane)); final ColumnConstraints column1 = new ColumnConstraints(); final ColumnConstraints column2 = new ColumnConstraints(); column1.setHgrow(Priority.NEVER); column2.setHgrow(Priority.SOMETIMES); gp.getColumnConstraints().addAll(column1, column2); this.insertConfigItemsIntoGrid(gp, this.createConfigurationForm()); final TitledPane configPane = new TitledPane("Edit Configuration", gp); configPane.setGraphic(Icons.getIconGraphics("pencil")); configPane.setCollapsible(false); return configPane; }
From source file:io.bitsquare.gui.main.overlays.Overlay.java
protected void createGridPane() { gridPane = new GridPane(); gridPane.setHgap(5);//from w w w . j ava2 s . c om gridPane.setVgap(5); gridPane.setPadding(new Insets(30, 30, 30, 30)); gridPane.setPrefWidth(width); ColumnConstraints columnConstraints1 = new ColumnConstraints(); columnConstraints1.setHalignment(HPos.RIGHT); columnConstraints1.setHgrow(Priority.SOMETIMES); ColumnConstraints columnConstraints2 = new ColumnConstraints(); columnConstraints2.setHgrow(Priority.ALWAYS); gridPane.getColumnConstraints().addAll(columnConstraints1, columnConstraints2); }
From source file:de.pixida.logtest.designer.automaton.AutomatonEdge.java
private void createTimeIntervalInput(final ConfigFrame cf, final TimeIntervalForEditing timeInterval) { final GridPane gp = new GridPane(); final ColumnConstraints column1 = new ColumnConstraints(); final ColumnConstraints column2 = new ColumnConstraints(); final ColumnConstraints column3 = new ColumnConstraints(); column3.setHgrow(Priority.SOMETIMES); final ColumnConstraints column4 = new ColumnConstraints(); gp.getColumnConstraints().addAll(column1, column2, column3, column4); this.createDurationInput(gp, true, timeInterval); this.createDurationInput(gp, false, timeInterval); cf.addOption(timeInterval.getName(), gp); }
From source file:gov.va.isaac.gui.refexViews.refexEdit.AddSememePopup.java
private AddSememePopup() { super();//from w w w . jav a2 s . c om BorderPane root = new BorderPane(); VBox topItems = new VBox(); topItems.setFillWidth(true); title_ = new Label("Create new sememe instance"); title_.getStyleClass().add("titleLabel"); title_.setAlignment(Pos.CENTER); title_.prefWidthProperty().bind(topItems.widthProperty()); topItems.getChildren().add(title_); VBox.setMargin(title_, new Insets(10, 10, 10, 10)); gp_ = new GridPane(); gp_.setHgap(10.0); gp_.setVgap(10.0); VBox.setMargin(gp_, new Insets(5, 5, 5, 5)); topItems.getChildren().add(gp_); Label referencedComponent = new Label("Referenced Component"); referencedComponent.getStyleClass().add("boldLabel"); gp_.add(referencedComponent, 0, 0); unselectableComponentLabel_ = new CopyableLabel(); unselectableComponentLabel_.setWrapText(true); AppContext.getService(DragRegistry.class).setupDragOnly(unselectableComponentLabel_, () -> { if (editRefex_ == null) { return focusNid_ + ""; } else { return Get.identifierService().getConceptNid(editRefex_.getSememe().getAssemblageSequence()) + ""; } }); //delay adding till we know which row Label assemblageConceptLabel = new Label("Assemblage Concept"); assemblageConceptLabel.getStyleClass().add("boldLabel"); gp_.add(assemblageConceptLabel, 0, 1); selectableConcept_ = new ConceptNode(null, true, refexDropDownOptions, null); selectableConcept_.getConceptProperty().addListener(new ChangeListener<ConceptSnapshot>() { @Override public void changed(ObservableValue<? extends ConceptSnapshot> observable, ConceptSnapshot oldValue, ConceptSnapshot newValue) { if (createRefexFocus_ != null && createRefexFocus_ == ViewFocus.REFERENCED_COMPONENT) { if (selectableConcept_.isValid().get()) { //Its a valid concept, but is it a valid assemblage concept? try { assemblageInfo_ = DynamicSememeUsageDescription .read(selectableConcept_.getConceptNoWait().getNid()); assemblageIsValid_.set(true); if (assemblageInfo_.getReferencedComponentTypeRestriction() != null) { String result = DynamicSememeValidatorType.COMPONENT_TYPE .passesValidatorStringReturn(new DynamicSememeNid(focusNid_), new DynamicSememeString(assemblageInfo_ .getReferencedComponentTypeRestriction().name()), null, null); //don't need coordinates for component type validator if (result.length() > 0) { selectableConcept_.isValid() .setInvalid("The selected assemblage requires the component type to be " + assemblageInfo_.getReferencedComponentTypeRestriction() .toString() + ", which doesn't match the referenced component."); logger_.info("The selected assemblage requires the component type to be " + assemblageInfo_.getReferencedComponentTypeRestriction().toString() + ", which doesn't match the referenced component."); assemblageIsValid_.set(false); } } } catch (Exception e) { selectableConcept_.isValid().setInvalid( "The selected concept is not properly constructed for use as an Assemblage concept"); logger_.info("Concept not a valid concept for a sememe assemblage", e); assemblageIsValid_.set(false); } } else { assemblageInfo_ = null; assemblageIsValid_.set(false); } buildDataFields(assemblageIsValid_.get(), null); } } }); selectableComponent_ = new TextField(); selectableComponentNodeValid_ = new ValidBooleanBinding() { { setComputeOnInvalidate(true); bind(selectableComponent_.textProperty()); invalidate(); } @Override protected boolean computeValue() { if (createRefexFocus_ != null && createRefexFocus_ == ViewFocus.ASSEMBLAGE && !conceptNodeIsConceptType_) { //If the assembly nid was what was set - the component node may vary - validate if we are using the text field String value = selectableComponent_.getText().trim(); if (value.length() > 0) { try { if (Utility.isUUID(value)) { String result = DynamicSememeValidatorType.COMPONENT_TYPE .passesValidatorStringReturn(new DynamicSememeUUID(UUID.fromString(value)), new DynamicSememeString(assemblageInfo_ .getReferencedComponentTypeRestriction().name()), null, null); //component type validator doesn't use vc, so null is ok if (result.length() > 0) { setInvalidReason(result); logger_.info(result); return false; } } else if (Utility.isInt(value)) { String result = DynamicSememeValidatorType.COMPONENT_TYPE .passesValidatorStringReturn(new DynamicSememeNid(Integer.parseInt(value)), new DynamicSememeString(assemblageInfo_ .getReferencedComponentTypeRestriction().name()), null, null); //component type validator doesn't use vc, so null is ok if (result.length() > 0) { setInvalidReason(result); logger_.info(result); return false; } } else { setInvalidReason( "Value cannot be parsed as a component identifier. Must be a UUID or a valid NID"); return false; } } catch (Exception e) { logger_.error("Error checking component type validation", e); setInvalidReason("Unexpected error validating entry"); return false; } } else { setInvalidReason("Component identifier is required"); return false; } } clearInvalidReason(); return true; } }; selectableComponentNode_ = ErrorMarkerUtils.setupErrorMarker(selectableComponent_, null, selectableComponentNodeValid_); //delay adding concept / component till we know if / where ColumnConstraints cc = new ColumnConstraints(); cc.setHgrow(Priority.NEVER); cc.setMinWidth(FxUtils.calculateNecessaryWidthOfBoldLabel(referencedComponent)); gp_.getColumnConstraints().add(cc); cc = new ColumnConstraints(); cc.setHgrow(Priority.ALWAYS); gp_.getColumnConstraints().add(cc); Label l = new Label("Data Fields"); l.getStyleClass().add("boldLabel"); VBox.setMargin(l, new Insets(5, 5, 5, 5)); topItems.getChildren().add(l); root.setTop(topItems); sp_ = new ScrollPane(); sp_.visibleProperty().bind(assemblageIsValid_); sp_.setFitToHeight(true); sp_.setFitToWidth(true); root.setCenter(sp_); allValid_ = new UpdateableBooleanBinding() { { addBinding(assemblageIsValid_, selectableConcept_.isValid(), selectableComponentNodeValid_); } @Override protected boolean computeValue() { if (assemblageIsValid_.get() && (conceptNodeIsConceptType_ ? selectableConcept_.isValid().get() : selectableComponentNodeValid_.get())) { boolean allDataValid = true; for (ReadOnlyStringProperty ssp : currentDataFieldWarnings_) { if (ssp.get().length() > 0) { allDataValid = false; break; } } if (allDataValid) { clearInvalidReason(); return true; } } setInvalidReason("All errors must be corrected before save is allowed"); return false; } }; GridPane bottomRow = new GridPane(); //spacer col bottomRow.add(new Region(), 0, 0); Button cancelButton = new Button("Cancel"); cancelButton.setOnAction((action) -> { close(); }); GridPane.setMargin(cancelButton, new Insets(5, 20, 5, 0)); GridPane.setHalignment(cancelButton, HPos.RIGHT); bottomRow.add(cancelButton, 1, 0); Button saveButton = new Button("Save"); saveButton.disableProperty().bind(allValid_.not()); saveButton.setOnAction((action) -> { doSave(); }); Node wrappedSave = ErrorMarkerUtils.setupDisabledInfoMarker(saveButton, allValid_.getReasonWhyInvalid()); GridPane.setMargin(wrappedSave, new Insets(5, 0, 5, 20)); bottomRow.add(wrappedSave, 2, 0); //spacer col bottomRow.add(new Region(), 3, 0); cc = new ColumnConstraints(); cc.setHgrow(Priority.SOMETIMES); cc.setFillWidth(true); bottomRow.getColumnConstraints().add(cc); cc = new ColumnConstraints(); cc.setHgrow(Priority.NEVER); bottomRow.getColumnConstraints().add(cc); cc = new ColumnConstraints(); cc.setHgrow(Priority.NEVER); bottomRow.getColumnConstraints().add(cc); cc = new ColumnConstraints(); cc.setHgrow(Priority.SOMETIMES); cc.setFillWidth(true); bottomRow.getColumnConstraints().add(cc); root.setBottom(bottomRow); Scene scene = new Scene(root); scene.getStylesheets().add(AddSememePopup.class.getResource("/isaac-shared-styles.css").toString()); setScene(scene); }
From source file:gov.va.isaac.gui.refexViews.refexEdit.AddRefexPopup.java
private AddRefexPopup() { super();/*w ww . j a v a 2s . c o m*/ BorderPane root = new BorderPane(); VBox topItems = new VBox(); topItems.setFillWidth(true); title_ = new Label("Create new sememe instance"); title_.getStyleClass().add("titleLabel"); title_.setAlignment(Pos.CENTER); title_.prefWidthProperty().bind(topItems.widthProperty()); topItems.getChildren().add(title_); VBox.setMargin(title_, new Insets(10, 10, 10, 10)); gp_ = new GridPane(); gp_.setHgap(10.0); gp_.setVgap(10.0); VBox.setMargin(gp_, new Insets(5, 5, 5, 5)); topItems.getChildren().add(gp_); Label referencedComponent = new Label("Referenced Component"); referencedComponent.getStyleClass().add("boldLabel"); gp_.add(referencedComponent, 0, 0); unselectableComponentLabel_ = new CopyableLabel(); unselectableComponentLabel_.setWrapText(true); AppContext.getService(DragRegistry.class).setupDragOnly(unselectableComponentLabel_, () -> { if (editRefex_ == null) { if (createRefexFocus_.getComponentNid() != null) { return createRefexFocus_.getComponentNid() + ""; } else { return createRefexFocus_.getAssemblyNid() + ""; } } else { return editRefex_.getRefex().getAssemblageNid() + ""; } }); //delay adding till we know which row Label assemblageConceptLabel = new Label("Assemblage Concept"); assemblageConceptLabel.getStyleClass().add("boldLabel"); gp_.add(assemblageConceptLabel, 0, 1); selectableConcept_ = new ConceptNode(null, true, refexDropDownOptions, null); selectableConcept_.getConceptProperty().addListener(new ChangeListener<ConceptVersionBI>() { @Override public void changed(ObservableValue<? extends ConceptVersionBI> observable, ConceptVersionBI oldValue, ConceptVersionBI newValue) { if (createRefexFocus_ != null && createRefexFocus_.getComponentNid() != null) { if (selectableConcept_.isValid().get()) { //Its a valid concept, but is it a valid assemblage concept? try { assemblageInfo_ = RefexDynamicUsageDescriptionBuilder .readRefexDynamicUsageDescriptionConcept( selectableConcept_.getConceptNoWait().getNid()); assemblageIsValid_.set(true); if (assemblageInfo_.getReferencedComponentTypeRestriction() != null) { String result = RefexDynamicValidatorType.COMPONENT_TYPE .passesValidatorStringReturn( new RefexDynamicNid(createRefexFocus_.getComponentNid()), new RefexDynamicString(assemblageInfo_ .getReferencedComponentTypeRestriction().name()), null); //component type validator doesn't use vc, so null is ok if (result.length() > 0) { selectableConcept_.isValid() .setInvalid("The selected assemblage requires the component type to be " + assemblageInfo_.getReferencedComponentTypeRestriction() .toString() + ", which doesn't match the referenced component."); logger_.info("The selected assemblage requires the component type to be " + assemblageInfo_.getReferencedComponentTypeRestriction().toString() + ", which doesn't match the referenced component."); assemblageIsValid_.set(false); } } } catch (Exception e) { selectableConcept_.isValid().setInvalid( "The selected concept is not properly constructed for use as an Assemblage concept"); logger_.info("Concept not a valid concept for a sememe assemblage", e); assemblageIsValid_.set(false); } } else { assemblageInfo_ = null; assemblageIsValid_.set(false); } buildDataFields(assemblageIsValid_.get(), null); } } }); selectableComponent_ = new TextField(); selectableComponentNodeValid_ = new ValidBooleanBinding() { { setComputeOnInvalidate(true); bind(selectableComponent_.textProperty()); invalidate(); } @Override protected boolean computeValue() { if (createRefexFocus_ != null && createRefexFocus_.getAssemblyNid() != null && !conceptNodeIsConceptType_) { //If the assembly nid was what was set - the component node may vary - validate if we are using the text field String value = selectableComponent_.getText().trim(); if (value.length() > 0) { try { if (Utility.isUUID(value)) { String result = RefexDynamicValidatorType.COMPONENT_TYPE .passesValidatorStringReturn(new RefexDynamicUUID(UUID.fromString(value)), new RefexDynamicString(assemblageInfo_ .getReferencedComponentTypeRestriction().name()), null); //component type validator doesn't use vc, so null is ok if (result.length() > 0) { setInvalidReason(result); logger_.info(result); return false; } } else if (Utility.isInt(value)) { String result = RefexDynamicValidatorType.COMPONENT_TYPE .passesValidatorStringReturn(new RefexDynamicNid(Integer.parseInt(value)), new RefexDynamicString(assemblageInfo_ .getReferencedComponentTypeRestriction().name()), null); //component type validator doesn't use vc, so null is ok if (result.length() > 0) { setInvalidReason(result); logger_.info(result); return false; } } else { setInvalidReason( "Value cannot be parsed as a component identifier. Must be a UUID or a valid NID"); return false; } } catch (Exception e) { logger_.error("Error checking component type validation", e); setInvalidReason("Unexpected error validating entry"); return false; } } else { setInvalidReason("Component identifier is required"); return false; } } clearInvalidReason(); return true; } }; selectableComponentNode_ = ErrorMarkerUtils.setupErrorMarker(selectableComponent_, null, selectableComponentNodeValid_); //delay adding concept / component till we know if / where ColumnConstraints cc = new ColumnConstraints(); cc.setHgrow(Priority.NEVER); cc.setMinWidth(FxUtils.calculateNecessaryWidthOfBoldLabel(referencedComponent)); gp_.getColumnConstraints().add(cc); cc = new ColumnConstraints(); cc.setHgrow(Priority.ALWAYS); gp_.getColumnConstraints().add(cc); Label l = new Label("Data Fields"); l.getStyleClass().add("boldLabel"); VBox.setMargin(l, new Insets(5, 5, 5, 5)); topItems.getChildren().add(l); root.setTop(topItems); sp_ = new ScrollPane(); sp_.visibleProperty().bind(assemblageIsValid_); sp_.setFitToHeight(true); sp_.setFitToWidth(true); root.setCenter(sp_); allValid_ = new UpdateableBooleanBinding() { { addBinding(assemblageIsValid_, selectableConcept_.isValid(), selectableComponentNodeValid_); } @Override protected boolean computeValue() { if (assemblageIsValid_.get() && (conceptNodeIsConceptType_ ? selectableConcept_.isValid().get() : selectableComponentNodeValid_.get())) { boolean allDataValid = true; for (ReadOnlyStringProperty ssp : currentDataFieldWarnings_) { if (ssp.get().length() > 0) { allDataValid = false; break; } } if (allDataValid) { clearInvalidReason(); return true; } } setInvalidReason("All errors must be corrected before save is allowed"); return false; } }; GridPane bottomRow = new GridPane(); //spacer col bottomRow.add(new Region(), 0, 0); Button cancelButton = new Button("Cancel"); cancelButton.setOnAction((action) -> { close(); }); GridPane.setMargin(cancelButton, new Insets(5, 20, 5, 0)); GridPane.setHalignment(cancelButton, HPos.RIGHT); bottomRow.add(cancelButton, 1, 0); Button saveButton = new Button("Save"); saveButton.disableProperty().bind(allValid_.not()); saveButton.setOnAction((action) -> { doSave(); }); Node wrappedSave = ErrorMarkerUtils.setupDisabledInfoMarker(saveButton, allValid_.getReasonWhyInvalid()); GridPane.setMargin(wrappedSave, new Insets(5, 0, 5, 20)); bottomRow.add(wrappedSave, 2, 0); //spacer col bottomRow.add(new Region(), 3, 0); cc = new ColumnConstraints(); cc.setHgrow(Priority.SOMETIMES); cc.setFillWidth(true); bottomRow.getColumnConstraints().add(cc); cc = new ColumnConstraints(); cc.setHgrow(Priority.NEVER); bottomRow.getColumnConstraints().add(cc); cc = new ColumnConstraints(); cc.setHgrow(Priority.NEVER); bottomRow.getColumnConstraints().add(cc); cc = new ColumnConstraints(); cc.setHgrow(Priority.SOMETIMES); cc.setFillWidth(true); bottomRow.getColumnConstraints().add(cc); root.setBottom(bottomRow); Scene scene = new Scene(root); scene.getStylesheets().add(AddRefexPopup.class.getResource("/isaac-shared-styles.css").toString()); setScene(scene); }
From source file:gov.va.isaac.gui.refexViews.refexEdit.AddSememePopup.java
private void buildDataFields(boolean assemblageValid, DynamicSememeDataBI[] currentValues) { if (assemblageValid) { for (ReadOnlyStringProperty ssp : currentDataFieldWarnings_) { allValid_.removeBinding(ssp); }/*from w w w . ja va 2 s . c o m*/ currentDataFieldWarnings_.clear(); for (SememeGUIDataTypeNodeDetails nd : currentDataFields_) { nd.cleanupListener(); } currentDataFields_.clear(); GridPane gp = new GridPane(); gp.setHgap(10.0); gp.setVgap(10.0); gp.setStyle("-fx-padding: 5;"); int row = 0; boolean extraInfoColumnIsRequired = false; for (DynamicSememeColumnInfo ci : assemblageInfo_.getColumnInfo()) { SimpleStringProperty valueIsRequired = (ci.isColumnRequired() ? new SimpleStringProperty("") : null); SimpleStringProperty defaultValueTooltip = ((ci.getDefaultColumnValue() == null && ci.getValidator() == null) ? null : new SimpleStringProperty()); ComboBox<DynamicSememeDataType> polymorphicType = null; Label l = new Label(ci.getColumnName()); l.getStyleClass().add("boldLabel"); l.setMinWidth(FxUtils.calculateNecessaryWidthOfBoldLabel(l)); Tooltip.install(l, new Tooltip(ci.getColumnDescription())); int col = 0; gp.add(l, col++, row); if (ci.getColumnDataType() == DynamicSememeDataType.POLYMORPHIC) { polymorphicType = new ComboBox<>(); polymorphicType.setEditable(false); polymorphicType.setConverter(new StringConverter<DynamicSememeDataType>() { @Override public String toString(DynamicSememeDataType object) { return object.getDisplayName(); } @Override public DynamicSememeDataType fromString(String string) { throw new RuntimeException("unecessary"); } }); for (DynamicSememeDataType type : DynamicSememeDataType.values()) { if (type == DynamicSememeDataType.POLYMORPHIC || type == DynamicSememeDataType.UNKNOWN) { continue; } else { polymorphicType.getItems().add(type); } } polymorphicType.getSelectionModel() .select((currentValues == null ? DynamicSememeDataType.STRING : (currentValues[row] == null ? DynamicSememeDataType.STRING : currentValues[row].getDynamicSememeDataType()))); } SememeGUIDataTypeNodeDetails nd = SememeGUIDataTypeFXNodeBuilder.buildNodeForType( ci.getColumnDataType(), ci.getDefaultColumnValue(), (currentValues == null ? null : currentValues[row]), valueIsRequired, defaultValueTooltip, (polymorphicType == null ? null : polymorphicType.getSelectionModel().selectedItemProperty()), allValid_, ci.getValidator(), ci.getValidatorData()); currentDataFieldWarnings_.addAll(nd.getBoundToAllValid()); if (ci.getColumnDataType() == DynamicSememeDataType.POLYMORPHIC) { nd.addUpdateParentListListener(currentDataFieldWarnings_); } currentDataFields_.add(nd); gp.add(nd.getNodeForDisplay(), col++, row); Label colType = new Label(ci.getColumnDataType().getDisplayName()); colType.setMinWidth(FxUtils.calculateNecessaryWidthOfLabel(colType)); gp.add((polymorphicType == null ? colType : polymorphicType), col++, row); if (ci.isColumnRequired() || ci.getDefaultColumnValue() != null || ci.getValidator() != null) { extraInfoColumnIsRequired = true; StackPane stackPane = new StackPane(); stackPane.setMaxWidth(Double.MAX_VALUE); if (ci.getDefaultColumnValue() != null || ci.getValidator() != null) { ImageView information = Images.INFORMATION.createImageView(); Tooltip tooltip = new Tooltip(); tooltip.textProperty().bind(defaultValueTooltip); Tooltip.install(information, tooltip); tooltip.setAutoHide(true); information.setOnMouseClicked( event -> tooltip.show(information, event.getScreenX(), event.getScreenY())); stackPane.getChildren().add(information); } if (ci.isColumnRequired()) { ImageView exclamation = Images.EXCLAMATION.createImageView(); final BooleanProperty showExclamation = new SimpleBooleanProperty( StringUtils.isNotBlank(valueIsRequired.get())); valueIsRequired.addListener((ChangeListener<String>) (observable, oldValue, newValue) -> showExclamation.set(StringUtils.isNotBlank(newValue))); exclamation.visibleProperty().bind(showExclamation); Tooltip tooltip = new Tooltip(); tooltip.textProperty().bind(valueIsRequired); Tooltip.install(exclamation, tooltip); tooltip.setAutoHide(true); exclamation.setOnMouseClicked( event -> tooltip.show(exclamation, event.getScreenX(), event.getScreenY())); stackPane.getChildren().add(exclamation); } gp.add(stackPane, col++, row); } row++; } ColumnConstraints cc = new ColumnConstraints(); cc.setHgrow(Priority.NEVER); gp.getColumnConstraints().add(cc); cc = new ColumnConstraints(); cc.setHgrow(Priority.ALWAYS); gp.getColumnConstraints().add(cc); cc = new ColumnConstraints(); cc.setHgrow(Priority.NEVER); gp.getColumnConstraints().add(cc); if (extraInfoColumnIsRequired) { cc = new ColumnConstraints(); cc.setHgrow(Priority.NEVER); gp.getColumnConstraints().add(cc); } if (row == 0) { sp_.setContent(new Label("This assemblage does not allow data fields")); } else { sp_.setContent(gp); } allValid_.invalidate(); } else { sp_.setContent(null); } }
From source file:gov.va.isaac.gui.refexViews.refexEdit.AddRefexPopup.java
private void buildDataFields(boolean assemblageValid, RefexDynamicDataBI[] currentValues) { if (assemblageValid) { for (ReadOnlyStringProperty ssp : currentDataFieldWarnings_) { allValid_.removeBinding(ssp); }/*from ww w .j a va 2 s . c om*/ currentDataFieldWarnings_.clear(); for (RefexDataTypeNodeDetails nd : currentDataFields_) { nd.cleanupListener(); } currentDataFields_.clear(); GridPane gp = new GridPane(); gp.setHgap(10.0); gp.setVgap(10.0); gp.setStyle("-fx-padding: 5;"); int row = 0; boolean extraInfoColumnIsRequired = false; for (RefexDynamicColumnInfo ci : assemblageInfo_.getColumnInfo()) { SimpleStringProperty valueIsRequired = (ci.isColumnRequired() ? new SimpleStringProperty("") : null); SimpleStringProperty defaultValueTooltip = ((ci.getDefaultColumnValue() == null && ci.getValidator() == null) ? null : new SimpleStringProperty()); ComboBox<RefexDynamicDataType> polymorphicType = null; Label l = new Label(ci.getColumnName()); l.getStyleClass().add("boldLabel"); l.setMinWidth(FxUtils.calculateNecessaryWidthOfBoldLabel(l)); Tooltip.install(l, new Tooltip(ci.getColumnDescription())); int col = 0; gp.add(l, col++, row); if (ci.getColumnDataType() == RefexDynamicDataType.POLYMORPHIC) { polymorphicType = new ComboBox<>(); polymorphicType.setEditable(false); polymorphicType.setConverter(new StringConverter<RefexDynamicDataType>() { @Override public String toString(RefexDynamicDataType object) { return object.getDisplayName(); } @Override public RefexDynamicDataType fromString(String string) { throw new RuntimeException("unecessary"); } }); for (RefexDynamicDataType type : RefexDynamicDataType.values()) { if (type == RefexDynamicDataType.POLYMORPHIC || type == RefexDynamicDataType.UNKNOWN) { continue; } else { polymorphicType.getItems().add(type); } } polymorphicType.getSelectionModel() .select((currentValues == null ? RefexDynamicDataType.STRING : (currentValues[row] == null ? RefexDynamicDataType.STRING : currentValues[row].getRefexDataType()))); } RefexDataTypeNodeDetails nd = RefexDataTypeFXNodeBuilder.buildNodeForType(ci.getColumnDataType(), ci.getDefaultColumnValue(), (currentValues == null ? null : currentValues[row]), valueIsRequired, defaultValueTooltip, (polymorphicType == null ? null : polymorphicType.getSelectionModel().selectedItemProperty()), allValid_, new SimpleObjectProperty<>(ci.getValidator()), new SimpleObjectProperty<>(ci.getValidatorData())); currentDataFieldWarnings_.addAll(nd.getBoundToAllValid()); if (ci.getColumnDataType() == RefexDynamicDataType.POLYMORPHIC) { nd.addUpdateParentListListener(currentDataFieldWarnings_); } currentDataFields_.add(nd); gp.add(nd.getNodeForDisplay(), col++, row); Label colType = new Label(ci.getColumnDataType().getDisplayName()); colType.setMinWidth(FxUtils.calculateNecessaryWidthOfLabel(colType)); gp.add((polymorphicType == null ? colType : polymorphicType), col++, row); if (ci.isColumnRequired() || ci.getDefaultColumnValue() != null || ci.getValidator() != null) { extraInfoColumnIsRequired = true; StackPane stackPane = new StackPane(); stackPane.setMaxWidth(Double.MAX_VALUE); if (ci.getDefaultColumnValue() != null || ci.getValidator() != null) { ImageView information = Images.INFORMATION.createImageView(); Tooltip tooltip = new Tooltip(); tooltip.textProperty().bind(defaultValueTooltip); Tooltip.install(information, tooltip); tooltip.setAutoHide(true); information.setOnMouseClicked( event -> tooltip.show(information, event.getScreenX(), event.getScreenY())); stackPane.getChildren().add(information); } if (ci.isColumnRequired()) { ImageView exclamation = Images.EXCLAMATION.createImageView(); final BooleanProperty showExclamation = new SimpleBooleanProperty( StringUtils.isNotBlank(valueIsRequired.get())); valueIsRequired.addListener((ChangeListener<String>) (observable, oldValue, newValue) -> showExclamation.set(StringUtils.isNotBlank(newValue))); exclamation.visibleProperty().bind(showExclamation); Tooltip tooltip = new Tooltip(); tooltip.textProperty().bind(valueIsRequired); Tooltip.install(exclamation, tooltip); tooltip.setAutoHide(true); exclamation.setOnMouseClicked( event -> tooltip.show(exclamation, event.getScreenX(), event.getScreenY())); stackPane.getChildren().add(exclamation); } gp.add(stackPane, col++, row); } row++; } ColumnConstraints cc = new ColumnConstraints(); cc.setHgrow(Priority.NEVER); gp.getColumnConstraints().add(cc); cc = new ColumnConstraints(); cc.setHgrow(Priority.ALWAYS); gp.getColumnConstraints().add(cc); cc = new ColumnConstraints(); cc.setHgrow(Priority.NEVER); gp.getColumnConstraints().add(cc); if (extraInfoColumnIsRequired) { cc = new ColumnConstraints(); cc.setHgrow(Priority.NEVER); gp.getColumnConstraints().add(cc); } if (row == 0) { sp_.setContent(new Label("This assemblage does not allow data fields")); } else { sp_.setContent(gp); } allValid_.invalidate(); } else { sp_.setContent(null); } }