1. RedyCode alpha almost ready!

I am curious what people think of my RedyCode IDE design. If you have and comments, questions, critiques, please let me know. It probably won't be ready for real-world use for a couple more months, but i thought i would show a preview of the design i'm currently working on.

The goal of RedyCode is to provide a complete IDE solution for writing, running, building, and releasing euphoria programs using the Redy environment. It will include a visual GUI layout designer and many other features. But for now, i am focusing on basic functionality as a text editor.

RedyCode uses a pure euphoria-written text editor with syntax highlighting (unfortunately, has a few serious bugs at the moment). It can open "Projects" which manage folders of source code. A RedyCode Project is a folder that contains a .redy file (project settings file) and source files and subfolders that make up a euphoria program. A .redy Project file is in INI file format and specifies paths to Euphoria binary files (eui.exe, eub.exe, euc.exe) and paths to include folders (such as the euphoria stdlib or redylib), so when you run a Project, RedyCode sets up the appropriate environment and runs the appropriate commands to run, bind, or build your program. That's the plan, anyway. RedyCode is still in a very early stage of development. Soon, the source will be available at https://github.com/redy-project/redycode.

Here are some screenshots of the work in progress:

RedyCode has a treebox on the left that shows projects that are currently open. Multiple projects can be open at the same time. Each open project appears in the tree as Source files and sub-folders, and Includes files and sub-folders. In the middle is the editor area, which has tabs at the top to switch between currently open files. On the right, a context-sensitive hypertext help is available to help you write code (a pure euphoria-written hypertext browser, which isn't quit finished yet, unfortunately). There will be toolbars as well, but these are not quite working yet.

http://redy-project.org/images/screenshots/2015-11-02%2019_48_35-RedyCode.png

new topic     » topic index » view message » categorize

2. Re: RedyCode alpha almost ready!

Hi

This is really great. Looks like it's approaching maturity now, looking forward to using it.

Chris

new topic     » goto parent     » topic index » view message » categorize

3. Re: RedyCode alpha almost ready!

One option could be that the LHS Tree becomes a simple list of filenames (maybe a copy or replacement for tabs along the top). This make for a "low visual clutter" option.

The project file should have an easily edited list of files.

The project files should have a "user sort order" in addition to the natural tree order.

As it is, it looks good.

_tom

new topic     » goto parent     » topic index » view message » categorize

4. Re: RedyCode alpha almost ready!

ChrisB said...

Hi

This is really great. Looks like it's approaching maturity now, looking forward to using it.

Chris

Thanx. I am trying to make it usable by the end of this year.

new topic     » goto parent     » topic index » view message » categorize

5. Re: RedyCode alpha almost ready!

_tom said...

One option could be that the LHS Tree becomes a simple list of filenames (maybe a copy or replacement for tabs along the top). This make for a "low visual clutter" option.

I was thinking about that, too. I don't necessarily like tabs at the top, that just seems to be a common way to do things. I could add an option to have a list of open files on the side instead.

_tom said...

The project file should have an easily edited list of files.

I figured it would be nice to have a "project tree" that is fully automated, not manually created. I understand that a generic text editor should have an editable project tree, but i am leaning towards making RedyCode more specific to building Redy GUI applications, following a specific set of standards, rather than making it a generic code editor. RedyCode will be very automated and have lots of visual assistance such as GUI layout editor, smart include and routine assistance while typing, etc. A RedyCode project would be defined as:

  • a folder that contains a .redy file that defines the project properties
  • at least one .ex, .exu, or .exw file to be the main eu source file
  • additional source, config, or data files, or subfolders

RedyCode would scan the project folder and simply build a "Source" tree based on the existing files. The "Includes" tree would be based on what include paths are set up for the project. By default, that would mean the "stdlib" and "redylib" folders, but others could be added as well. Those are just there for convenience. They are not actually part of the project, just referenced by it.

RedyCode is based on the textedit.e library included in redylib. That library could be used to make another text editor with different design goals, such as a web development editor or generic code editor.

However, i would be happy to discuss this further. Nothing is set in stone at this point. It is highly experimental right now. smile

_tom said...

The project files should have a "user sort order" in addition to the natural tree order.

That is a good suggestion, unfortunately, the treebox widgetclass doesn't have the ability to allow dragging nodes to to positions yet, nor does it have the ability to define right-click popup menus for tree nodes yet. Those features are on my very long redylib todo list...

_tom said...

As it is, it looks good.

I appreciate the feedback, _tom.

I plan to upload the source code in a few days so people can try it.

new topic     » goto parent     » topic index » view message » categorize

6. Re: RedyCode alpha almost ready!

Update: The config file works now. When you close the program, it remembers the main window's last position. Also, there is a Preferences dialog that can write to the config file.

Projects can now be loaded by opening a .redy file. The source tree is build based on the project properties.

If you click on a Project tree node, it will show a Project Properties dialog. (Not fully working yet).

By the way, this is a good example of what a window can look like, using Redy's automatic widget layout. As you can see, the boxes line up even though the labels are different widths. The multi-line textbox can have the label above, but in this case, it is set to show on the side. Textboxes can have special buttons to edit text using another window (not working yet). Widgets can be aligned in different ways, such as the buttons in this window being placed to the right. Widgets can be set to be equal width with other widgets in the same container, such as the buttons in this window. Notice this is a resizable window, so all widgets arrange according to the size of the window.

http://redy-project.org/images/screenshots/2015-11-09%2020_22_32-Project.png

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu