Пример #1
0
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;
}
Пример #2
0
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));
}
Пример #3
0
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());
}
Пример #4
0
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");
}