Redy

http://redy-project.org/images/redy_blink.gif Redy is the new name for FluidAE. It is an open-source graphical application development environment written by ryanj.

http://redy-project.org/images/screenshots/tutorial_1.png

A screenshot of a Redy Demo application

Intoduction

Redy is a graphical environment for developing user-friendly applications in the Euphoria programming language. Redy is designed by Ryan Johnson. The official website is http://redy-project.org/. Redy is a very large project that has been evolving for many years. Previous versions were highly experimental and were not stable nor complete enough to use for real-world applications. In the last few years, the source code has been almost completely rewritten. It is stable and efficient enough to use for a GUI application as complex as RedyCode.

Graphical User Interface

Redy has a GUI that is written in 100% euphoria, which means:

  • No dependence on 3rd party tool kits to create widgets. (Only a bare-minimum set of api functions are used.)
  • The entire widget system is small and efficient and doesn't need to include any dll files or massive dll wrappers. Start up time is much faster than win32lib. CPU and memory usage is minimal.
  • You are free to think in euphoria concepts when interacting with widgets, because they are written in euphoria.
  • You have complete freedom to customize the look and behavior of the widget system by simply modifying euphoria source code.

The GUI has many features and little enhancements that make it powerful and easy to use:

  • Widgets automatically arrange themselves inside nested Container widgets.
  • Windows can intelligently position and size themselves.
  • The built-in theme is very "simple-looking" with a classic, clean, boxy, 3D look that makes efficient use of screen space, and has subtle highlights on the widget that has focus and the widget that is hovered over with the mouse.
  • It is compatible with Euphoria's cooperative multitasking, so you can have different tasks controlling different parts of the user interface.
  • You can use a single widget event handler procedure for the entire program, or assign different event handlers to different widgets. You can even have different event handlers in different include files for a modular design.
  • Widgets are created by setting properties with string names, so the source is easy to read and debug. Unlike many other GUI libraries, you never have to think about returning widget IDs and passing them to other routines.
  • All widgets are referenced by string names, which, when combined with Euphoria's powerful string-handling syntax, gives you flexibility to do some interesting things such as build widget names with numbers in them to create multiple instances.
  • The powerful Canvas widget class lets you draw graphics and create "handles" which the user can interact with using the mouse or keyboard, allowing many possibilities such as formatted text with hyperlinks, vector drawing editors, charts, calendars, tile games, etc. Some libraries are included to do some of these things.
  • Ability to store and load images embedded in the program as sequences.
  • Built-in smart popup dialog to display information or ask the user a question is very easy to use.
  • Built-in support for OS clipboard functions and OS Common Dialogs such as File Open and File Save As

The GUI has another unique feature: a powerful Debug Console, which helps you:

  • Catch references to invalid property names or values
  • Catch references to non-existent widgets
  • View the entire widget tree and properties of all widgets instantly
  • Output debug data as multiple items that you can select from a list to view in a textbox rather that printing everything to a text console

See also, RedyCode

Search



Quick Links

User menu

Not signed in.

Misc Menu