Project

General

Profile

Statistics
| Branch: | Revision:

root / src / tkenv / ChangeLog @ 3e29b8a0

History | View | Annotate | Download (64.1 KB)

1 01873262 Georg Kunz
2010-06-11  ------ omnetpp-4.1 released ------
2
3
2010-06-11  Andras Varga
4
5
	* Tkenv: copy error messages into the main window (makes it easier to
6
	copy/paste it into an email)
7
8
	* Do not automatically zoom in network graphics
9
10
2010-05-31  ------ omnetpp-4.1rc2 released ------
11
12
2010-05-26 Andras Varga
13
14
	* Tkenv: fix: during layouting, allow no UI interaction in first
15
	three seconds. Reason: During Run or Fast mode, grab behaves strangely:
16
	it may cause window focus to wander around; loses UI events so toolbar
17
	buttons stay in their pushed or raised state, one cannot interact with
18
	toolbar buttons such as Refresh Layout, and so on. We minimize these
19
	problems by only activating grab if layouting lasts more than 3 seconds
20
	(not typical during running the simulation.)
21
22
2010-05-25 Andras Varga
23
24
	* Fix: "wm iconphoto" does not exist on Mac OS X 10.5, and does not work
25
	on 10.6.
26
27
2010-05-15 Andras Varga
28
29
	* Added application icon to Tkenv. To make it easier to tell windows
30
	apart in the task bar, the main window has a different icon.
31
32
	* Fix: inspector window positions were stored incorrectly (should have
33
	used "wm geom" instead of "winfo geom"); also, now we also save the
34
	window state (normal, zoomed, iconic, etc.) as well, to be able to
35
	handle zoomed (=maximized) windows better.
36
37
	* Feature: implemented minimum icon size, resize window on layout and
38
	auto-adjust zoom options. New controls in the Simulation Options
39
	dialog:
40
	- "[] Resize window to fit network with current zoom level first"
41
	- "[] Adjust zoom so that network fills window"
42
	- "Minimum icon size when zoomed out (pixels)"
43
44
	* Added hotkeys for zoom in/out: Ctrl+N and Ctrl+M. Ctrl+N was already
45
	used by "Toggle module name", it was reassigned to Ctrl+D.
46
47
	* Fix: Simulation Options dialog came up behind the current window
48
	when opened via canvas context menu.
49
50
	* Steps of zoom made smaller (1.1x)
51
52
2010-05-12 Rudolf Hornig
53
54
	* Implemented bilinear filtering for image resize.
55
56
2010-05-03 Andras Varga
57
58
	* Simulation Options dialog: made a separate "Layouting" page and
59
	other minor refinements
60
61
	* Simulation Options dialog: layouting algorithm can now be chosen
62
	from Fast, Advanced and Adaptive (default: Adaptive)
63
64
	* fixed first half of bug #56: when running a simulation that creates
65
	and deletes modules dynamically, hovering the mouse over a just
66
	deleted module will crash as Tkenv tries to create tooltip for dead
67
	object; mouse event is processed from layouting callback.
68
	Fix: activate grab during incremental layouting as well.
69
70
	* fixed secord half of bug #56: crash during idle(), when running
71
	a simulation that creates and deletes modules dynamically, using
72
	cRuntimeScheduler that calls idle(), running in Fast mode, and
73
	hovering the mouse over a just deleted module. Fix: refresh inspectors
74
	just before idle() processes UI updates; also, to prevent excessive
75
	inspector refresh, process UI events if at least one second has passed
76
	since the last check.
77
78
	* fix: crash when closing inspector window during layouting
79
80
2010-05-01 Andras Varga
81
82
	* fix: bubble positioning was wrong if zoom or scaling ("bgs" display
83
	string tag) was active
84
85
2010-04-30 Andras Varga
86
87
	* fix: parameter references ($par,${par}) were not accepted in many
88
	display string tags (bgb,bgs,bgg,..); also added related test case
89
	in test/anim/displaystring
90
91
	* fix: background image clipping was wrong in certain cases, causing
92
	Tk's image copy routine to receive a 0,0 as size and go into an
93
	infinite loop
94
95
2010-04-25 Andras Varga
96
97
	* tkenv.cc: fixed bug #107, crash due to reuse of va_list w/o va_copy()
98
99
2010-04-20  ------ omnetpp-4.1b4 released ------
100
101
2010-04-12  Rudolf Hornig, Andras Varga
102
103
	* feature: added an option to disable printing of banner messages
104
	about module/channel initializations; see "Print initialization
105
	banners" checkbox in the Options dialog.
106
107
2010-04-02  Levente Meszaros
108
109
	* feature: toggle eventlog recording interactively (menu item, toolbar
110
	button); it will then override the "intervals" setting from omnetpp.ini
111
112
	* usability: New Network function removed from toolbar, as it was
113
	confusing; still available via the File menu
114
115
2010-03-14  ------ omnetpp-4.1b3 released ------
116
117
2010-01-28  Andras Varga
118
119
	* improvement: module or channel parameter references may now occur
120
	as substrings in the middle of display string tags, for example:
121
	    @display("t=my address is $address!").
122
	Before, they were only accepted if a whole display string tag was a
123
	single parameter reference.
124
125
	* improvement: parameter references in display strings may now be
126
	delimited with braces as well (${par}), if needed to separate it
127
	from subsequent text. For example:
128
	    @display("t=bw:${datarate}bps");
129
130
2009-09-15 Rudolf Hornig
131
132
	* fixed: New automatic anchor placement algorithm. Connection layouting
133
	is much better now for elongated modules (where width>>height or height>>width)
134
135
	* New feature: INOUT connections do not have arrows.
136
137
	* New feature: Clicking on the graphical inspector or on the timeline
138
	brings up the inspectors for ALL the modules, connections and messages
139
	under the mouse. Previously only the topmost object was offered.
140
141
	* New feature: An option was added to enable/disable whether connections
142
	attached to a gate vector, connecting the same two modules should be
143
	drawn parallel to each other (old behaviour) or just as a single
144
	connection line (new default)
145
146
2009-09-01  Andras Varga
147
148
	* fix: images with file names containing upper-case characters were
149
	not loaded by Tkenv
150
151
2009-03-12  ------ omnetpp-4.0 released ------
152
153
2009-03-08  Andras Varga
154
155
	* fixed #52: exclude display update time when doing time-based updates
156
	in Express and Fast modes
157
158
2009-02-27  ------ omnetpp-4.0rc2 released ------
159
160
2009-01-05  Rudolf Hornig
161
162
        * fixed: display string for messages made consistent with module display
163
        strings: "o" tag removed, use b=width,height,shape,color,borderwidth instead.
164
165
        * New feature: A special color name "kind" can be used in message
166
	display strings (both in "i" and "b" tags)
167
168
2008-12-14  Andras Varga
169
170
	* fixed bug #34: in Fast mode, bubble didn't get displayed for
171
	recently created modules
172
173
2008-12-12  ------ omnetpp-4.0rc1 released ------
174
175
2008-12-09  Andras Varga
176
177
	* UI updates during Fast and Express Run changed from event-based
178
	(i.e. "every x events") to time-based ("every x milliseconds").
179
	Time only checked every 16 and 256 events though, respectively,
180
	to save CPU cycles.
181
182
2008-12-06  Andras Varga
183
184
	* fixed #16: reimplemented filtering. Now I store the log messages
185
	in the memory myself, and on closing the filter dialog I re-fill
186
	the text widget with manually filtered contents. This fixes strange
187
	scrolling behavior (bug #17) as well. New files: logbuffer.cc/h
188
189
	* New feature: when you open a per-module output window, it comes up
190
	containing previous messages (and not empty as it used to). This
191
	feature was made possible by storing the log.
192
193
2008-11-27  Andras Varga
194
195
	* implemented font selection (Options dialog)
196
197
	* settings are now saved to $HOME/.tkenvrc, only inspectors are saved
198
	to .tkenvrc in the current directory. (Motivation: font selection is
199
	tyically meant to be global by the user, not per-simulation)
200
201
2008-11-26  Andras Varga
202
203
	* library renamed to opptkenv
204
205
2008-11-26  Andras Varga
206
207
	* Fix: opening the "General" treenode in a cGate inspector caused a
208
	Tcl error [reported by Ingmar Baumgart]
209
210
2008-10-18  Andras Varga
211
212
	* implemented module output window filtering: modules can be selected
213
	using a checkbox tree dialog. Bound to Ctrl+H.
214
215
	* implemented "Run until message", both in the Run Until dialog and
216
	in message objects' context menu
217
218
	* event banner text revised, plus now includes message name and class
219
	as well; added "Short event banners" checkbox to options dialog
220
221
	* fixed popup menu behaviour on linux (use tk_popup instead of post)
222
223
2008-05-17  Andras Varga
224
225
	* better toolbar icons
226
	* implemented show/hide arrowheads
227
	* implemented increase/decrease icon size
228
	* expanded context menu in graphical module inspectors
229
	* added corresponding keyboards shortcuts
230
231
2008-04-19  Andras Varga
232
233
	* layouting process can now be stopped if it takes too long
234
235
2008-03-29  Andras Varga
236
237
	* Implemented context menu for text windows. Includes Word wrap on/off,
238
	and Select all (Ctrl+A) features
239
240
2008-03-21  Andras Varga
241
242
	Fixed a number of issues with the Aqua-based Tcl/Tk on Mac OS/X:
243
	- tooltips got focus. solution: magic code from http://wiki.tcl.tk/3060
244
	- focus problem in dialogs (no initial focus when dialog came up)
245
	  solution: introduced proc setinitialdialogfocus
246
        - some "(help)" links in dialogs didn't work due to focus problems
247
          solution: introduced proc waitforfocus
248
	- button 2 and 3 are reversed (compared to X11 and Windows)
249
	  solution: use variables $B2 and $B3
250
251
2008-02-23  Andras Varga
252
253
	Summary of changes for omnetpp-4.0 (2006..2008):
254
255
	* inifile syntax change: [Tkenv] config entries became tkenv-...;
256
	however, see below:
257
258
	* inifile entries for options that also appear in the Simulation
259
	Options dialog have been REMOVED: tkenv-slowexec-delay=,
260
	tkenv-update-freq-fast=, tkenv-animation-enabled=, etc., because
261
	they took no effect anyway (when a .tkenvrc file was present,
262
	settings were taken from that instead of omnetpp.ini).
263
264
	* default configuration and default run number (they cause the
265
	network to be set up automatically when Tkenv starts up)
266
	can be specified with -c and -r command-line options or the
267
	tkenv-default-config= and tkenv-default-run= ini file options.
268
269
	* OMNETPP_BITMAP_PATH environment variable is now called
270
	OMNETPP_IMAGE_PATH
271
272
	* likewise, the [Tkenv]/bitmap-path= inifile option is now
273
	called tkenv-image-path=.
274
275
	* implemented zooming
276
277
	* implemented "hide module names" feature
278
279
	* display string improvements:
280
	 - multiple "r" and "t" tags supported per submodule (as "r1", "r2" etc);
281
	 - added "bgt" tag: bgt=<x>,<y>,<text>,<color>; multiple tags supported ("bgt1","bgt2",etc)
282
	 - added support for new display string tags: bgi, bgg, bgs, bgg,... ; made consistent with NED editor
283
284
	* NOTE: icon names (png/gif file names) MUST BE lowercase
285
286
	* added support for reading PNG images as icons, using TkPNG 0.7
287
	(https://sourceforge.net/projects/tkpng/). Checking in a copy of
288
	the TkPNG sources was felt more practical than adding TkPNG as an
289
	external dependency.
290
291
	* from now on, you need to specify "-u _tkenv_lib" (gcc) or
292
	"/include:_tkenv_lib" (vc++) in addition to -ltkenv (or tkenv.lib)
293
	on the linker command line. But: now you can have a program with both
294
	Cmdenv and Tkenv in it.
295
296
	* out-of-directory build, and other Makefile changes
297
298
	* SEE CHANGES FOR ENVIR TOO. (Envir is the common part of Cmdenv and
299
	Tkenv).
300
301
2006-11-19  ------ omnetpp-3.4b2 released ------
302
303
2006-11-14  Andras Varga
304
305
	* implemented filtering for the timeline
306
307
	* implemented scrollback buffer limiting (default is 100,000 lines)
308
309
2006-11-12  Andras Varga
310
311
	* fix: existing inspector windows didn't come to the front and didn't get
312
	the focus. This was observed on Kubuntu with kwin 3.0, but maybe
313
	affected other platforms as well.
314
315
2006-11-06  Andras Varga
316
317
	* enhancement: all non-graphical inspectors replaced with consistent
318
	treeview-based inspectors
319
320
	* enhancement: broadcast animation feature, which is thought to
321
	significantly improve the animation of wireless simulations (MF!), and
322
	generally simulations where broadcast sends occur (e.g. Ethernet).
323
	When the feature is turned on, then if multiple send() or sendDirect()
324
	calls occur within a handleMessage(), they are animated	concurrently.
325
	This also means that send/sendDirect calls are NOT animated at the
326
	place of the call as previously, but together at the end of processing
327
	the event (that is, after handleMessage() has already returned).
328
	This is done because Tkenv first has to collect all message sendings
329
	within the event in order to be able to animate them. This out-of-
330
	sequence animation processing may cause occasional surprise. The
331
	broadcast animation feature can be turned off in the Simulation Options
332
	dialog.
333
334
	* internal refactoring (opp_object_nullpointer renamed to opp_null;
335
	split animate.tcl and timeline.tcl from modinsp2.tcl, etc)
336
337
	* Simulation Options dialog to use tabs (it was too crowded already)
338
339
2006-10-21  ------ omnetpp-3.3 released ------
340
341
2006-10-19  Andras Varga
342
343
	* modinsp2.tcl: connection arrows with zero thickness ("o=,0") are
344
	not drawn.
345
346
	* "Save window contents" toolbar icon added to text windows
347
348
2006-10-14  Andras Varga
349
350
	* several smaller improvements: added object icons to listboxes;
351
	in the "Find/inspect" dialog one can specify the module in which
352
	to search; "copy to clipboard" icon added to the main toolbar and
353
	module log windows, etc
354
355
2006-04-13  Andras Varga
356
357
	* tkutil.cc: fixed a bug in setObjectListResult() [crash reported by
358
	Rodolfo Ribeiro Gomes and others]
359
360
2006-03-19  Andras Varga
361
362
	* tkapp.cc: use simulation.guessNextSimtime() to display the time of
363
	the [probable] next event
364
365
2006-01-12  ------ omnetpp-3.2p1 released ------
366
367
2005-10-19  ------ omnetpp-3.2 released ------
368
369
2005-09-27  Andras Varga
370
371
	* tkapp.cc: bugfix: should call endRun() instead of simulation.endRun()
372
	[reported by Johann Glaser]
373
374
2005-08-09  Andras Varga
375
376
	* dialogs.tcl: Find/Inspect Objects dialog became nonmodal.
377
378
2005-08-04  Andras Varga
379
380
	* added "Run until next local event" to modules' context menu
381
382
2005-07-26  Andras Varga
383
384
	* tkapp.cc/h: added support for OPP_PLUGIN_PATH environment variable,
385
	and [Tkenv]/plugin-path=dir1:dir2:... omnetpp.ini entry.
386
387
2005-07-25  Andras Varga
388
389
	* statinsp.cc: cOutVector callback method signature change: added
390
	simtime_t to record_in_insp() arg list.
391
392
2005-07-24  Andras Varga
393
394
	* tkapp.cc: flush output vector file and output scalar file after
395
	every event while single-stepping (F4) or when the user stops
396
	a running simulation (F8). This makes it possible examine a vec
397
	file with Plove without exiting the simulation program [suggested by
398
	Michael Tuexen]
399
400
2005-07-23  Andras Varga
401
402
	* WATCH implementation changed
403
404
	* cGate inspector: channel attributes (delay, error and datarate)
405
	can now be changed from the GUI. [suggested by Michael Tuexen]
406
407
2005-07-21  Andras Varga
408
409
	* inspector.tcl: added support for custom items on the context
410
	menu (e.g. right-click on a router, "Inspect Routing Table..."
411
	Usage: via extendContextMenu proc. [idea: Wei Yang Ng]
412
413
2005-07-20  Andras Varga
414
415
	* inspector.tcl, structinsp.cc: in message inspector Fields and
416
	Control Info pages, indented 2nd, 3rd etc lines of very long entries,
417
	to make it more legible (Tk text tag -lmargin2 option)
418
419
2005-06-24  Andras Varga
420
421
	* modinsp2.tcl: fix: r= display string tag worked incorrectly: circle
422
	was displayed with radius = r/2 instead of r
423
424
2005-05-01  Andras Varga
425
426
	* cMessage inspector now displays message size in bytes as well
427
428
2005-04-21  Andras Varga
429
430
	* added implementation of timeline
431
432
2005-03-31  ------ omnetpp-3.1 released ------
433
434
2005-03-22  Andras Varga
435
436
	* tkapp.cc/h: handling of -h option moved into TOmnetApp base class.
437
438
2005-03-19  Andras Varga
439
440
	* gate inspector dialog revised (connection display string made
441
	editable)
442
443
	* modinsp2.tcl, inspector.tcl: implemented new display string
444
	tag:
445
	    tt=<tooltip-string>
446
	It can be used in module, submodule, connection and msg display
447
	strings, and will cause the given string to appear in a tooltip.
448
449
	* modinsp2.tcl: implemented the "t=<string>,<color>" display
450
	string tag for connections.
451
452
	* improvement: queue length display in module graphics now has
453
	tooltip
454
455
	* fix: circle (drawn with "r=" display string tag) was sometimes
456
	incorrectly positioned
457
458
2005-03-17  Andras Varga
459
460
	* tkapp.cc: added calls to new scheduler->executionResumed()
461
462
2005-03-07  Andras Varga
463
464
	* tkapp.cc: added support for -r <run-number> command-line option,
465
	which has the same effect as (but takes priority over) [Tkenv]/
466
	default-run ini file entry.
467
468
2005-03-03  Andras Varga
469
470
	* structinsp.cc: fix: Tkenv crashed if control info object didn't have
471
	cStructDescriptor registered [reported by Kurtis Kredo II]
472
473
2005-03-02  Andras Varga
474
475
	* tkapp.h/cc: makeOptionsEffective() merged into readPerRunOptions()
476
477
2005-02-07  Andras Varga
478
479
	* enhancement: in omnetpp.ini, description="some text" entries can be
480
	added under the [Run 1], [Run 2] etc sections. These descriptions will
481
	appear in the Tkenv run selection dialog.
482
483
2005-02-06  Andras Varga
484
485
	* gateinsp.tcl, modinsp.cc: fixed cGate inspector error introduced
486
	in 3.0
487
488
2005-01-17  Andras Varga
489
490
	* combobox.tcl updated to version 2.3 which also works on Mac OS/X
491
	[suggested by Michael Tuexen]
492
493
2005-01-10  Andras Varga
494
495
	* tkapp.cc, tkcmd.cc: factored out platform dependencies to
496
	include/platdep
497
498
2004-12-29  ------ omnetpp-3.0 released ------
499
500
2004-12-15  Andras Varga
501
502
	* extra-stack= option replaced with extra-stack-kb. Default raised to
503
	48K (37K stack usage was observed on SUSE 9.1)
504
505
2004-12-10  Andras Varga
506
507
	* default background color changed from #c0c0c0 to #d0d0d0
508
509
2004-11-29  Andras Varga
510
511
  	* tkapp.cc: on Mac OS/X, implement ftime() with gettimeofday() [patch
512
  	from Michael Tuexen]
513
514
  	* tkutil.cc: hide gatev and paramv in "Contents" page of a simple
515
  	module inspector
516
517
2004-11-25  Andras Varga
518
519
	* several files: displayStringAsParent() renamed to backgroundDisplay-
520
	String(); cSimpleChannel renamed to cBasicChannel
521
522
2004-11-23  ------ omnetpp-3.0b1 released ------
523
524
2004-11-18  Andras Varga
525
526
	* menuproc.tc: added exit confirmation question "Do you want to call
527
	finish() before exiting? Yes No Cancel"
528
529
2004-11-03  ------ omnetpp-3.0a9 released ------
530
531
2004-11-01  Andras Varga
532
533
	* main.tcl, modinsp2.tcl: created display string tag for icon size:
534
	"is=" (can be "vl", "l", "n", "s", "vs" for very large, large, normal,
535
	small, very small). Similarly, tag "is2=" sets size of auxiliary icon
536
	("i2=" tag). The underscore notation ("i=penguin_s") also still exists.
537
538
2004-10-27  Andras Varga
539
540
	* tkapp.cc: fix: readPerRunOptions() was not protected by try/catch
541
542
2004-10-25  Andras Varga
543
544
	* tkapp.cc, tkcmd.cc, etc: updated for info() and fullPath()
545
	signature changes (see include/ChangeLog)
546
547
2004-10-20  Andras Varga
548
549
	* main.tcl, modinsp2.tcl: preparations for new icons, categorized into
550
	several subdirs under bitmaps/. Current icons will be moved to
551
	into the bitmaps/old subdirectory.
552
553
	Tkenv now loads icons from subdirectories of dirs in OMNETPP_BITMAP-
554
	_PATH as well, and they can be referenced from display strings like
555
	"subdir/icon", "subdir/subsubdir/icon" , etc. If an icon "icon" in
556
	a display string is not found, it is tried as "old/icon" as well.
557
558
2004-10-18  Andras Varga
559
560
	* usability improvement: allowed user interactions during message
561
	animation (speed can be changed, STOP button can be clicked, inspector
562
	can be closed, etc). In Tcl-speak: changed "update idletasks" to
563
	"update" within animation code (graphmodwin_do_animate, etc).
564
565
	* tkinsp2.tcl: animation changed to use [clock clicks]-based timing
566
567
2004-10-15  Andras Varga
568
569
	* modinsp2.tcl, tkcmd.cc: fixed display strings: didn't handle "," and
570
	"=" in args to "t=" properly
571
572
	* tkapp.cc: improved "Fast Run until next local event" function: now
573
	it always animates events occurring in the local module
574
575
2004-10-15  Andras Varga
576
577
	* window.tcl: fix: "View file" option didn't like some file names
578
579
2004-10-10  Andras Varga
580
581
	* inspector.cc, tkutil.cc/h: fix: label always displayed "0 objects"
582
	above inspector listboxes; refactoring
583
584
2004-10-10  Andras Varga
585
586
	* main.tcl: changed default "Run until" run mode to Express (was Normal)
587
588
2004-10-04  ------ omnetpp-3.0a8 released ------
589
590
2004-09-27  Andras Varga
591
592
        * inspector.cc: display class name too on "inspect" buttons
593
        (e.g. "encapsulated message" button in cMessage inspector)
594
595
2004-09-26  Andras Varga
596
597
        * modinsp2.tcl: graphical module windows: adjust window size to fit
598
        size of graphics
599
600
2004-09-24  ------ omnetpp-3.0a7 released ------
601
602
2004-09-08  Andras Varga
603
604
        * widgets.tcl: updated Tcl/Tk version check
605
606
2004-08-16  Andras Varga
607
608
        * tkutil.cc: worked around compilation error in WinSCard.h when
609
        compiling with MSVC .NET
610
611
2004-08-14  Andras Varga
612
613
        * tkapp.cc: new omnetpp.ini entry: [Tkenv]/bitmap-path=. Value should
614
        be quoted; directories should be separated by ";". The contents of the
615
        OMNETPP_BITMAP_PATH environment var (or if that's not set, the
616
        compilation-time bitmap path) gets concatenated to this one.
617
        Beware: if you don't quote the value, only the first dir will be
618
        used and the rest ignored, because ";" denotes comments omnetpp.ini!
619
620
2004-08-12  Andras Varga
621
622
        * modinsp2.tcl: "t=" tag: center text by default
623
624
2004-07-22  ------ omnetpp-3.0a6 released ------
625
626
2004-07-17  Andras Varga
627
628
        * tkapp.cc: enable output (set disable_tracing=false) before calling
629
        finish()
630
631
2004-07-06  Andras Varga
632
633
        * tkapp.cc: fixed Speedometer usage
634
635
2004-06-21   Andras Varga
636
637
        * visitor.cc/h: converted pattern matching to use new cPatternMatcher.
638
639
2004-06-07  ------ omnetpp-3.0a5 released ------
640
641
2004-05-15  ------ omnetpp-3.0a4 released ------
642
643
2004-03-22  ------ omnetpp-3.0a3 released ------
644
645
2004-04-20  Andras Varga
646
647
        * added "Control Info" page into cMessage inspector.
648
649
2004-03-18  Andras Varga
650
651
        * structinsp.cc: display getFieldsAsString() also for structs (that is,
652
        its operator<< is used to display a one-line brief of the struct)
653
654
2004-03-03  ------ omnetpp-3.0a2 released ------
655
656
2004-03-03  Andras Varga
657
658
        * modinsp2.tcl, etc: implemented option to display className() of
659
        animated messages. New omnetpp.ini option:
660
          [Tkenv]/animation-msgclassnames=true/false (default is true)
661
662
2004-03-01  Andras Varga
663
664
        * inspector.tcl/cc, etc: all inspector windows got an "Inspect owner"
665
        toolbar button; on module inspectors this works as "Inspect parent
666
        module".
667
668
        * fix: Filtered Object List dialog ignored scheduled events list
669
670
        * fix: cPacket inspector "Fields" page was always empty
671
672
2004-02-23  Andras Varga
673
674
        * tkapp.cc/h: added moduleReparented() cEnvir method
675
676
2004-02-18  Andras Varga
677
678
        * tkapp.cc/h, menuproc.tcl: on-the-fly switching from one runmode to
679
        another (run,normal,express)
680
681
        * menuproc.tcl,dialogs.tcl: added [x] Confirm exit checkbox to
682
        Simulation options dialog
683
684
        * dialogs.tcl: express mode "STOP" dialog refined
685
686
        * dialogs.tcl: Find dialog improved
687
688
2004-02-11  Andras Varga
689
690
        * tkapp.cc: propagated semantic change in getNextEvent()'s and
691
        selectNextModule()'s return value (see include/ChangeLog)
692
693
2004-02-07  Andras Varga
694
695
        * cstructinsp.cc: fix: prepare for missing descriptor object
696
        [bug reported by Kurtis Kredo]
697
698
2004-02-04  ------ omnetpp-3.0pre1 released ------
699
700
2004-01-20  Andras Varga
701
702
        * added Edit|Copy to menu
703
704
2004-01-17  Andras Varga
705
706
        * modinsp2.tcl: added two experimental submodule display string tags:
707
        - "i2=" tag (with similar syntax to "i=") displays a small "modifier"
708
        icon on top of the original one. Suggested icons are x_check, x_down,
709
        x_up, x_exclamation, x_question, etc.
710
        - "t=" tag displays a status string. t=<text>,<pos>,<color>.
711
        <pos> is "l", "r" or "t" for left, right and top.
712
713
2004-01-09  Andras Varga
714
715
        * modinsp.cc/h/tcl,tkapp.cc/h: implemented bubble() -- submodules
716
        can display a bubble with a short message like "Queue full!".
717
        Added [Tkenv]/show-bubbles=true/false omnetpp.ini entry.
718
        TBD bubble() drawing could be a bit faster (too much Tcl code)
719
720
        * added anim speed slider in main dialog and graphical module inspector
721
722
2004-01-06  Andras Varga
723
724
        * tkapp.h: added isGUI() (returns true)
725
726
2004-01-01  Andras Varga
727
        * tkapp.cc/h: handle new cEnvir notifications: moduleCreated(),
728
        moduleDeleted(), connectionCreated(), connectionRemoved(),
729
        displayStringChanged(cGate*), displayStringChanged(cModule*),
730
        displayStringAsParentChanged()
731
732
2003-12-30  Andras Varga
733
734
        * new omnetpp.ini entries:
735
        [Tkenv]/methodcalls-delay: sets delay after method call animation
736
        [Tkenv]/show-layouting: show layouting process of network graphics
737
738
2003-12-21  Andras Varga
739
740
        * graphlayout.cc/h, modinsp.cc: implemented automatic layouting, using
741
        the SpringEmbedder algorithm. Modules which have no explicit positions
742
        assigned (first two args of the "p=" tag are missing) will be
743
        autolayouted. Predefined row, matrix, ring, etc arrangements (defined
744
        via 3rd and further args of the "p=" tag) will be moved as one unit
745
        (the full row/matrix/ring will be moved to an optimal place.)
746
        - One tricky thing: if the full graph is too big after layouting,
747
        it is scaled back so that it fits on the screen, UNLESS IT CONTAINS
748
        ANY FIXED-POSITION MODULE. (For obvious reasons: if there's a module
749
        with manually specified position, we don't want to move that one).
750
        - Size is ignored by the present layouter, so longish modules (such as
751
        an Ethernet segment) may produce funny results.
752
        - Parameters to the layouter algoritm (repulsive/attractive forces,
753
        number of iterations,random number seed) can be specified in the "l="
754
        tag to the parent module, but this is experimental and may change.
755
        Currently parameters (with their default values):
756
        "l=<repulsion=10>,<attraction=0.3>,<edgelen=40>,<maxiter=200>,<seed>"
757
        - Tip: to present rescaling, specify a bounding box for the parent
758
        module module that is large enough, e.g. "b=2000,3000"
759
760
2003-12-18  Andras Varga
761
762
        * modinsp2.tcl: enhanced "i=" (icon) display string tag -- icon can
763
        be colorized now. Syntax: i=<icon>,<target-color>,<percentage>.
764
        Target-color can be any accepted color specification: English name
765
        (blue,lightgray,wheat), RGB (#ff0000) or HSB (@40ff80; hue-saturation-
766
        brightness), and percentage is the degree of colorization, 20% being
767
        the default. Percentage has no effect if the target color is missing.
768
        Brightness of icon is also affected -- to keep original brightness,
769
        specify a color with about 50% brightness (e.g. #808080 mid-grey,
770
        #008000 mid-green). Examples: "i=server1,gold" creates
771
        a gold server icon; "i=earth2,#808080,100" makes icon grayscale;
772
        "i=queue,white,100" gives "over-exposed" b&w icon. Colorization
773
        works with both submodule and message icons.
774
775
        * tkcmd.cc: added opp_colorizeimage command
776
777
2003-12-11  Andras Varga
778
779
        * all files: follow changes in sim/; C-style casts replaced with
780
        static_cast<>
781
782
2003-12-06  Andras Varga
783
784
        * inspectors are no longer cObjects
785
786
        * "putaside queue" tab removed from simple module inspector (putaside-
787
        queue is being removed, see doc/API-changes.txt)
788
789
        * filtered object dialog enhanced (categories, etc)
790
791
2003-11-29  Andras Varga
792
793
        * insplist.tcl: added <pluginname>:inspectorUpdate Tkenv plugin
794
        callback
795
796
        * widgets.tcl: added BLT support
797
798
        * inspector listboxes changed to multicolumn listboxes from BLT
799
800
        * .cc/.h files: some refactoring and cleanup; lots of obsolete code
801
        removed
802
803
2003-11-13  Andras Varga
804
805
        * statinsp.cc: added typecast for MSVC 7.0 compiler [reported by Bob
806
        Scheffler]
807
808
2003-11-13  Andras Varga
809
810
        * Checked in parallel simulation code that was developed March-May 2003,
811
        during my stay at Monash University. Changes:
812
813
        2003-04-09  Andras Varga
814
        * tkapp.cc: use new cSimulation method guessNextEvent() for updating
815
        "Next module" display.
816
817
2003-11-09  Andras Varga
818
819
        * added toolbar icon and menu item for dynamically loading NED files.
820
        (Only works if sim.kernel was compiled with the feature enabled,
821
        see sim/ChangeLog entry from the same date.)
822
823
2003-11-07  Andras Varga
824
825
        * started working on a Tkenv plugin API. It's still in embryonal state.
826
        Plugins are any .tcl file found in directories of the plugin path
827
        (OMNETPP_PLUGIN_PATH env.var, "./plugins" be default), and they are
828
        loaded automatically when Tkenv starts. They may define Tcl procs,
829
        create windows, widgets, meu items, etc.
830
           The plugin may invoke the registerPlugin <pluginname> Tcl function,
831
        which arranges certain plugin functions to be called on different
832
        Tkenv events. As of now, the only such function is
833
        <pluginname>:newNetwork, called after a network got set up.
834
           As of now, plugins authors need to look at the Tkenv code to see
835
        what they can do and how they can do it from within a plugin. This is
836
        not very good since it makes plugins dependent on Tkenv internals.
837
        Some time in the future a well-defined Tkenv API will have to be
838
        created. Also, the plugin mechanism will probably be changed to
839
        make use of the namespace and package mechanisms of Tcl.
840
           An example plugin can be found in test/tkenv/plugin.
841
842
        * tkcmd.cc: implemented opp_modulebypath, opp_getmodulepar,
843
        opp_setmodulepar commands (needed by Tkenv plugins)
844
845
2003-10-19  Andras Varga
846
847
        * slight change in submodule display strings: if both "b=" (box) and
848
        "i=" (icon) occurs in the display string, *both* are displayed
849
        (the icon on top of the box; prevoiusly, the icon took precedence).
850
        This facilitates visualizing the state of a module: state can be coded
851
        in the color (or size) of the underlying box or oval (or frame/circle,
852
        because transparency is also supported, see below)
853
854
        * enhancement in display strings: special color "-" means transparent;
855
        @hhssbb (with h,s,b as hex digits) stands for a color given with
856
        (hue,saturation,brightness) values -- this makes it easier to scale
857
        colors e.g. from white to bright red
858
859
        * tkcmd.cc: added opp_hsb_to_rgb command
860
861
2003-10-18  Andras Varga
862
863
        * tkcmd.cc: added Tcl commands for working with the nedxml library
864
865
2003-10-06  Andras Varga
866
867
        * modinsp2.tcl, modinsp.h/cc: new feature: queue size can be displayed
868
        next to submodule icon. Add "q=<queue-name>" to the display string,
869
        where queue-name is the name of the cQueue object, e.g. "q=sendQueue".
870
871
        * tkenvrc now saves all options. Entries in the [Tkenv] section of
872
        omnetpp.ini will be obsoleted -- anyway they only take effect if
873
        there's no .tkenvrc!
874
875
2003-10-02  Andras Varga
876
877
        * tkapp.cc/h, modinsp.cc/h, modinsp2.tcl: new features:
878
        (1) animation of method calls across modules (for that to work,
879
            module methods need the Enter_Method() macro to be added manually),
880
            and
881
        (2) displaying the location of the next event by putting a red frame
882
            around the module icon.
883
        Both features can be disabled from the Simulation Options dialog,
884
        see checkboxes "Show next event markers" and "Animate method calls".
885
        New ini file options in the [Tkenv] section:
886
          next-event-markers = true/false, default is true
887
          anim-methodcalls = true/false, default is true
888
889
2003-09-25  Andras Varga
890
891
        * modinsp2.tcl: added support for "r" submodule display string tag.
892
        It draws a circle (or a disc) around the submodule with the given
893
        radius, and it can be used to visualize transmission range of
894
        wireless nodes. Syntax: "r=<radius>,<fillcolor>,<color>,<width>",
895
        the default is unfilled black circle with radius=100.
896
897
        * modinsp2.tcl: implemented message display strings. You can redefine
898
        the displayString() method of cMessage, and make it return a display
899
        string. Supported tags are: "b","i" and "o" tags which work just as
900
        with submodules, with two exceptions:
901
        - if color name is "kind", a message kind dependent colors is used
902
          (like default behaviour)
903
        - defaults are different: small red ball with size of 10 points
904
        Try "i=penguin" or "b=15,15,rect;o=white,kind,5"
905
906
2003-09-22  Andras Varga
907
908
        * tkapp.cc, modinsp.cc, modinsp2.tcl: implemented animation of
909
        sendDirect().
910
911
2003-09-01  Andras Varga
912
913
        * tkapp.cc: default values for update-freq-fast and update-freq-express
914
        changed to 50 and 10000
915
916
2003-07-24  Andras Varga
917
918
        * implemented Inspect|Find/Inspect objects dialog, a filtered-ordered
919
        dialog of all objects.
920
921
2003-07-22  Andras Varga
922
923
        * structinsp.cc/h: "Fields" tab in message inspector now recursively
924
        displays embedded structs (so far it only displayed "{...}")
925
926
2003-06-16  ------ omnetpp-2.3 released ------
927
928
2003-05-26  Andras Varga
929
930
        * cOutVector inspector: added "autoscale" checkbox to Options dialog
931
932
2003-04-17  Andras Varga
933
934
        * objinsp.tcl: fixed bug which prevented cPackets (or objects
935
        subclassed from it) from being inspected (Tcl error)
936
937
2003-03-15  ------ omnetpp-2.3b2 released ------
938
939
2003-03-13  Andras Varga
940
941
        * modinsp2.tcl: fixed occasional "conn_id: no such variable" error
942
943
2003-02-15  ------ omnetpp-2.3b1 released ------
944
945
2003-02-05  Andras Varga
946
947
        * modinsp2.tcl: bugfix
948
949
2003-01-29  Andras Varga
950
951
        * added "Finish" to main toolbar
952
953
        * known bug: if one sets up the Token Ring sample with 120 nodes
954
        (other numbers work as well), displayed ring will be broken at places.
955
956
2003-01-23  Andras Varga
957
958
        * "Step" button in module inspectors replaced with 3 buttons ("Run
959
        until next local event", "Fast run until next local event", "Stop")
960
961
        * Graphical module inspector: if there're too many submodules, drawing
962
        may take very long, so the user is prompted if he/she really wants
963
        see the graphics. Limit is currently 1000 submodules.
964
        The object tree view is also usable until ~1000 objects displayed in
965
        the tree.
966
967
        * Note: ad-hoc load tests: with Dyna, a 8000-client network could be set
968
        up and run (~12500 modules, including ServerProcs) on Win2K, 256M RAM.
969
        A modified version of Fifo2 (n independent Fifo networks, each with
970
        3 modules using handleMessage()) could be set up with n=33300, that is,
971
        ~100,000 modules. Process size was 280M, so it couldn't be run (too
972
        less physical RAM). Both auto-inspectors (.tkenvrc) and displaying the
973
        object tree view were very slow over a few thousand modules.
974
975
2003-01-19  Andras Varga
976
977
        * Cygwin fixes; put checkTckTkVersion and setupTkOptions (was generic_-
978
        bindings) into widgets.tcl
979
980
2003-01-16  Andras Varga
981
982
        * enhancement: inspectors: made buttons that open inspectors for other
983
        objects (e.g. encapsulated message in message inspector) look like
984
        other inspector fields (i.e. label+button).
985
986
2003-01-14  Andras Varga
987
988
        * enhancement: graphical module inspector: don't bug the user with
989
        error dialogs if icon for a module is not found; just only display
990
        the 'unknown' icon.
991
992
2003-01-12  Andras Varga
993
994
        * enhancement: usability fixes on the inspector type selection dialog
995
996
2003-01-11  Andras Varga
997
998
        * enhancement: main.tcl: appearance of menus on Unix made more
999
        contemporary (via option add's)
1000
1001
2003-01-10  Andras Varga
1002
1003
        * enhancement: implemented object tree view on left of main Tkenv
1004
        window
1005
1006
2003-01-06  Andras Varga
1007
1008
        * misc enhancements: display string added to module inspectors
1009
        (editable); inspector toolbar improved; rest of Tcl_SetResult() fixed;
1010
        submodule drawing (interpretation of display strings) made entirely
1011
        consistent with GNED; subtle bug fixed which sometimes caused display
1012
        string updates not take effect.
1013
1014
        * layout handling rules slightly changed: "p=x,y" now ALWAYS means
1015
        "p=x,y,exact", even if the submodule is part of a vector for which
1016
        a "row" or "ring" autolayout is chosen automatically. (Before, "p=x,y"
1017
        meant "p=x,y,row" or "p=x,y,ring" if the submod was in a vector,
1018
        and this caused counterintuitive displacements because a (dx,dy) shift
1019
        coming from the layout was superponed onto the position (x,y)).
1020
        POTENTIAL INCOMPATIBILITY.
1021
1022
2003-01-05  Andras Varga
1023
1024
        * enhancements: New Run and New Network icons added to toolbar, etc.
1025
1026
2002-12-21  Andras Varga
1027
1028
        * all inspector windows: added a "name bar" which displays object
1029
        type, fullpath, with modules the module id, and the object pointer;
1030
        also added color coding so that different inspectors of the same object
1031
        are easier to match visually.
1032
1033
        * File|Create snapshot now offers to open the snapshot file in a viewer
1034
        window.
1035
1036
        * added tooltips to graphical inspectors. I.e. if you position the
1037
        mouse over a module icon, its name, type and id will appear in a
1038
        tooltip.
1039
1040
        * added 'Simulation options' toolbar button; removed Tcl console from
1041
        Options menu; other small UI changes
1042
1043
2002-12-07  Andras Varga
1044
1045
        * File|New network and File|New run dialogs now correctly offer choices
1046
        of all available networks and all available run numbers
1047
1048
        * tkcmd.cc and other files: most direct assignments to interp->result
1049
        changed to Tcl_SetResult(); the ones left are tagged with FIXME comments
1050
1051
2002-12-06  Andras Varga
1052
1053
        * main.tcl: added tooltips for gauges on toolbar
1054
1055
2002-11-24 Andras Varga
1056
1057
        * modinsp.tcl: with "ring" layout, changed order of modules
1058
        from clockwise to the more natural counter-clockwise
1059
1060
        * bugfix: cHead could not be inspected
1061
1062
2002-11-12 Andras Varga
1063
1064
        * ported to Tk8.4 (several 'char *' to 'const char *' changes)
1065
1066
        * renamed several internal methods in tklib.cc for clarity
1067
1068
2002-11-03  Andras Varga
1069
1070
        * tkapp.cc: clear main window when simulation is restarted
1071
1072
2002-10-27  Andras Varga
1073
1074
        * inspect.cc, tkapp.cc,..: inspectorfactory registration moved here
1075
        from sim/
1076
1077
        * reorganized source files (split large .cc and .h files)
1078
1079
        * reorganized the way inspectors are found and created
1080
1081
2002-10-26  Andras Varga
1082
1083
        * outvector inspectors: added basic labeling to axes
1084
1085
        * implemented that inspector windows are restored if you restart
1086
        the simulation, and even if you quit/restart Tkenv. List of open
1087
        inspectors is saved in ./tkenvrc which is automatically loaded
1088
        on startup and written on exit.
1089
1090
        In .tkenvrc, inspectors are identified by object name (obj->fullPath())
1091
        and class name (obj->className()), so make sure to use locally unique
1092
        names for variables you want to inspect.
1093
1094
        Inspector windows usually cannot be opened immediately when .tkenvrc
1095
        is loaded (the corresponding objects don't exist yet), so Tkenv keeps
1096
        a "pending inspectors list" for the inspectors to be opened.
1097
        At each display update, Tkenv tries to find the corresponding objects
1098
        in the network and open inspectors for them. Be aware that this
1099
        object search is relatively expensive operation, so Tkenv performance
1100
        may degrade if there are too many pending inspectors. If the network
1101
        you're running under Tkenv changes often, it's a good idea to
1102
        delete .tkenvrc manually sometimes to clean it from garbage (i.e. from
1103
        obsolete entries).
1104
1105
2002-10-04  Andras Varga
1106
1107
        * error handling changed from simulation.ok() to exceptions.
1108
1109
2002-07-03  Andras Varga
1110
1111
        * modinsp2.tcl (graphmodwin_animate): set upper limit to animation
1112
        steps (100) so that animation of a message sending finishes in
1113
        tolerable time period even on very long connections.
1114
1115
2002-05-27  Ulrich Kaage  <kaage@int.uni-karlsruhe.de>
1116
1117
        * main.tcl (create_omnetpp_window): increased event number status
1118
        bar field width by 3 digits - it was limited in size to 1.000.000
1119
        events.
1120
1121
2002-05-04  ------ omnetpp-2.2 released ------
1122
1123
2002-03-14  Ulrich Kaage  <kaage@int.uni-karlsruhe.de>
1124
1125
        * tkapp.h: define TKENV_EXTRASTACK dependent on the system
1126
        architecture. Currently SUNSPARC is known to need more stack space
1127
        with TCL/TK 8.3
1128
1129
2002-03-08  Ulrich Kaage <kaage@int.uni-karlsruhe.de>
1130
1131
        * structinsp.cc (flush_if_needed): Compile Fix for gcc versions
1132
        2.95.3 (complaints) and 3.0.x (errors): declare buf and s as non
1133
        const function call arguments.
1134
1135
2002-03-08  Andras Varga
1136
1137
        * structinsp.cc (update()): keep buffer size low by periodically
1138
        flushing it to the text widget
1139
1140
2002-03-05  Andras Varga
1141
1142
        * modinsp.cc, modinsp2.tcl: Bugfix: each display string change had
1143
        the unwanted side effect of rearranging randomly placed submodules.
1144
        Basic idea of fix: start Tcl's RNG from the same seed value
1145
        at each redraw, thus we get identical results; seed is stored per
1146
        (and in the) inspector object. 'Rearrange' button changes the seed to
1147
        get a different arrangement.
1148
1149
2002-03-03  Andras Varga
1150
1151
        * tkapp.cc, tkapp.h, tkcmd.cc: adopted to changes in the sim kernel.
1152
        (See include/ChangeLog)
1153
1154
        * windows.tcl: cosmetics on file viewer dialog.
1155
1156
        * main.tcl, menuproc.tcl: refinements on implementation of the
1157
        View|Output vector file, Output scalar file, Snapshot file menu items.
1158
1159
2002-02-29  Andras Varga
1160
1161
        * dialogs.tcl: implemented backwards search/replace
1162
1163
2002-02-24  Andras Varga
1164
1165
        * tkapp.cc: improvement on breakpoint handling.
1166
1167
2002-02-06  Ulrich Kaage  <kaage@int.uni-karlsruhe.de>
1168
1169
        * objinsp.cc (update): fill in class info field with message's
1170
        classname
1171
1172
        * objinsp.tcl (create_messageinspector): add class info
1173
1174
        * structinsp.cc (update): display value and name of enums
1175
1176
2002-01-23  Ulrich Kaage  <kaage@int.uni-karlsruhe.de>
1177
1178
        * objinsp.tcl (create_structpanel): Added vertical scrollbars for
1179
        those who use a lot of message fields.
1180
1181
        * structinsp.cc (update): 4k as buf[] size is not enough
1182
        especially for large messages containing arrays. I have set it to
1183
        5M !!
1184
1185
2001-11-25  Andras Varga
1186
1187
        * implemented "message subclassing": message inspectors have now a
1188
        Fields page which displays fields exposed through the cStructDescriptor
1189
        interface. (If there's no cStructDescriptor for the object, the Fields
1190
        tab is missing.)
1191
1192
        * the default object inspector has been improved; it also displays a
1193
        Fields page if there's a cStructDescriptor for the object.
1194
1195
        * TODO: Fields page will have to be refined (now it's a simple
1196
        multi-line text widget).
1197
1198
        * widget.tcl: label texts created with label-sunkenlabel are now
1199
        justfied left
1200
1201
2001-09-14  Andras Varga
1202
1203
        * updated to cModule's new display string methods
1204
1205
2001-09-11  Andras Varga
1206
1207
        * improved plugin handling: reads plugins from OMNETPP_PLUGIN_PATH
1208
        which can be a list of directories (not just a single directory name).
1209
        OMNETPP_PLUGIN_PATH is currently set to ./plugins (hardcoded).
1210
        DLL file names that are looked for now correctly depend on the
1211
        platform (*.dll on windows, .so* on *nix).
1212
1213
2001-09-01 Andras Varga
1214
1215
        * CONST_CAST() replaced by const_cast<>()
1216
1217
2001-07-23  Ulrich Kaage  <kaage@int.uni-karlsruhe.de>
1218
1219
        * tkcmd.cc (simulationOk_cmd): use macro CONST_CAST (defined at top of
1220
        file) to avoid compilation errors with gcc-2.95.3
1221
        (isRunning_cmd): CONST_CAST like above
1222
1223
2001-07-11 Andras Varga
1224
1225
        * tkapp.cc: Eric Wu's Tru64/MPI port. Added a few const_cast<>s because
1226
        broken Tru64 compiler gave const errors with tcl.h.
1227
1228
2001-03-27  Andras Varga
1229
1230
        * ------ omnetpp-2.1 released ------
1231
1232
        * Makefile.vc change: replaced $(TKENV_EMBED_SUFFIX) with $(TKENV_EMBED_TCL).
1233
1234
2001-03-10  Andras Varga
1235
1236
        * bugfix: setDisplayString() crashed Tkenv after the network
1237
        graphics window was closed [reported by Stefan Geisler]
1238
1239
        * Borland C++ support removed: I deleted the project files
1240
        (*.ide). I added equivalent Makefile.bc files (generated from the
1241
        BC IDE), but they are completely unsupported at the moment. If
1242
        there's interest, it's possible that later I'll add makefiles for
1243
        the free command-line bc5.5 compiler.
1244
1245
2001-02-06  Andras Varga
1246
1247
        * ------ omnetpp-2.0p1 released ------
1248
1249
        * ------ omnetpp-2.0 released ------
1250
1251
        * make clean didn't delete tclcode.cc
1252
1253
2001-01-21  Andras Varga
1254
1255
        * "find" and "find next" functionality improved and now it works
1256
        for all module output windows. Hotkeys: Ctrl-F Find, F3 or Ctrl-N
1257
        Find next.
1258
1259
        * added hotkeys for step, run, etc commands: F4 Step, F5 Run, F6
1260
        Fast Run, F7 Express Run, F8 Stop, Ctrl-F4 Step within module
1261
1262
2001-01-16  Andras Varga
1263
1264
        * fix: added Tcl_FindExecutable(argv[0]) to Tcl initialization
1265
        code (needed by Cygwin 1.1)
1266
1267
2001-01-15  Andras Varga
1268
1269
        * new feature: debug output window (for ev<< messages) can now be
1270
        opened for compound modules too: it accumulates messages from all
1271
        submodules.
1272
        [suggested by Ulrich Kaage]
1273
1274
        * single-stepping within a module is now possible for compound
1275
        modules too
1276
1277
        * revised single-stepping within a module: now execution stops
1278
        both *before* and *after* events in that module, and events in
1279
        that module are done with "normal execution" (animation, etc),
1280
        while intervening events are done with "fast execution" (rare
1281
        inspector updates, animation disabled)
1282
1283
2001-01-13  Andras Varga
1284
1285
        * added performance status bar (simsec/sec, events/sec, events/simsec gauges)
1286
1287
2001-01-03  Andras Varga
1288
1289
        * added 2nd status bar (containing: number of messages in the FES,
1290
        total number of messages created, number of currently existing
1291
        message objects)
1292
1293
2000-09-29  Andras Varga
1294
1295
        * fixed a bug which caused Tkenv NOT to report an error when the
1296
        'p' display string tag's 3rd arg (layout) was invalid
1297
1298
        * the 'p' display string tag's 3rd arg (layout) can now be
1299
        abbreviated: r=row, c=col=column, m=matrix, i=ri=ring
1300
1301
        * added new layout to 'p' tag: exact (abbreviation: e or x); this
1302
        lets one position modules in a module vector one by one
1303
1304
        * submodule display strings may use the parent module's parameters
1305
        too
1306
1307
2000-08-07  Andras Varga
1308
1309
        * makefile changes for RPM support
1310
1311
2000-07-26  Andras Varga
1312
1313
        * fixed a bug which caused Tcl error when using ev<< or
1314
        ev.printf() with a string than contained curly braces [reported by
1315
        Nick van Foreest]
1316
1317
        * added Edit|Find... to main menu.
1318
1319
2000-07-17 Andras Varga
1320
1321
        * fixed bug in splitInspectorName()  [reported by Ulrich Kaage]
1322
1323
2000-06-02  Andras Varga
1324
1325
        * ------ omnetpp-2.0b5 released ------
1326
1327
        * minor fix in tkcmd.cc [reported by Richard Lyon]
1328
1329
2000-05-21  Andras Varga
1330
1331
        * ------ omnetpp-2.0b4 released ------
1332
1333
        * bugfix: 'Options|Load inspector list' now works again (you must
1334
        re-generate your existing inspect.lst files)
1335
1336
2000-05-10  Andras Varga
1337
1338
        * [Tkenv]/extra-stack= option added, it specifies (in bytes) how
1339
        much extra stack each activity() module needs when executing under
1340
        Tkenv. This used to be hardcoded (16384), now users can fine-tune
1341
        it. [suggested by Niko]
1342
1343
2000-05-07  Andras Varga
1344
1345
        * Makefile.vc improvements [from Balazs Kelemen]
1346
1347
        * tk_PatchLevel check corrected (complained about Tk 8.0.5)
1348
        [reported by Ulrich Kaage]
1349
1350
2000-05-05  Andras Varga
1351
1352
        * implemented module parameter substitution in display strings
1353
        (like "p=$x_pos,$y_pos"). Substitution still not supported in
1354
        connection display strings.
1355
1356
        * setDisplayString() now takes effect during simulation
1357
        execution. Tkenv also handles the new 'immediate' argument to
1358
        setDisplayString().  Annoyance: setDisplayString() also does a
1359
        'Rearrange randomly placed submodules'. This is not so trivial to
1360
        change (module positions will need to be explicitly stored)...
1361
1362
2000-04-13  Andras Varga
1363
1364
        * code for Express Run (runSimulationNoTracing()) modified so that
1365
        it prints module output (ev<<...) for the finish() functions
1366
        [suggested by Niko]
1367
1368
2000-04-10  Andras Varga
1369
1370
        * TRUE/FALSE (defines) replaced by true/false (C++ keywords)
1371
1372
        * in printf() statements, all "%lf","%lg","%le" was replaced by
1373
        "%f","%g","%e" (eliminated a lot of gcc -Wall warnings)
1374
1375
2000-04-10  Andras Varga (4-10)
1376
1377
        * dynamic registration of user interface (TOmnetApp) classes
1378
        introduced: Register_OmnetApp() macro added to tkapp.cc
1379
1380
        * changes to enable linking a Windows DLL from the library
1381
1382
        * adjustments because of TOmnetApp constructor changes
1383
1384
        * added tkenvDummy()/envirDummy(): functions which can/should be
1385
        called from Envir in order to force the linker to include the
1386
        Tkenv library into the executable. (These functions do absolutely
1387
        nothing.)
1388
1389
2000-03-26  Andras Varga
1390
1391
        * 'char *' pointers made const-correct (lots of 'char *' -->
1392
        'const char *' replacements throughout the code)
1393
1394
2000-01-17  Andras Varga (17-18)
1395
1396
        * ------ omnetpp-2.0b3 released ------
1397
1398
        * bugfix in OmnetTkApp::objectDeleted() (tkapp.cc)
1399
1400
        * edited error msgs in tkapp.cc
1401
1402
        * font settins updated for Tk8.2/Win in main.tcl
1403
1404
        * in dialogs.tcl, added back the grab for the STOP dialog of
1405
        Express Run mode. (Those lines got commented out long ago for some
1406
        reason...) Under win32, the app menu is still accessible despite
1407
        the grab (Tk bug?).
1408
1409
2000-01-15  Andras Varga
1410
1411
        * OmnetTkApp::setup() reorganized
1412
1413
2000-01-09  Andras Varga
1414
1415
        * small modification to TOmnetTkApp's constructor
1416
1417
1999-12-05  Andras Varga
1418
1419
        * Makefile.vc added
1420
1421
        * prints a banner line into main window before calling finish() on
1422
        modules TBD: should print it into per-module windows too
1423
1424
1999-12-04  Andras Varga
1425
1426
        * compiled with MSVC. Minor changes: changed int to bool in some
1427
        places.  tkenv.dsp added. NOTE: one has to rename all .cc files to
1428
        .cpp for compiling (ren *.cc *.cpp)!
1429
1430
1999-10-12  Andras Varga
1431
1432
        * bugfix in balloon.tcl
1433
1434
1999-09-05  Andras Varga
1435
1436
        * ------ omnetpp-2.0b2 released ------
1437
1438
        * main window renamed from ".omnetpp" to "."; now modal dialogs
1439
        cannot go behind the main window (including the big red "STOP!"
1440
        dialog).
1441
1442
1999-08-30  Andras Varga
1443
1444
        * bugfix on the toolbar of graphical gate inspector
1445
1446
1999-08-13  Andras Varga
1447
1448
        * default width of connection arrows changed from 2 to 1 pixels to
1449
        be consistent with GNED
1450
1451
1999-08-07 Andras Varga
1452
1453
        * "inspect network", "inspect FES" buttons added to main toolbar
1454
1455
1999-08-02  Andras Varga
1456
1457
        * OMNETPP_BITMAP_PATH turned into real path (a list of
1458
        directories). The separator char is ";" on Windows, and ":" or ";"
1459
        on Unix.
1460
1461
1999-07-17  Andras Varga
1462
1463
        * modinsp2.tcl: fixed bug in animdelay calibration
1464
1465
        * fixed a bug with inspector type selection in Inspect|By pattern
1466
        matching..
1467
1468
1999-07-11  Andras Varga
1469
1470
        * icons.tcl added; textual toolbar icons replaced with graphics icons
1471
1472
        * note: because the name of each inspector window is unique, the
1473
        help_tips() array grows monotonously as one opens new and new
1474
        inspector windows. The array is NOT cleaned up after closing an
1475
        insp.  window. In everyday use this small memory leak cannot be a
1476
        problem.
1477
1478
        * TO DO: spaces to be added between icons
1479
1480
        * widgets.tcl edited --> copy it to other subdirs
1481
1999-07-10  Andras Varga
1482
1483
        * arrow.cc updated from GNED (enhancement: default value of
1484
        anchors are now 50%)
1485
1486
        * widgets.tcl updated from GNED
1487
1488
        * modinsp2.tcl: removed potential sources of division by zero
1489
1490
        * fixed a problem in printptr() [tklib.cc] which caused a crash on
1491
        Sun
1492
1493
        * now demands at least Tcl/Tk 8.0 patchlevel 1
1494
1495
1999-06-21  Andras Varga
1496
1497
        * all sources checked in under CVS
1498
1499
        * makefile.in modified for use with GNU Autoconf; also renamed to Makefile.in
1500
1501
        * version.log renamed to ChangeLog
1502
1503
        * tcl2c.c moved to util/
1504
1999-02-07  Andras Varga
1505
1506
        * stable version
1507
1508
1999-02-07  Andras Varga
1509
1510
        * fixed bug in outvector-window (caused div by zero)
1511
1512
        * cMessage and cPacket inspector redesigned
1513
1514
        * fixed minor bug with anim speed settings
1515
1516
1999-01-25  Andras Varga
1517
1518
        * inspector factories added
1519
1520
        * updated for sim172b
1521
1522
        * plugin support: automatically loads .tcl and .so files placed in the
1523
        tkenv/plugins directory. Intended use: inspectors for custom classes.
1524
1525
1998-12-27  Andras Varga
1526
1527
        * updated for sim170
1528
1529
        * cPacket inspector added
1530
1531
        * setType() moved to tklib.h/.cc for easy reuse
1532
1533
        * makefile renamed to makefile.in
1534
1535
        * stack usage statistics added to simple module inspector
1536
1537
        *  runningModule() corrected to contextModule()
1538
1539
1540
1998-08-23  Andras Varga
1541
1542
        * small fixes; widgets.tcl updated
1543
1544
1998-08-17  Andras Varga
1545
1546
        * dialog centering and focus problems fixed (or alleviated) on Windows
1547
1548
        * icon loading improved
1549
1550
1998-08-14  Andras Varga
1551
1552
        * bugfixes
1553
1554
1998-08-13  Andras Varga
1555
1556
        * support for compiled-in TCL code added.  See the makefile for
1557
        more info and to turn it on/off.  Here's how it works: tcl2c.c
1558
        generates tclcode.cc from the .tcl files.  tclcode.cc is in turn
1559
        included into tkapp.cc. tkapp.cc includes tclcode.cc and uses
1560
        compiled-in TCL code if OMNETPP_TKENV_DIR is undefined at
1561
        compile-time.
1562
1563
1998-08-12  Andras Varga
1564
1565
        * Borland C++ 5.0 project file added (tkenv.ide)
1566
1567
        * fixes necessary to run Tkenv on Windows
1568
1569
1998-07-24  Andras Varga
1570
1571
        * arrow.cc changed; display string for connections changed (see Manual)
1572
1573
        * small fixes
1574
1575
1998-07-15  Andras Varga
1576
1577
        * small fixes
1578
1579
        * small improvements on gate inspector
1580
1581
1998-07-11  Andras Varga
1582
1583
        * small improvements on gate inspector
1584
1585
1998-07-10  Andras Varga
1586
1587
        * module inspectors rewritten in notebook-style
1588
1589
        * graphical gate inspector (path inspector) added (cannot do animation yet)
1590
1591
        * [Tkenv]/default-run= option added
1592
1593
        * cWatch inspector added
1594
1595
        * Simulation|Restart changed to Rebuild (restart cannot be done properly)
1596
1597
        * several smaller improvements
1598
1599
1998-07-03  Andras Varga
1600
1601
        * added right click support
1602
1603
        * outvector time-range autoconfig
1604
1605
        * browsing can go on while simulation is executing
1606
1607
        * run until event number
1608
1609
        * animation speed ([Tkenv]/animation-speed=0..3)
1610
1611
1998-07-01  Andras Varga
1612
1613
        * Simulate|finish simulation run and |start all modules added
1614
1615
1998-06-26  Andras Varga
1616
1617
        * bugfixes; cMessage and cGate inspector improved
1618
1619
1998-06-25  Andras Varga
1620
1621
        * callFinish() incorporated
1622
1623
        * msg insp fixed
1624
1625
        * othes fixes
1626
1627
1998-06-17  Andras Varga
1628
1629
        * message names and message kind coloring during animation
1630
1631
        * new ini file options:
1632
            [Tkenv]/animation-msgnames= 0/1
1633
            animation-msgcolors= 0/1
1634
1635
1998-06-11  Andras Varga
1636
1637
        * made compatible with sim162 (gate vector stuff)
1638
1639
        * small fix on output vector window tcl code
1640
1641
1998-06-09  Andras Varga
1642
1643
        * made compatible with sim162
1644
1645
        * removed 'container' inspector type from many classes
1646
1647
1998-06-05  Andras Varga
1648
1649
        * two small but annoying bugs fixed
1650
1651
        * made compatible with sim160
1652
1653
1998-05-18  Andras Varga
1654
1655
        * made compatible with sim160
1656
1657
1998-05-12  Andras Varga
1658
1659
        * makefile updated; timer calibration for animation; icon support;
1660
    small fixes
1661
1662
1998-04-28  Andras Varga
1663
1664
        * scrollbars added to graphical module inspector
1665
1666
        * name field added to message inspector
1667
1668
        * misc improvements and bugfixes
1669
1670
1998-04-24  Andras Varga
1671
1672
        * makefile can now create shared object (libtkenv.so)
1673
1674
        * stuff from TOmnetTkApp's constructor move to its setup() function
1675
1676
1998-04-24  Andras Varga
1677
1678
        NEW FEATURE: graphical module inspectors and animation
1679
          Modules are now displayed graphically. Submodules can be drawn as
1680
          color rectangles, ovals or icons. (Icons are stored in the new bitmaps/
1681
          directory.)
1682
          Placement, arrangement and appearance of submodules is controlled by
1683
          the modules' display strings, associated with the setDisplayString(),
1684
          displayString() members of cModule and cGate. If you use the new
1685
          'display:' phrases of the NED language, the corresponding
1686
          setDisplayString() calls will be automatically placed into the
1687
          nedc-compiled code. Read doc/dispstr.txt on how to write display strings.
1688
          Modules that don't have display strings are placed automatically.
1689
          Animation of message flow has also been added.
1690
        New ini file options:
1691
          [Tkenv]/animation-enabled= 0/1
1692
        Some of the Tcl code cleaned up.
1693
        Changes:
1694
1695
          * TKENV_LIBPATH environment variable renamed to OMNETPP_TKENV_DIR.
1696
1697
          * A new environment variable OMNETPP_BITMAP_DIR added.
1698
1699
        Requires sim156.
1700
        TO DO:
1701
1702
          * implement reference to module parameters in display strings
1703
1704
          * graphical cGate inspector, showing whole path
1705
1706
          * graphical cQueue inspector
1707
1708
1998-04-15  Andras Varga (15-24)
1709
1710
        * work versions, not released
1711
1712
1998-03-26  Andras Varga
1713
1714
        * "Inspect As" button only offers really existing inspector types as choice
1715
1716
        * container inspectors redesigned to make it more intuitive to use
1717
1718
1998-03-19  Andras Varga
1719
1720
        * user interface beautifying, updating for Tk8.0
1721
1722
1998-02-15  Andras Varga
1723
1724
        * makefile changed; tkenv.a-->libtkenv.a
1725
1726
1997-12-13  Andras Varga
1727
1728
        * upgraded to sim151
1729
1730
        * use file dialogs of Tk4.2 - requires Tcl7.6/Tk4.2 from now on
1731
1732
        * some Tk beautifying (correct wrong packing parameters etc)
1733
1734
1997-10-06  Andras Varga
1735
1736
        * further renaming; compatible with sim148
1737
1738
1997-10-02  Andras Varga
1739
1740
        * cleaned up & renamed several member functions; compatible with sim147
1741
1742
1997-08-17  Andras Varga
1743
1744
        * updated for sim146a
1745
               cMsgHeap inspector added
1746
               extrastack() stuff added
1747
1748
        Still To Do:
1749
1750
           - "step over initialization messages"
1751
1752
           - cGate graphical inspector: should show the route
1753
1754
           - filtered message window
1755
1756
           - restart must be done decently: destroy+rebuild
1757
1758
           - implement breakpoints
1759
1760
           - cCompoundMod graphical inspector
1761
1762
           - outvector graphical inspector: add possibility to set base time
1763
1764
           - implement "run until event #243"
1765
1766
           - objects should know what inspector types can be created for
1767
           them.  This can be done in the inspector(int type, void *data)
1768
           function: if type==QUERY_TYPES then it should put list of
1769
           possible types to memory pointed to by `data' ptr.
1770
1771
1997-08-07  Andras Varga
1772
1773
        * cNetSimpleMod corrected to cNetMod
1774
1775
        * compatibility: sim144a or up
1776
1777
1997-07-10  Andras Varga
1778
1779
        * makefile hacked to make it work with Cygnus gcc
1780
1781
        * 'darkblue' changed to 'blue' because Tk on Win95 didn't recognize it
1782
1783
        * default value of TKENV_LIBPATH changed and different for WinNT and Unices
1784
1785
        * known bugs on Win95/NT: some scrollbars are missing (??)
1786
1787
1997-07-06  Andras Varga
1788
1789
        * small fixes and improvements on #43
1790
1791
1997-07-01  Andras Varga
1792
1793
        * bug fixes and improvements on #42
1794
1795
        * gate inspector changed; "AsObject" and "AsGraph" icons added to
1796
        many inspectors
1797
1798
1997-07-01  Andras Varga
1799
1800
        * small fixes on #41
1801
1802
1997-07-01  Andras Varga
1803
1804
        * ini file entries renamed:
1805
          verbose-simulation --> print-banners
1806
          module-messages --> use-mainwindow
1807
1808
        * some inspectors modified to use toolbars
1809
1810
1997-07-01  Andras Varga
1811
1812
        * some bugs in #39 fixed
1813
1814
        * now prints event banners in module windows
1815
1816
        * "Inspect differently" button changed to "Inspect As.." on
1817
        inspector toolbar
1818
1819
        * added single stepping within a module
1820
1821
1997-06-27  Andras Varga
1822
1823
        * idea that modal dialogs should stay on top isn't good: what if
1824
        there are two modal windows??
1825
1826
        * cMsg, cPar inspector enhanced
1827
1828
        * View|Snapshot file etc. won't open window if file doesn't exist
1829
1830
1997-06-27  Andras Varga
1831
1832
        * 'Run until' dialog done; still to do: run until #(event number)
1833
1834
1997-06-27  Andras Varga
1835
1836
        * Express run added, Fast Run, Animate changed (compatibity: envir92 or up)
1837
1838
        * the following ini file options were added (with default values):
1839
          animation-delay = 100
1840
          update-freq-fast = 10
1841
          update-freq-express = 1000
1842
          breakpoints-enabled = TRUE
1843
          verbose-simulation = TRUE
1844
          module-messages = TRUE
1845
1846
1997-06-27  Andras Varga
1847
1848
        * hardwired font definitions collected to create_font_bindings
1849
        (main.tcl) and thus they are a lot easier to customise
1850
1851
1997-06-26  Andras Varga
1852
1853
        * improved on cMsg inspector
1854
1855
1997-06-26  Andras Varga
1856
1857
        * 'simulation options' dialog, opp_getsimoption/setsimoption commands completed
1858
1859
        * prints event banners in main window (if turned on)
1860
1861
1997-06-25  Andras Varga
1862
1863
        * added 'event number' and 'next module' displays to status bar
1864
1865
        * added opt_verbose_sim and opt_module_msgs options
1866
1867
        * using main window like cmdenv output
1868
1869
        * NOT COMPLETE:
1870
              'simulation options' dialog
1871
              opp_getsimoption/setsimoption commands
1872
              printing of event banners
1873
1874
1997-06-25  Andras Varga
1875
1876
        * menu building code in main.tcl reorganized, making it easier to
1877
        rearrange menus
1878
1879
        * menus reorganized
1880
1881
        * 'inspect differently' bar changed to ordinary button
1882
1883
        * simple toolbar added
1884
1885
1997-06-23  Andras Varga
1886
1887
        * commented out XSynchronize(...) and Tk_SetWindowBackground(...)
1888
        lines from tklib.cc which caused problems on Win95/NT
1889
1890
        * added TKENV_LIBPATH environment var to specify the location of
1891
        Tkenv script files if they are not in ~/omnetpp/envir/tkenv
1892
1893
        * added View menu
1894
1895
        * make histogram and output vector windows respond to resize events
1896
1897
1997-04-22  Andras Varga
1898
1899
        Bugfixes:
1900
1901
           - THistogramWindow: missing cell #0 bug fixed
1902
1903
           - TOutvectInspector: unmatched drawing and labelling bug fixed
1904
1905
           - cSimpleMod's container inspector bug fixed
1906
           opp_inspectorcommand implemented. This means that any inspector
1907
           can be implemented in the future without touching existing
1908
           Tkenv code!  New ToDo's:
1909
1910
           - print event number, time in sec, next module info into main window
1911
1912
1997-04-17  Andras Varga
1913
1914
        * bugs with inspector creation were fixed
1915
1916
        * new TO DO list:
1917
1918
           - check FDDI bug!!!
1919
1920
           - filtered message window
1921
1922
           - 'Express Run' option
1923
1924
           - restart must be done decently
1925
1926
           - options dialog (breakpoints enabled/disabled etc)
1927
1928
           - implement breakpoints
1929
1930
           - cCompundMod graphical inspector
1931
1932
           - add [Tkenv]/tkenv-lib-path= option to ini file
1933
                (or) possibility to hardwire scripts into lib
1934
1935
1997-04-17  Andras Varga
1936
1937
        * CHK() macro added to every Tcl_Eval(), Tcl_VarEval(), Tcl_EvalFile()
1938
1939
1997-04-17  Andras Varga
1940
1941
        * Histogram, outvector windows are finished
1942
1943
        * cSimpleMod inspector done
1944
1945
        * to do: brush up TCompoundModInspector & TContainerInspector
1946
        check FDDI bug!!!
1947
1948
1997-04-12  Andras Varga
1949
1950
        * opp_histogramwindow_cell, opp_outvectorinspector_value,
1951
        opp_outvectorinspector_config commands implemented. Not compiled
1952
        yet.  The script part is to be done.
1953
1954
1997-04-11  Andras Varga
1955
1956
        * cMsg inspector writeBack written; "From"/"To" buttons still missing
1957
1958
        * cPar inspector added
1959
1960
        * cMod inspector added; not implemented yet
1961
1962
1997-04-10  Andras Varga
1963
1964
        * cStatistic inspector added
1965
1966
1997-04-10  Andras Varga
1967
1968
        * cMsg inspector quasi finished
1969
1970
1997-04-10  Andras Varga
1971
1972
        * omnetpp.tcl split to 5 smaller scripts
1973
1974
1997-04-10  Andras Varga
1975
1976
        * 'Save inspector list' done
1977
1978
1997-04-09  Andras Varga
1979
1980
        The first usable, reasonably bug-free version.
1981
        To complete:
1982
1983
           - implement 'Save inspector list'
1984
1985
           - finish cMsg inspector
1986
1987
           - histogram/outvector inspector: draw axes, labelling etc.
1988
1989
        To do in the future:
1990
1991
           - options dialog (breakpoints enabled/disabled etc)
1992
1993
           - filtered message window
1994
1995
           - restart must be done decently
1996
1997
           - implement concrete inspectors
1998
1999
           - fast run