# -*- Mode: Text; tab-width: 4 -*-

calldll core:
===========================================================================

	Low-level core of the library; the system for building, parsing,
	and modifying the low-level C structures for Win32, and for finding
	and calling Win32 API functions.

	----------------------------------------------------------------------
	structob		C structures in memory buffers, as objects

	oracle			pack/unpack C structures, with named slots

	gencb			Generate callback 'thunks'

	windll			Object wrapper for DLL's (modules) and API functions


Windowing core:
===========================================================================

	Low-level wrappers, interfaces to Win32 system objects for user interfaces.

	----------------------------------------------------------------------
	winmesg			map of names for raw windows messages numbers.

	msgloop			Default message loop.

	winclass		Wrapper for window 'classes' (the mechanism by which callback
					functions are attached to windows).

	winwin			Wrapper for the base window class (python_window),
					top-level callback for all python windows.

	windc			Graphics Device Contexts.  All graphics methods are here.

	wingdi			Graphics Device Interface.  GDI Objects - Pens, Brushes, etc...

	winfont			Windows fonts (arguably should be in wingdi.py)

	wintypes		Utility types used by the rest of the system (RECT, POINT, etc...)


System-defined Controls
===========================================================================

	System-defined scrollbars, menus, buttons, etc...  In general, the library
	is moving away from using or supporting these.  Replacements are being written.

	----------------------------------------------------------------------

	winscroll		Standard Windows Scrollbars
	winmenu			Standard Windows Menus
	windialog		Dialogs (incomplete)

Dynwin Controls/Components
===========================================================================

	Components written using the lower-level dynwin facilities - more
	flexible and generally easier to use than those provided by the
	system.  Components are composable, event callbacks are
	first-class python functions/methods.  For example, the scrollbar
	is composed of two buttons and a thumb slider, and is embedded
	into a frame window using a layout manager, very similar to the
	Java AWT/JFC/Swing architecture. [except that this is a half-constructed mess]

	----------------------------------------------------------------------

	button			Single button, single window.
	scrollbar		Scrollbar/Thumbtrack implementation.
	layout			Layout managers.
	splitter		Splitter Windows.
	textwin			Text Display
	textedit		Text Editing
	treelist		Data structure; represent trees as 'marked-up' lists
	treewin			Tree Control (uses treelist)
	fileout			Output Window supporting the file object protocol.

	I'm in the process of rewriting all the UI elements using the
	model-view-controller pattern.
	----------------------------------------------------------------------
	mvc				Model-View-Controller base classes.
	mvc_button		single button, single window
	mvc_scrollbar	scrollbar/thumbtrack implementation
	mvc_menubar		menu bar using push-button models
	mvc_menu		menu using push-button models
	mvc_seqwin		sequence model view component
	dynscroll		scroll window component (units of pixels)
	cell_scroll		scrolling window compoment (units of 'cells',
					i.e, fixed-size font characters)


ODBC (Open Database Connectivity)
===========================================================================

	Access to any database with an ODBC driver.  [this means just about all
	of them, even Unix databases like PostgreSQL and mSQL have ODBC drivers]
	
	-----------------------------------------------------------------------
	odbc			environments, connections, statements, queries.

	odbc_installer	create and configure data sources.

	odbc_jet		Microsoft Jet-specific routines.  Jet is the database engine
					used by Microsoft Access.


Win32 API
===========================================================================

	Various Win32 API facilities.  These are filled in as needed, some of the
	rest of the library depends on these facilities.  Many of these modules are
	incomplete.

	----------------------------------------------------------------------

	win32file		Low-level File API's
	win32time		Get/Set system time
	winmm			Multimedia
	console
	language
	nterror
	service
	winsock
	winerror
	winprint
	sysinfo
	version			OS version info
	windde			'Dynamic Data Exchange' Nearly-Vestigial IPC mechanism.

Graphics Support
===========================================================================

	----------------------------------------------------------------------
	quadtree		Spatial search; allows for quick searching of 2-dimensional
					areas

	region			Rectangle operations; contains, intersects


