2018-06-25  ------ omnetpp-5.4.1 released ------

2018-06-11  ------ omnetpp-5.4 released ------

2018-04-11  ------ omnetpp-5.3 released ------

2018-03-14  Attila Torok

	* Fix circular_buffer::grow(). One memcpy is not enough.
	This caused shuffled log output when the simulation was run for a while,
	then the network was rebuilt, then run again for a bit longer.

2018-03-01  Attila Torok

	* Use the new cMessagePrinter Options API

2018-01-26  Andras Varga

	* Follow recent histogram API changes.

2017-12-15  Attila Torok

	* Follow cEnvir change: Implemented getZoomLevel().

2017-01-16  Andras Varga

	* Replace gettimeofday() occurrences with opp_get_monotonic_clock_usecs(),
	and struct timeval with plain int64_t.

2017-11-26  Andras Varga

	* Follow NED->Ned naming change in class/function names

2017-12-12  Andras Varga

	* Follow cPar longValue()->intValue() name change.

2017-12-08  ------ omnetpp-5.2.1 released ------

2017-09-18  ------ omnetpp-5.2 released ------

2017-04-06  Andras Varga

	* Modernizing: use C++11's range-based for loops where applicable, using
	clang-tidy's modernize-loop-convert.

	* Modernizing: replace INT64_PRINTF_FORMAT and LL with C++11's PRId64.
	Note: PRId64 includes the "d" that was not part of INT64_PRINTF_FORMAT
	alias LL.

2017-05-25  Rudolf Hornig

	* Updated makefiles for speeding up the build:
	- generated files are created only once, even when using parallel build
	- binaries are copied to their final destination using proper makefile
	  targets

2017-04-28  Attila Torok

	* Fix: Redraw the canvas from scratch when figure tags have changed.

2017-04-19  Attila Torok

	* Make pixmap figure offset work again.

2017-05-08  ------ omnetpp-5.1.1 released ------

2017-03-31  ------ omnetpp-5.1 released ------

2017-03-14  Attila Torok

	* Removed remains of support for recording a pair of doubles in an
	output vector.

2017-02-06  ------ omnetpp-5.1pre3 released ------

2017-02-01  Andras Varga

	* Fix #967 penguin mode does not work

2017-01-06  Attila Torok

	* Added 'Canvases, figures' category to 'Find objects' dialog

2016-12-23  ------ omnetpp-5.1pre2 released ------

2016-12-16  Rudolf Hornig

	* Logo image updated

2016-12-06  Attila Torok

	* Added call to refreshDisplay() both before and after message animation.
	Note that support for proper smooth custom animations (i.e. calling
	refreshDisplay at some fps) probably won't be implemented in Tkenv
	any more, because development focus has shifted entirely to Qtenv.
	Tkenv is in maintenance mode from now on.

2016-11-30  Rudolf Hornig

	* build: Makefile refactored. Added clang-c2 support and optimized
	the build process.

	* build: removed Makefile.vc, as Visual C++ builds are now handled
	by the standard Makefiles.

2016-11-18  Andras Varga

	* Follow cEnvir API change: implemented appendToImagePath(), loadImage(),
	getSubmodulePosition()

2016-11-10  Andras Varga

	* Error messages refined (start with capital letter, use apostrophes
	for quoting, etc.)

2016-10-27  Andras Varga

	* Follow cEnvir API change: getImageSize() / getTextExtent(): use doubles
	for size

2016-10-19  Andras Varga

	* Follow cEnvir API change regarding askyesno(), putsmsg(), alert(), etc.

2016-10-04  Andras Varga

	* Updated Tkenv's description in "-h userinterfaces" output

2016-08-08  Andras Varga

	* Follow API changes: added dummy implementations for getAnimationTime(),
	getAnimationSpeed(), getRemainingAnimationHoldTime()

2016-08-31  Andras Varga

	* Added support for self-refreshing figures (cFigure::refreshDisplay())

2016-08-23  Andras Varga

	* Follow sim. kernel change: info() renamed to str(), detailedInfo()
	removed.

2016-08-05  Attila Torok

	* Updated Tkenv for cGroupFigure change (added GroupFigureRenderer).
	Note: support for figure zIndex (just introduced in the sim.kernel)
	is not implemented in Tkenv, and probably never will be, as focus
	is shifting towards Qtenv.

2016-07-21  Attila Torok

	* Implemented cEnvir::getImageSize() and getTextExtent().

2016-07-25  Andras Varga

	* Follow cEnvir change: messageSendHop() gained "discard" parameter.

2016-04-19  Andras Varga

	* Changed not to rely on the now-removed cEnvir::messageSent_OBSOLETE()
	method, a relic from OMNeT++ 3.x.

2016-06-23  Rudolf Hornig

	* The makefile now uses compiler-generated dependency files.

2016-04-13  Andras Varga

	* Fix: "Update now" button in the Express dialog did nothing e.g. in
	the Aloha sample, because refreshDisplay() methods were not called
	by Tkenv.

2016-04-13  ------ omnetpp-5.0 released ------

2016-04-13  Andras Varga

	* Display scheduler info() string on status bar

2016-04-05  Andras Varga

	* Fix: large tooltips could not appear (e.g. the help for log prefix
	in the Preferences dialog)

2016-03-23  Zoltan Bojthe

	* Added markup to config option descriptions

2016-04-01  Rudolf Hornig

	* Fix:the next event time label was showing (-1) right before the end
	of the simulation

2016-04-01  Andras Varga

	* Fix: submodule tooltips were missing from canvas

2016-03-21  Andras Varga

	* Fix: clear componentHistory between runs

2016-03-18  Andras Varga

	* Fix: on Windows, eventnumber display was not visible on first startup
	(window too small)

2016-03-18  Andras Varga

	* Fix disappearing statusbar when vertically resizing window

2016-03-10  ------ omnetpp-5.0rc released ------

2016-03-10  Rudolf Hornig

	* Fix: empty "i2" display string tag displayed a "missing icon" icon
	(question mark) instead of simply not displaying a status icon as both
	the IDE and Qtenv do.

2016-03-09  Rudolf Hornig

	* Change in status and event bannner texts (display "T=<time>" with
	lowercase t).

2016-02-22  Andras Varga

	* Added fields to the toolbar that display the *current* simulation time
	and event number. Refactored the status bars, and added a status line at
	the bottom. The status bar displays the simulation time of the next event
	along with the difference from the last event. Moved network description
	and message info to the new status line.

	* With the recent simulation kernel changes, printEventBanner() needs to be
	called inside simulationEvent() so that it prints the correct (updated)
	simulation time and event number.

	* When animating, updateStatusDisplay() also needs to be called in
	simulationEvent() so that the correct (updated) simulation time is displayed
	during the animation.

2015-12-07  ------ omnetpp-5.0b3 released ------

2015-12-02  Andras Varga

	* Removed the "tkenv-image-path" option, it is replaced by "image-path"
	that is part of the envir library.

2015-11-30  Andras Varga

	* Implemented cEnvir::isExpressMode()

2015-11-09  Andras Varga

	* Added support for cComponent::refreshDisplay(), see include/ChangeLog
	for details.

2015-11-06  Andras Varga

	* Refactoring: Tkenv class: runUtil data was turned into a struct

2015-11-06  Andras Varga

	* Cosmetics (camelization etc)

2015-10-16  Andras Varga

	* omnetpp namespace made permanent (cannot be turned off):
	- removed configure option and preprocessor symbol USE_NAMESPACE
	- removed related macros: NAMESPACE_BEGIN, NAMESPACE_END,
	  USING_NAMESPACE, OPP, OPP_STR, OPP_PREFIX etc.

2015-11-04  Rudolf Hornig

	* Updated tkpath binary (fix for arrowhead problem) - tkpath repo
	version: 596e4ac

2015-07-24  Andras Varga

	* Fix: Find/Inspect Object dialog was broken (object to search in was
	not found)

2015-07-20  ------ omnetpp-5.0b2 released ------

2015-06-26  Andras Varga

	* Fix: right-clicking submodule queue length display ("q:2") resulted in
	runtime error

2015-06-22  Andras Varga

	* Feature: double-clicking a module in the object tree will open it
	in the main area instead of opening a new inspector window. A new
	inspector can still be opened from the context menu.

2015-06-22  Andras Varga

	* Fix: "Open Details for X" caused runtime error
	* Fix: WatchInspector logged error an ("no such variable $insp in createWatchViewer")
	* Fix #831: "Run Until Next Event in Module X" resulted in Tcl error dialog

2015-06-16  Andras Varga

	* Cleanup: prefer ++it to it++ (less copying)

2015-06-11  Andras Varga

	* if(dynamic_cast) refactoring: change code like

	    if (dynamic_cast<cComponent *>(object) != nullptr) {
	        cComponent *component = (cComponent *)object;
	        ...
	    }

	To:

	    if (cComponent *component = dynamic_cast<cComponent *>(object)) {
	        ...
	    }

2015-06-09  Andras Varga

	* Images under images/old/ are no longer accessible without the "old/"
	prefix, so one must change e.g. "i=cloud" to "i=old/cloud" in display
	strings. The feature to let old/* images be accessible without the prefix
	was originally introduced to ease the transition from OMNeT++ 3.x to 4.0.

2015-06-08  Andras Varga

	* Cleanup: longer header guards

2015-06-08  Andras Varga

	* Cleanup: code formatting

2015-05-15  Andras Varga

	* Cleanup: use per-folder nested namespaces: omnetpp::envir, omnetpp::tkenv,
	omnetpp::layout, omnetpp::common, omnetpp::eventlog, etc.

2015-05-22  Andras Varga

	* Modernizing: added the 'override' keyword (C++11) to overridden methods;
	it becomes blank when using with an older compiler.

2015-05-21  Rudolf Hornig

	* Modernizing: replaced NULLs by 'nullptr' (C++11); it is defined as 0
	when using an older compiler.

2015-05-11  Andras Varga

	* Cleanup: data members renamed to camelCase

2015-04-20  Andras Varga

	* Cleanup: use C++ names of C headers (e.g. <cstdio> instead of <stdio.h>)

2015-04-14  Andras Varga

	* Occurrences of the "simulation" macro replaced by getSimulation() calls,
	and "ev" by getEnvir() calls.

2015-04-12  Andras Varga

	* Cleanup: copyright years updated

2015-04-08  Andras Varga

	* Modernizing:

	- Use a fixed include path (-Iinclude -Isrc) for all source folders
	  under src/, and qualify cross-folder #includes with the folder
	  name (e.g. change #include "stringutil.h" to #include "common/stringutil.h").
	  This increases readbility and reduces the chance of including a wrong
	  header.

	- In source files, sort #include statements by folder.

2015-03-23  Andras Varga

	* Added the "Hide namespaces" option that turns off the display of the
	namespace part of C++ class names when they appear in the GUI.

2015-03-23  Andras Varga

	* cCanvas rendering fixes.

2015-03-04  ------ omnetpp-5.0b1 released ------

2015-02-26  Andras Varga

	Use Tkpath canvas items (prect, ptext, pimage, etc) for module inspector

	General benefits due to using Tkpath:
	- unlimited background zooming
	- antialiased drawing (Tk canvas didn't have antialiasing)
	- OS X: images are not forced into 1-bit transparency
	- better performance

	Extra changes/improvements:
	- labels are now outlined (have a "halo") to make them readable on noisy backgrounds
	- range indicator fill is now semi-transparent (because Tkpath supports that)
	- "increase/decrease icon size" menu item now also affects the default icon

2015-02-14  Andras Varga

	* Added CanvasInspector code (i.e. standalone cCanvas objects can
	now be opened graphically)

	* Added dialog for configuring the filtering of figures by tags

2014-09-19  Andras Varga

	* Submodule icons are no longer scaled when zooming.

	* Removed support for the "bgs" (background scaling) tag. It
	specified a factor for translating canvas distances (e.g. icon
	coordinates) to pixels, which effectively meant a preferred zoom
	level. But since Tkenv handles zoom automatically, "bgs" had little
	usefulness. (That little usefulness was connected to icon zooming,
	but since icons don't zoom now, "bgs" became entirely pointless.)

2014-09-17  Andras Varga

	Finished implementation of the Canvas API Tkenv rendering. The
	implementation is based on figure renderers (see FigureRenderer class)
	that can be registered for various figure classes.

	Limitations:
	- only supports module canvases (extra canvas objects cannot be opened)
	- layers (show/hide figures based on tags they contain) not implemented

	The implementation is based on the TkPath Tcl/Tk plugin. It has been
	significantly enhanced by our team (namely Zoltan Bojthe), and
	the improvements were contributed back to the TkPath project.

	The current TkPath maintainer is Andrew Shadura, and the repository
	is at https://bitbucket.org/andrew_shadura/tkpath.
	Our working repository is at git@github.com:omnetpp/tkpath.git

2013-10-29  Andras Varga

	* Made log prefix format and log level configurable via the Options dialog

2013-09-26  Andras Varga

	* Follow logging API changes (sputn() replaced by log() function); see
	see related ChangeLog entry in envir/

2013-01-28  Andras Varga

	* Follow through with the introduction of cEvent; see related ChangeLog
	entry in include/.

2013-01-28  Andras Varga

	* Fire simulation lifecycle events; see related ChangeLog entry
	in include/.

2014-11-27  ------ omnetpp-4.6 released ------

2014-10-21  Andras Varga

	* Implemented canvas panning using left mouse button

	* Implemented zooming in/out around a point:
	- double click to zoom in
	- Shift + double click to zoom out

	* Implemented marquee zoom, based on patch from Christoph Sommer
	- use Ctrl + left mouse button to drag out a rectangle
	- marquee can be dragged out in any direction
	- right-click to cancel

	* Zoom-by factor changed to 1.3 (will only take effect for new users)

	* Fixed "jerking" of canvas caused by transmission circles coming and
	going (large circles always caused the scrolling region to change)

2014-06-30  ------ omnetpp-4.5 released ------

2014-05-12  Andras Varga

	* Tkenv GUI redesigned for single-window mode to improve usability and
	user experience. Tkenv has also received a new, modern look and feel,
	due to the use of the Ttk widgets and a custom Ttk theme.

	Details:
	- single-window mode, with object navigator + 3 built-in inspectors
	  that interact in a meaningful way (new inspector windows can still
	  be opened)
	- keep inpector windows on top of the main window at all times
	- use Ttk widgets everywhere, with custom theme - this makes a huge
	  difference in looks on all platforms but esp. on OS X
	- BLT no longer needed (we use Ttk instead)
	- inspectors are no longer tied to a single object; visited objects
	  are remembered as navigable history (back/forward)
	- module graphics now remembers zoom level and settings per NED type
	- for each log line, the context module is now stored, and is shown
	  as a line prefix where it makes sense (differs from event's module)
	- Tkenv now stores message sendings and also a clone of corresponding
	  message objects (cMessage), and can show them in the log window
	- message printer classes can be contributed to customize the
	  messages view of log windows
	- more concise status area that shows more information at the same time
	- part of the status area can be turned off to free up vertical space
	- timeline drawing now adapts to font size
	- on-demand scrollbars (i.e. they are hidden when not needed)
	- main menu cleanup (reorganized, removed obsolete items)
	- dialogs where it makes sense now remember size and location
	- additional hotkeys: Ctrl+Plus/Minus for Zoom, Ctrl+F5 Run Until,
	  Ctrl+Q Quit, etc.
	- OS X: use Command key for hotkeys instead of Ctrl
	- countless other, smaller improvements

2014-02-03  Andras Varga

	* Follow the removal of cCompoundModule from the simulation library.

2014-02-13  ------ omnetpp-4.4.1 released ------

2013-12-20  ------ omnetpp-4.4 released ------

2013-12-20  Andras Varga

	* Fix #702 "Message inspector windows keep coming back". Deleted objects are
	no longer remembered as pending inspectors.

2013-11-29  Andras Varga

	* Fix a Mac OS X problem: after hitting F5 (Run), the program stopped
	responding to user input after a while (the beach ball cursor appeared and
	stayed). The workaround was to start the simulation from a separate UI
	callback (~asyncExec) after a little delay.

2013-11-25  Andras Varga

	* Implemented animation filtering. This feature makes it possible to
	suppress animation of messages that you are not interested in (e.g. WLAN ACK
	frames, ARP exchanges, etc). Just right-click the message (either on the
	canvas or on the timeline), and choose "Exclude messages like '...' from
	animation" from the context menu. The filters can also be edited in the
	Simulation Options dialog.

2013-11-22  Andras Varga

	* Implemented "Debug Next Event" (Ctrl+F9). It causes the simulation program
	to stop in the debugger just before entering the handleMessage() call. You
	just need to hit "Step Into" in your debugger to debug that event.

2013-11-22  Andras Varga

	* Fix poor animation speed on Mac OS X. The cause was that OS X synchronizes
	screen updates to the vertical sync, so the animation can be at most sixty
	frames per second.

2013-11-22  Andras Varga

	* Source cleanup: force a consistent naming style for Tcl procedures

2013-11-18  Andras Varga

	* Fix for bug #684 "Module icons are missing in Tkenv on Mac OS X".
	Apparently the TkAqua library that comes with OS X cannot handle
	partial transparency (images with alpha pixels different from 0 and 255
	don't appear on canvases at all). The workaround is to replace
	alpha values in images with all 0 and 255. BTW, the MacPorts version of
	Tcl/Tk is no better, it just has the same hack built in.

2013-10-31  Rudolf Hornig

	* Fixed warnings when compiling with clang and -std=c++11 -Wall

2013-10-04  Tamas Borbely

	* Fixed image loading order: if there are duplicate images in the image
	path, the first one will win.

2013-11-15  Andras Varga

	* Fix for bug #684, Module icons are missing in Tkenv on Mac OS X.
	Apparently the TkAqua library that comes with OS X cannot handle
	partial transparency (images with alpha pixels different from 0 and 255
	don't appear on canvases at all). The workaround is to replace
	alpha values in images with all 0 and 255.

2013-09-25  Andras Varga

	* Fix "Filter window contents" dialog. List of filtered modules could
	be changed by simply opening and accepting dialog without making any
	change. This occurs to subtrees that  never expanded while the dialog
	is open. (i.e. reproducing the bug needed compound modules to be present
	in the simulation, e.g. the "routing" example)

2013-09-12  ------ omnetpp-4.3.1 released ------

2013-04-02  ------ omnetpp-4.3 released ------

2013-02-08  ------ omnetpp-4.3rc1 released ------

2012-03-13  ------ omnetpp-4.2.2 released ------

2012-01-17  ------ omnetpp-4.2.1 released ------

2011-01-16  Andras Varga

	* Implemented connection label ("t" tag) positioning

2011-10-28  ------ omnetpp-4.2 released ------

2011-09-11  ------ omnetpp-4.2rc1 released ------

2011-07-21  Andras Varga

	* tkenv.cc: fix: ensure correct order of lines printed on startup:
	flush stdout and stderr before invoking Tcl code

2011-05-05  ------ omnetpp-4.2b2 released ------

2011-02-23  ------ omnetpp-4.2b1 released ------

2011-02-10  Rudolf Hornig

	* Menu items changed to title case

2011-02-18  Rudolf Hornig

	* adapted to layouter external interface change (cModule*->int nodeId,
	see ChangeLog entry)

2011-02-15  Andras Varga

	* fix for bug #248: compute coordinates and distances (rectangle size,
	transmission range radius, etc) in doubles instead of ints.

2010-02-12  Andras Varga

	* Improved font handling:
	- the generic UI font and the font used in graphics are now
	  configurable from the Simulation Options dialog
	- on Linux, Tkenv now detects and uses the Ubuntu, Arial,
	  Verdana, etc. fonts in this preference order (see full list
	  in widgets.tcl)
	- the default font for log windows is now the generic UI font
	- internal refactoring

2010-02-01  Andras Varga

	* Log Tcl errors into .tkenvlog instead of dumping them on stdout

2010-01-27  Rudolf Hornig

	* Tkenv: fixed #245: if one of the ini file parameters had a syntax
	error, Tkenv failed to display the module that uses that parameter
	and showed "Cannot access display string yet: parameters not yet set
	up" errors.

2010-12-09  Andras Varga

	* fix for bug #221: Negative zoom level in Tkenv (could not reproduce
	the bug, but the given changes probably fix it)

2010-11-26  Andras Varga

	* placeholder modules are now displayed as semi-transparent icons, or,
	when displayed as a "rect" or an "oval" using the "b" tag, they are
	displayed with a dotted border. (Tk does not support transparency for
	canvas polygons.)

2010-07-29  Andras Varga

	* fix for bug #195: broadcast animation crashes if msg gets deleted
	by the end of event processing.

2010-06-11  ------ omnetpp-4.1 released ------

2010-06-11  Andras Varga

	* Tkenv: copy error messages into the main window (makes it easier to
	copy/paste it into an email)

	* Do not automatically zoom in network graphics

2010-05-31  ------ omnetpp-4.1rc2 released ------

2010-05-26 Andras Varga

	* Tkenv: fix: during layouting, allow no UI interaction in first
	three seconds. Reason: During Run or Fast mode, grab behaves strangely:
	it may cause window focus to wander around; loses UI events so toolbar
	buttons stay in their pushed or raised state, one cannot interact with
	toolbar buttons such as Refresh Layout, and so on. We minimize these
	problems by only activating grab if layouting lasts more than 3 seconds
	(not typical during running the simulation.)

2010-05-25 Andras Varga

	* Fix: "wm iconphoto" does not exist on Mac OS X 10.5, and does not work
	on 10.6.

2010-05-15 Andras Varga

	* Added application icon to Tkenv. To make it easier to tell windows
	apart in the task bar, the main window has a different icon.

	* Fix: inspector window positions were stored incorrectly (should have
	used "wm geom" instead of "winfo geom"); also, now we also save the
	window state (normal, zoomed, iconic, etc.) as well, to be able to
	handle zoomed (=maximized) windows better.

	* Feature: implemented minimum icon size, resize window on layout and
	auto-adjust zoom options. New controls in the Simulation Options
	dialog:
	- "[] Resize window to fit network with current zoom level first"
	- "[] Adjust zoom so that network fills window"
	- "Minimum icon size when zoomed out (pixels)"

	* Added hotkeys for zoom in/out: Ctrl+N and Ctrl+M. Ctrl+N was already
	used by "Toggle module name", it was reassigned to Ctrl+D.

	* Fix: Simulation Options dialog came up behind the current window
	when opened via canvas context menu.

	* Steps of zoom made smaller (1.1x)

2010-05-12 Rudolf Hornig

	* Implemented bilinear filtering for image resize.

2010-05-03 Andras Varga

	* Simulation Options dialog: made a separate "Layouting" page and
	other minor refinements

	* Simulation Options dialog: layouting algorithm can now be chosen
	from Fast, Advanced and Adaptive (default: Adaptive)

	* fixed first half of bug #56: when running a simulation that creates
	and deletes modules dynamically, hovering the mouse over a just
	deleted module will crash as Tkenv tries to create tooltip for dead
	object; mouse event is processed from layouting callback.
	Fix: activate grab during incremental layouting as well.

	* fixed secord half of bug #56: crash during idle(), when running
	a simulation that creates and deletes modules dynamically, using
	cRuntimeScheduler that calls idle(), running in Fast mode, and
	hovering the mouse over a just deleted module. Fix: refresh inspectors
	just before idle() processes UI updates; also, to prevent excessive
	inspector refresh, process UI events if at least one second has passed
	since the last check.

	* fix: crash when closing inspector window during layouting

2010-05-01 Andras Varga

	* fix: bubble positioning was wrong if zoom or scaling ("bgs" display
	string tag) was active

2010-04-30 Andras Varga

	* fix: parameter references ($par,${par}) were not accepted in many
	display string tags (bgb,bgs,bgg,..); also added related test case
	in test/anim/displaystring

	* fix: background image clipping was wrong in certain cases, causing
	Tk's image copy routine to receive a 0,0 as size and go into an
	infinite loop

2010-04-25 Andras Varga

	* tkenv.cc: fixed bug #107, crash due to reuse of va_list w/o va_copy()

2010-04-20  ------ omnetpp-4.1b4 released ------

2010-04-12  Rudolf Hornig, Andras Varga

	* feature: added an option to disable printing of banner messages
	about module/channel initializations; see "Print initialization
	banners" checkbox in the Options dialog.

2010-04-02  Levente Meszaros

	* feature: toggle eventlog recording interactively (menu item, toolbar
	button); it will then override the "intervals" setting from omnetpp.ini

	* usability: New Network function removed from toolbar, as it was
	confusing; still available via the File menu

2010-03-14  ------ omnetpp-4.1b3 released ------

2010-01-28  Andras Varga

	* improvement: module or channel parameter references may now occur
	as substrings in the middle of display string tags, for example:
	    @display("t=my address is $address!").
	Before, they were only accepted if a whole display string tag was a
	single parameter reference.

	* improvement: parameter references in display strings may now be
	delimited with braces as well (${par}), if needed to separate it
	from subsequent text. For example:
	    @display("t=bw:${datarate}bps");

2009-09-15 Rudolf Hornig

	* fixed: New automatic anchor placement algorithm. Connection layouting
	is much better now for elongated modules (where width>>height or height>>width)

	* New feature: INOUT connections do not have arrows.

	* New feature: Clicking on the graphical inspector or on the timeline
	brings up the inspectors for ALL the modules, connections and messages
	under the mouse. Previously only the topmost object was offered.

	* New feature: An option was added to enable/disable whether connections
	attached to a gate vector, connecting the same two modules should be
	drawn parallel to each other (old behaviour) or just as a single
	connection line (new default)

2009-09-01  Andras Varga

	* fix: images with file names containing upper-case characters were
	not loaded by Tkenv

2009-03-12  ------ omnetpp-4.0 released ------

2009-03-08  Andras Varga

	* fixed #52: exclude display update time when doing time-based updates
	in Express and Fast modes

2009-02-27  ------ omnetpp-4.0rc2 released ------

2009-01-05  Rudolf Hornig

	* fixed: display string for messages made consistent with module display
	strings: "o" tag removed, use b=width,height,shape,color,borderwidth instead.

	* New feature: A special color name "kind" can be used in message
	display strings (both in "i" and "b" tags)

2008-12-14  Andras Varga

	* fixed bug #34: in Fast mode, bubble didn't get displayed for
	recently created modules

2008-12-12  ------ omnetpp-4.0rc1 released ------

2008-12-09  Andras Varga

	* UI updates during Fast and Express Run changed from event-based
	(i.e. "every x events") to time-based ("every x milliseconds").
	Time only checked every 16 and 256 events though, respectively,
	to save CPU cycles.

2008-12-06  Andras Varga

	* fixed #16: reimplemented filtering. Now I store the log messages
	in the memory myself, and on closing the filter dialog I re-fill
	the text widget with manually filtered contents. This fixes strange
	scrolling behavior (bug #17) as well. New files: logbuffer.cc/h

	* New feature: when you open a per-module output window, it comes up
	containing previous messages (and not empty as it used to). This
	feature was made possible by storing the log.

2008-11-27  Andras Varga

	* implemented font selection (Options dialog)

	* settings are now saved to $HOME/.tkenvrc, only inspectors are saved
	to .tkenvrc in the current directory. (Motivation: font selection is
	tyically meant to be global by the user, not per-simulation)

2008-11-26  Andras Varga

	* library renamed to opptkenv

2008-11-26  Andras Varga

	* Fix: opening the "General" treenode in a cGate inspector caused a
	Tcl error [reported by Ingmar Baumgart]

2008-10-18  Andras Varga

	* implemented module output window filtering: modules can be selected
	using a checkbox tree dialog. Bound to Ctrl+H.

	* implemented "Run until message", both in the Run Until dialog and
	in message objects' context menu

	* event banner text revised, plus now includes message name and class
	as well; added "Short event banners" checkbox to options dialog

	* fixed popup menu behaviour on linux (use tk_popup instead of post)

2008-05-17  Andras Varga

	* better toolbar icons
	* implemented show/hide arrowheads
	* implemented increase/decrease icon size
	* expanded context menu in graphical module inspectors
	* added corresponding keyboards shortcuts

2008-04-19  Andras Varga

	* layouting process can now be stopped if it takes too long

2008-03-29  Andras Varga

	* Implemented context menu for text windows. Includes Word wrap on/off,
	and Select all (Ctrl+A) features

2008-03-21  Andras Varga

	Fixed a number of issues with the Aqua-based Tcl/Tk on Mac OS/X:
	- tooltips got focus. solution: magic code from http://wiki.tcl.tk/3060
	- focus problem in dialogs (no initial focus when dialog came up)
	  solution: introduced proc setinitialdialogfocus
	- some "(help)" links in dialogs didn't work due to focus problems
	  solution: introduced proc waitforfocus
	- button 2 and 3 are reversed (compared to X11 and Windows)
	  solution: use variables $B2 and $B3

2008-02-23  Andras Varga

	Summary of changes for omnetpp-4.0 (2006..2008):

	* inifile syntax change: [Tkenv] config entries became tkenv-...;
	however, see below:

	* inifile entries for options that also appear in the Simulation
	Options dialog have been REMOVED: tkenv-slowexec-delay=,
	tkenv-update-freq-fast=, tkenv-animation-enabled=, etc., because
	they took no effect anyway (when a .tkenvrc file was present,
	settings were taken from that instead of omnetpp.ini).

	* default configuration and default run number (they cause the
	network to be set up automatically when Tkenv starts up)
	can be specified with -c and -r command-line options or the
	tkenv-default-config= and tkenv-default-run= ini file options.

	* OMNETPP_BITMAP_PATH environment variable is now called
	OMNETPP_IMAGE_PATH

	* likewise, the [Tkenv]/bitmap-path= inifile option is now
	called tkenv-image-path=.

	* implemented zooming

	* implemented "hide module names" feature

	* display string improvements:
	 - multiple "r" and "t" tags supported per submodule (as "r1", "r2" etc);
	 - added "bgt" tag: bgt=<x>,<y>,<text>,<color>; multiple tags supported ("bgt1","bgt2",etc)
	 - added support for new display string tags: bgi, bgg, bgs, bgg,... ; made consistent with NED editor

	* NOTE: icon names (png/gif file names) MUST BE lowercase

	* added support for reading PNG images as icons, using TkPNG 0.7
	(https://sourceforge.net/projects/tkpng/). Checking in a copy of
	the TkPNG sources was felt more practical than adding TkPNG as an
	external dependency.

	* from now on, you need to specify "-u _tkenv_lib" (gcc) or
	"/include:_tkenv_lib" (vc++) in addition to -ltkenv (or tkenv.lib)
	on the linker command line. But: now you can have a program with both
	Cmdenv and Tkenv in it.

	* out-of-directory build, and other Makefile changes

	* SEE CHANGES FOR ENVIR TOO. (Envir is the common part of Cmdenv and
	Tkenv).

2006-11-19  ------ omnetpp-3.4b2 released ------

2006-11-14  Andras Varga

	* implemented filtering for the timeline

	* implemented scrollback buffer limiting (default is 100,000 lines)

2006-11-12  Andras Varga

	* fix: existing inspector windows didn't come to the front and didn't get
	the focus. This was observed on Kubuntu with kwin 3.0, but maybe
	affected other platforms as well.

2006-11-06  Andras Varga

	* enhancement: all non-graphical inspectors replaced with consistent
	treeview-based inspectors

	* enhancement: broadcast animation feature, which is thought to
	significantly improve the animation of wireless simulations (MF!), and
	generally simulations where broadcast sends occur (e.g. Ethernet).
	When the feature is turned on, then if multiple send() or sendDirect()
	calls occur within a handleMessage(), they are animated	concurrently.
	This also means that send/sendDirect calls are NOT animated at the
	place of the call as previously, but together at the end of processing
	the event (that is, after handleMessage() has already returned).
	This is done because Tkenv first has to collect all message sendings
	within the event in order to be able to animate them. This out-of-
	sequence animation processing may cause occasional surprise. The
	broadcast animation feature can be turned off in the Simulation Options
	dialog.

	* internal refactoring (opp_object_nullpointer renamed to opp_null;
	split animate.tcl and timeline.tcl from modinsp2.tcl, etc)

	* Simulation Options dialog to use tabs (it was too crowded already)

2006-10-21  ------ omnetpp-3.3 released ------

2006-10-19  Andras Varga

	* modinsp2.tcl: connection arrows with zero thickness ("o=,0") are
	not drawn.

	* "Save window contents" toolbar icon added to text windows

2006-10-14  Andras Varga

	* several smaller improvements: added object icons to listboxes;
	in the "Find/inspect" dialog one can specify the module in which
	to search; "copy to clipboard" icon added to the main toolbar and
	module log windows, etc

2006-04-13  Andras Varga

	* tkutil.cc: fixed a bug in setObjectListResult() [crash reported by
	Rodolfo Ribeiro Gomes and others]

2006-03-19  Andras Varga

	* tkapp.cc: use simulation.guessNextSimtime() to display the time of
	the [probable] next event

2006-01-12  ------ omnetpp-3.2p1 released ------

2005-10-19  ------ omnetpp-3.2 released ------

2005-09-27  Andras Varga

	* tkapp.cc: bugfix: should call endRun() instead of simulation.endRun()
	[reported by Johann Glaser]

2005-08-09  Andras Varga

	* dialogs.tcl: Find/Inspect Objects dialog became nonmodal.

2005-08-04  Andras Varga

	* added "Run until next local event" to modules' context menu

2005-07-26  Andras Varga

	* tkapp.cc/h: added support for OPP_PLUGIN_PATH environment variable,
	and [Tkenv]/plugin-path=dir1:dir2:... omnetpp.ini entry.

2005-07-25  Andras Varga

	* statinsp.cc: cOutVector callback method signature change: added
	simtime_t to record_in_insp() arg list.

2005-07-24  Andras Varga

	* tkapp.cc: flush output vector file and output scalar file after
	every event while single-stepping (F4) or when the user stops
	a running simulation (F8). This makes it possible examine a vec
	file with Plove without exiting the simulation program [suggested by
	Michael Tuexen]

2005-07-23  Andras Varga

	* WATCH implementation changed

	* cGate inspector: channel attributes (delay, error and datarate)
	can now be changed from the GUI. [suggested by Michael Tuexen]

2005-07-21  Andras Varga

	* inspector.tcl: added support for custom items on the context
	menu (e.g. right-click on a router, "Inspect Routing Table..."
	Usage: via extendContextMenu proc. [idea: Wei Yang Ng]

2005-07-20  Andras Varga

	* inspector.tcl, structinsp.cc: in message inspector Fields and
	Control Info pages, indented 2nd, 3rd etc lines of very long entries,
	to make it more legible (Tk text tag -lmargin2 option)

2005-06-24  Andras Varga

	* modinsp2.tcl: fix: r= display string tag worked incorrectly: circle
	was displayed with radius = r/2 instead of r

2005-05-01  Andras Varga

	* cMessage inspector now displays message size in bytes as well

2005-04-21  Andras Varga

	* added implementation of timeline

2005-03-31  ------ omnetpp-3.1 released ------

2005-03-22  Andras Varga

	* tkapp.cc/h: handling of -h option moved into TOmnetApp base class.

2005-03-19  Andras Varga

	* gate inspector dialog revised (connection display string made
	editable)

	* modinsp2.tcl, inspector.tcl: implemented new display string
	tag:
	    tt=<tooltip-string>
	It can be used in module, submodule, connection and msg display
	strings, and will cause the given string to appear in a tooltip.

	* modinsp2.tcl: implemented the "t=<string>,<color>" display
	string tag for connections.

	* improvement: queue length display in module graphics now has
	tooltip

	* fix: circle (drawn with "r=" display string tag) was sometimes
	incorrectly positioned

2005-03-17  Andras Varga

	* tkapp.cc: added calls to new scheduler->executionResumed()

2005-03-07  Andras Varga

	* tkapp.cc: added support for -r <run-number> command-line option,
	which has the same effect as (but takes priority over) [Tkenv]/
	default-run ini file entry.

2005-03-03  Andras Varga

	* structinsp.cc: fix: Tkenv crashed if control info object didn't have
	cStructDescriptor registered [reported by Kurtis Kredo II]

2005-03-02  Andras Varga

	* tkapp.h/cc: makeOptionsEffective() merged into readPerRunOptions()

2005-02-07  Andras Varga

	* enhancement: in omnetpp.ini, description="some text" entries can be
	added under the [Run 1], [Run 2] etc sections. These descriptions will
	appear in the Tkenv run selection dialog.

2005-02-06  Andras Varga

	* gateinsp.tcl, modinsp.cc: fixed cGate inspector error introduced
	in 3.0

2005-01-17  Andras Varga

	* combobox.tcl updated to version 2.3 which also works on Mac OS/X
	[suggested by Michael Tuexen]

2005-01-10  Andras Varga

	* tkapp.cc, tkcmd.cc: factored out platform dependencies to
	include/platdep

2004-12-29  ------ omnetpp-3.0 released ------

2004-12-15  Andras Varga

	* extra-stack= option replaced with extra-stack-kb. Default raised to
	48K (37K stack usage was observed on SUSE 9.1)

2004-12-10  Andras Varga

	* default background color changed from #c0c0c0 to #d0d0d0

2004-11-29  Andras Varga

  	* tkapp.cc: on Mac OS/X, implement ftime() with gettimeofday() [patch
  	from Michael Tuexen]

  	* tkutil.cc: hide gatev and paramv in "Contents" page of a simple
  	module inspector

2004-11-25  Andras Varga

	* several files: displayStringAsParent() renamed to backgroundDisplay-
	String(); cSimpleChannel renamed to cBasicChannel

2004-11-23  ------ omnetpp-3.0b1 released ------

2004-11-18  Andras Varga

	* menuproc.tc: added exit confirmation question "Do you want to call
	finish() before exiting? Yes No Cancel"

2004-11-03  ------ omnetpp-3.0a9 released ------

2004-11-01  Andras Varga

	* main.tcl, modinsp2.tcl: created display string tag for icon size:
	"is=" (can be "vl", "l", "n", "s", "vs" for very large, large, normal,
	small, very small). Similarly, tag "is2=" sets size of auxiliary icon
	("i2=" tag). The underscore notation ("i=penguin_s") also still exists.

2004-10-27  Andras Varga

	* tkapp.cc: fix: readPerRunOptions() was not protected by try/catch

2004-10-25  Andras Varga

	* tkapp.cc, tkcmd.cc, etc: updated for info() and fullPath()
	signature changes (see include/ChangeLog)

2004-10-20  Andras Varga

	* main.tcl, modinsp2.tcl: preparations for new icons, categorized into
	several subdirs under bitmaps/. Current icons will be moved to
	into the bitmaps/old subdirectory.

	Tkenv now loads icons from subdirectories of dirs in OMNETPP_BITMAP-
	_PATH as well, and they can be referenced from display strings like
	"subdir/icon", "subdir/subsubdir/icon" , etc. If an icon "icon" in
	a display string is not found, it is tried as "old/icon" as well.

2004-10-18  Andras Varga

	* usability improvement: allowed user interactions during message
	animation (speed can be changed, STOP button can be clicked, inspector
	can be closed, etc). In Tcl-speak: changed "update idletasks" to
	"update" within animation code (graphmodwin_do_animate, etc).

	* tkinsp2.tcl: animation changed to use [clock clicks]-based timing

2004-10-15  Andras Varga

	* modinsp2.tcl, tkcmd.cc: fixed display strings: didn't handle "," and
	"=" in args to "t=" properly

	* tkapp.cc: improved "Fast Run until next local event" function: now
	it always animates events occurring in the local module

2004-10-15  Andras Varga

	* window.tcl: fix: "View file" option didn't like some file names

2004-10-10  Andras Varga

	* inspector.cc, tkutil.cc/h: fix: label always displayed "0 objects"
	above inspector listboxes; refactoring

2004-10-10  Andras Varga

	* main.tcl: changed default "Run until" run mode to Express (was Normal)

2004-10-04  ------ omnetpp-3.0a8 released ------

2004-09-27  Andras Varga

	* inspector.cc: display class name too on "inspect" buttons
	(e.g. "encapsulated message" button in cMessage inspector)

2004-09-26  Andras Varga

	* modinsp2.tcl: graphical module windows: adjust window size to fit
	size of graphics

2004-09-24  ------ omnetpp-3.0a7 released ------

2004-09-08  Andras Varga

	* widgets.tcl: updated Tcl/Tk version check

2004-08-16  Andras Varga

	* tkutil.cc: worked around compilation error in WinSCard.h when
	compiling with MSVC .NET

2004-08-14  Andras Varga

	* tkapp.cc: new omnetpp.ini entry: [Tkenv]/bitmap-path=. Value should
	be quoted; directories should be separated by ";". The contents of the
	OMNETPP_BITMAP_PATH environment var (or if that's not set, the
	compilation-time bitmap path) gets concatenated to this one.
	Beware: if you don't quote the value, only the first dir will be
	used and the rest ignored, because ";" denotes comments omnetpp.ini!

2004-08-12  Andras Varga

	* modinsp2.tcl: "t=" tag: center text by default

2004-07-22  ------ omnetpp-3.0a6 released ------

2004-07-17  Andras Varga

	* tkapp.cc: enable output (set disable_tracing=false) before calling
	finish()

2004-07-06  Andras Varga

	* tkapp.cc: fixed Speedometer usage

2004-06-21   Andras Varga

	* visitor.cc/h: converted pattern matching to use new cPatternMatcher.

2004-06-07  ------ omnetpp-3.0a5 released ------

2004-05-15  ------ omnetpp-3.0a4 released ------

2004-03-22  ------ omnetpp-3.0a3 released ------

2004-04-20  Andras Varga

	* added "Control Info" page into cMessage inspector.

2004-03-18  Andras Varga

	* structinsp.cc: display getFieldsAsString() also for structs (that is,
	its operator<< is used to display a one-line brief of the struct)

2004-03-03  ------ omnetpp-3.0a2 released ------

2004-03-03  Andras Varga

	* modinsp2.tcl, etc: implemented option to display className() of
	animated messages. New omnetpp.ini option:
	  [Tkenv]/animation-msgclassnames=true/false (default is true)

2004-03-01  Andras Varga

	* inspector.tcl/cc, etc: all inspector windows got an "Inspect owner"
	toolbar button; on module inspectors this works as "Inspect parent
	module".

	* fix: Filtered Object List dialog ignored scheduled events list

	* fix: cPacket inspector "Fields" page was always empty

2004-02-23  Andras Varga

	* tkapp.cc/h: added moduleReparented() cEnvir method

2004-02-18  Andras Varga

	* tkapp.cc/h, menuproc.tcl: on-the-fly switching from one runmode to
	another (run,normal,express)

	* menuproc.tcl,dialogs.tcl: added [x] Confirm exit checkbox to
	Simulation options dialog

	* dialogs.tcl: express mode "STOP" dialog refined

	* dialogs.tcl: Find dialog improved

2004-02-11  Andras Varga

	* tkapp.cc: propagated semantic change in getNextEvent()'s and
	selectNextModule()'s return value (see include/ChangeLog)

2004-02-07  Andras Varga

	* cstructinsp.cc: fix: prepare for missing descriptor object
	[bug reported by Kurtis Kredo]

2004-02-04  ------ omnetpp-3.0pre1 released ------

2004-01-20  Andras Varga

	* added Edit|Copy to menu

2004-01-17  Andras Varga

	* modinsp2.tcl: added two experimental submodule display string tags:
	- "i2=" tag (with similar syntax to "i=") displays a small "modifier"
	icon on top of the original one. Suggested icons are x_check, x_down,
	x_up, x_exclamation, x_question, etc.
	- "t=" tag displays a status string. t=<text>,<pos>,<color>.
	<pos> is "l", "r" or "t" for left, right and top.

2004-01-09  Andras Varga

	* modinsp.cc/h/tcl,tkapp.cc/h: implemented bubble() -- submodules
	can display a bubble with a short message like "Queue full!".
	Added [Tkenv]/show-bubbles=true/false omnetpp.ini entry.
	TBD bubble() drawing could be a bit faster (too much Tcl code)

	* added anim speed slider in main dialog and graphical module inspector

2004-01-06  Andras Varga

	* tkapp.h: added isGUI() (returns true)

2004-01-01  Andras Varga
	* tkapp.cc/h: handle new cEnvir notifications: moduleCreated(),
	moduleDeleted(), connectionCreated(), connectionRemoved(),
	displayStringChanged(cGate*), displayStringChanged(cModule*),
	displayStringAsParentChanged()

2003-12-30  Andras Varga

	* new omnetpp.ini entries:
	[Tkenv]/methodcalls-delay: sets delay after method call animation
	[Tkenv]/show-layouting: show layouting process of network graphics

2003-12-21  Andras Varga

	* graphlayout.cc/h, modinsp.cc: implemented automatic layouting, using
	the SpringEmbedder algorithm. Modules which have no explicit positions
	assigned (first two args of the "p=" tag are missing) will be
	autolayouted. Predefined row, matrix, ring, etc arrangements (defined
	via 3rd and further args of the "p=" tag) will be moved as one unit
	(the full row/matrix/ring will be moved to an optimal place.)
	- One tricky thing: if the full graph is too big after layouting,
	it is scaled back so that it fits on the screen, UNLESS IT CONTAINS
	ANY FIXED-POSITION MODULE. (For obvious reasons: if there's a module
	with manually specified position, we don't want to move that one).
	- Size is ignored by the present layouter, so longish modules (such as
	an Ethernet segment) may produce funny results.
	- Parameters to the layouter algoritm (repulsive/attractive forces,
	number of iterations,random number seed) can be specified in the "l="
	tag to the parent module, but this is experimental and may change.
	Currently parameters (with their default values):
	"l=<repulsion=10>,<attraction=0.3>,<edgelen=40>,<maxiter=200>,<seed>"
	- Tip: to present rescaling, specify a bounding box for the parent
	module module that is large enough, e.g. "b=2000,3000"

2003-12-18  Andras Varga

	* modinsp2.tcl: enhanced "i=" (icon) display string tag -- icon can
	be colorized now. Syntax: i=<icon>,<target-color>,<percentage>.
	Target-color can be any accepted color specification: English name
	(blue,lightgray,wheat), RGB (#ff0000) or HSB (@40ff80; hue-saturation-
	brightness), and percentage is the degree of colorization, 20% being
	the default. Percentage has no effect if the target color is missing.
	Brightness of icon is also affected -- to keep original brightness,
	specify a color with about 50% brightness (e.g. #808080 mid-grey,
	#008000 mid-green). Examples: "i=server1,gold" creates
	a gold server icon; "i=earth2,#808080,100" makes icon grayscale;
	"i=queue,white,100" gives "over-exposed" b&w icon. Colorization
	works with both submodule and message icons.

	* tkcmd.cc: added opp_colorizeimage command

2003-12-11  Andras Varga

	* all files: follow changes in sim/; C-style casts replaced with
	static_cast<>

2003-12-06  Andras Varga

	* inspectors are no longer cObjects

	* "putaside queue" tab removed from simple module inspector (putaside-
	queue is being removed, see doc/API-changes.txt)

	* filtered object dialog enhanced (categories, etc)

2003-11-29  Andras Varga

	* insplist.tcl: added <pluginname>:inspectorUpdate Tkenv plugin
	callback

	* widgets.tcl: added BLT support

	* inspector listboxes changed to multicolumn listboxes from BLT

	* .cc/.h files: some refactoring and cleanup; lots of obsolete code
	removed

2003-11-13  Andras Varga

	* statinsp.cc: added typecast for MSVC 7.0 compiler [reported by Bob
	Scheffler]

2003-11-13  Andras Varga

	* Checked in parallel simulation code that was developed March-May 2003,
	during my stay at Monash University. Changes:

	2003-04-09  Andras Varga
	* tkapp.cc: use new cSimulation method guessNextEvent() for updating
	"Next module" display.

2003-11-09  Andras Varga

	* added toolbar icon and menu item for dynamically loading NED files.
	(Only works if sim.kernel was compiled with the feature enabled,
	see sim/ChangeLog entry from the same date.)

2003-11-07  Andras Varga

	* started working on a Tkenv plugin API. It's still in embryonal state.
	Plugins are any .tcl file found in directories of the plugin path
	(OMNETPP_PLUGIN_PATH env.var, "./plugins" be default), and they are
	loaded automatically when Tkenv starts. They may define Tcl procs,
	create windows, widgets, meu items, etc.
	   The plugin may invoke the registerPlugin <pluginname> Tcl function,
	which arranges certain plugin functions to be called on different
	Tkenv events. As of now, the only such function is
	<pluginname>:newNetwork, called after a network got set up.
	   As of now, plugins authors need to look at the Tkenv code to see
	what they can do and how they can do it from within a plugin. This is
	not very good since it makes plugins dependent on Tkenv internals.
	Some time in the future a well-defined Tkenv API will have to be
	created. Also, the plugin mechanism will probably be changed to
	make use of the namespace and package mechanisms of Tcl.
	   An example plugin can be found in test/tkenv/plugin.

	* tkcmd.cc: implemented opp_modulebypath, opp_getmodulepar,
	opp_setmodulepar commands (needed by Tkenv plugins)

2003-10-19  Andras Varga

	* slight change in submodule display strings: if both "b=" (box) and
	"i=" (icon) occurs in the display string, *both* are displayed
	(the icon on top of the box; prevoiusly, the icon took precedence).
	This facilitates visualizing the state of a module: state can be coded
	in the color (or size) of the underlying box or oval (or frame/circle,
	because transparency is also supported, see below)

	* enhancement in display strings: special color "-" means transparent;
	@hhssbb (with h,s,b as hex digits) stands for a color given with
	(hue,saturation,brightness) values -- this makes it easier to scale
	colors e.g. from white to bright red

	* tkcmd.cc: added opp_hsb_to_rgb command

2003-10-18  Andras Varga

	* tkcmd.cc: added Tcl commands for working with the nedxml library

2003-10-06  Andras Varga

	* modinsp2.tcl, modinsp.h/cc: new feature: queue size can be displayed
	next to submodule icon. Add "q=<queue-name>" to the display string,
	where queue-name is the name of the cQueue object, e.g. "q=sendQueue".

	* tkenvrc now saves all options. Entries in the [Tkenv] section of
	omnetpp.ini will be obsoleted -- anyway they only take effect if
	there's no .tkenvrc!

2003-10-02  Andras Varga

	* tkapp.cc/h, modinsp.cc/h, modinsp2.tcl: new features:
	(1) animation of method calls across modules (for that to work,
	    module methods need the Enter_Method() macro to be added manually),
	    and
	(2) displaying the location of the next event by putting a red frame
	    around the module icon.
	Both features can be disabled from the Simulation Options dialog,
	see checkboxes "Show next event markers" and "Animate method calls".
	New ini file options in the [Tkenv] section:
	  next-event-markers = true/false, default is true
	  anim-methodcalls = true/false, default is true

2003-09-25  Andras Varga

	* modinsp2.tcl: added support for "r" submodule display string tag.
	It draws a circle (or a disc) around the submodule with the given
	radius, and it can be used to visualize transmission range of
	wireless nodes. Syntax: "r=<radius>,<fillcolor>,<color>,<width>",
	the default is unfilled black circle with radius=100.

	* modinsp2.tcl: implemented message display strings. You can redefine
	the displayString() method of cMessage, and make it return a display
	string. Supported tags are: "b","i" and "o" tags which work just as
	with submodules, with two exceptions:
	- if color name is "kind", a message kind dependent colors is used
	  (like default behaviour)
	- defaults are different: small red ball with size of 10 points
	Try "i=penguin" or "b=15,15,rect;o=white,kind,5"

2003-09-22  Andras Varga

	* tkapp.cc, modinsp.cc, modinsp2.tcl: implemented animation of
	sendDirect().

2003-09-01  Andras Varga

	* tkapp.cc: default values for update-freq-fast and update-freq-express
	changed to 50 and 10000

2003-07-24  Andras Varga

	* implemented Inspect|Find/Inspect objects dialog, a filtered-ordered
	dialog of all objects.

2003-07-22  Andras Varga

	* structinsp.cc/h: "Fields" tab in message inspector now recursively
	displays embedded structs (so far it only displayed "{...}")

2003-06-16  ------ omnetpp-2.3 released ------

2003-05-26  Andras Varga

	* cOutVector inspector: added "autoscale" checkbox to Options dialog

2003-04-17  Andras Varga

	* objinsp.tcl: fixed bug which prevented cPackets (or objects
	subclassed from it) from being inspected (Tcl error)

2003-03-15  ------ omnetpp-2.3b2 released ------

2003-03-13  Andras Varga

	* modinsp2.tcl: fixed occasional "conn_id: no such variable" error

2003-02-15  ------ omnetpp-2.3b1 released ------

2003-02-05  Andras Varga

	* modinsp2.tcl: bugfix

2003-01-29  Andras Varga

	* added "Finish" to main toolbar

	* known bug: if one sets up the Token Ring sample with 120 nodes
	(other numbers work as well), displayed ring will be broken at places.

2003-01-23  Andras Varga

	* "Step" button in module inspectors replaced with 3 buttons ("Run
	until next local event", "Fast run until next local event", "Stop")

	* Graphical module inspector: if there're too many submodules, drawing
	may take very long, so the user is prompted if he/she really wants
	see the graphics. Limit is currently 1000 submodules.
	The object tree view is also usable until ~1000 objects displayed in
	the tree.

	* Note: ad-hoc load tests: with Dyna, a 8000-client network could be set
	up and run (~12500 modules, including ServerProcs) on Win2K, 256M RAM.
	A modified version of Fifo2 (n independent Fifo networks, each with
	3 modules using handleMessage()) could be set up with n=33300, that is,
	~100,000 modules. Process size was 280M, so it couldn't be run (too
	less physical RAM). Both auto-inspectors (.tkenvrc) and displaying the
	object tree view were very slow over a few thousand modules.

2003-01-19  Andras Varga

	* Cygwin fixes; put checkTckTkVersion and setupTkOptions (was generic_-
	bindings) into widgets.tcl

2003-01-16  Andras Varga

	* enhancement: inspectors: made buttons that open inspectors for other
	objects (e.g. encapsulated message in message inspector) look like
	other inspector fields (i.e. label+button).

2003-01-14  Andras Varga

	* enhancement: graphical module inspector: don't bug the user with
	error dialogs if icon for a module is not found; just only display
	the 'unknown' icon.

2003-01-12  Andras Varga

	* enhancement: usability fixes on the inspector type selection dialog

2003-01-11  Andras Varga

	* enhancement: main.tcl: appearance of menus on Unix made more
	contemporary (via option add's)

2003-01-10  Andras Varga

	* enhancement: implemented object tree view on left of main Tkenv
	window

2003-01-06  Andras Varga

	* misc enhancements: display string added to module inspectors
	(editable); inspector toolbar improved; rest of Tcl_SetResult() fixed;
	submodule drawing (interpretation of display strings) made entirely
	consistent with GNED; subtle bug fixed which sometimes caused display
	string updates not take effect.

	* layout handling rules slightly changed: "p=x,y" now ALWAYS means
	"p=x,y,exact", even if the submodule is part of a vector for which
	a "row" or "ring" autolayout is chosen automatically. (Before, "p=x,y"
	meant "p=x,y,row" or "p=x,y,ring" if the submod was in a vector,
	and this caused counterintuitive displacements because a (dx,dy) shift
	coming from the layout was superponed onto the position (x,y)).
	POTENTIAL INCOMPATIBILITY.

2003-01-05  Andras Varga

	* enhancements: New Run and New Network icons added to toolbar, etc.

2002-12-21  Andras Varga

	* all inspector windows: added a "name bar" which displays object
	type, fullpath, with modules the module id, and the object pointer;
	also added color coding so that different inspectors of the same object
	are easier to match visually.

	* File|Create snapshot now offers to open the snapshot file in a viewer
	window.

	* added tooltips to graphical inspectors. I.e. if you position the
	mouse over a module icon, its name, type and id will appear in a
	tooltip.

	* added 'Simulation options' toolbar button; removed Tcl console from
	Options menu; other small UI changes

2002-12-07  Andras Varga

	* File|New network and File|New run dialogs now correctly offer choices
	of all available networks and all available run numbers

	* tkcmd.cc and other files: most direct assignments to interp->result
	changed to Tcl_SetResult(); the ones left are tagged with FIXME comments

2002-12-06  Andras Varga

	* main.tcl: added tooltips for gauges on toolbar

2002-11-24 Andras Varga

	* modinsp.tcl: with "ring" layout, changed order of modules
	from clockwise to the more natural counter-clockwise

	* bugfix: cHead could not be inspected

2002-11-12 Andras Varga

	* ported to Tk8.4 (several 'char *' to 'const char *' changes)

	* renamed several internal methods in tklib.cc for clarity

2002-11-03  Andras Varga

	* tkapp.cc: clear main window when simulation is restarted

2002-10-27  Andras Varga

	* inspect.cc, tkapp.cc,..: inspectorfactory registration moved here
	from sim/

	* reorganized source files (split large .cc and .h files)

	* reorganized the way inspectors are found and created

2002-10-26  Andras Varga

	* outvector inspectors: added basic labeling to axes

	* implemented that inspector windows are restored if you restart
	the simulation, and even if you quit/restart Tkenv. List of open
	inspectors is saved in ./tkenvrc which is automatically loaded
	on startup and written on exit.

	In .tkenvrc, inspectors are identified by object name (obj->fullPath())
	and class name (obj->className()), so make sure to use locally unique
	names for variables you want to inspect.

	Inspector windows usually cannot be opened immediately when .tkenvrc
	is loaded (the corresponding objects don't exist yet), so Tkenv keeps
	a "pending inspectors list" for the inspectors to be opened.
	At each display update, Tkenv tries to find the corresponding objects
	in the network and open inspectors for them. Be aware that this
	object search is relatively expensive operation, so Tkenv performance
	may degrade if there are too many pending inspectors. If the network
	you're running under Tkenv changes often, it's a good idea to
	delete .tkenvrc manually sometimes to clean it from garbage (i.e. from
	obsolete entries).

2002-10-04  Andras Varga

	* error handling changed from simulation.ok() to exceptions.

2002-07-03  Andras Varga

	* modinsp2.tcl (graphmodwin_animate): set upper limit to animation
	steps (100) so that animation of a message sending finishes in
	tolerable time period even on very long connections.

2002-05-27  Ulrich Kaage  <kaage@int.uni-karlsruhe.de>

	* main.tcl (create_omnetpp_window): increased event number status
	bar field width by 3 digits - it was limited in size to 1.000.000
	events.

2002-05-04  ------ omnetpp-2.2 released ------

2002-03-14  Ulrich Kaage  <kaage@int.uni-karlsruhe.de>

	* tkapp.h: define TKENV_EXTRASTACK dependent on the system
	architecture. Currently SUNSPARC is known to need more stack space
	with TCL/TK 8.3

2002-03-08  Ulrich Kaage <kaage@int.uni-karlsruhe.de>

	* structinsp.cc (flush_if_needed): Compile Fix for gcc versions
	2.95.3 (complaints) and 3.0.x (errors): declare buf and s as non
	const function call arguments.

2002-03-08  Andras Varga

	* structinsp.cc (update()): keep buffer size low by periodically
	flushing it to the text widget

2002-03-05  Andras Varga

	* modinsp.cc, modinsp2.tcl: Bugfix: each display string change had
	the unwanted side effect of rearranging randomly placed submodules.
	Basic idea of fix: start Tcl's RNG from the same seed value
	at each redraw, thus we get identical results; seed is stored per
	(and in the) inspector object. 'Rearrange' button changes the seed to
	get a different arrangement.

2002-03-03  Andras Varga

	* tkapp.cc, tkapp.h, tkcmd.cc: adopted to changes in the sim kernel.
	(See include/ChangeLog)

	* windows.tcl: cosmetics on file viewer dialog.

	* main.tcl, menuproc.tcl: refinements on implementation of the
	View|Output vector file, Output scalar file, Snapshot file menu items.

2002-02-29  Andras Varga

	* dialogs.tcl: implemented backwards search/replace

2002-02-24  Andras Varga

	* tkapp.cc: improvement on breakpoint handling.

2002-02-06  Ulrich Kaage  <kaage@int.uni-karlsruhe.de>

	* objinsp.cc (update): fill in class info field with message's
	classname

	* objinsp.tcl (create_messageinspector): add class info

	* structinsp.cc (update): display value and name of enums

2002-01-23  Ulrich Kaage  <kaage@int.uni-karlsruhe.de>

	* objinsp.tcl (create_structpanel): Added vertical scrollbars for
	those who use a lot of message fields.

	* structinsp.cc (update): 4k as buf[] size is not enough
	especially for large messages containing arrays. I have set it to
	5M !!

2001-11-25  Andras Varga

	* implemented "message subclassing": message inspectors have now a
	Fields page which displays fields exposed through the cStructDescriptor
	interface. (If there's no cStructDescriptor for the object, the Fields
	tab is missing.)

	* the default object inspector has been improved; it also displays a
	Fields page if there's a cStructDescriptor for the object.

	* TODO: Fields page will have to be refined (now it's a simple
	multi-line text widget).

	* widget.tcl: label texts created with label-sunkenlabel are now
	justfied left

2001-09-14  Andras Varga

	* updated to cModule's new display string methods

2001-09-11  Andras Varga

	* improved plugin handling: reads plugins from OMNETPP_PLUGIN_PATH
	which can be a list of directories (not just a single directory name).
	OMNETPP_PLUGIN_PATH is currently set to ./plugins (hardcoded).
	DLL file names that are looked for now correctly depend on the
	platform (*.dll on windows, .so* on *nix).

2001-09-01 Andras Varga

	* CONST_CAST() replaced by const_cast<>()

2001-07-23  Ulrich Kaage  <kaage@int.uni-karlsruhe.de>

	* tkcmd.cc (simulationOk_cmd): use macro CONST_CAST (defined at top of
	file) to avoid compilation errors with gcc-2.95.3
	(isRunning_cmd): CONST_CAST like above

2001-07-11 Andras Varga

	* tkapp.cc: Eric Wu's Tru64/MPI port. Added a few const_cast<>s because
	broken Tru64 compiler gave const errors with tcl.h.

2001-03-27  Andras Varga

	* ------ omnetpp-2.1 released ------

	* Makefile.vc change: replaced $(TKENV_EMBED_SUFFIX) with $(TKENV_EMBED_TCL).

2001-03-10  Andras Varga

	* bugfix: setDisplayString() crashed Tkenv after the network
	graphics window was closed [reported by Stefan Geisler]

	* Borland C++ support removed: I deleted the project files
	(*.ide). I added equivalent Makefile.bc files (generated from the
	BC IDE), but they are completely unsupported at the moment. If
	there's interest, it's possible that later I'll add makefiles for
	the free command-line bc5.5 compiler.

2001-02-06  Andras Varga

	* ------ omnetpp-2.0p1 released ------

	* ------ omnetpp-2.0 released ------

	* make clean didn't delete tclcode.cc

2001-01-21  Andras Varga

	* "find" and "find next" functionality improved and now it works
	for all module output windows. Hotkeys: Ctrl-F Find, F3 or Ctrl-N
	Find next.

	* added hotkeys for step, run, etc commands: F4 Step, F5 Run, F6
	Fast Run, F7 Express Run, F8 Stop, Ctrl-F4 Step within module

2001-01-16  Andras Varga

	* fix: added Tcl_FindExecutable(argv[0]) to Tcl initialization
	code (needed by Cygwin 1.1)

2001-01-15  Andras Varga

	* new feature: debug output window (for ev<< messages) can now be
	opened for compound modules too: it accumulates messages from all
	submodules.
	[suggested by Ulrich Kaage]

	* single-stepping within a module is now possible for compound
	modules too

	* revised single-stepping within a module: now execution stops
	both *before* and *after* events in that module, and events in
	that module are done with "normal execution" (animation, etc),
	while intervening events are done with "fast execution" (rare
	inspector updates, animation disabled)

2001-01-13  Andras Varga

	* added performance status bar (simsec/sec, events/sec, events/simsec gauges)

2001-01-03  Andras Varga

	* added 2nd status bar (containing: number of messages in the FES,
	total number of messages created, number of currently existing
	message objects)

2000-09-29  Andras Varga

	* fixed a bug which caused Tkenv NOT to report an error when the
	'p' display string tag's 3rd arg (layout) was invalid

	* the 'p' display string tag's 3rd arg (layout) can now be
	abbreviated: r=row, c=col=column, m=matrix, i=ri=ring

	* added new layout to 'p' tag: exact (abbreviation: e or x); this
	lets one position modules in a module vector one by one

	* submodule display strings may use the parent module's parameters
	too

2000-08-07  Andras Varga

	* makefile changes for RPM support

2000-07-26  Andras Varga

	* fixed a bug which caused Tcl error when using ev<< or
	ev.printf() with a string than contained curly braces [reported by
	Nick van Foreest]

	* added Edit|Find... to main menu.

2000-07-17 Andras Varga

	* fixed bug in splitInspectorName()  [reported by Ulrich Kaage]

2000-06-02  Andras Varga

	* ------ omnetpp-2.0b5 released ------

	* minor fix in tkcmd.cc [reported by Richard Lyon]

2000-05-21  Andras Varga

	* ------ omnetpp-2.0b4 released ------

	* bugfix: 'Options|Load inspector list' now works again (you must
	re-generate your existing inspect.lst files)

2000-05-10  Andras Varga

	* [Tkenv]/extra-stack= option added, it specifies (in bytes) how
	much extra stack each activity() module needs when executing under
	Tkenv. This used to be hardcoded (16384), now users can fine-tune
	it. [suggested by Niko]

2000-05-07  Andras Varga

	* Makefile.vc improvements [from Balazs Kelemen]

	* tk_PatchLevel check corrected (complained about Tk 8.0.5)
	[reported by Ulrich Kaage]

2000-05-05  Andras Varga

	* implemented module parameter substitution in display strings
	(like "p=$x_pos,$y_pos"). Substitution still not supported in
	connection display strings.

	* setDisplayString() now takes effect during simulation
	execution. Tkenv also handles the new 'immediate' argument to
	setDisplayString().  Annoyance: setDisplayString() also does a
	'Rearrange randomly placed submodules'. This is not so trivial to
	change (module positions will need to be explicitly stored)...

2000-04-13  Andras Varga

	* code for Express Run (runSimulationNoTracing()) modified so that
	it prints module output (ev<<...) for the finish() functions
	[suggested by Niko]

2000-04-10  Andras Varga

	* TRUE/FALSE (defines) replaced by true/false (C++ keywords)

	* in printf() statements, all "%lf","%lg","%le" was replaced by
	"%f","%g","%e" (eliminated a lot of gcc -Wall warnings)

2000-04-10  Andras Varga (4-10)

	* dynamic registration of user interface (TOmnetApp) classes
	introduced: Register_OmnetApp() macro added to tkapp.cc

	* changes to enable linking a Windows DLL from the library

	* adjustments because of TOmnetApp constructor changes

	* added tkenvDummy()/envirDummy(): functions which can/should be
	called from Envir in order to force the linker to include the
	Tkenv library into the executable. (These functions do absolutely
	nothing.)

2000-03-26  Andras Varga

	* 'char *' pointers made const-correct (lots of 'char *' -->
	'const char *' replacements throughout the code)

2000-01-17  Andras Varga (17-18)

	* ------ omnetpp-2.0b3 released ------

	* bugfix in OmnetTkApp::objectDeleted() (tkapp.cc)

	* edited error msgs in tkapp.cc

	* font settins updated for Tk8.2/Win in main.tcl

	* in dialogs.tcl, added back the grab for the STOP dialog of
	Express Run mode. (Those lines got commented out long ago for some
	reason...) Under win32, the app menu is still accessible despite
	the grab (Tk bug?).

2000-01-15  Andras Varga

	* OmnetTkApp::setup() reorganized

2000-01-09  Andras Varga

	* small modification to TOmnetTkApp's constructor

1999-12-05  Andras Varga

	* Makefile.vc added

	* prints a banner line into main window before calling finish() on
	modules TBD: should print it into per-module windows too

1999-12-04  Andras Varga

	* compiled with MSVC. Minor changes: changed int to bool in some
	places.  tkenv.dsp added. NOTE: one has to rename all .cc files to
	.cpp for compiling (ren *.cc *.cpp)!

1999-10-12  Andras Varga

	* bugfix in balloon.tcl

1999-09-05  Andras Varga

	* ------ omnetpp-2.0b2 released ------

	* main window renamed from ".omnetpp" to "."; now modal dialogs
	cannot go behind the main window (including the big red "STOP!"
	dialog).

1999-08-30  Andras Varga

	* bugfix on the toolbar of graphical gate inspector

1999-08-13  Andras Varga

	* default width of connection arrows changed from 2 to 1 pixels to
	be consistent with GNED

1999-08-07 Andras Varga

	* "inspect network", "inspect FES" buttons added to main toolbar

1999-08-02  Andras Varga

	* OMNETPP_BITMAP_PATH turned into real path (a list of
	directories). The separator char is ";" on Windows, and ":" or ";"
	on Unix.

1999-07-17  Andras Varga

	* modinsp2.tcl: fixed bug in animdelay calibration

	* fixed a bug with inspector type selection in Inspect|By pattern
	matching..

1999-07-11  Andras Varga

	* icons.tcl added; textual toolbar icons replaced with graphics icons

	* note: because the name of each inspector window is unique, the
	help_tips() array grows monotonously as one opens new and new
	inspector windows. The array is NOT cleaned up after closing an
	insp.  window. In everyday use this small memory leak cannot be a
	problem.

	* TO DO: spaces to be added between icons

	* widgets.tcl edited --> copy it to other subdirs
1999-07-10  Andras Varga

	* arrow.cc updated from GNED (enhancement: default value of
	anchors are now 50%)

	* widgets.tcl updated from GNED

	* modinsp2.tcl: removed potential sources of division by zero

	* fixed a problem in printptr() [tklib.cc] which caused a crash on
	Sun

	* now demands at least Tcl/Tk 8.0 patchlevel 1

1999-06-21  Andras Varga

	* all sources checked in under CVS

	* makefile.in modified for use with GNU Autoconf; also renamed to Makefile.in

	* version.log renamed to ChangeLog

	* tcl2c.c moved to util/
1999-02-07  Andras Varga

	* stable version

1999-02-07  Andras Varga

	* fixed bug in outvector-window (caused div by zero)

	* cMessage and cPacket inspector redesigned

	* fixed minor bug with anim speed settings

1999-01-25  Andras Varga

	* inspector factories added

	* updated for sim172b

	* plugin support: automatically loads .tcl and .so files placed in the
	tkenv/plugins directory. Intended use: inspectors for custom classes.

1998-12-27  Andras Varga

	* updated for sim170

	* cPacket inspector added

	* setType() moved to tklib.h/.cc for easy reuse

	* makefile renamed to makefile.in

	* stack usage statistics added to simple module inspector

	*  runningModule() corrected to contextModule()

1998-08-23  Andras Varga

	* small fixes; widgets.tcl updated

1998-08-17  Andras Varga

	* dialog centering and focus problems fixed (or alleviated) on Windows

	* icon loading improved

1998-08-14  Andras Varga

	* bugfixes

1998-08-13  Andras Varga

	* support for compiled-in TCL code added.  See the makefile for
	more info and to turn it on/off.  Here's how it works: tcl2c.c
	generates tclcode.cc from the .tcl files.  tclcode.cc is in turn
	included into tkapp.cc. tkapp.cc includes tclcode.cc and uses
	compiled-in TCL code if OMNETPP_TKENV_DIR is undefined at
	compile-time.

1998-08-12  Andras Varga

	* Borland C++ 5.0 project file added (tkenv.ide)

	* fixes necessary to run Tkenv on Windows

1998-07-24  Andras Varga

	* arrow.cc changed; display string for connections changed (see Manual)

	* small fixes

1998-07-15  Andras Varga

	* small fixes

	* small improvements on gate inspector

1998-07-11  Andras Varga

	* small improvements on gate inspector

1998-07-10  Andras Varga

	* module inspectors rewritten in notebook-style

	* graphical gate inspector (path inspector) added (cannot do animation yet)

	* [Tkenv]/default-run= option added

	* cWatch inspector added

	* Simulation|Restart changed to Rebuild (restart cannot be done properly)

	* several smaller improvements

1998-07-03  Andras Varga

	* added right click support

	* outvector time-range autoconfig

	* browsing can go on while simulation is executing

	* run until event number

	* animation speed ([Tkenv]/animation-speed=0..3)

1998-07-01  Andras Varga

	* Simulate|finish simulation run and |start all modules added

1998-06-26  Andras Varga

	* bugfixes; cMessage and cGate inspector improved

1998-06-25  Andras Varga

	* callFinish() incorporated

	* msg insp fixed

	* othes fixes

1998-06-17  Andras Varga

	* message names and message kind coloring during animation

	* new ini file options:
	    [Tkenv]/animation-msgnames= 0/1
	    animation-msgcolors= 0/1

1998-06-11  Andras Varga

	* made compatible with sim162 (gate vector stuff)

	* small fix on output vector window tcl code

1998-06-09  Andras Varga

	* made compatible with sim162

	* removed 'container' inspector type from many classes

1998-06-05  Andras Varga

	* two small but annoying bugs fixed

	* made compatible with sim160

1998-05-18  Andras Varga

	* made compatible with sim160

1998-05-12  Andras Varga

	* makefile updated; timer calibration for animation; icon support;
	small fixes

1998-04-28  Andras Varga

	* scrollbars added to graphical module inspector

	* name field added to message inspector

	* misc improvements and bugfixes

1998-04-24  Andras Varga

	* makefile can now create shared object (libtkenv.so)

	* stuff from TOmnetTkApp's constructor move to its setup() function

1998-04-24  Andras Varga

	NEW FEATURE: graphical module inspectors and animation
	  Modules are now displayed graphically. Submodules can be drawn as
	  color rectangles, ovals or icons. (Icons are stored in the new bitmaps/
	  directory.)
	  Placement, arrangement and appearance of submodules is controlled by
	  the modules' display strings, associated with the setDisplayString(),
	  displayString() members of cModule and cGate. If you use the new
	  'display:' phrases of the NED language, the corresponding
	  setDisplayString() calls will be automatically placed into the
	  nedc-compiled code. Read doc/dispstr.txt on how to write display strings.
	  Modules that don't have display strings are placed automatically.
	  Animation of message flow has also been added.
	New ini file options:
	  [Tkenv]/animation-enabled= 0/1
	Some of the Tcl code cleaned up.
	Changes:

	  * TKENV_LIBPATH environment variable renamed to OMNETPP_TKENV_DIR.

	  * A new environment variable OMNETPP_BITMAP_DIR added.

	Requires sim156.
	TO DO:

	  * implement reference to module parameters in display strings

	  * graphical cGate inspector, showing whole path

	  * graphical cQueue inspector

1998-04-15  Andras Varga (15-24)

	* work versions, not released

1998-03-26  Andras Varga

	* "Inspect As" button only offers really existing inspector types as choice

	* container inspectors redesigned to make it more intuitive to use

1998-03-19  Andras Varga

	* user interface beautifying, updating for Tk8.0

1998-02-15  Andras Varga

	* makefile changed; tkenv.a-->libtkenv.a

1997-12-13  Andras Varga

	* upgraded to sim151

	* use file dialogs of Tk4.2 - requires Tcl7.6/Tk4.2 from now on

	* some Tk beautifying (correct wrong packing parameters etc)

1997-10-06  Andras Varga

	* further renaming; compatible with sim148

1997-10-02  Andras Varga

	* cleaned up & renamed several member functions; compatible with sim147

1997-08-17  Andras Varga

	* updated for sim146a
	       cMsgHeap inspector added
	       extrastack() stuff added

	Still To Do:

	   - "step over initialization messages"

	   - cGate graphical inspector: should show the route

	   - filtered message window

	   - restart must be done decently: destroy+rebuild

	   - implement breakpoints

	   - cCompoundMod graphical inspector

	   - outvector graphical inspector: add possibility to set base time

	   - implement "run until event #243"

	   - objects should know what inspector types can be created for
	   them.  This can be done in the inspector(int type, void *data)
	   function: if type==QUERY_TYPES then it should put list of
	   possible types to memory pointed to by `data' ptr.

1997-08-07  Andras Varga

	* cNetSimpleMod corrected to cNetMod

	* compatibility: sim144a or up

1997-07-10  Andras Varga

	* makefile hacked to make it work with Cygnus gcc

	* 'darkblue' changed to 'blue' because Tk on Win95 didn't recognize it

	* default value of TKENV_LIBPATH changed and different for WinNT and Unices

	* known bugs on Win95/NT: some scrollbars are missing (??)

1997-07-06  Andras Varga

	* small fixes and improvements on #43

1997-07-01  Andras Varga

	* bug fixes and improvements on #42

	* gate inspector changed; "AsObject" and "AsGraph" icons added to
	many inspectors

1997-07-01  Andras Varga

	* small fixes on #41

1997-07-01  Andras Varga

	* ini file entries renamed:
	  verbose-simulation --> print-banners
	  module-messages --> use-mainwindow

	* some inspectors modified to use toolbars

1997-07-01  Andras Varga

	* some bugs in #39 fixed

	* now prints event banners in module windows

	* "Inspect differently" button changed to "Inspect As.." on
	inspector toolbar

	* added single stepping within a module

1997-06-27  Andras Varga

	* idea that modal dialogs should stay on top isn't good: what if
	there are two modal windows??

	* cMsg, cPar inspector enhanced

	* View|Snapshot file etc. won't open window if file doesn't exist

1997-06-27  Andras Varga

	* 'Run until' dialog done; still to do: run until #(event number)

1997-06-27  Andras Varga

	* Express run added, Fast Run, Animate changed (compatibity: envir92 or up)

	* the following ini file options were added (with default values):
	  animation-delay = 100
	  update-freq-fast = 10
	  update-freq-express = 1000
	  breakpoints-enabled = TRUE
	  verbose-simulation = TRUE
	  module-messages = TRUE

1997-06-27  Andras Varga

	* hardwired font definitions collected to create_font_bindings
	(main.tcl) and thus they are a lot easier to customise

1997-06-26  Andras Varga

	* improved on cMsg inspector

1997-06-26  Andras Varga

	* 'simulation options' dialog, opp_getsimoption/setsimoption commands completed

	* prints event banners in main window (if turned on)

1997-06-25  Andras Varga

	* added 'event number' and 'next module' displays to status bar

	* added opt_verbose_sim and opt_module_msgs options

	* using main window like cmdenv output

	* NOT COMPLETE:
	      'simulation options' dialog
	      opp_getsimoption/setsimoption commands
	      printing of event banners

1997-06-25  Andras Varga

	* menu building code in main.tcl reorganized, making it easier to
	rearrange menus

	* menus reorganized

	* 'inspect differently' bar changed to ordinary button

	* simple toolbar added

1997-06-23  Andras Varga

	* commented out XSynchronize(...) and Tk_SetWindowBackground(...)
	lines from tklib.cc which caused problems on Win95/NT

	* added TKENV_LIBPATH environment var to specify the location of
	Tkenv script files if they are not in ~/omnetpp/envir/tkenv

	* added View menu

	* make histogram and output vector windows respond to resize events

1997-04-22  Andras Varga

	Bugfixes:

	   - THistogramWindow: missing cell #0 bug fixed

	   - TOutvectInspector: unmatched drawing and labelling bug fixed

	   - cSimpleMod's container inspector bug fixed
	   opp_inspectorcommand implemented. This means that any inspector
	   can be implemented in the future without touching existing
	   Tkenv code!  New ToDo's:

	   - print event number, time in sec, next module info into main window

1997-04-17  Andras Varga

	* bugs with inspector creation were fixed

	* new TO DO list:

	   - check FDDI bug!!!

	   - filtered message window

	   - 'Express Run' option

	   - restart must be done decently

	   - options dialog (breakpoints enabled/disabled etc)

	   - implement breakpoints

	   - cCompundMod graphical inspector

	   - add [Tkenv]/tkenv-lib-path= option to ini file
	        (or) possibility to hardwire scripts into lib

1997-04-17  Andras Varga

	* CHK() macro added to every Tcl_Eval(), Tcl_VarEval(), Tcl_EvalFile()

1997-04-17  Andras Varga

	* Histogram, outvector windows are finished

	* cSimpleMod inspector done

	* to do: brush up TCompoundModInspector & TContainerInspector
	check FDDI bug!!!

1997-04-12  Andras Varga

	* opp_histogramwindow_cell, opp_outvectorinspector_value,
	opp_outvectorinspector_config commands implemented. Not compiled
	yet.  The script part is to be done.

1997-04-11  Andras Varga

	* cMsg inspector writeBack written; "From"/"To" buttons still missing

	* cPar inspector added

	* cMod inspector added; not implemented yet

1997-04-10  Andras Varga

	* cStatistic inspector added

1997-04-10  Andras Varga

	* cMsg inspector quasi finished

1997-04-10  Andras Varga

	* omnetpp.tcl split to 5 smaller scripts

1997-04-10  Andras Varga

	* 'Save inspector list' done

1997-04-09  Andras Varga

	The first usable, reasonably bug-free version.
	To complete:

	   - implement 'Save inspector list'

	   - finish cMsg inspector

	   - histogram/outvector inspector: draw axes, labelling etc.

	To do in the future:

	   - options dialog (breakpoints enabled/disabled etc)

	   - filtered message window

	   - restart must be done decently

	   - implement concrete inspectors

	   - fast run