You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

84 lines
1.6 KiB
C

#include <ncurses.h>
#include <string.h>
#include "texted.h"
void createPanel(WINDOW*,char**);
void curses_init();
int begX(WINDOW* window);
int begY(WINDOW* window);
int maxX(WINDOW* window);
int maxY(WINDOW* window);
void createPanel(WINDOW* window, char** listOfElements) {
int numCharsToIncrement = 1;
int numElements = 0;
int i=0;
while(*(listOfElements+i) != NULL) {
numElements++;
i++;
}
i=0;
for (int i=0;i<numElements;i++) {
mvwprintw(window,1,numCharsToIncrement,"%s",*(listOfElements+i));
numCharsToIncrement += strlen(*(listOfElements+i)) + 1;
mvwprintw(window,1,numCharsToIncrement,"|");
numCharsToIncrement+=2;
}
}
int begX(WINDOW* window) {
int begX = 0;
int begY = 0;
getbegyx(window,begY,begX);
return begX;
}
int begY(WINDOW* window) {
int begX = 0;
int begY = 0;
getbegyx(window,begY,begX);
return begY;
}
int maxX(WINDOW* window) {
int maxX = 0;
int maxY = 0;
getmaxyx(window,maxY,maxX);
return maxX;
}
int maxY(WINDOW* window) {
int maxX = 0;
int maxY = 0;
getmaxyx(window,maxY,maxX);
return maxY;
}
void curses_init() {
initscr();
// curs_set(0);
}
int main(int argc, char** argv) {
curses_init();
WINDOW* mainwin = newwin(maxY(stdscr)/2,maxX(stdscr)/2,maxY(stdscr)/4,maxX(stdscr)/4);
WINDOW* menuwin = newwin(3,maxX(mainwin),begY(mainwin),begX(mainwin));
box(mainwin,0,0);
box(menuwin,0,0);
wrefresh(mainwin);
char* stringArray[] = {"Apple", "Baseball", "Cat", NULL};
createPanel(menuwin,stringArray);
wrefresh(mainwin);
wrefresh(menuwin);
delwin(menuwin);
run(argv[1],mainwin,argc);
wgetch(mainwin);
endwin();
return 0;
}