===========================
What's new in version 1.0.4
===========================

*	VDK now supports gnome style applications with
	a new set of classes:

	VDKGnomeApplication class
	VDKGnomeForm class
	VDKGnomeAppBar class
	VDKGnomeDateEdit class
	VDKGnomeEntry class
	Others gnome-aware widgets will be implemented
	in next version.
	See documentation in: ./doc/vdkgnome.txt

* 	Added VDKFileIconDialog class to vdkcompo
	This widget wraps GtkIconFileSel widget developed by
	Adrian E. Feiguin <feiguin@ifir.edu.ar>
	This widget is a nice file selection dialog
	that uses a file system tree view and an icon list
	to show files.
	Usage:
	VDKString selection;
	VDKFileIconDialog* dlg = new
		VDKFileIconDialog(this,&selection,"title");
	dlg->ShowModal();
	printf("\nfile selection:%s",
	         !selection.isNull() ?
	         (char*) selection :
	         "nihil");
	fflush(stdout);

* 	see ./Changelog for more detailed informations.

===========================
What's new in version 1.0.3
===========================
*	Added VDKDnD class, drag and drop support
	- ./vdk/vdkdnd.cc, ./include/vdk/vdkdnd.h
	- docs in /doc/dnd.txt
	Some limitations holds, these widgets do not work well with dnd:
	- check buttons, radiobuttons  (do not work at all)
	- slider (works but warnings)
	- combo (works but warnings and does not ungrab correctly)
	- grid (does not work at all)
	- label (does not work at all)
	- text (works but warnings and does not ungrab correctly)

*	Added VDKObjectContainer::RemoveObjectFromContainer(VDKObject* obj)
	This function will remove an object from a container
	without destroying it.
	Note:
	Should be used to reparent an widget, or it will leak.
	Use this:
	// remove from source container
	// referencing it otherwise will be destroyed by gtk+
	source->RemoveObjectFromContainer(widget);
	// add to target container (referencing it again)
	target->Add(widget);
	// set target as parent
	widget->Parent(target);	
	// unref widget again (or it will leak)
	gtk_widget_unref(widget->Widget());

* 	VDKMenu and VDKMenubar
	Add(VDKObject* wid , int justify, ...)
	if <justify> == l_justify  <wid> will be appended
	else if <justify> == r_justify <wid> will be prepended
	else if <justify> is pos_justify+<x> <wid> will be
	inserted at <x> position.

*	VDKSpinButton
	Added:
	- LowerBound
	- UpperBound
	read/write properties.
	Changed
	- ValueAsFloat is now a read/write property

* 	Now all non-containers widgets can answer to
	realize_signal with static tables.
===========================
What's new in version 1.0.0
===========================

* VDK Library is now considered enough stable and mature
to be released in first official stable version.

* Updated to gtk+ 1.2.5-pre2

* Added: VDKForm properties:
	- VDKRawPixmap* BackgroundPixmap
	that lets to set a pixmap as form background.
	Here a code frag:
	void MyForm::Setup()
	{
	//...
	VDKRawPixmap *pix = new VDKRawPixmap(this,"pix_file.xpm");
	if(pix) BackgroundPixmap = pix;
	//...
	}
	- VDKObject* FocusWidget
	Set/get the widget that will have the focus when form
	is showed

* Changed: VDKForm and VDKApplication are now abstract classes.
	User must override both VDKForm::Setup() and
	VDKApplication::Setup() methods.

* Added: VDKObject::GrabFocus()
	make the widget to gain focus.

* Added:MessageBox accepts carriage-return as default "yes"
	and ESC as default "no" answers.

* Changed: ** CODE BREAK **
	 - VDKCustomButton(VDKForm* owner, char* label, unsigned int type);
	 Makes a labeled button.
	
	 - VDKCustomButton(VDKForm* owner,
		  char* pixfile,
		  char* label,
		  GtkPositionType position = GTK_POS_RIGHT,
		  unsigned int type);
	   Makes a pixmapped button using <pixfile> file.
	
	 - VDKCustomButton(VDKForm* owner,
		  char** pixdata,
		  char* label,
		  GtkPositionType position = GTK_POS_RIGHT,
		  unsigned int type);
	   Makes a pixmapped button using <pixdata> mem data.
	
	<type> arg used to set if the button is toggled or not
	and if it's a combo button or not.
	toggled:
	VDK_CBUTTON_UNTOGGLED
	VDK_CBUTTON_TOGGLED
	type:
	VDK_CBUTTON_NORMAL
	VDK_CBUTTON_COMBO
	toggled and type can be ored togheter.

	- default is: VDK_CBUTTON_UNTOGGLED |  VDK_CBUTTON_NORMAL

	Bug:
	- VDK_CBUTTON_TOGGLED | VDK_CBUTTON_COMBO does not produce
	a combo toggled button.

===========================
What's new in version 0.6.6
===========================

* this is a bug fix release
Works around a  dangerous bug
into gtk+-1.2.4
(see ChangeLog)

* minor clean up

===========================
What's new in version 0.6.5
===========================

* Minor changes,fixes and clean-up
(see ChangeLog)

* upgrading to new gcc
compiler 2.95.x

===========================
What's new in version 0.6.4
===========================

* MessageBox
Changed MessageBox constructor:
gint MessageBox(char* caption,
 	  char* text,
	  int mode = MB_OK,
 	  char *oktext = (char*) NULL,
	  char *canceltext = (char*) NULL,
	  unsigned int wait = 0);
	Now have an extra arg for timed operations, if wait > 0
	(in msecs) MessageBox will be autonomously closed at
	<wait> expiration with IDCANCEL or IDNO.

* VDKChart
Added two properties:
	int LabelXDigits
	int LabelYDigits
	control how many decimal digits are displayed
	into x,y ticks labels.

===========================
What's new in version 0.6.3
===========================

===========================
What's new in version 0.6.2
===========================
All changes reported into
a doc reference update

===========================
What's new in version 0.6.1
===========================
as of date: may 22 1999

Some minor bug fixes

New widget: VDKEventBox
Acts like a VDKBox but reacts to events.
Tip: event handling must be done using dynamics tables only.

===========================
What's new in version 0.6.0
===========================
as of date: mar 02 1999

Support for Gtk+ 1.2.x series
Automake/autoconf support completely revised
Now it is possible not to build testvdk
Minor cosmetic change to VDKText::TextInsert()
Manual page for vdk-config

===========================
What's new in version 0.5.4
===========================
as of date: feb 15 1999
----------------------

Memory leak fixed in VDKmenu.cc
Minor bug fixed in automake/autoconf support

===========================
What's new in version 0.5.3
===========================
as of date: feb 13 1999
----------------------
This version is now publicly released, now lined up
with gtk+ 1.1.15. The purpose is to make migrating
from VDK 0.4.2 to 0.6 painless.

Signal system		SignalConnect(),EventConnect()
			added an arg: bool after = false.
			If true connects with gtk_signal_connect_after()

autoconf/automake
support			Fixed bugs and cleaning up

===========================
What's new in version 0.5.2
===========================
as of date: feb 8 1999
----------------------
This version is now publicly released, now lined up
with gtk+ 1.1.15. The purpose is to make migrating
from VDK 0.4.2 to 0.6 painless.

Memory leak bug fixed	in VDKText::SaveToFile()

VDKTabPage 		public member TabLabel changed from
			VDKObject* to VDKLabel*

VDKThread		moved to ./contrib dir

autoconf/automake 	support added by R.Salmaso

===========================
What's new in version 0.5.1
===========================
as of date: jan 22 1999
-----------------------
This version is now publicly released, now lined up
with gtk+ 1.1.13 The purpose is to make migrating
from VDK 0.4.2 to 0.6 painless.

BUG FIXED
---------
VDKText::SaveToFile()	Fixed a bug that wrote a garbaged
			char at file end.

CODE BREAKS
----------
Caption()		Now is a property so a call
			object->Caption("string") ;
			results in a void operation.
			Correct call is:
			object->Caption = "string";
			
CHANGES
-------
VDKPaned		added Pack() method

VDKObject		added WrappedWidget() that returns
			underlying wrapped widget in those
			cases that is a composite object.

VDKForm			added Iconized property
			added OnIconize() and OnRestore()
			methods.

NEW WIDGETS
-----------
VDKToggleButton		by R.Salmaso
VDKLabelToggleButton	by R.Salmaso
VDKPixmapToggleButton	by R.Salmaso
VDKInput		by J.Hudson (in ./contrib dir)
VDKThread		(requires pthread lib and link
			with -lpthread) by R.Salmaso
			Requires pthread library and link with -lpthread.
			Put on example/thread	
VDKShapedButton		by I.Borcoman (not complete)

DEPRECATED USE
--------------
object->Caption()

===========================
What's new in version 0.5.0
===========================
as of date: jan 1 1999
-----------------------
This version is not publicly released, now lined up
with gtk+ 1.1.11 The purpose is to make migrating
from VDK 0.4.2 to 0.6 painless.

NEW FILE ORGANISATION
---------------------
Added a ./example dir that contains:
./example/hello		hello & hello 2
./example/template	ttest, a test example fo VDKBtree

Normal installation does not compile examples.
To have examples compiled user should explicitely go to vdk root and:
cd ./example/hello
make
cd ../example/template
make

BUG FIXED
---------
VDKCheckButton::Caption()
VDKScrolledForm::Add()
VDKObjectContainer::RemoveObject()
VDKObject::Destroy()
VDKPixmap::~VDKPixmap()
VDKObject::ShowWidget()
VDKHeap
VDKContainer

CODE BREAKS
-----------
Property Spread() method not more supported.
Application -rc switch does not work anymore

CHANGES
-------
VDKProgressBar			rewrote to be compatible with gtk+ 1.1.7.
				New properties:
				- BlockCount
				- BarStyle
				- BarOrientation
				- ActivityMode
				see gtk/gtkprogressbar.h for explanation

VDKCustomList
VDKCustomSortedList 		rewrote to be compatible
				with gtk+ 1.1.7. No code break,
				now they are subclasses of VDKCustom

VDKToolbar 			rewrote for new cool features
				operator[] added to access to n-th button
				BorderLess property added

VDKForm				OnMove(), OnResize() event handlers added
				Position property added

VDKApplication			ScreenSize() added (not yet ready)
				Added an arg that points to rc file
				SetResourceFile() added

VDKColor			Added a new constructor VDKColor(char*)
				that points to a color string (X color names)

VDKRgb				Added a new constructor VDKRgb(char*)
				same as above.

VDKObjectContainer		added RemoveObjects()

VDKScrolledForm			added AddWithViewPort

VDKCustom			added CustomWidget() to access underlying
				custom widget since Widget() points to
				the box where custom widget is packed in

VDKFont				Constructor now emits a warning if
				font was not properly loaded.

VDKTable			AddToCell() and AddExt() added

NEW WIDGETS
-----------

VDKScrolled			wraps gtkscrolled
				

VDKFixed			wraps gtkfixed

VDKCustomTree			wraps gtkctree

NEW FEATURES
--------------
VDKBtree			balanced btrees template class
				

DEPRECATED USE
--------------
VDKScrolledForm			Add(), obsolete, use AddWithViewPort()

VDKCoolbar			is obsolete, VDKToolbar now is better


===========================
What's new in version 0.4.2
===========================
Some minor bug fixes:
---------------------
VDKObjectContainer::Destroy() 		that seg faults under some circunstances
VDKpaned::Add()				that prevented an exact signal/event dispatching
VDKNotebook ActivePage property 	fixed a bug
VDKObject::SetEnabled()			fixed a pointer bug checking if
					GTK_IS_WIDGET()
VDKString::VDLString(char* p)		fixed a bug that seg faults when p
					is NULL
VDKString::VDKString(VDKString&)	Fixed a bug
VDKString::operator=(VDKString&)	Fixed a bug
Signal dispatching dynamics tables	Fixed minor bugs, now dynamic
					dispatching works fine and much fast.
							
Added fatures:
-------------
VDKNotebook				PreviousActivePage property (read only)
VDKMenu::Popup()
============================
VDKcompo library version 0.2
============================
NEW COMPONENTS:

VDKChart
--------
New component that plots 2D data in various formats: lines, scattered, bars.
Subclassing new formats is easy.

VDKGrid
-------

===========================
What's new in version 0.4.1
===========================

1. 	Macros SIGNAL_DETACH and EVENT_DETACH are substituted with
   	class members:
		SignalDetach(VDKObject* obj, int signal)
		EventDetach(VDKObject* obj, VDKEvent event)
2. 	VDKForm::AddChild() new class member.
   	VDKForm::Add(VDKObject* obj) no longer exist, inherited from VDKObject
3. 	VDKForm::Box() new member, returns form inner box
4. 	VDKObject::Destroy() and VDKForm::Destroy() new class members that
	allow to explicitely destroy a VDKObject.
5. 	New class VDKContainer implemented.
6. 	VDKCustomList new properties:
		VPolicy, HPolicy, BorderShadow.
7. 	VDKForm::SetIcon(), VDKForm::SetIconName() new class members.
8.	VDKStatusbar new Gtk+ widget wrapped.
9.	VDKObject new properties:
		InsensitiveBackground, ActiveBackground,SelectedBackground.
10.	VDKLabel new property:
		Justify.
11.	VDKFrame::VDKFrame() changed to let the user choose between a vert
	or hor frame.
12.	VDKPanelbar new widget.
13.	VDKCombo new Gtk+ wrapped widget (thanks to E.T. Wienke)
14.	Now VDK consists of two separated libraries:
	- VDK itself (now version 0.4.1)
	- VDK components library (now version 0.1)
	VDK core contains strictly Gtk+ wrapped widgets.
	VDK components contains totally new widgets that do not have
	correspondence in Gtk+ or are not yet stable contributions.
	This is made in the aim to maintain consistency with Gtk+ and
	let components library to grow more freely.
15.	Contributions from VDK users:
	- swat (Borland-like swat game) thanks to
	  Veros Kaplan <xkaplan@informatics.muni.cz>

=========================
What's new in version 0.4
=========================
Even though many changes was made to VDK, version 0.4 is full
compatible with previous 0.3. Minimal changes and in rare case
should be necessary to recompile user programs with  new version.

NEW FEATURES:
------------

- Besides static signal/events tables now VDK can use dynamic signal/event
tables. This allow user to manage signal/event connecting also at run-time.
A new run-time connecting/disconnecting method family is now added to
VDKObject class.

- New VDKObjects properties:
  VDKForm::Title
  VDKFileDialog::Filter
  VDKEntry::Hidden
  VDKNotebook:Scrollable
  VDKNotebook:PopUp

- new wdigets:
  VDKOtpionMenu wraps GtkOptionMenu

- contributions:
  VDKFileSaveAsDialog

CHANGES:
--------

- Garbage collection
  Since interleaved garbage collection seems to consume too much
  cpu power now gc is timed.
  Revised method:
    VDKApplication::SetGarbageCollection(unsigned int timing = 1000)
  New method:
    VDKApplication::RemoveGarbageCollection()

- VDKCoolbar
  Now when the cursor goes over a cool button it changes
  his shape to a left pointed hand, when it leaves resume left-hand
  pointer shape.

- VDKRawObject
  Besides to participate to gc now VDKRawObjects can be
  also explicitely destroyed by user.
  New method:
  VDKRawObject::Destroy()
	
- VDK source tree
  VDK source tree has been reorganized:
  VDK-0.4			VDK dir
  	VDK-0.4/include/vdk	library include files
	VDK-0.4/src		library source files
	VDK-0.4/test		test program files
	VDK-0.4/test/pixmaps	test pixmaps files
	VDK-0.4/hello		hello prg files
	VDK-0.4/lib		library files
	VDK-0.4/contrib		contribution files

  With this organization user can compile his own programs using :
  `gtk-config --cflags` only
  and link with:
  `gtk-config --libs` -lvdk
  All references into library headers are changed from:
  #include <somefile.h>  to #include <vdk/somefile.h>
  and consequently
  #include <vdk.h> to #include<vdk/vdk.h>
  Users should change their ref accordlying.

FIXED BUG:
---------
- Fixed a bug that prevented container child to be showed/hidden
  with parent container.
- many minor bugs fixed that prevented flawless compilation on
  gcc version egcs-2.91.57 19980901 (egcs-1.1 release)
Some minor problems still remain with compiler version < 2.8 mainly due
to unsupported ANSI C++ features in templates.

=========================
What's new in version 0.3
=========================
- no more id's on objects, signal tables with object reference
- completely new designed signal/event dispatching system
  fast, multi-level recursive-visiting pattern
- supports user defined properties
- more widget added:
  	cool buttons and coolbar
 	toolbar
 	scrolled widget
 	frames
	sliders (scale widget)
	spin buttons
	handle box
- many widgets reviewed
- deals with Gtk+ rc files
- user can install/uninstall an interleaved garbage collection
- goodies:
  File dialog that uses dirtree widget, dirtree is a part of Gtk See
  distribution, original author: Hotaru Lee  hotaru@163.net






