Re: Redy 1.0.a1 released!

new topic     » goto parent     » topic index » view thread      » older message » newer message
Icy_Viking said...

Aweosme job. RedyCode could be a good IDE to use for Euphoria, add some intellisense and syntax coloring, and it would be awesome.

Thanks. I am talking a short break, and then i'll start working on RedyCode. I think i have a method for implementing a text editor that has line numbers, code folding, syntax highlighting, intellisense, wordwrap, and some other more advanced features. It would basically convert text into a sequence of tokens (words, whitespace, punctuation, etc.) and each token will have extra information (what type it is, width in pixels, etc.) to build the text display, decide what text color to use, calculate the mouse position in the text, calculate wordwrapping, etc. and it would have some optimizations for only editing the current line when you type and handling large files efficiently. This is all just in my mind at this point, but i thnk it will work.

One thing i probably didn't make very clear is one of Redy's biggest features, which i should put more attention on: the canvas widget class. I still need to write documentation and demos for it. This is what i will use to make the gui/objects/textedit.e library which will be used in RedyCode (and can be used in any Redy app). When i work on this, it will force me to really test and optimize the canvas widget class. (It already works fine, i just haven't used it enough to really test it. I may end up changing the canvas api slightly.)

The canvas lets you use the oswin drawing command sequences to draw graphics and define handles of any shape, which can be hovered or clicked on with the mouse to send events to a canvas event handler in your app. This allows you to make almost any kind of interactive graphics such as:

  • text editor with special features
  • formatted text with hyperlinks and images (help system, IRC conversation log, simple word processor, etc.)
  • vector drawing editor with selectable objects, edit handles, etc.
  • interactive calendar with events
  • plotting data in graphs
  • full-screen presentation program
  • network map
  • color selector
  • bitmap editor

I am curious what uses people would have for this. Soon, i am going to create some gui/object libraries that provide some of these things, because part of the Redy philosophy is to provide commonly-used elements for applications.

There will also be more common dialogs under gui/dialogs. This is another powerful feature of Redy. It is possible to create entire GUI elements (windows with containers, widgets, event handlers, tasks, etc.) in self-contained include files, which you can easily add to your application just as easily as adding a widget.

Redy will eventually come with dialogs such as:

  • msgbox (already exists)
  • about (already exists)
  • file open/save as (already exists, and this is the only one that uses the real MS Windows common dialog)
  • print (this will just use the real MS Windows common dialog)
  • generic progress window
  • Search/replace
  • Spell check
  • Color selector
  • Font selector
  • date/time selector
  • select folder

As you can see, the Redy is more than just a widget toolkit. It is a modular and expandable platform for accelerating and providing a standard for GUI application development in Euphoria. In the future, it will have even more libraries besides gui and oswin. I really want to add more libraries some day, if i ever find the time (or help from other programmers). Some possibilities are:

  • printer (printing will use the same drawing command sequences as the gui uses, provided by oswin)
  • irc (and an irc app that uses it)
  • email (and an email client app that uses it)
  • ipc (interprocess communication and distributed processing protocol)
  • rgui (remote gui, that wraps gui and connects it to a remote process through ipc)

I also want to create more applications, probably ones such as:

  • RedyCode (already started, the highest priority)
  • RhodaPlot (graphing calculator, already started working on this, it has it's own website: http://rhodaplot.org/)
  • RedyShell (file browser, manager, app launcher)
  • RedyIRC (or RedyChat ?)
  • RedyCAD
  • RedyMail

I have been talking to system_X about creating a tiny linux distribution with Euphoria and Redy as the GUI and shell, to be used as small, low-powered platform (useful for ARM-based systems) and this would be called RedyOS (or Redy-OS)? But that would be a side project in the distant future.

My focus now is finishing RedyCode and all the other necessary features to make Redy a powerful application development platform for Euphoria. I hope this will help get new people interested in Euphoria as well as spark creativity and inspire people to make some really nice real-world GUI applications in Euphoria. I understand this may not be what everyone wants, and there are other GUI libraries to choose from that I don't necessarily want to compete with. I'm just offering a vision (that is manifested as source code) that I hope will address many of the issues the Euphoria community has been discussing for years.

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

Search



Quick Links

User menu

Not signed in.

Misc Menu