Skip to content

Commit 9405ce9

Browse files
committed
replaced autocomplite solution.
1 parent 8d1c6d2 commit 9405ce9

9 files changed

Lines changed: 71 additions & 172 deletions

File tree

build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ dependencies {
5656

5757
// base
5858
compile group: 'org.fxmisc.richtext', name: 'richtextfx', version: '0.7-M5'
59+
compile 'org.controlsfx:controlsfx:8.40.13'
5960

6061
compile 'com.github.JavaSaBr:RlibFX:4.1.3'
6162
compile 'com.github.JavaSaBr:RLib:6.3.6'

src/main/java/com/ss/editor/plugin/api/property/control/AwtFontPropertyEditorControl.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33
import static com.ss.rlib.util.ObjectUtils.notNull;
44
import com.ss.editor.plugin.api.property.PropertyDefinition;
55
import com.ss.editor.ui.css.CSSClasses;
6-
import com.ss.editor.ui.util.AutoCompleteComboBoxListener;
76
import com.ss.rlib.ui.util.FXUtils;
87
import com.ss.rlib.util.StringUtils;
98
import com.ss.rlib.util.VarTable;
9+
import impl.org.controlsfx.autocompletion.AutoCompletionTextFieldBinding;
10+
import impl.org.controlsfx.autocompletion.SuggestionProvider;
1011
import javafx.scene.control.ComboBox;
1112
import javafx.scene.control.SingleSelectionModel;
1213
import javafx.util.StringConverter;
@@ -66,8 +67,10 @@ protected void createComponents() {
6667
comboBox.getItems().addAll(FONTS);
6768
comboBox.setVisibleRowCount(20);
6869
comboBox.setConverter(STRING_CONVERTER);
70+
comboBox.setEditable(true);
6971

70-
AutoCompleteComboBoxListener.install(comboBox);
72+
new AutoCompletionTextFieldBinding<>(comboBox.getEditor(),
73+
SuggestionProvider.create(comboBox.getItems()), STRING_CONVERTER);
7174

7275
FXUtils.addClassesTo(comboBox.getEditor(), CSSClasses.TRANSPARENT_TEXT_FIELD, CSSClasses.TEXT_FIELD_IN_COMBO_BOX);
7376
FXUtils.addClassTo(comboBox, CSSClasses.ABSTRACT_PARAM_CONTROL_COMBO_BOX);

src/main/java/com/ss/editor/plugin/api/property/control/StringFromListPropertyEditorControl.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
import static com.ss.rlib.util.ObjectUtils.notNull;
44
import com.ss.editor.plugin.api.property.PropertyDefinition;
55
import com.ss.editor.ui.css.CSSClasses;
6-
import com.ss.editor.ui.util.AutoCompleteComboBoxListener;
76
import com.ss.rlib.ui.util.FXUtils;
87
import com.ss.rlib.util.VarTable;
98
import com.ss.rlib.util.array.Array;
109
import javafx.scene.control.ComboBox;
1110
import javafx.scene.control.SingleSelectionModel;
11+
import org.controlsfx.control.textfield.TextFields;
1212
import org.jetbrains.annotations.NotNull;
1313
import org.jetbrains.annotations.Nullable;
1414

@@ -35,7 +35,8 @@ protected StringFromListPropertyEditorControl(@NotNull final VarTable vars, @Not
3535
if (options.size() > comboBox.getVisibleRowCount()) {
3636
setIgnoreListener(true);
3737
try {
38-
AutoCompleteComboBoxListener.install(comboBox);
38+
comboBox.setEditable(true);
39+
TextFields.bindAutoCompletion(comboBox.getEditor(), comboBox.getItems());
3940
FXUtils.addClassesTo(comboBox.getEditor(), CSSClasses.TRANSPARENT_TEXT_FIELD, CSSClasses.TEXT_FIELD_IN_COMBO_BOX);
4041
reload();
4142
} finally {

src/main/java/com/ss/editor/ui/component/asset/tree/ResourceTree.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -784,21 +784,21 @@ private void processKey(@NotNull final KeyEvent event) {
784784
final boolean controlDown = event.isControlDown();
785785

786786
if (!currentAsset.equals(firstElement.getFile())) {
787-
if (controlDown && keyCode == KeyCode.C && actionTester.test(CopyFileAction.class) && selectedAsset &&
787+
if (controlDown && keyCode == KeyCode.C && actionTester.test(CopyFileAction.class) && !selectedAsset &&
788788
(onlyFiles || selectedElements.size() == 1)) {
789789

790790
final CopyFileAction action = new CopyFileAction(selectedElements);
791791
final EventHandler<ActionEvent> onAction = action.getOnAction();
792792
onAction.handle(null);
793793

794-
} else if (controlDown && keyCode == KeyCode.X && actionTester.test(CutFileAction.class) && selectedAsset &&
794+
} else if (controlDown && keyCode == KeyCode.X && actionTester.test(CutFileAction.class) && !selectedAsset &&
795795
(onlyFiles || selectedElements.size() == 1)) {
796796

797797
final CutFileAction action = new CutFileAction(selectedElements);
798798
final EventHandler<ActionEvent> onAction = action.getOnAction();
799799
onAction.handle(null);
800800

801-
} else if (keyCode == KeyCode.DELETE && actionTester.test(DeleteFileAction.class) && selectedAsset &&
801+
} else if (keyCode == KeyCode.DELETE && actionTester.test(DeleteFileAction.class) && !selectedAsset &&
802802
(onlyFiles || selectedElements.size() == 1)) {
803803

804804
final DeleteFileAction action = new DeleteFileAction(selectedElements);

src/main/java/com/ss/editor/ui/component/editor/impl/material/MaterialFileEditor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,7 @@ private void applyTexture(@NotNull final MaterialFileEditor editor, @NotNull fin
345345

346346
final String paramName = matParam.getName();
347347
final MatParamTexture textureParam = currentMaterial.getTextureParam(paramName);
348-
final Texture currentTexture = textureParam.getTextureValue();
348+
final Texture currentTexture = textureParam == null? null : textureParam.getTextureValue();
349349

350350
PropertyOperation<ChangeConsumer, Material, Texture> operation =
351351
new PropertyOperation<>(currentMaterial, paramName, texture, currentTexture);

src/main/java/com/ss/editor/ui/util/AutoCompleteComboBoxListener.java

Lines changed: 0 additions & 162 deletions
This file was deleted.

src/main/java/com/ss/editor/util/EditorUtil.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
import java.net.URL;
4545
import java.net.URLClassLoader;
4646
import java.nio.ByteBuffer;
47+
import java.nio.file.Files;
4748
import java.nio.file.Path;
4849
import java.text.SimpleDateFormat;
4950
import java.util.ArrayList;
@@ -484,20 +485,27 @@ public static void openFileInExternalEditor(@NotNull final Path path) {
484485
*
485486
* @param path the path
486487
*/
487-
public static void openFileInSystemExplorer(@NotNull final Path path) {
488+
public static void openFileInSystemExplorer(@NotNull Path path) {
488489

489490
final Platform platform = JmeSystem.getPlatform();
490491
final List<String> commands = new ArrayList<>();
491492

492493
if (platform == Platform.MacOSX64 || platform == Platform.MacOSX_PPC64) {
493-
commands.add("/System/Library/CoreServices/Finder.app");
494+
commands.add("open");
495+
commands.add("-R");
494496
} else if (platform == Platform.Windows32 || platform == Platform.Windows64) {
495497
commands.add("explorer");
498+
commands.add("/select,");
496499
} else if (platform == Platform.Linux32 || platform == Platform.Linux64) {
497500
if (isAppExists("nautilus -v")) {
498501
commands.add("nautilus");
499502
} else if (isAppExists("dolphin -v")) {
500503
commands.add("dolphin");
504+
} else {
505+
commands.add("xdg-open");
506+
if (!Files.isDirectory(path)) {
507+
path = path.getParent();
508+
}
501509
}
502510
}
503511

src/main/java/com/ss/editor/util/MaterialUtils.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ public static int getPossibleTextureType(@NotNull final String textureName) {
9797
return TEXTURE_EMISSIVE;
9898
} else if (textureName.contains("METALLIC") || textureName.contains("metallic")) {
9999
return TEXTURE_METALIC;
100+
} else if (textureName.contains("ROUGHNESS") || textureName.contains("roughness")) {
101+
return TEXTURE_ROUGHNESS;
100102
} else if (textureName.contains("SPECULAR") || textureName.contains("specular")) {
101103
return TEXTURE_SPECULAR;
102104
} else if (textureName.contains("_SPC") || textureName.contains("_spc")) {
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
.auto-complete-popup {
2+
-fx-background-color: transparent;
3+
}
4+
5+
.auto-complete-popup > .list-view {
6+
-fx-background-color: -var-menu-background-color;
7+
-fx-background-insets: 0;
8+
-fx-background-radius: 3px;
9+
-fx-border-color: -var-border-color;
10+
-fx-border-width: 1px;
11+
-fx-border-radius: 2px;
12+
-fx-effect: -fx-shadow-menu;
13+
-fx-padding: 0px;
14+
}
15+
16+
.auto-complete-popup > .list-view > .virtual-flow > .clipped-container {
17+
-fx-padding: 0px;
18+
}
19+
20+
.auto-complete-popup > .list-view > .virtual-flow > .clipped-container > .sheet > .list-cell {
21+
-fx-background: transparent;
22+
-fx-padding: 0px 0px 0px 4px;
23+
-fx-background-color: -fx-background;
24+
-fx-cell-size: 26;
25+
-fx-font-family: "Open Sans SemiBold";
26+
-fx-font-size: 13px;
27+
}
28+
29+
.auto-complete-popup > .list-view > .virtual-flow > .clipped-container > .sheet > .list-cell:filled:selected {
30+
-fx-background: transparent;
31+
-fx-text-fill: -var-font-color;
32+
}
33+
34+
.auto-complete-popup > .list-view > .virtual-flow > .clipped-container > .sheet > .list-cell:filled:selected:hover,
35+
.auto-complete-popup > .list-view > .virtual-flow > .clipped-container > .sheet > .list-cell:filled:hover {
36+
-fx-background: -var-menu-hover-color;
37+
-fx-text-fill: -var-font-focused-hover-color;
38+
}
39+
40+
.auto-complete-popup > .list-view > .placeholder > .label {
41+
-fx-text-fill: -var-font-color;
42+
}
43+
44+
.auto-complete-popup > .list-view > .placeholder > .label {
45+
-fx-text-fill: derive(-fx-control-inner-background,-30%);
46+
}

0 commit comments

Comments
 (0)