Search in sources :

Example 11 with Type

use of model.Type in project uPMT by coco35700.

the class TypeTreeView method addClass.

// method used to add a class to the current cell
public void addClass(int classNumber) {
    TreeItem<TypeController> newTypeController = new TreeItem<TypeController>();
    Type nt = new Category("Classe " + classNumber);
    TypeController tc;
    if (getItem().getType().getClass().equals(Schema.class)) {
        tc = new TypeController(nt, getTreeItem().getValue().getType());
    } else {
        tc = new TypeController(nt, getTreeItem().getParent().getValue().getType());
    }
    newTypeController.setValue(tc);
    getTreeItem().getChildren().add(newTypeController);
    getItem().getType().getTypes().add(nt);
    this.getTreeItem().setExpanded(true);
}
Also used : TypeController(controller.controller.TypeController) AlertType(javafx.scene.control.Alert.AlertType) ButtonType(javafx.scene.control.ButtonType) Type(model.Type) Category(model.Category) TreeItem(javafx.scene.control.TreeItem)

Example 12 with Type

use of model.Type in project uPMT by coco35700.

the class TypeTreeView method addFolder.

// method used to add a folder to the current cell
public void addFolder(int folderNumber) {
    TreeItem<TypeController> newTypeController = new TreeItem<TypeController>();
    Type nt = new Folder("Dossier " + folderNumber);
    TypeController tc;
    if (getItem().getType().getClass().equals(Schema.class)) {
        tc = new TypeController(nt, getTreeItem().getValue().getType());
    } else {
        tc = new TypeController(nt, getTreeItem().getParent().getValue().getType());
    }
    tc = new TypeController(nt, getTreeItem().getValue().getType());
    newTypeController.setValue(tc);
    getTreeItem().getChildren().add(newTypeController);
    getItem().getType().getTypes().add(nt);
    this.getTreeItem().setExpanded(true);
}
Also used : TypeController(controller.controller.TypeController) AlertType(javafx.scene.control.Alert.AlertType) ButtonType(javafx.scene.control.ButtonType) Type(model.Type) TreeItem(javafx.scene.control.TreeItem) Folder(model.Folder)

Example 13 with Type

use of model.Type in project uPMT by coco35700.

the class TypeTreeViewControllerProperty method rename.

@Override
public void rename() {
    super.rename();
    ChangeListener<Boolean> listener = new ChangeListener<Boolean>() {

        @Override
        public void changed(ObservableValue<? extends Boolean> arg0, Boolean oldPropertyValue, Boolean newPropertyValue) {
            if (!newPropertyValue) {
                if (type.getType().isProperty()) {
                    String oldName = new String(type.getType().getName());
                    if (!oldName.equals(textField.getText())) {
                        boolean hasName = false;
                        for (Type propriete : type.getParent().getTypes()) {
                            if (propriete.getName().equals(textField.getText())) {
                                hasName = true;
                                break;
                            }
                        }
                        if (!hasName) {
                            RenamePropertySchemeCommand cmd = new RenamePropertySchemeCommand(type.getRenamePropertyController(), oldName, textField.getText(), main);
                            cmd.execute();
                            UndoCollector.INSTANCE.add(cmd);
                        } else {
                            Alert alert = new Alert(AlertType.INFORMATION);
                            alert.setTitle(main._langBundle.getString("invalid_name"));
                            alert.setHeaderText(null);
                            alert.setContentText(main._langBundle.getString("properties_name_invalid"));
                            alert.show();
                        }
                    }
                }
                typePane.setLeft(nomType);
                rename.setDisable(false);
                textField.focusedProperty().removeListener(this);
            }
        }
    };
    textField.setOnKeyPressed(new EventHandler<KeyEvent>() {

        @Override
        public void handle(KeyEvent event) {
            if (event.getCode() == KeyCode.ENTER) {
                if (type.getType().isProperty()) {
                    textField.setText(textField.getText());
                }
                typePane.setLeft(nomType);
                rename.setDisable(false);
            }
            if (event.getCode() == KeyCode.ESCAPE) {
                typePane.setLeft(nomType);
                rename.setDisable(true);
            }
        }
    });
    textField.focusedProperty().addListener(listener);
    typePane.setLeft(textField);
    Platform.runLater(() -> textField.requestFocus());
    Platform.runLater(() -> textField.selectAll());
}
Also used : KeyEvent(javafx.scene.input.KeyEvent) RenamePropertySchemeCommand(controller.command.RenamePropertySchemeCommand) Type(model.Type) AlertType(javafx.scene.control.Alert.AlertType) ObservableValue(javafx.beans.value.ObservableValue) ChangeListener(javafx.beans.value.ChangeListener) Alert(javafx.scene.control.Alert)

Example 14 with Type

use of model.Type in project uPMT by coco35700.

the class TypeTreeViewControllerFolder method rename.

@Override
public void rename() {
    super.rename();
    ChangeListener<Boolean> listener = new ChangeListener<Boolean>() {

        @Override
        public void changed(ObservableValue<? extends Boolean> arg0, Boolean oldPropertyValue, Boolean newPropertyValue) {
            if (!newPropertyValue) {
                if (type.getType().isFolder()) {
                    String oldName = new String(type.getType().getName());
                    if (!oldName.equals(textField.getText())) {
                        boolean hasName = false;
                        for (Type folder : type.getParent().getTypes()) {
                            if (folder.getName().equals(textField.getText())) {
                                hasName = true;
                                break;
                            }
                        }
                        if (!hasName) {
                            RenameFolderSchemeCommand cmd = new RenameFolderSchemeCommand(ref, type.getType().getName(), textField.getText(), main);
                            cmd.execute();
                            UndoCollector.INSTANCE.add(cmd);
                        } else {
                            Alert alert = new Alert(AlertType.INFORMATION);
                            alert.setTitle(main._langBundle.getString("invalid_name"));
                            alert.setHeaderText(null);
                            alert.setContentText(main._langBundle.getString("folder_name_invalid"));
                            alert.show();
                        }
                    }
                }
                typePane.setLeft(nomType);
                rename.setDisable(false);
                textField.focusedProperty().removeListener(this);
            }
        }
    };
    textField.setOnKeyPressed(new EventHandler<KeyEvent>() {

        @Override
        public void handle(KeyEvent event) {
            if (event.getCode() == KeyCode.ENTER) {
                if (type.getType().isProperty()) {
                    textField.setText(textField.getText());
                }
                typePane.setLeft(nomType);
                rename.setDisable(false);
            }
            if (event.getCode() == KeyCode.ESCAPE) {
                typePane.setLeft(nomType);
                rename.setDisable(true);
            }
        }
    });
    textField.focusedProperty().addListener(listener);
    typePane.setLeft(textField);
    Platform.runLater(() -> textField.requestFocus());
    Platform.runLater(() -> textField.selectAll());
}
Also used : KeyEvent(javafx.scene.input.KeyEvent) Type(model.Type) AlertType(javafx.scene.control.Alert.AlertType) ObservableValue(javafx.beans.value.ObservableValue) ChangeListener(javafx.beans.value.ChangeListener) Alert(javafx.scene.control.Alert) RenameFolderSchemeCommand(controller.command.RenameFolderSchemeCommand)

Example 15 with Type

use of model.Type in project uPMT by coco35700.

the class SchemaTransformations method addTypeTreeView.

private static void addTypeTreeView(TreeItem<TypeController> tree, Type t) {
    if (!t.getTypes().isEmpty()) {
        TypeController tc = new TypeController(t, tree.getValue().getType());
        TreeItem<TypeController> node = new TreeItem<TypeController>(tc);
        node.setExpanded(true);
        tree.getChildren().add(node);
        for (Type s : t.getTypes()) {
            addTypeTreeView(node, s);
        }
    } else {
        TypeController tc = new TypeController(t, tree.getValue().getType());
        TreeItem<TypeController> node = new TreeItem<TypeController>(tc);
        tree.getChildren().add(node);
    }
}
Also used : TypeController(controller.controller.TypeController) Type(model.Type) TreeItem(javafx.scene.control.TreeItem)

Aggregations

Type (model.Type)14 Type (ca.uhn.hl7v2.model.Type)10 AlertType (javafx.scene.control.Alert.AlertType)8 ButtonType (javafx.scene.control.ButtonType)5 HL7Exception (ca.uhn.hl7v2.HL7Exception)4 TypeController (controller.controller.TypeController)4 Property (model.Property)4 Composite (ca.uhn.hl7v2.model.Composite)3 ChangeListener (javafx.beans.value.ChangeListener)3 ObservableValue (javafx.beans.value.ObservableValue)3 Alert (javafx.scene.control.Alert)3 TreeItem (javafx.scene.control.TreeItem)3 KeyEvent (javafx.scene.input.KeyEvent)3 Category (model.Category)3 Group (ca.uhn.hl7v2.model.Group)2 Segment (ca.uhn.hl7v2.model.Segment)2 Structure (ca.uhn.hl7v2.model.Structure)2 Varies (ca.uhn.hl7v2.model.Varies)2 ArrayList (java.util.ArrayList)2 TreeMap (java.util.TreeMap)2