[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
|
||||
|
||||
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.SQLElement
|
||||
import com.bartlomiejpluta.base.editor.database.model.SQLTable
|
||||
@@ -104,6 +105,8 @@ class TablesListView : View() {
|
||||
|
||||
println()
|
||||
}
|
||||
|
||||
mainController.openQuery(Query())
|
||||
}
|
||||
|
||||
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.viewmodel.CodeVM
|
||||
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.viewmodel.EntitySetAssetDataVM
|
||||
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(
|
||||
findItem: (item: T) -> Boolean,
|
||||
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.list.ScriptFilesView
|
||||
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.query.QueryResultFragment
|
||||
import com.bartlomiejpluta.base.editor.database.viewmodel.QueryVM
|
||||
import com.bartlomiejpluta.base.editor.event.AppendBuildLogsEvent
|
||||
import com.bartlomiejpluta.base.editor.event.AppendProcessLogsEvent
|
||||
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")
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user