Almost Redy

new topic     » topic index » view thread      » older message » newer message

Introducing...

http://redy-project.org/images/redy_blink.gif

Very soon, probably by the end of this year, I will release an exciting new graphical development platform for Euphoria, called Redy. The official website is http://redy-project.org/

I chose this name based on the definition of "ready" I found at http://www.thefreedictionary.com/ready.

  • Middle English spelling: redy
  • "redy" is not a commonly used word, so it doesn't conflict with names of other things
  • The logo is based on the "READY." prompt of old computers, reminiscing the simplicity and efficiency that computers once had
  • I believe the definition of this word represents the goals I am aiming for in creating a GUI in the Euphoria language: prepared or available for service, action, or progress; prompt in apprehending or reacting; available for immediate use; in a state of completion or preparedness; prompt or rapid; poised for use or action; completely prepared or in fit condition for action or use; quick in action, performance, manifestation, etc.

It is designed to be easy enough for beginners to learn GUI programming, yet powerful enough for experienced programmers to make really good quality applications. After testing and using this platform for about six months at work, I believe it is stable and efficient enough to be taken seriously as an alternative to the other euphoria GUI libraries.

My intention is not to compete with or put down the other libraries (win32lib, euGTK, wxEuphoria, etc.), which I know people have put a lot of hard work into, and I am glad that the Euphoria community has several options to choose from. What I am offering is another option: a truly native Euphoria graphical application environment. Because Redy is written in 100% Euphoria source code, it was possible to design it from the ground up to take full advantage of Euphoria's unique features.

Redy provides:

  • A standard set of cross-platform libraries (redylib) that is a layer above the Euphoria standard library, the most important one being a complete GUI library
  • An Integrated Development Environment application (RedyCode)
  • Documentation including a RedyLib Reference Manual and tutorials to help beginners get starting with GUI programming in Euphoria and Redy
  • A collection of demo applications to give clear examples of how to use Redy
  • A clearly-defined set of standards for developing graphical user interface applications
  • An organized folder structure to make it easy to install and manage multiple versions of the redylib and applications

Currently, the unreleased version I have been using has the following abilities:

  • Graphics, window event processing, clipboard functions, and common file open/save as dialog wrappers are very reliable and perform flawlessly.
  • Most widget classes are almost complete. Although a few features are missing, the widget system works very well.
  • Automatic widget arranging is not perfect, but works very well if you use it correctly. Automatic dialog window sizing and centering on the screen works well.
  • A "canvas" widget class is able to make interactive graphics.
  • Enhancements such as: custom mouse cursors (I-beam over text boxes, arrows, "not-allowed symbol", busy, etc.) window and widget focus highlights, blinking cursor in textboxes, etc. all work well.
  • Menus, dropdown lists, and context menus are completely custom-drawn, and work well.
  • Scrollbars work very well, and can be controlled by the mouse scroll wheel. Scrollbars automatically appear and disappear as needed, and correctly adjust the size of the scrollers to correspond with the ratio of visible to not-visible content. They also have a unique and subtle feature: they let you very quickly jump in page increments to a location on the scroller.
  • Message boxes are custom-drawn. They intelligently size and center the message box window, display an icon and word-wrapped text, and can display whatever buttons are needed. They are very easy to use in your application.
  • A standard About dialog is provided, which shows the Redy logo, info about the application, and info about what version of Redy and Euphoria is currently being used, as well as some Euphoria environment info.
  • A debugging console is provided to help you troubleshoot widget or event processing bugs or watch variable values.
  • The GUI has no problem being controlled by multiple tasks at the same time. It is easy to do things like update a progress bar while copying files while allowing the rest of the application to run.

Before I release Redy, I need to finish up a few things:

  • Finish writing the first version of RedyCode, which will just be a very basic text editor to start with.
  • Write an an advanced text editor library that has line numbers, word wrapping, and basic syntax highlighting (to use in the RedyCode IDE)
  • Get wordwrap working in text boxes
  • Make some improvements in the Canvas widget class
  • Enable tabbing focus between widgets
  • Enable Function keys and Alt and Ctrl keyboard combinations for shortcuts to clipboard functions and menu items
  • Fix bugs in the formatted hypertext library
  • Make a few small changes to some of the widget classes
  • Write a few more demo programs
  • Write documentation
  • Update the website

There are some screenshots at http://redy-project.org/images/screenshots/ if you are interested in taking a look. I am curious, what are your thoughts on this? Who is interested in GUI programming in Euphoria? Any questions about Redy?

new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu