]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/gtkmathview-bonobo/idl/GtkMathView.idl
dir reorganization
[helm.git] / helm / DEVEL / gtkmathview-bonobo / idl / GtkMathView.idl
diff --git a/helm/DEVEL/gtkmathview-bonobo/idl/GtkMathView.idl b/helm/DEVEL/gtkmathview-bonobo/idl/GtkMathView.idl
new file mode 100644 (file)
index 0000000..307c166
--- /dev/null
@@ -0,0 +1,105 @@
+/* This file is part of GtkMathView-Bonobo, a Bonobo wrapper for GtkMathView.
+ * Copyright (C) 2003 Luca Padovani <lpadovan@cs.unibo.it>
+ *                    Pouria Masoudi <pmasoudi@cs.unibo.it>
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * For more information, please visit the project's home page
+ * http://helm.cs.unibo.it/gtkmathview-bonobo
+ * or send an email to <lpadovan@cs.unibo.it>
+ */
+
+#include <Bonobo.idl>
+
+module GNOME {
+
+  module GtkMathView {
+
+    typedef string element_id;
+
+    interface View : Bonobo::Unknown {
+      
+      /**
+        * load:
+       * @uri: URI of a MathML document
+       *
+       * Loads the document at the specified URI in the component
+       * and displays it. If the load is successful returns @TRUE,
+       * @FALSE otherwise.
+       */
+      boolean load (in string uri);
+
+      /**
+       * unload:
+       *
+       * Unload any loaded document from the component
+       */
+      void unload ();
+
+      /**
+        * freeze:
+       *
+       * Freezes the component. Any modification to the document is
+       * not reflected by the view.
+       */
+      void freeze ();
+
+      /**
+        * thaw:
+       *
+       * Thaws the component. If the document was changed while the
+       * component was frozen, the view is updated.
+       */
+      void thaw ();
+
+      void setIdAttribute (in string ns, in string name);
+      void getIdAttribute (out string ns, out string name);
+
+      void select (in element_id elem);
+      void unselect (in element_id elem);
+      boolean isSelected (in element_id elem);
+      
+      boolean elementCoords (in element_id elem,
+                            out short x, out short y);
+      /**
+        * elementRectangle:
+       * @elem: ID of the element
+       * @x: x coordinate of the element
+       * @y: y coordinate of the element
+       * @width: width of the element
+       * @height: height of the element
+       *
+       * Returns the position and the size of the rectangle includes @elem
+       */
+      boolean elementBoundingBox (in element_id elem,
+                                 out short width, out short height, out short depth);
+
+      void getSize (out short width, out short height);
+
+      void getTop (out short x, out short y);
+      void setTop (in short x, in short y);
+
+      void setDefaultFontSize (in short size);
+      short getDefaultFontSize ();
+
+      void setVerbosity (in short level);
+      short getVerbosity ();
+
+    };
+
+  };
+
+};
+