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.14.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.14-py3-none-any.whl (211.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rad_tui_ide-0.1.14.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.14.tar.gz
Algorithm Hash digest
SHA256 797d3db3ea0423bbb1d34087eb23d36c8d3d22de1cefa0d49c2663293439541f
MD5 42bb1921cb8e702f103a9d3842c0010c
BLAKE2b-256 dc0b98ecdba39fa18329d7e352c376ccf4d7d6fb302fd85d6d1dad3f70842b36

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rad_tui_ide-0.1.14-py3-none-any.whl
  • Upload date:
  • Size: 211.9 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.14-py3-none-any.whl
Algorithm Hash digest
SHA256 30764b4caf254e583179840f478d80bba3dc8c1192b85f93c15a80adbf133ef7
MD5 db826aac01d857695cb5bdcc755006d1
BLAKE2b-256 8075b994afa601b8231a1268ebaff595cd944c42f7b885851585711cecd7d4f4

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