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.9.tar.gz (246.0 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.9-py3-none-any.whl (211.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rad_tui_ide-0.1.9.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

Hashes for rad_tui_ide-0.1.9.tar.gz
Algorithm Hash digest
SHA256 f651ef515a1febc7b539b1f4a2923ef2ed305343e360f13d4a28e7bef6c8a04e
MD5 4ee663863e621d64bdf95b00b806abc2
BLAKE2b-256 2c5192eb4cc919955ecd8fd12945662ab409345f3edfbc949ee9975e66fe3ed1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rad_tui_ide-0.1.9-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

Hashes for rad_tui_ide-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 a8cdafecd14d5db6549a13883e031bd3549256b45166f35a10996e814eef5ec7
MD5 3bd0925728e1b9d9ca6f439e17e07757
BLAKE2b-256 d668f4fd0a86c4e2b676c89e33c42e8a0caaa4a62fde00f33d86bdc0ccb542a6

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