AccessibleFactory Class Reference

Inheritance diagram for AccessibleFactory:

Inheritance graph
[legend]
Collaboration diagram for AccessibleFactory:

Collaboration graph
[legend]
List of all members.

Detailed Description

Definition at line 39 of file main.cpp.

Public Member Functions

 AccessibleFactory ()
QStringList keys () const
QAccessibleInterfacecreate (const QString &classname, QObject *object)


Constructor & Destructor Documentation

AccessibleFactory::AccessibleFactory (  ) 

Definition at line 48 of file main.cpp.

00049 {
00050 }


Member Function Documentation

QStringList AccessibleFactory::keys (  )  const [virtual]

Returns the list of keys this plugin supports.

These keys must be the class names that this plugin provides an accessibility implementation for.

See also:
create()

Implements QAccessiblePlugin.

Definition at line 52 of file main.cpp.

00053 {
00054     QStringList list;
00055 #ifndef QT_NO_LINEEDIT
00056     list << "QLineEdit";
00057 #endif
00058 #ifndef QT_NO_COMBOBOX
00059     list << "QComboBox";
00060 #endif
00061 #ifndef QT_NO_SPINBOX
00062     list << "QSpinBox";
00063 #endif
00064 #ifndef QT_NO_SCROLLBAR
00065     list << "QScrollBar";
00066 #endif
00067 #ifndef QT_NO_SLIDER
00068     list << "QSlider";
00069 #endif
00070 #ifndef QT_NO_TOOLBUTTON
00071     list << "QToolButton";
00072 #endif
00073     list << "QCheckBox";
00074     list << "QRadioButton";
00075     list << "QPushButton";
00076     list << "QButton";
00077     list << "QDialog";
00078     list << "QMessageBox";
00079     list << "QMainWindow";
00080     list << "QLabel";
00081     list << "QLCDNumber";
00082     list << "QGroupBox";
00083     list << "QStatusBar";
00084     list << "QProgressBar";
00085     list << "QMenuBar";
00086     list << "Q3PopupMenu";
00087     list << "QMenu";
00088     list << "QHeaderView";
00089     list << "QTabBar";
00090     list << "QToolBar";
00091     list << "QWorkspaceChild";
00092     list << "QSizeGrip";
00093     list << "QAbstractItemView";
00094 #ifndef QT_NO_SPLITTER
00095     list << "QSplitter";
00096     list << "QSplitterHandle";
00097 #endif
00098 #ifndef QT_NO_TEXTEDIT
00099     list << "QTextEdit";
00100 #endif
00101     list << "QTipLabel";
00102     list << "QFrame";
00103     list << "QWidgetStack";
00104 
00105     return list;
00106 }

QAccessibleInterface * AccessibleFactory::create ( const QString classname,
QObject object 
) [virtual]

Creates and returns a QAccessibleInterface implementation for the class key and the object object. Keys are case sensitive.

See also:
keys()

Implements QAccessiblePlugin.

Definition at line 108 of file main.cpp.

References QAccessible::AlertMessage, QAccessible::Application, QAccessible::Border, QAccessible::ButtonDropDown, QAccessible::ButtonMenu, QAccessible::CheckBox, QToolButton::DelayedPopup, QAccessible::Grip, QAccessible::Grouping, QAbstractButton::isCheckable(), QPushButton::menu(), QAccessible::NoRole, object, QAccessible::PushButton, QAccessible::RadioButton, QAccessible::Splitter, QAccessible::StatusBar, tb, QAccessible::ToolTip, and QWidget::windowTitle().

00109 {
00110     QAccessibleInterface *iface = 0;
00111     if (!object || !object->isWidgetType())
00112         return iface;
00113     QWidget *widget = static_cast<QWidget*>(object);
00114 
00115     if (false) {
00116 #ifndef QT_NO_LINEEDIT
00117     } else if (classname == "QLineEdit") {
00118         iface = new QAccessibleLineEdit(widget);
00119 #endif
00120 #ifndef QT_NO_COMBOBOX
00121     } else if (classname == "QComboBox") {
00122         iface = new QAccessibleComboBox(widget);
00123 #endif
00124 #ifndef QT_NO_SPINBOX
00125     } else if (classname == "QSpinBox") {
00126         iface = new QAccessibleSpinBox(widget);
00127 #endif
00128 #ifndef QT_NO_SCROLLBAR
00129     } else if (classname == "QScrollBar") {
00130         iface = new QAccessibleScrollBar(widget);
00131 #endif
00132 #ifndef QT_NO_SLIDER
00133     } else if (classname == "QSlider") {
00134         iface = new QAccessibleSlider(widget);
00135 #endif
00136 #ifndef QT_NO_TOOLBUTTON
00137     } else if (classname == "QToolButton") {
00138         Role role = NoRole;
00139         QToolButton *tb = qobject_cast<QToolButton*>(widget);
00140 #ifndef QT_NO_MENU
00141         if (!tb->menu())
00142             role = tb->isCheckable() ? CheckBox : PushButton;
00143         else if (!tb->popupMode() != QToolButton::DelayedPopup)
00144             role = ButtonDropDown;
00145         else
00146 #endif
00147             role = ButtonMenu;
00148         iface = new QAccessibleToolButton(widget, role);
00149 #endif // QT_NO_TOOLBUTTON
00150     } else if (classname == "QCheckBox") {
00151         iface = new QAccessibleButton(widget, CheckBox);
00152     } else if (classname == "QRadioButton") {
00153         iface = new QAccessibleButton(widget, RadioButton);
00154     } else if (classname == "QPushButton") {
00155         Role role = NoRole;
00156         QPushButton *pb = qobject_cast<QPushButton*>(widget);
00157 #ifndef QT_NO_MENU
00158         if (pb->menu())
00159             role = ButtonMenu;
00160         else
00161 #endif
00162         if (pb->isCheckable())
00163             role = CheckBox;
00164         else
00165             role = PushButton;
00166         iface = new QAccessibleButton(widget, role);
00167     } else if (classname == "QButton") {
00168         iface = new QAccessibleButton(widget, PushButton);
00169     } else if (classname == "QDialog") {
00170         iface = new QAccessibleWidget(widget, Dialog);
00171     } else if (classname == "QMessageBox") {
00172         iface = new QAccessibleWidget(widget, AlertMessage);
00173     } else if (classname == "QMainWindow") {
00174         iface = new QAccessibleWidget(widget, Application);
00175     } else if (classname == "QLabel" || classname == "QLCDNumber") {
00176         iface = new QAccessibleDisplay(widget);
00177     } else if (classname == "QGroupBox") {
00178         iface = new QAccessibleDisplay(widget, Grouping);
00179     } else if (classname == "QStatusBar") {
00180         iface = new QAccessibleWidget(widget, StatusBar);
00181     } else if (classname == "QProgressBar") {
00182         iface = new QAccessibleDisplay(widget);
00183     } else if (classname == "QToolBar") {
00184         iface = new QAccessibleWidget(widget, ToolBar, widget->windowTitle());
00185 #ifndef QT_NO_MENUBAR
00186     } else if (classname == "QMenuBar") {
00187         iface = new QAccessibleMenuBar(widget);
00188 #endif
00189 #ifndef QT_NO_MENU
00190     } else if (classname == "QMenu") {
00191         iface = new QAccessibleMenu(widget);
00192     } else if (classname == "Q3PopupMenu") {
00193         iface = new QAccessibleMenu(widget);
00194 #endif
00195 #ifndef QT_NO_ITEMVIEWS
00196     } else if (classname == "QHeaderView") {
00197         iface = new QAccessibleHeader(widget);
00198     } else if (classname == "QAbstractItemView") {
00199         iface = new QAccessibleItemView(widget);
00200 #endif
00201 #ifndef QT_NO_TABBAR
00202     } else if (classname == "QTabBar") {
00203         iface = new QAccessibleTabBar(widget);
00204 #endif
00205     } else if (classname == "QWorkspaceChild") {
00206         iface = new QAccessibleWidget(widget, Window);
00207     } else if (classname == "QSizeGrip") {
00208         iface = new QAccessibleWidget(widget, Grip);
00209 #ifndef QT_NO_SPLITTER
00210     } else if (classname == "QSplitter") {
00211         iface = new QAccessibleWidget(widget, Splitter);
00212     } else if (classname == "QSplitterHandle") {
00213         iface = new QAccessibleWidget(widget, Grip);
00214 #endif
00215 #ifndef QT_NO_TEXTEDIT
00216     } else if (classname == "QTextEdit") {
00217         iface = new QAccessibleTextEdit(widget);
00218 #endif
00219     } else if (classname == "QTipLabel") {
00220         iface = new QAccessibleWidget(widget, ToolTip);
00221     } else if (classname == "QFrame") {
00222         iface = new QAccessibleWidget(widget, Border);
00223     }
00224 
00225     return iface;
00226 }

Here is the call graph for this function:


The documentation for this class was generated from the following file:
Generated on Thu Mar 15 14:43:11 2007 for Qt 4.2 User's Guide by  doxygen 1.5.1