diff options
author | David Boddie <david.boddie@nokia.com> | 2011-04-28 17:44:32 (GMT) |
---|---|---|
committer | David Boddie <david.boddie@nokia.com> | 2011-04-28 17:44:32 (GMT) |
commit | 496341552bb178d1bd13474fd3259898fc7c9cfd (patch) | |
tree | 755eb4af8bd0828c7b31fb8e046c6c689ff1c729 | |
parent | 6eea2ca63aab1e32a0a384071d6ca5222a81e9a9 (diff) | |
parent | 539311f7b2687e3148ea695ce06fee768abe7b44 (diff) | |
download | Qt-496341552bb178d1bd13474fd3259898fc7c9cfd.zip Qt-496341552bb178d1bd13474fd3259898fc7c9cfd.tar.gz Qt-496341552bb178d1bd13474fd3259898fc7c9cfd.tar.bz2 |
Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-doc-team
Conflicts:
examples/declarative/animation/basics/color-animation/qml/basics.qmlproject
examples/declarative/animation/basics/property-animation/qml/basics.qmlproject
examples/declarative/animation/basics/property-animation/qml/images/face-smile.png
examples/declarative/animation/basics/property-animation/qml/images/moon.png
examples/declarative/animation/basics/property-animation/qml/images/shadow.png
examples/declarative/animation/basics/property-animation/qml/images/star.png
examples/declarative/animation/basics/property-animation/qml/images/sun.png
examples/declarative/animation/behaviors/behavior-example/qml/behaviors.qmlproject
examples/declarative/animation/easing/qml/easing.qmlproject
examples/declarative/animation/states/qml/qt-logo.png
examples/declarative/animation/states/qml/states.qmlproject
examples/declarative/demos/calculator/qml/calculator.qmlproject
examples/declarative/demos/samegame/qml/samegame.qmlproject
examples/declarative/demos/webbrowser/qml/webbrowser.qmlproject
examples/declarative/i18n/qml/i18n.qmlproject
examples/declarative/i18n/qml/i18n/base.ts
examples/declarative/i18n/qml/i18n/qml_en_AU.qm
examples/declarative/i18n/qml/i18n/qml_en_AU.ts
examples/declarative/i18n/qml/i18n/qml_fr.qm
examples/declarative/i18n/qml/i18n/qml_fr.ts
examples/declarative/imageelements/image/qml/image.qmlproject
examples/declarative/imageelements/image/qml/qt-logo.png
examples/declarative/imageelements/shadows/qml/borderimage.qmlproject
examples/declarative/imageelements/shadows/qml/content/bw.png
examples/declarative/imageelements/shadows/qml/content/colors-round.sci
examples/declarative/imageelements/shadows/qml/content/colors-stretch.sci
examples/declarative/imageelements/shadows/qml/content/colors.png
examples/declarative/imageelements/shadows/qml/content/shadow.png
examples/declarative/keyinteraction/focus/qml/Core/images/arrow.png
examples/declarative/keyinteraction/focus/qml/Core/images/qt-logo.png
examples/declarative/keyinteraction/focus/qml/focus.qmlproject
examples/declarative/modelviews/Delegate/qml/package.qmlproject
examples/declarative/modelviews/gridview-example/qml/gridview.qmlproject
examples/declarative/modelviews/gridview-example/qml/pics/AddressBook_48.png
examples/declarative/modelviews/gridview-example/qml/pics/AudioPlayer_48.png
examples/declarative/modelviews/gridview-example/qml/pics/Camera_48.png
examples/declarative/modelviews/gridview-example/qml/pics/DateBook_48.png
examples/declarative/modelviews/gridview-example/qml/pics/EMail_48.png
examples/declarative/modelviews/gridview-example/qml/pics/TodoList_48.png
examples/declarative/modelviews/gridview-example/qml/pics/VideoPlayer_48.png
examples/declarative/modelviews/listview/sections/qml/content/pics/fruit-salad.jpg
examples/declarative/modelviews/listview/sections/qml/content/pics/hamburger.jpg
examples/declarative/modelviews/listview/sections/qml/content/pics/lemonade.jpg
examples/declarative/modelviews/listview/sections/qml/content/pics/moreDown.png
examples/declarative/modelviews/listview/sections/qml/content/pics/moreUp.png
examples/declarative/modelviews/listview/sections/qml/content/pics/pancakes.jpg
examples/declarative/modelviews/listview/sections/qml/content/pics/vegetable-soup.jpg
examples/declarative/modelviews/listview/sections/qml/listview.qmlproject
examples/declarative/modelviews/pathview-example/qml/pathview.qmlproject
examples/declarative/modelviews/pathview-example/qml/pics/AddressBook_48.png
examples/declarative/modelviews/pathview-example/qml/pics/AudioPlayer_48.png
examples/declarative/modelviews/pathview-example/qml/pics/Camera_48.png
examples/declarative/modelviews/pathview-example/qml/pics/DateBook_48.png
examples/declarative/modelviews/pathview-example/qml/pics/EMail_48.png
examples/declarative/modelviews/pathview-example/qml/pics/TodoList_48.png
examples/declarative/modelviews/pathview-example/qml/pics/VideoPlayer_48.png
examples/declarative/modelviews/visualitemmodel/qml/visualitemmodel.qmlproject
examples/declarative/modelviews/webview/autosize/qml/webview.qmlproject
examples/declarative/modelviews/webview/newwindows/qml/alerts.html
examples/declarative/modelviews/webview/newwindows/qml/content/Mapping/map.html
examples/declarative/modelviews/webview/newwindows/qml/content/pics/cancel.png
examples/declarative/modelviews/webview/newwindows/qml/content/pics/ok.png
examples/declarative/modelviews/webview/newwindows/qml/newwindows.html
examples/declarative/modelviews/webview/newwindows/qml/webview.qmlproject
examples/declarative/positioners/qml/add.png
examples/declarative/positioners/qml/del.png
examples/declarative/positioners/qml/positioners.qmlproject
examples/declarative/text/fonts/banner/qml/fonts.qmlproject
examples/declarative/text/fonts/hello/qml/fonts.qmlproject
examples/declarative/text/fonts/hello/qml/fonts/tarzeau_ocr_a.ttf
examples/declarative/text/textselection/qml/pics/endHandle.png
examples/declarative/text/textselection/qml/pics/endHandle.sci
examples/declarative/text/textselection/qml/pics/startHandle.png
examples/declarative/text/textselection/qml/pics/startHandle.sci
examples/declarative/text/textselection/qml/textselection.qmlproject
examples/declarative/touchinteraction/gestures/experimental-gestures/qml/gestures.qmlproject
examples/declarative/touchinteraction/mousearea/mousearea-example/qml/mousearea.qmlproject
examples/declarative/toys/clocks/qml/clocks.qmlproject
examples/declarative/toys/clocks/qml/content/quit.png
examples/declarative/toys/corkboards/qml/cork.jpg
examples/declarative/toys/corkboards/qml/corkboards.qmlproject
examples/declarative/toys/corkboards/qml/note-yellow.png
examples/declarative/toys/corkboards/qml/tack.png
examples/declarative/toys/dynamicscene/qml/dynamicscene.qmlproject
examples/declarative/toys/dynamicscene/qml/images/NOTE
examples/declarative/toys/dynamicscene/qml/images/face-smile.png
examples/declarative/toys/dynamicscene/qml/images/moon.png
examples/declarative/toys/dynamicscene/qml/images/rabbit_brown.png
examples/declarative/toys/dynamicscene/qml/images/rabbit_bw.png
examples/declarative/toys/dynamicscene/qml/images/star.png
examples/declarative/toys/dynamicscene/qml/images/sun.png
examples/declarative/toys/dynamicscene/qml/images/tree_s.png
examples/declarative/toys/dynamicscene/qml/qml/itemCreation.js
examples/declarative/toys/tic-tac-toe/qml/content/pics/board.png
examples/declarative/toys/tic-tac-toe/qml/content/pics/o.png
examples/declarative/toys/tic-tac-toe/qml/content/pics/x.png
examples/declarative/toys/tic-tac-toe/qml/content/tic-tac-toe.js
examples/declarative/toys/tic-tac-toe/qml/tic-tac-toe.qmlproject
examples/declarative/toys/tvtennis/qml/tvtennis.qmlproject
examples/declarative/ui-components/dialcontrol/qml/content/background.png
examples/declarative/ui-components/dialcontrol/qml/content/needle.png
examples/declarative/ui-components/dialcontrol/qml/content/needle_shadow.png
examples/declarative/ui-components/dialcontrol/qml/content/overlay.png
examples/declarative/ui-components/dialcontrol/qml/content/quit.png
examples/declarative/ui-components/dialcontrol/qml/dialcontrol.qmlproject
examples/declarative/ui-components/flipable/qml/content/5_heart.png
examples/declarative/ui-components/flipable/qml/content/9_club.png
examples/declarative/ui-components/flipable/qml/content/back.png
examples/declarative/ui-components/flipable/qml/flipable.qmlproject
examples/declarative/ui-components/main/qml/content/spinner-bg.png
examples/declarative/ui-components/main/qml/content/spinner-select.png
examples/declarative/ui-components/main/qml/images/clear.png
examples/declarative/ui-components/main/qml/images/lineedit-bg-focus.png
examples/declarative/ui-components/main/qml/images/lineedit-bg.png
examples/declarative/ui-components/main/qml/pics/niagara_falls.jpg
examples/declarative/ui-components/main/qml/progressbar.qmlproject
examples/declarative/ui-components/main/qml/scrollbar.qmlproject
examples/declarative/ui-components/main/qml/searchbox.qmlproject
examples/declarative/ui-components/main/qml/spinner.qmlproject
examples/declarative/ui-components/main/qml/tab.png
examples/declarative/ui-components/main/qml/tabwidget.qmlproject
examples/declarative/ui-components/progressbar/qml/content/background.png
examples/declarative/ui-components/progressbar/qml/progressbar.qmlproject
examples/declarative/ui-components/slideswitch/qml/content/background.svg
examples/declarative/ui-components/slideswitch/qml/content/knob.svg
examples/declarative/ui-components/slideswitch/qml/slideswitch.qmlproject
examples/declarative/xml/xmlhttprequest-example/qml/data.xml
examples/declarative/xml/xmlhttprequest-example/qml/xmlhttprequest.qmlproject
-rw-r--r-- | examples/declarative/i18n/qml/i18n/qml_en_AU.qm | bin | 81 -> 0 bytes | |||
-rw-r--r-- | examples/declarative/i18n/qml/i18n/qml_fr.qm | bin | 85 -> 0 bytes | |||
-rw-r--r-- | examples/widgets/applicationicon/applicationicon.svg | 42 | ||||
-rw-r--r-- | examples/widgets/applicationicon/main.cpp | 28 | ||||
-rw-r--r-- | examples/widgets/elidedlabel/elidedlabel.cpp | 142 | ||||
-rw-r--r-- | examples/widgets/elidedlabel/elidedlabel.h | 72 | ||||
-rw-r--r-- | examples/widgets/elidedlabel/main.cpp | 26 | ||||
-rw-r--r-- | examples/widgets/elidedlabel/testwidget.cpp | 248 | ||||
-rw-r--r-- | examples/widgets/elidedlabel/testwidget.h | 72 |
9 files changed, 315 insertions, 315 deletions
diff --git a/examples/declarative/i18n/qml/i18n/qml_en_AU.qm b/examples/declarative/i18n/qml/i18n/qml_en_AU.qm Binary files differdeleted file mode 100644 index fb8b710..0000000 --- a/examples/declarative/i18n/qml/i18n/qml_en_AU.qm +++ /dev/null diff --git a/examples/declarative/i18n/qml/i18n/qml_fr.qm b/examples/declarative/i18n/qml/i18n/qml_fr.qm Binary files differdeleted file mode 100644 index 583562e..0000000 --- a/examples/declarative/i18n/qml/i18n/qml_fr.qm +++ /dev/null diff --git a/examples/widgets/applicationicon/applicationicon.svg b/examples/widgets/applicationicon/applicationicon.svg index 9d0c794..aa2835b 100644 --- a/examples/widgets/applicationicon/applicationicon.svg +++ b/examples/widgets/applicationicon/applicationicon.svg @@ -1,22 +1,22 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg xmlns="http://www.w3.org/2000/svg" width="44" height="44" baseProfile="tiny" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 44 44">
- <defs>
- <linearGradient id="linearGradient2824" y2="1051.4" gradientUnits="userSpaceOnUse" x2="30.217" y1="1009.4" x1="15.109">
- <stop stop-color="#41a200" offset="0"/>
- <stop stop-color="#9be948" offset="0.63897"/>
- <stop stop-color="#beff61" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient2848" y2="1009.4" gradientUnits="userSpaceOnUse" y1="1053.7" gradientTransform="matrix(0.85714286,0,0,0.85714286,2.1428572,146.19467)" x2="15.085" x1="31.027">
- <stop stop-color="#41a200" offset="0"/>
- <stop stop-color="#9be948" offset="0.88602"/>
- <stop stop-color="#beff61" offset="1"/>
- </linearGradient>
- </defs>
- <g id="layer1" transform="translate(0,-1008.3622)">
- <path id="rect2816" d="m8.412,1009h27.18c4.106,0,7.412,3.306,7.412,7.412v27.18c0,4.106-3.306,7.412-7.412,7.412h-27.18c-4.106,0-7.412-3-7.412-7v-27.18c0-4.106,3.306-7.412,7.412-7.412z" stroke-linecap="round" stroke-miterlimit="4" stroke-width="0.64300001" fill="url(#linearGradient2824)"/>
- <path id="rect2816-4" d="m9.353,1011h25.29c3.52,0,6.353,2.833,6.353,6.353v25.29c0,3.519-2.833,6.353-6.353,6.353h-25.29c-3.52-0.1-6.353-2.1-6.353-6.1v-25.29c0-3.519,2.833-6.353,6.353-6.353z" stroke-linecap="round" stroke-miterlimit="4" stroke-width="0.64300001" fill="url(#linearGradient2848)"/>
- <g id="text2893" font-weight="normal" transform="translate(-1.100281,1010.3622)" font-style="normal" font-stretch="normal" font-size="48px" font-variant="normal" font-family="Cambria Math" fill="#e5ffd5">
- <path id="path2908" fill="#e5ffd5" d="m11.92,35.44c1.359-1.719,2.672-3.828,3.938-6.328l7.522-14.742c-0.8-3.13-1.54-5.321-2.24-6.586-0.69-1.266-1.76-1.899-3.2-1.899-1.328,0.0000307-2.594,0.6563-3.797,1.969l-1.148-1.266c2.156-2.359,4.289-3.539,6.398-3.539,1.469,0.0000335,2.609,0.418,3.422,1.254,0.8125,0.836,1.492,2.168,2.039,3.996,0.5469,1.828,1.32,5.359,2.32,10.59,1.297,6.828,2.309,11.14,3.035,12.93,0.7265,1.789,1.59,2.684,2.59,2.684,0.7187,0.000002,1.383-0.25,1.992-0.75l0.8906,1.406c-1.547,1.203-2.938,1.805-4.172,1.805-1.75,0-3-0.8984-3.75-2.695-0.75-1.797-1.797-6.633-3.141-14.51h-0.1406c-2.658,5.391-5.258,11.001-7.798,16.831h-4.758z"/>
- </g>
- </g>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg xmlns="http://www.w3.org/2000/svg" width="44" height="44" baseProfile="tiny" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 44 44"> + <defs> + <linearGradient id="linearGradient2824" y2="1051.4" gradientUnits="userSpaceOnUse" x2="30.217" y1="1009.4" x1="15.109"> + <stop stop-color="#41a200" offset="0"/> + <stop stop-color="#9be948" offset="0.63897"/> + <stop stop-color="#beff61" offset="1"/> + </linearGradient> + <linearGradient id="linearGradient2848" y2="1009.4" gradientUnits="userSpaceOnUse" y1="1053.7" gradientTransform="matrix(0.85714286,0,0,0.85714286,2.1428572,146.19467)" x2="15.085" x1="31.027"> + <stop stop-color="#41a200" offset="0"/> + <stop stop-color="#9be948" offset="0.88602"/> + <stop stop-color="#beff61" offset="1"/> + </linearGradient> + </defs> + <g id="layer1" transform="translate(0,-1008.3622)"> + <path id="rect2816" d="m8.412,1009h27.18c4.106,0,7.412,3.306,7.412,7.412v27.18c0,4.106-3.306,7.412-7.412,7.412h-27.18c-4.106,0-7.412-3-7.412-7v-27.18c0-4.106,3.306-7.412,7.412-7.412z" stroke-linecap="round" stroke-miterlimit="4" stroke-width="0.64300001" fill="url(#linearGradient2824)"/> + <path id="rect2816-4" d="m9.353,1011h25.29c3.52,0,6.353,2.833,6.353,6.353v25.29c0,3.519-2.833,6.353-6.353,6.353h-25.29c-3.52-0.1-6.353-2.1-6.353-6.1v-25.29c0-3.519,2.833-6.353,6.353-6.353z" stroke-linecap="round" stroke-miterlimit="4" stroke-width="0.64300001" fill="url(#linearGradient2848)"/> + <g id="text2893" font-weight="normal" transform="translate(-1.100281,1010.3622)" font-style="normal" font-stretch="normal" font-size="48px" font-variant="normal" font-family="Cambria Math" fill="#e5ffd5"> + <path id="path2908" fill="#e5ffd5" d="m11.92,35.44c1.359-1.719,2.672-3.828,3.938-6.328l7.522-14.742c-0.8-3.13-1.54-5.321-2.24-6.586-0.69-1.266-1.76-1.899-3.2-1.899-1.328,0.0000307-2.594,0.6563-3.797,1.969l-1.148-1.266c2.156-2.359,4.289-3.539,6.398-3.539,1.469,0.0000335,2.609,0.418,3.422,1.254,0.8125,0.836,1.492,2.168,2.039,3.996,0.5469,1.828,1.32,5.359,2.32,10.59,1.297,6.828,2.309,11.14,3.035,12.93,0.7265,1.789,1.59,2.684,2.59,2.684,0.7187,0.000002,1.383-0.25,1.992-0.75l0.8906,1.406c-1.547,1.203-2.938,1.805-4.172,1.805-1.75,0-3-0.8984-3.75-2.695-0.75-1.797-1.797-6.633-3.141-14.51h-0.1406c-2.658,5.391-5.258,11.001-7.798,16.831h-4.758z"/> + </g> + </g> </svg>
\ No newline at end of file diff --git a/examples/widgets/applicationicon/main.cpp b/examples/widgets/applicationicon/main.cpp index 8636c0a..099bdac 100644 --- a/examples/widgets/applicationicon/main.cpp +++ b/examples/widgets/applicationicon/main.cpp @@ -1,14 +1,14 @@ -#include <QtGui/QApplication>
-#include <QtGui/QLabel>
-
-int main(int argc, char *argv[])
-{
- QApplication a(argc, argv);
- QLabel label(QObject::tr("Hello, world!"));
-#if defined(Q_WS_S60)
- label.showMaximized();
-#else
- label.show();
-#endif
- return a.exec();
-}
+#include <QtGui/QApplication> +#include <QtGui/QLabel> + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + QLabel label(QObject::tr("Hello, world!")); +#if defined(Q_WS_S60) + label.showMaximized(); +#else + label.show(); +#endif + return a.exec(); +} diff --git a/examples/widgets/elidedlabel/elidedlabel.cpp b/examples/widgets/elidedlabel/elidedlabel.cpp index cda7f26..4f3ac5e 100644 --- a/examples/widgets/elidedlabel/elidedlabel.cpp +++ b/examples/widgets/elidedlabel/elidedlabel.cpp @@ -1,71 +1,71 @@ -#include "elidedlabel.h"
-
-#include <QPainter>
-#include <QTextLayout>
-#include <QDebug>
-
-//! [0]
-ElidedLabel::ElidedLabel(const QString &text, QWidget *parent)
- : QFrame(parent)
- , elided(false)
- , content(text)
-{
- setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
-}
-//! [0]
-
-//! [1]
-void ElidedLabel::setText(const QString &newText)
-{
- content = newText;
- update();
-}
-//! [1]
-
-//! [2]
-void ElidedLabel::paintEvent(QPaintEvent *event)
-{
- QFrame::paintEvent(event);
-
- QPainter painter(this);
- QFontMetrics fontMetrics = painter.fontMetrics();
-
- bool didElide = false;
- int lineSpacing = fontMetrics.lineSpacing();
- int y = 0;
-
- QTextLayout textLayout(content, painter.font());
- textLayout.beginLayout();
- forever {
- QTextLine line = textLayout.createLine();
-
- if (!line.isValid())
- break;
-
- line.setLineWidth(width());
- int nextLineY = y + lineSpacing;
-
- if (height() >= nextLineY + lineSpacing) {
- line.draw(&painter, QPoint(0, y));
- y = nextLineY;
- //! [2]
- //! [3]
- } else {
- QString lastLine = content.mid(line.textStart());
- QString elidedLastLine = fontMetrics.elidedText(lastLine, Qt::ElideRight, width());
- painter.drawText(QPoint(0, y + fontMetrics.ascent()), elidedLastLine);
- line = textLayout.createLine();
- didElide = line.isValid();
- break;
- }
- }
- textLayout.endLayout();
- //! [3]
-
- //! [4]
- if (didElide != elided) {
- elided = didElide;
- emit elisionChanged(didElide);
- }
-}
-//! [4]
+#include "elidedlabel.h" + +#include <QPainter> +#include <QTextLayout> +#include <QDebug> + +//! [0] +ElidedLabel::ElidedLabel(const QString &text, QWidget *parent) + : QFrame(parent) + , elided(false) + , content(text) +{ + setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); +} +//! [0] + +//! [1] +void ElidedLabel::setText(const QString &newText) +{ + content = newText; + update(); +} +//! [1] + +//! [2] +void ElidedLabel::paintEvent(QPaintEvent *event) +{ + QFrame::paintEvent(event); + + QPainter painter(this); + QFontMetrics fontMetrics = painter.fontMetrics(); + + bool didElide = false; + int lineSpacing = fontMetrics.lineSpacing(); + int y = 0; + + QTextLayout textLayout(content, painter.font()); + textLayout.beginLayout(); + forever { + QTextLine line = textLayout.createLine(); + + if (!line.isValid()) + break; + + line.setLineWidth(width()); + int nextLineY = y + lineSpacing; + + if (height() >= nextLineY + lineSpacing) { + line.draw(&painter, QPoint(0, y)); + y = nextLineY; + //! [2] + //! [3] + } else { + QString lastLine = content.mid(line.textStart()); + QString elidedLastLine = fontMetrics.elidedText(lastLine, Qt::ElideRight, width()); + painter.drawText(QPoint(0, y + fontMetrics.ascent()), elidedLastLine); + line = textLayout.createLine(); + didElide = line.isValid(); + break; + } + } + textLayout.endLayout(); + //! [3] + + //! [4] + if (didElide != elided) { + elided = didElide; + emit elisionChanged(didElide); + } +} +//! [4] diff --git a/examples/widgets/elidedlabel/elidedlabel.h b/examples/widgets/elidedlabel/elidedlabel.h index 6c55ecd..b68f605 100644 --- a/examples/widgets/elidedlabel/elidedlabel.h +++ b/examples/widgets/elidedlabel/elidedlabel.h @@ -1,36 +1,36 @@ -#ifndef ELIDEDLABEL_H
-#define ELIDEDLABEL_H
-
-#include <QFrame>
-#include <QRect>
-#include <QResizeEvent>
-#include <QString>
-#include <QWidget>
-
-//! [0]
-class ElidedLabel : public QFrame
-{
- Q_OBJECT
- Q_PROPERTY(QString text READ text WRITE setText)
- Q_PROPERTY(bool isElided READ isElided)
-
-public:
- ElidedLabel(const QString &text, QWidget *parent = 0);
-
- void setText(const QString &text);
- const QString & text() const { return content; }
- bool isElided() const { return elided; }
-
-protected:
- void paintEvent(QPaintEvent *event);
-
-signals:
- void elisionChanged(bool elided);
-
-private:
- bool elided;
- QString content;
-};
-//! [0]
-
-#endif // TEXTWRAPPINGWIDGET_H
+#ifndef ELIDEDLABEL_H +#define ELIDEDLABEL_H + +#include <QFrame> +#include <QRect> +#include <QResizeEvent> +#include <QString> +#include <QWidget> + +//! [0] +class ElidedLabel : public QFrame +{ + Q_OBJECT + Q_PROPERTY(QString text READ text WRITE setText) + Q_PROPERTY(bool isElided READ isElided) + +public: + ElidedLabel(const QString &text, QWidget *parent = 0); + + void setText(const QString &text); + const QString & text() const { return content; } + bool isElided() const { return elided; } + +protected: + void paintEvent(QPaintEvent *event); + +signals: + void elisionChanged(bool elided); + +private: + bool elided; + QString content; +}; +//! [0] + +#endif // TEXTWRAPPINGWIDGET_H diff --git a/examples/widgets/elidedlabel/main.cpp b/examples/widgets/elidedlabel/main.cpp index 851ee4a..1346d25 100644 --- a/examples/widgets/elidedlabel/main.cpp +++ b/examples/widgets/elidedlabel/main.cpp @@ -1,13 +1,13 @@ -#include "testwidget.h"
-
-#include <QtGui/QApplication>
-
-//! [0]
-int main( int argc, char *argv[] )
-{
- QApplication application( argc, argv );
- TestWidget w;
- w.showFullScreen();
- return application.exec();
-}
-//! [0]
+#include "testwidget.h" + +#include <QtGui/QApplication> + +//! [0] +int main( int argc, char *argv[] ) +{ + QApplication application( argc, argv ); + TestWidget w; + w.showFullScreen(); + return application.exec(); +} +//! [0] diff --git a/examples/widgets/elidedlabel/testwidget.cpp b/examples/widgets/elidedlabel/testwidget.cpp index c9bc18e..d3bf521 100644 --- a/examples/widgets/elidedlabel/testwidget.cpp +++ b/examples/widgets/elidedlabel/testwidget.cpp @@ -1,124 +1,124 @@ -#include "testwidget.h"
-#include "elidedlabel.h"
-
-#include <QLabel>
-#include <QPushButton>
-#include <QSizePolicy>
-#include <QGridLayout>
-
-//! [0]
-TestWidget::TestWidget(QWidget *parent):
- QWidget(parent)
-{
- const QString romeo = tr(
- "But soft, what light through yonder window breaks? / "
- "It is the east, and Juliet is the sun. / "
- "Arise, fair sun, and kill the envious moon, / "
- "Who is already sick and pale with grief / "
- "That thou, her maid, art far more fair than she."
- );
-
- const QString macbeth = tr(
- "To-morrow, and to-morrow, and to-morrow, / "
- "Creeps in this petty pace from day to day, / "
- "To the last syllable of recorded time; / "
- "And all our yesterdays have lighted fools / "
- "The way to dusty death. Out, out, brief candle! / "
- "Life's but a walking shadow, a poor player, / "
- "That struts and frets his hour upon the stage, / "
- "And then is heard no more. It is a tale / "
- "Told by an idiot, full of sound and fury, / "
- "Signifying nothing."
- );
-
- const QString harry = tr("Feeling lucky, punk?");
-
- textSamples << romeo << macbeth << harry;
- //! [0]
-
- //! [1]
- sampleIndex = 0;
- elidedText = new ElidedLabel(textSamples[sampleIndex], this);
- elidedText->setFrameStyle(QFrame::Box);
- //! [1]
-
- //! [2]
- QPushButton *switchButton = new QPushButton(tr("Switch text"));
- connect(switchButton, SIGNAL(clicked(bool)), this, SLOT(switchText()));
-
- QPushButton *exitButton = new QPushButton(tr("Exit"));
- connect(exitButton, SIGNAL(clicked(bool)), this, SLOT(close()));
-
- QLabel *label = new QLabel(tr("Elided"));
- label->setVisible(elidedText->isElided());
- connect(elidedText, SIGNAL(elisionChanged(bool)), label, SLOT(setVisible(bool)));
- //! [2]
-
- //! [3]
- widthSlider = new QSlider(Qt::Horizontal);
- widthSlider->setMinimum(0);
- connect(widthSlider, SIGNAL(valueChanged(int)), this, SLOT(onWidthChanged(int)));
-
- heightSlider = new QSlider(Qt::Vertical);
- heightSlider->setInvertedAppearance(true);
- heightSlider->setMinimum(0);
- connect(heightSlider, SIGNAL(valueChanged(int)), this, SLOT(onHeightChanged(int)));
- //! [3]
-
- //! [4]
- QGridLayout *layout = new QGridLayout();
- layout->addWidget(label, 0, 1, Qt::AlignCenter);
- layout->addWidget(switchButton, 0, 2);
- layout->addWidget(exitButton, 0, 3);
- layout->addWidget(widthSlider, 1, 1, 1, 3);
- layout->addWidget(heightSlider, 2, 0);
- layout->addWidget(elidedText, 2, 1, 1, 3, Qt::AlignTop | Qt::AlignLeft);
-
- setLayout(layout);
- //! [4]
-
- //! [5]
-#ifdef Q_WS_MAEMO_5
- setAttribute(Qt::WA_Maemo5AutoOrientation, true);
-#endif
-}
-//! [5]
-
-//! [6]
-void TestWidget::resizeEvent(QResizeEvent *event)
-{
- Q_UNUSED(event)
-
- int maxWidth = widthSlider->width();
- widthSlider->setMaximum(maxWidth);
- widthSlider->setValue(maxWidth / 2);
-
- int maxHeight = heightSlider->height();
- heightSlider->setMaximum(maxHeight);
- heightSlider->setValue(maxHeight / 2);
-
- elidedText->setFixedSize(widthSlider->value(), heightSlider->value());
-}
-//! [6]
-
-//! [7]
-void TestWidget::switchText()
-{
- sampleIndex = (sampleIndex + 1) % textSamples.size();
- elidedText->setText(textSamples.at(sampleIndex));
-}
-//! [7]
-
-//! [8]
-void TestWidget::onWidthChanged(int width)
-{
- elidedText->setFixedWidth(width);
-}
-
-void TestWidget::onHeightChanged(int height)
-{
- elidedText->setFixedHeight(height);
-}
-//! [8]
-
-
+#include "testwidget.h" +#include "elidedlabel.h" + +#include <QLabel> +#include <QPushButton> +#include <QSizePolicy> +#include <QGridLayout> + +//! [0] +TestWidget::TestWidget(QWidget *parent): + QWidget(parent) +{ + const QString romeo = tr( + "But soft, what light through yonder window breaks? / " + "It is the east, and Juliet is the sun. / " + "Arise, fair sun, and kill the envious moon, / " + "Who is already sick and pale with grief / " + "That thou, her maid, art far more fair than she." + ); + + const QString macbeth = tr( + "To-morrow, and to-morrow, and to-morrow, / " + "Creeps in this petty pace from day to day, / " + "To the last syllable of recorded time; / " + "And all our yesterdays have lighted fools / " + "The way to dusty death. Out, out, brief candle! / " + "Life's but a walking shadow, a poor player, / " + "That struts and frets his hour upon the stage, / " + "And then is heard no more. It is a tale / " + "Told by an idiot, full of sound and fury, / " + "Signifying nothing." + ); + + const QString harry = tr("Feeling lucky, punk?"); + + textSamples << romeo << macbeth << harry; + //! [0] + + //! [1] + sampleIndex = 0; + elidedText = new ElidedLabel(textSamples[sampleIndex], this); + elidedText->setFrameStyle(QFrame::Box); + //! [1] + + //! [2] + QPushButton *switchButton = new QPushButton(tr("Switch text")); + connect(switchButton, SIGNAL(clicked(bool)), this, SLOT(switchText())); + + QPushButton *exitButton = new QPushButton(tr("Exit")); + connect(exitButton, SIGNAL(clicked(bool)), this, SLOT(close())); + + QLabel *label = new QLabel(tr("Elided")); + label->setVisible(elidedText->isElided()); + connect(elidedText, SIGNAL(elisionChanged(bool)), label, SLOT(setVisible(bool))); + //! [2] + + //! [3] + widthSlider = new QSlider(Qt::Horizontal); + widthSlider->setMinimum(0); + connect(widthSlider, SIGNAL(valueChanged(int)), this, SLOT(onWidthChanged(int))); + + heightSlider = new QSlider(Qt::Vertical); + heightSlider->setInvertedAppearance(true); + heightSlider->setMinimum(0); + connect(heightSlider, SIGNAL(valueChanged(int)), this, SLOT(onHeightChanged(int))); + //! [3] + + //! [4] + QGridLayout *layout = new QGridLayout(); + layout->addWidget(label, 0, 1, Qt::AlignCenter); + layout->addWidget(switchButton, 0, 2); + layout->addWidget(exitButton, 0, 3); + layout->addWidget(widthSlider, 1, 1, 1, 3); + layout->addWidget(heightSlider, 2, 0); + layout->addWidget(elidedText, 2, 1, 1, 3, Qt::AlignTop | Qt::AlignLeft); + + setLayout(layout); + //! [4] + + //! [5] +#ifdef Q_WS_MAEMO_5 + setAttribute(Qt::WA_Maemo5AutoOrientation, true); +#endif +} +//! [5] + +//! [6] +void TestWidget::resizeEvent(QResizeEvent *event) +{ + Q_UNUSED(event) + + int maxWidth = widthSlider->width(); + widthSlider->setMaximum(maxWidth); + widthSlider->setValue(maxWidth / 2); + + int maxHeight = heightSlider->height(); + heightSlider->setMaximum(maxHeight); + heightSlider->setValue(maxHeight / 2); + + elidedText->setFixedSize(widthSlider->value(), heightSlider->value()); +} +//! [6] + +//! [7] +void TestWidget::switchText() +{ + sampleIndex = (sampleIndex + 1) % textSamples.size(); + elidedText->setText(textSamples.at(sampleIndex)); +} +//! [7] + +//! [8] +void TestWidget::onWidthChanged(int width) +{ + elidedText->setFixedWidth(width); +} + +void TestWidget::onHeightChanged(int height) +{ + elidedText->setFixedHeight(height); +} +//! [8] + + diff --git a/examples/widgets/elidedlabel/testwidget.h b/examples/widgets/elidedlabel/testwidget.h index 3d9b42d..ed4de95 100644 --- a/examples/widgets/elidedlabel/testwidget.h +++ b/examples/widgets/elidedlabel/testwidget.h @@ -1,36 +1,36 @@ -#ifndef TESTWIDGET_H
-#define TESTWIDGET_H
-
-#include <QWidget>
-#include <QStringList>
-#include <QSlider>
-#include <QComboBox>
-
-class ElidedLabel;
-
-//! [0]
-class TestWidget : public QWidget
-{
- Q_OBJECT
-
-public:
- TestWidget(QWidget *parent = 0);
-
-protected:
- void resizeEvent(QResizeEvent *event);
-
-private slots:
- void switchText();
- void onWidthChanged(int width);
- void onHeightChanged(int height);
-
-private:
- int sampleIndex;
- QStringList textSamples;
- ElidedLabel *elidedText;
- QSlider *heightSlider;
- QSlider *widthSlider;
-};
-//! [0]
-
-#endif // TESTWIDGET_H
+#ifndef TESTWIDGET_H +#define TESTWIDGET_H + +#include <QWidget> +#include <QStringList> +#include <QSlider> +#include <QComboBox> + +class ElidedLabel; + +//! [0] +class TestWidget : public QWidget +{ + Q_OBJECT + +public: + TestWidget(QWidget *parent = 0); + +protected: + void resizeEvent(QResizeEvent *event); + +private slots: + void switchText(); + void onWidthChanged(int width); + void onHeightChanged(int height); + +private: + int sampleIndex; + QStringList textSamples; + ElidedLabel *elidedText; + QSlider *heightSlider; + QSlider *widthSlider; +}; +//! [0] + +#endif // TESTWIDGET_H |