mirror of
https://github.com/jorenchik/mdemory.git
synced 2026-03-22 00:26:21 +00:00
mdem element with hidable answer box
This commit is contained in:
@@ -16,35 +16,77 @@ var workingPath string = "/home/jorenchik/Code/mdemory/memorybase"
|
|||||||
// widget *widgets.QWidget;
|
// widget *widgets.QWidget;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
func CreateMdem(frontText string) *widgets.QWidget {
|
func CreateMdem(frontText string, backText string) *widgets.QWidget {
|
||||||
// frontText := "What is the capital of Latvia?"
|
// frontText := "What is the capital of Latvia?"
|
||||||
|
|
||||||
// DefineMdem
|
// DefineMdem
|
||||||
wMdem := widgets.NewQWidget(nil, 0)
|
wMdem := widgets.NewQWidget(nil, 0)
|
||||||
wMdem.SetMinimumHeight(60)
|
vMdem := widgets.NewQVBoxLayout()
|
||||||
hMdem := widgets.NewQHBoxLayout()
|
|
||||||
wMdem.SetLayout(hMdem)
|
|
||||||
|
|
||||||
// DefineId
|
wMdem.SetLayout(vMdem)
|
||||||
id := fmt.Sprintf("mdem_%d", 1)
|
id := fmt.Sprintf("mdem_%d", 1)
|
||||||
wMdem.SetObjectName(id)
|
wMdem.SetObjectName(id)
|
||||||
wMdem.SetStyleSheet(fmt.Sprintf(`
|
|
||||||
QWidget#%s {
|
|
||||||
border: 1px solid gray;
|
|
||||||
background: white;
|
|
||||||
}
|
|
||||||
`, id))
|
|
||||||
|
|
||||||
// AddContent
|
// InitFront
|
||||||
mdemText := widgets.NewQLabel2(frontText, nil, 0)
|
wFront := widgets.NewQWidget(nil, 0)
|
||||||
hMdem.AddWidget(mdemText, 0, 0)
|
hFront := widgets.NewQHBoxLayout()
|
||||||
hMdem.AddStretch(1)
|
wFront.SetMinimumHeight(60)
|
||||||
|
wFront.SetLayout(hFront)
|
||||||
|
wFront.SetProperty("first", core.NewQVariant1(true));
|
||||||
|
wMdem.SetStyleSheet(fmt.Sprintf(`
|
||||||
|
QWidget#%s > QWidget {
|
||||||
|
border-right: 1px solid gray;
|
||||||
|
border-bottom: 1px solid gray;
|
||||||
|
border-left: 1px solid gray;
|
||||||
|
}
|
||||||
|
QWidget#%s > QWidget[first="true"] {
|
||||||
|
border-top: 1px solid gray;
|
||||||
|
}
|
||||||
|
`, id, id))
|
||||||
|
|
||||||
|
// AddFrontContent
|
||||||
|
elFrontText := widgets.NewQLabel2(frontText, nil, 0)
|
||||||
|
hFront.AddWidget(elFrontText, 0, 0)
|
||||||
|
hFront.AddStretch(1)
|
||||||
hideButton := widgets.NewQToolButton(nil)
|
hideButton := widgets.NewQToolButton(nil)
|
||||||
showAnswer := widgets.NewQToolButton(nil)
|
showAnswer := widgets.NewQToolButton(nil)
|
||||||
hideButton.SetText("Hide")
|
hideButton.SetText("Hide")
|
||||||
showAnswer.SetText("Show")
|
showAnswer.SetText("Show")
|
||||||
hMdem.AddWidget(hideButton, 0, 0)
|
hFront.AddWidget(hideButton, 0, 0)
|
||||||
hMdem.AddWidget(showAnswer, 0, 0)
|
hFront.AddWidget(showAnswer, 0, 0)
|
||||||
|
|
||||||
|
wBack := widgets.NewQWidget(nil, 0)
|
||||||
|
hBack := widgets.NewQVBoxLayout()
|
||||||
|
// wBack.SetMinimumHeight(60)
|
||||||
|
wBack.SetLayout(hBack)
|
||||||
|
|
||||||
|
vMdem.AddWidget(wBack, 0, 0)
|
||||||
|
// AddBackContent
|
||||||
|
elBackText := widgets.NewQLabel2(
|
||||||
|
fmt.Sprintf("- %s", backText),
|
||||||
|
nil,
|
||||||
|
0,
|
||||||
|
)
|
||||||
|
hBack.AddWidget(elBackText, 0, 0)
|
||||||
|
hBack.AddStretch(1)
|
||||||
|
|
||||||
|
vMdem.AddWidget(wFront, 0, 0)
|
||||||
|
vMdem.AddWidget(wBack, 0, 0)
|
||||||
|
vMdem.SetContentsMargins(0,0,0,0)
|
||||||
|
vMdem.SetSpacing(0)
|
||||||
|
|
||||||
|
|
||||||
|
wBack.Hide()
|
||||||
|
hideButton.ConnectClicked(func(checked bool) {
|
||||||
|
if wBack.IsVisible() {
|
||||||
|
wBack.Hide()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
showAnswer.ConnectClicked(func(checked bool) {
|
||||||
|
if !wBack.IsVisible() {
|
||||||
|
wBack.Show()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
return wMdem
|
return wMdem
|
||||||
}
|
}
|
||||||
@@ -139,19 +181,19 @@ func main() {
|
|||||||
// CreateMdems
|
// CreateMdems
|
||||||
var mdems []*widgets.QWidget
|
var mdems []*widgets.QWidget
|
||||||
mdems = append(
|
mdems = append(
|
||||||
mdems, CreateMdem("What is the capital of Latvia?"),
|
mdems, CreateMdem("What is the capital of Latvia?", "Riga"),
|
||||||
)
|
)
|
||||||
mdems = append(
|
mdems = append(
|
||||||
mdems, CreateMdem("What is the capital of Estonia?"),
|
mdems, CreateMdem("What is the capital of Estonia?", "Tallin"),
|
||||||
)
|
)
|
||||||
mdems = append(
|
mdems = append(
|
||||||
mdems, CreateMdem("What is the capital of Lithuania?"),
|
mdems, CreateMdem("What is the capital of Lithuania?", "Vilnius"),
|
||||||
)
|
)
|
||||||
mdems = append(
|
mdems = append(
|
||||||
mdems, CreateMdem("What is the capital of Croatia?"),
|
mdems, CreateMdem("What is the capital of Croatia?", "Zagreb"),
|
||||||
)
|
)
|
||||||
mdems = append(
|
mdems = append(
|
||||||
mdems, CreateMdem("What is the capital of Chechia?"),
|
mdems, CreateMdem("What is the capital of Chechia?", "Prague"),
|
||||||
)
|
)
|
||||||
for i := 0; i < len(mdems); i++ {
|
for i := 0; i < len(mdems); i++ {
|
||||||
hMdemScroll.AddWidget(mdems[i], 0, 0)
|
hMdemScroll.AddWidget(mdems[i], 0, 0)
|
||||||
|
|||||||
Reference in New Issue
Block a user