AmitkObject

AmitkObject

Synopsis

#define             AMITK_OBJECT_CHILDREN               (object)
#define             AMITK_OBJECT_PARENT                 (object)
#define             AMITK_OBJECT_NAME                   (object)
enum                AmitkObjectType;
enum                AmitkSelection;
struct              AmitkObject;
struct              AmitkObjectClass;
AmitkObject *       amitk_object_new                    (void);
void                amitk_object_write_xml              (AmitkObject *object,
                                                         FILE *study_file,
                                                         gchar **output_filename,
                                                         guint64 *location,
                                                         guint64 *size);
AmitkObject *       amitk_object_read_xml               (gchar *xml_filename,
                                                         FILE *study_file,
                                                         guint64 location,
                                                         guint64 size,
                                                         gchar **perror_buf);
AmitkObject *       amitk_object_copy                   (const AmitkObject *object);
void                amitk_object_copy_in_place          (AmitkObject *dest_object,
                                                         const AmitkObject *src_object);
void                amitk_object_set_name               (AmitkObject *object,
                                                         const gchar *new_name);
gboolean            amitk_object_get_selected           (const AmitkObject *object,
                                                         const AmitkSelection which_selection);
void                amitk_object_set_selected           (AmitkObject *object,
                                                         const gboolean selection,
                                                         const AmitkSelection which_selection);
#define             amitk_object_select                 (obj,
                                                         which)
#define             amitk_object_unselect               (obj,
                                                         which)
void                amitk_object_set_parent             (AmitkObject *object,
                                                         AmitkObject *parent);
void                amitk_object_add_child              (AmitkObject *object,
                                                         AmitkObject *child);
void                amitk_object_add_children           (AmitkObject *object,
                                                         GList *children);
gboolean            amitk_object_remove_child           (AmitkObject *object,
                                                         AmitkObject *child);
gboolean            amitk_object_remove_children        (AmitkObject *object,
                                                         GList *children);
gboolean            amitk_object_compare_object_type    (AmitkObject *object,
                                                         AmitkObjectType type);
AmitkObject *       amitk_object_get_parent_of_type     (AmitkObject *object,
                                                         const AmitkObjectType type);
GList *             amitk_object_get_children_of_type   (AmitkObject *object,
                                                         const AmitkObjectType type,
                                                         const gboolean recurse);
gboolean            amitk_object_selected_children      (AmitkObject *object,
                                                         const AmitkSelection which_selection,
                                                         gboolean recurse);
GList *             amitk_object_get_selected_children  (AmitkObject *object,
                                                         const AmitkSelection which_selection,
                                                         const gboolean recurse);
GList *             amitk_object_get_selected_children_of_type
                                                        (AmitkObject *object,
                                                         const AmitkObjectType type,
                                                         const AmitkSelection which_selection,
                                                         const gboolean recurse);
gpointer            amitk_object_ref                    (gpointer object);
gpointer            amitk_object_unref                  (gpointer object);
GList *             amitk_objects_ref                   (GList *objects);
GList *             amitk_objects_unref                 (GList *objects);
gint                amitk_objects_count                 (GList *objects);
AmitkObject *       amitk_objects_find_object_by_name   (GList *objects,
                                                         const gchar *name);
gint                amitk_objects_count_pairs_by_name   (GList *objects1,
                                                         GList *objects2);
GList *             amitk_objects_get_of_type           (GList *objects,
                                                         const AmitkObjectType type,
                                                         const gboolean recurse);
gboolean            amitk_objects_has_type              (GList *objects,
                                                         const AmitkObjectType type,
                                                         const gboolean recurse);
void                amitk_objects_write_xml             (GList *objects,
                                                         xmlNodePtr node_list,
                                                         FILE *study_file);
GList *             amitk_objects_read_xml              (xmlNodePtr node_list,
                                                         FILE *study_file,
                                                         gchar **perror_buf);
const gchar *       amitk_object_type_get_name          (const AmitkObjectType type);
const gchar *       amitk_selection_get_name            (const AmitkSelection type);
extern              gchar * amide_data_file_xml_tag;
extern              gchar * amide_data_file_xml_start_tag;
extern              gchar * amide_data_file_xml_end_tag;

Description

Details

AMITK_OBJECT_CHILDREN()

#define AMITK_OBJECT_CHILDREN(object)   (AMITK_OBJECT(object)->children)


AMITK_OBJECT_PARENT()

#define AMITK_OBJECT_PARENT(object)     (AMITK_OBJECT(object)->parent)


AMITK_OBJECT_NAME()

#define AMITK_OBJECT_NAME(object)       ((const gchar *) (AMITK_OBJECT(object)->name))


enum AmitkObjectType

typedef enum {
  AMITK_OBJECT_TYPE_STUDY,
  AMITK_OBJECT_TYPE_DATA_SET,
  AMITK_OBJECT_TYPE_FIDUCIAL_MARK,
  AMITK_OBJECT_TYPE_ROI,
  AMITK_OBJECT_TYPE_VOLUME,
  AMITK_OBJECT_TYPE_NUM
} AmitkObjectType;


enum AmitkSelection

typedef enum {
  AMITK_SELECTION_SELECTED_0,
  AMITK_SELECTION_SELECTED_1,
  AMITK_SELECTION_SELECTED_2,
  AMITK_SELECTION_NUM,
  AMITK_SELECTION_ANY,
  AMITK_SELECTION_ALL,
} AmitkSelection;


struct AmitkObject

struct AmitkObject {
  AmitkSpace space;

  gchar * name;

  gboolean selected[AMITK_SELECTION_NUM];
  AmitkObject * parent;
  GList * children;

  GObject * dialog; 
};


struct AmitkObjectClass

struct AmitkObjectClass {
  AmitkSpaceClass space_class;

  void (* object_name_changed)            (AmitkObject * object);
  void (* object_selection_changed)       (AmitkObject * object);
  void (* object_child_selection_changed) (AmitkObject * object);
  AmitkObject * (* object_copy)           (const AmitkObject * object);
  void (* object_copy_in_place)           (AmitkObject * dest_object, const AmitkObject * src_object);
  void (* object_write_xml)               (const AmitkObject * object, xmlNodePtr nodes, FILE * study_file);
  gchar * (* object_read_xml)             (AmitkObject * object, xmlNodePtr nodes, FILE * study_file, gchar * error_buf);
  void (* object_add_child)               (AmitkObject * object, AmitkObject * child);
  void (* object_remove_child)            (AmitkObject * object, AmitkObject * child);
};


amitk_object_new ()

AmitkObject *       amitk_object_new                    (void);


amitk_object_write_xml ()

void                amitk_object_write_xml              (AmitkObject *object,
                                                         FILE *study_file,
                                                         gchar **output_filename,
                                                         guint64 *location,
                                                         guint64 *size);


amitk_object_read_xml ()

AmitkObject *       amitk_object_read_xml               (gchar *xml_filename,
                                                         FILE *study_file,
                                                         guint64 location,
                                                         guint64 size,
                                                         gchar **perror_buf);


amitk_object_copy ()

AmitkObject *       amitk_object_copy                   (const AmitkObject *object);


amitk_object_copy_in_place ()

void                amitk_object_copy_in_place          (AmitkObject *dest_object,
                                                         const AmitkObject *src_object);


amitk_object_set_name ()

void                amitk_object_set_name               (AmitkObject *object,
                                                         const gchar *new_name);


amitk_object_get_selected ()

gboolean            amitk_object_get_selected           (const AmitkObject *object,
                                                         const AmitkSelection which_selection);


amitk_object_set_selected ()

void                amitk_object_set_selected           (AmitkObject *object,
                                                         const gboolean selection,
                                                         const AmitkSelection which_selection);


amitk_object_select()

#define         amitk_object_select(obj, which)      (amitk_object_set_selected((obj), (TRUE), (which)))


amitk_object_unselect()

#define         amitk_object_unselect(obj, which)    (amitk_object_set_selected((obj), (FALSE), (which)))


amitk_object_set_parent ()

void                amitk_object_set_parent             (AmitkObject *object,
                                                         AmitkObject *parent);


amitk_object_add_child ()

void                amitk_object_add_child              (AmitkObject *object,
                                                         AmitkObject *child);


amitk_object_add_children ()

void                amitk_object_add_children           (AmitkObject *object,
                                                         GList *children);


amitk_object_remove_child ()

gboolean            amitk_object_remove_child           (AmitkObject *object,
                                                         AmitkObject *child);


amitk_object_remove_children ()

gboolean            amitk_object_remove_children        (AmitkObject *object,
                                                         GList *children);


amitk_object_compare_object_type ()

gboolean            amitk_object_compare_object_type    (AmitkObject *object,
                                                         AmitkObjectType type);


amitk_object_get_parent_of_type ()

AmitkObject *       amitk_object_get_parent_of_type     (AmitkObject *object,
                                                         const AmitkObjectType type);


amitk_object_get_children_of_type ()

GList *             amitk_object_get_children_of_type   (AmitkObject *object,
                                                         const AmitkObjectType type,
                                                         const gboolean recurse);


amitk_object_selected_children ()

gboolean            amitk_object_selected_children      (AmitkObject *object,
                                                         const AmitkSelection which_selection,
                                                         gboolean recurse);


amitk_object_get_selected_children ()

GList *             amitk_object_get_selected_children  (AmitkObject *object,
                                                         const AmitkSelection which_selection,
                                                         const gboolean recurse);


amitk_object_get_selected_children_of_type ()

GList *             amitk_object_get_selected_children_of_type
                                                        (AmitkObject *object,
                                                         const AmitkObjectType type,
                                                         const AmitkSelection which_selection,
                                                         const gboolean recurse);


amitk_object_ref ()

gpointer            amitk_object_ref                    (gpointer object);


amitk_object_unref ()

gpointer            amitk_object_unref                  (gpointer object);


amitk_objects_ref ()

GList *             amitk_objects_ref                   (GList *objects);


amitk_objects_unref ()

GList *             amitk_objects_unref                 (GList *objects);


amitk_objects_count ()

gint                amitk_objects_count                 (GList *objects);


amitk_objects_find_object_by_name ()

AmitkObject *       amitk_objects_find_object_by_name   (GList *objects,
                                                         const gchar *name);


amitk_objects_count_pairs_by_name ()

gint                amitk_objects_count_pairs_by_name   (GList *objects1,
                                                         GList *objects2);


amitk_objects_get_of_type ()

GList *             amitk_objects_get_of_type           (GList *objects,
                                                         const AmitkObjectType type,
                                                         const gboolean recurse);


amitk_objects_has_type ()

gboolean            amitk_objects_has_type              (GList *objects,
                                                         const AmitkObjectType type,
                                                         const gboolean recurse);


amitk_objects_write_xml ()

void                amitk_objects_write_xml             (GList *objects,
                                                         xmlNodePtr node_list,
                                                         FILE *study_file);


amitk_objects_read_xml ()

GList *             amitk_objects_read_xml              (xmlNodePtr node_list,
                                                         FILE *study_file,
                                                         gchar **perror_buf);


amitk_object_type_get_name ()

const gchar *       amitk_object_type_get_name          (const AmitkObjectType type);


amitk_selection_get_name ()

const gchar *       amitk_selection_get_name            (const AmitkSelection type);


amide_data_file_xml_tag

extern gchar * amide_data_file_xml_tag;


amide_data_file_xml_start_tag

extern gchar * amide_data_file_xml_start_tag;


amide_data_file_xml_end_tag

extern gchar * amide_data_file_xml_end_tag;