Bacteriophage T4 h
In the present sta
Ceramic is a commo
The first-ever dra
Q:
Why does this
The invention rela
Q:
Mongodb find d
Q:
How to calcula
The last of the or#pragma once
#include "ui_widget_panel.h"
class Widget;
class WidgetPanel;
/**
* \brief Defines a panel containing a vector of Widgets.
*
* The panel is used to display several widgets at once and can have title, alignment
* and buttons on its control bar.
*/
class WidgetPanel {
private:
/** The current title. */
QString title;
/** The position of the buttons of the control bar. */
WidgetPanel::Position position;
/** Updates the control bar buttons. */
void updateControlBarButtons();
/** The panel buttons that are normally hidden (e.g. close and tabs). */
QSet nonVisualButtons;
/** Width of the buttons of the control bar. */
int width;
/** Width of the panel. */
int panelWidth;
/** Width of the scroll area. */
int scrollAreaWidth;
/** The buttons of the control bar. */
QList buttons;
/** Width of the widget areas. */
int widgetAreaWidth;
/** Scrollable area of the buttons. */
QWidget* buttonScrollArea;
/** Width of the buttons in the scroll area. */
int buttonScrollAreaWidth;
/** Width of the control bar. */
int controlBarWidth;
protected:
/** Width of a button in the control bar. */
int buttonWidth;
public:
WidgetPanel();
~WidgetPanel();
/**
* \brief Sets the widget panel title and position.
* \param title New title.
* \param position New position.
*/
void set(QString title, WidgetPanel::Position position = WidgetPanel::Top);
/**
* \brief Applies the new position and updates the buttons.
*/
void apply();
/**
* \brief Returns the widget area width.
* \return The widget area width.
*/
int getWidgetAreaWidth() const;
/**
* \brief Returns the widget area width.
* \return The widget area width.
*/
int getButtonScrollAreaWidth() const;
/**
* \brief Returns the widgets.
* \return The widgets.
*/
WidgetPanel::Widgets widgets() const;
/**
* \brief Returns the buttons.
* \return The buttons.
*/
WidgetPanel::Buttons widgetsButton() const;
/**
* \brief Sets the current scroll bar value.
* \param value The value to set.
*/
void setScrollBarValue(int value);
/**
* \brief Returns the scroll bar value.
* \return The scroll bar value.
*/
int scrollBarValue() const;
/**
* \brief Creates the buttons that belong to the control bar.
*/
void createButtons();
/**
* \brief Creates the widgets of the control bar and its buttons.
*/
void createControls();
/**
* \brief Applies the control bar width and updates the scroll area.
*/
void setControlBarWidth(int width);
/**
* \brief Adds the widgets of the control bar to a widgets vector.
*/
void addControls();
/**
* \brief Returns the scroll area.
* \return The scroll area.
*/
WidgetPanel::ScrollArea scrollArea() const;
/**
* \brief Updates the scroll area width.
*/
void updateScrollAreaWidth();
/**
* \brief Set the scroll area width.
* \param width New width.
*/
void setScrollAreaWidth(int width);
/**
* \brief Returns the current width of the scroll area.
* \return The current width of the scroll area.
*/
int scrollAreaWidth() const;
/**
* \brief Returns the width of the button in the scroll area.
* \return The width of the button in the scroll area.
*/
int scrollAreaButtonWidth() const;
/**
* \brief Returns the widget height.
* \return The widget height.
*/
int getWidgetHeight() const;
/**
* \brief Sets the widget height.
* \param height New widget height.
*/
void setWidgetHeight(int height);
/**
* \brief Sets the scroll bar value.
* \param value The value to set.
*/
void setScrollBarValue(int value);
/**
* \brief Returns the scroll bar value.
* \return The scroll bar value.
*/
int scrollBarValue() const;
/**
* \brief Creates the widgets of the scroll area.
*/
void createScrollArea();
/**
* \brief Creates the widgets of the scroll area and their buttons.
*/
void createScrollAreaButton();
/**
* \brief Applies the scroll area width and updates the control bar width.
*/
void setScrollAreaWidth(int width);
/**
* \brief Adds the widgets of the scroll area to a widgets vector.
*/
void addScrollArea();
/**
* \brief Adds the buttons of the scroll area to a widgets vector.
*/
void addScrollAreaButton();
/**
* \brief Creates the scroll area and its buttons.
*/
void createScrollAreaButtons();
/**
* \brief Creates the buttons for the widgets of the scroll area.
*/
void createScrollAreaButtonsScrollArea();
/**
* \brief Creates the scroll area buttons for the widgets of the scroll area.
*/
void createScrollAreaButtonsScrollAreaButton();
/**
* \brief Applies the scroll area width and updates the buttons width.
*/
void setScrollAreaWidth(int width);
/**
* \brief Returns the current width of the buttons.
* \return The current width of the buttons.
*/
int scrollAreaButtonsWidth() const;
/**
* \brief Returns the width of the widgets.
* \return The width of the widgets.
*/
int getWidgetWidth() const;
/**
* \brief Returns the widgets of the scroll area.
* \return The widgets of the scroll area.
*/
WidgetPanel::ScrollAreaButtons widgetsButton() const;
/**
* \brief Adds the widgets of the scroll area to a widgets vector.
*/
void addScrollAreaButtons();
/**
* \brief Adds the buttons of the scroll area to a widgets vector.
*/
void addScrollAreaButtonButtons();
/**
* \brief Applies the current scroll bar value.
*/
void updateScrollBarValue();
/**
* \brief Returns the current scroll bar value.
* \return The current scroll bar value.
*/
int scrollBarValue() const;
/**
* \brief Sets the scroll bar position.
* \param position New position.
*/
void setPosition(WidgetPanel::Position position);
/**
* \brief Returns the position of the scroll bar.
* \return The position of the scroll bar.
*/
WidgetPanel::Position getPosition() const;
/**
* \brief Returns the width of the button in the control bar.
* \return The width of the button in the control bar.
*/
int buttonWidth() const;
/**
* \brief Returns the current position.
* \return The current position.
*/
WidgetPanel::Position position() const;
};