Omnidome
Fulldome Mapping Software Toolkit
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Slots | Signals | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
omni::ui::proj::TitleBar Class Reference

TitleBar for projector tuning widget Has four buttons: More...

#include <TitleBar.h>

Inheritance diagram for omni::ui::proj::TitleBar:
Inheritance graph
[legend]
Collaboration diagram for omni::ui::proj::TitleBar:
Collaboration graph
[legend]

Public Slots

void setColor (QColor const &)
 Set color from gradient pos (between 0.0 and 1.0) More...
 
void selectColor ()
 Select color from color picker. More...
 
void setCloseButtonVisible (bool)
 Toggle visibility of close button. More...
 
void fullscreenToggle (bool)
 Update State for display button when fullscreen has been toggled. More...
 

Signals

void closeButtonClicked ()
 
void maximizeButtonClicked ()
 
void colorChanged (QColor const &)
 
void freeSetupSelected ()
 
void peripheralSetupSelected ()
 

Public Member Functions

 TitleBar (Tuning *)
 Construct with tuning widget as parent (is mandatory) More...
 
 TitleBar (QString const &_label, Tuning *)
 Construct with label and tuning widget as parent. More...
 
 ~TitleBar ()
 
QColor color () const
 Return color. More...
 
bool closeButtonVisible () const
 Returns true if close button is visible. More...
 
- Public Member Functions inherited from omni::ui::Widget
 Widget (QWidget *=nullptr)
 
 Widget (QString const &_label, QWidget *=nullptr)
 
virtual ~Widget ()
 
QString label () const
 Return label text of widget. More...
 
void setLabel (QString const &)
 Set label text of widget. More...
 
ColorSet const & colorSet () const
 
double zoomFactor () const
 Zoom factor of widget. More...
 

Protected Member Functions

void paintEvent (QPaintEvent *)
 
- Protected Member Functions inherited from omni::ui::Widget
void drawBorder (QPainter &)
 
void drawBorder (QPainter &, bool _focus)
 

Private Member Functions

void setup ()
 
TuningtuningWidget ()
 Set moving flag to value and handle visibility of buttons. More...
 

Private Attributes

QUniquePtr< QToolButton > menuButton_
 Button for resetting and projector setup selection. More...
 
QUniquePtr< QToolButton > displayButton_
 Button for toggling fullscreen display. More...
 
QUniquePtr< QToolButton > maximizeButton_
 Button for Minimizing/Maximizing widget. More...
 
QUniquePtr< QToolButton > closeButton_
 Button for closing widget. More...
 
QUniquePtr< QMenu > menu_
 Context menu widget. More...
 
TuningtuningWidget_ = nullptr
 Parent tuning widget. More...
 
QColor color_
 

Additional Inherited Members

- Protected Attributes inherited from omni::ui::Widget
QLabel * label_
 

Detailed Description

TitleBar for projector tuning widget Has four buttons:

Constructor & Destructor Documentation

omni::ui::proj::TitleBar::TitleBar ( Tuning _tuning)

Construct with tuning widget as parent (is mandatory)

32  :
33  Widget(_tuning),
34  tuningWidget_(_tuning)
35  {
36  setup();
37  }
Tuning * tuningWidget_
Parent tuning widget.
Definition: TitleBar.h:105
void setup()
Definition: TitleBar.cpp:100
Widget(QWidget *=nullptr)
Definition: Widget.cpp:30
omni::ui::proj::TitleBar::TitleBar ( QString const &  _label,
Tuning _tuning 
)

Construct with label and tuning widget as parent.

39  :
40  Widget(_label, _tuning),
41  tuningWidget_(_tuning)
42  {
43  setup();
44  }
Tuning * tuningWidget_
Parent tuning widget.
Definition: TitleBar.h:105
void setup()
Definition: TitleBar.cpp:100
Widget(QWidget *=nullptr)
Definition: Widget.cpp:30
omni::ui::proj::TitleBar::~TitleBar ( )
47  {}

Member Function Documentation

void omni::ui::proj::TitleBar::closeButtonClicked ( )
signal
bool omni::ui::proj::TitleBar::closeButtonVisible ( ) const

Returns true if close button is visible.

69  {
70  return closeButton_ ? closeButton_->isVisible() : false;
71  }
QUniquePtr< QToolButton > closeButton_
Button for closing widget.
Definition: TitleBar.h:99
QColor omni::ui::proj::TitleBar::color ( ) const

Return color.

64  {
65  return color_;
66  }
QColor color_
Definition: TitleBar.h:107
void omni::ui::proj::TitleBar::colorChanged ( QColor const &  )
signal
void omni::ui::proj::TitleBar::freeSetupSelected ( )
signal
void omni::ui::proj::TitleBar::fullscreenToggle ( bool  _checked)
slot

Update State for display button when fullscreen has been toggled.

80  {
81  if (_checked) {
82  displayButton_->setIcon(QIcon(":/icons/eye.png"));
83  } else {
84  displayButton_->setIcon(QIcon(":/icons/eye_crossed.png"));
85  }
86  }
QUniquePtr< QToolButton > displayButton_
Button for toggling fullscreen display.
Definition: TitleBar.h:93
void omni::ui::proj::TitleBar::maximizeButtonClicked ( )
signal
void omni::ui::proj::TitleBar::paintEvent ( QPaintEvent *  event)
protected
89  {
90  QPainter _p(this);
91 
92  auto _rect = rect().adjusted(1, 1, -1, -1);
93 
94  _p.setPen(Qt::NoPen);
95  _p.setBrush(color());
96  _p.drawRect(_rect);
97  QWidget::paintEvent(event);
98  }
QColor color() const
Return color.
Definition: TitleBar.cpp:63
void omni::ui::proj::TitleBar::peripheralSetupSelected ( )
signal
void omni::ui::proj::TitleBar::selectColor ( )
slot

Select color from color picker.

57  {
58  QColorDialog _colorDialog(color());
59 
60  if (_colorDialog.exec()) setColor(_colorDialog.selectedColor());
61  }
void setColor(QColor const &)
Set color from gradient pos (between 0.0 and 1.0)
Definition: TitleBar.cpp:49
QColor color() const
Return color.
Definition: TitleBar.cpp:63
void omni::ui::proj::TitleBar::setCloseButtonVisible ( bool  _visible)
slot

Toggle visibility of close button.

74  {
75  if (!closeButton_) return;
76 
77  closeButton_->setVisible(_visible);
78  }
QUniquePtr< QToolButton > closeButton_
Button for closing widget.
Definition: TitleBar.h:99
void omni::ui::proj::TitleBar::setColor ( QColor const &  _color)
slot

Set color from gradient pos (between 0.0 and 1.0)

50  {
51  color_ = _color;
52  emit colorChanged(_color);
53  update();
54  }
void colorChanged(QColor const &)
QColor color_
Definition: TitleBar.h:107
void omni::ui::proj::TitleBar::setup ( )
private

Generate and add popup menu

Add widget in this left-to-right order to layout

101  {
102  this->label_->setAlignment(Qt::AlignCenter);
103  this->label_->setStyleSheet("QLabel {"
104  " background: transparent; "
105  " color : #0e0e0e; "
106  " font-size : 10pt; "
107  "}");
108 
109  layout()->removeWidget(this->label_);
110 
111  ///////////////////// Setup buttons
112  auto setupToolButton = [this](QUniquePtr<QToolButton>& _btn)
113  {
114  _btn.reset(new QToolButton());
115  _btn->setAutoRaise(true);
116  _btn->setStyleSheet("QToolButton { "
117  " background : transparent; "
118  " border: 0px; "
119  " } "
120  "QToolButton::menu-indicator { image: none; }");
121  _btn->installEventFilter(this->parent());
122  _btn->installEventFilter(this);
123  };
124 
125  setupToolButton(menuButton_);
126 
127  menuButton_->setArrowType(Qt::DownArrow);
128 
129  menu_.reset(new QMenu);
130 
131  /// Generate and add popup menu
132  menuButton_->setMenu(menu_.get());
133  menuButton_->setPopupMode(QToolButton::InstantPopup);
134  menuButton_->setArrowType(Qt::NoArrow);
135  menuButton_->setIcon(QIcon(":/arrows/212121_90.png"));
136  auto *_changeColor = menu_->addAction("Change color...");
137  connect(_changeColor, SIGNAL(triggered()), this, SLOT(selectColor()));
138 
139  menu_->addSeparator();
140  auto *_peripheral = menu_->addAction("Peripheral Setup");
141  connect(_peripheral, SIGNAL(triggered()), this,
142  SIGNAL(peripheralSetupSelected()));
143 
144  auto *_free = menu_->addAction("Free Setup");
145  connect(_free, SIGNAL(triggered()), this, SIGNAL(freeSetupSelected()));
146 
147  setupToolButton(displayButton_);
148  displayButton_->setCheckable(true);
149  displayButton_->setChecked(true);
150  displayButton_->setIcon(QIcon(":/icons/eye.png"));
151  connect(displayButton_.get(), SIGNAL(clicked(bool)), tuningWidget(),
152  SLOT(fullscreenToggle(bool)));
153 
154  setupToolButton(maximizeButton_);
155  maximizeButton_->setIcon(QIcon(":/icons/maximize.png"));
156  connect(maximizeButton_.get(), SIGNAL(clicked()), tuningWidget(),
157  SLOT(setNextWindowState()));
158 
159  setupToolButton(closeButton_);
160  closeButton_->setIcon(QIcon(":/icons/close.png"));
161  connect(closeButton_.get(), SIGNAL(clicked()), this,
162  SIGNAL(closeButtonClicked()));
163 
164  ///////////////////// END Setup buttons
165 
166  /// Add widget in this left-to-right order to layout
167  layout()->addWidget(menuButton_.get());
168  layout()->addWidget(displayButton_.get());
169  layout()->addWidget(this->label_);
170  layout()->addWidget(maximizeButton_.get());
171  layout()->addWidget(closeButton_.get());
172  layout()->setSpacing(0);
173  layout()->setContentsMargins(0, 0, 0, 0);
174 
176  tuningWidget_->tuning()->color());
177  }
QUniquePtr< QToolButton > displayButton_
Button for toggling fullscreen display.
Definition: TitleBar.h:93
void fullscreenToggle(bool)
Update State for display button when fullscreen has been toggled.
Definition: TitleBar.cpp:80
QUniquePtr< QToolButton > closeButton_
Button for closing widget.
Definition: TitleBar.h:99
void selectColor()
Select color from color picker.
Definition: TitleBar.cpp:56
Tuning * tuningWidget_
Parent tuning widget.
Definition: TitleBar.h:105
QUniquePtr< QMenu > menu_
Context menu widget.
Definition: TitleBar.h:102
QLabel * label_
Definition: Widget.h:55
QUniquePtr< QToolButton > menuButton_
Button for resetting and projector setup selection.
Definition: TitleBar.h:90
QColor color() const
Returns color for mapping.
Definition: Tuning.cpp:124
Tuning * tuningWidget()
Set moving flag to value and handle visibility of buttons.
Definition: TitleBar.cpp:179
void setColor(QColor const &)
Set color from gradient pos (between 0.0 and 1.0)
Definition: TitleBar.cpp:49
omni::proj::Tuning * tuning()
Return pointer to tuning.
Definition: TuningFromIndex.h:54
QUniquePtr< QToolButton > maximizeButton_
Button for Minimizing/Maximizing widget.
Definition: TitleBar.h:96
Tuning * omni::ui::proj::TitleBar::tuningWidget ( )
private

Set moving flag to value and handle visibility of buttons.

180  {
181  return tuningWidget_;
182  }
Tuning * tuningWidget_
Parent tuning widget.
Definition: TitleBar.h:105

Field Documentation

QUniquePtr<QToolButton> omni::ui::proj::TitleBar::closeButton_
private

Button for closing widget.

QColor omni::ui::proj::TitleBar::color_
private
QUniquePtr<QToolButton> omni::ui::proj::TitleBar::displayButton_
private

Button for toggling fullscreen display.

QUniquePtr<QToolButton> omni::ui::proj::TitleBar::maximizeButton_
private

Button for Minimizing/Maximizing widget.

QUniquePtr<QMenu> omni::ui::proj::TitleBar::menu_
private

Context menu widget.

QUniquePtr<QToolButton> omni::ui::proj::TitleBar::menuButton_
private

Button for resetting and projector setup selection.

Tuning* omni::ui::proj::TitleBar::tuningWidget_ = nullptr
private

Parent tuning widget.


The documentation for this class was generated from the following files: