as_numdial.cpp

Fri, 28 Nov 2008 14:20:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 28 Nov 2008 14:20:00 +0100
changeset 2
e8292658d5b3
child 3
c1941114ca88
permissions
-rw-r--r--

Added tag ASGUI_0.7.7 for changeset d64aaa7d146f

     1 //
     2 //  OSSP asgui - Accounting system graphical user interface
     3 //  Copyright (c) 2002-2004 The OSSP Project (http://www.ossp.org/)
     4 //  Copyright (c) 2002-2004 Ralf S. Engelschall <rse@engelschall.com>
     5 //  Copyright (c) 2002-2004 Michael Schloh von Bennewitz <michael@schloh.com>
     6 //  Copyright (c) 2002-2004 Cable & Wireless Telecommunications Services GmbH
     7 //
     8 //  This file is part of OSSP asgui, an accounting system graphical user
     9 //  interface which can be found at http://www.ossp.org/pkg/tool/asgui/.
    10 //
    11 //  Permission to use, copy, modify, and distribute this software for
    12 //  any purpose with or without fee is hereby granted, provided that
    13 //  the above copyright notice and this permission notice appear in all
    14 //  copies.
    15 //
    16 //  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
    17 //  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    18 //  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
    19 //  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
    20 //  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    21 //  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    22 //  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
    23 //  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    24 //  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    25 //  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
    26 //  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    27 //  SUCH DAMAGE.
    28 //
    29 //  as_numdial.cpp: ISO C++ implementation
    30 //
    32 #include "as_numdial.h"
    34 #include <qvariant.h>
    35 #include <qframe.h>
    36 #include <qlabel.h>
    37 #include <qpushbutton.h>
    38 #include <qspinbox.h>
    39 #include <qlayout.h>
    40 #include <qtooltip.h>
    41 #include <qwhatsthis.h>
    43 #include "as_const.h"
    46 namespace AS {
    48 //
    49 // Constructs a Numdial as a child of 'pParent', with the 
    50 // name 'kszName' and widget flags set to 'Flags'.
    51 //
    52 // The dialog will by default be modal, unless you set 'bModal' to
    53 // false to construct a modeless dialog.
    54 //
    55 Numdial::Numdial(QWidget *pParent, const char *kszName, bool bModal, WFlags Flags)
    56     : QDialog(pParent, kszName, bModal, Flags)
    57 {
    58     // Boilerplate code to initialize the panel
    59     if (!kszName)
    60         this->setName("Numberdialog");
    62     // Fix dialog size
    63     this->setSizeGripEnabled(false);
    64     this->setSizePolicy(QSizePolicy((QSizePolicy::SizeType)0,
    65         (QSizePolicy::SizeType)0, 0, 0, this->sizePolicy().hasHeightForWidth()));
    67     m_pFrame = new QFrame(this, "Mainframe");
    68     m_pFrame->setFrameShape(QFrame::StyledPanel);
    69     m_pFrame->setFrameShadow(QFrame::Raised);
    70     m_pFramelay = new QVBoxLayout(m_pFrame, 11, 6, "Framelay"); 
    71     m_pInputlay = new QHBoxLayout(0, 0, 6, "Horizontallayout"); 
    72     m_pFormlayout = new QVBoxLayout(this, 11, 6, "Formlayout"); 
    74     m_pReportlabel = new QLabel(m_pFrame, "Reportlabel");
    75     m_pReportlabel->setSizePolicy(QSizePolicy((QSizePolicy::SizeType)4, (QSizePolicy::SizeType)5, 0, 0, m_pReportlabel->sizePolicy().hasHeightForWidth()));
    76     m_pInputlay->addWidget(m_pReportlabel);
    78     m_pSpinbox = new QSpinBox(m_pFrame, "Spinbox");
    79     m_pSpinbox->setMinValue(1);                 // Must choose at least one week
    80     m_pSpinbox->setMaxValue(TITRAQ_BIGMAGIC);   // Must choose less than magic
    81 //    m_pSpinbox->setButtonSymbols(QSpinBox::PlusMinus);
    82 //    m_pSpinbox->editor()->setAlignment(Qt::AlignRight);
    83     m_pInputlay->addWidget(m_pSpinbox);
    85     m_pWeeklabel = new QLabel(m_pFrame, "Weeklabel");
    86     m_pWeeklabel->setSizePolicy(QSizePolicy((QSizePolicy::SizeType)4, (QSizePolicy::SizeType)5, 0, 0, m_pWeeklabel->sizePolicy().hasHeightForWidth()));
    87     m_pInputlay->addWidget(m_pWeeklabel);
    88     m_pFramelay->addLayout(m_pInputlay);
    90     // Push button suite
    91     m_pButtlay = new QHBoxLayout(0, 0, 6, "Buttlay");
    92     m_pOkaybutt = new QPushButton(m_pFrame, "Okaybutton");
    93     m_pOkaybutt->setPaletteBackgroundColor(QColor(198, 196, 186));
    94     m_pOkaybutt->setCursor(QCursor(13));
    95     m_pOkaybutt->setDefault(true);
    96     m_pButtlay->addWidget(m_pOkaybutt);
    97     m_pCancelbutt = new QPushButton(m_pFrame, "Cancelbutton");
    98     m_pCancelbutt->setPaletteBackgroundColor(QColor(198, 196, 186));
    99     m_pCancelbutt->setCursor(QCursor(13));
   100     m_pButtlay->addWidget(m_pCancelbutt);
   101     m_pFramelay->addLayout(m_pButtlay);
   103     // Add all the junk to our main frame
   104     m_pFormlayout->addWidget(m_pFrame);
   106     // Connect signals to slots, accept() and reject() are Qt implicit
   107     connect(m_pOkaybutt, SIGNAL(clicked(void)), SLOT(accept(void)));
   108     connect(m_pCancelbutt, SIGNAL(clicked(void)), SLOT(reject(void)));
   109     this->resize(QSize(272, 111).expandedTo(minimumSizeHint()));
   110     this->textChange();
   111 }
   113 //
   114 //  Sets the strings of the subwidgets using the current language
   115 //
   116 void Numdial::textChange()
   117 {
   118     this->setCaption(trUtf8("Numberdialog", "For general input of numbers followed by an accept or cancel operation"));
   119     m_pReportlabel->setText(trUtf8("Report"));
   120     m_pWeeklabel->setText(trUtf8("weeks of data"));
   122     // Top level push buttons associated with accept slot
   123     m_pCancelbutt->setText(trUtf8("Cancel", "Comment for Cancelbutton"));
   124     QToolTip::add(m_pCancelbutt, trUtf8("Closes the report panel", "Comment for tooltip Cancelbutton"));
   125     QWhatsThis::add(m_pCancelbutt, trUtf8("The cancel button closes the report panel without further action", "Comment for whatsThis Cancelbutton"));
   126     m_pOkaybutt->setText(trUtf8("Okay", "Comment for Okaybutton"));
   127     QToolTip::add(m_pOkaybutt, trUtf8("Aknowleges your input", "Comment for tooltip Okaybutton"));
   128     QWhatsThis::add(m_pOkaybutt, trUtf8("The okay button aknowleges your input and prepares for action", "Comment for whatsThis Okaybutton"));
   130     // Text help for spinbox number input
   131     QToolTip::add(m_pSpinbox, trUtf8("Input a number", "Comment for tooltip Spinbox"));
   132     QWhatsThis::add(m_pSpinbox, trUtf8("Click on the arrows or type to input a number", "Comment for whatsThis Spinbox"));
   133 }
   134 } // namespace AS

mercurial