About/News
Screenshots
Documentation
Why WX.Net?
Roadmap
Release Notes
Building From Source
Tutorial
User Manual
Reference Doc.
WX.Build Doc.
wxWidgets
Download
Who's Who
SourceForge
?????????????????????????
|
Release Notes for wx.NET v0.5
0.5 Beta 1
10 June 2004
New Classes
Associated support classes shown in parentheses; links go to corresponding wxWidgets
documentation.
- Display
(VideoMode)
Determines the sizes and locations of displays connected to the system.
Supported always on Mac and Windows. Only supported on Linux when the Xinerama
extension in XFree86 has been installed. Xinerama allows applications and
window managers to use two or more physical displays as one large virtual
display.
- GDI: GDIPens, GDIBrushes, ColourDatabase,
PenList,
BrushList,
FontList
- GridBagSizer
A sizer that can lay out items in a virtual grid like a FlexGridSizer but
explicit positioning of the items is allowed and items can optionally span
more than one row and/or column
- HtmlListBox
Create impressive looking lists by embedding using HTML as listbox rows.
Here's an example of HtmlListBox in action,
used within a photo application Bryan Bulten is creating using wx.NET.
- Listbook
Similar to Notebook, but uses a ListCtrl to show labels instead of tabs.
- ListView
A simpler interface for ListCtrl.
- SashWindow
(SashEvent,
SashEdge)
A window with edges that can be dragged to resize the window.
- SashLayoutWindow
(LayoutAlgorithm)
Provides a way to use simple accessors to specify how the window should be
laid out, rather than having to respond to events.
- SizerItem
Used to track the position, size and other attributes of each item
managed by a Sizer.
- TabCtrl
Manages multiply "tabbed" pages. Windows only.
- VListBox
A virtual ListBox useful for very large lists whereby callbacks are used
to draw items only when needed. HtmlListBox inherits from this.
- VScrolledWindow
A virtual Panel.
New Samples
- Display
- EventDemo
- HtmlListBox
- Listbook
- SashWindow
- XrcDemo
Major Class Changes
- App
- Now uses callback instead of event for OnInit and also has an OnExit
callback
- Window
- Added more .NET friendly ClientToScreen and ScreenToClient which use Point
- Common events added (see below)
- Added some common System.Windows.Forms convienence properties: Top,
Left, Right, Bottom, Width, Height for porting simplicity
- XmlResource
Numerous bug fixes and improvements. XmlResource is the class the drives
the XML-based resource system known as XRC. UI layout for elements such as
dialogs, frames, menu bars and toolbars can be stored in text files and
loaded into your application at run-time. XmlResource now supports the use
of .NET-based sub-classes. For example, you could sub-class Button as
MyButton in your C# code and then use the class MyButton in your XRC file.
By default the current namespace/assembly is searched for the sub-class. But
you can also specify an assembly and namespace by using [assembly]namespace.class
syntax.
These wx.NET-only properties control assembly/namespace searching for your
sub-class:
- string SubclassNamespace
If the class name does not have a dot (.) in it, use this value as the namespace for the sub-class. If SubclassNamespace is null/empty, use the namespace of the invoking class (i.e. determine
dyanmically, not just once).
- string SubclassAssembly
Used only if an assembly has not been set via the [assembly]class XRC convention. If SubclassAssembly is null/empty, the assembly of the invoking class will be used.
Mac OS X Improvements
Much work has been done to improve Mac support in this release. All samples
now run under DotGNU Portable.Net (aka PNET) 0.6.6. And the new build system and
instructions described below make it easy to get going. There are still
outstanding issues, particularly with the HtmlWindow class, but these should
be addressed in time for the next wx.NET release. Here is a screenshot of some
samples.
New Event System
Standard .NET events are now available within many classes. Generically the
Window base class provides the following:
Activated · Char · Closing · KeyUp · LeftDoubleClick · LeftDown · LeftUp
· MiddleDoubleClick · MiddleDown · MiddleUp · MouseEnter · MouseLeave
· MouseMove · MouseThumbTrack · Moved · Resized · RightDoubleClick · RightDown
· RightUp · ScrollLineDown · ScrollLineUp
Many derived classes provide additional events. And some classes derived
directly from wxObject have their own unique events. For example, a MenuItem has
a Click and Select event.
C# coders can use standard delegate magic to bind to a wx.NET event:
button.Click += new EventListener( OnClick);
VB.NET coders can simply use the WithEvents keyword when declaring a
widget.
UInt Change
Unsigned integers (uint) types were exposed in public interfaces under
v0.4. uint is not CLS compliant and can not be used in VB.NET 2002/2003. uints
were changed to Integer. This may require minor changes to your code.
New Build System and Platform Specific Build Documentation
Building wxWidgets and wx.NET can get a bit tedious and error prone given
all the optional components (such as XmlResource) and different options for
different platforms. We've created a wrapper build system to ease the pain
somewhat.
Under the Build sub-directory you'll find build wrappers and detailed
documentation for the major platforms:
- Linux GTK+ using GNU tools and either Mono or PNET
- MacOS X using Apple's GNU tools and DarwinPorts Mono or PNET
- Windows using VS.NET 2002/2003
Click a link above to view the custom build instructions for a particular
platform.
In each case a Makefile and custom tools provide a wrapper around the
wxWidgets and wx.NET configure, compile, and install process. We've even
included a tested pre-compiled version of premake to simplify use and support.
This system does not replace the premake front-end that drives the wx.NET
built; it simply provides a layer on top of it.
If you find any bugs or have any feedback please contact Mike Muegel by
sending an e-mail to wxnet-users.
New Tool - TowxNET
This C#
application can read XRC or wxGlade
WXG UI layout files and generate the appropriate C# or VB.NET source code for
each class.
Some of the main features:
- Command line or UI driven (--gui)
- C# (default) or VB.NET (--basic) output
- Updateable output! When TowxNET creates a file for the first time, it
encloses the auto-generated code in #regions. TowxNET will leave code
outside of these regions alone. So that you can edit the file and insert
event initialization code, your event handlers, and other runtime logic.
If you change your UI, just re-run TowxNET. All your custom code will
still be there. NOTE: this feature is not operational yet in VB.NET.
Please review Utils/TowxNET/README.txt. A sample application that has been
created with TowxNET can be found under Utils/TowxNET/Samples/Src/Controls.
C#
and VB.NET versions are available as is the original input
XRC file.
TowxNET is very new and may have some bugs. If you have any
feedback or problems, please contact Alexander Olk by
sending an e-mail to wxnet-users .
If you are looking for an XRC editor see the list
at the wxWidgets site. We like wxGlade
if you need a free tool and the commercial DialogBlocks
or wxDesigner if you have some spare
change.
Errata
- Bug fixes too numerous to mention during this pre-release development
phase. For a full list of changes, see the ChangeLog since version 0.4.
A list of new files is also available.
0.5 Beta 2
24 June 2004
Build System
- On Mac/Linux, when you do a "make wxnet", install is no
longer done by default. You can do "make wxnet-install" at any
time.
- The install that is performed is a much more complete package.
wxWidgets shared libraries are copied to WXNET_INSTALL_DIR/Bin. A top-level
README.txt file is created that explains how to launch the samples and
describes in more detail development and runtime issues with wx.NET.dll, wx-c,
and the wxWidgets shared libraries.
- To ensure you pick up the correct wxWidgets shared libraries on a Linux
build, use the "wxnet-run" shell script that gets created in
either WXNET_INSTALL_DIR/Bin or your source tree Bin.
- More "clean" options in the Mac/Linux make. Type
"make" to see all options.
- In the Build/{Linux,MacOSX}/Defs.in, many of the example directories
now use $(HOME) to callout the user's home directory.
Mac Improvements
- A bug in wxMac-2.5.2 was found which caused bitmap loading problems was
identified. If you are compiling wx.NET for Mac yourself please patch the
wxMac source code as described in section 7 of the Mac build README.
This problem will be fixed in wxMac-2.5.3.
- Samples now run under Mono. PNET has no problem mapping wx-c to wx-c.dylib; Mono, however, needs some hints on the
Mac as it seems to be looking for libwx-c.so (a Linux-style library name).
So a wx.NET.dll.config
file now gets installed to Bin to give Mono mapping hints.
- Bundles determine the path to the .NET runtime (mono or ilrun) to use more dynamically so that the
bundles are more portable to other user's Macs. The bundle scripts that get
generated by "make wxnet" and "make wxnet-install" on
the Mac are now written in Perl. Here is an example.
- The FreeCell and ImgView samples now work. See updated Mac screenshot.
- Problems with the Font and Mdi samples were also resolved.
Misc
- TowxNET now fully supports VB.NET, including the update feature when you
re-run towxnet on an existing .vb output file.
- The Demos/FreeCell VB.NET app has been simplified to work under
the improved 0.5 API. A pre-compiled assembly is now include in the
source distribution as the Mono VB.NET compiler is not 100% yet.
- wx.NET.dll is now signed with an unsecured private/public keypair
to facilitate experimentation with the GAC. They keypair is in Src/wx.NET/keys.snk
- New CONTRIBUTORS.txt
file.
0.5 Final
4 July 2004
Build System
- "
make wxw " no longer builds the samples under Linux
and MacOS. Do a "make wxw-samples " if you want to
build the samples (recommended for first time wxWidgets developers).
- The
premake Linux binary included in the source has been
compiled against an older version of GLIBC for compatibility on older Linux
distros.
- The Windows binary release now includes
.config files for exe
assemblies so they run under both MS.NET 1.0 and 1.1.
Misc
- New Sample Launcher by Alexander Olk provides an easy way to browse and
start the samples and demos. Available from the top-level of the install or
source folder as "Sample-Launcher."
- New User Manual by Mike
Muegel covers wx.NET compilation, installation, samples, and library use in
detail. In addition to being available online (latest release), the version
for a particular release is also included in the source and binary
distributions. Many of the README files have been deleted or slimmed down in
favor of the user manual.
Mac Improvements
- HtmlWindow issues fixed
on the Mac. Thus the Mac now is a fully supported wx.NET platform!
- The bundles now have a custom wxWidgets icon
Contributors (Not Exhaustive!)
-
Alexander Olk has been very
busy since our last release. In addition to being responsible for most of the
new classes and
samples, he created the powerful standalone utility, TowxNET. Alexander also
developed the new event system and helped fix a number of bugs. Alexander
also created the sample launcher.
- Bryan Bulten implemented various events within a number of classes using
the new event system. Bryan also created the new GridBagSizer and SizerItem
classes and did key work in providing .NET-based sub-classing within
XmlResource.
- Michael Muegel joined the team. Mike made bug fixes and tweaks here and there, added
the Display class/sample, and created the build wrapper system. Mike also
worked to get wx.NET working better on the Mac and did various CVS project automation
tasks. Mike also handled version 0.5 release management, created the new
user manual, and refreshed the Website for all the many 0.5 changes.
|