Blame testgrid.c

Packit 4d380f
#include <stdlib.h>
Packit 4d380f
#include <stdio.h>
Packit 4d380f
#include <string.h>
Packit 4d380f
#include <signal.h>
Packit 4d380f
Packit 4d380f
#include "newt.h"
Packit 4d380f
Packit 4d380f
int main(void) {
Packit 4d380f
    newtComponent b1, b2, b3, b4;
Packit 4d380f
    newtComponent f, t;
Packit 4d380f
    newtGrid grid, subgrid;
Packit 4d380f
    char * flowedText;
Packit 4d380f
    int textWidth, textHeight, rc, i;
Packit 4d380f
    char * menuContents[] = { "One", "Two", "Three", "Four", "Five", NULL };
Packit 4d380f
    char * entries[10];
Packit 4d380f
    struct newtWinEntry autoEntries[] = {
Packit 4d380f
	{ "An entry", entries + 0, 0 },
Packit 4d380f
	{ "Another entry", entries + 1, 0 },
Packit 4d380f
	{ "Third entry", entries + 2, 0 },
Packit 4d380f
	{ "Fourth entry", entries + 3, 0 },
Packit 4d380f
	{ NULL, NULL, 0 } };
Packit 4d380f
Packit 4d380f
    memset(entries, 0, sizeof(entries));
Packit 4d380f
Packit 4d380f
    newtInit();
Packit 4d380f
    newtCls();
Packit 4d380f
Packit 4d380f
    b1 = newtCheckbox(-1, -1, "An pretty long checkbox for testing", ' ', NULL, NULL);
Packit 4d380f
    b2 = newtButton(-1, -1, "Another Button");
Packit 4d380f
    b3 = newtButton(-1, -1, "But, but");
Packit 4d380f
    b4 = newtButton(-1, -1, "But what?");
Packit 4d380f
Packit 4d380f
    f = newtForm(NULL, NULL, 0);
Packit 4d380f
Packit 4d380f
    grid = newtCreateGrid(2, 2);
Packit 4d380f
    newtGridSetField(grid, 0, 0, NEWT_GRID_COMPONENT, b1, 0, 0, 0, 0, 
Packit 4d380f
			NEWT_ANCHOR_RIGHT, 0);
Packit 4d380f
    newtGridSetField(grid, 0, 1, NEWT_GRID_COMPONENT, b2, 0, 0, 0, 0, 0, 0);
Packit 4d380f
    newtGridSetField(grid, 1, 0, NEWT_GRID_COMPONENT, b3, 0, 0, 0, 0, 0, 0);
Packit 4d380f
    newtGridSetField(grid, 1, 1, NEWT_GRID_COMPONENT, b4, 0, 0, 0, 0, 0, 0);
Packit 4d380f
Packit 4d380f
Packit 4d380f
    newtFormAddComponents(f, b1, b2, b3, b4, NULL);
Packit 4d380f
Packit 4d380f
    newtGridWrappedWindow(grid, "first window");
Packit 4d380f
    newtGridFree(grid, 1);
Packit 4d380f
Packit 4d380f
    newtRunForm(f);
Packit 4d380f
	
Packit 4d380f
    newtFormDestroy(f);
Packit 4d380f
    newtPopWindow();
Packit 4d380f
Packit 4d380f
    flowedText = newtReflowText("This is a quite a bit of text. It is 40 "
Packit 4d380f
			  	"columns long, so some wrapping should be "
Packit 4d380f
			  	"done. Did you know that the quick, brown "
Packit 4d380f
			  	"fox jumped over the lazy dog?\n\n"
Packit 4d380f
				"In other news, it's pretty important that we "
Packit 4d380f
				"can properly force a line break.",
Packit 4d380f
				40, 5, 5, &textWidth, &textHeight);
Packit 4d380f
    t = newtTextbox(-1, -1, textWidth, textHeight, NEWT_FLAG_WRAP);
Packit 4d380f
    newtTextboxSetText(t, flowedText);
Packit 4d380f
    free(flowedText);
Packit 4d380f
Packit 4d380f
    
Packit 4d380f
    b1 = newtButton(-1, -1, "Okay");
Packit 4d380f
    b2 = newtButton(-1, -1, "Cancel");
Packit 4d380f
Packit 4d380f
    grid = newtCreateGrid(1, 2);
Packit 4d380f
    subgrid = newtCreateGrid(2, 1);
Packit 4d380f
Packit 4d380f
    newtGridSetField(subgrid, 0, 0, NEWT_GRID_COMPONENT, b1, 0, 0, 0, 0, 0, 0);
Packit 4d380f
    newtGridSetField(subgrid, 1, 0, NEWT_GRID_COMPONENT, b2, 0, 0, 0, 0, 0, 0);
Packit 4d380f
Packit 4d380f
    newtGridSetField(grid, 0, 0, NEWT_GRID_COMPONENT, t, 0, 0, 0, 1, 0, 0);
Packit 4d380f
    newtGridSetField(grid, 0, 1, NEWT_GRID_SUBGRID, subgrid, 0, 0, 0, 0, 0,
Packit 4d380f
			NEWT_GRID_FLAG_GROWX);
Packit 4d380f
    newtGridWrappedWindow(grid, "another example");
Packit 4d380f
    newtGridDestroy(grid, 1);
Packit 4d380f
Packit 4d380f
    f = newtForm(NULL, NULL, 0);
Packit 4d380f
    newtFormAddComponents(f, b1, t, b2, NULL);
Packit 4d380f
    newtRunForm(f);
Packit 4d380f
Packit 4d380f
    newtPopWindow();
Packit 4d380f
    newtFormDestroy(f);
Packit 4d380f
Packit 4d380f
    newtWinMessage("Simple", "Ok", "This is a simple message window");
Packit 4d380f
    newtWinChoice("Simple", "Ok", "Cancel", "This is a simple choice window");
Packit 4d380f
Packit 4d380f
    textWidth = 0;
Packit 4d380f
    rc = newtWinMenu("Test Menu", "This is a sample invovation of the "
Packit 4d380f
		     "newtWinMenu() call. It may or may not have a scrollbar, "
Packit 4d380f
		     "depending on the need for one.", 50, 5, 5, 3, 
Packit 4d380f
		     menuContents, &textWidth, "Ok", "Cancel", NULL);
Packit 4d380f
Packit 4d380f
    rc = newtWinEntries("Text newtWinEntries()", "This is a sample invovation of "
Packit 4d380f
		     "newtWinEntries() call. It lets you get a lot of input "
Packit 4d380f
		     "quite easily.", 50, 5, 5, 20, autoEntries, "Ok", 
Packit 4d380f
		     "Cancel", NULL);
Packit 4d380f
    for (i = 0; i < sizeof (autoEntries) / sizeof (struct newtWinEntry) && autoEntries[i].value; i++)
Packit 4d380f
	    free(*(autoEntries[i].value));
Packit 4d380f
Packit 4d380f
    newtFinished();
Packit 4d380f
Packit 4d380f
    printf("rc = 0x%x item = %d\n", rc, textWidth);
Packit 4d380f
Packit 4d380f
    return 0;
Packit 4d380f
}