LVRS Document Viewer
components/app/AppShell.svx
Path: components/app/AppShell.svx
AppShell
Location: qml/AppShell.qml
AppShell is a compatibility wrapper that directly inherits ApplicationWindow without adding extra API.
Purpose
- Preserve legacy import/usage path.
- Provide migration-safe alias while new code adopts
LV.ApplicationWindowdirectly.
API Contract
- No additional properties, methods, or signals are defined.
- All behavior is inherited from
ApplicationWindow.
Usage
import LVRS 1.0 as LV
LV.AppShell {
visible: true
width: 1100
height: 720
title: "LVRS"
navItems: ["Overview", "Runs"]
}
Recommendation
Use LV.ApplicationWindow for all new code paths and keep AppShell only for compatibility.
Migration Note
When migrating from AppShell to ApplicationWindow, property names remain the same because AppShell is a direct wrapper.
Recommended migration path is replacing type usage only.
Compatibility Scope
AppShell is intentionally thin.
Only compatibility is guaranteed; new feature switches are documented first in ApplicationWindow.
FAQ
Q. Does AppShell expose a different navigation lifecycle?
A. No. Navigation behavior is exactly the same as ApplicationWindow.
Q. Should new modules import only AppShell for stability?
A. No. ApplicationWindow is the canonical type for new modules.
Deprecation Strategy
If project policy deprecates AppShell, keep a compatibility window with:
- codemod-assisted type rename,
- release-note mapping table,
- temporary lint rule warning on new
AppShellusage.