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