use of com.kyj.fx.voeditor.visual.component.ButtonTableColumn in project Gargoyle by callakrsos.
the class DatabaseUrlManagementView method initialize.
@SuppressWarnings({ "rawtypes", "unchecked" })
@FXML
public void initialize() {
// /tbDatabase.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
colKey.setCellValueFactory(param -> {
Object object = param.getValue().get("seqNum");
return new SimpleObjectProperty<>(object);
});
String property = ResourceLoader.getInstance().get(ResourceLoader.DBMS_SUPPORT);
// 사용되지않은 코드
// String colOrder =
// ResourceLoader.getInstance().get(ResourceLoader.DATABASE_COLUMN_ORDER);
// 2015.11.30 데이터에 []코드를 삭제하면서 아래 코드존재가 불필요해서 주석
// 오류가 발생하여 임시 처리.
// if (colOrder != null) {
// colOrder = colOrder.replace("[", "");
// colOrder = colOrder.replace("]", "");
// }
List<Code> dbms = Stream.of(StringUtils.tokenizeToStringArray(property, ",")).map(t -> new Code(t, t)).collect(Collectors.toList());
colDbms = new ComboBoxTableColumn<>("dbms", FXCollections.observableArrayList(dbms), "code", "codeNm");
tbDatabase.getColumns().add(1, colDbms);
tbDatabase.getColumns().get(1).setText("DBMS");
tbDatabase.getColumns().get(1).setId("colDbms");
colColor = new ColorPickerTableColumn<Map<String, Object>>(colColor, "color");
colColor.setMaxWidth(50);
tbDatabase.getColumns().add(1, colColor);
tbDatabase.getColumns().get(1).setText("Color");
tbDatabase.getColumns().get(1).setId("colColor");
/*********************************************************/
// 파일 DagDrop 이벤트. URL에 새 데이터 add.
tbDatabase.setOnDragDropped(ev -> {
if (ev.getDragboard().hasFiles()) {
List<File> files = ev.getDragboard().getFiles();
files.stream().map(v -> {
return v.getAbsolutePath();
}).forEach(str -> {
Map<String, Object> map = new HashMap<String, Object>();
map.put(ResourceLoader.BASE_KEY_JDBC_URL, str);
tbDatabase.getItems().add(map);
});
ev.setDropCompleted(true);
ev.consume();
}
});
tbDatabase.setOnDragOver(ev -> {
if (ev.getDragboard().hasFiles()) {
ev.acceptTransferModes(TransferMode.LINK);
ev.consume();
}
});
/*********************************************************/
colPopup = new ButtonTableColumn() {
@Override
public void clickHandle(int nRow) {
try {
showSqlPane(nRow);
} catch (Exception e) {
DialogUtil.showExceptionDailog(e);
LOGGER.error(ValueUtil.toString(e));
}
}
};
colPing = new ButtonTableColumn("Ping") {
@Override
public void clickHandle(int nRow) {
try {
ping(nRow);
} catch (Exception e) {
DialogUtil.showExceptionDailog(e);
LOGGER.error(ValueUtil.toString(e));
}
}
};
colPopup.setMaxWidth(50);
tbDatabase.getColumns().add(1, colPopup);
tbDatabase.getColumns().get(1).setText("Popup");
tbDatabase.getColumns().get(1).setId("colPopup");
tbDatabase.getColumns().add(colPing);
setColumnText(colAlias, "alias");
colUrl.setPrefWidth(300);
setColumnText(colUrl, ResourceLoader.BASE_KEY_JDBC_URL);
setColumnText(colUserName, ResourceLoader.BASE_KEY_JDBC_ID);
setColumnText(colUserPassword, ResourceLoader.BASE_KEY_JDBC_PASS, param -> new PasswordTextFieldTableCell());
// colUserPassword.setCellValueFactory(param -> {
// Object initialValue =
// param.getValue().get(ResourceLoader.BASE_KEY_JDBC_PASS);
// SimpleObjectProperty<Object> simpleObjectProperty = new
// SimpleObjectProperty<>(initialValue);
// simpleObjectProperty.addListener((oba, oldval, newval) ->
// param.getValue().put(ResourceLoader.BASE_KEY_JDBC_PASS, newval));
// return simpleObjectProperty;
// });
// colUserPassword.setCellFactory(param -> new
// PasswordTextFieldTableCell());
observableArrayList = loadResource();
tbDatabase.getItems().addAll(observableArrayList);
}
Aggregations