/*----------------------------------------------------------------------------*/
/* Copyright (c) 2018 FIRST. All Rights Reserved. */
/* Open Source Software - may be modified and shared by FRC teams. The code */
/* must be accompanied by the FIRST BSD license file in the root directory of */
/* the project. */
/*----------------------------------------------------------------------------*/
#pragma once
#include "frc/shuffleboard/LayoutType.h"
namespace frc {
/**
* The types of layouts bundled with Shuffleboard.
*
*
{@code
* ShuffleboardLayout myList = Shuffleboard::GetTab("My Tab")
* .GetLayout(BuiltinLayouts::kList, "My List");
* }
*/
class BuiltInLayouts {
public:
/**
* Groups components in a vertical list. New widgets added to the layout will
* be placed at the bottom of the list.
Custom properties:
* | Name | Type | Default Value | Notes |
* | Label position | String | "BOTTOM" |
* The position of component labels inside the grid. One of
* {@code ["TOP", "LEFT", "BOTTOM", "RIGHT", "HIDDEN"} |
*
*/
static const LayoutType kList;
/**
* Groups components in an n x m grid. Grid layouts default to
* 3x3.
Custom properties:
* | Name | Type | Default Value | Notes |
* | Number of columns | Number | 3 | Must be in the
* range [1,15] |
*
* | Number of rows | Number | 3 | Must be in the
* range [1,15] |
| Label position | String |
* "BOTTOM" |
* The position of component labels inside the grid.
* One of {@code ["TOP", "LEFT", "BOTTOM", "RIGHT", "HIDDEN"} |
*
*
*/
static const LayoutType kGrid;
};
} // namespace frc