summaryrefslogtreecommitdiffstats
path: root/examples/chart/optionsform.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/chart/optionsform.cpp')
-rw-r--r--examples/chart/optionsform.cpp135
1 files changed, 135 insertions, 0 deletions
diff --git a/examples/chart/optionsform.cpp b/examples/chart/optionsform.cpp
new file mode 100644
index 000000000..c6e16af5d
--- /dev/null
+++ b/examples/chart/optionsform.cpp
@@ -0,0 +1,135 @@
+#include "optionsform.h"
+
+#include <qbuttongroup.h>
+#include <qcombobox.h>
+#include <qfontdialog.h>
+#include <qframe.h>
+#include <qimage.h>
+#include <qlabel.h>
+#include <qlayout.h>
+#include <qpushbutton.h>
+#include <qradiobutton.h>
+#include <qspinbox.h>
+
+#include "images/options_horizontalbarchart.xpm"
+#include "images/options_piechart.xpm"
+#include "images/options_verticalbarchart.xpm"
+
+
+OptionsForm::OptionsForm( TQWidget* parent, const char* name,
+ bool modal, WFlags f )
+ : TQDialog( parent, name, modal, f )
+{
+ setCaption( "Chart -- Options" );
+ resize( 320, 290 );
+
+ optionsFormLayout = new TQVBoxLayout( this, 11, 6 );
+
+ chartTypeLayout = new TQHBoxLayout( 0, 0, 6 );
+
+ chartTypeTextLabel = new TQLabel( "&Chart Type", this );
+ chartTypeLayout->addWidget( chartTypeTextLabel );
+
+ chartTypeComboBox = new TQComboBox( FALSE, this );
+ chartTypeComboBox->insertItem( TQPixmap( options_piechart ), "Pie Chart" );
+ chartTypeComboBox->insertItem( TQPixmap( options_verticalbarchart ),
+ "Vertical Bar Chart" );
+ chartTypeComboBox->insertItem( TQPixmap( options_horizontalbarchart ),
+ "Horizontal Bar Chart" );
+ chartTypeLayout->addWidget( chartTypeComboBox );
+ optionsFormLayout->addLayout( chartTypeLayout );
+
+ fontLayout = new TQHBoxLayout( 0, 0, 6 );
+
+ fontPushButton = new TQPushButton( "&Font...", this );
+ fontLayout->addWidget( fontPushButton );
+ TQSpacerItem* spacer = new TQSpacerItem( 0, 0,
+ TQSizePolicy::Expanding,
+ TQSizePolicy::Minimum );
+ fontLayout->addItem( spacer );
+
+ fontTextLabel = new TQLabel( this ); // Must be set by caller via setFont()
+ fontLayout->addWidget( fontTextLabel );
+ optionsFormLayout->addLayout( fontLayout );
+
+ addValuesFrame = new TQFrame( this );
+ addValuesFrame->setFrameShape( TQFrame::StyledPanel );
+ addValuesFrame->setFrameShadow( TQFrame::Sunken );
+ addValuesFrameLayout = new TQVBoxLayout( addValuesFrame, 11, 6 );
+
+ addValuesButtonGroup = new TQButtonGroup( "Show Values", addValuesFrame );
+ addValuesButtonGroup->setColumnLayout(0, TQt::Vertical );
+ addValuesButtonGroup->layout()->setSpacing( 6 );
+ addValuesButtonGroup->layout()->setMargin( 11 );
+ addValuesButtonGroupLayout = new TQVBoxLayout(
+ addValuesButtonGroup->layout() );
+ addValuesButtonGroupLayout->setAlignment( TQt::AlignTop );
+
+ noRadioButton = new TQRadioButton( "&No", addValuesButtonGroup );
+ noRadioButton->setChecked( TRUE );
+ addValuesButtonGroupLayout->addWidget( noRadioButton );
+
+ yesRadioButton = new TQRadioButton( "&Yes", addValuesButtonGroup );
+ addValuesButtonGroupLayout->addWidget( yesRadioButton );
+
+ asPercentageRadioButton = new TQRadioButton( "As &Percentage",
+ addValuesButtonGroup );
+ addValuesButtonGroupLayout->addWidget( asPercentageRadioButton );
+ addValuesFrameLayout->addWidget( addValuesButtonGroup );
+
+ decimalPlacesLayout = new TQHBoxLayout( 0, 0, 6 );
+
+ decimalPlacesTextLabel = new TQLabel( "&Decimal Places", addValuesFrame );
+ decimalPlacesLayout->addWidget( decimalPlacesTextLabel );
+
+ decimalPlacesSpinBox = new TQSpinBox( addValuesFrame );
+ decimalPlacesSpinBox->setMinValue( 0 );
+ decimalPlacesSpinBox->setMaxValue( 9 );
+ decimalPlacesLayout->addWidget( decimalPlacesSpinBox );
+
+ addValuesFrameLayout->addLayout( decimalPlacesLayout );
+
+ optionsFormLayout->addWidget( addValuesFrame );
+
+ buttonsLayout = new TQHBoxLayout( 0, 0, 6 );
+ spacer = new TQSpacerItem( 0, 0,
+ TQSizePolicy::Expanding, TQSizePolicy::Minimum );
+ buttonsLayout->addItem( spacer );
+
+ okPushButton = new TQPushButton( "OK", this );
+ okPushButton->setDefault( TRUE );
+ buttonsLayout->addWidget( okPushButton );
+
+ cancelPushButton = new TQPushButton( "Cancel", this );
+ buttonsLayout->addWidget( cancelPushButton );
+ optionsFormLayout->addLayout( buttonsLayout );
+
+ connect( fontPushButton, SIGNAL( clicked() ), this, SLOT( chooseFont() ) );
+ connect( okPushButton, SIGNAL( clicked() ), this, SLOT( accept() ) );
+ connect( cancelPushButton, SIGNAL( clicked() ), this, SLOT( reject() ) );
+
+ chartTypeTextLabel->setBuddy( chartTypeComboBox );
+ decimalPlacesTextLabel->setBuddy( decimalPlacesSpinBox );
+}
+
+
+void OptionsForm::chooseFont()
+{
+ bool ok;
+ TQFont font = TQFontDialog::getFont( &ok, m_font, this );
+ if ( ok )
+ setFont( font );
+}
+
+
+void OptionsForm::setFont( TQFont font )
+{
+ TQString label = font.family() + " " +
+ TQString::number( font.pointSize() ) + "pt";
+ if ( font.bold() )
+ label += " Bold";
+ if ( font.italic() )
+ label += " Italic";
+ fontTextLabel->setText( label );
+ m_font = font;
+}