ANNOUNCE: ParaGUI 1.1.7

There’s a software that may not be.
But it is. Still there. Not dead. Alive.

Ok. There are a lot of changes. The main thing: It’s getting cleaner and
cleaner. The ParaGUI 1.0.x branch was quite cluttered and a mess. This
new branch (1.1.x) tries to get rid of all these design flaws.

For all of you maiden-like guys out there:
http://www.paragui.org
is our website.

Here comes the announcement:

We’re straight on the way towards the completion of our roadmap targets.
Next stop: ParaGUI 1.1.7. The new release introduces some major
performance boosts and the needed API cleanup.

Special thanks go to Sebastian Haag for his great work.
Maybe I should mention that there is a (rather uncomplete) API
documentation available.

All that stuff can be found in the “Download” section.

I don’t know how many people still use the mailing lists. I would
suggest all of you out there should use the forum on the website (it’s
easier).

Here’s the changelog for the 1.1.7 release:

  • optimized (software)cursor drawing
  • removed obsoleted PG_Widget::[Move|Size]Window methods
  • added custom itemheight to PG_DropDown::AddItem()
  • dynamic resizing of listbox height in PG_DropDown
  • disabled alpha for application background
  • optimized PG_RectList
  • added docs
  • major rewrite of PG_WidgetList (new class PG_ScrollArea)
  • fixed many widget child-handling bugs
  • the new design should simply do it right
  • removed obsolete PG_WidgetListEx class
  • reworked nearly all class constructors
  • splitted PG_WidgetList in PG_ScrollWidget / PG_WidgetList
  • PG_RichEdit is now inherited from PG_ScrollWidget
  • PG_ScrollBar / PG_Slider cleanup
  • applied patches from Sebastian Haag:
    made AddWidget() / AddItem() obsolete (see roadmap for more info)
    added param ‘bool bRecursive’ to PG_Widget::SetTransparency (set to
    false by default)
    added PG_Button::SetTransparency(Uint8 t, bool bRecursive) to work
    properly
    when a parent widget sets transparency recursively
    improved graphical update of software cursor a bit by minimizing rect to
    be updated
    merged multiple calls to SDL_UpdateRects to improve performance
    (see SDL reference for more info)
    added PG_DropDown::GetIndent()
    added PG_Label::GetIndent()
    added PG_ListBox::GetIndent()
    fixed PG_ListBox::GetSelectedItems() (sorry, my fault :))
    fixed: sometimes PG_ListBox items were drawn although parent was not
    visible
    removed unnecessary BringToFront() in PG_DropDown::handleButtonClick()
    improved graphical update in PG_ListBox::SelectItem()
    added 24 bpp support for fonts (thanks to Steve McCrea!)
    fixed paratest.cpp VC.NET warnings
    made some changes to paratest.cpp to make use of
    PG_Button::SetTransparency()
    and the new way of adding items to lists
    made some minor cleanups
    fixed VC complaint concerning PG_Application::GetScreen()
    added PG_ListBox::SetAlignment() / GetAlignment()
    added PG_DropDown::SetAlignment() / GetAlignment()
    added PG_Window::GetIcon()
    modified PG_Application::SetCaption() to use ParaGUI’s SetIcon()
    insteadof SDL’s
    fixed a potential crash occuring when having only one widget in a
    PG_RectList
    made PG_ListBox / PG_DropDown::SetIndent() work before adding items
    added a simple mouse wheel handling for PG_ListBox and PG_DropDown
    made PG_Widget’s destructor call RemoveFromWidgetList() only if widget
    has no parent
    added "break"s to PG_Window::handleButtonClick()
    connected a slider’s sigSlideEnd signal in paratest.cpp
    made use of new SetAlignment() method in paratest.cpp
  • applied patches from Ulf Lorenz
    documented pgsurfacecache.h
    remove obsolete code from drawline.cpp

Have fun

Alex