]> git.cworth.org Git - grrobot/blob - src/grr_board_view_test.c
Update to 2020
[grrobot] / src / grr_board_view_test.c
1 /* grr_board_view_test - Simple test of grr_board_view
2  *
3  * Copyright © 2003 Carl Worth
4  *
5  * Permission to use, copy, modify, distribute, and sell this software
6  * and its documentation for any purpose is hereby granted without
7  * fee, provided that the above copyright notice appear in all copies
8  * and that both that copyright notice and this permission notice
9  * appear in supporting documentation, and that the name of Carl Worth
10  * not be used in advertising or publicity pertaining to distribution
11  * of the software without specific, written prior permission.
12  * Carl Worth makes no representations about the suitability of this
13  * software for any purpose.  It is provided "as is" without express
14  * or implied warranty.
15  * 
16  * CARL WORTH DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
17  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
18  * NO EVENT SHALL CARL WORTH BE LIABLE FOR ANY SPECIAL, INDIRECT OR
19  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
20  * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
21  * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
22  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
23  *
24  * Author: Carl Worth <carl@theworths.org>
25  */
26
27 #include <stdio.h>
28 #include <stdlib.h>
29 #include <gtk/gtk.h>
30 #include "grr_board_view.h"
31
32 static char GRR_BOARD_TEST[] = "\n"
33 " === === === === === === === === === === === === === === === === \n"
34 "|... ... ... ...|... ... ... ... ... ...|... ... ... ... ... B..|\n"
35 "                                                         ===     \n"
36 "|... ... ... ... ... .go|... ... ... ... ... ... ... ...|.rt ...|\n"
37 "                     ===                                         \n"
38 "|...|.rs ... ... ... ... ... ... ... ... ...|.bo ... ... ... ...|\n"
39 "     ===                                     ===                 \n"
40 "|... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...|\n"
41 " ===                     ===                                 === \n"
42 "|G.. ... ... ... ... ...|.yc ... ... ... ... ... ... ... ... ...|\n"
43 "                                                                 \n"
44 "|... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...|\n"
45 "         ===                                                     \n"
46 "|... ... .bt|... ... ... ... ... ... ... ... ... ... .gc|... ...|\n"
47 "                             === ===     ===         ===         \n"
48 "|... ... ... ... ... ... ...|... ...|... .ys|... ... ... ... ...|\n"
49 "                                                 ===             \n"
50 "|... ... ... ... ... ... ...|... ...|... ... ...|.WW ... ... ...|\n"
51 "             ===             === ===                             \n"
52 "|... ... ... .yo|... ... ... ... ... ...|.bc ... ... ... ... ...|\n"
53 "                                         ===                     \n"
54 "|... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...|\n"
55 "                                                             === \n"
56 "|...|.rc ... ... ... ... ... ... ... .yt|... ... ... ... ... ...|\n"
57 "     ===                             ===                 ===     \n"
58 "|... ... ... ... ... ... .bs|... Y.. ... ... ... ... ... .gs|...|\n"
59 "                         ===                                     \n"
60 "|... ... ... ... ... ... ... R.. ... ... ... ... ... ... ... ...|\n"
61 " ===     ===                                         ===         \n"
62 "|... ...|.gt ... ... ... ... ... ... ... ... ... ...|.ro ... ...|\n"
63 "                                                                 \n"
64 "|... ... ... ... ... ...|... ... ... ... ...|... ... ... ... ...|\n"
65 " === === === === === === === === === === === === === === === === ";
66
67
68 int
69 main (int argc, char *argv[])
70 {
71     GtkWidget *window;
72     GtkWidget *board_view;
73     GtkWidget *board_frame;
74     rr_board_t *board;
75     GtkWidget *vpaned;
76     GtkWidget *sw;
77     GtkWidget *text_view;
78     
79     gtk_init (&argc, &argv);
80     
81     window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
82     
83     gtk_window_set_title (GTK_WINDOW (window), "Ricochet Robot");
84     gtk_window_set_default_size (GTK_WINDOW (window), 512, 512);
85     
86     g_signal_connect (G_OBJECT (window), "destroy",
87                       G_CALLBACK (exit), NULL);
88     gtk_container_set_border_width (GTK_CONTAINER (window), 0);
89
90     vpaned = gtk_vpaned_new ();
91     gtk_container_set_border_width (GTK_CONTAINER (vpaned), 5);
92     gtk_container_add (GTK_CONTAINER (window), vpaned);
93     {
94         board_frame = gtk_aspect_frame_new (NULL, 0.5, 0.5, 1.0, FALSE);
95         gtk_paned_pack1 (GTK_PANED (vpaned), board_frame, TRUE, TRUE);
96         {
97             board = rr_board_create_from_str (GRR_BOARD_TEST);
98             board_view = grr_board_view_new (board);
99
100             gtk_container_add (GTK_CONTAINER (board_frame), board_view);
101             gtk_widget_show (board_view);
102         }
103         gtk_widget_show (board_frame);
104
105         sw = gtk_scrolled_window_new (NULL, NULL);
106         gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
107                                         GTK_POLICY_NEVER,
108                                         GTK_POLICY_AUTOMATIC);
109         gtk_paned_pack2 (GTK_PANED (vpaned), sw, FALSE, TRUE);
110         {
111             text_view = gtk_text_view_new ();
112             gtk_container_add (GTK_CONTAINER (sw), text_view);
113             gtk_widget_show (text_view);
114         }
115         gtk_widget_show (sw);
116     }
117     gtk_widget_show (vpaned);
118
119     gtk_widget_show (window);
120     
121     gtk_main ();
122     
123     return 0;
124 }