Skip to main content

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!

License Platform Language

screenshot

Example projects:

tsukinoeditor

minesweeper

tictactoe

calc

🎯 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

  1. 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 curses library 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rad_tui_ide-0.1.1.tar.gz (281.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rad_tui_ide-0.1.1-py3-none-any.whl (251.1 kB view details)

Uploaded Python 3

File details

Details for the file rad_tui_ide-0.1.1.tar.gz.

File metadata

  • Download URL: rad_tui_ide-0.1.1.tar.gz
  • Upload date:
  • Size: 281.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for rad_tui_ide-0.1.1.tar.gz
Algorithm Hash digest
SHA256 32d6280c9cf505a17aae1f44b82df9b47e24938a00bec59705ecf3c8cb31ef6a
MD5 6dc0d42cca9e890f103af43530089ecc
BLAKE2b-256 1b17474afe63087dc7b46d242de337435c1d21120d06813ad997f7285af2b651

See more details on using hashes here.

File details

Details for the file rad_tui_ide-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: rad_tui_ide-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 251.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for rad_tui_ide-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 20e8bfbf717d4b3ebebd9dd9ec97b7fa6cf473e1f43469f1288b419c9182b657
MD5 af0245b0f23bb744119d14122f322ed5
BLAKE2b-256 f00b92b46e8f9585e1d5b71ea47254e9ef820e13d8cfba6f18ca45efd4f17e77

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page