summaryrefslogtreecommitdiff
path: root/textscreen/guitest.c
blob: 27e23b005f671ab89dca4d451a9d7612f7f123cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#include <stdlib.h>
#include <string.h>

#include "txt_main.h"

#include "txt_checkbox.h"
#include "txt_button.h"
#include "txt_desktop.h"
#include "txt_label.h"
#include "txt_radiobutton.h"
#include "txt_separator.h"
#include "txt_table.h"
#include "txt_window.h"

enum 
{
    RADIO_VALUE_BADGER,
    RADIO_VALUE_MUSHROOM,
    RADIO_VALUE_SNAKE,
};
int radiobutton_value;
txt_window_t *firstwin;
int checkbox_value;

void SetupWindow(void)
{
    txt_window_t *window;
    txt_table_t *table;
    txt_table_t *leftpane, *rightpane;
    char buf[100];
    int i;
    
    window = TXT_NewWindow("Window test");

    table = TXT_NewTable(3);

    TXT_AddWidget(window, TXT_NewLabel(" This is a multiline label.\n"
                                       " A single label object contains \n"
                                       " all three of these lines.\n"));

    TXT_AddWidget(window, table);

    for (i=0; i<5; ++i)
    {
        sprintf(buf, " Option %i in a table:", i + 1);
        TXT_AddWidget(table, TXT_NewLabel(buf));
        sprintf(buf, "Button %i-1", i + 1);
        TXT_AddWidget(table, TXT_NewButton(buf));
        sprintf(buf, "Button %i-2", i + 1);
        TXT_AddWidget(table, TXT_NewButton(buf));
    }

    TXT_AddWidget(window, TXT_NewLabel(""));

    table = TXT_NewTable(2);
    TXT_AddWidget(window, table);

    TXT_AddWidget(table, TXT_NewCheckBox("Checkbox", &checkbox_value));

    rightpane = TXT_NewTable(1);
    TXT_AddWidget(table, rightpane);
    TXT_AddWidget(rightpane, TXT_NewRadioButton("Badger", &radiobutton_value,
                                                RADIO_VALUE_BADGER));
    TXT_AddWidget(rightpane, TXT_NewRadioButton("Mushroom", &radiobutton_value,
                                                RADIO_VALUE_MUSHROOM));
    TXT_AddWidget(rightpane, TXT_NewRadioButton("Snake", &radiobutton_value,
                                                RADIO_VALUE_SNAKE));
                                     
    firstwin = window;
}

void Window2(void)
{
    txt_window_t *window;
    int i;
    
    window = TXT_NewWindow("Another test");
    TXT_SetWindowPosition(window, 
                          TXT_HORIZ_RIGHT, 
                          TXT_VERT_TOP, 
                          TXT_SCREEN_W - 1, 1);

    for (i=0; i<5; ++i)
    {
        TXT_AddWidget(window, TXT_NewButton("hello there blah blah blah blah"));
    }
}

void DrawASCIIChart()
{
    int x, y;

    TXT_ClearScreen();

    for (y=0; y<16; ++y)
    {
        for (x=0; x<16; ++x)
        {
            TXT_PutChar(' ');
            TXT_PutChar(' ');
            TXT_PutChar(' ');
            TXT_PutChar(y * 16 + x);
        }
        TXT_PutChar('\n');
    }
}

int main()
{
    TXT_Init();

    TXT_SetDesktopTitle("Not Chocolate Doom Setup");

    Window2();
    SetupWindow();

    TXT_GUIMainLoop();
}