Sophie

Sophie

distrib > Mageia > 6 > x86_64 > media > core-updates > by-pkgid > 19952c5e751bf7e3108c3c59625b0f35 > files > 336

qtcharts5-doc-5.9.4-1.mga6.noarch.rpm

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>mainwidget.cpp Example File | Qt Charts 5.9</title>
  <link rel="stylesheet" type="text/css" href="style/offline-simple.css" />
  <script type="text/javascript">
    document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css");
    // loading style sheet breaks anchors that were jumped to before
    // so force jumping to anchor again
    setTimeout(function() {
        var anchor = location.hash;
        // need to jump to different anchor first (e.g. none)
        location.hash = "#";
        setTimeout(function() {
            location.hash = anchor;
        }, 0);
    }, 0);
  </script>
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="main">
    <div class="main-rounded">
      <div class="navigationbar">
        <table><tr>
<td >Qt 5.9</td><td ><a href="qtcharts-index.html">Qt Charts</a></td><td ><a href="qtcharts-overview.html#legend">Legend Example</a></td><td >mainwidget.cpp Example File</td></tr></table><table class="buildversion"><tr>
<td id="buildversion" width="100%" align="right">Qt 5.9.4 Reference Documentation</td>
        </tr></table>
      </div>
    </div>
<div class="content">
<div class="line">
<div class="content mainContent">
<div class="sidebar"><div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">mainwidget.cpp Example File</h1>
<span class="subtitle">legend/mainwidget.cpp</span>
<!-- $$$legend/mainwidget.cpp-description -->
<div class="descr"> <a name="details"></a>
<pre class="cpp">

  <span class="comment">/****************************************************************************
  **
  ** Copyright (C) 2016 The Qt Company Ltd.
  ** Contact: https://www.qt.io/licensing/
  **
  ** This file is part of the Qt Charts module of the Qt Toolkit.
  **
  ** $QT_BEGIN_LICENSE:GPL$
  ** Commercial License Usage
  ** Licensees holding valid commercial Qt licenses may use this file in
  ** accordance with the commercial license agreement provided with the
  ** Software or, alternatively, in accordance with the terms contained in
  ** a written agreement between you and The Qt Company. For licensing terms
  ** and conditions see https://www.qt.io/terms-conditions. For further
  ** information use the contact form at https://www.qt.io/contact-us.
  **
  ** GNU General Public License Usage
  ** Alternatively, this file may be used under the terms of the GNU
  ** General Public License version 3 or (at your option) any later version
  ** approved by the KDE Free Qt Foundation. The licenses are as published by
  ** the Free Software Foundation and appearing in the file LICENSE.GPL3
  ** included in the packaging of this file. Please review the following
  ** information to ensure the GNU General Public License requirements will
  ** be met: https://www.gnu.org/licenses/gpl-3.0.html.
  **
  ** $QT_END_LICENSE$
  **
  ****************************************************************************/</span>

  <span class="preprocessor">#include &quot;mainwidget.h&quot;</span>
  <span class="preprocessor">#include &lt;QtCharts/QChart&gt;</span>
  <span class="preprocessor">#include &lt;QtCharts/QChartView&gt;</span>
  <span class="preprocessor">#include &lt;QtWidgets/QPushButton&gt;</span>
  <span class="preprocessor">#include &lt;QtWidgets/QLabel&gt;</span>
  <span class="preprocessor">#include &lt;QtCore/QDebug&gt;</span>
  <span class="preprocessor">#include &lt;QtCharts/QBarSet&gt;</span>
  <span class="preprocessor">#include &lt;QtCharts/QBarSeries&gt;</span>
  <span class="preprocessor">#include &lt;QtCharts/QLegend&gt;</span>
  <span class="preprocessor">#include &lt;QtWidgets/QFormLayout&gt;</span>

  QT_CHARTS_USE_NAMESPACE

  MainWidget<span class="operator">::</span>MainWidget(<span class="type">QWidget</span> <span class="operator">*</span>parent) :
      <span class="type">QWidget</span>(parent)
  {
      <span class="comment">// Create buttons for ui</span>
      m_buttonLayout <span class="operator">=</span> <span class="keyword">new</span> <span class="type">QGridLayout</span>();
      <span class="type">QPushButton</span> <span class="operator">*</span>detachLegendButton <span class="operator">=</span> <span class="keyword">new</span> <span class="type">QPushButton</span>(<span class="string">&quot;Toggle attached&quot;</span>);
      connect(detachLegendButton<span class="operator">,</span> <span class="operator">&amp;</span><span class="type">QPushButton</span><span class="operator">::</span>clicked<span class="operator">,</span> <span class="keyword">this</span><span class="operator">,</span> <span class="operator">&amp;</span>MainWidget<span class="operator">::</span>toggleAttached);
      m_buttonLayout<span class="operator">-</span><span class="operator">&gt;</span>addWidget(detachLegendButton<span class="operator">,</span> <span class="number">0</span><span class="operator">,</span> <span class="number">0</span>);

      <span class="type">QPushButton</span> <span class="operator">*</span>addSetButton <span class="operator">=</span> <span class="keyword">new</span> <span class="type">QPushButton</span>(<span class="string">&quot;add barset&quot;</span>);
      connect(addSetButton<span class="operator">,</span> <span class="operator">&amp;</span><span class="type">QPushButton</span><span class="operator">::</span>clicked<span class="operator">,</span> <span class="keyword">this</span><span class="operator">,</span> <span class="operator">&amp;</span>MainWidget<span class="operator">::</span>addBarset);
      m_buttonLayout<span class="operator">-</span><span class="operator">&gt;</span>addWidget(addSetButton<span class="operator">,</span> <span class="number">2</span><span class="operator">,</span> <span class="number">0</span>);
      <span class="type">QPushButton</span> <span class="operator">*</span>removeBarsetButton <span class="operator">=</span> <span class="keyword">new</span> <span class="type">QPushButton</span>(<span class="string">&quot;remove barset&quot;</span>);
      connect(removeBarsetButton<span class="operator">,</span> <span class="operator">&amp;</span><span class="type">QPushButton</span><span class="operator">::</span>clicked<span class="operator">,</span> <span class="keyword">this</span><span class="operator">,</span> <span class="operator">&amp;</span>MainWidget<span class="operator">::</span>removeBarset);
      m_buttonLayout<span class="operator">-</span><span class="operator">&gt;</span>addWidget(removeBarsetButton<span class="operator">,</span> <span class="number">3</span><span class="operator">,</span> <span class="number">0</span>);

      <span class="type">QPushButton</span> <span class="operator">*</span>alignButton <span class="operator">=</span> <span class="keyword">new</span> <span class="type">QPushButton</span>(<span class="string">&quot;Align (Bottom)&quot;</span>);
      connect(alignButton<span class="operator">,</span> <span class="operator">&amp;</span><span class="type">QPushButton</span><span class="operator">::</span>clicked<span class="operator">,</span> <span class="keyword">this</span><span class="operator">,</span> <span class="operator">&amp;</span>MainWidget<span class="operator">::</span>setLegendAlignment);
      m_buttonLayout<span class="operator">-</span><span class="operator">&gt;</span>addWidget(alignButton<span class="operator">,</span> <span class="number">4</span><span class="operator">,</span> <span class="number">0</span>);

      <span class="type">QPushButton</span> <span class="operator">*</span>boldButton <span class="operator">=</span> <span class="keyword">new</span> <span class="type">QPushButton</span>(<span class="string">&quot;Toggle bold&quot;</span>);
      connect(boldButton<span class="operator">,</span> <span class="operator">&amp;</span><span class="type">QPushButton</span><span class="operator">::</span>clicked<span class="operator">,</span> <span class="keyword">this</span><span class="operator">,</span> <span class="operator">&amp;</span>MainWidget<span class="operator">::</span>toggleBold);
      m_buttonLayout<span class="operator">-</span><span class="operator">&gt;</span>addWidget(boldButton<span class="operator">,</span> <span class="number">8</span><span class="operator">,</span> <span class="number">0</span>);

      <span class="type">QPushButton</span> <span class="operator">*</span>italicButton <span class="operator">=</span> <span class="keyword">new</span> <span class="type">QPushButton</span>(<span class="string">&quot;Toggle italic&quot;</span>);
      connect(italicButton<span class="operator">,</span> <span class="operator">&amp;</span><span class="type">QPushButton</span><span class="operator">::</span>clicked<span class="operator">,</span> <span class="keyword">this</span><span class="operator">,</span> <span class="operator">&amp;</span>MainWidget<span class="operator">::</span>toggleItalic);
      m_buttonLayout<span class="operator">-</span><span class="operator">&gt;</span>addWidget(italicButton<span class="operator">,</span> <span class="number">9</span><span class="operator">,</span> <span class="number">0</span>);

      m_legendPosX <span class="operator">=</span> <span class="keyword">new</span> <span class="type">QDoubleSpinBox</span>();
      m_legendPosY <span class="operator">=</span> <span class="keyword">new</span> <span class="type">QDoubleSpinBox</span>();
      m_legendWidth <span class="operator">=</span> <span class="keyword">new</span> <span class="type">QDoubleSpinBox</span>();
      m_legendHeight <span class="operator">=</span> <span class="keyword">new</span> <span class="type">QDoubleSpinBox</span>();

      connect(m_legendPosX<span class="operator">,</span>
              <span class="keyword">static_cast</span><span class="operator">&lt;</span><span class="type">void</span> (<span class="type">QDoubleSpinBox</span><span class="operator">::</span><span class="operator">*</span>)(<span class="type">double</span>)<span class="operator">&gt;</span>(<span class="operator">&amp;</span><span class="type">QDoubleSpinBox</span><span class="operator">::</span>valueChanged)<span class="operator">,</span>
              <span class="keyword">this</span><span class="operator">,</span> <span class="operator">&amp;</span>MainWidget<span class="operator">::</span>updateLegendLayout);
      connect(m_legendPosY<span class="operator">,</span>
              <span class="keyword">static_cast</span><span class="operator">&lt;</span><span class="type">void</span> (<span class="type">QDoubleSpinBox</span><span class="operator">::</span><span class="operator">*</span>)(<span class="type">double</span>)<span class="operator">&gt;</span>(<span class="operator">&amp;</span><span class="type">QDoubleSpinBox</span><span class="operator">::</span>valueChanged)<span class="operator">,</span>
              <span class="keyword">this</span><span class="operator">,</span> <span class="operator">&amp;</span>MainWidget<span class="operator">::</span>updateLegendLayout);
      connect(m_legendWidth<span class="operator">,</span>
              <span class="keyword">static_cast</span><span class="operator">&lt;</span><span class="type">void</span> (<span class="type">QDoubleSpinBox</span><span class="operator">::</span><span class="operator">*</span>)(<span class="type">double</span>)<span class="operator">&gt;</span>(<span class="operator">&amp;</span><span class="type">QDoubleSpinBox</span><span class="operator">::</span>valueChanged)<span class="operator">,</span>
              <span class="keyword">this</span><span class="operator">,</span> <span class="operator">&amp;</span>MainWidget<span class="operator">::</span>updateLegendLayout);
      connect(m_legendHeight<span class="operator">,</span>
              <span class="keyword">static_cast</span><span class="operator">&lt;</span><span class="type">void</span> (<span class="type">QDoubleSpinBox</span><span class="operator">::</span><span class="operator">*</span>)(<span class="type">double</span>)<span class="operator">&gt;</span>(<span class="operator">&amp;</span><span class="type">QDoubleSpinBox</span><span class="operator">::</span>valueChanged)<span class="operator">,</span>
              <span class="keyword">this</span><span class="operator">,</span> <span class="operator">&amp;</span>MainWidget<span class="operator">::</span>updateLegendLayout);

      <span class="type">QFormLayout</span> <span class="operator">*</span>legendLayout <span class="operator">=</span> <span class="keyword">new</span> <span class="type">QFormLayout</span>();
      legendLayout<span class="operator">-</span><span class="operator">&gt;</span>addRow(<span class="string">&quot;HPos&quot;</span><span class="operator">,</span> m_legendPosX);
      legendLayout<span class="operator">-</span><span class="operator">&gt;</span>addRow(<span class="string">&quot;VPos&quot;</span><span class="operator">,</span> m_legendPosY);
      legendLayout<span class="operator">-</span><span class="operator">&gt;</span>addRow(<span class="string">&quot;Width&quot;</span><span class="operator">,</span> m_legendWidth);
      legendLayout<span class="operator">-</span><span class="operator">&gt;</span>addRow(<span class="string">&quot;Height&quot;</span><span class="operator">,</span> m_legendHeight);
      m_legendSettings <span class="operator">=</span> <span class="keyword">new</span> <span class="type">QGroupBox</span>(<span class="string">&quot;Detached legend&quot;</span>);
      m_legendSettings<span class="operator">-</span><span class="operator">&gt;</span>setLayout(legendLayout);
      m_buttonLayout<span class="operator">-</span><span class="operator">&gt;</span>addWidget(m_legendSettings);
      m_legendSettings<span class="operator">-</span><span class="operator">&gt;</span>setVisible(<span class="keyword">false</span>);

      <span class="comment">// Create chart view with the chart</span>
      m_chart <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qchart.html">QChart</a></span>();
      m_chartView <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qchartview.html">QChartView</a></span>(m_chart<span class="operator">,</span> <span class="keyword">this</span>);

      <span class="comment">// Create spinbox to modify font size</span>
      m_fontSize <span class="operator">=</span> <span class="keyword">new</span> <span class="type">QDoubleSpinBox</span>();
      m_fontSize<span class="operator">-</span><span class="operator">&gt;</span>setValue(m_chart<span class="operator">-</span><span class="operator">&gt;</span>legend()<span class="operator">-</span><span class="operator">&gt;</span>font()<span class="operator">.</span>pointSizeF());
      connect(m_fontSize<span class="operator">,</span>
              <span class="keyword">static_cast</span><span class="operator">&lt;</span><span class="type">void</span> (<span class="type">QDoubleSpinBox</span><span class="operator">::</span><span class="operator">*</span>)(<span class="type">double</span>)<span class="operator">&gt;</span>(<span class="operator">&amp;</span><span class="type">QDoubleSpinBox</span><span class="operator">::</span>valueChanged)<span class="operator">,</span>
              <span class="keyword">this</span><span class="operator">,</span> <span class="operator">&amp;</span>MainWidget<span class="operator">::</span>fontSizeChanged);

      <span class="type">QFormLayout</span> <span class="operator">*</span>fontLayout <span class="operator">=</span> <span class="keyword">new</span> <span class="type">QFormLayout</span>();
      fontLayout<span class="operator">-</span><span class="operator">&gt;</span>addRow(<span class="string">&quot;Legend font size&quot;</span><span class="operator">,</span> m_fontSize);

      <span class="comment">// Create layout for grid and detached legend</span>
      m_mainLayout <span class="operator">=</span> <span class="keyword">new</span> <span class="type">QGridLayout</span>();
      m_mainLayout<span class="operator">-</span><span class="operator">&gt;</span>addLayout(m_buttonLayout<span class="operator">,</span> <span class="number">0</span><span class="operator">,</span> <span class="number">0</span>);
      m_mainLayout<span class="operator">-</span><span class="operator">&gt;</span>addLayout(fontLayout<span class="operator">,</span> <span class="number">1</span><span class="operator">,</span> <span class="number">0</span>);
      m_mainLayout<span class="operator">-</span><span class="operator">&gt;</span>addWidget(m_chartView<span class="operator">,</span> <span class="number">0</span><span class="operator">,</span> <span class="number">1</span><span class="operator">,</span> <span class="number">3</span><span class="operator">,</span> <span class="number">1</span>);
      setLayout(m_mainLayout);

      createSeries();
  }

  <span class="type">void</span> MainWidget<span class="operator">::</span>createSeries()
  {
      m_series <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qbarseries.html">QBarSeries</a></span>();
      addBarset();
      addBarset();
      addBarset();
      addBarset();

      m_chart<span class="operator">-</span><span class="operator">&gt;</span>addSeries(m_series);
      m_chart<span class="operator">-</span><span class="operator">&gt;</span>setTitle(<span class="string">&quot;Legend detach example&quot;</span>);
      m_chart<span class="operator">-</span><span class="operator">&gt;</span>createDefaultAxes();
      m_chart<span class="operator">-</span><span class="operator">&gt;</span>legend()<span class="operator">-</span><span class="operator">&gt;</span>setVisible(<span class="keyword">true</span>);
      m_chart<span class="operator">-</span><span class="operator">&gt;</span>legend()<span class="operator">-</span><span class="operator">&gt;</span>setAlignment(<span class="type">Qt</span><span class="operator">::</span>AlignBottom);

      m_chartView<span class="operator">-</span><span class="operator">&gt;</span>setRenderHint(<span class="type">QPainter</span><span class="operator">::</span>Antialiasing);
  }

  <span class="type">void</span> MainWidget<span class="operator">::</span>showLegendSpinbox()
  {
      m_legendSettings<span class="operator">-</span><span class="operator">&gt;</span>setVisible(<span class="keyword">true</span>);
      <span class="type">QRectF</span> chartViewRect <span class="operator">=</span> m_chartView<span class="operator">-</span><span class="operator">&gt;</span>rect();

      m_legendPosX<span class="operator">-</span><span class="operator">&gt;</span>setMinimum(<span class="number">0</span>);
      m_legendPosX<span class="operator">-</span><span class="operator">&gt;</span>setMaximum(chartViewRect<span class="operator">.</span>width());
      m_legendPosX<span class="operator">-</span><span class="operator">&gt;</span>setValue(<span class="number">150</span>);

      m_legendPosY<span class="operator">-</span><span class="operator">&gt;</span>setMinimum(<span class="number">0</span>);
      m_legendPosY<span class="operator">-</span><span class="operator">&gt;</span>setMaximum(chartViewRect<span class="operator">.</span>height());
      m_legendPosY<span class="operator">-</span><span class="operator">&gt;</span>setValue(<span class="number">150</span>);

      m_legendWidth<span class="operator">-</span><span class="operator">&gt;</span>setMinimum(<span class="number">0</span>);
      m_legendWidth<span class="operator">-</span><span class="operator">&gt;</span>setMaximum(chartViewRect<span class="operator">.</span>width());
      m_legendWidth<span class="operator">-</span><span class="operator">&gt;</span>setValue(<span class="number">150</span>);

      m_legendHeight<span class="operator">-</span><span class="operator">&gt;</span>setMinimum(<span class="number">0</span>);
      m_legendHeight<span class="operator">-</span><span class="operator">&gt;</span>setMaximum(chartViewRect<span class="operator">.</span>height());
      m_legendHeight<span class="operator">-</span><span class="operator">&gt;</span>setValue(<span class="number">75</span>);
  }

  <span class="type">void</span> MainWidget<span class="operator">::</span>hideLegendSpinbox()
  {
      m_legendSettings<span class="operator">-</span><span class="operator">&gt;</span>setVisible(<span class="keyword">false</span>);
  }

  <span class="type">void</span> MainWidget<span class="operator">::</span>toggleAttached()
  {
      <span class="type"><a href="qlegend.html">QLegend</a></span> <span class="operator">*</span>legend <span class="operator">=</span> m_chart<span class="operator">-</span><span class="operator">&gt;</span>legend();
      <span class="keyword">if</span> (legend<span class="operator">-</span><span class="operator">&gt;</span>isAttachedToChart()) {
          legend<span class="operator">-</span><span class="operator">&gt;</span>detachFromChart();
          m_chart<span class="operator">-</span><span class="operator">&gt;</span>legend()<span class="operator">-</span><span class="operator">&gt;</span>setBackgroundVisible(<span class="keyword">true</span>);
          m_chart<span class="operator">-</span><span class="operator">&gt;</span>legend()<span class="operator">-</span><span class="operator">&gt;</span>setBrush(<span class="type">QBrush</span>(<span class="type">QColor</span>(<span class="number">128</span><span class="operator">,</span> <span class="number">128</span><span class="operator">,</span> <span class="number">128</span><span class="operator">,</span> <span class="number">128</span>)));
          m_chart<span class="operator">-</span><span class="operator">&gt;</span>legend()<span class="operator">-</span><span class="operator">&gt;</span>setPen(<span class="type">QPen</span>(<span class="type">QColor</span>(<span class="number">192</span><span class="operator">,</span> <span class="number">192</span><span class="operator">,</span> <span class="number">192</span><span class="operator">,</span> <span class="number">192</span>)));
          showLegendSpinbox();
          updateLegendLayout();
      } <span class="keyword">else</span> {
          legend<span class="operator">-</span><span class="operator">&gt;</span>attachToChart();
          legend<span class="operator">-</span><span class="operator">&gt;</span>setBackgroundVisible(<span class="keyword">false</span>);
          hideLegendSpinbox();
      }
      update();
  }

  <span class="type">void</span> MainWidget<span class="operator">::</span>addBarset()
  {
      <span class="type"><a href="qbarset.html">QBarSet</a></span> <span class="operator">*</span>barSet <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qbarset.html">QBarSet</a></span>(<span class="type">QString</span>(<span class="string">&quot;set &quot;</span>) <span class="operator">+</span> <span class="type">QString</span><span class="operator">::</span>number(m_series<span class="operator">-</span><span class="operator">&gt;</span>count()));
      <span class="type">qreal</span> delta <span class="operator">=</span> m_series<span class="operator">-</span><span class="operator">&gt;</span>count() <span class="operator">*</span> <span class="number">0.1</span>;
      <span class="operator">*</span>barSet <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">1</span> <span class="operator">+</span> delta <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">2</span> <span class="operator">+</span> delta <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">3</span> <span class="operator">+</span> delta <span class="operator">&lt;</span><span class="operator">&lt;</span> <span class="number">4</span> <span class="operator">+</span> delta;
      m_series<span class="operator">-</span><span class="operator">&gt;</span>append(barSet);
  }

  <span class="type">void</span> MainWidget<span class="operator">::</span>removeBarset()
  {
      <span class="type">QList</span><span class="operator">&lt;</span><span class="type"><a href="qbarset.html">QBarSet</a></span> <span class="operator">*</span><span class="operator">&gt;</span> sets <span class="operator">=</span> m_series<span class="operator">-</span><span class="operator">&gt;</span>barSets();
      <span class="keyword">if</span> (sets<span class="operator">.</span>count() <span class="operator">&gt;</span> <span class="number">0</span>) {
          m_series<span class="operator">-</span><span class="operator">&gt;</span>remove(sets<span class="operator">.</span>at(sets<span class="operator">.</span>count() <span class="operator">-</span> <span class="number">1</span>));
      }
  }

  <span class="type">void</span> MainWidget<span class="operator">::</span>setLegendAlignment()
  {
      <span class="type">QPushButton</span> <span class="operator">*</span>button <span class="operator">=</span> qobject_cast<span class="operator">&lt;</span><span class="type">QPushButton</span> <span class="operator">*</span><span class="operator">&gt;</span>(sender());

      <span class="keyword">switch</span> (m_chart<span class="operator">-</span><span class="operator">&gt;</span>legend()<span class="operator">-</span><span class="operator">&gt;</span>alignment()) {
      <span class="keyword">case</span> <span class="type">Qt</span><span class="operator">::</span>AlignTop:
          m_chart<span class="operator">-</span><span class="operator">&gt;</span>legend()<span class="operator">-</span><span class="operator">&gt;</span>setAlignment(<span class="type">Qt</span><span class="operator">::</span>AlignLeft);
          <span class="keyword">if</span> (button)
              button<span class="operator">-</span><span class="operator">&gt;</span>setText(<span class="string">&quot;Align (Left)&quot;</span>);
          <span class="keyword">break</span>;
      <span class="keyword">case</span> <span class="type">Qt</span><span class="operator">::</span>AlignLeft:
          m_chart<span class="operator">-</span><span class="operator">&gt;</span>legend()<span class="operator">-</span><span class="operator">&gt;</span>setAlignment(<span class="type">Qt</span><span class="operator">::</span>AlignBottom);
          <span class="keyword">if</span> (button)
              button<span class="operator">-</span><span class="operator">&gt;</span>setText(<span class="string">&quot;Align (Bottom)&quot;</span>);
          <span class="keyword">break</span>;
      <span class="keyword">case</span> <span class="type">Qt</span><span class="operator">::</span>AlignBottom:
          m_chart<span class="operator">-</span><span class="operator">&gt;</span>legend()<span class="operator">-</span><span class="operator">&gt;</span>setAlignment(<span class="type">Qt</span><span class="operator">::</span>AlignRight);
          <span class="keyword">if</span> (button)
              button<span class="operator">-</span><span class="operator">&gt;</span>setText(<span class="string">&quot;Align (Right)&quot;</span>);
          <span class="keyword">break</span>;
      <span class="keyword">default</span>:
          <span class="keyword">if</span> (button)
              button<span class="operator">-</span><span class="operator">&gt;</span>setText(<span class="string">&quot;Align (Top)&quot;</span>);
          m_chart<span class="operator">-</span><span class="operator">&gt;</span>legend()<span class="operator">-</span><span class="operator">&gt;</span>setAlignment(<span class="type">Qt</span><span class="operator">::</span>AlignTop);
          <span class="keyword">break</span>;
      }
  }

  <span class="type">void</span> MainWidget<span class="operator">::</span>toggleBold()
  {
      <span class="type">QFont</span> font <span class="operator">=</span> m_chart<span class="operator">-</span><span class="operator">&gt;</span>legend()<span class="operator">-</span><span class="operator">&gt;</span>font();
      font<span class="operator">.</span>setBold(<span class="operator">!</span>font<span class="operator">.</span>bold());
      m_chart<span class="operator">-</span><span class="operator">&gt;</span>legend()<span class="operator">-</span><span class="operator">&gt;</span>setFont(font);
  }

  <span class="type">void</span> MainWidget<span class="operator">::</span>toggleItalic()
  {
      <span class="type">QFont</span> font <span class="operator">=</span> m_chart<span class="operator">-</span><span class="operator">&gt;</span>legend()<span class="operator">-</span><span class="operator">&gt;</span>font();
      font<span class="operator">.</span>setItalic(<span class="operator">!</span>font<span class="operator">.</span>italic());
      m_chart<span class="operator">-</span><span class="operator">&gt;</span>legend()<span class="operator">-</span><span class="operator">&gt;</span>setFont(font);
  }

  <span class="type">void</span> MainWidget<span class="operator">::</span>fontSizeChanged()
  {
      <span class="type">QFont</span> font <span class="operator">=</span> m_chart<span class="operator">-</span><span class="operator">&gt;</span>legend()<span class="operator">-</span><span class="operator">&gt;</span>font();
      font<span class="operator">.</span>setPointSizeF(m_fontSize<span class="operator">-</span><span class="operator">&gt;</span>value());
      m_chart<span class="operator">-</span><span class="operator">&gt;</span>legend()<span class="operator">-</span><span class="operator">&gt;</span>setFont(font);
  }

  <span class="type">void</span> MainWidget<span class="operator">::</span>updateLegendLayout()
  {
      m_chart<span class="operator">-</span><span class="operator">&gt;</span>legend()<span class="operator">-</span><span class="operator">&gt;</span>setGeometry(<span class="type">QRectF</span>(m_legendPosX<span class="operator">-</span><span class="operator">&gt;</span>value()<span class="operator">,</span>
                                            m_legendPosY<span class="operator">-</span><span class="operator">&gt;</span>value()<span class="operator">,</span>
                                            m_legendWidth<span class="operator">-</span><span class="operator">&gt;</span>value()<span class="operator">,</span>
                                            m_legendHeight<span class="operator">-</span><span class="operator">&gt;</span>value()));
      m_chart<span class="operator">-</span><span class="operator">&gt;</span>legend()<span class="operator">-</span><span class="operator">&gt;</span>update();
  }

</pre>
</div>
<!-- @@@legend/mainwidget.cpp -->
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</acronym> 2017 The Qt Company Ltd.
   Documentation contributions included herein are the copyrights of
   their respective owners.<br>    The documentation provided herein is licensed under the terms of the    <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation    License version 1.3</a> as published by the Free Software Foundation.<br>    Qt and respective logos are trademarks of The Qt Company Ltd.     in Finland and/or other countries worldwide. All other trademarks are property
   of their respective owners. </p>
</div>
</body>
</html>