2001-10-20  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_angle.cc (updateDescription): Random crash because of an
	uncorrect array size.

2001-10-14  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_locus.h (class locus): Add curve relative methods
	(getPointAt, GetClosestPoint and getAbscissa) so that placing a
	point on a locus is less broken. Applicated to locus, these
	methods are a bit broken as they usuasly works with continuum but a
	locus in DrGenius is a sample.

2001-10-13  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_arcCircle.cc (arcCircle): Fix various bugs in REFLEXION
	and SYMMETRIC related methods.

2001-10-07  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_angle.cc (updateDescription): Forgot to add this method to
	the angle object. Without it, DrGenius crashes when the user
	creates an angle.

2001-09-30  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_polygon.cc (initName): When possible, compute the name of
	 the polygon item based on its summit.

	* Complete the text description feature on all objects.

2001-09-28  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_point.cc (updateDescription): This method create the text
	description of the current object (its definition and the list of
	its ancestor)
	(updateDescription): Completed text description for the point
	object.

2001-09-26  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_gtkdrawable.cc (descriptionselected): Update code to
	GtkCTree widget.
	(addDescriptionItem): Include the parent items as leaf.

2001-09-23  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_gtkdrawable.cc
	(descriptionUnselected,descriptionSelected): Signal functions of
	the unselect-row, select-row signals over the description
	GtkCList.

2001-08-09  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_postscriptdrawable.cc (drawPolygon): Implement the
	drawPolygon for the PostScript drawable. 

	* drgeo_latexdrawable.cc (drawPolygon): Define drawPolygon method
	for the LaTeX drawable.
	(drawLine, etc.): Remove unecessary code checking the current mode.

2001-08-08  Hilaire Fernandes  <hilaire@ofset.org>

	* mode_obj.h (class buildParametersListForPolygon:): Design the
	selection mode to create a polygon object.

	* var_decl.h (mode21): This a dummy array to handle the selection
	of object to create a polygon. We do not use the traditional
	mecanism for the polygon mode. Insteat we overload the methods of
	the buildParametersListForGeometricObject class.
 
	* drgeo_gtkdrawable.cc (drawPolygon): Method to render polygon in
	a GdkDrawable.

	* drgeo_drawable.h: Add virtual method drawPolygon.

2001-08-06  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_tool.cc (handleMouseAt): Now tooltips will be updated when
	the mouse moves from one geometric object to another.

	* drgeo_point.cc (draw): Adjust the offset used to display a point
	name.

	* drgeo_gtkdrawable.cc (drawPoint): Set special background style
	(yellow - dashed - thin) when the method is invoked by a hidden
	point.

2001-08-05  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_gtkdrawable.cc (drawPoint, drawSegment, draw*): Remove
	unnecessary check in for masked object (this is handled in the
	draw object method of the object).

	* drgeo_command.cc (execute): Add drgeoVisible case.

	* drgeo_command.h (drgeoAttributeType): Define new type
	drgeoVisible for undo/redo operation to mask/unmask object.

	* drgeo_gtkproperty.cc (edit): Define dialog to edit value
	property.

	* drgeo_figure.cc (mouseSelection,addToSelection): In
	PROPERTY_MODE, we only consider geometric object relevant to this
	mode (ie categories FREE_POINT and NUMERIC of type FREE_VALUE)

2001-07-27  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_gtkstyle.cc (edit): The style dialog are build when
	required. There are three different style dialog depending on the
	geometric object.
	(edit): Complete the style dialgo code for all objects.

	* drgeo_gtkdrawable.cc (drawPoint): Draw an empty circle on topp
	of a filled circle to get a correct rendering of point marked as
	filled circle.

2001-07-25  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_figure.cc (addToUndoQueue): Compare the actual number of
	undo operation to the user preference 'drgeoUndo', if required
	delete the oldest undo operation.

2001-07-24  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_postscriptdrawable.cc (drawSegment): Update the
	PostScriptDrawPoint method to the new style model.

	* drgeo_latexdrawable.cc (drawLine): Update the
	LatexDrawPoint method to the new style model.

2001-07-23  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_gtkdrawable.cc (drawPoint): Re-implementing the
	GtkDrawPoint, same must be done for Latex and PS versions.

	* drgeo_drgeoStyle.h (drgeoPointSize): Enumeration for the
	geometric object size, mainly point. Make the header compatible
	with pure C.
	(class drgeoStyle ): The style for geometric object is now more
	explicit in its behavior.

2001-07-21  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_gtkproperty.cc (hide): Clear the selection list when we
	close the dialog, so the selected item does not blink anymore when
	the property dialog is closed.
	(edit): The property dialog is rebuilded only when the user select
	a different category of geometricObject.

	* drgeo_tool.cc (handleChoice): We want the selected item which
	property are edited to blink: we stack it in the selection list
	of the figure object.

	* drgeo_figure.cc (addToSelection): We want the selected item
	which property are edited to blink, so the user can easily see it.

	* drgeo_gtkproperty.cc (on_freePointAbscissaEntry_activate): Use
	the drgeoGtkPropertyDialog::moveItem method so the change to the
	item is stacked into the undo stack.

2001-07-20  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_tool.h (drgeoPropertyTool): Tool to handle the property
	dialog.

	* drgeo_gtkstyle.cc (edit): Replace sprintf by the safer snprintf
	functions.

2001-07-19  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_gtkproperty.h (class drgeoGtkPropertyDialog): Object to
	handle the geometryObject property.

	* drgeo_drawable.h: Add the abstract drgeoPropertyDialog.

	* drgeo_menu.cc (drgeo_menu): Add a property entry in the
	drgeo_menu.

2001-06-10  Hilaire Fernandes  <hilaire@ilios>

	* drgeo_drawable.h: New virtual methods startCleanRendering,
	updateRendering, endCleanRendering to manipulate the double
	buffering feature from the drgeoTool object. Remove the black
	screen bug.

2001-06-09  Hilaire Fernandes  <hilaire@ilios>

	* drgeo_tool.cc (handleMouseAt): The mouse cursor is no more flashy when
	moving around. The tips are no more flashy.

2001-03-14  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_line.cc (line): Hum this "parallele" french speeling had
	the consequence to break the build parallel line function.

2000-11-10  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_command.cc (drgeoCreateItemCommand): Check if the parent
	already has a key in the hash table before adding it. If yes,
	updade the XML backup with the curent key of the parent.

2000-11-05  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_command.cc (~drgeoCreateItemCommand): Remove the key of
	the item created by this command when deleting this command.
	(replaceParentKey): This method is used to update the xml backup
	to adjust their key on the <parent> element .

	* drgeo_figure.cc (addToUndoQueue): Empty the undo queue from the
	current point to the end and add a new command in the queue.
	(removeKeyFromHash): This method remove a key from the undo hash.

	* drgeo_numeric.cc (save): Apparently I forgot - at least a 5
	month bug - to implement the code to save free value on XML file.

2000-11-04  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_gtkmacro.cc (drgeoGtkStyleDialog): Change the signal for
	the button callback from "clicked" to "pressed". This avoid
	redundant call to the callback when changing the state of the
	button.

	* drgeo_drgeoVector.cc (operator -): New method to get the
	opposite vector

	* drgeo_command.h (class drgeoMoveItemCommand): Command to handle
	undo/redo when moving an item.

	* traite.h (updateItems): Translate mise_a_jour to updateItems.

	* drgeo_figure.cc (getKeyFromValueOnHash): Get the key with value
	matching the specified value.
	(getValueFromKeyOnHash): Get value form specified key.  These two
	function are used in the undo/redo mecanism and the associated
	hash table.

2000-10-29  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_command.cc (drgeoRemoveItemCommand): Command to create an
	object.
	(execute): Finaly use the same method as in
	drgeoRemoveItemCommand::unexecute.

	* drgeo_figure.cc (addToSelection): The new constructed items are
	first temporarily in a GList before their construction and
	inclusion through the undo pipe.
	(updateUndoHashValue): This method upadate the hash table value
	matching the oldValue.

	* drgeo_buildObject.h (build*): This functions now retrun a
	geometricObject reference so we can use it for inclusion in the
	undo/redo pipe.

2000-10-28  Hilaire Fernandes  <hilaire@ofset.org>

	* traite.cc (usedItem): Check with better boundary.

	* drgeo_geometricObject.cc (dependOn): Check up to the parents so
	we can check for relative dependence.

2000-10-27  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_figure.cc (redo/undo): Better clear the various list
	containing reference to geometric item when performing a
	redo/undo.

2000-10-26  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_vector.cc (vector,save): The origin of a representer
	vector was not saved, fix that.

	* drgeo_figure.cc (redo, undo): This methods call the command.

2000-10-24  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_figure.cc (addUndoHash): Add key/value to the undo hash
	table. Usually only parent of item are concerned by this
	operation.

	* drgeo_command.cc (drgeoRemoveItemCommannd): Command to remove an
	item.

2000-10-23  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_figure.cc (updateUndoHash): This method update the hash
	table used in the undo process, especially when item are deleted
	or created. It update key (item id) / value (item ref.), this
	method concerns parent item which were delete and recreated.

2000-10-22  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_figure.h: undoHash is hash table used in the undo/redo
	mecanism. undoLevel is double list containing the undo/redo
	chunck. It holds a reference to the actual undo chunk. The next
	element refers to an undo operation, the previous to a redo
	operation.

2000-09-19  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_gtkdrawable.cc (showTip): Shift a bit the tooltip
	position.

	* drgeo_drawable.h (setCursor): Virtual method to change the
	cursor shape.

2000-08-15  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_gtkdrawable.cc (moveCallback): Here is handled double
	buffering when required - the user moves the figure. Double
	buffering is dynamicly used: buffer created when a move process
	starts then freed at stops. The process is X-server side so it
	should be usable with X-terminal.

	* drgeo_gtkdrawable.h: Add 2 GdkPixmap* private members:
	doubleBuffering and paintThere. The first one hold a reference of
	a GdkPixmap to process double buffering, the second one hold the
	reference of the GdkDrawable where the drawing process take place.
 
	* drgeo_gtkdrawable.cc (drgeoGtkDrawable): Add
	GDK_POINTER_MOTION_HINT_MASK to the set_events call. This make the
	refresh more responsible when long calculation is required for the
	figure.

2000-08-14  Hilaire Fernandes  <hilaire@ofset.org>

	* The DrGeoMDIChild has a specific tool-bar using the Frdric
	Toussaint icons.

	* drgeo_menu.h: Various handlers for the DrGeoMDIChild tool-bar.

	* drgeo_menu.cc (on_menuBar_orientation_changed): When the
	DrGeoMDIChild tool-bar changes of orientation, this handler
	changes the orientation of the sub-bars and the Gtk separators of
	the tool-bar.

2000-07-01  Hilaire Fernandes  <hilaire@ofset.org>

	* drgeo_figure.cc (drgeoFigure, saveAs, exportToXXX): Fix a
	problem with locale when saving, loading or exporting geometric
	figure. Before doing such operation, I first switch to the 'C'
	locale so floating number are always like 3.14 and not 3,14 as
	this can happen with french locale for example. Thanks to Frdric
	Bonnaud to show me this problem.

2000-06-19  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_postscriptdrawable.[cc/h]: Patch from Frdric Bonnaud
	(tux.le.pengouin@free.fr) to export eps file. I rework it a bit to
	make it dependable from drgeo_latexdrawable object. Hopefully it's
	a bit smaller.

2000-05-24  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_gtkdrawable.cc (drawSegment): I clarify the situation
	between invisible (in situation when it needs to be displayed) and
	visible dashed line. Invisible line are displayed dashed with two
	colors: yellow and the original. Visible dashed line are displayed
	as expected.

2000-05-21  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_latexdrawable.cc (drawText): Put text using the rput
	command of pstricks.

	* drgeo_figure.cc (exportToLatex): Set default size of paper to
	A4.

	* drgeo_latexdrawable.cc: Point, segment, line, half-line, circle,
	arc circle can be exported to latex. The object are clipped inside
	a frame.

2000-05-20  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_menu.cc (drgeo_zoom_xxx_cb): Change the zoom factors.  

	* drgeo_gtkdrawable.cc (drgeoGtkDrawable): Change the scale for a
	zoom of 100% to 30 so that when exporting to latex the figure are
	not too big.

	* drgeo_drawable.h: Add method getAreaCenter() and getAreaSize(),
	so we can get info about the area. Make some virtual method not
	pure virtual as I don't need them in the latexDrawable and
	probably in other kind of drawable we may implement in future.

	* drgeo_figure.cc (exportToLatex): This method build a
	latexDrawable and draw the figure inside (in a file, eh!).

	* Makefile.am (CXXFLAGS): Use -O2 optimizing flag. This make the
	locus engine a bit faster.

2000-05-19  Hilaire Fernandes  <hilaire@seul.org>

	* define.h (LOCUS_SAMPLE): Change to 120 samples per locus. This
	doesn't mean there is 120 samples per locus. It's a maximum size.

	* drgeo_locus.cc (update): Improve a bit: in particular the
	distance limit was wrong. If one sample goes wrong try to decrease
	the sampling step to catch a good one.

2000-05-18  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_locus.cc (update): Implement a variable step sampler for
	locus. Not that good yet.

2000-05-17  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_gtkmacro.cc (setExpression): When changing a free value
	the update was not performed. Fix that.
	(edit): When geometricObject's name attribute is void, set an
	empty string in the text edit widget of the style dialog.

	* drgeo_point.cc (save): The extra attribute of intersection point
	was not saved/loaded. Fix that.

2000-05-16  Laurent Gauthier <lolo@seul.org>

	* drgeo_angle.cc (save): when saving an angle object it was saved
	as a "line" object.  This was wrong.  Now saved as an "angle"
	object.

2000-05-07  Hilaire Fernandes  <hilaire@seul.org>

	* All the geometric engine has been rewritten, i should note that
	somewhere --> A lot of work has been done there.

	* define.h: Remove obsolete macro.

	* drgeo_tool.cc (handleChoice): Check if item->getName () is not
	NULL as object name are now dynamicly allocated.

2000-03-09  Hilaire Fernandes  <hilaire@seul.org>

	* segment.h (class
	reflexion_segment/symetrie/rotation/homothetie): Today I got the
	bad luck to get a bug appear during a teaching lesson with my
	students. Fix that!! parents () method was not overload during
	heritage.

2000-03-08  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_figure.cc (xmlSetName): Object name was not updated
	correctly when loaded. Fix that.

	* drgeo_gtkdrawable.cc (setScale): Upate the rulers when the user
	zoom on the figure.
	(showTip): Tooltips are displayed inside a yellow box. FIXME: I've
	to use ascent and descent font attribute. Using Gtk tooltips may
	even be better.

2000-02-12  Hilaire Fernandes  <hilaire@seul.org>

	* macro.h (macro, setDescription): Bugs fix.

2000-02-10  Hilaire Fernandes  <hilaire@seul.org>

	* Makefile.am (gladedir): Adapt the gladedir path so the .glade
	get a chance to be find.

Tue Feb 08 20:00:40 2000  George Lebl <jirka@5z.com>

	* drgeo_gtkmacro.cc,drgeo_gtkdrawable.cc,Makefile.am: use the
	  DRGENIUS_GLADEDIR correctly

Sun Feb 06 22:06:17 2000  George Lebl <jirka@5z.com>

	* drgeo_menu.cc: add a terminator to one of the menus to make it
	  actually run on my box :)

Sun Feb 06 15:37:14 2000  George Lebl <jirka@5z.com>

	* Makefile.am: define DRGENIUS_GLADEDIR

	* drgeo_gtkdrawable.cc,drgeo_gtkmacro.cc: use the above define to
	  find .glade files

2000-02-03  Hilaire Fernandes  <hilaire@seul.org>

	* DevelopersFAQ: Aie! The XML macro implementation was partialy
	broken and cause some macro not valid once saved. This one resolve
	the issue.

2000-02-02  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_macro.cc (add): Bug fixes: update all the figure after the
	macro is played.

	* macro.h (macro): Better boundary check.
	(setDescription): Better boundary check.

2000-01-31  Hilaire Fernandes  <hilaire@seul.org>

	* macro.cc (loadKernel): Helper function to load intermediate and
	output kernel from a XML tree. Used to construct a macro. The
	xmllNodePtr should point on kernel element.
	(drgeoMacroRegistry::load): Load & build a macro from a XML tree
	in the macro registry.

2000-01-27  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_macro.cc (createMacro): Bug fixes, input kernel macro
	must have the param_f set to false.

2000-01-25  Hilaire Fernandes  <hilaire@seul.org>

	* xml.cc (xml_get_value_char): Fix a minor bug so we can parse
	signed char correctly.

2000-01-22  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_gtkmacro.cc (style_size_button_cb): Correct cast without
	warning and crash ;-).

	* drgeo_dialog.cc (drgeo_size_button_cb): Fix the warning, 
	the casts are somewhat tricky.

2000-01-21  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_gtkmacro.cc (hdrgeoGtkMacroPlayDialog::andleSelect): 
	Inform the player of the newly selected macro. Update 
	the dialog text buffer with the macro description.
	(play_delete_event_cb): Fixed.

	* drgeo_macro.cc (drgeoMacroPlayer::itemsUnderMouseForMacro): 
	This method check if an item is selectable regarding the selected
	macro and already selected itetms.

	* drgeo_gtkmacro.cc (drgeoGtkMacroPlayDialog::handleUnSelect): 
	Update macro description buffer in case the user change it.	
	(drgeoGtkMacroPlayDialog::add): Call the macro player to add
	an item. From there, no item type check - regarding the macro -
	are necessary, this has been done in drgeoFigure::mouseSelection.
	When enought items are selected for the selected macro, we
	promptly play the macro.

	* drgeo_figure.cc (mouseSelection): From there, we select correct 
	item regarding the selected macro and the already selected item.

2000-01-20  Hilaire Fernandes  <hilaire@seul.org>

	* macro.h (class macro): Add a new method setDescription() 
	so we can change the description of a macro-construction.
	(macro::macro): Check string size before the copy of the
	name and description.

	* drgeo_gtkmacro.cc (delete_event_cb): Fixed, cause seg. fault
	when closing the drgeoMacroBuildDialog. The 'delete_event' callback
	expect 3 arguments.
	(drgeoGtkMacroPlayDialog): Now use the glade dialog box.

	* drgeo_tool.cc (drgeoMacroPlayTool::initialize): 
	Now use the drgeoMacroPlayer.

	* drgeo_macro.h: New class drgeoMacroPlayer 
	to playe macro construction.

2000-01-19  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_gtkmacro.h: Use glade designed druid dialog to 
	build a macro-construction. (Caution : you have to install dr-genius
	so the .glade files are properly installed).

2000-01-15  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_gtkmacro.cc (add): Remove re-selected items from the input
	or input gtk_clist.

	* drgeo_macro.h: Add drgeoMacroDescriptionMode to the 
	enum drgeoMacroMode, so we can use it in the setMode method.

	* drgeo_figure.cc (setSelection): At least write this method.

	* drgeo_macro.h : When building macro-construction, make the selected
	items bink.

2000-01-13  Hilaire Fernandes  <hilaire@seul.org>

	* macro.cc (xmlAddKernel): This function add a macro kernel in the three.
	(drgeoMacroRegistry::save): Written. Not tested.

	* macro.h: In class drgeoMacroRegistry add the function 
	load () and save (). load () built a macro given a macro XML tree.
	save () build a macro XML tree given a macro name.

	* DevelopersFAQ: I should not work too late. My last proposal was just 
	non sense. I hope this one is ok :).
	(Note): Well I update it again, ref attribute is an order-number and not an
	arbitrary unique string, I don't want to go through hash table, this
	is not as necessary as in the figure.

2000-01-12  Hilaire Fernandes  <hilaire@seul.org>

	* DevelopersFAQ: Proposal for encoding macro-construction
	in XML.

	* drgeo_gtkdrawable.cc (drawPoint): Add the style.
	(drawSegment): Add the style.
	(drawCircle): Add the style.
	(drawArc): Add the style.
	
	I still need a proper solution to display invisible object
	when in MISE_EN_FORME_MODE !

	* drgeo_menu.cc (drgeo_select_cb, etc.): Add a refresh-area call, 
	so invisible object can appear or disappear depending on the
	mode we move.

	* drgeo_figure.cc (mouseSelection, itemsUnderMouse): 
	Proper handle of invisible object.

2000-01-10  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_menu.cc (drgeo_menu): Add a zoom menu entrty to the
	popup menu.

1999-12-13  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_gtkdrawable.cc (on_zoom_valeur_changed): Signal handler for 
	the zoom combo. Laurent, the combo widget come from the glade file.

1999-12-06  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_figure.cc (xmlBuildItem): Finish encoding all the XML load item.

1999-12-04  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_figure.cc (xmlBuildItem): The load xml structure is mostly 
	there. Only three item type are loaded but this all the same for  
	the other item, I just have to write it. We need a common interface
	to load and save in XML.

1999-12-03  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_figure.h: Add flag blinkOn to toggle on/off the blinking 
	selection.
	Add the methode addToFigureListNoRedraw() to item to selection list 
	without	redrawing it.

1999-12-01  Hilaire Fernandes  <hilaire@seul.org>


	* drgeo_figure.h: Add a new constructor to the drgeoFigure class.
	This constructor expect an xmlNodePtr on a <drgeo> element. The xml
	file should be open from the mdi level and send to the respective view
	builder the interesting tree. 
	Add the static function xmlBuildItem() and xmlInsertParent.
	This is helper function to build a Dr Geo figure from a XML file.
	

1999-11-28  Hilaire Fernandes  <hilaire@seul.org>

	* XML save mode support for all geometric object..

	* DevelopersFAQ(XML spec): Change <parent id=""/> to <parent ref=""/>.
	Add two elements x and y to represent display coordinate.

1999-11-27  Hilaire Fernandes  <hilaire@seul.org>

	* Start adding support for xml save format. Only freepoint element
	has been added (class point2). However, it's still possible to
	load the old binary Dr Geo *.geo files.

	* drgeo_figure.cc (saveAs): This function can ony save on xml
	format. I've a problem somewhere in
	drgenius_menus.c/really_save_cb complaining it can't save the
	figure, even if saved.

	* classbase.h (class figure_c): figure_c::sauve_disk() now reserve
	as first parameter an XML node tree instead of a FILE handle.

	* geoclass.cc (save_attribute): New function. This saves the
	attributes of the item in parameter in the tree. The element is
	already created, so xmlSetProp is only needed.
	(xmlsAddParent) : Create a <parent> element with a correct
	attribute.

1999-11-26  Laurent Gauthier  <lolo@seul.org>

	* drgeo_gtkdrawable.cc: Fixed Yellow and Blue colors.
	
	* drgeo_figure.cc: Removed creation of style dialog.  It is now
	handled by drgeoStyleTool. 

	* drgeo_tool.cc: created new drgeoStyleTool that will show the
	style dialog as soon as you select an item on the figure.  The
	dialog is automatically updated when you select an other item on
	the figure.  That way it is easy to change the style of several
	items.

1999-11-19  Laurent Gauthier  <lolo@seul.org>

	* drgeo_gtkdrawable.cc: Fixed a problem with the drgeoColorBlue
	color, which was in fact wrongly defined as grey.

	* drgeo_gtkmacro.cc (drgeoGtkStyleDialog): Now changed the way the
	style dialog is handled.  It is now created and manipulated
	completely outside of drgeoFigure class.  The dialog itself is
	created by invoking a method from drgeoDrawableUI class.

	* drgeo_figure.cc, drgeo_drawable.cc: Moved the time out handler
	for blinking outside of the drgeoFigure as well.  This is to have
	no code dependent on GNOME or Gtk in drgeoFigure class and in all
	the figure_c sub-classes.

1999-11-24  Hilaire Fernandes  <hilaire@seul.org>

	* DevelopersFAQ : Put there the specification for the xml file format 
	in Dr Geo figure.

1999-11-16  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_figure.h/cc: Add a mechanism to highlight the selected element.
	Selected element are taken from drgeoFigure:selection list. So to 
	highlight an item just push it in drgeoFigure::selection list.
	Add static flashSelection method. This method is attached to a timer 
	for each new drgeoFigure instance. 
	Add highlightItem list also, so flashSelection() can know which element
	are highlit. 

1999-11-16  Laurent Gauthier  <lolo@seul.org>

	* macro.cc (play): macro execution is now almost working.  There
	is still a small bug I don't get yet, but I will find it, damnit! :-)

1999-11-14  Laurent Gauthier  <lolo@seul.org>

	* We now have a graphical interface to play macros, but it is
	still not completely working.
	
	* drgeo_drawable.h (drgeoDrawableUI): Added a method named
	createMacroPlayDialog to create a dialog to play macros.
	
	* drgeo_gtkdrawable.h (drgeoGtkDrawableUI): Added a method named
	createMacroPlayDialog to create a drgeoGtkMacroPlayDialog.

	* macro.cc (drgeoMacroRegistry): Created this new class.

	* drgeo_tool.cc (drgeoMacroPlayTool): Created this new class.
	
	* drgeo_menu.cc: Plugged the new tool to play macros in the menus.

	* drgeo_gtkmacro.cc (drgeoMacroPlayDialog): Created this new class
	which is managing the dialog interface to play macros.

1999-11-11  Laurent Gauthier  <lolo@seul.org>

	* drgeo_figure.h: Changed the name of all the build* members of
	the class drgeoFigure, to have a name ending with Filter.  This
	name is matching more precisely the meaning of these objects.  Of
	course I have adapted the code to match this change in
	drgeo_figure.cc and also drgeo_menu.cc.  I have also updated the
	comment describing their role in drgeo_figure.h, please Hilaire
	could you check that the information is correct.

1999-11-13  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_gtkdrawable.cc (drawHalfLine): Implement external clipping.

1999-11-12  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_gtkdrawable.cc (drawLine): Implement external clipping.

	* drgeo_type.cc/h : New files for drgeo type definitions. For now
	compexe and vecteur_s (ie point_s, drgeoCoord). There is no more
	class drgeoCoord. To compute a distance do sqrt((a-m)*(a-m)).
	Remove the complexe.cc/h files.

1999-11-11  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo.cc/Makefile.am: Remove the drgeo.cc file

1999-11-09  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_gtkdrawable.cc (drgeoGtkDrawable): Add a Dr Geo toolbar 
	to each figure view.

1999-11-04  Hilaire Fernandes  <hilaire@seul.org>

	* mode_obj.h (class creer_figure_c): add void type to 
	creer_figure_c::init_class function.

1999-10-30  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_dialog.cc (drgeo_change_name_cb): Written.
	(drgeo_change_expression_cb): Written.

1999-10-29  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_dialog.cc (pack_drgeo_style_component): Adjust the different
	radio buttons to the characteristics of the selected item.
	Add a static variable selected_figure to be used in the style dialog
	callback. Finish coding all the callback but the text entry ones.
	Graphic routine need to be updated as line width, point shape and filled
	items.

	* geoclass.cc (sauver_parametre_base, lire_parametre_base):
	Now read/save the style parameters (filled figure and shape).

	* drgeo_figure.h: In class drgeoStyle add pointShape member.

	* drgeo_tool.cc (handleChoice): Check item for null.

	* main.cc/h, traite.cc/h : Remove dead code. Moved in class drgeoMacro.
	
	* drgeo_macro.cc (checkParameters): Written.
	(createMacro): Written.

	* drgeo_macro.h: Remove drgeoMacro class. Instead use macro class
	included from macro.cc/h files.
	(addInput, addOutput): Additional check and condition.

	* drgeo_macro.cc (kernel_position): New function to build the macro
	builder (this is almost position_noyau from traite.cc).

1999-10-28  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_dialog.cc: Remove dead code (delete_dialog function).

	* drgeo_tool.cc (handleChoice): several fixes.

	* finisih coding the style dialog box. Nothing connected yet.

1999-10-28  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_menu.cc (drgeo_menu): add an entry in the popup menu to
	change the style of an object.

1999-10-28  Laurent Gauthier  <lolo@seul.org>

	* drgeo_gtkdrawable.cc: removed the need for drgeo_init() by
	initializing the popup menu at drgeoDrawableUI creation time.

1999-10-28  Laurent Gauthier  <lolo@seul.org>

	* drgeo_menu.cc: activated "macro creation" menu.  Modified code
	to use drgeoDrawableUI class instead of simply drgeoDrawable.
	Updated the code for the drgeoDeleteTool.

	* drgeo_macro.cc/h: new code related to macro creation.  Hilaire
	please look into drgeo_macro.cc, you have code to produce there
	:-).  Just in case you were wondering what to do next.

	* drgeo_gtkmacro.cc/h: new code related to macro creation.  This
	code is creating a dialog.  It is not complete yet.

	* drgeo_drawable.cc: reorganization of the drgeoDrawable class,
	there is now a new class named drgeoDrawableUI, which is extending
	drgeoDrawable with user interaction methods.  In particular new
	important new methods are:
	  - bool askOkCancel (char *message);
	  - void macroBuildDialog (drgeoMacroBuilder *builder);
	
	* drgeo_figure.cc: removed method partialRedraw as this case is
	now directly handled by the redraw method.  Added two new methods
	named hideRemovedItems (figure_c *item) and showRemovedItems ().
	The confirmation for deletion is now handled by the
	drgeoDeleteTool class, and this addToSelection method is just
	doing the remove unconditionnally (please code this hilaire :-).
	This change is solving problem of expose event.

1999-10-28  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_dialog.cc (drgeo_style_dialog): New function that popup a dialog
	to change the style of an object
	(pack_drgeo_style_component): this function pack the style tools on 
	a dialog

	* Makefile.am (libdrgeo_a_SOURCES): Change drgeo.c to drgeo.cc, it's
	incredible how c++ and c files doesn't mix well.

	* drgeo_gtkdrawable.h: Move color array in public, I need this for 
	the style dialog

1999-10-27  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_drawable.cc (refresh): modification to execut partialRedraw when 
	expose event occure

	* drgeo_figure.cc (addToSelection): start implementing the delete
	object code. There is some problem with the expose event as in this
	case we don't want to display the object to delete.

	* drgeo_menu.cc (drgeo_delete_cb): add this method and a the entry
	"Delete an object" in the popup menu

	* drgeo_dialog.cc (delete_item_confirmation): new method who supply
	a modal messagebox to confirm deletion.

	* drgeo_figure.h: new method doesItemExist, this is almost
	fig_existe from the traite.* files.
	Add getFigureList method, I will remove it latter (this is for the
	locus builder function in main.cc)

	* main.h: Change the parameter list of the builder function and use
	the addToFigureList and doesItemExist methods

1999-10-26  Hilaire Fernandes  <hilaire@seul.org>

	* add files drgeo_dialog.[cc/h], this is where are created 
	dialogs. There, new dialog to enter free value, this use the 
	gnome_number_entry so the user can popup a calculator.
	However the history list of the entry is not working yet.
	To use this new dialog, the user must be in "Distance & length"
	mode and click on the background, the dialog will appear.

	* drgeo.c (drgeo_init): call to build_drgeo_widget(), this
	function init nothing now

	* drgeo_figure.*: new method addToFigureList to add item to
	figureList and freeFigureList. Should simplify code in main.cc

	* vecteur.cc (appartient): put back the correct shape for
	a vector. This time, the arrow has a fixed size.

	* angle.cc (dessine): put back the shape (arcCircle or square) 
	of geometric angle formed by three point

	* main.cc (coordonnees): compute the offset to place the coordinates

	* coordonnees.cc (dessine): put back the vertical line for 
	the coordinates

	* angle.cc (dessine): place correctly the angle measure string

	* adjuste the actualise methods to use stringWidth and stringHeight
	when need

	* drgeo_gtkdrawable.cc (drawText): Remove the hard coded offset.
	The offset will be supplied at object creation.

	* drgeo_drawable.h, drgeo_gtkdrawable.*: add stringWidth and 
	stringHeight methods
	Add offset parameter to drawText method

	* drgeo_figure.cc (mouseSelection): Remove range parameter, use 
	drgeoDrawable to get the range
	(itemsUnderMouse): Remove range, sous_souris and figureList parameter
	as the function is now a drgeoFigure method it can get them directly 
	throught the class

1999-10-23  Hilaire Fernandes  <hilaire@seul.org>

	* traite.cc (mise_a_jour): small optimisation

	* lieu.cc (dessine): use the pixeltoWorld method

	* drgeo_drawable.h drgeogtkdrawable: add pixelToWorld & worldToPixel 
	methods to drgeoDrawable

	* traite.cc: remove dead code

	* drgeo_figure.h: add a macro pointer (selectedMacro)

1999-10-21  Laurent Gauthier  <lolo@seul.org>

	* traite.cc (fig_du_plan_sous_souris): now its a method of
	drgeoFigure class.
	
	* drgeo_figure.cc (drgeoFigure::itemsUnderMouse): new private
	method coming from traite.cc:fig_du_plan_sous_souris().

	* drgeo_tool.cc (drgeoSelectTool::handleChoice): clear selection
	before adding a new item.  This fixes a small problem in the
	select tool, when moving items.
	(drgeoBuildTool): removing dead code.  It makes this class a lot
	simpler and more to the point.

	* drgeo_gtkdrawable.cc (drgeoGtkDrawable::pressCallback): now
	handlePress() is invoked only when button 1 is pressed.  This
	fixes a small problem with the contextual menu.
	
1999-10-20  Hilaire Fernandes  <hilaire@seul.org>

	* lieu.cc: remove the dummy mise_a_jour()
	update actualise function

	* traite.cc (mise_a_jour): add liste_elem * parameter

1999-10-19  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_menu.cc: add the callback for all construction but the macro.
	Well, this means almost all the construction tool are back :)
	Laurent, there is a bug with the selectTool I can't find.

	* Remove the file drgeo_menu.c and add the file drgeo_menu.cc

1999-10-18  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_menu.c: add a 'Move an object' item on the popup menu. Add callback

	* drgeo_drawable.cc (drgeoDrawable): initialise selectTool and buildTool pointer

	* drgeo_drawable.h: add pointer to drgeoSelectTool and drgeoBuildTool

1999-10-18  Laurent Gauthier  <lolo@seul.org>

	* demi_droite.cc (dessine): fixed a bug.  The vector directing the
	half-line was badly computed.

	* drgeo_gtkdrawable.cc: adapted the code for popup menus a little
	bit.  We no longer need a global initialization at startup.

1999-10-17  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_tool.h: new class drgeoBuildTool to handle event mechanism 
	in the construction of geometric objects. Make a review Laurent, 
	c'est pratiquement la mme que drgeoSelectTool

	* drgeo_gtkdrawable.cc (drgeoGtkDrawable): attach a popup menu to 
	the drawing area

	* Makefile.am (libdrgeo_a_SOURCES): add new files drgeo_menu.[h/c] 
	and drgeo.c

1999-10-17  Laurent Gauthier  <lolo@seul.org>

	* GNOME code: the open, save and save as... menus are now
	working. 

	* lieu.cc (actualise): removed references to function
	mise_a_jour().

	* traite.cc: temporary hacks to have the code working.

	* gui.cc, gui.h, graphic.cc, graphic.h: removed.  Also removed
	dead code from traite.cc and main.cc.

1999-10-16  Laurent Gauthier  <lolo@seul.org>

	* drgeo_figure.cc (saveAs): All the save operation are done in the
	new file now.

1999-10-14  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_figure.cc (drgeoFigure): mode is set by default 
	to SOURIS_SELECT_MODE

1999-10-14  Laurent Gauthier  <lolo@seul.org>

	* drgeo_tool.cc: Improved drgeoSelectTool to support move and
	select mode at the same time.  The most powerful feature is that
	it is now easy to select one item using a popup menu and then move
	it with the mouse.  Try it.

	* drgeo_figure.cc: temporarily modified addToSelection().

	* other: fixed problems in actualise methods, the old methods
	where doing computation with pixels on screen.  Not everything is
	fixed yet.

1999-10-10  Laurent Gauthier  <lolo@seul.org>

	* drgeo_gtkdrawable.cc (drawArc): added this new method to draw
	arcs.
	
	* drgeo_gtkdrawable.cc: adapted most of the drawing methods to use
	color information while drawing.

1999-10-09  Laurent Gauthier  <lolo@seul.org>

	* classbase.h (class figure_c): adding a drgeoStyle member to
	class figure_c.  This is where the style (color, etc...)
	information for the item.  This data is passed to the drawing
	routines.  Adapted all the source files that needed it.

1999-10-10  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_drawable.cc (refresh): change xxx to FALSE. Laurent, if you want 
	line choose another figure, in droite_euler.geo they are hidden :)

	* drgeo_figure.cc (redraw): update the comment about the redraw() parameter

1999-10-09  Laurent Gauthier  <lolo@seul.org>

	* demi_droite.cc (dessine): Now using drawHalfLine.

	* segment.cc (dessine): Now using drawSegment.

1999-10-08  Laurent Gauthier  <lolo@seul.org>

	* drgeo_figure.cc (redraw): Updated comments.  Please Hilaire
	could you explain the meaning of the parameter of redraw().

1999-10-07  Laurent Gauthier  <lolo@seul.org>

	* drgeo_tool.cc (drgeoSelectTool): temporary hack to hide tips
	when they are no longer needed.  I will implement a better
	solution later.

1999-10-05  Laurent Gauthier  <lolo@seul.org>

	* drgeo_drawable.* (setTool): added a new method to set the
	current tool.  This tool is an object of class drgeoTool (or a
	sub-class) that defines the response of the application to the
	user interaction.  Have a look to definition of the
	drgeoSelectTool class in drgeo_tool.cc for an example.

	* drgeo_tool.h: Defined a new drgeoTool class and some sub-classes
	that inherit from it.

	* drgeo_figure.cc (addToSelection): made some fixes for the case
	where buildItem is NULL.
	(mouseSelection): idem.
	(drgeoFigure): default value for buildItem is NULL.

	* Other: various changes and fixes, the application when you open
	a new figure is displaying the file droite_euler.geo.  This is
	hard coded for now (used for testing purpose).

	* Hilaire:  I think that using the new drgeoTool mechanism we will
	be able to get rid of the way addToSelection is implemented right
	now (in particular the parameter for the mouse position can be
	removed).  In my view creation of new items must be handled using
	this mechanism.

1999-10-02  Laurent Gauthier  <lolo@seul.org>

	* drgeo_drawable.h (drgeoDrawable): showTip was not declared
	as a pure virtual method, and this was preventing link with
	very unclear error messages.

1999-09-30  Hilaire Fernandes  <hilaire@seul.org>

	* geometric class files: update dessine method of all geometric
	objects

	* Makefile.am: remove drgeo entry
	(libdrgeo_a_SOURCES): add files to compile

	* traite.cc (fig_du_plan_sous_souris): add parameters in
	the declaration list

	* drgeo_figure.h: add liste_elem macroInput and macroOutput variables

	* traite.cc (fig_existe): add liste_elem & parameter in 
	the declaration list

1999-09-30  Laurent Gauthier  <lolo@seul.org>

	* drgeo_drawable.h (drgeoDrawable): Added definition of pure
	virtual methods drawLine, drawHalfLine, drawSegment.

	* drgeo_gtkdrawable.h (drgeoGtkDrawable): Added appropriate method
	prototypes.

	* drgeo_gtkdrawable.cc (drawHalfLine): Implemented, but not yet
	tested. 
	(drawSegment): Implemented, but not yet tested.
	(drawLine): Infinished.

1999-09-28  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_figure.cc (addToSelection): add convention on parameter & 
	complete the prototype

	* classbase.h (class figure_c & derived class): in function dessine
	change ecran parameter type to drgeoDrawable

	* traite.cc (fig_existe): add parameter liste_elem & liste_figure

	* geometric class files: remove gettext header, conflict with gnome 
	header

	* drgeo_figure.h/.cc: cleaning to allow compilation of dr-genius2

1999-09-28  Laurent Gauthier  <lolo@seul.org>

	* drgeo_*: Changes to make the code compile.  Actually drgeoDrawable
	and drgeoGtkDrawable are compiling.  Please Hilaire could you have a
	look at drgeo_figure.cc.  There are big compilation problems right
	now.

	* drgeo_figure.h (drgeoFigure): replaced all references to
	(liste_elem) by (liste_elem *) in parameters of methods and return
	values as I feel its much more appropriate.
	
	* drgeo_*: Implementation of the various methods greatly
	improved.  Removed some debugging code.
	
	* Makefile.am (libdrgeo_a_SOURCES): Added drgeo_figure.cc, but the
	compilation is currently broken.


1999-09-26  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_figure.cc (redraw): add hidden flag to specify if hidden items
	must be redrawn

	* main.cc (coordonnees): Laurent, I got a problem there:
	I need to place some text with a pixel offset from a point item

	* main.h/.cc: change parameters list of functions point_libre() until
	coordonnees() and their internals to be MDI compliant

	* drgeo_figure.h: add &drgeoCoord parameter to addToSelection

	* drgeo_figure.cc (mouseSelection): updated to use mouse &
	range parameters

	* geometric class files: updated the member function appartient
	to receive real world mouse coordinates and range factor

	* coordonnees.cc/valeur.cc/equation.cc (appartient): 
	Can't use the range argument here, 
	I need to convert pixel (size) in real world coordinate.

1999-09-25  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_drawable.h: change float to double. I need this when 
	point are sent to the `infinit'

1999-09-25    <lolo@seul.org>

	* drgeo_figure.h: Updated prototypes for drag and drop methods.
	
	* drgeo_figure.cc (isSaved): fixed the name of the method (was
	  usSaved).

	* dgreo_figure.h/cc (mouseSelection): the method is now receiving
	  the coordinates of the mouse as a parameter, and also a range
	  for proximity.

1999-09-25  Hilaire Fernandes  <hilaire@seul.org>

	* mode_obj.cc (utilisable1): Rewritten

	* drgeo_figure.cc:  start defining drgeoFigure member functions
	(drgeoFigure): both written
	(save): written
	(saveAs): written, actually it doesn't change fileName
	(clear): written, no redraw is performed from there
	(redraw): written

1999-09-24  Hilaire Fernandes  <hilaire@seul.org>

	* drgeo_figure.h: prototype for the drgeoFigure class

	* drgeo_drawable.cc/.h: add copyright notice 

	* drgeo_drawable.h: move drgeoFigure class in drgeo_figure.h

	* drgeo_figure.h/.cc: new files for the drgeoFigure class

1999-09-23   Laurent Gauthier <lolo@seul.org>

	* Makefile.am (libdrgeo_a_SOURCES): Changed the content of the
	  drgeo library.  It is now composed of only two files (for now)
	  drgeo_drawable.cc and drgeo_gtkdrawable.cc that are the start of
	  the infrastructure I'm proposing for DrGeo.

	* drgeo_drawable.cc, drgeo_drawable.h:  New files implementing the
	  generic drgeoDrawable class.
	
	* drgeo_gtkdrawable.cc, drgeo_gtkdrawable.h:  New files
	  implementing the specific drgeoGtkDrawable class.

1999-08-27    <hilaire@seul.org>

	* src/gui.cc: Fix bug preventing Dr Geo to work with gtk lib > 1.2.3

1999-08-18  Hilaire Fernandes  <hilaire.fernandes@iname.com>

	* src/main.cc: move in the variable drgeoversion

