Complete source 6 engineering workflows and preserve release validation evidence
This commit is contained in:
@@ -234,9 +234,15 @@ pub fn view(app: &App) -> View<'_, Message> {
|
||||
}
|
||||
let footer = container(
|
||||
row![
|
||||
text(short(if app.busy { "Working…" } else { &app.status }, 145))
|
||||
.size(11)
|
||||
.width(Fill),
|
||||
container(tooltip(
|
||||
text(short(if app.busy { "Working…" } else { &app.status }, 145)).size(11),
|
||||
container(text(if app.busy { "Working…" } else { &app.status }).size(12))
|
||||
.padding(10)
|
||||
.max_width(600)
|
||||
.style(style::card),
|
||||
tooltip::Position::Top,
|
||||
))
|
||||
.width(Fill),
|
||||
label(format!(
|
||||
"{} objects · {} links",
|
||||
p.elements.len(),
|
||||
@@ -410,6 +416,7 @@ fn diagram(app: &App) -> View<'_, Message> {
|
||||
let canvas: View<'_, Message> = if let Some(id) = app.active_diagram {
|
||||
let program = DiagramCanvas {
|
||||
project: app.project(),
|
||||
view_index: Some(app.document.view_index()),
|
||||
diagram: id,
|
||||
selected: app.selected,
|
||||
zoom: app.zoom,
|
||||
@@ -635,6 +642,36 @@ fn inspector(app: &App) -> View<'_, Message> {
|
||||
}
|
||||
}
|
||||
// Keep a discoverable primary action; secondary actions live in Actions.
|
||||
if p.elements
|
||||
.get(&app.selected)
|
||||
.is_some_and(|e| e.layer() == Layer::Oa && matches!(e.kind(), Kind::Entity | Kind::Actor))
|
||||
{
|
||||
let draw = app.page == Page::Diagram
|
||||
&& app.active_diagram.is_some_and(|diagram| {
|
||||
crate::connection_edit::visible(&projection::project_view(p, diagram))
|
||||
.any(|id| id == app.selected)
|
||||
});
|
||||
body = body.push(
|
||||
button(
|
||||
text(if draw {
|
||||
"Draw communication means"
|
||||
} else {
|
||||
"Configure communication means…"
|
||||
})
|
||||
.size(12),
|
||||
)
|
||||
.padding(9)
|
||||
.width(Fill)
|
||||
.on_press(if draw {
|
||||
Message::Connection(crate::connection_edit::Event::Begin(
|
||||
crate::connection_tool::Tool::CommunicationMean,
|
||||
app.selected,
|
||||
))
|
||||
} else {
|
||||
Message::AddRelationKind(RelationKind::CommunicationMean, false)
|
||||
}),
|
||||
);
|
||||
}
|
||||
if p.elements
|
||||
.get(&app.selected)
|
||||
.is_some_and(|e| matches!(e.kind(), Kind::System | Kind::SystemActor))
|
||||
|
||||
Reference in New Issue
Block a user