From 189da15810deabd739d7c11c6e95fea55739fe60 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Sat, 1 Aug 2020 15:13:49 +0200 Subject: Initial import from archive --- src/gtk-symmetry.h | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/gtk-symmetry.h (limited to 'src/gtk-symmetry.h') diff --git a/src/gtk-symmetry.h b/src/gtk-symmetry.h new file mode 100644 index 0000000..d50651e --- /dev/null +++ b/src/gtk-symmetry.h @@ -0,0 +1,50 @@ +/* + * gtk-symmetry.h + * + * A simple widget to select a symmetry group + * + * (c) 2006-2007 Thomas White + * + * synth2d - Two-Dimensional Crystallographic Fourier Synthesis + * + */ + +#ifndef GTKSYMMETRY_H +#define GTKSYMMETRY_H + +#include + +#include "symmetry.h" + +typedef struct { + + GtkHBox parent; /* Parent widget */ + + unsigned int dimensions; /* 1D, 2D, 3D, more...? */ + unsigned int trans_dimensions; /* Number of dimensions of translational symmetry */ + gboolean has_friedel; + GtkPositionType friedel_pos; + + GtkWidget *label; + GtkWidget *selection; + GtkWidget *table; + GtkWidget *friedel; + +} GtkSymmetry; + +typedef struct { + GtkHBoxClass parent_class; + void (* changed) (GtkSymmetry *gtksymmetry); +} GtkSymmetryClass; + +extern guint gtk_symmetry_get_type(void); +extern GtkWidget *gtk_symmetry_new(unsigned int dimensions, unsigned int trans_dimensions, gboolean has_friedel); +extern Symmetry gtk_symmetry_get_symmetry(GtkSymmetry *symmetry); +extern Symmetry gtk_symmetry_set_symmetry(GtkSymmetry *symmetry, Symmetry new_sym); + +#define GTK_SYMMETRY(obj) GTK_CHECK_CAST(obj, gtk_symmetry_get_type(), GtkSymmetry) +#define GTK_SYMMETRY_CLASS(class) GTK_CHECK_CLASS_CAST(class, gtk_symmetry_get_type(), GtkSymmetryClass) +#define GTK_IS_SYMMETRY(obj) GTK_CHECK_TYPE(obj, gtk_symmetry_get_type()) + +#endif /* GTKSYMMETRY_H */ + -- cgit v1.2.3