Package me.hackware.api.gui.studio
Class StudioPanel
java.lang.Object
me.hackware.api.gui.studio.StudioPanel
The shared chrome + metrics for a Studio card panel, so every panel matches: a
rounded
categoriesBackgroundColor body, a darkened header strip with a
hairline divider under it, and a 1px border drawn last. Callers draw their own
header content (title, count, column labels) at headerTextY(me.hackware.api.gui.UiContext, int) and fill the
body inside PAD. The constants (HEADER_H, PAD,
GAP) are the single source for panel spacing across Studio screens.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intHorizontal inset for body content (rows, buttons, tables) — matches the wheel-properties card's row cards, which sit atfooterPad(4) + rowInset(4)from the card edge, so the Command and Wheels card bodies line up with it.static final intGap between panels / columns and between stacked panel rows.static final intHeader strip height.static final intHorizontal inset for header text (title / count) — matches the pinned properties window's title inset (itsrowInsetX()+5) and the footer "Macros" heading, so Studio card headings line up with the wheel-properties card.static final intInner content padding (vertical breathing room; horizontal picker/popup inset). -
Method Summary
Modifier and TypeMethodDescriptionstatic voidOuter 1px border — call last so it caps the header divider ends.static voidBody + darkened header + divider.static voidDraws a header title on the left and an optional muted count on the right.static intheaderTextY(UiContext ui, int y) Baseline Y for header-row text, vertically centred in the header strip.
-
Field Details
-
HEADER_H
public static final int HEADER_HHeader strip height.- See Also:
-
PAD
public static final int PADInner content padding (vertical breathing room; horizontal picker/popup inset).- See Also:
-
BODY_PAD
public static final int BODY_PADHorizontal inset for body content (rows, buttons, tables) — matches the wheel-properties card's row cards, which sit atfooterPad(4) + rowInset(4)from the card edge, so the Command and Wheels card bodies line up with it.- See Also:
-
HEADER_PAD
public static final int HEADER_PADHorizontal inset for header text (title / count) — matches the pinned properties window's title inset (itsrowInsetX()+5) and the footer "Macros" heading, so Studio card headings line up with the wheel-properties card.- See Also:
-
GAP
public static final int GAPGap between panels / columns and between stacked panel rows.- See Also:
-
-
Method Details
-
chrome
Body + darkened header + divider. Draw header content and body, then callborder(me.hackware.api.gui.UiContext, int, int, int, int). -
headerTextY
Baseline Y for header-row text, vertically centred in the header strip. -
header
Draws a header title on the left and an optional muted count on the right. -
border
Outer 1px border — call last so it caps the header divider ends.
-