summaryrefslogtreecommitdiffstats
path: root/examples/extension
diff options
context:
space:
mode:
Diffstat (limited to 'examples/extension')
-rw-r--r--examples/extension/dialogform.ui206
-rw-r--r--examples/extension/dialogform.ui.h24
-rw-r--r--examples/extension/extension.doc41
-rw-r--r--examples/extension/extension.pro12
-rw-r--r--examples/extension/extension.ui114
-rw-r--r--examples/extension/extension.ui.h7
-rw-r--r--examples/extension/main.cpp11
-rw-r--r--examples/extension/mainform.ui74
-rw-r--r--examples/extension/mainform.ui.h46
9 files changed, 535 insertions, 0 deletions
diff --git a/examples/extension/dialogform.ui b/examples/extension/dialogform.ui
new file mode 100644
index 0000000..0784c86
--- /dev/null
+++ b/examples/extension/dialogform.ui
@@ -0,0 +1,206 @@
+<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
+<class>DialogForm</class>
+<widget class="QDialog">
+ <property name="name">
+ <cstring>DialogForm</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>288</width>
+ <height>145</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>Dialog</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>Layout7</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>Layout5</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>Layout1</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>sessionsCheckBox</cstring>
+ </property>
+ <property name="text">
+ <string>Save/Restore &amp;Sessions</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>loggingCheckBox</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Log Activities</string>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>Spacer2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>0</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>Layout4</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>detailsPushButton</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Details &gt;&gt;&gt;</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>Spacer4</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ </vbox>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>Layout3</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>okPushButton</cstring>
+ </property>
+ <property name="text">
+ <string>OK</string>
+ </property>
+ <property name="default">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>cancelPushButton</cstring>
+ </property>
+ <property name="text">
+ <string>Cancel</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>Spacer3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>0</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+ </widget>
+ </hbox>
+ </widget>
+ </vbox>
+</widget>
+<connections>
+ <connection>
+ <sender>okPushButton</sender>
+ <signal>clicked()</signal>
+ <receiver>DialogForm</receiver>
+ <slot>accept()</slot>
+ </connection>
+ <connection>
+ <sender>cancelPushButton</sender>
+ <signal>clicked()</signal>
+ <receiver>DialogForm</receiver>
+ <slot>reject()</slot>
+ </connection>
+ <connection>
+ <sender>detailsPushButton</sender>
+ <signal>clicked()</signal>
+ <receiver>DialogForm</receiver>
+ <slot>toggleDetails()</slot>
+ </connection>
+</connections>
+<includes>
+ <include location="local" impldecl="in implementation">extension.h</include>
+ <include location="local" impldecl="in implementation">dialogform.ui.h</include>
+</includes>
+<variables>
+ <variable>bool extensionShown;</variable>
+</variables>
+<slots>
+ <slot>toggleDetails()</slot>
+</slots>
+<functions>
+ <function access="private">init()</function>
+</functions>
+<pixmapinproject/>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/examples/extension/dialogform.ui.h b/examples/extension/dialogform.ui.h
new file mode 100644
index 0000000..a1f8894
--- /dev/null
+++ b/examples/extension/dialogform.ui.h
@@ -0,0 +1,24 @@
+/****************************************************************************
+** ui.h extension file, included from the uic-generated form implementation.
+**
+** If you wish to add, delete or rename functions use Qt Designer which will
+** update this file, preserving your code. Create an init() function in place
+** of a constructor, and a destroy() function in place of a destructor.
+*****************************************************************************/
+
+void DialogForm::init()
+{
+ extensionShown = FALSE;
+ setExtension( new Extension( this ) );
+ setOrientation( Vertical );
+}
+
+
+void DialogForm::toggleDetails()
+{
+ extensionShown = !extensionShown;
+ showExtension( extensionShown );
+ QString text = tr( "&Details " );
+ text += QString( extensionShown ? "<<<" : ">>>" );
+ detailsPushButton->setText( text );
+}
diff --git a/examples/extension/extension.doc b/examples/extension/extension.doc
new file mode 100644
index 0000000..98b4a33
--- /dev/null
+++ b/examples/extension/extension.doc
@@ -0,0 +1,41 @@
+/*!
+ \page extension-dialog-example.html
+
+ \ingroup step-by-step-examples
+
+
+ \title An Extension Dialog Example
+
+ This example demonstrates how to create an extension dialog.
+
+ Essentially all that is necessary is to create a standard dialog
+ and then create a QWidget form to be used as the extension. See
+ the article in \link http://doc.trolltech.com/qq/ Qt
+ Quarterly\endlink issue #3.
+
+
+ <hr>
+
+
+ Project file:
+
+ \include extension/extension.pro
+
+ <hr>
+
+ <hr>
+
+ Implementation:
+
+ \include extension/mainform.ui.h
+ \include extension/dialogform.ui.h
+ \include extension/extension.ui.h
+
+ <hr>
+
+ Main:
+
+ \include extension/main.cpp
+
+
+*/
diff --git a/examples/extension/extension.pro b/examples/extension/extension.pro
new file mode 100644
index 0000000..7cc6598
--- /dev/null
+++ b/examples/extension/extension.pro
@@ -0,0 +1,12 @@
+TEMPLATE = app
+LANGUAGE = C++
+
+CONFIG += qt warn_on release
+
+REQUIRES = full-config nocrosscompiler
+
+SOURCES += main.cpp
+FORMS = mainform.ui \
+ dialogform.ui \
+ extension.ui
+DBFILE = extension.db
diff --git a/examples/extension/extension.ui b/examples/extension/extension.ui
new file mode 100644
index 0000000..e5daba6
--- /dev/null
+++ b/examples/extension/extension.ui
@@ -0,0 +1,114 @@
+<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
+<class>Extension</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>Extension</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>258</width>
+ <height>128</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>Extension</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>Layout6</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>TextLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Log &amp;File</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>logfileLineEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLineEdit">
+ <property name="name">
+ <cstring>logfileLineEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>browsePushButton</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Browse...</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QButtonGroup">
+ <property name="name">
+ <cstring>ButtonGroup1</cstring>
+ </property>
+ <property name="title">
+ <string>Log What?</string>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>Layout7</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>logActionsCheckBox</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Actions</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>logErrorsCheckBox</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Errors</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </hbox>
+ </widget>
+ </vbox>
+</widget>
+<includes>
+ <include location="local" impldecl="in implementation">extension.ui.h</include>
+</includes>
+<pixmapinproject/>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/examples/extension/extension.ui.h b/examples/extension/extension.ui.h
new file mode 100644
index 0000000..f17a035
--- /dev/null
+++ b/examples/extension/extension.ui.h
@@ -0,0 +1,7 @@
+/****************************************************************************
+** ui.h extension file, included from the uic-generated form implementation.
+**
+** If you wish to add, delete or rename functions use Qt Designer which will
+** update this file, preserving your code. Create an init() function in place
+** of a constructor, and a destroy() function in place of a destructor.
+*****************************************************************************/
diff --git a/examples/extension/main.cpp b/examples/extension/main.cpp
new file mode 100644
index 0000000..15cb68f
--- /dev/null
+++ b/examples/extension/main.cpp
@@ -0,0 +1,11 @@
+#include <qapplication.h>
+#include "mainform.h"
+
+int main( int argc, char ** argv )
+{
+ QApplication a( argc, argv );
+ MainForm *w = new MainForm;
+ w->show();
+ a.connect( &a, SIGNAL( lastWindowClosed() ), w, SLOT( quit() ) );
+ return a.exec();
+}
diff --git a/examples/extension/mainform.ui b/examples/extension/mainform.ui
new file mode 100644
index 0000000..8495be8
--- /dev/null
+++ b/examples/extension/mainform.ui
@@ -0,0 +1,74 @@
+<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
+<class>MainForm</class>
+<widget class="QDialog">
+ <property name="name">
+ <cstring>MainForm</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>284</width>
+ <height>120</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>Main Form</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>optionsPushButton</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Options...</string>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>quitPushButton</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Quit</string>
+ </property>
+ </widget>
+ </vbox>
+</widget>
+<connections>
+ <connection>
+ <sender>optionsPushButton</sender>
+ <signal>clicked()</signal>
+ <receiver>MainForm</receiver>
+ <slot>optionsDlg()</slot>
+ </connection>
+ <connection>
+ <sender>quitPushButton</sender>
+ <signal>clicked()</signal>
+ <receiver>MainForm</receiver>
+ <slot>quit()</slot>
+ </connection>
+</connections>
+<includes>
+ <include location="local" impldecl="in implementation">mainform.ui.h</include>
+</includes>
+<variables>
+ <variable>bool log_errors;</variable>
+ <variable>bool log_warnings;</variable>
+ <variable>bool log_actions;</variable>
+ <variable>bool logging;</variable>
+ <variable>bool sessions;</variable>
+ <variable>QString log_filename;</variable>
+</variables>
+<slots>
+ <slot>optionsDlg()</slot>
+ <slot>quit()</slot>
+</slots>
+<functions>
+ <function access="private">init()</function>
+</functions>
+<pixmapinproject/>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/examples/extension/mainform.ui.h b/examples/extension/mainform.ui.h
new file mode 100644
index 0000000..c025d73
--- /dev/null
+++ b/examples/extension/mainform.ui.h
@@ -0,0 +1,46 @@
+/****************************************************************************
+** ui.h extension file, included from the uic-generated form implementation.
+**
+** If you wish to add, delete or rename functions use Qt Designer which will
+** update this file, preserving your code. Create an init() function in place
+** of a constructor, and a destroy() function in place of a destructor.
+*****************************************************************************/
+#include "dialogform.h"
+#include "extension.h"
+#include <qapplication.h>
+#include <qcheckbox.h>
+#include <qlineedit.h>
+
+void MainForm::init()
+{
+ sessions = FALSE;
+ logging = FALSE;
+ log_filename = QString::null;
+ log_errors = TRUE;
+ log_actions = TRUE;
+}
+
+void MainForm::optionsDlg()
+{
+ DialogForm *dlg = new DialogForm( this, "dialog", TRUE );
+ Extension *ext = (Extension*)dlg->extension()->qt_cast( "Extension" );
+ if ( !ext )
+ return;
+ dlg->sessionsCheckBox->setChecked( sessions );
+ dlg->loggingCheckBox->setChecked( logging );
+ ext->logfileLineEdit->setText( log_filename );
+ ext->logErrorsCheckBox->setChecked( log_errors );
+
+ if ( dlg->exec() ) {
+ sessions = dlg->sessionsCheckBox->isChecked();
+ logging = dlg->loggingCheckBox->isChecked();
+ log_filename = ext->logfileLineEdit->text();
+ log_errors = ext->logErrorsCheckBox->isChecked();
+ }
+}
+
+
+void MainForm::quit()
+{
+ QApplication::exit( 0 );
+}