mirror of https://github.com/anoshenko/rui.git
Added "cell-vertical-self-align", and "cell-horizontal-self-align" properties
This commit is contained in:
parent
8bfa759230
commit
dcc69ad777
|
@ -1,6 +1,7 @@
|
||||||
# v0.14.0
|
# v0.14.0
|
||||||
* Added the ability to work without creating a WebSocket. Added NoSocket property of AppParams.
|
* Added the ability to work without creating a WebSocket. Added NoSocket property of AppParams.
|
||||||
* Added the ability to run a timer on the client side. Added StartTimer and StopTimer methods to Session interface.
|
* Added the ability to run a timer on the client side. Added StartTimer and StopTimer methods to Session interface.
|
||||||
|
* Added "cell-vertical-self-align", and "cell-horizontal-self-align" properties
|
||||||
* Bug fixing
|
* Bug fixing
|
||||||
|
|
||||||
# v0.13.x
|
# v0.13.x
|
||||||
|
|
16
README.md
16
README.md
|
@ -2465,9 +2465,10 @@ The SizeUnit value of type SizeInFraction can be either integer or fractional.
|
||||||
The "grid-row-gap" and "grid-column-gap" SizeUnit properties (GridRowGap and GridColumnGap constants)
|
The "grid-row-gap" and "grid-column-gap" SizeUnit properties (GridRowGap and GridColumnGap constants)
|
||||||
allow you to set the distance between the rows and columns of the container, respectively. The default is 0px.
|
allow you to set the distance between the rows and columns of the container, respectively. The default is 0px.
|
||||||
|
|
||||||
### "cell-vertical-align" property
|
### "cell-vertical-align" and "cell-vertical-self-align" properties
|
||||||
|
|
||||||
The "cell-vertical-align" property (constant CellVerticalAlign) of type int sets the vertical alignment of children within the cell they are occupying. Valid values:
|
The "cell-vertical-align" int property (constant CellVerticalAlign) sets the default vertical alignment of children
|
||||||
|
within the cell they are occupying. Valid values:
|
||||||
|
|
||||||
| Value | Constant | Name | Alignment |
|
| Value | Constant | Name | Alignment |
|
||||||
|:-----:|--------------|-----------|---------------------|
|
|:-----:|--------------|-----------|---------------------|
|
||||||
|
@ -2478,9 +2479,13 @@ The "cell-vertical-align" property (constant CellVerticalAlign) of type int sets
|
||||||
|
|
||||||
The default value is StretchAlign (3)
|
The default value is StretchAlign (3)
|
||||||
|
|
||||||
### "cell-horizontal-align" property
|
The "cell-vertical-self-align" int property (constant CellVerticalAlign) sets the vertical alignment of children
|
||||||
|
within the cell they are occupying. This property should be set not for the grid, but for the children.
|
||||||
|
|
||||||
The "cell-horizontal-align" property (constant CellHorizontalAlign) of type int sets the horizontal alignment of children within the occupied cell. Valid values:
|
### "cell-horizontal-align" and "cell-horizontal-self-align" properties
|
||||||
|
|
||||||
|
The "cell-horizontal-align" int property (constant CellHorizontalSelfAlign) sets the horizontal alignment
|
||||||
|
of children within the occupied cell. Valid values:
|
||||||
|
|
||||||
| Value | Constant | Name | Alignment |
|
| Value | Constant | Name | Alignment |
|
||||||
|:-----:|--------------|-----------|--------------------|
|
|:-----:|--------------|-----------|--------------------|
|
||||||
|
@ -2491,6 +2496,9 @@ The "cell-horizontal-align" property (constant CellHorizontalAlign) of type int
|
||||||
|
|
||||||
The default value is StretchAlign (3)
|
The default value is StretchAlign (3)
|
||||||
|
|
||||||
|
The "cell-horizontal-self-align" int property (constant CellVerticalSelfAlign) sets the horizontal alignment of children
|
||||||
|
within the cell they are occupying. This property should be set not for the grid, but for the children.
|
||||||
|
|
||||||
## ColumnLayout
|
## ColumnLayout
|
||||||
|
|
||||||
ColumnLayout is a container that implements the ViewsContainer interface.
|
ColumnLayout is a container that implements the ViewsContainer interface.
|
||||||
|
|
|
@ -5,6 +5,44 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
// CellVerticalAlign is the constant for the "cell-vertical-align" property tag.
|
||||||
|
// The "cell-vertical-align" int property sets the default vertical alignment
|
||||||
|
// of GridLayout children within the cell they are occupying. Valid values:
|
||||||
|
// * TopAlign (0) / "top"
|
||||||
|
// * BottomAlign (1) / "bottom"
|
||||||
|
// * CenterAlign (2) / "center", and
|
||||||
|
// * StretchAlign (2) / "stretch"
|
||||||
|
CellVerticalAlign = "cell-vertical-align"
|
||||||
|
|
||||||
|
// CellHorizontalAlign is the constant for the "cell-horizontal-align" property tag.
|
||||||
|
// The "cell-horizontal-align" int property sets the default horizontal alignment
|
||||||
|
// of GridLayout children within the occupied cell. Valid values:
|
||||||
|
// * LeftAlign (0) / "left"
|
||||||
|
// * RightAlign (1) / "right"
|
||||||
|
// * CenterAlign (2) / "center"
|
||||||
|
// * StretchAlign (3) / "stretch"
|
||||||
|
CellHorizontalAlign = "cell-horizontal-align"
|
||||||
|
|
||||||
|
// CellVerticalSelfAlign is the constant for the "cell-vertical-self-align" property tag.
|
||||||
|
// The "cell-vertical-align" int property sets the vertical alignment of GridLayout children
|
||||||
|
// within the cell they are occupying. The property is set for the child view of GridLayout. Valid values:
|
||||||
|
// * TopAlign (0) / "top"
|
||||||
|
// * BottomAlign (1) / "bottom"
|
||||||
|
// * CenterAlign (2) / "center", and
|
||||||
|
// * StretchAlign (2) / "stretch"
|
||||||
|
CellVerticalSelfAlign = "cell-vertical-self-align"
|
||||||
|
|
||||||
|
// CellHorizontalSelfAlign is the constant for the "cell-horizontal-self-align" property tag.
|
||||||
|
// The "cell-horizontal-self align" int property sets the horizontal alignment of GridLayout children
|
||||||
|
// within the occupied cell. The property is set for the child view of GridLayout. Valid values:
|
||||||
|
// * LeftAlign (0) / "left"
|
||||||
|
// * RightAlign (1) / "right"
|
||||||
|
// * CenterAlign (2) / "center"
|
||||||
|
// * StretchAlign (3) / "stretch"
|
||||||
|
CellHorizontalSelfAlign = "cell-horizontal-self-align"
|
||||||
|
)
|
||||||
|
|
||||||
// GridLayout - grid-container of View
|
// GridLayout - grid-container of View
|
||||||
type GridLayout interface {
|
type GridLayout interface {
|
||||||
ViewsContainer
|
ViewsContainer
|
||||||
|
|
|
@ -331,6 +331,16 @@ var enumProperties = map[string]struct {
|
||||||
"justify-items",
|
"justify-items",
|
||||||
[]string{"start", "end", "center", "stretch"},
|
[]string{"start", "end", "center", "stretch"},
|
||||||
},
|
},
|
||||||
|
CellVerticalSelfAlign: {
|
||||||
|
[]string{"top", "bottom", "center", "stretch"},
|
||||||
|
"align-self",
|
||||||
|
[]string{"start", "end", "center", "stretch"},
|
||||||
|
},
|
||||||
|
CellHorizontalSelfAlign: {
|
||||||
|
[]string{"left", "right", "center", "stretch"},
|
||||||
|
"justify-self",
|
||||||
|
[]string{"start", "end", "center", "stretch"},
|
||||||
|
},
|
||||||
GridAutoFlow: {
|
GridAutoFlow: {
|
||||||
[]string{"row", "column", "row-dense", "column-dense"},
|
[]string{"row", "column", "row-dense", "column-dense"},
|
||||||
GridAutoFlow,
|
GridAutoFlow,
|
||||||
|
|
|
@ -11,22 +11,23 @@ const (
|
||||||
// The "side" int property determines which side of the container is used to resize.
|
// The "side" int property determines which side of the container is used to resize.
|
||||||
// The value of property is or-combination of TopSide (1), RightSide (2), BottomSide (4), and LeftSide (8)
|
// The value of property is or-combination of TopSide (1), RightSide (2), BottomSide (4), and LeftSide (8)
|
||||||
Side = "side"
|
Side = "side"
|
||||||
|
|
||||||
// ResizeBorderWidth is the constant for the "resize-border-width" property tag.
|
// ResizeBorderWidth is the constant for the "resize-border-width" property tag.
|
||||||
// The "ResizeBorderWidth" SizeUnit property determines the width of the resizing border
|
// The "ResizeBorderWidth" SizeUnit property determines the width of the resizing border
|
||||||
ResizeBorderWidth = "resize-border-width"
|
ResizeBorderWidth = "resize-border-width"
|
||||||
// CellVerticalAlign is the constant for the "cell-vertical-align" property tag.
|
|
||||||
CellVerticalAlign = "cell-vertical-align"
|
|
||||||
// CellHorizontalAlign is the constant for the "cell-horizontal-align" property tag.
|
|
||||||
CellHorizontalAlign = "cell-horizontal-align"
|
|
||||||
|
|
||||||
// TopSide is value of the "side" property: the top side is used to resize
|
// TopSide is value of the "side" property: the top side is used to resize
|
||||||
TopSide = 1
|
TopSide = 1
|
||||||
|
|
||||||
// RightSide is value of the "side" property: the right side is used to resize
|
// RightSide is value of the "side" property: the right side is used to resize
|
||||||
RightSide = 2
|
RightSide = 2
|
||||||
|
|
||||||
// BottomSide is value of the "side" property: the bottom side is used to resize
|
// BottomSide is value of the "side" property: the bottom side is used to resize
|
||||||
BottomSide = 4
|
BottomSide = 4
|
||||||
|
|
||||||
// LeftSide is value of the "side" property: the left side is used to resize
|
// LeftSide is value of the "side" property: the left side is used to resize
|
||||||
LeftSide = 8
|
LeftSide = 8
|
||||||
|
|
||||||
// AllSides is value of the "side" property: all sides is used to resize
|
// AllSides is value of the "side" property: all sides is used to resize
|
||||||
AllSides = TopSide | RightSide | BottomSide | LeftSide
|
AllSides = TopSide | RightSide | BottomSide | LeftSide
|
||||||
)
|
)
|
||||||
|
|
14
view.go
14
view.go
|
@ -650,6 +650,8 @@ func viewPropertyChanged(view *viewData, tag string) {
|
||||||
case ZIndex, Order, TabSize:
|
case ZIndex, Order, TabSize:
|
||||||
if i, ok := intProperty(view, tag, session, 0); ok {
|
if i, ok := intProperty(view, tag, session, 0); ok {
|
||||||
session.updateCSSProperty(htmlID, tag, strconv.Itoa(i))
|
session.updateCSSProperty(htmlID, tag, strconv.Itoa(i))
|
||||||
|
} else {
|
||||||
|
session.updateCSSProperty(htmlID, tag, "")
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -697,8 +699,11 @@ func viewPropertyChanged(view *viewData, tag string) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if cssTag, ok := sizeProperties[tag]; ok {
|
if cssTag, ok := sizeProperties[tag]; ok {
|
||||||
size, _ := sizeProperty(view, tag, session)
|
if size, ok := sizeProperty(view, tag, session); ok {
|
||||||
session.updateCSSProperty(htmlID, cssTag, size.cssString("", session))
|
session.updateCSSProperty(htmlID, cssTag, size.cssString("", session))
|
||||||
|
} else {
|
||||||
|
session.updateCSSProperty(htmlID, cssTag, "")
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -719,8 +724,11 @@ func viewPropertyChanged(view *viewData, tag string) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if valuesData, ok := enumProperties[tag]; ok && valuesData.cssTag != "" {
|
if valuesData, ok := enumProperties[tag]; ok && valuesData.cssTag != "" {
|
||||||
n, _ := enumProperty(view, tag, session, 0)
|
if n, ok := enumProperty(view, tag, session, 0); ok {
|
||||||
session.updateCSSProperty(htmlID, valuesData.cssTag, valuesData.cssValues[n])
|
session.updateCSSProperty(htmlID, valuesData.cssTag, valuesData.cssValues[n])
|
||||||
|
} else {
|
||||||
|
session.updateCSSProperty(htmlID, valuesData.cssTag, "")
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -728,6 +736,8 @@ func viewPropertyChanged(view *viewData, tag string) {
|
||||||
if tag == floatTag {
|
if tag == floatTag {
|
||||||
if f, ok := floatTextProperty(view, floatTag, session, 0); ok {
|
if f, ok := floatTextProperty(view, floatTag, session, 0); ok {
|
||||||
session.updateCSSProperty(htmlID, floatTag, f)
|
session.updateCSSProperty(htmlID, floatTag, f)
|
||||||
|
} else {
|
||||||
|
session.updateCSSProperty(htmlID, floatTag, "")
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue