|
Packit |
4d380f |
#include <stdarg.h>
|
|
Packit |
4d380f |
|
|
Packit |
4d380f |
#include "newt.h"
|
|
Packit |
4d380f |
|
|
Packit |
4d380f |
/* if they try and pack more then 50 buttons, screw 'em */
|
|
Packit |
4d380f |
newtGrid newtButtonBarv(char * button1, newtComponent * b1comp, va_list args) {
|
|
Packit |
4d380f |
newtGrid grid;
|
|
Packit |
4d380f |
struct buttonInfo {
|
|
Packit |
4d380f |
char * name;
|
|
Packit |
4d380f |
newtComponent * compPtr;
|
|
Packit |
4d380f |
} buttons[50];
|
|
Packit |
4d380f |
int num;
|
|
Packit |
4d380f |
int i;
|
|
Packit |
4d380f |
|
|
Packit |
4d380f |
buttons[0].name = button1, buttons[0].compPtr = b1comp, num = 1;
|
|
Packit |
4d380f |
while (1) {
|
|
Packit |
4d380f |
buttons[num].name = va_arg(args, char *);
|
|
Packit |
4d380f |
if (!buttons[num].name) break;
|
|
Packit |
4d380f |
buttons[num].compPtr = va_arg(args, newtComponent *);
|
|
Packit |
4d380f |
num++;
|
|
Packit |
4d380f |
}
|
|
Packit |
4d380f |
|
|
Packit |
4d380f |
grid = newtCreateGrid(num, 1);
|
|
Packit |
4d380f |
|
|
Packit |
4d380f |
for (i = 0; i < num; i++) {
|
|
Packit |
4d380f |
*buttons[i].compPtr = newtButton(-1, -1, buttons[i].name);
|
|
Packit |
4d380f |
newtGridSetField(grid, i, 0, NEWT_GRID_COMPONENT,
|
|
Packit |
4d380f |
*buttons[i].compPtr,
|
|
Packit |
4d380f |
num ? 1 : 0, 0, 0, 0, 0, 0);
|
|
Packit |
4d380f |
}
|
|
Packit |
4d380f |
|
|
Packit |
4d380f |
return grid;
|
|
Packit |
4d380f |
}
|
|
Packit |
4d380f |
|
|
Packit |
4d380f |
newtGrid newtButtonBar(char * button1, newtComponent * b1comp, ...) {
|
|
Packit |
4d380f |
va_list args;
|
|
Packit |
4d380f |
newtGrid grid;
|
|
Packit |
4d380f |
|
|
Packit |
4d380f |
va_start(args, b1comp);
|
|
Packit |
4d380f |
|
|
Packit |
4d380f |
grid = newtButtonBarv(button1, b1comp, args);
|
|
Packit |
4d380f |
|
|
Packit |
4d380f |
va_end(args);
|
|
Packit |
4d380f |
|
|
Packit |
4d380f |
return grid;
|
|
Packit |
4d380f |
}
|