diff --git a/src/main/kotlin/automaton/constructor/controller/AutomatonGraphController.kt b/src/main/kotlin/automaton/constructor/controller/AutomatonGraphController.kt index 604bfbb..d6cfb52 100644 --- a/src/main/kotlin/automaton/constructor/controller/AutomatonGraphController.kt +++ b/src/main/kotlin/automaton/constructor/controller/AutomatonGraphController.kt @@ -7,6 +7,8 @@ import automaton.constructor.model.element.* import automaton.constructor.utils.* import automaton.constructor.view.* import automaton.constructor.view.automaton.AutomatonGraphView +import automaton.constructor.view.elements.vertex.AutomatonVertexView +import automaton.constructor.view.elements.transition.TransitionView import javafx.geometry.Point2D import javafx.scene.control.ContextMenu import javafx.scene.input.KeyCode diff --git a/src/main/kotlin/automaton/constructor/view/AutomatonEdgeView.kt b/src/main/kotlin/automaton/constructor/view/AutomatonEdgeView.kt index 6e7812c..294831f 100644 --- a/src/main/kotlin/automaton/constructor/view/AutomatonEdgeView.kt +++ b/src/main/kotlin/automaton/constructor/view/AutomatonEdgeView.kt @@ -4,9 +4,11 @@ import automaton.constructor.model.element.AutomatonEdge import automaton.constructor.model.element.AutomatonVertex.Companion.RADIUS import automaton.constructor.model.element.Transition import automaton.constructor.utils.* -import automaton.constructor.view.AutomatonVertexView.ShapeType -import automaton.constructor.view.AutomatonVertexView.ShapeType.CIRCLE -import automaton.constructor.view.AutomatonVertexView.ShapeType.SQUARE +import automaton.constructor.view.elements.vertex.AutomatonVertexView +import automaton.constructor.view.elements.vertex.AutomatonVertexView.ShapeType +import automaton.constructor.view.elements.vertex.AutomatonVertexView.ShapeType.CIRCLE +import automaton.constructor.view.elements.vertex.AutomatonVertexView.ShapeType.SQUARE +import automaton.constructor.view.elements.transition.TransitionView import javafx.beans.binding.Bindings.isNotNull import javafx.beans.value.ObservableBooleanValue import javafx.beans.value.ObservableDoubleValue diff --git a/src/main/kotlin/automaton/constructor/view/automaton/AutomatonAdjacencyMatrixView.kt b/src/main/kotlin/automaton/constructor/view/automaton/AutomatonAdjacencyMatrixView.kt index ce1bdcb..81d323c 100644 --- a/src/main/kotlin/automaton/constructor/view/automaton/AutomatonAdjacencyMatrixView.kt +++ b/src/main/kotlin/automaton/constructor/view/automaton/AutomatonAdjacencyMatrixView.kt @@ -4,7 +4,7 @@ import automaton.constructor.model.automaton.Automaton import automaton.constructor.model.element.AutomatonVertex import automaton.constructor.model.element.Transition import automaton.constructor.utils.I18N -import automaton.constructor.view.AdjacencyMatrixTransitionView +import automaton.constructor.view.elements.transition.AdjacencyMatrixTransitionView import automaton.constructor.view.AutomatonViewContext import javafx.beans.property.ReadOnlyDoubleProperty import javafx.beans.property.SimpleObjectProperty diff --git a/src/main/kotlin/automaton/constructor/view/automaton/AutomatonGraphView.kt b/src/main/kotlin/automaton/constructor/view/automaton/AutomatonGraphView.kt index 6464d90..97e5140 100644 --- a/src/main/kotlin/automaton/constructor/view/automaton/AutomatonGraphView.kt +++ b/src/main/kotlin/automaton/constructor/view/automaton/AutomatonGraphView.kt @@ -10,7 +10,7 @@ import automaton.constructor.model.element.State import automaton.constructor.utils.hoverableTooltip import automaton.constructor.utils.subPane import automaton.constructor.view.AutomatonEdgeView -import automaton.constructor.view.AutomatonVertexView +import automaton.constructor.view.elements.vertex.AutomatonVertexView import automaton.constructor.view.AutomatonViewContext import automaton.constructor.view.module.executor.executionStatesTooltip import javafx.collections.MapChangeListener diff --git a/src/main/kotlin/automaton/constructor/view/automaton/AutomatonTableView.kt b/src/main/kotlin/automaton/constructor/view/automaton/AutomatonTableView.kt index 477d8fb..0c8f240 100644 --- a/src/main/kotlin/automaton/constructor/view/automaton/AutomatonTableView.kt +++ b/src/main/kotlin/automaton/constructor/view/automaton/AutomatonTableView.kt @@ -10,9 +10,9 @@ import automaton.constructor.model.element.Transition import automaton.constructor.utils.I18N import automaton.constructor.utils.addOnSuccess import automaton.constructor.utils.hoverableTooltip -import automaton.constructor.view.AutomatonTableVertexView +import automaton.constructor.view.elements.vertex.AutomatonTableVertexView import automaton.constructor.view.AutomatonViewContext -import automaton.constructor.view.TableTransitionView +import automaton.constructor.view.elements.transition.TableTransitionView import javafx.beans.property.ReadOnlyDoubleProperty import javafx.beans.property.SimpleObjectProperty import javafx.beans.property.SimpleStringProperty diff --git a/src/main/kotlin/automaton/constructor/view/automaton/AutomatonTransitionTableView.kt b/src/main/kotlin/automaton/constructor/view/automaton/AutomatonTransitionTableView.kt index 93777c1..ea68f1f 100644 --- a/src/main/kotlin/automaton/constructor/view/automaton/AutomatonTransitionTableView.kt +++ b/src/main/kotlin/automaton/constructor/view/automaton/AutomatonTransitionTableView.kt @@ -5,7 +5,7 @@ import automaton.constructor.model.element.AutomatonVertex import automaton.constructor.model.element.Transition import automaton.constructor.utils.I18N import automaton.constructor.view.AutomatonViewContext -import automaton.constructor.view.TransitionTableTransitionView +import automaton.constructor.view.elements.transition.TransitionTableTransitionView import javafx.beans.property.ReadOnlyDoubleProperty import javafx.beans.property.SimpleObjectProperty import javafx.scene.control.* diff --git a/src/main/kotlin/automaton/constructor/view/AdjacencyMatrixTransitionView.kt b/src/main/kotlin/automaton/constructor/view/elements/transition/AdjacencyMatrixTransitionView.kt similarity index 72% rename from src/main/kotlin/automaton/constructor/view/AdjacencyMatrixTransitionView.kt rename to src/main/kotlin/automaton/constructor/view/elements/transition/AdjacencyMatrixTransitionView.kt index 4a30baf..16ad760 100644 --- a/src/main/kotlin/automaton/constructor/view/AdjacencyMatrixTransitionView.kt +++ b/src/main/kotlin/automaton/constructor/view/elements/transition/AdjacencyMatrixTransitionView.kt @@ -1,6 +1,7 @@ -package automaton.constructor.view +package automaton.constructor.view.elements.transition import automaton.constructor.model.element.Transition +import automaton.constructor.view.elements.transition.TableTransitionView import javafx.scene.paint.Color import tornadofx.label @@ -11,4 +12,4 @@ class AdjacencyMatrixTransitionView(transition: Transition): TableTransitionView textFill = Color.BLACK } } -} \ No newline at end of file +} diff --git a/src/main/kotlin/automaton/constructor/view/TableTransitionView.kt b/src/main/kotlin/automaton/constructor/view/elements/transition/BasicTransitionView.kt similarity index 83% rename from src/main/kotlin/automaton/constructor/view/TableTransitionView.kt rename to src/main/kotlin/automaton/constructor/view/elements/transition/BasicTransitionView.kt index 7fd1c07..80b0e70 100644 --- a/src/main/kotlin/automaton/constructor/view/TableTransitionView.kt +++ b/src/main/kotlin/automaton/constructor/view/elements/transition/BasicTransitionView.kt @@ -1,13 +1,14 @@ -package automaton.constructor.view +package automaton.constructor.view.elements.transition import automaton.constructor.model.element.Transition import automaton.constructor.utils.I18N import automaton.constructor.utils.Setting import automaton.constructor.utils.SettingGroup import automaton.constructor.utils.createUnmodifiableSettingControl +import automaton.constructor.view.AutomatonElementView import tornadofx.toProperty -open class TableTransitionView(val transition: Transition): AutomatonElementView(transition) { +open class BasicTransitionView(val transition: Transition): AutomatonElementView(transition) { override fun getSettings() = listOf( SettingGroup( I18N.messages.getString("TransitionView.Transition").toProperty(), listOf( @@ -22,4 +23,4 @@ open class TableTransitionView(val transition: Transition): AutomatonElementView ) ) ) + super.getSettings() -} \ No newline at end of file +} diff --git a/src/main/kotlin/automaton/constructor/view/elements/transition/TableTransitionView.kt b/src/main/kotlin/automaton/constructor/view/elements/transition/TableTransitionView.kt new file mode 100644 index 0000000..9717589 --- /dev/null +++ b/src/main/kotlin/automaton/constructor/view/elements/transition/TableTransitionView.kt @@ -0,0 +1,6 @@ +package automaton.constructor.view.elements.transition + +import automaton.constructor.model.element.Transition +import automaton.constructor.view.elements.transition.BasicTransitionView + +open class TableTransitionView(transition: Transition): BasicTransitionView(transition) diff --git a/src/main/kotlin/automaton/constructor/view/TransitionTableTransitionView.kt b/src/main/kotlin/automaton/constructor/view/elements/transition/TransitionTableTransitionView.kt similarity index 92% rename from src/main/kotlin/automaton/constructor/view/TransitionTableTransitionView.kt rename to src/main/kotlin/automaton/constructor/view/elements/transition/TransitionTableTransitionView.kt index 199eb47..85a3a83 100644 --- a/src/main/kotlin/automaton/constructor/view/TransitionTableTransitionView.kt +++ b/src/main/kotlin/automaton/constructor/view/elements/transition/TransitionTableTransitionView.kt @@ -1,4 +1,4 @@ -package automaton.constructor.view +package automaton.constructor.view.elements.transition import automaton.constructor.model.element.Transition import javafx.scene.paint.Color @@ -22,4 +22,4 @@ class TransitionTableTransitionView(transition: Transition): TableTransitionView } } } -} \ No newline at end of file +} diff --git a/src/main/kotlin/automaton/constructor/view/TransitionView.kt b/src/main/kotlin/automaton/constructor/view/elements/transition/TransitionView.kt similarity index 55% rename from src/main/kotlin/automaton/constructor/view/TransitionView.kt rename to src/main/kotlin/automaton/constructor/view/elements/transition/TransitionView.kt index 7b1e162..76db5fe 100644 --- a/src/main/kotlin/automaton/constructor/view/TransitionView.kt +++ b/src/main/kotlin/automaton/constructor/view/elements/transition/TransitionView.kt @@ -1,7 +1,8 @@ -package automaton.constructor.view +package automaton.constructor.view.elements.transition import automaton.constructor.model.element.Transition import automaton.constructor.utils.* +import automaton.constructor.view.elements.transition.BasicTransitionView import javafx.beans.binding.Binding import javafx.beans.property.DoubleProperty import javafx.scene.paint.Color @@ -9,9 +10,9 @@ import javafx.scene.text.Font import tornadofx.* class TransitionView( - val transition: Transition, + transition: Transition, index: Int -) : AutomatonElementView(transition) { +) : BasicTransitionView(transition) { val indexProperty = index.toProperty() var index by indexProperty val xProperty: DoubleProperty @@ -21,21 +22,6 @@ class TransitionView( if (selected) Color.BLUE else Color.BLACK } - override fun getSettings() = listOf( - SettingGroup( - I18N.messages.getString("TransitionView.Transition").toProperty(), listOf( - Setting( - I18N.messages.getString("TransitionView.Source"), - createUnmodifiableSettingControl(transition.source.nameProperty) - ), - Setting( - I18N.messages.getString("TransitionView.Target"), - createUnmodifiableSettingControl(transition.target.nameProperty) - ) - ) - ) - ) + super.getSettings() - init { val text = text { fillProperty().bind(colorProperty) diff --git a/src/main/kotlin/automaton/constructor/view/AutomatonBasicVertexView.kt b/src/main/kotlin/automaton/constructor/view/elements/vertex/AutomatonBasicVertexView.kt similarity index 78% rename from src/main/kotlin/automaton/constructor/view/AutomatonBasicVertexView.kt rename to src/main/kotlin/automaton/constructor/view/elements/vertex/AutomatonBasicVertexView.kt index 31deb62..cafaf00 100644 --- a/src/main/kotlin/automaton/constructor/view/AutomatonBasicVertexView.kt +++ b/src/main/kotlin/automaton/constructor/view/elements/vertex/AutomatonBasicVertexView.kt @@ -1,17 +1,12 @@ -package automaton.constructor.view +package automaton.constructor.view.elements.vertex import automaton.constructor.model.element.AutomatonVertex -import automaton.constructor.model.element.BuildingBlock -import automaton.constructor.model.module.hasProblems -import automaton.constructor.model.module.hasProblemsBinding import automaton.constructor.utils.I18N import automaton.constructor.utils.Setting import automaton.constructor.utils.SettingGroup -import javafx.beans.property.SimpleIntegerProperty -import javafx.beans.property.SimpleStringProperty +import automaton.constructor.view.AutomatonElementView import javafx.scene.control.CheckBox import javafx.scene.control.TextField -import javafx.scene.paint.Color import tornadofx.* open class AutomatonBasicVertexView(val vertex: AutomatonVertex) : AutomatonElementView(vertex) { diff --git a/src/main/kotlin/automaton/constructor/view/AutomatonTableVertexView.kt b/src/main/kotlin/automaton/constructor/view/elements/vertex/AutomatonTableVertexView.kt similarity index 98% rename from src/main/kotlin/automaton/constructor/view/AutomatonTableVertexView.kt rename to src/main/kotlin/automaton/constructor/view/elements/vertex/AutomatonTableVertexView.kt index 4d3df1c..edfe375 100644 --- a/src/main/kotlin/automaton/constructor/view/AutomatonTableVertexView.kt +++ b/src/main/kotlin/automaton/constructor/view/elements/vertex/AutomatonTableVertexView.kt @@ -1,4 +1,4 @@ -package automaton.constructor.view +package automaton.constructor.view.elements.vertex import automaton.constructor.model.element.AutomatonVertex import automaton.constructor.model.element.BuildingBlock diff --git a/src/main/kotlin/automaton/constructor/view/AutomatonVertexView.kt b/src/main/kotlin/automaton/constructor/view/elements/vertex/AutomatonVertexView.kt similarity index 93% rename from src/main/kotlin/automaton/constructor/view/AutomatonVertexView.kt rename to src/main/kotlin/automaton/constructor/view/elements/vertex/AutomatonVertexView.kt index 55cfd79..a21d31a 100644 --- a/src/main/kotlin/automaton/constructor/view/AutomatonVertexView.kt +++ b/src/main/kotlin/automaton/constructor/view/elements/vertex/AutomatonVertexView.kt @@ -1,4 +1,4 @@ -package automaton.constructor.view +package automaton.constructor.view.elements.vertex import automaton.constructor.model.element.AutomatonVertex import automaton.constructor.model.element.AutomatonVertex.Companion.RADIUS @@ -6,9 +6,11 @@ import automaton.constructor.model.element.BuildingBlock import automaton.constructor.model.element.State import automaton.constructor.model.module.hasProblems import automaton.constructor.model.module.hasProblemsBinding -import automaton.constructor.utils.* -import automaton.constructor.view.AutomatonVertexView.ShapeType.CIRCLE -import automaton.constructor.view.AutomatonVertexView.ShapeType.SQUARE +import automaton.constructor.utils.nonNullObjectBinding +import automaton.constructor.utils.x +import automaton.constructor.utils.y +import automaton.constructor.view.elements.vertex.AutomatonVertexView.ShapeType.CIRCLE +import automaton.constructor.view.elements.vertex.AutomatonVertexView.ShapeType.SQUARE import javafx.beans.property.Property import javafx.geometry.Point2D import javafx.geometry.VPos diff --git a/src/main/kotlin/automaton/constructor/view/module/executor/tree/ExecutionNodeView.kt b/src/main/kotlin/automaton/constructor/view/module/executor/tree/ExecutionNodeView.kt index 21bfc20..364f6e2 100644 --- a/src/main/kotlin/automaton/constructor/view/module/executor/tree/ExecutionNodeView.kt +++ b/src/main/kotlin/automaton/constructor/view/module/executor/tree/ExecutionNodeView.kt @@ -6,7 +6,7 @@ import automaton.constructor.model.module.executor.SimpleExecutionState import automaton.constructor.model.module.executor.SuperExecutionState import automaton.constructor.utils.* import automaton.constructor.view.AutomatonEdgeView -import automaton.constructor.view.AutomatonVertexView +import automaton.constructor.view.elements.vertex.AutomatonVertexView import automaton.constructor.view.TransitionLabelPosition import automaton.constructor.view.module.executor.color import automaton.constructor.view.module.executor.simpleTooltipContent