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.4.tar.gz (281.3 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.4-py3-none-any.whl (251.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rad_tui_ide-0.1.4.tar.gz
  • Upload date:
  • Size: 281.3 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.4.tar.gz
Algorithm Hash digest
SHA256 71a6e8e82182f299faa29cbb62ef201eef1aff9ba43acf8151449340e73c1f81
MD5 3a63771b7f649cf5891a73f38434577b
BLAKE2b-256 85409f883df5f412813a42643d60dc0308a454d88f29f2da2524e7deb4dd5fba

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rad_tui_ide-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 251.3 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9671b334088cd8bd5ba03a68a3b11d5a9b30c938a9c11bede8b4c74fe4b3e48c
MD5 ea7f3866bdbc79f0b1655f1e5b63cd50
BLAKE2b-256 7155ef10eaf08ea6e734ded75a26a2d4f8fc7dfdaac6c4796a7008e75527abd0

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