home *** CD-ROM | disk | FTP | other *** search
- /*
- * chemtab - a periodic table data base (C) 1990 Jim King (pulsar@lsrhs)
- *
- * vdata.c View current data
- */
-
- #include <stdio.h>
- #include <curses.h>
- #include "variables.h"
- #include "tune.h"
- #include "element.h"
- #include "windows.h"
- #include "undefs.h"
-
- /*
- * topline() - no input
- *
- * purpose: sets up the topline of user info.
- */
- topline()
- {
- mvwaddstr(graph, 0, 0, "Name");
- mvwaddstr(graph, 0, 13, "Sy");
- mvwaddstr(graph, 0, 18, "Z");
- mvwaddstr(graph, 0, 23, "MASS");
- mvwaddstr(graph, 0, 30, "FM");
- mvwaddstr(graph, 0, 33, "R");
- mvwaddstr(graph, 0, 35, "V");
- mvwaddstr(graph, 0, 37, "Melt");
- mvwaddstr(graph, 0, 42, "Boil");
- mvwaddstr(graph, 0, 47, "FIO");
- mvwaddstr(graph, 0, 51, "Year");
- mvwaddstr(graph, 0, 56, "ENG");
- mvwaddstr(graph, 0, 60, "SPHT");
- mvwaddstr(graph, 0, 66, "DENS");
- mvwaddstr(graph, 0, 71, "ARAD");
- wrefresh(graph);
- }
-
- /*
- * vdata() - no input
- *
- * purpose: show all information on all selected elements to user
- */
- vdata()
- {
- struct elem *tmp;
- int n = 0, flg = 0, factor = 1, l, m, i, j, sorted;
-
- if (gtot == -1) {
- mvwaddstr(mn, 15, 0, "Please choose some selection characteristics before you do this.");
- wrefresh(mn);
- sleep(2);
- wmove(mn, 15, 0); wclrtoeol(mn);
- return(0);
- }
-
- wclear(mn);
- wrefresh(mn);
-
- wclear(graph);
- wrefresh(graph);
- if (gtot == 0) {
- mvwaddstr(graph, 5, 0, "No elements met the requirements you set.");
- wrefresh(graph);
- spc();
- clear();
- refresh();
- return(0);
- }
- if (gtot > 22)
- factor++;
- if (gtot > 44)
- factor++;
- if (gtot > 66)
- factor++;
- if (gtot > 88)
- factor++;
- clear();
- refresh();
- for (i = 0; i < factor; i++) {
- topline();
- for (j = 22*i+1; j < 22*i+23; j++) {
- if (j > gtot)
- break;
- n = sub1[j];
- for (tmp = e; n != tmp->anum; tmp = tmp->next) ;
- mvwaddstr(graph, j-22*i, 0, tmp->name);
- wmove(graph, j-22*i, 13); wprintw(graph, "%s", tmp->sym);
- wmove(graph, j-22*i, 18); wprintw(graph, "%-d", tmp->anum);
- wmove(graph, j-22*i, 22); wprintw(graph, "%-3.3f", tmp->amass);
- wmove(graph, j-22*i, 30); wprintw(graph, "%-d", tmp->fam);
- wmove(graph, j-22*i, 33); wprintw(graph, "%-d", tmp->row);
- if (tmp->val == VAL) {
- wstandout(graph);
- mvwaddstr(graph, j-22*1, 35, "X");
- wstandend(graph);
- } else {
- wmove(graph, j-22*i, 35); wprintw(graph, "%d", tmp->val);
- }
- if (tmp->melt == MEL) {
- wstandout(graph);
- mvwaddstr(graph, j-22*i, 37, "N/F");
- wstandend(graph);
- } else {
- wmove(graph, j-22*i, 37); wprintw(graph, "%-d", tmp->melt);
- }
- if (tmp->boil == BOI) {
- wstandout(graph);
- mvwaddstr(graph, j-22*i, 42, "N/F");
- wstandend(graph);
- } else {
- wmove(graph, j-22*i, 42); wprintw(graph, "%-d", tmp->boil);
- }
- if (tmp->fio == FIO) {
- wstandout(graph);
- mvwaddstr(graph, j-22*i, 47, "N/F");
- wstandend(graph);
- } else {
- wmove(graph, j-22*i, 47); wprintw(graph, "%3d", tmp->fio);
- }
- if (tmp->year == YEA) {
- wstandout(graph);
- mvwaddstr(graph, j-22*i, 51, "B.C.");
- wstandend(graph);
- } else {
- wmove(graph, j-22*i, 51); wprintw(graph, "%-d", tmp->year);
- }
- if (tmp->eneg == ENG) {
- wstandout(graph);
- mvwaddstr(graph, j-22*i, 56, "N/F");
- wstandend(graph);
- } else {
- wmove(graph, j-22*i, 56); wprintw(graph, "%1.1f", tmp->eneg);
- }
- if (tmp->spht == SPHT) {
- wstandout(graph);
- mvwaddstr(graph, j-22*i, 60, "N/F");
- wstandend(graph);
- } else {
- wmove(graph, j-22*i, 60); wprintw(graph, "%1.3f", tmp->spht);
- }
- if (tmp->dens == DENS) {
- wstandout(graph);
- mvwaddstr(graph, j-22*i, 66, "N/F");
- wstandend(graph);
- } else {
- wmove(graph, j-22*i, 66);
- if (tmp->dens > 9.99)
- wprintw(graph, "%2.1f", tmp->dens);
- else
- wprintw(graph, "%1.2f", tmp->dens);
- }
- if (tmp->arad == ARD) {
- wstandout(graph);
- mvwaddstr(graph, j-22*i, 71, "N/F");
- wstandend(graph);
- } else {
- wmove(graph, j-22*i, 71); wprintw(graph, "%1.2f", tmp->arad);
- }
- wrefresh(graph);
- }
- spc();
- capture(graph, 0, 1);
- wclear(graph);
- }
- clear();
- refresh();
- return(0);
- }
-