Browse Source

Updated testdoor with new door changes.

Steve Thielemann 1 year ago
parent
commit
271ce6da09
3 changed files with 46 additions and 18 deletions
  1. 12 10
      testdoor/display.go
  2. 4 4
      testdoor/panels.go
  3. 30 4
      testdoor/testdoor.go

+ 12 - 10
testdoor/display.go

@@ -13,10 +13,10 @@ import (
 func display_information(d *door.Door) {
 	d.WriteS(door.Clrscr)
 
-	var headerColor string = door.ColorText("BRI CYAN")
-	var keyColor string = door.ColorText("BRI GREEN")
-	var sepColor string = door.ColorText("BRI YEL")
-	var valColor string = door.ColorText("CYAN")
+	var headerColor = door.ColorText("BRI CYAN")
+	var keyColor = door.ColorText("BRI GREEN")
+	var sepColor = door.ColorText("BRI YEL")
+	var valColor = door.ColorText("CYAN")
 
 	var nice_format func(string, string) string = func(key string, value string) string {
 		return fmt.Sprintf("%s%-20s %s: %s%s", keyColor, key, sepColor, valColor, value) + door.CRNL
@@ -88,14 +88,14 @@ func input_demo(d *door.Door) {
 
 			case t := <-ticker.C:
 				const tf = "January 2, 2006 03:04:05 PM MST"
-				output := door.SavePos + door.GotoS(5, 2) + door.ColorText("BRI WHI ON CYAN") + t.Format(tf) + door.RestorePos
+				output := door.SavePos + door.GotoS(5, 2) + door.ColorTextS("BRI WHI ON CYAN") + t.Format(tf) + door.RestorePos
 				d.WriteS(output)
 			}
 		}
 	}()
 
-	var inputColor string = door.ColorText("BRI WHI ON BLUE")
-	var inputColor2 string = door.ColorText("BRI WHI ON GREEN")
+	var inputColor = door.ColorText("BRI WHI ON BLUE")
+	var inputColor2 = door.ColorText("BRI WHI ON GREEN")
 	var prompt *door.Line = door.NewLine("What is YOUR Name: ")
 
 	prompt.RenderF = door.RenderBlueYellow
@@ -195,7 +195,7 @@ func progress_bars(d *door.Door) {
 func width_demo(d *door.Door) {
 	var w int = door.Width
 	var panel door.Panel = door.Panel{X: 1, Y: 1, Width: w}
-	var lineColor string = door.ColorText("WHI")
+	var lineColor = door.ColorText("WHI")
 	var line string
 
 	for y := 1; y <= door.Height; y++ {
@@ -232,7 +232,8 @@ func width_demo(d *door.Door) {
 	d.WriteA(door.Reset, panel.GotoEnd())
 
 	// Pause for key
-	d.WaitKey(door.Inactivity)
+	press_key_or_mouse(d)
+	// d.WaitKey(door.Inactivity)
 
 	panel.Lines = make([]*door.Line, 0)
 	var background string = "BUGZ Test Door in GO "
@@ -251,5 +252,6 @@ func width_demo(d *door.Door) {
 		panel.Lines = append(panel.Lines, l)
 	}
 	d.Write(panel.Output())
-	d.WaitKey(door.Inactivity)
+	// d.WaitKey(door.Inactivity)
+	press_key_or_mouse(d)
 }

+ 4 - 4
testdoor/panels.go

@@ -11,7 +11,7 @@ type TrackPanels struct {
 	Panel  *door.Panel
 	XPos   int
 	YPos   int
-	BColor string
+	BColor []byte
 }
 
 // Find the Panel that was mouse clicked.
@@ -28,8 +28,8 @@ func FindPanel(m door.Mouse, panels []TrackPanels) int {
 func panel_demo(d *door.Door) {
 	var width int = 55
 	var panel door.Panel = door.Panel{X: 5, Y: 5, Width: width, Style: door.DOUBLE, BorderColor: door.ColorText("CYAN ON BLUE"), Title: "[ Panel Demo ]"}
-	var moveColor string = door.ColorText("CYAN ON BLACK")
-	var lineColor string = door.ColorText("BRIGHT WHI ON BLUE")
+	var moveColor = door.ColorText("CYAN ON BLACK")
+	var 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"} {
 		if door.Unicode {
@@ -69,7 +69,7 @@ func panel_demo(d *door.Door) {
 
 	var movingPanel *door.Panel
 	var moveX, moveY int
-	var panelColor string
+	var panelColor []byte
 
 	for {
 		key, ex, err := d.WaitKey(door.Inactivity)

+ 30 - 4
testdoor/testdoor.go

@@ -45,13 +45,15 @@ func press_keys(d *door.Door) {
 	d.WriteA(door.Reset, door.CRNL)
 }
 
-func press_a_key(d *door.Door) error {
+func press_key_or_mouse(d *door.Door) error {
 	var err error
 	var ex door.Extended
 
-	d.WriteA(door.Reset, door.CRNL, "Press a key, or LEFT mouse click to continue...")
 	for {
 		_, ex, err = d.WaitKey(door.Inactivity)
+		if err != nil {
+			return err
+		}
 		if ex == door.MOUSE {
 			m, ok := d.GetMouse()
 			if ok {
@@ -63,6 +65,30 @@ func press_a_key(d *door.Door) error {
 			break
 		}
 	}
+	return nil
+}
+
+func press_a_key(d *door.Door) error {
+	var err error
+	// var ex door.Extended
+
+	d.WriteA(door.Reset, door.CRNL, "Press a key, or LEFT mouse click to continue...")
+	/*
+		for {
+			_, ex, err = d.WaitKey(door.Inactivity)
+			if ex == door.MOUSE {
+				m, ok := d.GetMouse()
+				if ok {
+					if m.Button == 1 {
+						break
+					}
+				}
+			} else {
+				break
+			}
+		}
+	*/
+	err = press_key_or_mouse(d)
 	d.WriteA(door.CRNL)
 	return err
 }
@@ -277,7 +303,7 @@ func main() {
 	}()
 
 	var wopr door.WOPR
-	wopr.Init(d.StartTime, d.TimeOut, "")
+	wopr.Init(d.StartTime, d.TimeOut, []byte{})
 	wopr.ElapsedPanel.X = door.Width - 19
 	wopr.ElapsedPanel.Y = door.Height - 15
 	wopr.RemainingPanel.X = door.Width - 19
@@ -286,7 +312,7 @@ func main() {
 	wopr.Animate(&d)
 
 	// bold := door.Color(1, 37, 40)
-	var bolder string = door.ColorText("BOLD YEL ON BLUE")
+	var bolder = door.ColorText("BOLD YEL ON BLUE")
 	d.WriteA("Welcome to ", bolder, "go door go TestDoor.", door.Reset, door.CRNL, "...", door.CRNL)
 
 	d.EnableMouse(door.Normal)