89 i18n(
"XYZ file - NPT"),
91 i18n(
"CPMD trajectory"),
92 i18n(
"CPMD trajectory - NPT"),
93 i18n(
"VASP trajectory"),
94 i18n(
"VASP trajectory - NPT"),
97 i18n(
"Cryst. information (crystal build) - single configuration"),
98 i18n(
"Cryst. information (crystal build) - multiple configurations"),
99 i18n(
"Cryst. information (symmetry positions) - single configuration"),
100 i18n(
"DL-POLY HISTORY file"),
101 i18n(
"ISAACS Project File")};
104 "pdb",
"ent",
"cif",
"cif",
"cif",
"hist",
"ipf"};
109extern G_MODULE_EXPORT
void on_edit_activate (GtkWidget * widg, gpointer data);
110extern gchar *
substitute_string (gchar * init, gchar * o_motif, gchar * n_motif);
111extern const gchar *
dfi[2];
129 gboolean close = FALSE;
130 j = GPOINTER_TO_INT (data);
133 close =
ask_yes_no (_(
"Close workspace ?"), _(
"Are you sure ?"), GTK_MESSAGE_QUESTION,
MainWindow);
146 g_debug (
"CLOSING:: %d", i);
182int signal_error (
const char * file,
const char * func,
int error_line,
int error_id)
202 gchar * intro =
"<span font_desc=\"monospace 10\">\n";
206 gchar * tab_part = NULL;
211 tmp_trace = g_strdup_printf (
"%s\n%s",
project_error -> error_trace, intro);
216 tmp_trace = g_strdup_printf (
"%s", intro);
220 tab_part = (tab_part) ? g_strdup_printf (
"%s\t\t", tab_part) : g_strdup_printf (
"\t\t");
222 file_part = g_strdup_printf (_(
"File : %s\n"), file);
223 func_part = g_strdup_printf (_(
"Function: %s()\n"), func);
224 line_part = g_strdup_printf (_(
"Line : %d</span>"), trace_line);
225 project_error -> error_trace = g_strdup_printf (
"%s%s%s%s%s%s%s", tmp_trace, tab_part, file_part, tab_part, func_part, tab_part, line_part);
246int open_save (FILE *
fp,
int act,
int wid,
int pid,
int aid, gchar * pfile)
290 if (pfile != NULL && ! wid)
292 err = g_strdup_printf (_(
"Impossible to %s project file: \n\n"
295 "\tProject file version: <b>%1.1f</b>\n"),
296 (! act) ? _(
"open") : _(
"save"),
298 (! act) ? _(
"reading") : _(
"saving"),
305 err = g_strdup_printf (_(
"Impossible to %s workspace file.\n"
306 "Error with project: \n\n"
309 "\tProject file version: <b>%1.1f</b>\n"),
310 (! act) ? _(
"open") : _(
"save"),
312 (! act) ? _(
"reading") : _(
"saving"),
350 g_application_quit (G_APPLICATION(
AtomesApp));
373 if (fread (& i,
sizeof(
int), 1,
fp) != 1)
return 1;
374 ver = g_malloc0(i*
sizeof*ver);
375 if (fread (ver,
sizeof(
char), i,
fp) != i)
return 1;
378 if (fread (& i,
sizeof(
int), 1,
fp) != 1)
return 1;
383 ver = g_strdup_printf (
"%%\n%% Workspace file v-%1d.0\n%%\n", i);
385 if (fwrite (& i,
sizeof(
int), 1,
fp) != 1)
return 1;
386 if (fwrite (ver,
sizeof(
char), i,
fp) != i)
return 1;
390 if (fwrite (& i,
sizeof(
int), 1,
fp) != 1)
return 1;
402 if (l != 0)
return l;
407 if (l != 0)
return l;
428 FILE *
fp = fopen (data,
dfi[0]);
453 GListModel * projlist;
454 GtkFileChooser * chooser = GTK_FILE_CHOOSER((GtkFileChooserNative *)info);
467 GSList * projlist = NULL;
468 GtkFileChooser * chooser = GTK_FILE_CHOOSER((GtkWidget *)info);
473 const gchar * mess[2]={
i18n(
"reading"),
i18n(
"saving")};
474 if (response_id == GTK_RESPONSE_ACCEPT)
508 g_slist_free (projlist);
511 for (i=0; i<g_list_model_get_n_items (projlist); i++)
513 GObject * obj = g_list_model_get_item (projlist, i);
516 g_object_unref (projlist);
528 err = g_strdup_printf (_(
"Error %s workspace file\n%s\n"), _(mess[
osp.b]),
projfile);
554 GtkFileChooserNative * info;
558 GtkFileChooser * chooser;
560 const gchar * str[4]={
i18n(
"Open Project File(s)"),
i18n(
"Save Project File"),
i18n(
"Open Workspace"),
i18n(
"Save Workspace")};
562 const gchar * file_name[2]={
i18n(
"Project file (*.apf)"),
i18n(
"Workspace file (*.awf)")};
563 const gchar * file_ext[2]={
"*.apf",
"*.awf"};
564 GtkFileChooserAction act[2]={GTK_FILE_CHOOSER_ACTION_OPEN, GTK_FILE_CHOOSER_ACTION_SAVE};
567 i = GPOINTER_TO_INT (data);
569 if (i == 1 || i == 3)
598 else if (i == 1 && ! this_proj -> natomes)
617 if (g_strcmp0(this_proj ->
projfile,
"(null)") == 0) this_proj ->
projfile = NULL;
651 tmp_str = g_strdup_printf (_(
"%s - New project"), _(str[i]));
655 tmp_str = g_strdup_printf (
"%s - %s", _(str[i]),
prepare_for_title(this_proj -> name));
659 tmp_str = g_strdup_printf (
"%s", _(str[i]));
665 chooser = GTK_FILE_CHOOSER (info);
668 gtk_file_chooser_set_do_overwrite_confirmation (chooser, TRUE);
670 if (i == 1 || i == 3) gtk_file_chooser_set_create_folders (chooser, TRUE);
676 gtk_file_chooser_set_select_multiple (chooser, TRUE);
686 gtk_file_chooser_set_current_name (chooser,
projfile);
698 gtk_file_chooser_set_current_name (chooser, g_strdup_printf (
"%s",
workspacefile));
706 filter1 = gtk_file_filter_new();
707 gtk_file_filter_set_name (GTK_FILE_FILTER(
filter1), _(file_name[i/2]));
708 gtk_file_filter_add_pattern (GTK_FILE_FILTER(
filter1), file_ext[i/2]);
709 gtk_file_chooser_add_filter (chooser,
filter1);
710 filter2 = gtk_file_filter_new();
711 gtk_file_filter_set_name (GTK_FILE_FILTER(
filter2), _(
"All files (*)"));
712 gtk_file_filter_add_pattern (GTK_FILE_FILTER(
filter2),
"*");
713 gtk_file_chooser_add_filter (chooser,
filter2);
827 if (visible)
show_info (_(
"ISAACS project file (XML) successfully opened"), 0,
MainWindow);
845G_MODULE_EXPORT
void run_on_isaacs_port (GtkNativeDialog * info, gint response_id, gpointer data)
847 GtkFileChooser * chooser = GTK_FILE_CHOOSER((GtkFileChooserNative *)info);
860 GtkFileChooser * chooser = GTK_FILE_CHOOSER((GtkWidget *)info);
862 if (response_id == GTK_RESPONSE_ACCEPT)
909 GtkFileChooserNative * info;
913 GtkFileChooser * chooser;
914 GtkFileFilter *
filter[2];
915 const gchar * file_ext[2]={
"*.ipf",
"*"};
916 const gchar * file_type[2]={
i18n(
"IPF file (*.ipf)"),
i18n(
"All files (*)")};
917 const gchar * str[2]={
i18n(
"Import ISAACS Project File"),
i18n(
"Export ISAACS Project File")};
919 GtkFileChooserAction act[2]={GTK_FILE_CHOOSER_ACTION_OPEN, GTK_FILE_CHOOSER_ACTION_SAVE};
921 i = GPOINTER_TO_INT (data);
930 chooser = GTK_FILE_CHOOSER (info);
932 gtk_file_chooser_set_do_overwrite_confirmation (chooser, TRUE);
934 if (i) gtk_file_chooser_set_create_folders (chooser, TRUE);
937 filter[j] = gtk_file_filter_new();
938 gtk_file_filter_set_name (GTK_FILE_FILTER(
filter[j]), _(file_type[j]));
939 gtk_file_filter_add_pattern (GTK_FILE_FILTER(
filter[j]), file_ext[j]);
940 gtk_file_chooser_add_filter (chooser,
filter[j]);
946 run_this_gtk_native_dialog ((GtkNativeDialog *)info, G_CALLBACK(
run_on_isaacs_port), NULL);
963 double *
x, *
y, *
z;
970 lat[0] = lat[1] = lat[2] = 0.0;
975 for (j=0; j<3; j++) lat[i] -=
active_box -> vect[j][i]/2.0;
1037 gchar * str = g_strdup_printf (_(
"Label of atomic spec. N° %d:"), sid+1);
1038 gtk_label_set_text (GTK_LABEL(
sa_lab[0]), str);
1043 str = g_strdup_printf (_(
"Number of %s atom(s):"),
this_reader -> label[sid]);
1048 str = g_strdup_printf (_(
"Number of atom(s) for spec. N° %d:"), sid+1);
1050 gtk_label_set_text (GTK_LABEL(
sa_lab[1]), str);
1074 i = GPOINTER_TO_INT(data);
1139 str = g_strdup_printf (
"N°%d", i+1);
1140 gtk_combo_box_text_append_text ((GtkComboBoxText *)combo, str);
1144 g_signal_connect (G_OBJECT (combo),
"changed", G_CALLBACK(
changed_spec_combo), NULL);
1170 i = GPOINTER_TO_INT(data);
1172 gboolean
up = FALSE;
1231 int id = GPOINTER_TO_INT(data);
1232 switch (response_id)
1234 case GTK_RESPONSE_APPLY:
1271 gchar * rlabel[2]={
i18n(
"Total number of atom(s):"),
i18n(
"Number of chemical species:")};
1273 read_this = gtk_dialog_add_button (GTK_DIALOG (dialog), _(
"Apply"), GTK_RESPONSE_APPLY);
1332G_MODULE_EXPORT
void run_read_npt_data (GtkNativeDialog * info, gint response_id, gpointer data)
1334 GtkFileChooser * chooser = GTK_FILE_CHOOSER((GtkFileChooserNative *)info);
1347 GtkFileChooser * chooser = GTK_FILE_CHOOSER((GtkWidget *)info);
1349 if (response_id == GTK_RESPONSE_ACCEPT)
1372 GtkFileFilter *
filter[2];
1374 GtkFileChooserNative * info;
1380 GTK_FILE_CHOOSER_ACTION_OPEN,
1382 GtkFileChooser * chooser = GTK_FILE_CHOOSER(info);
1383 filter[0] = gtk_file_filter_new();
1384 gtk_file_filter_set_name (GTK_FILE_FILTER(
filter[0]), _(
"DAT files (*.dat)"));
1385 gtk_file_filter_add_pattern (GTK_FILE_FILTER(
filter[0]),
"*.dat");
1386 gtk_file_chooser_add_filter (chooser,
filter[0]);
1387 filter[1] = gtk_file_filter_new();
1388 gtk_file_filter_set_name (GTK_FILE_FILTER(
filter[1]), _(
"All files (*)"));
1389 gtk_file_filter_add_pattern (GTK_FILE_FILTER(
filter[1]),
"*");
1390 gtk_file_chooser_add_filter (chooser,
filter[1]);
1393 run_this_gtk_native_dialog ((GtkNativeDialog *)info, G_CALLBACK(
run_read_npt_data), NULL);
1409 struct timespec sta_time;
1410 struct timespec sto_time;
1413 clock_gettime (CLOCK_MONOTONIC, & sta_time);
1483 clock_gettime (CLOCK_MONOTONIC, & sto_time);
1489 gchar * info = g_strdup_printf (
"%s",
this_reader -> info[0]);
1493 info = g_strdup_printf (
"%s\n%s", info,
this_reader -> info[i]);
1540 if (
id > 6 &&
id < 9)
1542 clock_gettime (CLOCK_MONOTONIC, & sta_time);
1545 show_error (_(
"Error while parsing the chemical information\n"
1546 "please check carefully the coordinates file"), 0,
MainWindow);
1549 clock_gettime (CLOCK_MONOTONIC, & sto_time);
1571 clock_gettime (CLOCK_MONOTONIC, &
start_time);
1574 clock_gettime (CLOCK_MONOTONIC, &
stop_time);
1588 if (format != 1 && format != 4 && format != 6 && format != 9 && format != 10 && format != 11 && format != 12)
on_edit_activate (NULL, GINT_TO_POINTER(4));
1603 if ((format == 9 || format == 10 || format == 11) &&
active_cell -> has_a_box)
1606 gtk_check_menu_item_set_active ((GtkCheckMenuItem *)
active_glwin -> ogl_rep[0], TRUE);
1608 gtk_check_menu_item_set_active ((GtkCheckMenuItem *)
active_glwin -> ogl_clones[0], TRUE);
1618 gchar * file_name = g_strdup_printf (
"%s",
active_project -> coordfile);
1619 gchar * proj_name = g_strdup_printf (_(
"%s - symmetry position(s)"),
active_project -> name);
1644G_MODULE_EXPORT
void run_on_coord_port (GtkNativeDialog * info, gint response_id, gpointer data)
1646 GtkFileChooser * chooser = GTK_FILE_CHOOSER((GtkFileChooserNative *)info);
1659 GtkFileChooser * chooser = GTK_FILE_CHOOSER((GtkWidget *)info);
1662 GtkFileFilter * tmp;
1665 i = GPOINTER_TO_INT(data);
1667 switch (response_id)
1669 case GTK_RESPONSE_ACCEPT:
1670 tmp = gtk_file_chooser_get_filter (chooser);
1678 while (tmp !=
filter[j]) j++;
1686 j =
iask (_(
"Please select the file format of the atomic coordinates"), _(
"Select format:"), 2,
MainWindow);
1694 format =
iask (_(
"Please select the format of the atomic coordinates"), _(
"Select format:"), 1,
MainWindow);
1700 active_cell -> frac = (format < 2) ? 0 : format - 1;
1701 car_to_au = (format == 1) ? 1 : 0;
1734 tmp_str = g_strdup_printf (_(
"Impossible to export the atomic coordinates\nError code: %d"), k);
1767 GtkFileChooserNative * info;
1771 GtkFileChooser * chooser;
1774 const gchar * str[2]= {
i18n(
"Import atomic coordinates"),
i18n(
"Export atomic coordinates")};
1775 const gchar *
res[2]= {
i18n(
"Open"),
i18n(
"Save")};
1776 char * out_files[2] = {
i18n(
"XYZ file"),
i18n(
"Chem3D file")};
1777 char * out_ext[2]={
"xyz",
"c3d"};
1778 GtkFileChooserAction act[2]={GTK_FILE_CHOOSER_ACTION_OPEN, GTK_FILE_CHOOSER_ACTION_SAVE};
1780 i = GPOINTER_TO_INT (data);
1798 chooser = GTK_FILE_CHOOSER(info);
1799 if (i) gtk_file_chooser_set_create_folders (chooser, TRUE);
1801 gtk_file_chooser_set_do_overwrite_confirmation (chooser, TRUE);
1803 for (j=0; j<num_files[i]; j++)
1805 filter[j] = gtk_file_filter_new();
1812 tmp_str = g_strdup_printf (
"%s (*.%s)", _(out_files[j]), out_ext[j]);
1814 gtk_file_filter_set_name (GTK_FILE_FILTER(
filter[j]), tmp_str);
1822 tmp_str = g_strdup_printf (
"*.%s", out_ext[j]);
1824 gtk_file_filter_add_pattern (GTK_FILE_FILTER(
filter[j]), tmp_str);
1825 gtk_file_chooser_add_filter (chooser,
filter[j]);
1830 filter[j] = gtk_file_filter_new();
1831 gtk_file_filter_set_name (GTK_FILE_FILTER(
filter[j]), _(
"All files (*)"));
1832 gtk_file_filter_add_pattern (GTK_FILE_FILTER(
filter[j]),
"*");
1833 gtk_file_chooser_add_filter (chooser,
filter[j]);
1838 gtk_file_chooser_set_current_name (chooser,
"coord.xyz");
1841 run_this_gtk_native_dialog ((GtkNativeDialog *)info, G_CALLBACK(
run_on_coord_port), GINT_TO_POINTER(i));
1854 tmp_str = g_strdup_printf (_(
"Project <b>%s</b> is empty ... nothing to be saved\n"),
Function declarations for the mode edition window.
Binding to the Fortran90 subroutines.
void send_label_(int *, int *, char *)
void read_pos_(double *, double *, double *)
void prep_pos_(int *, int *)
int write_xyz_(char *, int *, int *, int *)
void lattice_(int *, int *, double[3][3], double[3], double[3], int *, int *, int *)
int write_c3d_(char *, int *, int *, int *)
int read_pdb_(char *, int *)
int open_coordinate_file(int id)
try to open coordinate file, type is based of id
int open_coord_file(gchar *filename, int fti)
open atomic coordinates file
int signal_error(const char *file, const char *func, int error_line, int error_id)
int to_read_trj_or_vas(int ff)
reading CPMD/VASP trajectory - prepare the dialog
void quit_gtk()
Leave the application.
G_MODULE_EXPORT void on_edit_activate(GtkWidget *widg, gpointer data)
create an edition dialog - prepare the dialog
G_MODULE_EXPORT void run_read_npt_data(GtkDialog *info, gint response_id, gpointer data)
read NPT data associated with atomic coordinates: run the dialog GTK3 callback
G_MODULE_EXPORT void changed_spec_combo(GtkComboBox *box, gpointer data)
reading CPMD/VASP trajectory, change the active species
int read_npt_data()
read NPT data associated with atomic coordinates: setup the dialog
int open_save_workspace(FILE *fp, int act)
open or save the active workspace
gchar * substitute_string(gchar *init, gchar *o_motif, gchar *n_motif)
substitute all patterns in string
G_MODULE_EXPORT void run_on_open_save_active(GtkDialog *info, gint response_id, gpointer data)
open or save an atomes file - running the dialog
double get_z_from_periodic_table(gchar *lab)
get Z from atom label
G_MODULE_EXPORT void on_close_workspace(GtkWidget *widg, gpointer data)
close the active workspace
atomes_error_signal errors_messages[]
G_MODULE_EXPORT void on_open_save_activate(GtkWidget *widg, gpointer data)
open or save an atomes file - prepare the dialog
G_MODULE_EXPORT void run_on_coord_port(GtkDialog *info, gint response_id, gpointer data)
export or import atomic coordinates: run dialog
G_MODULE_EXPORT void run_on_isaacs_port(GtkDialog *info, gint response_id, gpointer data)
open or write ISAACS XML file - running the dialog
void simple_image_render()
simple direct rendering from command line
void apply_project(gboolean showtools)
get project ready for calculation and initialize the OpenGL window
int prep_chem_data()
prepare chemical data to read CPMD/VASP file
G_MODULE_EXPORT void on_isaacs_port(GtkWidget *widg, gpointer data)
open or write ISAACS XML file - prepare the dialog
void open_this_coordinate_file(int format, gchar *proj_name)
open coordinate file format, if successful add to workspace
int open_history_file(gchar *filename)
void run_project()
send project data to Fortran90
G_MODULE_EXPORT void run_to_read_trj_or_vas(GtkDialog *dialog, gint response_id, gpointer data)
reading CPMD/VASP trajectory: run the dialog
void cell_data_from_pdb_(float *a, float *b, float *c, float *alp, float *bet, float *gam)
update cell parameters from the data in the PDB file
int open_save(FILE *fp, int act, int wid, int pid, int aid, gchar *pfile)
open or save project file
GtkFileFilter * filter[NCFORMATS+1]
atomes_error * project_error
int open_cif_file(gchar *filename)
G_MODULE_EXPORT void update_sa(GtkEntry *res, gpointer data)
reading CPMD/VASP trajectory, set the number of chemical species
G_MODULE_EXPORT void on_coord_port(GtkWidget *widg, gpointer data)
export or import atomic coordinates: prepare dialog
G_MODULE_EXPORT void on_save_as_activate(GtkWidget *widg, gpointer data)
open or save, choosing a file name
void update_sa_info(int sid)
reading CPMD/VASP trajectory, update chemical species info
void prepare_sp_box()
eading CPMD/VASP trajectory, prepare the species combo box
G_MODULE_EXPORT void update_at_sp(GtkEntry *res, gpointer data)
reading CPMD/VASP trajectory, changing number of atomes or species
void open_this_isaacs_xml_file(gchar *profile, int ptoc, gboolean visible)
open an ISAACS XML file
void update_error_trace(const char *file, const char *func, int trace_line)
void open_this_proj(gpointer data, gpointer user_data)
Open many projects, one at a time.
void to_read_pos()
send atomic coordinates to Fortran90
int open_cell_file(int format, gchar *filename)
open the file that contains the cell parameters
void check_read_sa()
reading CPMD/VASP trajectory, testing parameters to active the read capabilty
Callback declarations for main window.
int occupancy(double occ, int cif_occ)
handle occupancy integer rouding
void shift_it(vec3_t shift, int refresh, int proj)
shift atomic coordinates
Function declarations for the cell edition window.
void update_insert_combos()
update some GtkComboBox in the workspace if a project is removed
void to_close_this_project(int to_activate, project *this_proj)
to close this project
G_MODULE_EXPORT void on_close_activate(GtkWidget *widg, gpointer cdata)
signal to close a project
struct timespec start_time
GtkApplication * AtomesApp
double * allocdouble(int val)
allocate a double * pointer
gchar * calculation_time(gboolean modelv, double ctime)
get calculation time, human readable
gboolean atomes_render_image
int * allocint(int val)
allocate an int * pointer
double get_calc_time(struct timespec start, struct timespec stop)
get calculation time in s
struct timespec stop_time
gboolean cif_use_symmetry_positions
double string_to_double(gpointer string)
convert string to double
gboolean atomes_from_libreoffice
Global variable declarations Global convenience function declarations Global data structure defin...
void run_this_gtk_dialog(GtkWidget *dial, GCallback handler, gpointer data)
run a GTK (3 and 4) basic GtkDialog
void file_chooser_set_current_folder(GtkFileChooser *chooser)
set current folder in a GtkFilechooser
int combo_get_active(GtkWidget *combo)
retrieve the active item's position
GtkWidget * create_entry(GCallback handler, int dim, int cdim, gboolean key_release, gpointer data)
Create a GtkEntry.
#define ATOM_LIMIT
atom number limit to compute fragment(s) and molecule(s) analysis automatically
GtkWidget * dialogmodal(gchar *str, GtkWindow *parent)
Create a new dialog modal window.
void combo_set_active(GtkWidget *combo, int pos)
set the active item's position
gchar * file_chooser_get_file_name(GtkFileChooser *chooser)
get a file name from a GtkFileChooser (single file selected)
const gchar * entry_get_text(GtkEntry *entry)
get the text in a GtkEntry
chemical_data * active_chem
void update_entry_int(GtkEntry *entry, int intval)
update the content of a GtkEntry as int
gboolean file_chooser_set_file_name(GtkFileChooser *chooser, gchar *filename)
set file name in a GtkFilechooser
GtkWidget * create_combo()
create a GtkCombox widget, note deprecated in GTK4
GtkWidget * dialog_get_content_area(GtkWidget *widg)
prepare GtkWidget to insert content in a GtkDialog window
GtkWidget * markup_label(gchar *text, int dimx, int dimy, float ax, float ay)
create a GtkLabel with pango markup
void add_box_child_start(int orientation, GtkWidget *widg, GtkWidget *child, gboolean expand, gboolean fill, int padding)
Add a GtkWidget in a GtkBox at the initial position.
void widget_set_sensitive(GtkWidget *widg, gboolean sensitive)
Set sensitivity for a GtkWidget, ensuring it is a GtkWidget.
void destroy_this_dialog(GtkDialog *dialog)
destroy a GtkDialog
GtkWidget * create_hbox(int spacing)
create a GtkBox with horizontal orientation
char * coord_files_ext[NCFORMATS+1]
GtkWidget * destroy_this_widget(GtkWidget *widg)
destroy a GtkWidget
void update_entry_text(GtkEntry *entry, gchar *text)
update the content of a GtkEntry as string
GSList * file_chooser_get_file_names(GtkFileChooser *chooser)
create a file list from files selected using a GtkFileChooser
gchar * prepare_for_title(gchar *init)
prepare a string for a window title, getting rid of all markup
char * coord_files[NCFORMATS+1]
GtkWidget * create_vbox(int spacing)
create a GtkBox with vertical orientation
GtkWidget * create_file_chooser(const gchar *title, GtkWindow *parent, GtkFileChooserAction act, const gchar *act_name)
create a GtkFileChooser, utility to select file(s)
void initcutoffs(chemical_data *chem, int species)
initialize bond cutoffs
void destroy_this_native_dialog(GtkNativeDialog *dialog)
destroy a GtkNativeDialog
void show_the_widgets(GtkWidget *widg)
show GtkWidget
project * get_project_by_id(int p)
get project pointer using id number
Variable declarations related to the OpenGL window Function declarations related to the OpenGL wind...
G_MODULE_EXPORT void show_hide_clones(GSimpleAction *action, GVariant *state, gpointer data)
show/hide clones menu item callback
void prep_model(int p)
prepare, or display, the OpenGL model window
Function declarations for the creation of the OpenGL window.
void init_project(gboolean alloc_box)
initialize a new project
void init_atomes_analysis(project *this_proj, gboolean apply_defaults)
initialize analysis data structures for atomes
int iask(char *question, char *lab, int id, GtkWidget *win)
enter an integer value - prepare the dialog
void show_warning(char *warning, GtkWidget *win)
show warning
void show_info(char *information, int val, GtkWidget *win)
add / show information message to widget
void show_error(char *error, int val, GtkWidget *win)
show error message
void show_error_with_trace(gchar *error, atomes_error *this_error, int act, int val, GtkWidget *win)
show error message
gboolean ask_yes_no(gchar *title, gchar *text, int type, GtkWidget *widg)
ask yes or no for something: prepare dialog
Messaging function declarations.
void prep_calc_actions()
prepare analysis widgets
integer(kind=c_int) function lattice(totl, lid, vectors, vmod, angles, lat, cfrac, apbc)
G_MODULE_EXPORT void set_rep(GtkWidget *widg, gpointer data)
change representation callback
float project_file_version
int open_project(FILE *fp, int wid)
open atomes project file
Function declarations for reading atomes project file Function declarations for saving atomes proje...
int save_project(FILE *fp, project *this_proj, int wid)
save project to file
void active_project_changed(int id)
change the active project
int write_xml(const char *filetosave)
write XML file
gchar * open_xml(const char *filetoread)
Open ISAACS XML file.
Functions declaration to read atomic coordinates.
void add_project_to_workspace()
add project(s) to the workspace tree
Function declarations for workspace managment.