[Editor] Create scaffolding for query result table view
This commit is contained in:
@@ -0,0 +1,4 @@
|
|||||||
|
package com.bartlomiejpluta.base.editor.database.model
|
||||||
|
|
||||||
|
class Query {
|
||||||
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.bartlomiejpluta.base.editor.database.view.list
|
package com.bartlomiejpluta.base.editor.database.view.list
|
||||||
|
|
||||||
import com.bartlomiejpluta.base.editor.database.component.SQLElementCell
|
import com.bartlomiejpluta.base.editor.database.component.SQLElementCell
|
||||||
|
import com.bartlomiejpluta.base.editor.database.model.Query
|
||||||
import com.bartlomiejpluta.base.editor.database.model.SQLDatabase
|
import com.bartlomiejpluta.base.editor.database.model.SQLDatabase
|
||||||
import com.bartlomiejpluta.base.editor.database.model.SQLElement
|
import com.bartlomiejpluta.base.editor.database.model.SQLElement
|
||||||
import com.bartlomiejpluta.base.editor.database.model.SQLTable
|
import com.bartlomiejpluta.base.editor.database.model.SQLTable
|
||||||
@@ -104,6 +105,8 @@ class TablesListView : View() {
|
|||||||
|
|
||||||
println()
|
println()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mainController.openQuery(Query())
|
||||||
}
|
}
|
||||||
|
|
||||||
refresh()
|
refresh()
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package com.bartlomiejpluta.base.editor.database.view.query
|
||||||
|
|
||||||
|
import com.bartlomiejpluta.base.editor.main.component.EditorFragment
|
||||||
|
import javafx.scene.input.KeyEvent
|
||||||
|
|
||||||
|
class QueryResultFragment : EditorFragment() {
|
||||||
|
private val editorView = find<QueryResultView>()
|
||||||
|
|
||||||
|
override val root = editorView.root
|
||||||
|
|
||||||
|
override fun handleShortcut(event: KeyEvent) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
package com.bartlomiejpluta.base.editor.database.view.query
|
||||||
|
|
||||||
|
import tornadofx.View
|
||||||
|
import tornadofx.borderpane
|
||||||
|
import tornadofx.toolbar
|
||||||
|
|
||||||
|
class QueryResultView : View() {
|
||||||
|
override val root = borderpane {
|
||||||
|
top = toolbar {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package com.bartlomiejpluta.base.editor.database.viewmodel
|
||||||
|
|
||||||
|
import com.bartlomiejpluta.base.editor.database.model.Query
|
||||||
|
import tornadofx.ItemViewModel
|
||||||
|
|
||||||
|
class QueryVM(query: Query) : ItemViewModel<Query>(query) {
|
||||||
|
}
|
||||||
@@ -9,6 +9,8 @@ import com.bartlomiejpluta.base.editor.code.model.Code
|
|||||||
import com.bartlomiejpluta.base.editor.code.model.CodeScope
|
import com.bartlomiejpluta.base.editor.code.model.CodeScope
|
||||||
import com.bartlomiejpluta.base.editor.code.viewmodel.CodeVM
|
import com.bartlomiejpluta.base.editor.code.viewmodel.CodeVM
|
||||||
import com.bartlomiejpluta.base.editor.command.context.UndoableScope
|
import com.bartlomiejpluta.base.editor.command.context.UndoableScope
|
||||||
|
import com.bartlomiejpluta.base.editor.database.model.Query
|
||||||
|
import com.bartlomiejpluta.base.editor.database.viewmodel.QueryVM
|
||||||
import com.bartlomiejpluta.base.editor.entityset.view.importing.ImportEntitySetFragment
|
import com.bartlomiejpluta.base.editor.entityset.view.importing.ImportEntitySetFragment
|
||||||
import com.bartlomiejpluta.base.editor.entityset.viewmodel.EntitySetAssetDataVM
|
import com.bartlomiejpluta.base.editor.entityset.viewmodel.EntitySetAssetDataVM
|
||||||
import com.bartlomiejpluta.base.editor.event.SelectMainViewTabEvent
|
import com.bartlomiejpluta.base.editor.event.SelectMainViewTabEvent
|
||||||
@@ -118,6 +120,16 @@ class MainController : Controller() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun openQuery(query: Query) {
|
||||||
|
openItem<Query, Scope>({ false }, {}) {
|
||||||
|
val vm = QueryVM(query)
|
||||||
|
val scope = Scope()
|
||||||
|
setInScope(vm, scope)
|
||||||
|
|
||||||
|
scope to query
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private inline fun <reified T, S : Scope> openItem(
|
private inline fun <reified T, S : Scope> openItem(
|
||||||
findItem: (item: T) -> Boolean,
|
findItem: (item: T) -> Boolean,
|
||||||
updateExistingScope: (S) -> Unit = {},
|
updateExistingScope: (S) -> Unit = {},
|
||||||
|
|||||||
@@ -6,7 +6,10 @@ import com.bartlomiejpluta.base.editor.code.view.build.BuildLogsView
|
|||||||
import com.bartlomiejpluta.base.editor.code.view.editor.CodeEditorFragment
|
import com.bartlomiejpluta.base.editor.code.view.editor.CodeEditorFragment
|
||||||
import com.bartlomiejpluta.base.editor.code.view.list.ScriptFilesView
|
import com.bartlomiejpluta.base.editor.code.view.list.ScriptFilesView
|
||||||
import com.bartlomiejpluta.base.editor.code.viewmodel.CodeVM
|
import com.bartlomiejpluta.base.editor.code.viewmodel.CodeVM
|
||||||
|
import com.bartlomiejpluta.base.editor.database.model.Query
|
||||||
import com.bartlomiejpluta.base.editor.database.view.list.TablesListView
|
import com.bartlomiejpluta.base.editor.database.view.list.TablesListView
|
||||||
|
import com.bartlomiejpluta.base.editor.database.view.query.QueryResultFragment
|
||||||
|
import com.bartlomiejpluta.base.editor.database.viewmodel.QueryVM
|
||||||
import com.bartlomiejpluta.base.editor.event.AppendBuildLogsEvent
|
import com.bartlomiejpluta.base.editor.event.AppendBuildLogsEvent
|
||||||
import com.bartlomiejpluta.base.editor.event.AppendProcessLogsEvent
|
import com.bartlomiejpluta.base.editor.event.AppendProcessLogsEvent
|
||||||
import com.bartlomiejpluta.base.editor.event.SelectMainViewTabEvent
|
import com.bartlomiejpluta.base.editor.event.SelectMainViewTabEvent
|
||||||
@@ -175,6 +178,17 @@ class MainView : View("BASE Game Editor") {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
is Query -> {
|
||||||
|
val vm = QueryVM(item)
|
||||||
|
setInScope(vm, scope)
|
||||||
|
|
||||||
|
EditorTab(find<QueryResultFragment>(scope), FontIcon("fa-table")).apply {
|
||||||
|
text = "SQL Query"
|
||||||
|
|
||||||
|
setOnClosed { mainController.openItems.remove(scope) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
else -> throw IllegalStateException("Unsupported tab item")
|
else -> throw IllegalStateException("Unsupported tab item")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user