|
@@ -53,6 +53,7 @@ func MainMenu() door.Menu {
|
|
|
m.AddSelection("D", "Display Information (dropfile, screen)")
|
|
|
m.AddSelection("I", "Input Prompt Demo")
|
|
|
m.AddSelection("P", "Progress Bars Demo")
|
|
|
+ m.AddSelection("S", "Show Panel")
|
|
|
|
|
|
m.AddSelection("Q", "Quit")
|
|
|
return m
|
|
@@ -162,6 +163,24 @@ func progress_bars(d *door.Door) {
|
|
|
|
|
|
}
|
|
|
|
|
|
+func panel_demo(d *door.Door) {
|
|
|
+ width := 55
|
|
|
+ fmtStr := "%-55s"
|
|
|
+ p := door.Panel{X: 5, Y: 5, Width: width, Style: door.DOUBLE, BorderColor: door.ColorText("CYAN ON BLUE"), Title: "[ Panel Demo ]"}
|
|
|
+
|
|
|
+ lineColor := door.ColorText("BRIGHT WHI ON BLUE")
|
|
|
+ // Add lines to the panel
|
|
|
+ for _, line := range []string{"The BBS Door Panel Demo", "(C) 2021 Red Green Software, https://red-green.com"} {
|
|
|
+ l := door.Line{Text: fmt.Sprintf(fmtStr, line), DefaultColor: lineColor}
|
|
|
+ p.Lines = append(p.Lines, l)
|
|
|
+ }
|
|
|
+ p.Lines = append(p.Lines, p.Spacer())
|
|
|
+ p.Lines = append(p.Lines, door.Line{Text: fmt.Sprintf(fmtStr, "Welcome to golang!"), DefaultColor: lineColor})
|
|
|
+
|
|
|
+ d.Write(door.Clrscr)
|
|
|
+ d.Write(p.Output())
|
|
|
+}
|
|
|
+
|
|
|
func main() {
|
|
|
var message string
|
|
|
|
|
@@ -218,6 +237,9 @@ func main() {
|
|
|
case 'P':
|
|
|
progress_bars(&d)
|
|
|
press_a_key(&d)
|
|
|
+ case 'S':
|
|
|
+ panel_demo(&d)
|
|
|
+ press_a_key(&d)
|
|
|
case 'Q':
|
|
|
choice = -1
|
|
|
break
|