78extern void print_cp2k (
int f, GtkTextBuffer * buffer);
82extern GtkWidget *
cpmd_box (GtkWidget * box, gchar *
lab,
int v_space,
int h_space,
int dim);
88double default_cp2k_options[41] = {0.0, 86400.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 300.0,
89 4.0, 0.0, 0.0, 50.0, 0.000001, 20.0, 0.00001, 2.0, 0.0, 0.0,
90 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
91 0.0, 7.0, 10000.0, 2.5, 300.0, 1.0, 10000.0, 0.0001, 10.0, 0.0,
95double default_cp2k_extra[3][4] = {{0.0, 0.0, 0.0, 0.0}, {0.0, 0.0, 0.0, 0.0}, {-1.0, -1.0, 1.0, 0.0}};
97gchar *
cp2k_unit[6]={
"s",
"Ry",
"fs",
"K",
"a.u.",
"steps"};
99int cp2k_default_num[12] = {7, 3, 3, 4, 3, 11, 8, 4, 10, 9, 4, 2};
102 "VIBRATIONAL_ANALYSIS",
"LINEAR_RESPONSE",
"EHRENFEST_DYN",
" ",
" ",
" ",
" "},
103 {
"LOW",
"MEDIUM",
"HIGH",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" "},
104 {
"GPW",
"GAPW",
"GAPW_XC",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" "},
105 {
"ATOMIC",
"CORE",
"RANDOM",
"RESTART",
" ",
" ",
" ",
" ",
" ",
" ",
" "},
106 {
"BROYDEN",
"CG",
"DIIS",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" "},
107 {
"BLYP",
"B3LYP",
"BEEFVDW",
"BP",
"HCTH120",
"LDA",
"OLYP",
"PADE",
"PBE",
"PBE0",
"TPSS"},
108 {
"XYZ",
"XY",
"XZ",
"YZ",
"X",
"Y",
"Z",
"NONE",
" ",
" ",
" "},
109 {
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" "},
110 {
"CUBIC",
"HEXAGONAL",
"ORTHORHOMBIC",
"RHOMBOHEDRAL",
111 "TETRAGONAL_AB",
"TETRAGONAL_AC",
"TETRAGONAL_BC",
"MONOCLINIC",
"TRICLINIC",
"NONE",
" "},
112 {
"ISOKIN",
"LANGEVIN",
"NPE_F",
"NPE_I",
"NPT_F",
"NPT_I",
"NVE",
"NVT",
"NVT_ADIABATIC",
" ",
" "},
113 {
"BFGS",
"CG",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" "}};
115gchar *
cp2k_vdw_keywords[2][3] = {{
"DRSLL",
"LMKLL",
"RVV10"}, {
"DFTD2",
"DFTD3",
"DFTD3(BJ)"}};
118 "Single point energy and forces calculation",
119 "Geometry optimization",
"Molecular dynamics",
120 "Vibrational analysis",
"Linear response calculation",
"Ehrenfest dynamics",
" ",
" ",
" ",
" "},
121 {
"Low",
"Medium",
"High",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" "},
122 {
"Gaussian and plane waves method",
123 "Gaussian and augmented plane waves method",
124 "Gaussian and augmented plane waves method only for XC",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" "},
125 {
"Generate an atomic density using the atomic code",
126 "Diagonalize the core Hamiltonian",
127 "Use random wave-function coefficients",
128 "Use the RESTART file",
" ",
" ",
" ",
" ",
" ",
" ",
" "},
129 {
"Broyden mixing approximating the inverse Hessian",
130 "Conjugate Gradients",
"Direct inversion in the iterative subspace",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" "},
131 {
"Becke + Lee-Yang-Parr",
"Becke three-parameters hybrid + LYP",
"Bayesian error estimation + van der Walls",
132 "Becke + Perdew",
"Hamprecht-Cohen-Tozer-Handy",
"Local Density Approximation",
"Handy-Cohen + LYP",
"Padé",
133 "Perdew + Burke-Ernzerhof",
"Parameter-free PBE",
"Tao-Perdew-Staroverov-Scuseria"},
134 {
"3 dimensional (XYZ)",
"2 dimensional (XY)",
"2 dimensional (XZ)",
"2 dimensional (YZ)",
135 "1 dimensional (X)",
"1 dimensional (Y)",
"1 dimensional (Z)",
"Isolated system",
" ",
" ",
" "},
136 {
"Box parameters (a,b,c and α,β,γ)",
"Lattice vectors",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" "},
137 {
"Cubic (a = b = c, α = β = γ = 90°)",
"Hexagonal (a = b ≠ c, α = β = 90°, γ = 60°)",
138 "Orthorhombic (a ≠ b ≠ c, α = β = γ = 90°)",
"Rhombohedral (a = b = c, α = β = γ ≠ 90°)",
139 "Tetragonal (a = b ≠ c, α = β = γ = 90°)",
"Tetragonal (a = c ≠ b, α = β = γ = 90°)",
"Tetragonal (a ≠ b = c, α = β = γ = 90°)",
140 "Monoclinic (a ≠ b ≠ c ≠ a, α = γ = 90°, β ≠ 90°)",
"Triclinic (a ≠ b ≠ c ≠ a, α ≠ β ≠ γ ≠ α ≠ 90°)",
"No cell symmetry",
" "},
141 {
"Constant kinetic energy",
"Langevin dynamics (constant temperature)",
"Constant pressure ensemble (no thermostat)",
142 "Constant pressure ensemble using an isotropic cell (no thermostat)",
"Constant temperature and pressure using a flexible cell",
143 "Constant temperature and pressure using an isotropic cell",
"Constant energy (µ-canonical)",
"Constant temperature and volume (canonical)",
144 "Adiabatic dynamics in constant temperature and volume ensemble (CAFES)",
" ",
" "},
145 {
"Diagonalization of a full Hessian matrix",
"Conjugate gradients",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" "}};
147gchar *
cp2k_vdw_text[2][3] = {{
"Dion-Rydberg-Schroeder-Langreth-Lundqvist non-local van der Waals density functional",
148 "Lee-Murray-Kong-Lundqvist-Langreth non-local van der Waals density functional",
149 "Revised Vydrov-van Voorhis non-local van der Waals density functional"},
150 {
"Grimme D2 method",
"Grimme D3 method (zero damping)",
"Grimme D3 method (Becke-Johnson damping)"}};
156 "Use restart information:",
157 "File that contains the restart information:",
158 "File that contains the basis set(s):",
159 "File that contains the pseudo-potential(s):",
160 "File that contains the wave-function:",
162 "Density cutoff for the finest grid level:",
163 "Number of multi-grids:",
165 "Initial guess for the wave-function:",
166 "Maximum inner-SCF cycle(s):",
167 "Convergence threshold:",
168 "Maximum outer-SCF cycle(s):",
169 "Convergence threshold:",
170 "Orbital transformation minimizer:",
172 "Spin unrestricted calculation",
174 "Use van der Waals interactions",
175 "Restricted Open Kohn-Sham 'ROKS'",
178 "Mulliken population",
182 "Lattice parameters:",
185 "Maximum number of MD steps:",
187 "Initial temperature:",
188 "Geometry optimizer:",
189 "Maximum number of optimization steps:",
190 "Atomic forces convergence criterion:",
191 "Save information every:",
192 "Add constraint(s)"};
195 "provides the general control parameters for the calculation to be performed",
196 "describes how the interatomic forces will be evaluated",
197 "describes the model: symmetry, periodicity and atomic species, pseudo-potentials and coordinates",
198 "describes the displacement of the atoms for molecular dynamics of geometry optimization",
199 "To describe the thermostat(s) for molecular dynamics",
200 "To describe the parameters required for restart"};
208 {
"TIMECON",
" ",
" ",
" "},
209 {
" ",
" ",
" ",
" "},
210 {
"LENGTH",
"MTS",
"TIMECON",
"YOSHIDA"}};
215int cp2k_opts_type[4][
NC2OP] = {{ 2, 1, 2, 3, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
216 { 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 3, 1, 3, 3, 3, 3, 3, 3, 3},
217 { 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
218 { 2, -2, 1, 1, 1, 2, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};
251 gtk_text_buffer_get_start_iter (
qmbuffer[0], & bStart);
252 gtk_text_buffer_get_end_iter (
qmbuffer[0], & bEnd);
253 gtk_text_buffer_delete (
qmbuffer[0], & bStart, & bEnd);
269 i = GPOINTER_TO_INT(data);
275 if (v > 0.0)
tmp_cp2k -> extra_opts[0][2] = v;
279 if (v > 0.0)
tmp_cp2k -> extra_opts[1][0] = v;
283 if ((
int)v == -1 || (
int)v > 0)
tmp_cp2k -> extra_opts[2][i-
CP2POR] = v;
313 i = GPOINTER_TO_INT(data);
315 tmp_cp2k -> extra_opts[i][(i==2)?2:3] = (double) gtk_check_button_get_active (but);
317 tmp_cp2k -> extra_opts[i][(i==2)?2:3] = (double) gtk_toggle_button_get_active (but);
335 i = GPOINTER_TO_INT(data);
345 tmp_cp2k -> extra_opts[j][k] = (double) gtk_combo_box_get_active (box);
367 gchar * cp2k_vdw_vars[2] = {
"Type of potential:",
"Cutoff:"};
370 i = (
id == 0) ? 2 : 3;
381 gtk_combo_box_set_active (GTK_COMBO_BOX(widg), (
int)
tmp_cp2k -> extra_opts[0][j+1]);
471 i = GPOINTER_TO_INT(data);
474 gchar * cp2k_vdw_options[2] = {
"Non-local potential",
"Pair potential"};
475 gchar * cp2k_roks_options[2] = {
"Energy scaling:",
"Spin configuration <sup>*</sup>:"};
476 gchar * cp2k_orb_options[2] = {
"Number of HOMO levels (-1 for all):",
"Number of LUMO levels (-1 for all):"};
478 gchar * str = g_strdup_printf (
"%s - options",
global_opts[i]);
489 gtk_combo_box_set_active (GTK_COMBO_BOX(widg), (
int)
tmp_cp2k -> extra_opts[0][0]);
515 gtk_combo_box_set_active (GTK_COMBO_BOX(widg), (
int)
tmp_cp2k -> extra_opts[1][1]);
520 add_box_child_start (GTK_ORIENTATION_VERTICAL,
vbox, gtk_label_new (
"* for the singly occupied orbitals"), FALSE, FALSE, 5);
554 i = GPOINTER_TO_INT(data);
595 i = GPOINTER_TO_INT(data);
597 tmp_cp2k -> opts[i] = (double) gtk_check_button_get_active (but);
599 tmp_cp2k -> opts[i] = (double) gtk_toggle_button_get_active (but);
641 i = GPOINTER_TO_INT(data) -
CP2FRE;
644 gtk_text_buffer_get_start_iter (textbuf, & bStart);
645 gtk_text_buffer_get_end_iter (textbuf, & bEnd);
649 tmp_cp2k -> files[i] = g_strdup_printf (
"%s", gtk_text_buffer_get_text (textbuf, & bStart, & bEnd, FALSE));
656 if (
tmp_cp2k -> spec_files[j][k] != NULL) g_free (
tmp_cp2k -> spec_files[j][k]);
657 tmp_cp2k -> spec_files[j][k] = g_strdup_printf (
"%s", gtk_text_buffer_get_text (textbuf, & bStart, & bEnd, FALSE));
658 if (g_strcmp0 (
tmp_cp2k -> spec_files[j][k],
"") == 0)
660 tmp_cp2k -> spec_files[j][k] = NULL;
682 gchar * info[2] = {
"<b>-</b> Select and use set of parameters from the database: ",
683 "<b>-</b> Define and use other set of parameters: "};
684 gchar * data_name[2][2] = {{
"\t\tAvailable basis set for ",
"\t\tAvailable pseudo-potential for "},
685 {
"\t\tBasis set for ",
"\t\tPseudo-potential for "}};
701 if (
tmp_cp2k -> spec_data[spec][j] > -1)
714 GINT_TO_POINTER(j+10),
tmp_cp2k -> spec_files[spec][j]),
738 i = GPOINTER_TO_INT(data);
739 j = gtk_combo_box_get_active (box);
752 tmp_cp2k -> opts[i] = (double) gtk_combo_box_get_active (box);
758 gtk_assistant_remove_page (GTK_ASSISTANT(
qm_assistant), 5);
770 gtk_assistant_insert_page (assist, page, 5);
772 gtk_assistant_set_page_type (assist, page, GTK_ASSISTANT_PAGE_CONTENT);
773 gtk_assistant_set_page_complete (assist, page, TRUE);
779 if (j == 2 || j == 3)
828 for (i=0; i<
NC2OP; i++)
897 gtk_combo_box_set_active (GTK_COMBO_BOX(widg), (
int)
tmp_cp2k -> opts[j]);
898 g_signal_connect (G_OBJECT (widg),
"changed", G_CALLBACK(
changed_cp2k_box), GINT_TO_POINTER(j));
938 gchar * str = g_strdup_printf (
" %s provides official CP2K atomic basis sets and pseudo-potentials, are included:", PACKAGE);
942 "<sup><tt>\t - GTH_BASIS_SETS\t\t(CP2K v9.1, released: <b>2021-12-31</b>)</tt></sup>\n"
943 "<sup><tt>\t - BASIS_SET\t\t(CP2K v9.1, released: <b>2021-12-31</b>)</tt></sup>\n"
944 "<sup><tt>\t - POTENTIAL\t\t(CP2K v9.1, released: <b>2021-12-31</b>)</tt></sup>",
945 -1, -1, 0.1, 0.5), FALSE, FALSE, 0);
946 add_box_child_start (GTK_ORIENTATION_VERTICAL,
vbox,
markup_label(
" Following your selection the files that contains the parameters for your calculation will be generated automatically.\n"
947 " Alternatively it is possible to define and use your own set of parameters.",
948 -1, -1, 0.0, 0.5), FALSE, FALSE, 20);
976 return g_strdup_printf (
"Details of the <b>%s</b> section that %s",
cpsect[p],
cpelemts[p+1]);
980 return g_strdup_printf (
"%s",
cpelemts[p+1]);
1010 tmp_cp2k -> input_type = GPOINTER_TO_INT (data);
1025 GtkWidget * main_box;
1026 gchar * filename[4] = {
"CP2K main input file '*.inp'",
"forces.inc",
"system.inc",
"motion.inc"};
1027 gchar * filetext[4] = {
"<b>&GLOBAL</b>\n...\n<b>&END GLOBAL</b>\n\n<b>@INCLUDE</b> 'forces.inc'\n\n<b>@INCLUDE</b> 'motion.inc'",
1028 "<b>&FORCE_EVAL</b>\n...\n<b>@INCLUDE</b> 'system.inc'\n<b>&END FORCE_EVAL</b>",
1029 "<b>&SUBSYS</b>\n...\n<b>&END SUBSYS</b>",
1030 "<b>&MOTION</b>\n...\n<b>&END MOTION</b>"};
1031 GtkWidget *
vbox, * vbx, * hbx;
1038 add_box_child_start (GTK_ORIENTATION_HORIZONTAL, hbx, gtk_label_new (
"CP2K input file '*.inp'"), FALSE, FALSE, 5);
1039 vframe = gtk_frame_new (NULL);
1040 gtk_frame_set_label_widget (GTK_FRAME(vframe), hbx);
1042 gtk_frame_set_shadow_type (GTK_FRAME(vframe), GTK_SHADOW_ETCHED_IN);
1052 add_box_child_start (GTK_ORIENTATION_HORIZONTAL, hbx,
markup_label(
"<b>&SUBSYS</b>\n...\n<b>&END SUBSYS</b>", 150, -1, 0.0, 0.5), FALSE, FALSE, 10);
1066 add_box_child_start (GTK_ORIENTATION_HORIZONTAL, hbx, gtk_label_new (filename[i]), FALSE, FALSE, 5);
1067 vframe = gtk_frame_new (NULL);
1068 gtk_frame_set_label_widget (GTK_FRAME(vframe), hbx);
1070 gtk_frame_set_shadow_type (GTK_FRAME(vframe), GTK_SHADOW_ETCHED_IN);
1096 gchar *
text =
"The CP2K input system offers to have the information gathered in a single, rather long, file\n"
1097 "or separated in several files each of them dedicated to a particular section of the input: ";
1102 gchar * ftext[2] = {
"Single input file",
"Multiple files"};
1108 gtk_widget_set_size_request (
vfbox[i], (i==0) ? 200 : 400, -1);
1117 if (i) gtk_check_button_set_group ((GtkCheckButton *)
filebut[i], (GtkCheckButton *)
filebut[0]);
1125 filebut[i] = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON(
filebut[0]), ftext[i]);
1148 return g_strdup_printf (
"The CP2K input structure");
1152 return g_strdup_printf (
"The %s section",
cpsect[p-1]);
1156 return g_strdup_printf (
"The MOTION section - thermostat(s)");
1160 return g_strdup_printf (
"The MOTION section - restart(s)");
1213 gtk_assistant_append_page (assist, page);
1215 gtk_assistant_set_page_type (assist, page, GTK_ASSISTANT_PAGE_CONTENT);
1216 gtk_assistant_set_page_complete (assist, page, TRUE);
1219 info = g_strdup_printf (
"<b> Finalize the creation of the CP2K input files now !</b>");
1222 add_box_child_start (GTK_ORIENTATION_VERTICAL, conclu,
markup_label(
"\n \t<b>Note: </b>You can re-open this assistant later if required to adjust your choices\n", -1, -1, 0.0, 0.5), FALSE, FALSE, 0);
1223 gtk_assistant_append_page (assist, conclu);
1224 gtk_assistant_set_page_title (assist, conclu,
"Create the input files now !");
1225 gtk_assistant_set_page_type (assist, conclu, GTK_ASSISTANT_PAGE_CONFIRM);
1226 gtk_assistant_set_page_complete (assist, conclu, TRUE);
1227 gtk_assistant_update_buttons_state (assist);
1239 if (box ->
param[0][0] == box ->
param[0][1] &&
1243 if (box ->
param[1][0] == box ->
param[1][1] &&
1246 box ->
param[1][0] == 90.0)
return 0;
1247 if (box ->
param[1][0] == box ->
param[1][1] &&
1250 box ->
param[1][0] != 90.0)
return 3;
1252 if (box ->
param[1][0] == box ->
param[1][1] &&
1255 box ->
param[1][0] == 90.0)
1257 if (box ->
param[0][0] == box ->
param[0][1] && box ->
param[0][0] != box ->
param[0][2])
return 4;
1258 if (box ->
param[0][0] == box ->
param[0][2] && box ->
param[0][0] != box ->
param[0][1])
return 5;
1259 if (box ->
param[0][1] == box ->
param[0][2] && box ->
param[0][1] != box ->
param[0][0])
return 6;
1261 if (box ->
param[1][0] == box ->
param[1][1] &&
1265 if (box ->
param[0][0] != box ->
param[0][1] &&
1267 box ->
param[0][1] != box ->
param[0][2])
return 2;
1269 if (box ->
param[1][0] == box ->
param[1][1] && box ->
param[1][0] == 90.0)
1271 if (box ->
param[1][2] == 60.0)
1273 if (box ->
param[0][0] == box ->
param[0][1] && box ->
param[0][0] != box ->
param[0][2])
return 1;
1276 if (box ->
param[1][0] == box ->
param[1][2] && box ->
param[1][0] == 90.0)
1278 if (box ->
param[1][1] != 90.0)
1280 if (box ->
param[0][0] != box ->
param[0][1] &&
1282 box ->
param[0][1] != box ->
param[0][2])
return 7;
1285 if (box ->
param[0][0] != box ->
param[0][1] &&
1289 if (box ->
param[1][0] != box ->
param[1][1] &&
1291 box ->
param[1][1] != box ->
param[1][2])
return 8;
GtkTextBuffer * qmbuffer[MAXDATAQM+2]
Variable declarations for the MD input preparation assistants.
Callback declarations for main window.
integer(kind=c_int) function chemistry()
Variable declarations for the creation of the CP2K input file(s)
GtkWidget * prepare_basis_combo(int sp, int obj)
prepare basis set / pseudopotential combo box
G_MODULE_EXPORT void update_cp2k_option(GtkEntry *res, gpointer data)
update CP2K option entry callback
void cp2k_fix_molecule()
CP2K assistant fixing fragment(s) - creating the dialog.
void print_cp2k(int f, GtkTextBuffer *buffer)
print the CP2K input file section
GtkWidget * option_box[4]
gchar * cp2k_default_text[11][11]
GtkWidget * cp2k_section_box(int s)
create the CP2K assistant section box
void field_unselect_all()
unselect all atoms
int cp2k_opts_type[4][NC2OP]
gchar * cp_section_name(int p)
get CP2K section name
GtkWidget * cp2k_spec_combo
void create_selection_button(GtkWidget *box, int num, int id, gpointer data)
create thermostat atom(s) selection button
GtkWidget * checked_box[2]
GtkWidget * cpmd_box(GtkWidget *box, gchar *lab, int v_space, int h_space, int dim)
prepare a labelled box widget for the CPMD input creation assistant
GtkWidget * create_cp2k_spec_box(int spec)
create a CP2K chemical species option combo box
GtkWidget * cp2k_spec_box[2]
double default_cp2k_extra[3][4]
void add_cp2k_pages()
add pages to the CP2 assistant
GtkWidget * init_cp2k()
initialize the CP2K input creation assistant
gchar * cp2k_vdw_keywords[2][3]
G_MODULE_EXPORT void update_cp2k_check(GtkToggleButton *but, gpointer data)
update some CP2K parameter toggle callback GTK3
ColRGBA init_color(int id, int numid)
initialize color based id number over total number of elements
G_MODULE_EXPORT void cp2k_file_info(GtkTextBuffer *textbuf, gpointer data)
update the C2PK information textview
GtkWidget * qm_preview_box(int c, int s, int l)
prepare preview section widgets
int find_cp2k_sym()
find the CP2K symmetry parameter based on the cell properties
GtkWidget * cp2k_vdw_box[2]
G_MODULE_EXPORT void changed_cp2k_option_box(GtkComboBox *box, gpointer data)
change a GtkComboBox while creating a CP2K input file
G_MODULE_EXPORT void update_cp2k_parameter(GtkEntry *res, gpointer data)
update some CP2K parameters
GtkWidget * vbox_cp2k(int s)
create the CP2K assistant page vertical box
gchar * cp2k_default_keywords[11][11]
double default_vdw_cut[2]
gchar * cp2k_vdw_text[2][3]
void print_start_buffer()
update of the GtkTextBuffer showing the CP2K input
G_MODULE_EXPORT void select_input_type(GtkToggleButton *but, gpointer data)
select the input file type
GtkWidget * motion_box[2]
GtkWidget * create_vdw_box(int id)
create the VdW informaiton and option(s) widgets
G_MODULE_EXPORT void changed_cp2k_box(GtkComboBox *box, gpointer data)
change CP2K option
G_MODULE_EXPORT void update_cp2k_option_check(GtkToggleButton *but, gpointer data)
CP2K option toggle callback GTK3.
double default_cp2k_options[41]
int var_by_cp2sections[4]
void cp2k_option_box(GtkWidget *box, int id)
create a CP2K option combo box
gboolean cp2k_with_motion()
CP2K MD calculation ?
GtkWidget * thermo_box()
create the thermostat configuration widgets
gchar * page_name_cp2k(int p)
get CP2K assistant page name
char * k_thermo[CP2NTHERM][4]
GtkWidget * spec_data_combo[2]
GtkWidget * file_info(int id)
create the assistant page that present the input file(s) properties
GtkWidget * cp2k_thermo_box
G_MODULE_EXPORT void cp2k_option_dialog(GtkWidget *but, gpointer data)
CP2K option dialog - creating the dialog.
Variable declarations for the creation of the CPMD input file.
void label(cairo_t *cr, double val, int axe, int p, project *this_proj)
draw axis label
double string_to_double(gpointer string)
convert string to double
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
GtkWidget * create_entry(GCallback handler, int dim, int cdim, gboolean key_release, gpointer data)
Create a GtkEntry.
void update_entry_double(GtkEntry *entry, double doubleval)
update the content of a GtkEntry as double
GtkWidget * create_text_view(int dimx, int dimy, int edit, int mono, GCallback handler, gpointer data, gchar *text)
create a GtkTextView and display some text
GtkWidget * dialogmodal(gchar *str, GtkWindow *parent)
Create a new dialog modal window.
const gchar * entry_get_text(GtkEntry *entry)
get the text in a GtkEntry
void update_entry_int(GtkEntry *entry, int intval)
update the content of a GtkEntry as int
GtkWidget * stock_image(const gchar *stock_id)
create a GtkImage for the Gtk database
GtkWidget * radio_button(gchar *text, int dimx, int dimy, gboolean state, GCallback handler, gpointer data)
create a radio button
GtkWidget * check_button(gchar *text, int dimx, int dimy, gboolean state, GCallback handler, gpointer data)
create a check button
GtkWidget * create_button(gchar *text, int image_format, gchar *image, int dimx, int dimy, int relief, GCallback handler, gpointer data)
create a simple button
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)
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.
GtkWidget * create_hbox(int spacing)
create a GtkBox with horizontal orientation
void combo_text_append(GtkWidget *combo, gchar *text)
append text in GtkComboBox widget
G_MODULE_EXPORT void run_destroy_dialog(GtkDialog *dialog, gint response_id, gpointer data)
to destroy a GtkDialog when the dialog emit the closing signal
GtkWidget * destroy_this_widget(GtkWidget *widg)
destroy a GtkWidget
void add_container_child(int type, GtkWidget *widg, GtkWidget *child)
Add a GtkWidget into another GtkWidget.
void hide_the_widgets(GtkWidget *widg)
hide GtkWidget
GtkWidget * create_vbox(int spacing)
create a GtkBox with vertical orientation
void show_the_widgets(GtkWidget *widg)
show GtkWidget
void motion(glwin *view, gint x, gint y, GdkModifierType state)
mouse motion in the OpenGL window
Variable declarations related to the OpenGL window Function declarations related to the OpenGL wind...
Function declarations for the creation of the OpenGL window.
Messaging function declarations.
Function declarations for reading atomes project file Function declarations for saving atomes proje...