locana_gui_mswin32.rb - locana GUI Binding for Microsoft Windows 32
Author: Michael Davis, mdavis@locana.org
Copyright: (C) 2000, 2001, 2002 Seva Inc. and Seva Software - www.sevasoftware.com
Home page: www.locana.org
License: Same as Ruby
This is the mswin32 GUI Binding for Microsoft Windows 32. This module
allows you to build user interfaces (GUIs) that run in windows
95/98/ME/NT/2000. See locana.rb for more
details.
In order to use the mswin32 GUI Binding I had to create a DLL containing
several small C functions. The DLL is pre-built for you and should be
automatically installed by install.rb. Here are the installation procedures
in case you decide to install it directly:
- cd to the directory where locana in installed
- cd ruby_ext/mswin32
- ruby extconf.rb
- make
- make install
Status
- Only .bmp files can be used in the Limage object. Gif and jpg files are
not working.
To do
- Add support for gif and jpg files
- Expand Locana_gui::font_names() to return a complete list of installed
fonts.
History
- 11/6/2003 - Changed how modal windows are handled to eliminated the
changing of the windows stacking order when closing a modal window.
- 8/24/2003 - Completely redesigned the GUI binding interface. It now
provides basic methods and Locana
draws all the widgets. Also re-engineered this GUI binding to use a DLL
rather than requiring you to compile a needed library. This was necessary
to get Locana to run on XP because
something in cygwin/Ruby/XP/Win32API appears to be broken. The positive
aspect of this change is that windows users should be able to use locana
without installing cygwin or some other unix type compiler to build needed
stuff.
- 8/19/2002 - Added support for :box_pos => :right.
- 6/20/2002 -
- Determine the pixel_width and pixel_height of
object is now done using the font. This is a little faster and appears to
be more accurate than rendering the object and asking windows for the size
of the object.
- Fonts are now stored in a class variable for all objects rather than in an
instance variable for each object. This reduces the number of fonts that
need to be created for windows.
- Fixed several issues with buttons with borders and fonts.
- Added LGobject.font_names() to return a list of font names.
- 6/10/2002 - Buttons now inherit color from their parent. Bug fixes to get
colors, justify, and font to work with buttons.
- 6/7/2002 - Added support for select_text so you can
highlight text in the textbox, editbox, and password classes.
- 5/31/2002 - Moved the @parent attribute to the Lobject object and eliminated the
need for @parent_attr.
- 5/14/2002 - More accurate at calculating the height/width of objects with
borders and scroll bars.
- 2/25/2002 - Changed strings to symbols. Added support for :on_exit, on_enter, :on_change, :on_next_object, :on_click, and :on_prev_object events.
Determining the pixel width and height of objects is much more accurate
now.
- 1/30/2002 - First official release.
- 1/29/2002 - Completed enough to work with the Locana GUI builder.
- 1/07/2002 - Started.