Recent

Author Topic: fpGUI Toolkit v0.7 (final release) for FPC 2.4  (Read 42392 times)

Graeme

  • Hero Member
  • *****
  • Posts: 1430
    • Graeme on the web
fpGUI Toolkit v0.7 (final release) for FPC 2.4
« on: August 05, 2010, 10:06:01 am »
fpGUI v0.7 is finally available

This was a long wait since the previous v0.6 release, but v0.7 is
well worth it, with loads of new features and tools.

An archived source download can be found at the following URL, or
the source code could be pulled directly from the source code
repository.

   http://sourceforge.net/projects/fpgui/files/


For more details, please visit the fpGUI home page:

   http://opensoft.homeip.net/fpgui/


The v0.7 release contains a lot of added features compared to the
previous release. Below is just a small list of things that changed
or was added (see the repository log for more details).

The pre-built HTML and INF class documentation will be made available
during the next few days. This will include updated Class Documentation
for fpGUI, FPC's RTL, FPC's FCL and a special version of FPC's Language
Reference document in INF format. I will also include pre-built binaries
of DocView (fpGUI's own help viewer) for Linux and Windows, plus
instructions on how to integrate DocView with Lazarus IDE and MSEide so
you can have context sensitive help from within each IDE's code editor.

Change highlights
* FPC 2.4.0 compatible.
* Fully tested on 32-bit and 64-bit platforms. Tested on Linux,
  Windows and the *BSD family.
* Mobile device support is back. Tested on ARM Linux and Windows
  Mobile devices.
* fpGUI UI Designer has improved a lot and extended it's component
  palette and Object Inspector.
* Various bug fixes, memory leaks and other enhancements have been
  applied.
* Units have a more uniform naming style.
* Classes have a more uniform structure/hierarchy with base classes.
* Help support has been added to the core framework
* fpGUI now has it's own help file viewer called DocView.
  Docview includes the following features:
   - document annotation
   - bookmarks
   - browse history
   - exporting articles to plain text or IPF format.
   - full text search (including weighting of results to see how
     relevant the results are)
   - Font and Color customization
   - Concatenation of help files at run-time so a library of help
     files can be viewed simultaneously.
   - Easy integration via the "external tools" feature of IDE's like
     Lazarus or MSEide. This allows for context sensitive help.
   - History of most recently viewed help files.
   - Help file format used is the INF format (IBM's format used it
     OS/2), which is very compact, incredibly fast and supports full
     text search.
* A lot of new components have been added, including enhancements
  to existing components.
* Various new dialogs have been added, which include Color Wheel,
  Character Map, Database Login etc.
* Improved integration with tiOPF project via the Model-GUI-Mediator
  design pattern.
* Graphical FPCUnit unit test runner.
* Lots of new language translations for the core fpGUI library.
* A lot of new example projects demoing various GUI components.
* Graphical Debug Server for use with FPC's dbugintf unit.


Some changes in v0.7-rc1
------------------------
  - FPC 2.4.0 compatible.
  - Fully tested on 32-bit and 64-bit platforms. Tested on Linux,
    Windows and the *BSD family.
  - Mobile device support is back. Tested on ARM Linux and Windows
    Mobile devices.
  - fpGUI UI Designer has improved a lot and extended it's component
    palette and Object Inspector.
  - Various bug fixes, memory leaks and other enhancements have been
    applied.
  - Units have a more uniform naming style.
  - Classes have a more uniform structure/hierarchy with base classes.
  - Help support has been added to the core framework
  - fpGUI now has it's own help file viewer called DocView.
    Docview includes the following features:
     - document annotation
     - bookmarks
     - browse history
     - exporting articles to plain text or IPF format.
     - full text search (including weighting of results to see how
       relevant the results are)
     - Font and Color customization
     - Concatenation of help files at run-time so a library of help
       files can be viewed simultaneously.
     - Easy integration via the "external tools" feature of IDE's like
       Lazarus or MSEide. This allows for context sensitive help.
     - History of most recently viewed help files.
     - Help file format used is the INF format (IBM's format used it
       OS/2), which is very compact, incredibly fast and supports full
       text search.
  - A lot of new components have been added, including enhancements
    to existing components.
  - Various new dialogs have been added, which include Color Wheel,
    Character Map, Database Login etc.
  - Improved integration with tiOPF project via the Model-GUI-Mediator
    design pattern.
  - Graphical FPCUnit unit test runner.
  - Lots of new language translations for the core fpGUI library.
  - A lot of new example projects demoing various GUI components.


Some changes in v0.7-rc2
-------------------------
  - Localization of Character Map dialog.
  - Insert from Character Map added to TfpgEdit default popup menu.
  - ModalResults is now a enum type. Improved integration with UI
    Designer.
  - Memo: problems with deleting selected text is now fixed.
  - Improved WinCE support, including reading BMP files.
  - Fixed compilation of all example projects.
  - Extended available properties that can be edited via the Object
    Inspector of the UI Designer.
  - Fixed issues where dialogs are closed via the window border X
    button and not the available buttons in the dialog. Developer
    can define behaviour of X close button.
  - Improved TabSheet handling in UI Designer.
  - Various improvements to TfpgPageControl and TfpgTabSheet. This
    includes new tab positions: Bottom, Left, Right and None.
  - SelectDirectory dialog was not working under Windows.
  - Setting selected directory in SelectDirectory dialog now works.
  - New mouse cursor demo.
  - Improved the ability to customize the HintWindow. HintWindow
    demo was extended to show how this can be done.
  - Improved Visible property handling especially with child
    components. Now only the parent Visible property is changed.
  - tiOPF: correctly disable event handlers in edit mediators.
  - Added a script which generates a fpGUI version number based on
    Git repository information. Later this will be converted to
    a object pascal console application.


Some changes for final release v0.7
-----------------------------------
  - Quite a few more minor bug fixes since v0.7-rc2.
  - Some memory leaks in TfpgListView
  - Added an example Debug Server in examples/apps/debugserver
    - This can be used with FPC's dbugintf unit so you can send
      debug messages. Handy for debugging CGI apps on your server.
  - A new unit fpg_imgutils was added. It contains some handy
    utility functions for images.
  - Implemented disabled images support for all controls that can
    display images.
  - Added a new TfpgMemo Mediator for use with tiOPF based
     applications.
  - Improved quick date selection in TfpgComboCalendar. Users can
    now click the Year or Month to quickly select a different value
    without the need for scrolling through every month.
  - Many more improvements to the "prototype" text editor component
    located in prototypes/textedit/. Soon this will become a
    standard component in fpGUI.
  - Minor improvements to DocView's toolbar.
  - DocView now has a 'File | Open Special' option, which can open
    environment variables pointing to a location where INF files are.
  - Grids now have a smooth scrolling option for horizontal scrolling.
  - A new Input Query dialog was added.
  - Some demos where improved. eg: SplashScreen demo.
  - JPEG image format support was added. Soon all image formats
    supported by FPImage will be included. Unfortunately it did not
    make it into this release.
  - Added a fpGUI project template for when you use fpGUI with MSEide.
  - A new Color Selection dialog was added to fpGUI.
  - fpGUI's UI Designer has a few more components on the component palette.
    eg: TfpgFilenameEdit, TfpgDirectoryEdit, TfpgFontEdit, etc...
  - Some more minor changes to allow compiling fpGUI under MacOSX with X11.


Regards,
  - Graeme -

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://opensoft.homeip.net/fpgui/
--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

DimProfi

  • Full Member
  • ***
  • Posts: 126
    • http://www.dimprofi.de
Re: fpGUI Toolkit v0.7 (final release) for FPC 2.4
« Reply #1 on: August 05, 2010, 01:07:05 pm »
Would you explain a difference to Lazarus GUI,
what are the advantages of fpGUI?

Why invent a bicycle?

  :-\
Lazarus 1.2/FPC 2.6.4 (x86/x86_64/win32/win64/Linux) :: Be smart - use predictable {$INTERFACES CORBA}! :)

vvzh

  • Jr. Member
  • **
  • Posts: 58
Re: fpGUI Toolkit v0.7 (final release) for FPC 2.4
« Reply #2 on: August 05, 2010, 02:13:23 pm »
Congratulations Graeme!

@dimprofi
Here are some of the advantages:
* No dependency hell. The only dependency forced by fpGUI on Linux is X. Once compiled for Linux an application will theoretically work on any distro that has X. No need to build for all supported versions of all major distributions.
* Completely identical look and feel on all supported platforms. It may be a problem if you need to integrate well into the system, but is good if you need to target a certain group of people working with the same app on different platforms.
* Applications written in pure fpGUI can be more compact than LCL-based ones (starting from few hundred Kb when stripped, without compression)
* Relatively thin OS-dependent layer based on relatively stable APIs. No breakage/bugs with new GTK/Qt versions.
* Easy to understand code base, component development is a pure pleasure. The code of all components is completely platform independent, located in one place.

DimProfi

  • Full Member
  • ***
  • Posts: 126
    • http://www.dimprofi.de
Re: fpGUI Toolkit v0.7 (final release) for FPC 2.4
« Reply #3 on: August 05, 2010, 02:43:23 pm »
Ok.

"Write once compile everywhere!"
So why the Lazarus development doesn't go this way too?

Both Projects have very similar aim's - I would say the same aim.
Why making the whole GUI work in two different ways? or make double work?

Now i have a funny question:
Is there advantages of Lazarus vs. fpGUI but the bigger number of developers?
 ;D
Lazarus 1.2/FPC 2.6.4 (x86/x86_64/win32/win64/Linux) :: Be smart - use predictable {$INTERFACES CORBA}! :)

vvzh

  • Jr. Member
  • **
  • Posts: 58
Re: fpGUI Toolkit v0.7 (final release) for FPC 2.4
« Reply #4 on: August 05, 2010, 03:36:52 pm »
AFAICS, all FPC related projects go "Write once compile everywhere!" way, including both LCL and fpGUI.

The difference is that fpGUI is a UI toolkit while LCL is a Delphi-compatible UI toolkit wrapper able to use GTK/QT/WinAPI/Carbon/fpGUI/whatever as underlying toolkit.

So ideally there no reason to contrapose LCL and fpGUI. They mostly do not compete but complement each other. Once LCL-fpGUI widgetset is stable/feature reach enough one can compile LCL applications using fpGUI as UI toolkit to combine advantages of both.

Graeme

  • Hero Member
  • *****
  • Posts: 1430
    • Graeme on the web
Re: fpGUI Toolkit v0.7 (final release) for FPC 2.4
« Reply #5 on: August 05, 2010, 04:07:27 pm »
So why the Lazarus development doesn't go this way too?Both Projects have very similar aim's - I would say the same aim.

No, they don't actually. The big difference between LCL and fpGUI is this:
* LCL wants to use "native" components (which doesn't really make sense on *nix type OSes because nothing there is native).
* LCL wants to be a Delphi VCL clone. This limits the design and flexibility a lot.

On the other hand...
* fpGUI is designed to be "lite". Making deployment really easy because of its low library dependency. Under *nix it only requires X. Under Windows it requires GDI only.
* Applications must be able to look and behave identical on all platforms (this was our company requirement). If you want them to look different or blend in, you could apply themes (though themeing is still limited in fpGUI - but should be fixed for the v0.8 release).
* fpGUI's coding style is similar to Delphi in some parts so it makes it relatively easy to learn. Being "Delphi compatible" is not a requirement though. This allows fpGUI more flexibility in design, and can even improve by using a better design where needed.
* The higher level classes (like GUI components) are completely platform independent. Identical code for all platforms. Designing a component under Linux, guarantees that it will look and work identical under Windows, FreeBSD, WinCE or Embedded Linux. This makes testing really easy.
--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

cpalx

  • Hero Member
  • *****
  • Posts: 647
Re: fpGUI Toolkit v0.7 (final release) for FPC 2.4
« Reply #6 on: August 05, 2010, 04:29:16 pm »
i think :

fpgui it is similar as java

juandelacruz

  • New Member
  • *
  • Posts: 17
Re: fpGUI Toolkit v0.7 (final release) for FPC 2.4
« Reply #7 on: August 05, 2010, 04:31:47 pm »
On the fpGUI home page, it states in the available components:

Quote
List View (partially implemented)

Exactly what does that mean?  How does fpGUI's list view compare with Lazarus's?  I'm asking because I'm thinking of making a project using a list view.  I might as well use the project to learn about fpGUI if its list view is usable enough for what I have in mind.

Zaher

  • Hero Member
  • *****
  • Posts: 604
    • parmaja.com
Re: fpGUI Toolkit v0.7 (final release) for FPC 2.4
« Reply #8 on: August 05, 2010, 10:19:45 pm »
fpgui it is similar as java
No, it is FreePascal :)
The real idea is,
1 - it is Delphi independent style,
2 - Have Native components OS independent.
I like to test it but i think it is hard to add Bidi (Right To Left) controls for (2)

bee

  • Sr. Member
  • ****
  • Posts: 393
Re: fpGUI Toolkit v0.7 (final release) for FPC 2.4
« Reply #9 on: August 06, 2010, 03:09:49 am »
Unfortunately, fpGUI isn't available on Mac OS X, yet. If one need to target Mac OS X, I don't think fpGUI is an option. I do really hope Graeme would start to support Cocoa (Mac OS X UI engine) on the next fpGUI release. FPC binding for Cocoa (pasCocoa) is already available. ;)
-Bee-

A long time pascal lover.

Graeme

  • Hero Member
  • *****
  • Posts: 1430
    • Graeme on the web
Re: fpGUI Toolkit v0.7 (final release) for FPC 2.4
« Reply #10 on: August 06, 2010, 09:11:45 am »
Quote
List View (partially implemented)
Exactly what does that mean?  How does fpGUI's list view compare with Lazarus's?
I did not write the ListView component, but have recently fixed some issues in it, including some memory leaks. I'll start using it in projects now that 0.7 is out, so I can implement the remained of the features and improve it's usability. I use fpGUI's StringGrid for most grid or column style UI interfaces. It is extremely flexible, well tested and is easy to customize the look (so it doesn't blatantly scream "I'm a StringGrid"  :) ). Many developers (even in Delphi and Lazarus) overlook the power available in the StringGrid component.

The Listview in fpGUI has some nice features though - like the sharing of a "data list" between two ListView components. Each displays different parts of the same data list. That's quite neat.
--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

Graeme

  • Hero Member
  • *****
  • Posts: 1430
    • Graeme on the web
Re: fpGUI Toolkit v0.7 (final release) for FPC 2.4
« Reply #11 on: August 06, 2010, 09:17:01 am »
Unfortunately, fpGUI isn't available on Mac OS X, yet.
fpGUI based apps can run under MacOSX - it's just not an officially supported platform yet. Donations towards a Mac computer would go a long way in solving this.  ;)

Mac OSX come standard with X Window (X11) installed - except for some really early versions of OSX. So you can run fpGUI based apps, via the X11 backend. Some users have already sent me screenshots showing it works.
--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

Gintas

  • Jr. Member
  • **
  • Posts: 71
    • Developer's Diary
Re: fpGUI Toolkit v0.7 (final release) for FPC 2.4
« Reply #12 on: August 06, 2010, 05:35:53 pm »
Thanks for a great job  :D I love this GUI toolkit since executable size is more smaller and it provides nice
way to create own theme styles for better professional look software.

bee

  • Sr. Member
  • ****
  • Posts: 393
Re: fpGUI Toolkit v0.7 (final release) for FPC 2.4
« Reply #13 on: August 06, 2010, 06:11:50 pm »
Mac OSX come standard with X Window (X11) installed - except for some really early versions of OSX. So you can run fpGUI based apps, via the X11 backend. Some users have already sent me screenshots showing it works.

Yes, X11 is available on Mac OS X. The X11 package is in second DVD of Mac OS X installer along with the Developer tool packages (xcode suite). On average or common installation, I don't think it's available by default (pre-installed). CMIIW as I had lost my DVD. :)
-Bee-

A long time pascal lover.

sky_khan

  • Guest
Re: fpGUI Toolkit v0.7 (final release) for FPC 2.4
« Reply #14 on: August 07, 2010, 02:41:18 am »
fpGUI really needs unicode text input. I couldnt see that in release notes.  IMHO If fpGUI supports Unicode it may gain much more attention.

 

TinyPortal © 2005-2018