size spacerGetMaxSizeImpl(widget *self) { size maxSize = { 0, 0 }; switch (SPACER(self)->direction) { case SPACER_DIRECTION_HORIZONTAL: // We have no max horizontal (x-axis) size maxSize.x = INT16_MAX; break; case SPACER_DIRECTION_VERTICAL: // We have no max vertical (y-axis) size maxSize.y = INT16_MAX; break; } return maxSize; }
void Messages::createLayouts() { /* Configure buttons layout */ m_buttonsLayout = new QHBoxLayout (m_buttonsWidget); m_buttonsLayout->setSpacing (DPI_SCALE (5)); m_buttonsLayout->setContentsMargins (NULL_MARGINS()); m_buttonsLayout->addWidget (m_copyButton); m_buttonsLayout->addWidget (m_clearButton); m_buttonsLayout->addSpacerItem (SPACER()); /* Configure main layout */ m_mainLayout = new QVBoxLayout (this); m_mainLayout->setSpacing (DPI_SCALE (10)); m_mainLayout->setContentsMargins (MAIN_MARGINS()); m_mainLayout->addWidget (m_buttonsWidget); m_mainLayout->addWidget (m_console); m_mainLayout->setStretch (0, 0); m_mainLayout->setStretch (1, 1); /* Set widget sizes */ m_console->setMinimumSize (DPI_SCALE (360), DPI_SCALE (96)); m_copyButton->setFixedSize (DPI_SCALE (74), DPI_SCALE (24)); m_clearButton->setFixedSize (DPI_SCALE (74), DPI_SCALE (24)); }
void Preferences::createLayouts() { /* Left widgets */ m_leftContainer = new QWidget (this); m_leftLayout = new QVBoxLayout (m_leftContainer); m_leftLayout->setSpacing (DPI_SCALE (5)); m_leftLayout->addWidget (m_teamNumberLabel); m_leftLayout->addWidget (m_teamNumber); m_leftLayout->addWidget (m_dashboardLabel); m_leftLayout->addWidget (m_dashboards); m_leftLayout->addWidget (m_protocolLabel); m_leftLayout->addWidget (m_protocols); m_leftLayout->addSpacerItem (SPACER()); /* Practice timings */ m_practiceLayout = new QGridLayout (m_practiceTimings); m_practiceLayout->setVerticalSpacing (0); m_practiceLayout->setHorizontalSpacing (DPI_SCALE (5)); m_practiceLayout->addWidget (m_countdownLabel, 0, 0); m_practiceLayout->addWidget (m_autonomousLabel, 1, 0); m_practiceLayout->addWidget (m_delayLabel, 2, 0); m_practiceLayout->addWidget (m_teleopLabel, 3, 0); m_practiceLayout->addWidget (m_endGameLabel, 4, 0); m_practiceLayout->addWidget (m_countdown, 0, 1); m_practiceLayout->addWidget (m_autonomous, 1, 1); m_practiceLayout->addWidget (m_delay, 2, 1); m_practiceLayout->addWidget (m_teleop, 3, 1); m_practiceLayout->addWidget (m_endGame, 4, 1); m_practiceLayout->setContentsMargins (MAIN_MARGINS()); /* Main layout */ m_mainLayout = new QHBoxLayout (this); m_mainLayout->setSpacing (DPI_SCALE (5)); m_mainLayout->addWidget (m_leftContainer); m_mainLayout->addWidget (m_practiceTimings); m_mainLayout->setContentsMargins (MAIN_MARGINS()); }
Joysticks::Joysticks (QWidget* parent) : QWidget (parent) { /* Create Widgets */ m_joystickNames = new QListWidget (this); m_JSIndicators = new QGroupBox (tr ("USB"), this); m_POVIndicators = new QGroupBox (tr ("POVs"), this); m_axisIndicators = new QGroupBox (tr ("Axes"), this); m_buttonIndicators = new QGroupBox (tr ("Buttons"), this); /* Create container widgets */ m_axesContainer = new QWidget (this); m_povsContainer = new QWidget (this); m_buttonsContainer = new QWidget (this); /* Create the container layouts */ m_axesBox = new QVBoxLayout (m_axesContainer); m_povsBox = new QVBoxLayout (m_povsContainer); m_buttonsBox = new QGridLayout (m_buttonsContainer); /* Set indicator layouts */ m_joystickBox = new QVBoxLayout (m_JSIndicators); m_povGroupBox = new QVBoxLayout (m_POVIndicators); m_axisGroupBox = new QVBoxLayout (m_axisIndicators); m_buttonGroupBox = new QVBoxLayout (m_buttonIndicators); /* Set layout spacings */ int s = DPI_SCALE (4); m_joystickBox->setSpacing (s); m_povGroupBox->setSpacing (s); m_axisGroupBox->setSpacing (s); m_buttonGroupBox->setSpacing (s); m_povsBox->setSpacing (s); m_axesBox->setSpacing (s); m_buttonsBox->setSpacing (s); m_povGroupBox->setSpacing (s); m_axisGroupBox->setSpacing (s); m_buttonGroupBox->setSpacing (s); /* Set the margins */ int m = DPI_SCALE (2); m_joystickBox->setContentsMargins (m, m, m, m); m_povGroupBox->setContentsMargins (m, m, m, m); m_axisGroupBox->setContentsMargins (m, m, m, m); m_buttonGroupBox->setContentsMargins (m, m, m, m); m_povsBox->setContentsMargins (m, m, m, m); m_axesBox->setContentsMargins (m, m, m, m); m_buttonsBox->setContentsMargins (m, m, m, m); /* Set indicators layout */ m_axisGroupBox->addWidget (m_axesContainer); m_povGroupBox->addWidget (m_povsContainer); m_buttonGroupBox->addWidget (m_buttonsContainer); m_axisGroupBox->addSpacerItem (SPACER()); m_povGroupBox->addSpacerItem (SPACER()); m_buttonGroupBox->addSpacerItem (SPACER()); /* Set main layout */ m_mainLayout = new QHBoxLayout (this); m_mainLayout->setSpacing (DPI_SCALE (5)); m_mainLayout->addWidget (m_JSIndicators); m_mainLayout->addWidget (m_axisIndicators); m_mainLayout->addWidget (m_buttonIndicators); m_mainLayout->addWidget (m_POVIndicators); m_mainLayout->addSpacerItem (SPACER()); m_joystickBox->addWidget (m_joystickNames); /* Update UI config */ m_POVIndicators->setVisible (false); m_axisIndicators->setVisible (false); m_buttonIndicators->setVisible (false); m_buttonIndicators->setStyleSheet (BUTTON_CSS); onCountChanged(); /* Connect slots */ connect (JOYSTICK_MANAGER(), &JoystickManager::countChanged, this, &Joysticks::onCountChanged); connect (JOYSTICK_MANAGER(), &JoystickManager::POVEvent, this, &Joysticks::onPOVEvent); connect (JOYSTICK_MANAGER(), &JoystickManager::axisEvent, this, &Joysticks::onAxisEvent); connect (JOYSTICK_MANAGER(), &JoystickManager::buttonEvent, this, &Joysticks::onButtonEvent); connect (m_joystickNames, &QListWidget::currentRowChanged, this, &Joysticks::setupIndicators); DS::log (DS::kInfoLevel, "MainWindow: Joysticks widget created"); }