aboutsummaryrefslogtreecommitdiff
path: root/src/ld-diagram.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ld-diagram.h')
-rw-r--r--src/ld-diagram.h94
1 files changed, 94 insertions, 0 deletions
diff --git a/src/ld-diagram.h b/src/ld-diagram.h
new file mode 100644
index 0000000..ce3b39e
--- /dev/null
+++ b/src/ld-diagram.h
@@ -0,0 +1,94 @@
+/*
+ * ld-diagram.h
+ *
+ * This file is a part of logdiag.
+ * Copyright Přemysl Janouch 2010. All rights reserved.
+ *
+ * See the file LICENSE for licensing information.
+ *
+ */
+
+#ifndef __LD_DIAGRAM_H__
+#define __LD_DIAGRAM_H__
+
+G_BEGIN_DECLS
+
+
+#define LD_TYPE_DIAGRAM (ld_diagram_get_type ())
+#define LD_DIAGRAM(obj) (G_TYPE_CHECK_INSTANCE_CAST \
+ ((obj), LD_TYPE_DIAGRAM, LdDiagram))
+#define LD_DIAGRAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST \
+ ((klass), LD_TYPE_DIAGRAM, LdDiagramClass))
+#define LD_IS_DIAGRAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE \
+ ((obj), LD_TYPE_DIAGRAM))
+#define LD_IS_DIAGRAM_CLASS(klass) (G_TYPE_CHECK_INSTANCE_TYPE \
+ ((klass), LD_TYPE_DIAGRAM))
+#define LD_DIAGRAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS \
+ ((obj), LD_DIAGRAM, LdDiagramClass))
+
+typedef struct _LdDiagram LdDiagram;
+typedef struct _LdDiagramClass LdDiagramClass;
+typedef struct _LdDiagramPrivate LdDiagramPrivate;
+
+
+/**
+ * LdDiagram:
+ *
+ * A diagram object.
+ */
+struct _LdDiagram
+{
+/*< private >*/
+ GObject parent_instance;
+ LdDiagramPrivate *priv;
+};
+
+struct _LdDiagramClass
+{
+/*< private >*/
+ GObjectClass parent_class;
+
+ /* FIXME: Add a selection_changed signal? */
+ guint changed_signal;
+
+ void (*changed) (LdDiagram *self);
+};
+
+
+GType ld_diagram_get_type (void) G_GNUC_CONST;
+
+LdDiagram *ld_diagram_new (void);
+void ld_diagram_clear (LdDiagram *self);
+gboolean ld_diagram_load_from_file (LdDiagram *self,
+ const gchar *filename, GError **error);
+gboolean ld_diagram_save_to_file (LdDiagram *self,
+ const gchar *filename, GError **error);
+
+gboolean ld_diagram_get_modified (LdDiagram *self);
+void ld_diagram_set_modified (LdDiagram *self, gboolean value);
+
+GSList *ld_diagram_get_objects (LdDiagram *self);
+void ld_diagram_insert_object (LdDiagram *self,
+ LdDiagramObject *object, gint pos);
+void ld_diagram_remove_object (LdDiagram *self,
+ LdDiagramObject *object);
+
+GSList *ld_diagram_get_selection (LdDiagram *self);
+void ld_diagram_selection_add (LdDiagram *self,
+ LdDiagramObject *object, gint pos);
+void ld_diagram_selection_remove (LdDiagram *self,
+ LdDiagramObject *object);
+
+/*
+GSList *ld_diagram_get_connections (LdDiagram *self);
+void ld_diagram_connection_add (LdDiagram *self,
+ LdConnection *connection, gint pos);
+void ld_diagram_connection_remove (LdDiagram *self,
+ LdConnection *connection);
+*/
+
+
+G_END_DECLS
+
+#endif /* ! __LD_DIAGRAM_H__ */
+