Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
M
Mirai
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
Mirai
Commits
cf6408cb
Commit
cf6408cb
authored
Feb 17, 2020
by
ryoii
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
console graphical almost done
parent
71b1fb34
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
217 additions
and
35 deletions
+217
-35
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/MiraiGraphical.kt
...otlin/net/mamoe/mirai/console/graphical/MiraiGraphical.kt
+11
-2
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/controller/MiraiController.kt
...moe/mirai/console/graphical/controller/MiraiController.kt
+0
-31
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/controller/MiraiGraphicalUIController.kt
...onsole/graphical/controller/MiraiGraphicalUIController.kt
+66
-0
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/model/BotModel.kt
...otlin/net/mamoe/mirai/console/graphical/model/BotModel.kt
+13
-0
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/model/ConsoleInfo.kt
...in/net/mamoe/mirai/console/graphical/model/ConsoleInfo.kt
+17
-0
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/model/VerificationCodeModel.kt
...oe/mirai/console/graphical/model/VerificationCodeModel.kt
+17
-0
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/view/LoginFragment.kt
...n/net/mamoe/mirai/console/graphical/view/LoginFragment.kt
+27
-0
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/view/PrimaryView.kt
...lin/net/mamoe/mirai/console/graphical/view/PrimaryView.kt
+47
-2
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/view/VerificationCodeFragment.kt
.../mirai/console/graphical/view/VerificationCodeFragment.kt
+19
-0
No files found.
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/MiraiGraphical.kt
View file @
cf6408cb
package
net.mamoe.mirai.console.graphical
import
net.mamoe.mirai.console.MiraiConsole
import
net.mamoe.mirai.console.graphical.controller.MiraiGraphicalUIController
import
net.mamoe.mirai.console.graphical.view.PrimaryView
import
tornadofx.App
import
tornadofx.find
import
tornadofx.launch
fun
main
(
args
:
Array
<
String
>)
{
launch
<
M
ainApp
>(
args
)
launch
<
M
iraiGraphicalUI
>(
args
)
}
class
M
ainApp
:
App
(
PrimaryView
::
class
)
{
class
M
iraiGraphicalUI
:
App
(
PrimaryView
::
class
)
{
override
fun
init
()
{
super
.
init
()
MiraiConsole
.
start
(
find
<
MiraiGraphicalUIController
>())
}
override
fun
stop
()
{
super
.
stop
()
MiraiConsole
.
stop
()
}
}
\ No newline at end of file
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/controller/MiraiController.kt
deleted
100644 → 0
View file @
71b1fb34
package
net.mamoe.mirai.console.graphical.controller
import
net.mamoe.mirai.Bot
import
net.mamoe.mirai.console.MiraiConsoleUI
import
tornadofx.Controller
class
MiraiController
:
Controller
(),
MiraiConsoleUI
{
override
fun
pushLog
(
identity
:
Long
,
message
:
String
)
{
TODO
(
"not implemented"
)
//To change body of created functions use File | Settings | File Templates.
}
override
fun
prePushBot
(
identity
:
Long
)
{
TODO
(
"not implemented"
)
//To change body of created functions use File | Settings | File Templates.
}
override
fun
pushBot
(
bot
:
Bot
)
{
TODO
(
"not implemented"
)
//To change body of created functions use File | Settings | File Templates.
}
override
fun
pushVersion
(
consoleVersion
:
String
,
consoleBuild
:
String
,
coreVersion
:
String
)
{
TODO
(
"not implemented"
)
//To change body of created functions use File | Settings | File Templates.
}
override
suspend
fun
requestInput
(
question
:
String
):
String
{
TODO
(
"not implemented"
)
//To change body of created functions use File | Settings | File Templates.
}
override
fun
pushBotAdminStatus
(
identity
:
Long
,
admins
:
List
<
Long
>)
{
TODO
(
"not implemented"
)
//To change body of created functions use File | Settings | File Templates.
}
}
\ No newline at end of file
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/controller/MiraiGraphicalUIController.kt
0 → 100644
View file @
cf6408cb
package
net.mamoe.mirai.console.graphical.controller
import
javafx.application.Platform
import
javafx.stage.Modality
import
net.mamoe.mirai.Bot
import
net.mamoe.mirai.console.MiraiConsole
import
net.mamoe.mirai.console.MiraiConsoleUI
import
net.mamoe.mirai.console.graphical.model.BotModel
import
net.mamoe.mirai.console.graphical.model.ConsoleInfo
import
net.mamoe.mirai.console.graphical.model.VerificationCodeModel
import
net.mamoe.mirai.console.graphical.view.VerificationCodeFragment
import
tornadofx.Controller
import
tornadofx.Scope
import
tornadofx.find
import
tornadofx.observableListOf
class
MiraiGraphicalUIController
:
Controller
(),
MiraiConsoleUI
{
private
val
cache
=
mutableMapOf
<
Long
,
BotModel
>()
val
mainLog
=
observableListOf
<
String
>()
val
botList
=
observableListOf
<
BotModel
>()
val
consoleInfo
=
ConsoleInfo
()
fun
login
(
qq
:
String
,
psd
:
String
)
{
MiraiConsole
.
CommandListener
.
commandChannel
.
offer
(
"/login $qq $psd"
)
}
override
fun
pushLog
(
identity
:
Long
,
message
:
String
)
=
Platform
.
runLater
{
when
(
identity
)
{
0L
->
mainLog
.
add
(
message
)
else
->
cache
[
identity
]
?.
logHistory
?.
add
(
message
)
}
}
override
fun
prePushBot
(
identity
:
Long
)
=
Platform
.
runLater
{
BotModel
(
identity
).
also
{
cache
[
identity
]
=
it
botList
.
add
(
it
)
}
}
override
fun
pushBot
(
bot
:
Bot
)
=
Platform
.
runLater
{
cache
[
bot
.
uin
]
?.
bot
=
bot
}
override
fun
pushVersion
(
consoleVersion
:
String
,
consoleBuild
:
String
,
coreVersion
:
String
)
{
Platform
.
runLater
{
consoleInfo
.
consoleVersion
=
consoleVersion
consoleInfo
.
consoleBuild
=
consoleBuild
consoleInfo
.
coreVersion
=
coreVersion
}
}
override
suspend
fun
requestInput
(
question
:
String
):
String
{
val
model
=
VerificationCodeModel
()
find
<
VerificationCodeFragment
>(
Scope
(
model
)).
openModal
(
modality
=
Modality
.
APPLICATION_MODAL
,
resizable
=
false
)
return
model
.
code
.
value
}
override
fun
pushBotAdminStatus
(
identity
:
Long
,
admins
:
List
<
Long
>)
=
Platform
.
runLater
{
cache
[
identity
]
?.
admins
?.
setAll
(
admins
)
}
}
\ No newline at end of file
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/model/BotModel.kt
0 → 100644
View file @
cf6408cb
package
net.mamoe.mirai.console.graphical.model
import
javafx.beans.property.SimpleObjectProperty
import
net.mamoe.mirai.Bot
import
tornadofx.*
class
BotModel
(
val
uin
:
Long
)
{
val
botProperty
=
SimpleObjectProperty
<
Bot
>(
null
)
var
bot
:
Bot
by
botProperty
val
logHistory
=
observableListOf
<
String
>()
val
admins
=
observableListOf
<
Long
>()
}
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/model/ConsoleInfo.kt
0 → 100644
View file @
cf6408cb
package
net.mamoe.mirai.console.graphical.model
import
javafx.beans.property.SimpleStringProperty
import
tornadofx.setValue
import
tornadofx.getValue
class
ConsoleInfo
{
val
consoleVersionProperty
=
SimpleStringProperty
()
var
consoleVersion
by
consoleVersionProperty
val
consoleBuildProperty
=
SimpleStringProperty
()
var
consoleBuild
by
consoleBuildProperty
val
coreVersionProperty
=
SimpleStringProperty
()
var
coreVersion
by
coreVersionProperty
}
\ No newline at end of file
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/model/VerificationCodeModel.kt
0 → 100644
View file @
cf6408cb
package
net.mamoe.mirai.console.graphical.model
import
javafx.beans.property.SimpleStringProperty
import
tornadofx.ItemViewModel
import
tornadofx.getValue
import
tornadofx.setValue
class
VerificationCode
{
val
codeProperty
=
SimpleStringProperty
(
""
)
var
code
:
String
by
codeProperty
}
class
VerificationCodeModel
(
code
:
VerificationCode
)
:
ItemViewModel
<
VerificationCode
>(
code
)
{
constructor
():
this
(
VerificationCode
())
val
code
=
bind
(
VerificationCode
::
codeProperty
)
}
\ No newline at end of file
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/view/LoginFragment.kt
0 → 100644
View file @
cf6408cb
package
net.mamoe.mirai.console.graphical.view
import
javafx.beans.property.SimpleStringProperty
import
net.mamoe.mirai.console.graphical.controller.MiraiGraphicalUIController
import
tornadofx.*
class
LoginFragment
:
Fragment
()
{
private
val
controller
=
find
<
MiraiGraphicalUIController
>(
FX
.
defaultScope
)
private
val
qq
=
SimpleStringProperty
()
private
val
psd
=
SimpleStringProperty
()
override
val
root
=
form
{
fieldset
(
"登录"
)
{
field
(
"QQ"
)
{
textfield
(
qq
)
}
field
(
"密码"
)
{
passwordfield
(
psd
)
}
button
(
"登录"
).
action
{
controller
.
login
(
qq
.
value
,
psd
.
value
)
close
()
}
}
}
}
\ No newline at end of file
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/view/PrimaryView.kt
View file @
cf6408cb
package
net.mamoe.mirai.console.graphical.view
import
tornadofx.View
import
tornadofx.borderpane
import
javafx.scene.control.TabPane
import
javafx.stage.Modality
import
net.mamoe.mirai.Bot
import
net.mamoe.mirai.console.graphical.controller.MiraiGraphicalUIController
import
tornadofx.*
class
PrimaryView
:
View
()
{
private
val
controller
=
find
<
MiraiGraphicalUIController
>()
override
val
root
=
borderpane
{
top
=
menubar
{
menu
(
"机器人"
)
{
item
(
"登录"
).
action
{
find
<
LoginFragment
>().
openModal
(
modality
=
Modality
.
APPLICATION_MODAL
,
resizable
=
false
)
}
}
}
left
=
listview
(
controller
.
botList
)
{
fitToParentHeight
()
cellFormat
{
graphic
=
vbox
{
label
(
it
.
uin
.
toString
())
// label(stringBinding(it.botProperty) { if (value != null) value.nick else "登陆中" })
}
onDoubleClick
{
(
center
as
TabPane
).
tab
(
it
.
uin
.
toString
())
{
listview
(
it
.
logHistory
)
isClosable
=
true
select
()
}
}
}
}
center
=
tabpane
{
tab
(
"Main"
)
{
listview
(
controller
.
mainLog
)
isClosable
=
false
}
}
}
}
\ No newline at end of file
mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/view/VerificationCodeFragment.kt
0 → 100644
View file @
cf6408cb
package
net.mamoe.mirai.console.graphical.view
import
javafx.scene.Parent
import
tornadofx.*
class
VerificationCodeFragment
:
Fragment
()
{
override
val
root
=
vbox
{
//TODO: 显示验证码
form
{
fieldset
{
field
(
"验证码"
)
{
textfield
()
}
}
}
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment