Gnumeric.idl 576 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
module GNOME {

	interface Table {
		const short VALUE_STRING  = 0;
		const short VALUE_INTEGER = 1;
		const short VALUE_FLOAT   = 2;

		union Value switch(short) {
			case VALUE_INTEGER: long   v_int;
			case VALUE_FLOAT:   double v_float;
			case VALUE_STRING:  string str;
		};

		exception OutOfRange {};

		Value get (in long col, in long row)
			raises (OutOfRange);

		long set (in long col, in long row, in Value val)
			raises (OutOfRange);

	};

	interface Spreadsheet : Table {
		void set_string (in string text);
	};
		
	interface Gnumeric : Spreadsheet {
	};
};