mirror of https://github.com/anoshenko/rui.git
Bug fixing
This commit is contained in:
parent
17bed2389b
commit
581f29e212
|
|
@ -13,6 +13,11 @@ type absoluteLayoutData struct {
|
||||||
|
|
||||||
// NewAbsoluteLayout create new AbsoluteLayout object and return it
|
// NewAbsoluteLayout create new AbsoluteLayout object and return it
|
||||||
func NewAbsoluteLayout(session Session, params Params) AbsoluteLayout {
|
func NewAbsoluteLayout(session Session, params Params) AbsoluteLayout {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(absoluteLayoutData)
|
view := new(absoluteLayoutData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,11 @@ type audioPlayerData struct {
|
||||||
|
|
||||||
// NewAudioPlayer create new MediaPlayer object and return it
|
// NewAudioPlayer create new MediaPlayer object and return it
|
||||||
func NewAudioPlayer(session Session, params Params) AudioPlayer {
|
func NewAudioPlayer(session Session, params Params) AudioPlayer {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(audioPlayerData)
|
view := new(audioPlayerData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,11 @@ type buttonData struct {
|
||||||
|
|
||||||
// NewButton create new Button object and return it
|
// NewButton create new Button object and return it
|
||||||
func NewButton(session Session, params Params) Button {
|
func NewButton(session Session, params Params) Button {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
button := new(buttonData)
|
button := new(buttonData)
|
||||||
button.init(session)
|
button.init(session)
|
||||||
setInitParams(button, params)
|
setInitParams(button, params)
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,11 @@ type canvasViewData struct {
|
||||||
|
|
||||||
// NewCanvasView creates the new custom draw view
|
// NewCanvasView creates the new custom draw view
|
||||||
func NewCanvasView(session Session, params Params) CanvasView {
|
func NewCanvasView(session Session, params Params) CanvasView {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(canvasViewData)
|
view := new(canvasViewData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,11 @@ type checkboxData struct {
|
||||||
|
|
||||||
// NewCheckbox create new Checkbox object and return it
|
// NewCheckbox create new Checkbox object and return it
|
||||||
func NewCheckbox(session Session, params Params) Checkbox {
|
func NewCheckbox(session Session, params Params) Checkbox {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(checkboxData)
|
view := new(checkboxData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,11 @@ type colorPickerData struct {
|
||||||
|
|
||||||
// NewColorPicker create new ColorPicker object and return it
|
// NewColorPicker create new ColorPicker object and return it
|
||||||
func NewColorPicker(session Session, params Params) ColorPicker {
|
func NewColorPicker(session Session, params Params) ColorPicker {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(colorPickerData)
|
view := new(colorPickerData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
|
|
@ -126,6 +126,11 @@ type columnLayoutData struct {
|
||||||
|
|
||||||
// NewColumnLayout create new ColumnLayout object and return it
|
// NewColumnLayout create new ColumnLayout object and return it
|
||||||
func NewColumnLayout(session Session, params Params) ColumnLayout {
|
func NewColumnLayout(session Session, params Params) ColumnLayout {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(columnLayoutData)
|
view := new(columnLayoutData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,16 @@ type CustomViewData struct {
|
||||||
|
|
||||||
// InitCustomView initializes fields of CustomView by default values
|
// InitCustomView initializes fields of CustomView by default values
|
||||||
func InitCustomView(customView CustomView, tag string, session Session, params Params) bool {
|
func InitCustomView(customView CustomView, tag string, session Session, params Params) bool {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
if customView == nil {
|
||||||
|
ErrorLog(`the customView argument cannot be nil`)
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
customView.setTag(tag)
|
customView.setTag(tag)
|
||||||
if view := customView.CreateSuperView(session); view != nil {
|
if view := customView.CreateSuperView(session); view != nil {
|
||||||
customView.setSuperView(view)
|
customView.setSuperView(view)
|
||||||
|
|
|
||||||
|
|
@ -123,6 +123,11 @@ type datePickerData struct {
|
||||||
|
|
||||||
// NewDatePicker create new DatePicker object and return it
|
// NewDatePicker create new DatePicker object and return it
|
||||||
func NewDatePicker(session Session, params Params) DatePicker {
|
func NewDatePicker(session Session, params Params) DatePicker {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(datePickerData)
|
view := new(datePickerData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,11 @@ type detailsViewData struct {
|
||||||
|
|
||||||
// NewDetailsView create new DetailsView object and return it
|
// NewDetailsView create new DetailsView object and return it
|
||||||
func NewDetailsView(session Session, params Params) DetailsView {
|
func NewDetailsView(session Session, params Params) DetailsView {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(detailsViewData)
|
view := new(detailsViewData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,11 @@ type dropDownListData struct {
|
||||||
|
|
||||||
// NewDropDownList create new DropDownList object and return it
|
// NewDropDownList create new DropDownList object and return it
|
||||||
func NewDropDownList(session Session, params Params) DropDownList {
|
func NewDropDownList(session Session, params Params) DropDownList {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(dropDownListData)
|
view := new(dropDownListData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
|
|
@ -106,6 +106,11 @@ type editViewData struct {
|
||||||
|
|
||||||
// NewEditView create new EditView object and return it
|
// NewEditView create new EditView object and return it
|
||||||
func NewEditView(session Session, params Params) EditView {
|
func NewEditView(session Session, params Params) EditView {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(editViewData)
|
view := new(editViewData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
|
|
@ -114,6 +114,11 @@ func (file FileInfo) key() string {
|
||||||
|
|
||||||
// NewFilePicker create new FilePicker object and return it
|
// NewFilePicker create new FilePicker object and return it
|
||||||
func NewFilePicker(session Session, params Params) FilePicker {
|
func NewFilePicker(session Session, params Params) FilePicker {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(filePickerData)
|
view := new(filePickerData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
|
|
@ -119,6 +119,11 @@ type gridLayoutData struct {
|
||||||
|
|
||||||
// NewGridLayout create new GridLayout object and return it
|
// NewGridLayout create new GridLayout object and return it
|
||||||
func NewGridLayout(session Session, params Params) GridLayout {
|
func NewGridLayout(session Session, params Params) GridLayout {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(gridLayoutData)
|
view := new(gridLayoutData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
5
image.go
5
image.go
|
|
@ -143,6 +143,11 @@ func (manager *imageManager) imageLoadError(obj DataObject) {
|
||||||
|
|
||||||
// LoadImage starts the async image loading by url
|
// LoadImage starts the async image loading by url
|
||||||
func LoadImage(url string, onLoaded func(Image), session Session) Image {
|
func LoadImage(url string, onLoaded func(Image), session Session) Image {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
if ok, constName := isConstantName(url); ok {
|
if ok, constName := isConstantName(url); ok {
|
||||||
if image, ok := session.ImageConstant(constName); ok {
|
if image, ok := session.ImageConstant(constName); ok {
|
||||||
url = image
|
url = image
|
||||||
|
|
|
||||||
|
|
@ -81,6 +81,11 @@ type imageViewData struct {
|
||||||
|
|
||||||
// NewImageView create new ImageView object and return it
|
// NewImageView create new ImageView object and return it
|
||||||
func NewImageView(session Session, params Params) ImageView {
|
func NewImageView(session Session, params Params) ImageView {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(imageViewData)
|
view := new(imageViewData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,11 @@ type listLayoutData struct {
|
||||||
|
|
||||||
// NewListLayout create new ListLayout object and return it
|
// NewListLayout create new ListLayout object and return it
|
||||||
func NewListLayout(session Session, params Params) ListLayout {
|
func NewListLayout(session Session, params Params) ListLayout {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(listLayoutData)
|
view := new(listLayoutData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
|
|
@ -139,6 +139,11 @@ type listViewData struct {
|
||||||
|
|
||||||
// NewListView creates the new list view
|
// NewListView creates the new list view
|
||||||
func NewListView(session Session, params Params) ListView {
|
func NewListView(session Session, params Params) ListView {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(listViewData)
|
view := new(listViewData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
|
|
@ -114,6 +114,11 @@ type numberPickerData struct {
|
||||||
|
|
||||||
// NewNumberPicker create new NumberPicker object and return it
|
// NewNumberPicker create new NumberPicker object and return it
|
||||||
func NewNumberPicker(session Session, params Params) NumberPicker {
|
func NewNumberPicker(session Session, params Params) NumberPicker {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(numberPickerData)
|
view := new(numberPickerData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
13
popup.go
13
popup.go
|
|
@ -1538,6 +1538,7 @@ func (popup *popupData) createLayerView() {
|
||||||
// NewPopup creates a new Popup
|
// NewPopup creates a new Popup
|
||||||
func NewPopup(view View, param Params) Popup {
|
func NewPopup(view View, param Params) Popup {
|
||||||
if view == nil {
|
if view == nil {
|
||||||
|
ErrorLog(`the View argument cannot be nil`)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1567,7 +1568,7 @@ func NewPopup(view View, param Params) Popup {
|
||||||
// If the function fails, it returns nil and an error message is written to the log.
|
// If the function fails, it returns nil and an error message is written to the log.
|
||||||
func CreatePopupFromObject(session Session, object DataObject, binding any) Popup {
|
func CreatePopupFromObject(session Session, object DataObject, binding any) Popup {
|
||||||
if session == nil {
|
if session == nil {
|
||||||
ErrorLog(`"session" argument is nil`)
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1604,6 +1605,11 @@ func CreatePopupFromObject(session Session, object DataObject, binding any) Popu
|
||||||
//
|
//
|
||||||
// If the function fails, it returns nil and an error message is written to the log.
|
// If the function fails, it returns nil and an error message is written to the log.
|
||||||
func CreatePopupFromText(session Session, text string, binding any) Popup {
|
func CreatePopupFromText(session Session, text string, binding any) Popup {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
data, err := ParseDataText(text)
|
data, err := ParseDataText(text)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ErrorLog(err.Error())
|
ErrorLog(err.Error())
|
||||||
|
|
@ -1621,6 +1627,11 @@ func CreatePopupFromText(session Session, text string, binding any) Popup {
|
||||||
//
|
//
|
||||||
// If the function fails, it returns nil and an error message is written to the log.
|
// If the function fails, it returns nil and an error message is written to the log.
|
||||||
func CreatePopupFromResources(session Session, name string, binding any) Popup {
|
func CreatePopupFromResources(session Session, name string, binding any) Popup {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
if strings.ToLower(filepath.Ext(name)) != ".rui" {
|
if strings.ToLower(filepath.Ext(name)) != ".rui" {
|
||||||
name += ".rui"
|
name += ".rui"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,11 @@ type progressBarData struct {
|
||||||
|
|
||||||
// NewProgressBar create new ProgressBar object and return it
|
// NewProgressBar create new ProgressBar object and return it
|
||||||
func NewProgressBar(session Session, params Params) ProgressBar {
|
func NewProgressBar(session Session, params Params) ProgressBar {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(progressBarData)
|
view := new(progressBarData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,11 @@ type resizableData struct {
|
||||||
|
|
||||||
// NewResizable create new Resizable object and return it
|
// NewResizable create new Resizable object and return it
|
||||||
func NewResizable(session Session, params Params) Resizable {
|
func NewResizable(session Session, params Params) Resizable {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(resizableData)
|
view := new(resizableData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
224
ruiWriter.go
224
ruiWriter.go
|
|
@ -1,224 +0,0 @@
|
||||||
package rui
|
|
||||||
|
|
||||||
/*
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"strconv"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
type ruiWriter interface {
|
|
||||||
startObject(tag string)
|
|
||||||
startObjectProperty(tag, objectTag string)
|
|
||||||
endObject()
|
|
||||||
startArrayProperty(tag string)
|
|
||||||
endObArray()
|
|
||||||
writeProperty(tag string, value any)
|
|
||||||
finish() string
|
|
||||||
}
|
|
||||||
|
|
||||||
type ruiStringer interface {
|
|
||||||
ruiString(writer ruiWriter)
|
|
||||||
}
|
|
||||||
|
|
||||||
type ruiWriterData struct {
|
|
||||||
buffer *strings.Builder
|
|
||||||
indent string
|
|
||||||
}
|
|
||||||
|
|
||||||
func newRUIWriter() ruiWriter {
|
|
||||||
writer := new(ruiWriterData)
|
|
||||||
return writer
|
|
||||||
}
|
|
||||||
|
|
||||||
func (writer *ruiWriterData) writeIndent() {
|
|
||||||
if writer.buffer == nil {
|
|
||||||
writer.buffer = allocStringBuilder()
|
|
||||||
writer.indent = ""
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if writer.indent != "" {
|
|
||||||
writer.buffer.WriteString(writer.indent)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (writer *ruiWriterData) writeString(str string) {
|
|
||||||
hasEsc := strings.ContainsAny(str, "\t\"\r\n")
|
|
||||||
if hasEsc || strings.ContainsAny(str, " ,;'`[]{}()") {
|
|
||||||
if !strings.Contains(str, "`") && (hasEsc || strings.Contains(str, `\`)) {
|
|
||||||
writer.buffer.WriteRune('`')
|
|
||||||
writer.buffer.WriteString(str)
|
|
||||||
writer.buffer.WriteRune('`')
|
|
||||||
} else {
|
|
||||||
replace := []struct{ old, new string }{
|
|
||||||
{old: `\`, new: `\\`},
|
|
||||||
{old: "\t", new: `\t`},
|
|
||||||
{old: "\r", new: `\r`},
|
|
||||||
{old: "\n", new: `\n`},
|
|
||||||
{old: "\"", new: `\"`},
|
|
||||||
}
|
|
||||||
for _, s := range replace {
|
|
||||||
str = strings.ReplaceAll(str, s.old, s.new)
|
|
||||||
}
|
|
||||||
writer.buffer.WriteRune('"')
|
|
||||||
writer.buffer.WriteString(str)
|
|
||||||
writer.buffer.WriteRune('"')
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
writer.buffer.WriteString(str)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (writer *ruiWriterData) startObject(tag string) {
|
|
||||||
writer.writeIndent()
|
|
||||||
writer.indent += "\t"
|
|
||||||
writer.writeString(tag)
|
|
||||||
writer.buffer.WriteString(" {\n")
|
|
||||||
}
|
|
||||||
|
|
||||||
func (writer *ruiWriterData) startObjectProperty(tag, objectTag string) {
|
|
||||||
writer.writeIndent()
|
|
||||||
writer.indent += "\t"
|
|
||||||
writer.writeString(tag)
|
|
||||||
writer.writeString(" = ")
|
|
||||||
if objectTag == "" {
|
|
||||||
objectTag = "_"
|
|
||||||
}
|
|
||||||
writer.writeString(objectTag)
|
|
||||||
writer.buffer.WriteString(" {\n")
|
|
||||||
}
|
|
||||||
|
|
||||||
func (writer *ruiWriterData) endObject() {
|
|
||||||
if len(writer.indent) > 0 {
|
|
||||||
writer.indent = writer.indent[1:]
|
|
||||||
}
|
|
||||||
writer.writeIndent()
|
|
||||||
writer.buffer.WriteRune('}')
|
|
||||||
}
|
|
||||||
|
|
||||||
func (writer *ruiWriterData) startArrayProperty(tag string) {
|
|
||||||
writer.writeIndent()
|
|
||||||
writer.writeString(tag)
|
|
||||||
writer.buffer.WriteString(" = [\n")
|
|
||||||
writer.indent += "\t"
|
|
||||||
}
|
|
||||||
|
|
||||||
func (writer *ruiWriterData) endObArray() {
|
|
||||||
if len(writer.indent) > 0 {
|
|
||||||
writer.indent = writer.indent[1:]
|
|
||||||
}
|
|
||||||
writer.writeIndent()
|
|
||||||
writer.buffer.WriteString("],\n")
|
|
||||||
}
|
|
||||||
|
|
||||||
func (writer *ruiWriterData) writeValue(value any) {
|
|
||||||
|
|
||||||
switch value := value.(type) {
|
|
||||||
case string:
|
|
||||||
writer.writeString(value)
|
|
||||||
|
|
||||||
case ruiStringer:
|
|
||||||
value.ruiString(writer)
|
|
||||||
// TODO
|
|
||||||
|
|
||||||
case fmt.Stringer:
|
|
||||||
writer.writeString(value.String())
|
|
||||||
|
|
||||||
case float32:
|
|
||||||
writer.writeString(fmt.Sprintf("%g", float64(value)))
|
|
||||||
|
|
||||||
case float64:
|
|
||||||
writer.writeString(fmt.Sprintf("%g", value))
|
|
||||||
|
|
||||||
case []string:
|
|
||||||
switch len(value) {
|
|
||||||
case 0:
|
|
||||||
writer.buffer.WriteString("[]\n")
|
|
||||||
|
|
||||||
case 1:
|
|
||||||
writer.writeString(value[0])
|
|
||||||
|
|
||||||
default:
|
|
||||||
writer.buffer.WriteString("[\n")
|
|
||||||
writer.indent += "\t"
|
|
||||||
for _, v := range value {
|
|
||||||
writer.buffer.WriteString(writer.indent)
|
|
||||||
writer.writeString(v)
|
|
||||||
writer.buffer.WriteString(",\n")
|
|
||||||
}
|
|
||||||
|
|
||||||
writer.indent = writer.indent[1:]
|
|
||||||
writer.buffer.WriteString(writer.indent)
|
|
||||||
writer.buffer.WriteRune(']')
|
|
||||||
}
|
|
||||||
|
|
||||||
case []View:
|
|
||||||
switch len(value) {
|
|
||||||
case 0:
|
|
||||||
writer.buffer.WriteString("[]\n")
|
|
||||||
|
|
||||||
case 1:
|
|
||||||
writer.writeValue(value[0])
|
|
||||||
|
|
||||||
default:
|
|
||||||
writer.buffer.WriteString("[\n")
|
|
||||||
writer.indent += "\t"
|
|
||||||
for _, v := range value {
|
|
||||||
writer.buffer.WriteString(writer.indent)
|
|
||||||
v.ruiString(writer)
|
|
||||||
writer.buffer.WriteString(",\n")
|
|
||||||
}
|
|
||||||
|
|
||||||
writer.indent = writer.indent[1:]
|
|
||||||
writer.buffer.WriteString(writer.indent)
|
|
||||||
writer.buffer.WriteRune(']')
|
|
||||||
}
|
|
||||||
|
|
||||||
case []any:
|
|
||||||
switch len(value) {
|
|
||||||
case 0:
|
|
||||||
writer.buffer.WriteString("[]\n")
|
|
||||||
|
|
||||||
case 1:
|
|
||||||
writer.writeValue(value[0])
|
|
||||||
|
|
||||||
default:
|
|
||||||
writer.buffer.WriteString("[\n")
|
|
||||||
writer.indent += "\t"
|
|
||||||
for _, v := range value {
|
|
||||||
writer.buffer.WriteString(writer.indent)
|
|
||||||
writer.writeValue(v)
|
|
||||||
writer.buffer.WriteString(",\n")
|
|
||||||
}
|
|
||||||
|
|
||||||
writer.indent = writer.indent[1:]
|
|
||||||
writer.buffer.WriteString(writer.indent)
|
|
||||||
writer.buffer.WriteRune(']')
|
|
||||||
}
|
|
||||||
|
|
||||||
default:
|
|
||||||
if n, ok := isInt(value); ok {
|
|
||||||
writer.buffer.WriteString(strconv.Itoa(n))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
writer.buffer.WriteString(",\n")
|
|
||||||
}
|
|
||||||
|
|
||||||
func (writer *ruiWriterData) writeProperty(tag string, value any) {
|
|
||||||
writer.writeIndent()
|
|
||||||
writer.writeString(tag)
|
|
||||||
writer.buffer.WriteString(" = ")
|
|
||||||
writer.writeValue(value)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (writer *ruiWriterData) finish() string {
|
|
||||||
result := ""
|
|
||||||
if writer.buffer != nil {
|
|
||||||
result = writer.buffer.String()
|
|
||||||
freeStringBuilder(writer.buffer)
|
|
||||||
writer.buffer = nil
|
|
||||||
}
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
@ -311,6 +311,11 @@ type stackLayoutData struct {
|
||||||
|
|
||||||
// NewStackLayout create new StackLayout object and return it
|
// NewStackLayout create new StackLayout object and return it
|
||||||
func NewStackLayout(session Session, params Params) StackLayout {
|
func NewStackLayout(session Session, params Params) StackLayout {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(stackLayoutData)
|
view := new(stackLayoutData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,11 @@ type svgImageViewData struct {
|
||||||
|
|
||||||
// NewSvgImageView create new SvgImageView object and return it
|
// NewSvgImageView create new SvgImageView object and return it
|
||||||
func NewSvgImageView(session Session, params Params) SvgImageView {
|
func NewSvgImageView(session Session, params Params) SvgImageView {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(svgImageViewData)
|
view := new(svgImageViewData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
|
|
@ -578,6 +578,11 @@ type tableCellView struct {
|
||||||
|
|
||||||
// NewTableView create new TableView object and return it
|
// NewTableView create new TableView object and return it
|
||||||
func NewTableView(session Session, params Params) TableView {
|
func NewTableView(session Session, params Params) TableView {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(tableViewData)
|
view := new(tableViewData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
|
|
@ -147,6 +147,11 @@ type tabsLayoutData struct {
|
||||||
|
|
||||||
// NewTabsLayout create new TabsLayout object and return it
|
// NewTabsLayout create new TabsLayout object and return it
|
||||||
func NewTabsLayout(session Session, params Params) TabsLayout {
|
func NewTabsLayout(session Session, params Params) TabsLayout {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(tabsLayoutData)
|
view := new(tabsLayoutData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,11 @@ type textViewData struct {
|
||||||
|
|
||||||
// NewTextView create new TextView object and return it
|
// NewTextView create new TextView object and return it
|
||||||
func NewTextView(session Session, params Params) TextView {
|
func NewTextView(session Session, params Params) TextView {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(textViewData)
|
view := new(textViewData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
|
|
@ -105,6 +105,11 @@ type timePickerData struct {
|
||||||
|
|
||||||
// NewTimePicker create new TimePicker object and return it
|
// NewTimePicker create new TimePicker object and return it
|
||||||
func NewTimePicker(session Session, params Params) TimePicker {
|
func NewTimePicker(session Session, params Params) TimePicker {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(timePickerData)
|
view := new(timePickerData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,11 @@ type videoPlayerData struct {
|
||||||
|
|
||||||
// NewVideoPlayer create new MediaPlayer object and return it
|
// NewVideoPlayer create new MediaPlayer object and return it
|
||||||
func NewVideoPlayer(session Session, params Params) VideoPlayer {
|
func NewVideoPlayer(session Session, params Params) VideoPlayer {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(videoPlayerData)
|
view := new(videoPlayerData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
5
view.go
5
view.go
|
|
@ -142,6 +142,11 @@ func newView(session Session) View {
|
||||||
|
|
||||||
// NewView create new View object and return it
|
// NewView create new View object and return it
|
||||||
func NewView(session Session, params Params) View {
|
func NewView(session Session, params Params) View {
|
||||||
|
if session == nil {
|
||||||
|
ErrorLog(`the Session argument cannot be nil`)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
view := new(viewData)
|
view := new(viewData)
|
||||||
view.init(session)
|
view.init(session)
|
||||||
setInitParams(view, params)
|
setInitParams(view, params)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue