1#ifndef RIBBONLAYOUTSOLVER_H
2#define RIBBONLAYOUTSOLVER_H
49 const QVector<RibbonMode> &modes,
int spacing)
52 for (
int i = 0;
i < groups.size(); ++
i) {
53 width += groups.at(
i).widthFor(modes.at(
i));
68 const QVector<RibbonGroupWidths> &groups,
76 for (
int i = groups.size() - 1;
i >= 0; --
i) {
81 for (
int i = groups.size() - 1;
i >= 0; --
i) {
82 if (!groups.at(
i).collapsible)
100 const QVector<RibbonGroupWidths> &groups,
101 int spacing,
int deadBand = 32)
103 const QVector<RibbonMode> candidate =
105 if (previous.size() != groups.size())
107 const QVector<RibbonMode> held =
109 QVector<RibbonMode> result = candidate;
110 for (
int i = 0;
i < groups.size(); ++
i) {
111 if (candidate.at(
i) > previous.at(
i))
112 result[
i] = qMax(previous.at(
i), held.at(
i));
size_t i
Definition contourjob.cpp:27
MaskMode m
Definition maskspec.cpp:18
Definition openswmmvislayer.h:43
int ribbonRowWidth(const QVector< RibbonGroupWidths > &groups, const QVector< RibbonMode > &modes, int spacing)
Definition ribbonlayoutsolver.h:48
RibbonMode
Definition ribbonlayoutsolver.h:23
@ Collapsed
one popup button titled by the group caption
@ Compact
icon-only buttons, small icons, caption kept
@ Full
text-under-icon buttons, large icons, caption
QVector< RibbonMode > applyRibbonHysteresis(const QVector< RibbonMode > &previous, int availableWidth, const QVector< RibbonGroupWidths > &groups, int spacing, int deadBand=32)
Definition ribbonlayoutsolver.h:98
QVector< RibbonMode > solveRibbonModes(int availableWidth, const QVector< RibbonGroupWidths > &groups, int spacing)
Definition ribbonlayoutsolver.h:67
Definition ribbonlayoutsolver.h:29
int widthFor(RibbonMode m) const
Definition ribbonlayoutsolver.h:35
int full
Definition ribbonlayoutsolver.h:30
bool collapsible
false = widget-hosting group; never collapses
Definition ribbonlayoutsolver.h:33
int collapsed
Definition ribbonlayoutsolver.h:32
int compact
Definition ribbonlayoutsolver.h:31