QIArrowSplitter.cpp revision c58f1213e628a545081c70e26c6b67a841cff880
/* $Id$ */
/** @file
*
* VBox frontends: Qt GUI ("VirtualBox"):
* VirtualBox Qt extensions: QIArrowSplitter class implementation
*/
/*
* Copyright (C) 2006-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* General Public License (GPL) as published by the Free Software
* Foundation, in version 2 as it comes in the "COPYING" file of the
* VirtualBox OSE distribution. VirtualBox OSE is distributed in the
* hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
*/
/* VBox includes */
#include "VBoxGlobal.h"
#include "QIArrowSplitter.h"
/* Qt includes */
#include <QHBoxLayout>
#include <QKeyEvent>
, mMainLayout (new QVBoxLayout (this))
, mSwitchButton (new QIArrowButtonSwitch())
{
/* Setup main-layout */
/* Setup buttons */
mBackButton->setVisible (false);
mNextButton->setVisible (false);
/* Setup connections */
/* Setup button layout */
buttonLayout->setSpacing (0);
/* Append layout with children */
/* Install event-filter */
qApp->installEventFilter (this);
}
{
}
{
}
{
}
void QIArrowSplitter::toggleWidget()
{
}
{
/* Process only parent window children */
/* Do not process QIArrowButtonSwitch & QIArrowButtonPress children */
if (aObject == mSwitchButton ||
aObject == mBackButton ||
aObject == mNextButton ||
/* Process some keyboard events */
{
{
{
if (!mSwitchButton->isExpanded())
break;
}
{
if (mSwitchButton->isExpanded())
break;
}
case Qt::Key_PageUp:
{
if (mNextButton->isEnabled())
break;
}
case Qt::Key_PageDown:
{
if (mBackButton->isEnabled())
break;
}
}
}
/* Default one handler */
}