#1185 assigned todo

ElementBoxWidget

Reported by: Ichthyostega Owned by:
Priority: grave Milestone: 0integration
Component: lumieraGui Keywords: gui interaction design GTK display workflow slick
Sub Tickets: #1186, #1187, #1188, #1219, #1237, #1239, #1242 Parent Tickets: #1180, #1227

Description (last modified by Ichthyostega)

Build a GTK custom widget for a named entity.
This is the most prominent building block of the Lumiera UI.
It will be used pervasively, and define its appearance and behaviour traits.

  • it will be used for
    • Markers
    • Elements in the Bins (Clips, Media, Effects, Assets....)
    • abridged display of Clips (and Effects)
    • the Effect-bar to mark the presence of an Effect
    • for the Track heads in the Timeline Header pane
    • for Clip-Placement and name

Structure

This widget presents a horizontally extended body, which holds a characteristic Head-Triplet of visual Elements:

  • an Icon to create the visual anchor point. In many cases, this will be the Placement-Icon (which is to become a hallmark of Lumiera's UI)
  • a Menu Button -- a small downward arrow, which can be flipped upwards (expand/collapse)
  • a Text Label designating the element

As a starting point, this characteristic cadence of elements has to be displayed compact, yet normally sized. However, we acknowledge the possibility that we'll want a down-sized tiny display variant eventually

Properties

  • the Icon shall be easily configurable (from the coding view point, of course this is all hard wired in the code or the theme)
    • the default is to configure the Placement Icon
    • alternatively a Stock-ID can be given
  • the horizontal extension is easy to control, through several options
    • natural extension; don't give any size request, let GTK figure out the extension rather
    • set a fixed length-limit, causing the text label to be abridged eventually
    • proportional head-placement
  • the body may optionally hold another GTK widget, in which case the head-triplet alignes to the upper side

We offer pre-arranged options for standard wiring of interaction response

  • when the Icon is a Placement, it will launch the Placement-Pop-up (#1188) -- which in turn can be de-modalised, thereby allocating a place in the Property grid pane (see #1163). When such a placement control already is open and allocated, the click to the placement icon will lead there.
  • in the most basic case, there is only one common binding, which is a signal, emitted when clicking on the icon or the menu button
  • yet there can be two distinct bindings (signals) for the icon and the button
  • the Expander (which is part of the UI-Element protocol is pre-wired with the arror on the menu button, to yield a visible clue for the expand/collapse state
  • each of the bindings can be easily replaced by a pop-up menu (#1187)

proportional Head placement

This behaviour pattern (see #1186) is a distinguishing trait of the Lumiera timeline display. It indicates elements with a temporal extension surpassing the current display window. When scrolling, the head-triplet will slowly glide to the other side, thereby indicating the our relative position.

Change history (21)

comment:1 by Ichthyostega, at 2018-11-01T17:11:05Z

Description: modified (diff)

comment:2 by Ichthyostega, at 2018-11-01T17:14:49Z

blocking: 11801180, 1017, 1018, 1038

comment:3 by Ichthyostega, at 2018-11-01T17:29:32Z

blockedby: 1186

comment:4 by Ichthyostega, at 2018-11-01T17:38:11Z

blockedby: 11861186, 1187

comment:5 by Ichthyostega, at 2018-11-01T18:07:22Z

blockedby: 1186, 11871186, 1187, 1188

comment:6 by Ichthyostega, at 2018-11-01T19:04:14Z

blocking: 1180, 1017, 1018, 10381017, 1018, 1038, 1180
Description: modified (diff)

comment:7 by Ichthyostega, at 2022-08-25T17:25:22Z

Status: newaccepted

Working on a draft for Clip display and Track header display and conducted a requirement analysis regarding ElementBoxWidget

comment:8 by Ichthyostega, at 2022-08-27T14:57:35Z

blockedby: 1186, 1187, 11881186, 1187, 1188, 1219

comment:9 by Ichthyostega, at 2022-08-27T15:05:46Z

blocking: 1017, 1018, 1038, 11801018, 1038, 1180

comment:10 by Ichthyostega, at 2022-08-27T15:06:17Z

blocking: 1018, 1038, 11801038, 1180

comment:11 by Ichthyostega, at 2022-08-27T15:54:51Z

blocking: 1038, 11801038, 1180, 1227

comment:12 by Ichthyostega, at 2022-08-27T15:57:53Z

blocking: 1038, 1180, 12271180, 1227
Description: modified (diff)

comment:13 by Ichthyostega, at 2022-08-27T16:09:40Z

Owner: Ichthyostega removed
Status: acceptedassigned

Turns out this is a huge topic and way beyond the current scope. But we need the foundation and put some framework in place, so that other parts of the UI might start using the ElementBoxWidget, notable for a first draft of the timeline display.

Created subtask #1219

comment:14 by Ichthyostega, at 2022-09-12T12:43:03Z

blocking: 1180, 12271180, 1227, 1230

comment:15 by Ichthyostega, at 2022-09-25T19:06:04Z

blockedby: 1186, 1187, 1188, 12191186, 1187, 1188, 1219, 1239

comment:16 by Ichthyostega, at 2022-10-02T17:06:52Z

blocking: 1180, 1227, 12301180, 1227, 1230, 1240

comment:17 by Ichthyostega, at 2022-10-03T04:03:44Z

blockedby: 1186, 1187, 1188, 1219, 12391186, 1187, 1188, 1219, 1239, 1242

comment:18 by Ichthyostega, at 2022-10-06T22:34:17Z

blocking: 1180, 1227, 1230, 12401180, 1227, 1240

comment:19 by Ichthyostega, at 2022-10-15T16:53:15Z

blocking: 1180, 1227, 12401180, 1227

comment:20 by Ichthyostega, at 2023-02-02T02:56:15Z

blockedby: 1186, 1187, 1188, 1219, 1239, 12421186, 1187, 1188, 1219, 1237, 1239, 1242

comment:21 by Undercover Agent, at 2025-12-25T00:00:00Z

blockedby: 1186, 1187, 1188, 1219, 1237, 1239, 1242
blocking: 1180, 1227
Parent Tickets: 1180, 1227
Sub Tickets: 1186, 1187, 1188, 1219, 1237, 1239, 1242

Migration MasterTickets ⟼ Subtickets-plugin

Note: See TracTickets for help on using tickets.