summaryrefslogtreecommitdiffstats
path: root/tqtinterface/qt4/plugins/src/accessible/widgets/qaccessiblewidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tqtinterface/qt4/plugins/src/accessible/widgets/qaccessiblewidget.cpp')
-rw-r--r--tqtinterface/qt4/plugins/src/accessible/widgets/qaccessiblewidget.cpp2856
1 files changed, 0 insertions, 2856 deletions
diff --git a/tqtinterface/qt4/plugins/src/accessible/widgets/qaccessiblewidget.cpp b/tqtinterface/qt4/plugins/src/accessible/widgets/qaccessiblewidget.cpp
deleted file mode 100644
index 2755949..0000000
--- a/tqtinterface/qt4/plugins/src/accessible/widgets/qaccessiblewidget.cpp
+++ /dev/null
@@ -1,2856 +0,0 @@
-#include "tqaccessiblewidget.h"
-
-#include <tqapplication.h>
-#include <tqstyle.h>
-#include <tqobjectlist.h>
-#include <tqpushbutton.h>
-#include <tqslider.h>
-#include <tqdial.h>
-#include <tqspinbox.h>
-#include <tqscrollbar.h>
-#include <tqslider.h>
-#include <tqlineedit.h>
-#include <tqlabel.h>
-#include <tqlcdnumber.h>
-#include <tqprogressbar.h>
-#include <tqgroupbox.h>
-#include <tqtoolbutton.h>
-#include <tqwhatsthis.h>
-#include <tqtooltip.h>
-#include <tqscrollview.h>
-#include <tqheader.h>
-#include <tqtabbar.h>
-#include <tqcombobox.h>
-#include <tqrangecontrol.h>
-#include <tqlistbox.h>
-#include <tqlistview.h>
-#include <tqiconview.h>
-#include <tqtextedit.h>
-#include <tqwidgetstack.h>
-#include <private/tqtitlebar_p.h>
-
-
-TQString buddyString( TQWidget *widget )
-{
- TQWidget *parent = widget->parentWidget();
- TQObjectList *ol = parent->queryList( "TQLabel", 0, FALSE, FALSE );
- if ( !ol || !ol->count() ) {
- delete ol;
- return TQString::null;
- }
-
- TQString str;
-
- TQObjectListIt it(*ol);
- while ( it.current() ) {
- TQLabel *label = (TQLabel*)it.current();
- ++it;
- if ( label->buddy() == widget ) {
- str = label->text();
- break;
- }
- }
- delete ol;
- if ( !!str )
- return str;
-
- if ( parent->inherits( "TQGroupBox" ) )
- return ((TQGroupBox*)parent)->title();
-
- return TQString::null;
-}
-
-TQString stripAmp( const TQString &text )
-{
- if ( text.isEmpty() )
- return text;
-
- TQString n = text;
- for ( uint i = 0; i < n.length(); i++ ) {
- if ( n[(int)i] == '&' )
- n.remove( i, 1 );
- }
- return n;
-}
-
-TQString hotKey( const TQString &text )
-{
- if ( text.isEmpty() )
- return text;
-
- TQString n = text;
- int fa = 0;
- bool ac = FALSE;
- while ( ( fa = n.find( "&", fa ) ) != -1 ) {
- if ( n.at(fa+1) != '&' ) {
- ac = TRUE;
- break;
- }
- }
- if ( fa != -1 && ac )
- return TQString( n.at(fa + 1) );
-
- return TQString::null;
-}
-
-/*!
- \class TQAccessibleWidget qaccessiblewidget.h
- \brief The TQAccessibleWidget class implements the TQAccessibleInterface for TQWidgets.
-*/
-
-ulong TQAccessibleWidget::objects = 0;
-
-/*!
- Creates a TQAccessibleWidget object for \a o.
- \a role, \a name, \a description, \a value, \a help, \a defAction,
- \a accelerator and \a state are optional parameters for static values
- of the object's property.
-*/
-TQAccessibleWidget::TQAccessibleWidget( TQObject *o, Role role, TQString name,
- TQString description, TQString value, TQString help, TQString defAction, TQString accelerator, State state )
- : TQAccessibleObject( o ), role_(role), state_(state), name_(name),
- description_(description),value_(value),help_(help),
- defAction_(defAction), accelerator_(accelerator)
-{
- objects++;
-}
-
-TQAccessibleWidget::~TQAccessibleWidget()
-{
- objects--;
-}
-
-/*! Returns the widget. */
-TQWidget *TQAccessibleWidget::widget() const
-{
- TQ_ASSERT(object()->isWidgetType());
- if ( !object()->isWidgetType() )
- return 0;
- return (TQWidget*)object();
-}
-
-/*! \reimp */
-int TQAccessibleWidget::controlAt( int x, int y ) const
-{
- TQWidget *w = widget();
- TQPoint gp = w->mapToGlobal( TQPoint( 0, 0 ) );
- if ( !TQRect( gp.x(), gp.y(), w->width(), w->height() ).contains( x, y ) )
- return -1;
-
- TQPoint rp = w->mapFromGlobal( TQPoint( x, y ) );
-
- TQObjectList *list = w->queryList( "TQWidget", 0, FALSE, FALSE );
-
- if ( !list || list->isEmpty() )
- return 0;
-
- TQObjectListIt it( *list );
- TQWidget *child = 0;
- int index = 1;
- while ( ( child = (TQWidget*)it.current() ) ) {
- if ( !child->isTopLevel() && !child->isHidden() && child->tqgeometry().contains( rp ) ) {
- delete list;
- return index;
- }
- ++it;
- ++index;
- }
- delete list;
- return 0;
-}
-
-/*! \reimp */
-TQRect TQAccessibleWidget::rect( int control ) const
-{
-#if defined(TQT_DEBUG)
- if ( control )
- qWarning( "TQAccessibleWidget::rect: This implementation does not support subelements! (ID %d unknown for %s)", control, widget()->className() );
-#else
- TQ_UNUSED(control)
-#endif
- TQWidget *w = widget();
- TQPoint wpos = w->mapToGlobal( TQPoint( 0, 0 ) );
-
- return TQRect( wpos.x(), wpos.y(), w->width(), w->height() );
-}
-
-/*! \reimp */
-int TQAccessibleWidget::navigate( NavDirection dir, int startControl ) const
-{
-#if defined(TQT_DEBUG)
- if ( startControl )
- qWarning( "TQAccessibleWidget::navigate: This implementation does not support subelements! (ID %d unknown for %s)", startControl, widget()->className() );
-#else
- TQ_UNUSED(startControl);
-#endif
- TQWidget *w = widget();
- switch ( dir ) {
- case NavFirstChild:
- {
- TQObjectList *list = w->queryList( "TQWidget", 0, FALSE, FALSE );
- bool has = !list->isEmpty();
- delete list;
- return has ? 1 : -1;
- }
- case NavLastChild:
- {
- TQObjectList *list = w->queryList( "TQWidget", 0, FALSE, FALSE );
- bool has = !list->isEmpty();
- delete list;
- return has ? childCount() : -1;
- }
- case NavNext:
- case NavPrevious:
- {
- TQWidget *parent = w->parentWidget();
- TQObjectList *sl = parent ? parent->queryList( "TQWidget", 0, FALSE, FALSE ) : 0;
- if ( !sl )
- return -1;
- TQObject *sib;
- TQObjectListIt it( *sl );
- int index;
- if ( dir == NavNext ) {
- index = 1;
- while ( ( sib = it.current() ) ) {
- ++it;
- ++index;
- if ( sib == w )
- break;
- }
- } else {
- it.toLast();
- index = sl->count();
- while ( ( sib = it.current() ) ) {
- --it;
- --index;
- if ( sib == w )
- break;
- }
- }
- sib = it.current();
- delete sl;
- if ( sib )
- return index;
- return -1;
- }
- break;
- case NavFocusChild:
- {
- if ( w->hasFocus() )
- return 0;
-
- TQWidget *w2 = w->tqfocusWidget();
- if ( !w2 )
- return -1;
-
- TQObjectList *list = w->queryList( "TQWidget", 0, FALSE, FALSE );
- int index = list->findRef( w2 );
- delete list;
- return ( index != -1 ) ? index+1 : -1;
- }
- default:
- qWarning( "TQAccessibleWidget::navigate: unhandled request" );
- break;
- };
- return -1;
-}
-
-/*! \reimp */
-int TQAccessibleWidget::childCount() const
-{
- TQObjectList *cl = widget()->queryList( "TQWidget", 0, FALSE, FALSE );
- if ( !cl )
- return 0;
-
- int count = cl->count();
- delete cl;
- return count;
-}
-
-/*! \reimp */
-TQRESULT TQAccessibleWidget::queryChild( int control, TQAccessibleInterface **iface ) const
-{
- *iface = 0;
- TQObjectList *cl = widget()->queryList( "TQWidget", 0, FALSE, FALSE );
- if ( !cl )
- return TQS_FALSE;
-
- TQObject *o = 0;
- if ( cl->count() >= (uint)control )
- o = cl->at( control-1 );
- delete cl;
-
- if ( !o )
- return TQS_FALSE;
-
- return TQAccessible::queryAccessibleInterface( o, iface );
-}
-
-/*! \reimp */
-TQRESULT TQAccessibleWidget::queryParent( TQAccessibleInterface **iface ) const
-{
- return TQAccessible::queryAccessibleInterface( widget()->parentWidget(), iface );
-}
-
-/*! \reimp */
-bool TQAccessibleWidget::doDefaultAction( int control )
-{
-#if defined(TQT_DEBUG)
- if ( control )
- qWarning( "TQAccessibleWidget::doDefaultAction: This implementation does not support subelements! (ID %d unknown for %s)", control, widget()->className() );
-#else
- TQ_UNUSED(control)
-#endif
- return FALSE;
-}
-
-/*! \reimp */
-TQString TQAccessibleWidget::text( Text t, int control ) const
-{
- switch ( t ) {
- case DefaultAction:
- return defAction_;
- case Description:
- if ( !control && description_.isNull() ) {
- TQString desc = TQToolTip::textFor( widget() );
- return desc;
- }
- return description_;
- case Help:
- if ( !control && help_.isNull() ) {
- TQString help = TQWhatsThis::textFor( widget() );
- return help;
- }
- return help_;
- case Accelerator:
- return accelerator_;
- case Name:
- {
- if ( !control && name_.isNull() && widget()->isTopLevel() )
- return widget()->caption();
- return name_;
- }
- case Value:
- return value_;
- default:
- break;
- }
- return TQString::null;
-}
-
-/*! \reimp */
-void TQAccessibleWidget::setText( Text t, int /*control*/, const TQString &text )
-{
- switch ( t ) {
- case DefaultAction:
- defAction_ = text;
- break;
- case Description:
- description_ = text;
- break;
- case Help:
- help_ = text;
- break;
- case Accelerator:
- accelerator_ = text;
- break;
- case Name:
- name_ = text;
- break;
- case Value:
- value_ = text;
- break;
- default:
- break;
- }
-}
-
-/*! \reimp */
-TQAccessible::Role TQAccessibleWidget::role( int control ) const
-{
- if ( !control )
- return role_;
- return NoRole;
-}
-
-/*! \reimp */
-TQAccessible::State TQAccessibleWidget::state( int control ) const
-{
- if ( control )
- return Normal;
-
- if ( state_ != Normal )
- return state_;
-
- int state = Normal;
-
- TQWidget *w = widget();
- if ( w->isHidden() )
- state |= Invisible;
- if ( w->focusPolicy() != TQWidget::NoFocus && w->isActiveWindow() )
- state |= Focusable;
- if ( w->hasFocus() )
- state |= Focused;
- if ( !w->isEnabled() )
- state |= Unavailable;
- if ( w->isTopLevel() ) {
- state |= Moveable;
- if ( w->tqminimumSize() != w->tqmaximumSize() )
- state |= Sizeable;
- }
-
- return (State)state;
-}
-
-/*! \reimp */
-bool TQAccessibleWidget::setFocus( int control )
-{
-#if defined(TQT_DEBUG)
- if ( control )
- qWarning( "TQAccessibleWidget::setFocus: This implementation does not support subelements! (ID %d unknown for %s)", control, widget()->className() );
-#else
- TQ_UNUSED(control)
-#endif
- if ( widget()->focusPolicy() != TQWidget::NoFocus ) {
- widget()->setFocus();
- return TRUE;
- }
- return FALSE;
-}
-
-/*! \reimp */
-bool TQAccessibleWidget::setSelected( int, bool, bool )
-{
-#if defined(TQT_DEBUG)
- qWarning( "TQAccessibleWidget::setSelected: This function not supported for simple widgets." );
-#endif
- return FALSE;
-}
-
-/*! \reimp */
-void TQAccessibleWidget::clearSelection()
-{
-#if defined(TQT_DEBUG)
- qWarning( "TQAccessibleWidget::clearSelection: This function not supported for simple widgets." );
-#endif
-}
-
-/*! \reimp */
-TQMemArray<int> TQAccessibleWidget::selection() const
-{
- return TQMemArray<int>();
-}
-
-/*!
- \class TQAccessibleWidgetStack tqaccessible.h
- \brief The TQAccessibleWidgetStack class implements the TQAccessibleInterface for widget stacks.
-*/
-
-/*!
- Creates a TQAccessibleWidgetStack object for \a o.
-*/
-TQAccessibleWidgetStack::TQAccessibleWidgetStack( TQObject *o )
-: TQAccessibleWidget( o )
-{
- TQ_ASSERT( o->inherits("TQWidgetStack") );
-}
-
-/*! Returns the widget stack. */
-TQWidgetStack *TQAccessibleWidgetStack::widgetStack() const
-{
- return (TQWidgetStack*)object();
-}
-
-/*! \reimp */
-int TQAccessibleWidgetStack::controlAt( int, int ) const
-{
- return widgetStack()->id( widgetStack()->visibleWidget() ) + 1;
-}
-
-/*! \reimp */
-TQRESULT TQAccessibleWidgetStack::queryChild( int control, TQAccessibleInterface **iface ) const
-{
- if ( !control ) {
- *iface = (TQAccessibleInterface*)this;
- return TQS_OK;
- }
-
- TQWidget *widget = widgetStack()->widget( control - 1 );
- if ( !widget )
- return TQAccessibleWidget::queryChild( control, iface );
- return TQAccessible::queryAccessibleInterface( widgetStack()->widget( control - 1 ), iface );
-}
-
-
-/*!
- \class TQAccessibleButton tqaccessible.h
- \brief The TQAccessibleButton class implements the TQAccessibleInterface for button type widgets.
-*/
-
-/*!
- Creates a TQAccessibleButton object for \a o.
- \a role, \a description and \a help are propagated to the TQAccessibleWidget constructor.
-*/
-TQAccessibleButton::TQAccessibleButton( TQObject *o, Role role, TQString description,
- TQString /* help */ )
-: TQAccessibleWidget( o, role, TQString::null, description, TQString::null,
- TQString::null, TQString::null, TQString::null )
-{
- TQ_ASSERT(o->inherits("TQButton"));
-}
-
-/*! \reimp */
-bool TQAccessibleButton::doDefaultAction( int control )
-{
- if ( !widget()->isEnabled() )
- return FALSE;
-
- Role r = role(control);
- if ( r == PushButton || r == CheckBox || r == RadioButton ) {
- ((TQButton*)object())->animateClick();
- } else if ( object()->inherits("TQToolButton") ) {
- TQToolButton *tb = (TQToolButton*)object();
- tb->openPopup();
- }
-
- return TRUE;
-}
-
-/*! \reimp */
-TQString TQAccessibleButton::text( Text t, int control ) const
-{
- TQString tx = TQAccessibleWidget::text( t, control );
- if ( !!tx )
- return tx;
-
- switch ( t ) {
- case DefaultAction:
- switch( role(control) ) {
- case PushButton:
- return TQButton::tr("Press");
- case CheckBox:
- if ( state(control) & Checked )
- return TQButton::tr("UnCheck");
- return TQButton::tr("Check");
- case RadioButton:
- return TQButton::tr("Check");
- default:
- return TQButton::tr("Press");
- }
- case Accelerator:
- tx = hotKey( ((TQButton*)widget())->text() );
- if ( !!tx ) {
- tx = "Alt + "+tx;
- } else {
- tx = hotKey( buddyString( widget() ) );
- if ( !!tx )
- tx = "Alt + "+tx;
- }
- return tx;
- case Name:
- tx = ((TQButton*)widget())->text();
- if ( tx.isEmpty() && widget()->inherits("TQToolButton") )
- tx = ((TQToolButton*)widget())->textLabel();
- if ( tx.isEmpty() )
- tx = buddyString( widget() );
-
- return stripAmp( tx );
- default:
- break;
- }
- return tx;
-}
-
-/*! \reimp */
-TQAccessible::State TQAccessibleButton::state( int control ) const
-{
- int state = TQAccessibleWidget::state( control );
-
- TQButton *b = (TQButton*)widget();
- if ( b->state() == TQButton::On )
- state |= Checked;
- else if ( b->state() == TQButton::NoChange )
- state |= Mixed;
- if ( b->isDown() )
- state |= Pressed;
- if ( b->inherits( "TQPushButton" ) ) {
- TQPushButton *pb = (TQPushButton*)b;
- if ( pb->isDefault() )
- state |= Default;
- }
-
- return (State)state;
-}
-
-/*!
- \class TQAccessibleRangeControl qaccessiblewidget.h
- \brief The TQAccessibleRangeControl class implements the TQAccessibleInterface for range controls.
-*/
-
-/*!
- Constructs a TQAccessibleRangeControl object for \a o.
- \a role, \a name, \a description, \a help, \a defAction and \a accelerator
- are propagated to the TQAccessibleWidget constructor.
-*/
-TQAccessibleRangeControl::TQAccessibleRangeControl( TQObject *o, Role role, TQString name,
- TQString description, TQString help, TQString defAction, TQString accelerator )
-: TQAccessibleWidget( o, role, name, description, TQString::null, help, defAction, accelerator )
-{
-}
-
-/*! \reimp */
-TQString TQAccessibleRangeControl::text( Text t, int control ) const
-{
- TQString tx = TQAccessibleWidget::text( t, control );
- if ( !!tx )
- return stripAmp(tx);
-
- switch ( t ) {
- case Name:
- return stripAmp( buddyString( widget() ) );
- case Accelerator:
- tx = hotKey( buddyString( widget() ) );
- if ( !!tx )
- return "Alt + "+tx;
- break;
- case Value:
- if ( widget()->inherits( "TQSlider" ) ) {
- TQSlider *s = (TQSlider*)widget();
- return TQString::number( s->value() );
- } else if ( widget()->inherits( "TQDial" ) ) {
- TQDial *d = (TQDial*)widget();
- return TQString::number( d->value() );
- } else if ( widget()->inherits( "TQSpinBox" ) ) {
- TQSpinBox *s = (TQSpinBox*)widget();
- return s->text();
- } else if ( widget()->inherits( "TQScrollBar" ) ) {
- TQScrollBar *s = (TQScrollBar*)widget();
- return TQString::number( s->value() );
- } else if ( widget()->inherits( "TQProgressBar" ) ) {
- TQProgressBar *p = (TQProgressBar*)widget();
- return TQString::number( p->progress() );
- }
- default:
- break;
- }
- return tx;
-}
-
-
-/*!
- \class TQAccessibleSpinWidget qaccessiblewidget.h
- \brief The TQAccessibleSpinWidget class implements the TQAccessibleInterface for up/down widgets.
-*/
-
-/*!
- Constructs a TQAccessibleSpinWidget object for \a o.
-*/
-TQAccessibleSpinWidget::TQAccessibleSpinWidget( TQObject *o )
-: TQAccessibleRangeControl( o, SpinBox )
-{
-}
-
-/*! \reimp */
-int TQAccessibleSpinWidget::controlAt( int x, int y ) const
-{
- TQPoint tl = widget()->mapFromGlobal( TQPoint( x, y ) );
- if ( ((TQSpinWidget*)widget())->upRect().contains( tl ) )
- return 1;
- else if ( ((TQSpinWidget*)widget())->downRect().contains( tl ) )
- return 2;
-
- return -1;
-}
-
-/*! \reimp */
-TQRect TQAccessibleSpinWidget::rect( int control ) const
-{
- TQRect rect;
- switch( control ) {
- case 1:
- rect = ((TQSpinWidget*)widget())->upRect();
- break;
- case 2:
- rect = ((TQSpinWidget*)widget())->downRect();
- break;
- default:
- rect = widget()->rect();
- }
- TQPoint tl = widget()->mapToGlobal( TQPoint( 0, 0 ) );
- return TQRect( tl.x() + rect.x(), tl.y() + rect.y(), rect.width(), rect.height() );
-}
-
-/*! \reimp */
-int TQAccessibleSpinWidget::navigate( NavDirection direction, int startControl ) const
-{
- if ( direction != NavFirstChild && direction != NavLastChild && direction != NavFocusChild && !startControl )
- return TQAccessibleWidget::navigate( direction, startControl );
-
- switch ( direction ) {
- case NavFirstChild:
- return 1;
- case NavLastChild:
- return 2;
- case NavNext:
- case NavDown:
- startControl += 1;
- if ( startControl > 2 )
- return -1;
- return startControl;
- case NavPrevious:
- case NavUp:
- startControl -= 1;
- if ( startControl < 1 )
- return -1;
- return startControl;
- default:
- break;
- }
-
- return -1;
-}
-
-/*! \reimp */
-int TQAccessibleSpinWidget::childCount() const
-{
- return 2;
-}
-
-/*! \reimp */
-TQRESULT TQAccessibleSpinWidget::queryChild( int /*control*/, TQAccessibleInterface **iface ) const
-{
- *iface = 0;
- return TQS_FALSE;
-}
-
-/*! \reimp */
-TQString TQAccessibleSpinWidget::text( Text t, int control ) const
-{
- switch ( t ) {
- case Name:
- switch ( control ) {
- case 1:
- return TQSpinWidget::tr("More");
- case 2:
- return TQSpinWidget::tr("Less");
- default:
- break;
- }
- break;
- case DefaultAction:
- switch( control ) {
- case 1:
- case 2:
- return TQSpinWidget::tr("Press");
- default:
- break;
- }
- break;
- default:
- break;
- }
- return TQAccessibleRangeControl::text( t, control );
-}
-
-/*! \reimp */
-TQAccessible::Role TQAccessibleSpinWidget::role( int control ) const
-{
- switch( control ) {
- case 1:
- return PushButton;
- case 2:
- return PushButton;
- default:
- break;
- }
- return TQAccessibleRangeControl::role( control );
-}
-
-/*! \reimp */
-TQAccessible::State TQAccessibleSpinWidget::state( int control ) const
-{
- int state = TQAccessibleRangeControl::state( control );
- switch( control ) {
- case 1:
- if ( !((TQSpinWidget*)widget())->isUpEnabled() )
- state |= Unavailable;
- return (State)state;
- case 2:
- if ( !((TQSpinWidget*)widget())->isDownEnabled() )
- state |= Unavailable;
- return (State)state;
- default:
- break;
- }
- return TQAccessibleRangeControl::state( control );
-}
-
-/*! \reimp */
-bool TQAccessibleSpinWidget::doDefaultAction( int control )
-{
- switch( control ) {
- case 1:
- if ( !((TQSpinWidget*)widget())->isUpEnabled() )
- return FALSE;
- ((TQSpinWidget*)widget())->stepUp();
- return TRUE;
- case 2:
- if ( !((TQSpinWidget*)widget())->isDownEnabled() )
- return FALSE;
- ((TQSpinWidget*)widget())->stepDown();
- return TRUE;
- default:
- break;
- }
- return TQAccessibleRangeControl::doDefaultAction( control );
-}
-
-/*!
- \class TQAccessibleScrollBar qaccessiblewidget.h
- \brief The TQAccessibleScrollBar class implements the TQAccessibleInterface for scroll bars.
-*/
-
-/*!
- Constructs a TQAccessibleScrollBar object for \a o.
- \a name, \a description, \a help, \a defAction and \a accelerator
- are propagated to the TQAccessibleRangeControl constructor.
-*/
-TQAccessibleScrollBar::TQAccessibleScrollBar( TQObject *o, TQString name,
- TQString description, TQString help, TQString defAction, TQString accelerator )
-: TQAccessibleRangeControl( o, ScrollBar, name, description, help, defAction, accelerator )
-{
- TQ_ASSERT( o->inherits("TQScrollBar" ) );
-}
-
-/*! Returns the scroll bar. */
-TQScrollBar *TQAccessibleScrollBar::scrollBar() const
-{
- return (TQScrollBar*)widget();
-}
-
-/*! \reimp */
-int TQAccessibleScrollBar::controlAt( int x, int y ) const
-{
- for ( int i = 1; i <= childCount(); i++ ) {
- if ( rect(i).contains( x,y ) )
- return i;
- }
- return 0;
-}
-
-/*! \reimp */
-TQRect TQAccessibleScrollBar::rect( int control ) const
-{
- TQRect rect;
- TQRect srect = scrollBar()->sliderRect();
- int sz = scrollBar()->style().tqpixelMetric( TQStyle::PM_ScrollBarExtent, scrollBar() );
- switch ( control ) {
- case 1:
- if ( scrollBar()->orientation() == Vertical )
- rect = TQRect( 0, 0, sz, sz );
- else
- rect = TQRect( 0, 0, sz, sz );
- break;
- case 2:
- if ( scrollBar()->orientation() == Vertical )
- rect = TQRect( 0, sz, sz, srect.y() - sz );
- else
- rect = TQRect( sz, 0, srect.x() - sz, sz );
- break;
- case 3:
- rect = srect;
- break;
- case 4:
- if ( scrollBar()->orientation() == Vertical )
- rect = TQRect( 0, srect.bottom(), sz, scrollBar()->rect().height() - srect.bottom() - sz );
- else
- rect = TQRect( srect.right(), 0, scrollBar()->rect().width() - srect.right() - sz, sz ) ;
- break;
- case 5:
- if ( scrollBar()->orientation() == Vertical )
- rect = TQRect( 0, scrollBar()->rect().height() - sz, sz, sz );
- else
- rect = TQRect( scrollBar()->rect().width() - sz, 0, sz, sz );
- break;
- default:
- return TQAccessibleRangeControl::rect( control );
- }
-
- TQPoint tp = scrollBar()->mapToGlobal( TQPoint( 0,0 ) );
- return TQRect( tp.x() + rect.x(), tp.y() + rect.y(), rect.width(), rect.height() );
-}
-
-/*! \reimp */
-int TQAccessibleScrollBar::navigate( NavDirection direction, int startControl ) const
-{
- if ( direction != NavFirstChild && direction != NavLastChild && direction != NavFocusChild && !startControl )
- return TQAccessibleRangeControl::navigate( direction, startControl );
-
- switch ( direction ) {
- case NavFirstChild:
- return 1;
- case NavLastChild:
- return 5;
- case NavNext:
- return startControl == childCount() ? -1 : startControl + 1;
- case NavDown:
- if ( scrollBar()->orientation() == Horizontal )
- break;
- return startControl == childCount() ? -1 : startControl + 1;
- case NavRight:
- if ( scrollBar()->orientation() == Vertical )
- break;
- return startControl == childCount() ? -1 : startControl + 1;
- case NavPrevious:
- return startControl == 1 ? -1 : startControl - 1;
- case NavUp:
- if ( scrollBar()->orientation() == Horizontal )
- break;
- return startControl == 1 ? -1 : startControl - 1;
- case NavLeft:
- if ( scrollBar()->orientation() == Vertical )
- break;
- return startControl == 1 ? -1 : startControl - 1;
- default:
- break;
- }
-
- return -1;
-}
-
-/*! \reimp */
-int TQAccessibleScrollBar::childCount() const
-{
- return 5;
-}
-
-/*! \reimp */
-TQRESULT TQAccessibleScrollBar::queryChild( int /*control*/, TQAccessibleInterface **iface ) const
-{
- *iface = 0;
- return TQS_FALSE;
-}
-
-/*! \reimp */
-TQString TQAccessibleScrollBar::text( Text t, int control ) const
-{
- switch ( t ) {
- case Value:
- if ( control && control != 3 )
- return TQString::null;
- break;
- case Name:
- switch ( control ) {
- case 1:
- return TQScrollBar::tr("Line up");
- case 2:
- return TQScrollBar::tr("Page up");
- case 3:
- return TQScrollBar::tr("Position");
- case 4:
- return TQScrollBar::tr("Page down");
- case 5:
- return TQScrollBar::tr("Line down");
- }
- break;
- case DefaultAction:
- if ( control != 3 )
- return TQScrollBar::tr("Press");
- break;
- default:
- break;
-
- }
- return TQAccessibleRangeControl::text( t, control );
-}
-
-/*! \reimp */
-TQAccessible::Role TQAccessibleScrollBar::role( int control ) const
-{
- switch ( control ) {
- case 1:
- case 2:
- return PushButton;
- case 3:
- return Indicator;
- case 4:
- case 5:
- return PushButton;
- default:
- return ScrollBar;
- }
-}
-
-/*! \reimp */
-bool TQAccessibleScrollBar::doDefaultAction( int control )
-{
- switch ( control ) {
- case 1:
- scrollBar()->subtractLine();
- return TRUE;
- case 2:
- scrollBar()->subtractPage();
- return TRUE;
- case 4:
- scrollBar()->addPage();
- return TRUE;
- case 5:
- scrollBar()->addLine();
- return TRUE;
- default:
- return FALSE;
- }
-}
-
-/*!
- \class TQAccessibleSlider qaccessiblewidget.h
- \brief The TQAccessibleScrollBar class implements the TQAccessibleInterface for sliders.
-*/
-
-/*!
- Constructs a TQAccessibleScrollBar object for \a o.
- \a name, \a description, \a help, \a defAction and \a accelerator
- are propagated to the TQAccessibleRangeControl constructor.
-*/
-TQAccessibleSlider::TQAccessibleSlider( TQObject *o, TQString name,
- TQString description, TQString help, TQString defAction, TQString accelerator )
-: TQAccessibleRangeControl( o, ScrollBar, name, description, help, defAction, accelerator )
-{
- TQ_ASSERT( o->inherits("TQSlider" ) );
-}
-
-/*! Returns the slider. */
-TQSlider *TQAccessibleSlider::slider() const
-{
- return (TQSlider*)widget();
-}
-
-/*! \reimp */
-int TQAccessibleSlider::controlAt( int x, int y ) const
-{
- for ( int i = 1; i <= childCount(); i++ ) {
- if ( rect(i).contains( x,y ) )
- return i;
- }
- return 0;
-}
-
-/*! \reimp */
-TQRect TQAccessibleSlider::rect( int control ) const
-{
- TQRect rect;
- TQRect srect = slider()->sliderRect();
- switch ( control ) {
- case 1:
- if ( slider()->orientation() == Vertical )
- rect = TQRect( 0, 0, slider()->width(), srect.y() );
- else
- rect = TQRect( 0, 0, srect.x(), slider()->height() );
- break;
- case 2:
- rect = srect;
- break;
- case 3:
- if ( slider()->orientation() == Vertical )
- rect = TQRect( 0, srect.y() + srect.height(), slider()->width(), slider()->height()- srect.y() - srect.height() );
- else
- rect = TQRect( srect.x() + srect.width(), 0, slider()->width() - srect.x() - srect.width(), slider()->height() );
- break;
- default:
- return TQAccessibleRangeControl::rect( control );
- }
-
- TQPoint tp = slider()->mapToGlobal( TQPoint( 0,0 ) );
- return TQRect( tp.x() + rect.x(), tp.y() + rect.y(), rect.width(), rect.height() );
-}
-
-/*! \reimp */
-int TQAccessibleSlider::navigate( NavDirection direction, int startControl ) const
-{
- if ( direction != NavFirstChild && direction != NavLastChild && direction != NavFocusChild && !startControl )
- return TQAccessibleRangeControl::navigate( direction, startControl );
-
- switch ( direction ) {
- case NavFirstChild:
- return 1;
- case NavLastChild:
- return childCount();
- case NavNext:
- return startControl == childCount() ? -1 : startControl + 1;
- case NavDown:
- if ( slider()->orientation() == Horizontal )
- break;
- return startControl == childCount() ? -1 : startControl + 1;
- case NavRight:
- if ( slider()->orientation() == Vertical )
- break;
- return startControl == childCount() ? -1 : startControl + 1;
- case NavPrevious:
- return startControl == 1 ? -1 : startControl - 1;
- case NavUp:
- if ( slider()->orientation() == Horizontal )
- break;
- return startControl == 1 ? -1 : startControl - 1;
- case NavLeft:
- if ( slider()->orientation() == Vertical )
- break;
- return startControl == 1 ? -1 : startControl - 1;
- default:
- break;
- }
-
- return -1;
-}
-
-/*! \reimp */
-int TQAccessibleSlider::childCount() const
-{
- return 3;
-}
-
-/*! \reimp */
-TQRESULT TQAccessibleSlider::queryChild( int /*control*/, TQAccessibleInterface **iface ) const
-{
- *iface = 0;
- return TQS_FALSE;
-}
-
-/*! \reimp */
-TQString TQAccessibleSlider::text( Text t, int control ) const
-{
- switch ( t ) {
- case Value:
- if ( control && control != 2 )
- return TQString::null;
- break;
- case Name:
- switch ( control ) {
- case 1:
- return TQSlider::tr("Page up");
- case 2:
- return TQSlider::tr("Position");
- case 3:
- return TQSlider::tr("Page down");
- }
- break;
- case DefaultAction:
- if ( control != 2 )
- return TQSlider::tr("Press");
- break;
- default:
- break;
- }
- return TQAccessibleRangeControl::text( t, control );
-}
-
-/*! \reimp */
-TQAccessible::Role TQAccessibleSlider::role( int control ) const
-{
- switch ( control ) {
- case 1:
- return PushButton;
- case 2:
- return Indicator;
- case 3:
- return PushButton;
- default:
- return Slider;
- }
-}
-
-/*! \reimp */
-bool TQAccessibleSlider::doDefaultAction( int control )
-{
- switch ( control ) {
- case 1:
- slider()->subtractLine();
- return TRUE;
- case 3:
- slider()->addLine();
- return TRUE;
- default:
- return FALSE;
- }
-}
-
-
-/*!
- \class TQAccessibleText qaccessiblewidget.h
- \brief The TQAccessibleText class implements the TQAccessibleInterface for widgets with editable text.
-*/
-
-/*!
- Constructs a TQAccessibleText object for \a o.
- \a role, \a name, \a description, \a help, \a defAction and \a accelerator
- are propagated to the TQAccessibleWidget constructor.
-*/
-TQAccessibleText::TQAccessibleText( TQObject *o, Role role, TQString name, TQString description, TQString help, TQString defAction, TQString accelerator )
-: TQAccessibleWidget( o, role, name, description, TQString::null, help, defAction, accelerator )
-{
-}
-
-/*! \reimp */
-TQString TQAccessibleText::text( Text t, int control ) const
-{
- TQString str = TQAccessibleWidget::text( t, control );
- if ( !!str )
- return str;
- switch ( t ) {
- case Name:
- return stripAmp( buddyString( widget() ) );
- case Accelerator:
- str = hotKey( buddyString( widget() ) );
- if ( !!str )
- return "Alt + "+str;
- break;
- case Value:
- if ( widget()->inherits( "TQLineEdit" ) )
- return ((TQLineEdit*)widget())->text();
- break;
- default:
- break;
- }
- return str;
-}
-
-/*! \reimp */
-void TQAccessibleText::setText(Text t, int control, const TQString &text)
-{
- if (t != Value || !widget()->inherits("TQLineEdit") || control) {
- TQAccessibleWidget::setText(t, control, text);
- return;
- }
- ((TQLineEdit*)widget())->setText(text);
-}
-
-/*! \reimp */
-TQAccessible::State TQAccessibleText::state( int control ) const
-{
- int state = TQAccessibleWidget::state( control );
-
- if ( widget()->inherits( "TQLineEdit" ) ) {
- TQLineEdit *l = (TQLineEdit*)widget();
- if ( l->isReadOnly() )
- state |= ReadOnly;
- if ( l->echoMode() == TQLineEdit::Password )
- state |= Protected;
- state |= Selectable;
- if ( l->hasSelectedText() )
- state |= Selected;
- }
-
- return (State)state;
-}
-
-/*!
- \class TQAccessibleDisplay qaccessiblewidget.h
- \brief The TQAccessibleDisplay class implements the TQAccessibleInterface for widgets that display static information.
-*/
-
-/*!
- Constructs a TQAccessibleDisplay object for \a o.
- \a role, \a description, \a value, \a help, \a defAction and \a accelerator
- are propagated to the TQAccessibleWidget constructor.
-*/
-TQAccessibleDisplay::TQAccessibleDisplay( TQObject *o, Role role, TQString description, TQString value, TQString help, TQString defAction, TQString accelerator )
-: TQAccessibleWidget( o, role, TQString::null, description, value, help, defAction, accelerator )
-{
-}
-
-/*! \reimp */
-TQAccessible::Role TQAccessibleDisplay::role( int control ) const
-{
- if ( widget()->inherits( "TQLabel" ) ) {
- TQLabel *l = (TQLabel*)widget();
- if ( l->pixmap() || l->picture() )
- return Graphic;
-#ifndef TQT_NO_PICTURE
- if ( l->picture() )
- return Graphic;
-#endif
-#ifndef TQT_NO_MOVIE
- if ( l->movie() )
- return Animation;
-#endif
- }
- return TQAccessibleWidget::role( control );
-}
-
-/*! \reimp */
-TQString TQAccessibleDisplay::text( Text t, int control ) const
-{
- TQString str = TQAccessibleWidget::text( t, control );
- if ( !!str )
- return str;
-
- switch ( t ) {
- case Name:
- if ( widget()->inherits( "TQLabel" ) ) {
- return stripAmp( ((TQLabel*)widget())->text() );
- } else if ( widget()->inherits( "TQLCDNumber" ) ) {
- TQLCDNumber *l = (TQLCDNumber*)widget();
- if ( l->numDigits() )
- return TQString::number( l->value() );
- return TQString::number( l->intValue() );
- } else if ( widget()->inherits( "TQGroupBox" ) ) {
- return stripAmp( ((TQGroupBox*)widget())->title() );
- }
- break;
- default:
- break;
- }
- return str;
-}
-
-
-/*!
- \class TQAccessibleHeader qaccessiblewidget.h
- \brief The TQAccessibleHeader class implements the TQAccessibleInterface for header widgets.
-*/
-
-/*!
- Constructs a TQAccessibleHeader object for \a o.
- \a role, \a description, \a value, \a help, \a defAction and \a accelerator
- are propagated to the TQAccessibleWidget constructor.
-*/
-TQAccessibleHeader::TQAccessibleHeader( TQObject *o, TQString description,
- TQString value, TQString help, TQString defAction, TQString accelerator )
- : TQAccessibleWidget( o, NoRole, description, value, help, defAction, accelerator )
-{
- TQ_ASSERT(widget()->inherits("TQHeader"));
-}
-
-/*! Returns the TQHeader. */
-TQHeader *TQAccessibleHeader::header() const
-{
- return (TQHeader *)widget();
-}
-
-/*! \reimp */
-int TQAccessibleHeader::controlAt( int x, int y ) const
-{
- TQPoint point = header()->mapFromGlobal( TQPoint( x, y ) );
- for ( int i = 0; i < header()->count(); i++ ) {
- if ( header()->sectionRect( i ).contains( point ) )
- return i+1;
- }
- return -1;
-}
-
-/*! \reimp */
-TQRect TQAccessibleHeader::rect( int control ) const
-{
- TQPoint zero = header()->mapToGlobal( TQPoint ( 0,0 ) );
- TQRect sect = header()->sectionRect( control - 1 );
- return TQRect( sect.x() + zero.x(), sect.y() + zero.y(), sect.width(), sect.height() );
-}
-
-/*! \reimp */
-int TQAccessibleHeader::navigate( NavDirection direction, int startControl ) const
-{
- if ( direction != NavFirstChild && direction != NavLastChild && direction != NavFocusChild && !startControl )
- return TQAccessibleWidget::navigate( direction, startControl );
-
- int count = header()->count();
- switch ( direction ) {
- case NavFirstChild:
- return 1;
- case NavLastChild:
- return count;
- case NavNext:
- return startControl + 1 > count ? -1 : startControl + 1;
- case NavPrevious:
- return startControl - 1 < 1 ? -1 : startControl - 1;
- case NavUp:
- if ( header()->orientation() == Vertical )
- return startControl - 1 < 1 ? -1 : startControl - 1;
- return -1;
- case NavDown:
- if ( header()->orientation() == Vertical )
- return startControl + 1 > count ? -1 : startControl + 1;
- break;
- case NavLeft:
- if ( header()->orientation() == Horizontal )
- return startControl - 1 < 1 ? -1 : startControl - 1;
- break;
- case NavRight:
- if ( header()->orientation() == Horizontal )
- return startControl + 1 > count ? -1 : startControl + 1;
- break;
- default:
- break;
- }
- return -1;
-}
-
-/*! \reimp */
-int TQAccessibleHeader::childCount() const
-{
- return header()->count();
-}
-
-/*! \reimp */
-TQRESULT TQAccessibleHeader::queryChild( int /*control*/, TQAccessibleInterface **iface ) const
-{
- *iface = 0;
- return TQS_FALSE;
-}
-
-/*! \reimp */
-TQString TQAccessibleHeader::text( Text t, int control ) const
-{
- TQString str = TQAccessibleWidget::text( t, control );
- if ( !!str )
- return str;
-
- switch ( t ) {
- case Name:
- return header()->label( control - 1 );
- default:
- break;
- }
- return str;
-}
-
-/*! \reimp */
-TQAccessible::Role TQAccessibleHeader::role( int /*control*/ ) const
-{
- if ( header()->orientation() == Qt::Horizontal )
- return ColumnHeader;
- else
- return RowHeader;
-}
-
-/*! \reimp */
-TQAccessible::State TQAccessibleHeader::state( int control ) const
-{
- return TQAccessibleWidget::state( control );
-}
-
-
-/*!
- \class TQAccessibleTabBar qaccessiblewidget.h
- \brief The TQAccessibleTabBar class implements the TQAccessibleInterface for tab bars.
-*/
-
-/*!
- Constructs a TQAccessibleTabBar object for \a o.
- \a role, \a description, \a value, \a help, \a defAction and \a accelerator
- are propagated to the TQAccessibleWidget constructor.
-*/
-TQAccessibleTabBar::TQAccessibleTabBar( TQObject *o, TQString description,
- TQString value, TQString help, TQString defAction, TQString accelerator )
- : TQAccessibleWidget( o, NoRole, description, value, help, defAction, accelerator )
-{
- TQ_ASSERT(widget()->inherits("TQTabBar"));
-}
-
-/*! Returns the TQHeader. */
-TQTabBar *TQAccessibleTabBar::tabBar() const
-{
- return (TQTabBar*)widget();
-}
-
-/*! \reimp */
-int TQAccessibleTabBar::controlAt( int x, int y ) const
-{
- int wc = TQAccessibleWidget::controlAt( x, y );
- if ( wc )
- return wc + tabBar()->count();
-
- TQPoint tp = tabBar()->mapFromGlobal( TQPoint( x,y ) );
- TQTab *tab = tabBar()->selectTab( tp );
- return tabBar()->indexOf( tab->identifier() ) + 1;
-}
-
-/*! \reimp */
-TQRect TQAccessibleTabBar::rect( int control ) const
-{
- if ( !control )
- return TQAccessibleWidget::rect( 0 );
- if ( control > tabBar()->count() ) {
- TQAccessibleInterface *iface;
- TQAccessibleWidget::queryChild( control - tabBar()->count(), &iface );
- if ( !iface )
- return TQRect();
- return iface->rect( 0 );
- }
-
- TQTab *tab = tabBar()->tabAt( control - 1 );
-
- TQPoint tp = tabBar()->mapToGlobal( TQPoint( 0,0 ) );
- TQRect rec = tab->rect();
- return TQRect( tp.x() + rec.x(), tp.y() + rec.y(), rec.width(), rec.height() );
-}
-
-/*! \reimp */
-TQRESULT TQAccessibleTabBar::queryChild( int /*control*/, TQAccessibleInterface **iface ) const
-{
- *iface = 0;
- return TQS_FALSE;
-}
-
-/*! \reimp */
-int TQAccessibleTabBar::navigate( NavDirection direction, int startControl ) const
-{
- if ( direction != NavFirstChild && direction != NavLastChild && direction != NavFocusChild && !startControl )
- return TQAccessibleWidget::navigate( direction, startControl );
-
- switch ( direction ) {
- case NavFirstChild:
- return 1;
- break;
- case NavLastChild:
- return childCount();
- break;
- case NavNext:
- case NavRight:
- return startControl + 1 > childCount() ? -1 : startControl + 1;
- case NavPrevious:
- case NavLeft:
- return startControl -1 < 1 ? -1 : startControl - 1;
- default:
- break;
- }
- return -1;
-}
-
-/*! \reimp */
-int TQAccessibleTabBar::childCount() const
-{
- int wc = TQAccessibleWidget::childCount();
- wc += tabBar()->count();
- return wc;
-}
-
-/*! \reimp */
-TQString TQAccessibleTabBar::text( Text t, int control ) const
-{
- TQString str = TQAccessibleWidget::text( t, control );
- if ( !!str )
- return str;
-
- if ( !control )
- return TQAccessibleWidget::text( t, control );
- if ( control > tabBar()->count() ) {
- TQAccessibleInterface *iface;
- TQAccessibleWidget::queryChild( control - tabBar()->count(), &iface );
- if ( !iface )
- return TQAccessibleWidget::text( t, 0 );
- return iface->text( t, 0 );
- }
-
- TQTab *tab = tabBar()->tabAt( control - 1 );
- if ( !tab )
- return TQAccessibleWidget::text( t, 0 );
-
- switch ( t ) {
- case Name:
- return stripAmp( tab->text() );
- case DefaultAction:
- return TQTabBar::tr( "Switch" );
- default:
- break;
- }
- return str;
-}
-
-/*! \reimp */
-TQAccessible::Role TQAccessibleTabBar::role( int control ) const
-{
- if ( !control )
- return PageTabList;
- if ( control > tabBar()->count() ) {
- TQAccessibleInterface *iface;
- TQAccessibleWidget::queryChild( control - tabBar()->count(), &iface );
- if ( !iface )
- return TQAccessibleWidget::role( 0 );
- return iface->role( 0 );
- }
-
- return PageTab;
-}
-
-/*! \reimp */
-TQAccessible::State TQAccessibleTabBar::state( int control ) const
-{
- int st = TQAccessibleWidget::state( 0 );
-
- if ( !control )
- return (State)st;
- if ( control > tabBar()->count() ) {
- TQAccessibleInterface *iface;
- TQAccessibleWidget::queryChild( control - tabBar()->count(), &iface );
- if ( !iface )
- return (State)st;
- return iface->state( 0 );
- }
-
- TQTab *tab = tabBar()->tabAt( control - 1 );
- if ( !tab )
- return (State)st;
-
- if ( !tab->isEnabled() )
- st |= Unavailable;
- else
- st |= Selectable;
-
- if ( tabBar()->currentTab() == tab->identifier() )
- st |= Selected;
-
- return (State)st;
-}
-
-/*! \reimp */
-bool TQAccessibleTabBar::doDefaultAction( int control )
-{
- if ( !control )
- return FALSE;
- if ( control > tabBar()->count() ) {
- TQAccessibleInterface *iface;
- TQAccessibleWidget::queryChild( control - tabBar()->count(), &iface );
- if ( !iface )
- return FALSE;
- return iface->doDefaultAction( 0 );
- }
-
- TQTab *tab = tabBar()->tabAt( control - 1 );
- if ( !tab || !tab->isEnabled() )
- return FALSE;
- tabBar()->setCurrentTab( tab );
- return TRUE;
-}
-
-/*! \reimp */
-bool TQAccessibleTabBar::setSelected( int control, bool on, bool extend )
-{
- if ( !control || !on || extend || control > tabBar()->count() )
- return FALSE;
-
- TQTab *tab = tabBar()->tabAt( control - 1 );
- if ( !tab || !tab->isEnabled() )
- return FALSE;
- tabBar()->setCurrentTab( tab );
- return TRUE;
-}
-
-/*! \reimp */
-void TQAccessibleTabBar::clearSelection()
-{
-}
-
-/*! \reimp */
-TQMemArray<int> TQAccessibleTabBar::selection() const
-{
- TQMemArray<int> array( 1 );
- array.at(0) = tabBar()->indexOf( tabBar()->currentTab() ) + 1;
-
- return array;
-}
-
-/*!
- \class TQAccessibleComboBox qaccessiblewidget.h
- \brief The TQAccessibleComboBox class implements the TQAccessibleInterface for editable and read-only combo boxes.
-*/
-
-
-/*!
- Constructs a TQAccessibleComboBox object for \a o.
-*/
-TQAccessibleComboBox::TQAccessibleComboBox( TQObject *o )
-: TQAccessibleWidget( o, ComboBox )
-{
- TQ_ASSERT(o->inherits("TQComboBox"));
-}
-
-/*!
- Returns the combo box.
-*/
-TQComboBox *TQAccessibleComboBox::comboBox() const
-{
- return (TQComboBox*)object();
-}
-
-/*! \reimp */
-int TQAccessibleComboBox::controlAt( int x, int y ) const
-{
- for ( int i = childCount(); i >= 0; --i ) {
- if ( rect( i ).contains( x, y ) )
- return i;
- }
- return -1;
-}
-
-/*! \reimp */
-TQRect TQAccessibleComboBox::rect( int control ) const
-{
- TQPoint tp;
- TQRect r;
-
- switch( control ) {
- case 1:
- if ( comboBox()->editable() ) {
- tp = comboBox()->lineEdit()->mapToGlobal( TQPoint( 0,0 ) );
- r = comboBox()->lineEdit()->rect();
- } else {
- tp = comboBox()->mapToGlobal( TQPoint( 0,0 ) );
- r = comboBox()->style().querySubControlMetrics( TQStyle::CC_ComboBox, comboBox(), TQStyle::SC_ComboBoxEditField );
- }
- break;
- case 2:
- tp = comboBox()->mapToGlobal( TQPoint( 0,0 ) );
- r = comboBox()->style().querySubControlMetrics( TQStyle::CC_ComboBox, comboBox(), TQStyle::SC_ComboBoxArrow );
- break;
- default:
- return TQAccessibleWidget::rect( control );
- }
- return TQRect( tp.x() + r.x(), tp.y() + r.y(), r.width(), r.height() );
-}
-
-/*! \reimp */
-int TQAccessibleComboBox::navigate( NavDirection direction, int startControl ) const
-{
- if ( direction != NavFirstChild && direction != NavLastChild && direction != NavFocusChild && !startControl )
- return TQAccessibleWidget::navigate( direction, startControl );
-
- switch ( direction ) {
- case NavFirstChild:
- return 1;
- break;
- case NavLastChild:
- return childCount();
- break;
- case NavNext:
- case NavRight:
- return startControl + 1 > childCount() ? -1 : startControl + 1;
- case NavPrevious:
- case NavLeft:
- return startControl -1 < 1 ? -1 : startControl - 1;
- default:
- break;
- }
- return -1;
-}
-
-/*! \reimp */
-int TQAccessibleComboBox::childCount() const
-{
- return 2;
-}
-
-/*! \reimp */
-TQRESULT TQAccessibleComboBox::queryChild( int /*control*/, TQAccessibleInterface **iface ) const
-{
- *iface = 0;
- return TQS_FALSE;
-}
-
-/*! \reimp */
-TQString TQAccessibleComboBox::text( Text t, int control ) const
-{
- TQString str;
-
- switch ( t ) {
- case Name:
- if ( control < 2 )
- return stripAmp( buddyString( comboBox() ) );
- return TQComboBox::tr("Open");
- case Accelerator:
- if ( control < 2 ) {
- str = hotKey( buddyString( comboBox() ) );
- if ( !!str )
- return "Alt + " + str;
- return str;
- }
- return TQComboBox::tr("Alt + Down Arrow" );
- case Value:
- if ( control < 2 ) {
- if ( comboBox()->editable() )
- return comboBox()->lineEdit()->text();
- return comboBox()->currentText();
- }
- break;
- case DefaultAction:
- if ( control == 2 )
- return TQComboBox::tr("Open");
- break;
- default:
- str = TQAccessibleWidget::text( t, 0 );
- break;
- }
- return str;
-}
-
-/*! \reimp */
-TQAccessible::Role TQAccessibleComboBox::role( int control ) const
-{
- switch ( control ) {
- case 0:
- return ComboBox;
- case 1:
- if ( comboBox()->editable() )
- return EditableText;
- return StaticText;
- case 2:
- return PushButton;
- default:
- return List;
- }
-}
-
-/*! \reimp */
-TQAccessible::State TQAccessibleComboBox::state( int /*control*/ ) const
-{
- return TQAccessibleWidget::state( 0 );
-}
-
-/*! \reimp */
-bool TQAccessibleComboBox::doDefaultAction( int control )
-{
- if ( control != 2 )
- return FALSE;
- comboBox()->popup();
- return TRUE;
-}
-
-/*!
- \class TQAccessibleTitleBar qaccessiblewidget.h
- \brief The TQAccessibleTitleBar class implements the TQAccessibleInterface for title bars.
-*/
-
-/*!
- Constructs a TQAccessibleComboBox object for \a o.
-*/
-TQAccessibleTitleBar::TQAccessibleTitleBar( TQObject *o )
-: TQAccessibleWidget( o, ComboBox )
-{
- TQ_ASSERT(o->inherits("TQTitleBar"));
-}
-
-/*!
- Returns the title bar.
-*/
-TQTitleBar *TQAccessibleTitleBar::titleBar() const
-{
- return (TQTitleBar*)object();
-}
-
-/*! \reimp */
-int TQAccessibleTitleBar::controlAt( int x, int y ) const
-{
- int ctrl = titleBar()->style().querySubControl( TQStyle::CC_TitleBar, titleBar(), titleBar()->mapFromGlobal( TQPoint( x,y ) ) );
-
- switch ( ctrl )
- {
- case TQStyle::SC_TitleBarSysMenu:
- return 1;
- case TQStyle::SC_TitleBarLabel:
- return 2;
- case TQStyle::SC_TitleBarMinButton:
- return 3;
- case TQStyle::SC_TitleBarMaxButton:
- return 4;
- case TQStyle::SC_TitleBarCloseButton:
- return 5;
- default:
- break;
- }
- return 0;
-}
-
-/*! \reimp */
-TQRect TQAccessibleTitleBar::rect( int control ) const
-{
- if ( !control )
- return TQAccessibleWidget::rect( control );
-
- TQRect r;
- switch ( control ) {
- case 1:
- r = titleBar()->style().querySubControlMetrics( TQStyle::CC_TitleBar, titleBar(), TQStyle::SC_TitleBarSysMenu );
- break;
- case 2:
- r = titleBar()->style().querySubControlMetrics( TQStyle::CC_TitleBar, titleBar(), TQStyle::SC_TitleBarLabel );
- break;
- case 3:
- r = titleBar()->style().querySubControlMetrics( TQStyle::CC_TitleBar, titleBar(), TQStyle::SC_TitleBarMinButton );
- break;
- case 4:
- r = titleBar()->style().querySubControlMetrics( TQStyle::CC_TitleBar, titleBar(), TQStyle::SC_TitleBarMaxButton );
- break;
- case 5:
- r = titleBar()->style().querySubControlMetrics( TQStyle::CC_TitleBar, titleBar(), TQStyle::SC_TitleBarCloseButton );
- break;
- default:
- break;
- }
-
- TQPoint tp = titleBar()->mapToGlobal( TQPoint( 0,0 ) );
- return TQRect( tp.x() + r.x(), tp.y() + r.y(), r.width(), r.height() );
-}
-
-/*! \reimp */
-int TQAccessibleTitleBar::navigate( NavDirection direction, int startControl ) const
-{
- if ( direction != NavFirstChild && direction != NavLastChild && direction != NavFocusChild && !startControl )
- return TQAccessibleWidget::navigate( direction, startControl );
-
- switch ( direction ) {
- case NavFirstChild:
- return 1;
- break;
- case NavLastChild:
- return childCount();
- break;
- case NavNext:
- case NavRight:
- return startControl + 1 > childCount() ? -1 : startControl + 1;
- case NavPrevious:
- case NavLeft:
- return startControl -1 < 1 ? -1 : startControl - 1;
- default:
- break;
- }
- return -1;
-}
-
-/*! \reimp */
-int TQAccessibleTitleBar::childCount() const
-{
- return 5;
-}
-
-/*! \reimp */
-TQRESULT TQAccessibleTitleBar::queryChild( int /*control*/, TQAccessibleInterface **iface ) const
-{
- *iface = 0;
- return TQS_FALSE;
-}
-
-/*! \reimp */
-TQString TQAccessibleTitleBar::text( Text t, int control ) const
-{
- TQString str = TQAccessibleWidget::text( t, control );
- if ( !!str )
- return str;
-
- switch ( t ) {
- case Name:
- switch ( control ) {
- case 1:
- return TQTitleBar::tr("System");
- case 3:
- if ( titleBar()->window()->isMinimized() )
- return TQTitleBar::tr("Restore up");
- return TQTitleBar::tr("Minimize");
- case 4:
- if ( titleBar()->window()->isMaximized() )
- return TQTitleBar::tr("Restore down");
- return TQTitleBar::tr("Maximize");
- case 5:
- return TQTitleBar::tr("Close");
- default:
- break;
- }
- break;
- case Value:
- if ( !control || control == 2 )
- return titleBar()->window()->caption();
- break;
- case DefaultAction:
- if ( control > 2 )
- return TQTitleBar::tr("Press");
- break;
- case Description:
- switch ( control ) {
- case 1:
- return TQTitleBar::tr("Contains commands to manipulate the window");
- case 3:
- if ( titleBar()->window()->isMinimized() )
- return TQTitleBar::tr("Puts a minimized back to normal");
- return TQTitleBar::tr("Moves the window out of the way");
- case 4:
- if ( titleBar()->window()->isMaximized() )
- return TQTitleBar::tr("Puts a maximized window back to normal");
- return TQTitleBar::tr("Makes the window full screen");
- case 5:
- return TQTitleBar::tr("Closes the window");
- default:
- return TQTitleBar::tr("Displays the name of the window and contains controls to manipulate it");
- }
- default:
- break;
- }
- return str;
-}
-
-/*! \reimp */
-TQAccessible::Role TQAccessibleTitleBar::role( int control ) const
-{
- switch ( control )
- {
- case 1:
- case 3:
- case 4:
- case 5:
- return PushButton;
- default:
- return TitleBar;
- }
-}
-
-/*! \reimp */
-TQAccessible::State TQAccessibleTitleBar::state( int control ) const
-{
- return TQAccessibleWidget::state( control );
-}
-
-/*! \reimp */
-bool TQAccessibleTitleBar::doDefaultAction( int control )
-{
- switch ( control ) {
- case 3:
- if ( titleBar()->window()->isMinimized() )
- titleBar()->window()->showNormal();
- else
- titleBar()->window()->showMinimized();
- return TRUE;
- case 4:
- if ( titleBar()->window()->isMaximized() )
- titleBar()->window()->showNormal();
- else
- titleBar()->window()->showMaximized();
- return TRUE;
- case 5:
- titleBar()->window()->close();
- return TRUE;
- default:
- break;
- }
- return FALSE;
-}
-
-
-/*!
- \class TQAccessibleViewport qaccessiblewidget.h
- \brief The TQAccessibleViewport class hides the viewport of scrollviews for accessibility.
- \internal
-*/
-
-TQAccessibleViewport::TQAccessibleViewport( TQObject *o, TQObject *sv )
- : TQAccessibleWidget( o )
-{
- TQ_ASSERT( sv->inherits("TQScrollView") );
- scrollview = (TQScrollView*)sv;
-}
-
-TQAccessibleScrollView *TQAccessibleViewport::scrollView() const
-{
- TQAccessibleInterface *iface = 0;
- queryAccessibleInterface( scrollview, &iface );
- TQ_ASSERT(iface);
- return (TQAccessibleScrollView *)iface;
-}
-
-int TQAccessibleViewport::controlAt( int x, int y ) const
-{
- int control = TQAccessibleWidget::controlAt( x, y );
- if ( control > 0 )
- return control;
-
- TQPoint p = widget()->mapFromGlobal( TQPoint( x,y ) );
- return scrollView()->itemAt( p.x(), p.y() );
-}
-
-TQRect TQAccessibleViewport::rect( int control ) const
-{
- if ( !control )
- return TQAccessibleWidget::rect( control );
- TQRect rect = scrollView()->tqitemRect( control );
- TQPoint tl = widget()->mapToGlobal( TQPoint( 0,0 ) );
- return TQRect( tl.x() + rect.x(), tl.y() + rect.y(), rect.width(), rect.height() );
-}
-
-int TQAccessibleViewport::navigate( NavDirection direction, int startControl ) const
-{
- if ( direction != NavFirstChild && direction != NavLastChild && direction != NavFocusChild && !startControl )
- return TQAccessibleWidget::navigate( direction, startControl );
-
- // ### call itemUp/Down etc. here
- const int items = scrollView()->itemCount();
- switch( direction ) {
- case NavFirstChild:
- return 1;
- case NavLastChild:
- return items;
- case NavNext:
- case NavDown:
- return startControl + 1 > items ? -1 : startControl + 1;
- case NavPrevious:
- case NavUp:
- return startControl - 1 < 1 ? -1 : startControl - 1;
- default:
- break;
- }
-
- return -1;
-}
-
-int TQAccessibleViewport::childCount() const
-{
- int widgets = TQAccessibleWidget::childCount();
- return widgets ? widgets : scrollView()->itemCount();
-}
-
-TQString TQAccessibleViewport::text( Text t, int control ) const
-{
- return scrollView()->text( t, control );
-}
-
-bool TQAccessibleViewport::doDefaultAction( int control )
-{
- return scrollView()->doDefaultAction( control );
-}
-
-TQAccessible::Role TQAccessibleViewport::role( int control ) const
-{
- return scrollView()->role( control );
-}
-
-TQAccessible::State TQAccessibleViewport::state( int control ) const
-{
- return scrollView()->state( control );
-}
-
-bool TQAccessibleViewport::setFocus( int control )
-{
- return scrollView()->setFocus( control );
-}
-
-bool TQAccessibleViewport::setSelected( int control, bool on, bool extend )
-{
- return scrollView()->setSelected( control, on, extend );
-}
-
-void TQAccessibleViewport::clearSelection()
-{
- scrollView()->clearSelection();
-}
-
-TQMemArray<int> TQAccessibleViewport::selection() const
-{
- return scrollView()->selection();
-}
-
-/*!
- \class TQAccessibleScrollView qaccessiblewidget.h
- \brief The TQAccessibleScrollView class implements the TQAccessibleInterface for scrolled widgets.
-*/
-
-/*!
- Constructs a TQAccessibleScrollView object for \a o.
- \a role, \a description, \a value, \a help, \a defAction and \a accelerator
- are propagated to the TQAccessibleWidget constructor.
-*/
-TQAccessibleScrollView::TQAccessibleScrollView( TQObject *o, Role role, TQString name,
- TQString description, TQString value, TQString help, TQString defAction, TQString accelerator )
- : TQAccessibleWidget( o, role, name, description, value, help, defAction, accelerator )
-{
-}
-
-/*! \reimp */
-TQString TQAccessibleScrollView::text( Text t, int control ) const
-{
- TQString str = TQAccessibleWidget::text( t, control );
- if ( !!str )
- return str;
- switch ( t ) {
- case Name:
- return buddyString( widget() );
- default:
- break;
- }
-
- return str;
-}
-
-/*!
- Returns the ID of the item at viewport position \a x, \a y.
-*/
-int TQAccessibleScrollView::itemAt( int /*x*/, int /*y*/ ) const
-{
- return 0;
-}
-
-/*!
- Returns the location of the item with ID \a item in viewport coordinates.
-*/
-TQRect TQAccessibleScrollView::tqitemRect( int /*item*/ ) const
-{
- return TQRect();
-}
-
-/*!
- Returns the number of items.
-*/
-int TQAccessibleScrollView::itemCount() const
-{
- return 0;
-}
-
-/*!
- \class TQAccessibleListBox qaccessiblewidget.h
- \brief The TQAccessibleListBox class implements the TQAccessibleInterface for list boxes.
-*/
-
-/*!
- Constructs a TQAccessibleListBox object for \a o.
-*/
-TQAccessibleListBox::TQAccessibleListBox( TQObject *o )
- : TQAccessibleScrollView( o, List )
-{
- TQ_ASSERT(widget()->inherits("TQListBox"));
-}
-
-/*! Returns the list box. */
-TQListBox *TQAccessibleListBox::listBox() const
-{
- return (TQListBox*)widget();
-}
-
-/*! \reimp */
-int TQAccessibleListBox::itemAt( int x, int y ) const
-{
- TQListBoxItem *item = listBox()->itemAt( TQPoint( x, y ) );
- return listBox()->index( item ) + 1;
-}
-
-/*! \reimp */
-TQRect TQAccessibleListBox::tqitemRect( int item ) const
-{
- return listBox()->tqitemRect( listBox()->item( item-1 ) );
-}
-
-/*! \reimp */
-int TQAccessibleListBox::itemCount() const
-{
- return listBox()->count();
-}
-
-/*! \reimp */
-TQString TQAccessibleListBox::text( Text t, int control ) const
-{
- if ( !control || t != Name )
- return TQAccessibleScrollView::text( t, control );
-
- TQListBoxItem *item = listBox()->item( control - 1 );
- if ( item )
- return item->text();
- return TQString::null;
-}
-
-/*! \reimp */
-TQAccessible::Role TQAccessibleListBox::role( int control ) const
-{
- if ( !control )
- return TQAccessibleScrollView::role( control );
- return ListItem;
-}
-
-/*! \reimp */
-TQAccessible::State TQAccessibleListBox::state( int control ) const
-{
- int state = TQAccessibleScrollView::state( control );
- TQListBoxItem *item;
- if ( !control || !( item = listBox()->item( control - 1 ) ) )
- return (State)state;
-
- if ( item->isSelectable() ) {
- if ( listBox()->selectionMode() == TQListBox::Multi )
- state |= MultiSelectable;
- else if ( listBox()->selectionMode() == TQListBox::Extended )
- state |= ExtSelectable;
- else if ( listBox()->selectionMode() == TQListBox::Single )
- state |= Selectable;
- if ( item->isSelected() )
- state |= Selected;
- }
- if ( listBox()->focusPolicy() != TQWidget::NoFocus ) {
- state |= Focusable;
- if ( item->isCurrent() )
- state |= Focused;
- }
- if ( !listBox()->itemVisible( item ) )
- state |= Invisible;
-
- return (State)state;
-}
-
-/*! \reimp */
-bool TQAccessibleListBox::setFocus( int control )
-{
- bool res = TQAccessibleScrollView::setFocus( 0 );
- if ( !control || !res )
- return res;
-
- TQListBoxItem *item = listBox()->item( control -1 );
- if ( !item )
- return FALSE;
- listBox()->setCurrentItem( item );
- return TRUE;
-}
-
-/*! \reimp */
-bool TQAccessibleListBox::setSelected( int control, bool on, bool extend )
-{
- if ( !control || ( extend &&
- listBox()->selectionMode() != TQListBox::Extended &&
- listBox()->selectionMode() != TQListBox::Multi ) )
- return FALSE;
-
- TQListBoxItem *item = listBox()->item( control -1 );
- if ( !item )
- return FALSE;
- if ( !extend ) {
- listBox()->setSelected( item, on );
- } else {
- int current = listBox()->currentItem();
- bool down = control > current;
- for ( int i = current; i != control;) {
- down ? i++ : i--;
- listBox()->setSelected( i, on );
- }
-
- }
- return TRUE;
-}
-
-/*! \reimp */
-void TQAccessibleListBox::clearSelection()
-{
- listBox()->clearSelection();
-}
-
-/*! \reimp */
-TQMemArray<int> TQAccessibleListBox::selection() const
-{
- TQMemArray<int> array;
- uint size = 0;
- const uint c = listBox()->count();
- array.resize( c );
- for ( uint i = 0; i < c; ++i ) {
- if ( listBox()->isSelected( i ) ) {
- ++size;
- array[ (int)size-1 ] = i+1;
- }
- }
- array.resize( size );
- return array;
-}
-
-/*!
- \class TQAccessibleListView qaccessiblewidget.h
- \brief The TQAccessibleListView class implements the TQAccessibleInterface for list views.
-*/
-
-static TQListViewItem *findLVItem( TQListView* listView, int control )
-{
- int id = 1;
- TQListViewItemIterator it( listView );
- TQListViewItem *item = it.current();
- while ( item && id < control ) {
- ++it;
- ++id;
- item = it.current();
- }
- return item;
-}
-
-/*!
- Constructs a TQAccessibleListView object for \a o.
-*/
-TQAccessibleListView::TQAccessibleListView( TQObject *o )
- : TQAccessibleScrollView( o, Outline )
-{
-}
-
-/*! Returns the list view. */
-TQListView *TQAccessibleListView::listView() const
-{
- TQ_ASSERT(widget()->inherits("TQListView"));
- return (TQListView*)widget();
-}
-
-/*! \reimp */
-int TQAccessibleListView::itemAt( int x, int y ) const
-{
- TQListViewItem *item = listView()->itemAt( TQPoint( x, y ) );
- if ( !item )
- return 0;
-
- TQListViewItemIterator it( listView() );
- int c = 1;
- while ( it.current() ) {
- if ( it.current() == item )
- return c;
- ++c;
- ++it;
- }
- return 0;
-}
-
-/*! \reimp */
-TQRect TQAccessibleListView::tqitemRect( int control ) const
-{
- TQListViewItem *item = findLVItem( listView(), control );
- if ( !item )
- return TQRect();
- return listView()->tqitemRect( item );
-}
-
-/*! \reimp */
-int TQAccessibleListView::itemCount() const
-{
- TQListViewItemIterator it( listView() );
- int c = 0;
- while ( it.current() ) {
- ++c;
- ++it;
- }
-
- return c;
-}
-
-/*! \reimp */
-TQString TQAccessibleListView::text( Text t, int control ) const
-{
- if ( !control || t != Name )
- return TQAccessibleScrollView::text( t, control );
-
- TQListViewItem *item = findLVItem( listView(), control );
- if ( !item )
- return TQString::null;
- return item->text( 0 );
-}
-
-/*! \reimp */
-TQAccessible::Role TQAccessibleListView::role( int control ) const
-{
- if ( !control )
- return TQAccessibleScrollView::role( control );
- return OutlineItem;
-}
-
-/*! \reimp */
-TQAccessible::State TQAccessibleListView::state( int control ) const
-{
- int state = TQAccessibleScrollView::state( control );
- TQListViewItem *item;
- if ( !control || !( item = findLVItem( listView(), control ) ) )
- return (State)state;
-
- if ( item->isSelectable() ) {
- if ( listView()->selectionMode() == TQListView::Multi )
- state |= MultiSelectable;
- else if ( listView()->selectionMode() == TQListView::Extended )
- state |= ExtSelectable;
- else if ( listView()->selectionMode() == TQListView::Single )
- state |= Selectable;
- if ( item->isSelected() )
- state |= Selected;
- }
- if ( listView()->focusPolicy() != TQWidget::NoFocus ) {
- state |= Focusable;
- if ( item == listView()->currentItem() )
- state |= Focused;
- }
- if ( item->childCount() ) {
- if ( item->isOpen() )
- state |= Expanded;
- else
- state |= Collapsed;
- }
- if ( !listView()->tqitemRect( item ).isValid() )
- state |= Invisible;
-
- if ( item->rtti() == TQCheckListItem::RTTI ) {
- if ( ((TQCheckListItem*)item)->isOn() )
- state|=Checked;
- }
- return (State)state;
-}
-
-/*! \reimp
-TQAccessibleInterface *TQAccessibleListView::focusChild( int *control ) const
-{
- TQListViewItem *item = listView()->currentItem();
- if ( !item )
- return 0;
-
- TQListViewItemIterator it( listView() );
- int c = 1;
- while ( it.current() ) {
- if ( it.current() == item ) {
- *control = c;
- return (TQAccessibleInterface*)this;
- }
- ++c;
- ++it;
- }
- return 0;
-}
-*/
-/*! \reimp */
-bool TQAccessibleListView::setFocus( int control )
-{
- bool res = TQAccessibleScrollView::setFocus( 0 );
- if ( !control || !res )
- return res;
-
- TQListViewItem *item = findLVItem( listView(), control );
- if ( !item )
- return FALSE;
- listView()->setCurrentItem( item );
- return TRUE;
-}
-
-/*! \reimp */
-bool TQAccessibleListView::setSelected( int control, bool on, bool extend )
-{
- if ( !control || ( extend &&
- listView()->selectionMode() != TQListView::Extended &&
- listView()->selectionMode() != TQListView::Multi ) )
- return FALSE;
-
- TQListViewItem *item = findLVItem( listView(), control );
- if ( !item )
- return FALSE;
- if ( !extend ) {
- listView()->setSelected( item, on );
- } else {
- TQListViewItem *current = listView()->currentItem();
- if ( !current )
- return FALSE;
- bool down = item->itemPos() > current->itemPos();
- TQListViewItemIterator it( current );
- while ( it.current() ) {
- listView()->setSelected( it.current(), on );
- if ( it.current() == item )
- break;
- if ( down )
- ++it;
- else
- --it;
- }
- }
- return TRUE;
-}
-
-/*! \reimp */
-void TQAccessibleListView::clearSelection()
-{
- listView()->clearSelection();
-}
-
-/*! \reimp */
-TQMemArray<int> TQAccessibleListView::selection() const
-{
- TQMemArray<int> array;
- uint size = 0;
- int id = 1;
- array.resize( size );
- TQListViewItemIterator it( listView() );
- while ( it.current() ) {
- if ( it.current()->isSelected() ) {
- ++size;
- array.resize( size );
- array[ (int)size-1 ] = id;
- }
- ++it;
- ++id;
- }
- return array;
-}
-
-#ifndef TQT_NO_ICONVIEW
-/*!
- \class TQAccessibleIconView qaccessiblewidget.h
- \brief The TQAccessibleIconView class implements the TQAccessibleInterface for icon views.
-*/
-
-static TQIconViewItem *findIVItem( TQIconView *iconView, int control )
-{
- int id = 1;
- TQIconViewItem *item = iconView->firstItem();
- while ( item && id < control ) {
- item = item->nextItem();
- ++id;
- }
-
- return item;
-}
-
-/*!
- Constructs a TQAccessibleIconView object for \a o.
-*/
-TQAccessibleIconView::TQAccessibleIconView( TQObject *o )
- : TQAccessibleScrollView( o, Outline )
-{
- TQ_ASSERT(widget()->inherits("TQIconView"));
-}
-
-/*! Returns the icon view. */
-TQIconView *TQAccessibleIconView::iconView() const
-{
- return (TQIconView*)widget();
-}
-
-/*! \reimp */
-int TQAccessibleIconView::itemAt( int x, int y ) const
-{
- TQIconViewItem *item = iconView()->findItem( TQPoint( x, y ) );
- return iconView()->index( item ) + 1;
-}
-
-/*! \reimp */
-TQRect TQAccessibleIconView::tqitemRect( int control ) const
-{
- TQIconViewItem *item = findIVItem( iconView(), control );
-
- if ( !item )
- return TQRect();
- return item->rect();
-}
-
-/*! \reimp */
-int TQAccessibleIconView::itemCount() const
-{
- return iconView()->count();
-}
-
-/*! \reimp */
-TQString TQAccessibleIconView::text( Text t, int control ) const
-{
- if ( !control || t != Name )
- return TQAccessibleScrollView::text( t, control );
-
- TQIconViewItem *item = findIVItem( iconView(), control );
- if ( !item )
- return TQString::null;
- return item->text();
-}
-
-/*! \reimp */
-TQAccessible::Role TQAccessibleIconView::role( int control ) const
-{
- if ( !control )
- return TQAccessibleScrollView::role( control );
- return OutlineItem;
-}
-
-/*! \reimp */
-TQAccessible::State TQAccessibleIconView::state( int control ) const
-{
- int state = TQAccessibleScrollView::state( control );
- TQIconViewItem *item;
- if ( !control || !( item = findIVItem( iconView(), control ) ) )
- return (State)state;
-
- if ( item->isSelectable() ) {
- if ( iconView()->selectionMode() == TQIconView::Multi )
- state |= MultiSelectable;
- else if ( iconView()->selectionMode() == TQIconView::Extended )
- state |= ExtSelectable;
- else if ( iconView()->selectionMode() == TQIconView::Single )
- state |= Selectable;
- if ( item->isSelected() )
- state |= Selected;
- }
- if ( iconView()->itemsMovable() )
- state |= Moveable;
- if ( iconView()->focusPolicy() != TQWidget::NoFocus ) {
- state |= Focusable;
- if ( item == iconView()->currentItem() )
- state |= Focused;
- }
-
- return (State)state;
-}
-
-/*! \reimp
-TQAccessibleInterface *TQAccessibleIconView::focusChild( int *control ) const
-{
- TQIconViewItem *item = iconView()->currentItem();
- if ( !item )
- return 0;
-
- *control = iconView()->index( item );
- return (TQAccessibleInterface*)this;
-}
-*/
-/*! \reimp */
-bool TQAccessibleIconView::setFocus( int control )
-{
- bool res = TQAccessibleScrollView::setFocus( 0 );
- if ( !control || !res )
- return res;
-
- TQIconViewItem *item = findIVItem( iconView(), control );
- if ( !item )
- return FALSE;
- iconView()->setCurrentItem( item );
- return TRUE;
-}
-
-/*! \reimp */
-bool TQAccessibleIconView::setSelected( int control, bool on, bool extend )
-{
- if ( !control || ( extend &&
- iconView()->selectionMode() != TQIconView::Extended &&
- iconView()->selectionMode() != TQIconView::Multi ) )
- return FALSE;
-
- TQIconViewItem *item = findIVItem( iconView(), control );
- if ( !item )
- return FALSE;
- if ( !extend ) {
- iconView()->setSelected( item, on, TRUE );
- } else {
- TQIconViewItem *current = iconView()->currentItem();
- if ( !current )
- return FALSE;
- bool down = FALSE;
- TQIconViewItem *temp = current;
- while ( ( temp = temp->nextItem() ) ) {
- if ( temp == item ) {
- down = TRUE;
- break;
- }
- }
- temp = current;
- if ( down ) {
- while ( ( temp = temp->nextItem() ) ) {
- iconView()->setSelected( temp, on, TRUE );
- if ( temp == item )
- break;
- }
- } else {
- while ( ( temp = temp->prevItem() ) ) {
- iconView()->setSelected( temp, on, TRUE );
- if ( temp == item )
- break;
- }
- }
- }
- return TRUE;
-}
-
-/*! \reimp */
-void TQAccessibleIconView::clearSelection()
-{
- iconView()->clearSelection();
-}
-
-/*! \reimp */
-TQMemArray<int> TQAccessibleIconView::selection() const
-{
- TQMemArray<int> array;
- uint size = 0;
- int id = 1;
- array.resize( iconView()->count() );
- TQIconViewItem *item = iconView()->firstItem();
- while ( item ) {
- if ( item->isSelected() ) {
- ++size;
- array[ (int)size-1 ] = id;
- }
- item = item->nextItem();
- ++id;
- }
- array.resize( size );
- return array;
-}
-#endif
-
-
-/*!
- \class TQAccessibleTextEdit qaccessiblewidget.h
- \brief The TQAccessibleTextEdit class implements the TQAccessibleInterface for richtext editors.
-*/
-
-/*!
- Constructs a TQAccessibleTextEdit object for \a o.
-*/
-TQAccessibleTextEdit::TQAccessibleTextEdit( TQObject *o )
-: TQAccessibleScrollView( o, Pane )
-{
- TQ_ASSERT(widget()->inherits("TQTextEdit"));
-}
-
-/*! Returns the text edit. */
-TQTextEdit *TQAccessibleTextEdit::textEdit() const
-{
-
- return (TQTextEdit*)widget();
-}
-
-/*! \reimp */
-int TQAccessibleTextEdit::itemAt( int x, int y ) const
-{
- int p;
- TQPoint cp = textEdit()->viewportToContents( TQPoint( x,y ) );
- textEdit()->charAt( cp , &p );
- return p + 1;
-}
-
-/*! \reimp */
-TQRect TQAccessibleTextEdit::tqitemRect( int item ) const
-{
- TQRect rect = textEdit()->paragraphRect( item - 1 );
- if ( !rect.isValid() )
- return TQRect();
- TQPoint ntl = textEdit()->contentsToViewport( TQPoint( rect.x(), rect.y() ) );
- return TQRect( ntl.x(), ntl.y(), rect.width(), rect.height() );
-}
-
-/*! \reimp */
-int TQAccessibleTextEdit::itemCount() const
-{
- return textEdit()->paragraphs();
-}
-
-/*! \reimp */
-TQString TQAccessibleTextEdit::text( Text t, int control ) const
-{
- if (t == Name) {
- if (control)
- return textEdit()->text(control - 1);
- else
- return stripAmp(buddyString(widget()));
- } else if (t == Value) {
- if (control)
- return textEdit()->text(control - 1);
- else
- return textEdit()->text();
- }
-
- return TQAccessibleScrollView::text( t, control );
-}
-
-/*! \reimp */
-void TQAccessibleTextEdit::setText(Text t, int control, const TQString &text)
-{
- if (control || t != Value) {
- TQAccessibleScrollView::setText(t, control, text);
- return;
- }
- textEdit()->setText(text);
-}
-
-/*! \reimp */
-TQAccessible::Role TQAccessibleTextEdit::role( int control ) const
-{
- if ( control )
- return EditableText;
- return TQAccessibleScrollView::role( control );
-}