mirror of
https://github.com/dredx/prole.git
synced 2026-09-24 16:24:32 +00:00
- Remove Vagrant from dependency checks and UI; use Docker for workstation build.\n- Add WORKSTATION_VERSION ARG + OCI version label in workstation/Dockerfile; tag image as prole-workstation:<version>.\n- Add installer.workstation helpers: parse version, compose canonical docker build (auto platform flags on Apple Silicon).\n- Refactor install.py Workstation page to display/execute docker build; write logs to logs/workstation-docker-<ts>.log; update summary links.\n- Update Deploy page copy: "Build workstation Docker image".\n- Centralize footer buttons styling/layout with installer.screen.create_nav_footer and use it from install.py.\n- Update installer package docs to describe Docker-based workstation helpers.
48 lines
1.2 KiB
Python
48 lines
1.2 KiB
Python
"""
|
|
Main UI orchestration for Prole Installer.
|
|
|
|
This module centralizes canvas/page registration and delegates page rendering
|
|
to feature modules. The legacy install.py will import and invoke run().
|
|
"""
|
|
from __future__ import annotations
|
|
|
|
import tkinter as tk
|
|
from tkinter import ttk, scrolledtext
|
|
|
|
from . import screen as ui
|
|
from . import build as build_mod
|
|
from . import deploy as deploy_mod
|
|
|
|
|
|
def register_page(app, page_id: str, frame):
|
|
if not hasattr(app, 'pages'):
|
|
app.pages = {}
|
|
app.pages[page_id] = frame
|
|
|
|
|
|
def clear_canvas_page(app):
|
|
if getattr(app, 'bg_canvas', None) is None:
|
|
return
|
|
for item in getattr(app, '_canvas_items', []):
|
|
try:
|
|
app.bg_canvas.delete(item)
|
|
except Exception:
|
|
pass
|
|
app._canvas_items = []
|
|
|
|
|
|
def create_page_build(app):
|
|
# Delegates build page UI creation to installer.build
|
|
return build_mod.create_build_page(app)
|
|
|
|
|
|
def create_page_deploy(app):
|
|
# Delegates deploy page UI creation to installer.deploy
|
|
return deploy_mod.create_deploy_page(app)
|
|
|
|
|
|
def run(app):
|
|
"""Entry for the legacy install.py to wire pages via this module."""
|
|
# Register pages through this orchestrator if needed in the future.
|
|
pass
|