			Source Code Documentation
			*************************

All dialog controls are in xMuleGUI_wdr.cpp file, which is generated by
wxDesigner. To make modifications, you need to open the file xMuleGUI.wdr
with wxDesigner and export c++ code. All icons are also in the same file,
make modifications with wxDesigner in the Bitmap Lists section.

Compilation instructions:
	* Mingw/Cygwin:
		First you need to compile and install wxMSW, get a tarball
		from www.wxwindows.org. After that, go to src/, type
  		'make -f Makefile.win', and it should compile.
	* Dev-C++:
		Get a wxMSW devpack (google for it), and install it. Then
		open the src/xmule2-ui-wx.dev file with Dev-c++, and hit
		f9. It _should_ compile.
	* Linux/Unix:
		Install wxGTK either using a source tarball or rpm/deb. In
		latter case, you will also need wxGTK-devel package. Then
		go to src/ subdir, and type 'make'. In most cases, it will
		work, but if you run into trouble, you might want to check
		the first line in the Makefile, locate your wx-config file
		(or wxgtk2-2.4-config), which should usually be around
		/usr/local/bin, and enter full path into the Makefile.
	* Mac OS X:
		No information is available at current time.

/----------------------\
| Class descriptions   |
\----------------------/

xMuleGUI
--------
	This class is the topmost class in the class hierarchy. This is called
	on application startup and it creates the main dialog frame xMuleDlg.
	Any possible command arguments are also handled here.

xMuleDlg
--------
	This class handles the main dialog functions, such as Toolbar and 
	Statusbar. Also, displaying any additional dialog pages such as Server
	page, Search page etc are called from here.
	
Statusbar
---------
	This is a modified version of wxStatusbar to allow having images in it.
	Its main function is to handle the statusbar text, and display/update
	Users/Files, Up/Down speeds and Server name.
	
ServerWnd
---------
	This handles all server page controls - three log boxes, add/update 
	server(list) and such. Server List handling is done in ServerListCtrl
	class.
	
ServerListCtrl
--------------
	This class deals with displaying/updating the server list on Server 
	page.
	
SearchWnd
---------
	This deals with the controls on the search page - starting new searches,
	filtering results and direct download adding.

SearchListCtrl
--------------
	Handles, as the name says, search window list control - adding/removing
	and sorting entries.

TransferWnd
-----------
	Displays and handles transfer page controls and actions.

MessagesWnd
-----------
	Displays and handles messages page controls and actions.
	
SharedFilesWnd
--------------
	Displays and handles shared files page controls and actions.
	
StatisticsWnd
-------------
	Displays and handles statistics page controls and actions.
	
CColorFrameCtrl
---------------
	A custom control for displaying statistics graphs

PreferencesDlg
--------------
	Handles the dialog that displays Preferences/Settings. Deals with loading/saving
	GUI settings.
