ncurses initial

This commit is contained in:
vrd
2022-12-10 22:43:21 +02:00
parent 489479fd32
commit 87dc80c9f8
2 changed files with 63 additions and 19 deletions
+7 -4
View File
@@ -8,6 +8,7 @@ using std::cout;
int main()
{
setlocale(LC_ALL, "");
initscr(); /* Start curses mode */
/*Tree test1("Dechkovi"); //addTree Dechkovi addTree Karamanovi load 0 load 1 (to work with these example trees)
@@ -40,7 +41,7 @@ int main()
Tree firstTree("firstTree");
firstTree.addPerson("Адам,", true, Nobody, Nobody, {0, 1, 6});
firstTree.addPerson("Адам", true, Nobody, Nobody, {0, 1, 6});
firstTree.addPerson("Ева", false, Nobody, Nobody, {0, 1, 6});
firstTree.addRelation(0, Husband, 1);
@@ -59,8 +60,6 @@ int main()
/* ====================================================== */
refresh(); /* Print it on to the real screen */
Array<Tree> trees;
bool quit = false;
@@ -106,7 +105,11 @@ int main()
do
{
std::cout << "Enter a command\n";
clear();
printw("Enter a command\n");
refresh();
// getmaxyx(stdscr,row,col); /* get the number of rows and columns */
std::cin >> input;
for (i = 0; i < numCom; ++i)
{
+56 -15
View File
@@ -1,11 +1,14 @@
#include <iostream>
#include <assert.h>
#include <ncursesw/ncurses.h>
#include"person.h"
#include "help.h"
using std::cout;
WINDOW* info_tab;
EventTime::EventTime(I16 Year, U8 Month, U16 Day, I8 Hour, I8 Minute)
: year(Year)
, month(Month)
@@ -18,23 +21,41 @@ EventTime::EventTime(I16 Year, U8 Month, U16 Day, I8 Hour, I8 Minute)
void EventTime::print() const
{
/* if (day != UNKNOWN_DATE) */
/* cout << (I32)day; */
/* else */
/* cout << "??"; */
/* cout << '.'; */
/* if (month != UNKNOWN_DATE) */
/* cout << (I32)month; */
/* else */
/* cout << "??"; */
/* cout << '.'; */
/* if (year != UNKNOWN_DATE) */
/* cout << year; */
/* else */
/* cout << "????"; */
/* cout << '\n'; */
if (day != UNKNOWN_DATE)
cout << (I32)day;
wprintw(info_tab, "%d", day);
else
cout << "??";
cout << '.';
waddstr(info_tab, "??");
waddch(info_tab, '.');
if (month != UNKNOWN_DATE)
cout << (I32)month;
wprintw(info_tab, "%d", month);
else
cout << "??";
cout << '.';
waddstr(info_tab, "??");
waddch(info_tab, '.');
if (year != UNKNOWN_DATE)
cout << year;
wprintw(info_tab, "%d", year);
else
cout << "????";
cout << '\n';
waddstr(info_tab, "????");
waddch(info_tab, '\n');
}
@@ -106,14 +127,34 @@ void Person::rename(const char* newName)
void Person::print()const
{
cout << name_ << '\n';
cout << (isMale_ ? "Male\n" : "Female\n");
info_tab = newwin(LINES, COLS, 0, 0);
cout << "Birth: ";
waddstr(info_tab, name_.data());
waddch(info_tab,'\n');
waddstr(info_tab, "Birth: ");
birth_.print();
cout << "Death: "; //TODO: only print if known
waddstr(info_tab, "Death: ");
death_.print();
cout << '\n';
mvaddstr(LINES-1, 0, "Press any key to return.");
wrefresh(info_tab);
getch(); /* waint press */
werase(info_tab);
wrefresh(info_tab);
delwin(info_tab);
/* cout << name_ << '\n'; */
/* cout << (isMale_ ? "Male\n" : "Female\n"); */
/* cout << "Birth: "; */
/* birth_.print(); */
/* cout << "Death: "; //TODO: only print if known */
/* death_.print(); */
/* cout << '\n'; */
}