summaryrefslogtreecommitdiffstats
path: root/examples/fonts/simple-qfont-demo
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-08 12:31:36 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-08 12:31:36 -0600
commitd796c9dd933ab96ec83b9a634feedd5d32e1ba3f (patch)
tree6e3dcca4f77e20ec8966c666aac7c35bd4704053 /examples/fonts/simple-qfont-demo
downloadtqt3-d796c9dd933ab96ec83b9a634feedd5d32e1ba3f.tar.gz
tqt3-d796c9dd933ab96ec83b9a634feedd5d32e1ba3f.zip
Test conversion to TQt3 from Qt3 8c6fc1f8e35fd264dd01c582ca5e7549b32ab731
Diffstat (limited to 'examples/fonts/simple-qfont-demo')
-rw-r--r--examples/fonts/simple-qfont-demo/simple-qfont-demo.cpp14
-rw-r--r--examples/fonts/simple-qfont-demo/simple-qfont-demo.doc28
-rw-r--r--examples/fonts/simple-qfont-demo/simple-qfont-demo.pro11
-rw-r--r--examples/fonts/simple-qfont-demo/viewer.cpp160
-rw-r--r--examples/fonts/simple-qfont-demo/viewer.h37
5 files changed, 250 insertions, 0 deletions
diff --git a/examples/fonts/simple-qfont-demo/simple-qfont-demo.cpp b/examples/fonts/simple-qfont-demo/simple-qfont-demo.cpp
new file mode 100644
index 000000000..2e9f8d3a6
--- /dev/null
+++ b/examples/fonts/simple-qfont-demo/simple-qfont-demo.cpp
@@ -0,0 +1,14 @@
+
+#include "viewer.h"
+
+#include <qapplication.h>
+
+int main( int argc, char **argv )
+{
+ TQApplication app( argc, argv );
+ Viewer * textViewer = new Viewer();
+ textViewer->setCaption( "TQt Example - Simple TQFont Demo" );
+ app.setMainWidget( textViewer );
+ textViewer->show();
+ return app.exec();
+}
diff --git a/examples/fonts/simple-qfont-demo/simple-qfont-demo.doc b/examples/fonts/simple-qfont-demo/simple-qfont-demo.doc
new file mode 100644
index 000000000..8b0a3657e
--- /dev/null
+++ b/examples/fonts/simple-qfont-demo/simple-qfont-demo.doc
@@ -0,0 +1,28 @@
+/*! \page simple-font-demo-example.html
+
+ \ingroup qfont-examples
+
+ \title A simple demonstration of QFont member functions
+
+ This example demonstrates the use of various
+ QFont member functions.
+
+ <hr>
+
+ The main window API (viewer.h):
+
+ \include fonts/simple-qfont-demo/viewer.h
+
+ <hr>
+
+ The main window implementation (viewer.cpp):
+
+ \include fonts/simple-qfont-demo/viewer.cpp
+
+ <hr>
+
+ main() program (simple-qfont-demo.cpp):
+
+ \include fonts/simple-qfont-demo/simple-qfont-demo.cpp
+
+*/
diff --git a/examples/fonts/simple-qfont-demo/simple-qfont-demo.pro b/examples/fonts/simple-qfont-demo/simple-qfont-demo.pro
new file mode 100644
index 000000000..a85e83ce4
--- /dev/null
+++ b/examples/fonts/simple-qfont-demo/simple-qfont-demo.pro
@@ -0,0 +1,11 @@
+TEMPLATE = app
+TARGET = fontdemo
+
+CONFIG += qt warn_on release
+DEPENDPATH = ../../include
+
+REQUIRES = full-config
+
+HEADERS = viewer.h
+SOURCES = simple-qfont-demo.cpp \
+ viewer.cpp
diff --git a/examples/fonts/simple-qfont-demo/viewer.cpp b/examples/fonts/simple-qfont-demo/viewer.cpp
new file mode 100644
index 000000000..505cd42b3
--- /dev/null
+++ b/examples/fonts/simple-qfont-demo/viewer.cpp
@@ -0,0 +1,160 @@
+
+#include "viewer.h"
+#include <qstring.h>
+#include <qstringlist.h>
+#include <qtextview.h>
+#include <qpushbutton.h>
+#include <qlayout.h>
+
+Viewer::Viewer()
+ :TQWidget()
+{
+ setFontSubstitutions();
+
+ TQString greeting_heb = TQString::fromUtf8( "\327\251\327\234\327\225\327\235" );
+ TQString greeting_ru = TQString::fromUtf8( "\320\227\320\264\321\200\320\260\320\262\321\201\321\202\320\262\321\203\320\271\321\202\320\265" );
+ TQString greeting_en( "Hello" );
+
+ greetings = new TQTextView( this, "textview" );
+
+ greetings->setText( greeting_en + "\n" +
+ greeting_ru + "\n" +
+ greeting_heb );
+
+ fontInfo = new TQTextView( this, "fontinfo" );
+
+ setDefault();
+
+ defaultButton = new TQPushButton( "Default", this,
+ "pushbutton1" );
+ defaultButton->setFont( TQFont( "times" ) );
+ connect( defaultButton, SIGNAL( clicked() ),
+ this, SLOT( setDefault() ) );
+
+ sansSerifButton = new TQPushButton( "Sans Serif", this,
+ "pushbutton2" );
+ sansSerifButton->setFont( TQFont( "Helvetica", 12 ) );
+ connect( sansSerifButton, SIGNAL( clicked() ),
+ this, SLOT( setSansSerif() ) );
+
+ italicsButton = new TQPushButton( "Italics", this,
+ "pushbutton3" );
+ italicsButton->setFont( TQFont( "lucida", 12, TQFont::Bold, TRUE ) );
+ connect( italicsButton, SIGNAL( clicked() ),
+ this, SLOT( setItalics() ) );
+
+ layout();
+}
+
+void Viewer::setDefault()
+{
+ TQFont font( "Bavaria" );
+ font.setPointSize( 24 );
+
+ font.setWeight( TQFont::Bold );
+ font.setUnderline( TRUE );
+
+ greetings->setFont( font );
+
+ showFontInfo( font );
+}
+
+void Viewer::setSansSerif()
+{
+ TQFont font( "Newyork", 18 );
+ font.setStyleHint( TQFont::SansSerif );
+ greetings->setFont( font );
+
+ showFontInfo( font );
+}
+
+void Viewer::setItalics()
+{
+ TQFont font( "Tokyo" );
+ font.setPointSize( 32 );
+ font.setWeight( TQFont::Bold );
+ font.setItalic( TRUE );
+
+ greetings->setFont( font );
+
+ showFontInfo( font );
+}
+
+void Viewer::showFontInfo( TQFont & font )
+{
+ TQFontInfo info( font );
+
+ TQString messageText;
+ messageText = "Font requested: \"" +
+ font.family() + "\" " +
+ TQString::number( font.pointSize() ) + "pt<BR>" +
+ "Font used: \"" +
+ info.family() + "\" " +
+ TQString::number( info.pointSize() ) + "pt<P>";
+
+ TQStringList substitutions = TQFont::substitutes( font.family() );
+
+ if ( ! substitutions.isEmpty() ){
+ messageText += "The following substitutions exist for " + \
+ font.family() + ":<UL>";
+
+ TQStringList::Iterator i = substitutions.begin();
+ while ( i != substitutions.end() ){
+ messageText += "<LI>\"" + (* i) + "\"";
+ i++;
+ }
+ messageText += "</UL>";
+ } else {
+ messageText += "No substitutions exist for " + \
+ font.family() + ".";
+ }
+
+ fontInfo->setText( messageText );
+}
+
+void Viewer::setFontSubstitutions()
+{
+ TQStringList substitutes;
+ substitutes.append( "Times" );
+ substitutes += "Mincho",
+ substitutes << "Arabic Newspaper" << "crox";
+
+ TQFont::insertSubstitutions( "Bavaria", substitutes );
+
+ TQFont::insertSubstitution( "Tokyo", "Lucida" );
+}
+
+
+// For those who prefer to use TQt Designer for creating GUIs
+// the following function might not be of particular interest:
+// all it does is creating the widget layout.
+
+void Viewer::layout()
+{
+ TQHBoxLayout * textViewContainer = new TQHBoxLayout();
+ textViewContainer->addWidget( greetings );
+ textViewContainer->addWidget( fontInfo );
+
+ TQHBoxLayout * buttonContainer = new TQHBoxLayout();
+
+ buttonContainer->addWidget( defaultButton );
+ buttonContainer->addWidget( sansSerifButton );
+ buttonContainer->addWidget( italicsButton );
+
+ int maxButtonHeight = defaultButton->height();
+
+ if ( sansSerifButton->height() > maxButtonHeight )
+ maxButtonHeight = sansSerifButton->height();
+ if ( italicsButton->height() > maxButtonHeight )
+ maxButtonHeight = italicsButton->height();
+
+ defaultButton->setFixedHeight( maxButtonHeight );
+ sansSerifButton->setFixedHeight( maxButtonHeight );
+ italicsButton->setFixedHeight( maxButtonHeight );
+
+ TQVBoxLayout * container = new TQVBoxLayout( this );
+ container->addLayout( textViewContainer );
+ container->addLayout( buttonContainer );
+
+ resize( 700, 250 );
+}
diff --git a/examples/fonts/simple-qfont-demo/viewer.h b/examples/fonts/simple-qfont-demo/viewer.h
new file mode 100644
index 000000000..1f72470a6
--- /dev/null
+++ b/examples/fonts/simple-qfont-demo/viewer.h
@@ -0,0 +1,37 @@
+
+#ifndef VIEWER_H
+#define VIEWER_H
+
+
+#include <qwidget.h>
+#include <qfont.h>
+
+class TQTextView;
+class TQPushButton;
+
+class Viewer : public TQWidget
+{
+Q_OBJECT
+
+public:
+ Viewer();
+
+private slots:
+ void setDefault();
+ void setSansSerif();
+ void setItalics();
+
+private:
+ void setFontSubstitutions();
+ void layout();
+ void showFontInfo( TQFont & );
+
+ TQTextView * greetings;
+ TQTextView * fontInfo;
+
+ TQPushButton * defaultButton;
+ TQPushButton * sansSerifButton;
+ TQPushButton * italicsButton;
+};
+
+#endif