A TUI designer for python
Project description
RAD-TUI-IDE 🖥️
Rapid Application Development - Terminal User Interface IDE
A Visual Basic 1.0 for MS-DOS inspired visual IDE that runs on Linux. Design forms, place controls, write code, and run your applications - all in the terminal!
Example projects:
🎯 Concept
RAD-TUI-IDE recreates the magic of early 90s visual programming environments like VB1 for MS-DOS, but for modern Linux terminals. It provides:
- Visual Form Designer - Drag and drop controls onto forms
- Property Editor - Edit control properties in real-time
- Code Editor - Write Python code with syntax highlighting in Tsukino editor
- Runtime Mode - Test your applications instantly
- Project Management - Save and load projects as JSON files
🚀 Features
Visual Design Environment
- 🖱️ Mouse-driven interface - Point, click, drag, and resize
- 🪟 Draggable windows - Move forms and toolboxes freely
- 🎨 11 control types including buttons, labels, text boxes, and more
- 📐 Visual resizing - Grab handles to resize controls
- ✏️ Property editing - Edit names, captions, positions, and dimensions
Code Development
- 🐍 Python code-behind - Write event handlers in Python
- 🌈 Syntax highlighting - Keywords, strings, numbers, and comments
- ▶️ Runtime execution - Run your forms with live code execution
- 🐛 Runtime error display - See errors in a message box
Project Management
- 💾 Save/Load projects - JSON-based project files
- 📁 File menu - Standard save/load/exit operations
- 🔄 Design/Runtime toggle - Switch between design-time and run-time modes
🎮 How to Run
Python Version (Recommended)
chmod +x rad-tui-py.py
./rad-tui-py.py
🕹️ User Guide
Getting Started
- Run the application - you'll see:
- A Toolbox on the left with available controls
- A Form window in the center (your design surface)
- A Properties window on the right
Designing a Form
| Action | How To |
|---|---|
| Add a control | Click a tool in the toolbox, then click on the form |
| Move a control | Select "Move/Size" tool, then drag the control |
| Resize a control | Select control, then drag the ■ handle |
| Edit properties | Click a property value in the Properties window |
| Write code | Double-click a button to open the code editor |
Available Controls
| Tool | Description |
|---|---|
| Check Box | Boolean checkbox control |
| Combo Box | Dropdown selection control |
| Command Btn | Clickable button (most common) |
| Frame | Grouping container |
| HScrollBar | Horizontal scrollbar |
| Label | Static text display |
| List Box | Scrollable list |
| Option Btn | Radio button |
| Text Box | Text input field |
| Timer | Background timer |
| VScrollBar | Vertical scrollbar |
Writing Code
Double-click a Command Button to open the code editor. The code editor supports:
def on_click_btnOK():
msgbox("Hello, World!")
txtName.caption = "Updated text"
Special functions:
msgbox(text)- Display a message box- Access other controls by their
name_id:txtName.caption,btnOK.caption
🛠️ Technical Details
Python Implementation
- Uses
curseslibrary for terminal UI - Supports mouse events (requires terminal with mouse support)
- Python syntax highlighting
📝 Requirements
Python Version
- Python 3.6+
- Linux terminal with:
- Mouse support (xterm, gnome-terminal, konsole, etc.)
- UTF-8 character support
- 80x25 minimum terminal size
📜 License
This project is licensed under the GNU General Public License v3.0 (GPL v3).
See LICENSE for full details.
🙏 Acknowledgments
Inspired by:
- Microsoft Visual Basic 1.0 for MS-DOS (1992)
- The simplicity of early visual programming environments
- The enduring appeal of terminal-based applications
Happy retro-coding! 🎉
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rad_tui_ide-0.1.10.tar.gz.
File metadata
- Download URL: rad_tui_ide-0.1.10.tar.gz
- Upload date:
- Size: 246.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26e828fd3e51f9e3ae291a095bed1308c8b7cf592981a47e79e14125475fbe03
|
|
| MD5 |
f7ed573d141798d0f625aee7fea69742
|
|
| BLAKE2b-256 |
dafa4c55faf388ea06017b82042d760d5a9bd145c67e13c65dcb93ae279baa33
|
File details
Details for the file rad_tui_ide-0.1.10-py3-none-any.whl.
File metadata
- Download URL: rad_tui_ide-0.1.10-py3-none-any.whl
- Upload date:
- Size: 211.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5719d4e59b708dad5dcd0229a930e7e7b5d902df803ea157e9d40b1c413a494b
|
|
| MD5 |
549b2640f190e6e8db1e0875381e4115
|
|
| BLAKE2b-256 |
00937c5c67ce571ca7240fdd6486295aa961fd99ffb2a99ed5a05a4563702a69
|