]>
git.ipfire.org Git - thirdparty/newt.git/blob - windows.c
10 static int newtvwindow(char * title
, char * button1
, char * button2
,
11 char * message
, va_list args
) {
12 newtComponent b1
, b2
= NULL
, t
, f
, answer
;
18 newtGrid grid
, buttonGrid
;
24 i
= vsnprintf(buf
, size
, message
, args
);
27 flowedText
= newtReflowText(buf
, 35, 5, 5, &width
, &height
);
30 flowedText
= newtReflowText(buf
, 60, 5, 5, &width
, &height
);
34 b1
= newtButton(-1, -1, button1
);
35 t
= newtTextbox(-1, -1, width
, height
, NEWT_TEXTBOX_WRAP
);
36 newtTextboxSetText(t
, flowedText
);
40 b2
= newtButton(-1, -1, button2
);
41 buttonGrid
= newtCreateGrid(2, 1);
42 newtGridSetField(buttonGrid
, 1, 0, NEWT_GRID_COMPONENT
, button2
,
45 buttonGrid
= newtCreateGrid(1, 1);
48 newtGridSetField(buttonGrid
, 0, 0, NEWT_GRID_COMPONENT
, b1
,
49 0, 0, button2
? 1 : 0, 0, 0, 0);
51 grid
= newtCreateGrid(1, 2);
52 newtGridSetField(grid
, 0, 0, NEWT_GRID_COMPONENT
, t
, 0, 0, 0, 1, 0, 0);
53 newtGridSetField(grid
, 0, 1, NEWT_GRID_SUBGRID
, buttonGrid
, 0, 0, 0, 0, 0,
54 NEWT_GRID_FLAG_GROWX
);
55 newtGridWrappedWindow(grid
, title
);
57 f
= newtForm(NULL
, NULL
, 0);
58 newtFormAddComponents(f
, t
, b1
, NULL
);
60 answer
= newtRunForm(f
);
61 newtGridFree(grid
, 1);
68 else if (answer
== b2
)
74 int newtWinChoice(char * title
, char * button1
, char * button2
,
75 char * message
, ...) {
79 va_start(args
, message
);
80 rc
= newtvwindow(title
, button1
, button2
, message
, args
);
86 void newtWinMessage(char * title
, char * buttonText
, char * text
, ...) {
90 newtvwindow(title
, buttonText
, NULL
, text
, args
);
94 void newtWinMessagev(char * title
, char * buttonText
, char * text
,
96 newtvwindow(title
, buttonText
, NULL
, text
, argv
);