TIScript and Golang |
I am showing a very simple example of TIScript. By the way it, not an official intro. I will give more details on TIScript in future posts. This post is just to show you a simple demo of TIScript. It's like Hello TIScript
GUI File
In this example, I am introducing something new in HTML file instead of the Golang file so, focus here.
So let's start with basic HTML that has just two elements an < H1> tag say press button and other is the button with id btn1
main.html
<html>
<head>
<style>
</style>
</head>
<body>
<h1>Press Button</h1>
<!-- You can use this sugar syntax
To define id use '#[id]' instead of 'id=[id]'
To define class use '.[class]' instead of using 'class=[class]'
Sciter Referance:
So, in below line we have defined button
having id btn1
-->
-->
<button #btn1 >That's My Name</button>
...
</body>
</html>
Introducing TIScript . Our GUI partner. Now on we have to work with TIScript which is going to glue between our HTML and gocode for processing
<html>
<head>
<style>
</style>
</head>
<body>
<h1>Press Button</h1>
<!-- You can use this sugar syntax
To define id use '#[id]' instead of 'id=[id]'
To define class use '.[class]' instead of using 'class=[class]'
So, in below line we have defined button
having id btn1
-->
-->
<button #btn1 >That's My Name</button>
<script type="text/tiscript">
// listen for click action
// on html element having id btn1
// in current view
// and on event we are showing a
// message box saying "Hello"
self#btn1.on("click", function(){
view.msgbox("Hello")
// this msgbox have same look as javascript , cool !
})
</script>
</body>
</html>
Here, you might be thinking about where the self is comming from !! right. Self is a variable kind of injected by TIScript itself. It points to the view (HTML) we are currently seeing. So you can also think self as a currently loaded HTML file ( at runtime ).
I am emphasizing on self because self will not the same as this case. Because if your project is large and you have shared TISscript then you might going to import TIScript file where script an HTML will be not belong to the same file and that's why your script will fail.
GoLang File
If you have read Hello Sciter Post then there is no change in this code so no need to explain. But if you have not read it till now you should read there as i have explained it there.
main.go
package main
import (
"github.com/fatih/color"
"github.com/sciter-sdk/go-sciter"
"github.com/sciter-sdk/go-sciter/window"
)
func main() {
rect := sciter.NewRect(100, 100, 300, 300)
window, _:= window.New(sciter.SW_MAIN|sciter.SW_CONTROLS|
sciter.SW_ENABLE_DEBUG, rect)
window.LoadFile("./hello.html")
window.SetTitle("Simple Input")
// Setting up stage for Harmony
window.Show()
window.Run()
}
msgbox due to TIScript Click Event |
Comments
Post a Comment