|
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 |
}
|