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);
+
+ /**
+ * 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 elementRectangle (in element_id elem,
+ out short x, out short y,
+ out short width, out short height);
+
+ void getSize (out short width, out short height,
+ out short totalWidth, out short totalHeight);
+
+ 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 ();
+
};
};