Qt Jambi Home

com.trolltech.qt.gui
Class QWindowsStyle

java.lang.Object
  extended by com.trolltech.qt.QSignalEmitter
      extended by com.trolltech.qt.QtJambiObject
          extended by com.trolltech.qt.core.QObject
              extended by com.trolltech.qt.gui.QStyle
                  extended by com.trolltech.qt.gui.QCommonStyle
                      extended by com.trolltech.qt.gui.QWindowsStyle
All Implemented Interfaces:
QtJambiInterface
Direct Known Subclasses:
QCleanlooksStyle, QPlastiqueStyle

public class QWindowsStyle
extends QCommonStyle

The QWindowsStyle class provides a Microsoft Windows-like look and feel.

This style is Qt's default GUI style on Windows.

See Also:
QWindowsXPStyle, QMacStyle, QPlastiqueStyle, QCDEStyle, QMotifStyle

Nested Class Summary
 
Nested classes/interfaces inherited from class com.trolltech.qt.gui.QStyle
QStyle.ComplexControl, QStyle.ContentsType, QStyle.ControlElement, QStyle.PixelMetric, QStyle.PrimitiveElement, QStyle.StandardPixmap, QStyle.State, QStyle.StateFlag, QStyle.StyleHint, QStyle.SubControl, QStyle.SubElement
 
Nested classes/interfaces inherited from class com.trolltech.qt.QSignalEmitter
QSignalEmitter.Signal0, QSignalEmitter.Signal1<A>, QSignalEmitter.Signal2<A,B>, QSignalEmitter.Signal3<A,B,C>, QSignalEmitter.Signal4<A,B,C,D>, QSignalEmitter.Signal5<A,B,C,D,E>, QSignalEmitter.Signal6<A,B,C,D,E,F>, QSignalEmitter.Signal7<A,B,C,D,E,F,G>, QSignalEmitter.Signal8<A,B,C,D,E,F,G,H>, QSignalEmitter.Signal9<A,B,C,D,E,F,G,H,I>
 
Constructor Summary
QWindowsStyle()
          Constructs a QWindowsStyle object.
 
Method Summary
 void drawComplexControl(QStyle.ComplexControl cc, QStyleOptionComplex opt, QPainter p, QWidget w)
          Draws the given cc using the provided p with the style options specified by opt.
 void drawControl(QStyle.ControlElement element, QStyleOption opt, QPainter p, QWidget w)
          Draws the given element with the provided p with the style options specified by opt.
 void drawPrimitive(QStyle.PrimitiveElement pe, QStyleOption opt, QPainter p, QWidget w)
          Draws the given primitive pe with the provided p using the style options specified by opt.
 boolean eventFilter(QObject o, QEvent e)
          

Filters events if this object has been installed as an event filter for the arg__1 object.

static QWindowsStyle fromNativePointer(QNativePointer nativePointer)
          This function returns the QWindowsStyle instance pointed to by nativePointer
 int pixelMetric(QStyle.PixelMetric pm, QStyleOption option, QWidget widget)
          Returns the value of the given pixel pm.
 void polish(QApplication arg__1)
          

Late initialization of the given arg__1 object.

 void polish(QPalette arg__1)
          

Changes the arg__1 according to style specific requirements for color palettes (if any).

 void polish(QWidget arg__1)
          

Initializes the appearance of the given arg__1.

 QSize sizeFromContents(QStyle.ContentsType ct, QStyleOption opt, QSize contentsSize, QWidget widget)
          Returns the size of the element described by the specified opt and ct, based on the provided contentsSize.
protected  QIcon standardIconImplementation(QStyle.StandardPixmap standardIcon, QStyleOption option, QWidget widget)
          
 int styleHint(QStyle.StyleHint hint, QStyleOption opt, QWidget widget, QStyleHintReturn returnData)
          Returns an integer representing the specified style hint for the given widget described by the provided style opt.
 QRect subElementRect(QStyle.SubElement r, QStyleOption opt, QWidget widget)
          Returns the sub-area for the given r as described in the provided style opt.
protected  void timerEvent(QTimerEvent event)
          

This event handler can be reimplemented in a subclass to receive timer events for the object.

 void unpolish(QApplication arg__1)
          

Uninitialize the given arg__1.

 void unpolish(QWidget arg__1)
          

Uninitialize the given arg__1's appearance.

 
Methods inherited from class com.trolltech.qt.gui.QCommonStyle
generatedIconPixmap, hitTestComplexControl, subControlRect
 
Methods inherited from class com.trolltech.qt.gui.QStyle
alignedRect, combinedLayoutSpacing, combinedLayoutSpacing, combinedLayoutSpacing, drawComplexControl, drawControl, drawItemPixmap, drawItemText, drawItemText, drawPrimitive, hitTestComplexControl, itemPixmapRect, itemTextRect, layoutSpacing, layoutSpacing, layoutSpacing, layoutSpacingImplementation, layoutSpacingImplementation, layoutSpacingImplementation, pixelMetric, pixelMetric, sizeFromContents, sliderPositionFromValue, sliderPositionFromValue, sliderValueFromPosition, sliderValueFromPosition, standardIcon, standardIcon, standardIcon, standardIconImplementation, standardIconImplementation, standardPalette, styleHint, styleHint, styleHint, subControlRect, subElementRect, visualAlignment, visualAlignment, visualPos, visualRect
 
Methods inherited from class com.trolltech.qt.core.QObject
blockSignals, childEvent, children, connectSlotsByName, customEvent, disposeLater, dumpObjectInfo, dumpObjectTree, dynamicPropertyNames, event, findChild, findChild, findChild, findChildren, findChildren, findChildren, findChildren, installEventFilter, isWidgetType, killTimer, moveToThread, objectName, parent, property, removeEventFilter, setObjectName, setParent, setProperty, signalsBlocked, startTimer, thread
 
Methods inherited from class com.trolltech.qt.QtJambiObject
dispose, disposed, finalize, reassignNativeResources, tr, tr, tr
 
Methods inherited from class com.trolltech.qt.QSignalEmitter
disconnect, disconnect, signalSender
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.trolltech.qt.QtJambiInterface
disableGarbageCollection, nativeId, nativePointer, reenableGarbageCollection, setJavaOwnership
 

Constructor Detail

QWindowsStyle

public QWindowsStyle()

Constructs a QWindowsStyle object.

Method Detail

standardIconImplementation

protected QIcon standardIconImplementation(QStyle.StandardPixmap standardIcon,
                                           QStyleOption option,
                                           QWidget widget)

Overrides:
standardIconImplementation in class QCommonStyle
See Also:
standardIcon

drawComplexControl

public void drawComplexControl(QStyle.ComplexControl cc,
                               QStyleOptionComplex opt,
                               QPainter p,
                               QWidget w)

Draws the given cc using the provided p with the style options specified by opt.

The w argument is optional and can be used as aid in drawing the control.

The opt parameter is a pointer to a QStyleOptionComplex object that can be cast to the correct subclass using the qstyleoption_cast() function. Note that the rect member of the specified opt must be in logical coordinates. Reimplementations of this function should use visualRect to change the logical coordinates into screen coordinates before calling the drawPrimitive or drawControl function.

The table below is listing the complex control elements and their associated style option subclass. The style options contain all the parameters required to draw the controls, including QStyleOption::state which holds the style flags that are used when drawing. The table also describes which flags that are set when casting the given opt to the appropriate subclass.

Complex ControlQStyleOptionComplex SubclassStyle FlagRemark
CC_SpinBoxQStyleOptionSpinBoxState_EnabledSet if the spin box is enabled.
State_HasFocusSet if the spin box has input focus.
CC_ComboBoxQStyleOptionComboBoxState_EnabledSet if the combobox is enabled.
State_HasFocusSet if the combobox has input focus.
CC_ScrollBarQStyleOptionSliderState_EnabledSet if the scroll bar is enabled.
State_HasFocusSet if the scroll bar has input focus.
CC_SliderQStyleOptionSliderState_EnabledSet if the slider is enabled.
State_HasFocusSet if the slider has input focus.
CC_DialQStyleOptionSliderState_EnabledSet if the dial is enabled.
State_HasFocusSet if the dial has input focus.
CC_ToolButtonQStyleOptionToolButtonState_EnabledSet if the tool button is enabled.
State_HasFocusSet if the tool button has input focus.
State_DownArrowSet if the tool button is down (i.e., a mouse button or the space bar is pressed).
State_OnSet if the tool button is a toggle button and is toggled on.
State_AutoRaiseSet if the tool button has auto-raise enabled.
State_RaisedSet if the button is not down, not on, and doesn't contain the mouse when auto-raise is enabled.
CC_TitleBarQStyleOptionTitleBarState_EnabledSet if the title bar is enabled.
CC_Q3ListViewQStyleOptionQ3ListViewState_EnabledSet if the list view is enabled.

Overrides:
drawComplexControl in class QCommonStyle
See Also:
drawPrimitive, drawControl

drawControl

public void drawControl(QStyle.ControlElement element,
                        QStyleOption opt,
                        QPainter p,
                        QWidget w)

Draws the given element with the provided p with the style options specified by opt.

The w argument is optional and can be used as aid in drawing the control. The opt parameter is a pointer to a QStyleOption object that can be cast to the correct subclass using the qstyleoption_cast() function.

The table below is listing the control elements and their associated style option subclass. The style options contain all the parameters required to draw the controls, including QStyleOption::state which holds the style flags that are used when drawing. The table also describes which flags that are set when casting the given option to the appropriate subclass.

Note that if a control element is not listed here, it is because it uses a plain QStyleOption object.

Control ElementQStyleOption SubclassStyle FlagRemark
CE_MenuItem, CE_MenuBarItemQStyleOptionMenuItemState_SelectedThe menu item is currently selected item.
State_EnabledThe item is enabled.
State_DownArrowIndicates that a scroll down arrow should be drawn.
State_UpArrowIndicates that a scroll up arrow should be drawn
State_HasFocusSet if the menu bar has input focus.
CE_PushButton, CE_PushButtonBevel, CE_PushButtonLabelQStyleOptionButtonState_EnabledSet if the button is enabled.
State_HasFocusSet if the button has input focus.
State_RaisedSet if the button is not down, not on and not flat.
State_OnSet if the button is a toggle button and is toggled on.
State_SunkenSet if the button is down (i.e., the mouse button or the space bar is pressed on the button).
CE_RadioButton, CE_RadioButtonLabel, CE_CheckBox, CE_CheckBoxLabelQStyleOptionButtonState_EnabledSet if the button is enabled.
State_HasFocusSet if the button has input focus.
State_OnSet if the button is checked.
State_OffSet if the button is not checked.
State_NoChangeSet if the button is in the NoChange state.
State_SunkenSet if the button is down (i.e., the mouse button or the space bar is pressed on the button).
CE_ProgressBarContents, CE_ProgressBarLabel, CE_ProgressBarGrooveQStyleOptionProgressBarState_EnabledSet if the progress bar is enabled.
State_HasFocusSet if the progress bar has input focus.
CE_Header, CE_HeaderSection, CE_HeaderLabelQStyleOptionHeader
CE_TabBarTab, CE_TabBarTabShape, CE_TabBarTabLabelQStyleOptionTabState_EnabledSet if the tab bar is enabled.
State_SelectedThe tab bar is the currently selected tab bar.
State_HasFocusSet if the tab bar tab has input focus.
CE_ToolButtonLabelQStyleOptionToolButtonState_EnabledSet if the tool button is enabled.
State_HasFocusSet if the tool button has input focus.
State_SunkenSet if the tool button is down (i.e., a mouse button or the space bar is pressed).
State_OnSet if the tool button is a toggle button and is toggled on.
State_AutoRaiseSet if the tool button has auto-raise enabled.
State_MouseOverSet if the mouse pointer is over the tool button.
State_RaisedSet if the button is not down and is not on.
CE_ToolBoxTabQStyleOptionToolBoxState_SelectedThe tab is the currently selected tab.
CE_HeaderSectionQStyleOptionHeaderState_SunkenIndicates that the section is pressed.
State_UpArrowIndicates that the sort indicator should be pointing up.
State_DownArrowIndicates that the sort indicator should be pointing down.

Overrides:
drawControl in class QCommonStyle
See Also:
drawPrimitive, drawComplexControl

drawPrimitive

public void drawPrimitive(QStyle.PrimitiveElement pe,
                          QStyleOption opt,
                          QPainter p,
                          QWidget w)

Draws the given primitive pe with the provided p using the style options specified by opt.

The w argument is optional and may contain a widget that may aid in drawing the primitive element.

The table below is listing the primitive elements and their associated style option subclasses. The style options contain all the parameters required to draw the elements, including QStyleOption::state which holds the style flags that are used when drawing. The table also describes which flags that are set when casting the given option to the appropriate subclass.

Note that if a primitive element is not listed here, it is because it uses a plain QStyleOption object.

Primitive ElementQStyleOption SubclassStyle FlagRemark
PE_FrameFocusRectQStyleOptionFocusRectState_FocusAtBorderWhether the focus is is at the border or inside the widget.
PE_IndicatorCheckBoxQStyleOptionButtonState_NoChangeIndicates a "tri-state" checkbox.
State_OnIndicates the indicator is checked.
PE_IndicatorRadioButtonQStyleOptionButtonState_OnIndicates that a radio button is selected.
PE_Q3CheckListExclusiveIndicator, PE_Q3CheckListIndicatorQStyleOptionQ3ListViewState_OnIndicates whether or not the controller is selected.
State_NoChangeIndicates a "tri-state" controller.
State_EnabledIndicates the controller is enabled.
PE_IndicatorBranchQStyleOptionState_ChildrenIndicates that the control for expanding the tree to show child items, should be drawn.
State_ItemIndicates that a horizontal branch (to show a child item), should be drawn.
State_OpenIndicates that the tree branch is expanded.
State_SiblingIndicates that a vertical line (to show a sibling item), should be drawn.
PE_IndicatorHeaderArrowQStyleOptionHeaderState_UpArrowIndicates that the arrow should be drawn up; otherwise it should be down.
PE_FrameGroupBox, PE_Frame, PE_FrameLineEdit, PE_FrameMenu, PE_FrameDockWidgetQStyleOptionFrameState_SunkenIndicates that the Frame should be sunken.
PE_IndicatorToolBarHandleQStyleOptionState_HorizontalIndicates that the window handle is horizontal instead of vertical.
PE_Q3DockWindowSeparatorQStyleOptionState_HorizontalIndicates that the separator is horizontal instead of vertical.
PE_IndicatorSpinPlus, PE_IndicatorSpinMinus, PE_IndicatorSpinUp, PE_IndicatorSpinDown,QStyleOptionSpinBoxState_SunkenIndicates that the button is pressed.

Overrides:
drawPrimitive in class QCommonStyle
See Also:
drawComplexControl, drawControl

eventFilter

public boolean eventFilter(QObject o,
                           QEvent e)

Filters events if this object has been installed as an event filter for the arg__1 object.

In your reimplementation of this function, if you want to filter the arg__2 out, i.e. stop it being handled further, return true; otherwise return false.

Example:

    class MainWindow : public QMainWindow
    {
    public:
        MainWindow();

    protected:
        bool eventFilter(QObject *obj, QEvent *ev);

    private:
        QTextEdit *textEdit;
    };

    MainWindow::MainWindow()
    {
        textEdit = new QTextEdit;
        setCentralWidget(textEdit);

        textEdit->installEventFilter(this);
    }

    bool MainWindow::eventFilter(QObject *obj, QEvent *event)
    {
        if (obj == textEdit) {
            if (event->type() == QEvent::KeyPress) {
                QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
                qDebug() << "Ate key press" << keyEvent->key();
                return true;
            } else {
                return false;
            }
        } else {
            // pass the event on to the parent class
            return QMainWindow::eventFilter(obj, event);
        }
    }

Notice in the example above that unhandled events are passed to the base class's eventFilter function, since the base class might have reimplemented eventFilter for its own internal purposes.

Warning: If you delete the receiver object in this function, be sure to return true. Otherwise, Qt will forward the event to the deleted object and the program might crash.

Overrides:
eventFilter in class QObject
See Also:
installEventFilter

pixelMetric

public int pixelMetric(QStyle.PixelMetric pm,
                       QStyleOption option,
                       QWidget widget)

Returns the value of the given pixel pm.

The specified option and widget can be used for calculating the metric. In general, the widget argument is not used. The option can be cast to the appropriate type using the qstyleoption_cast() function. Note that the option may be zero even for PixelMetrics that can make use of it. See the table below for the appropriate option casts:

Pixel MetricQStyleOption Subclass
PM_SliderControlThicknessQStyleOptionSlider
PM_SliderLengthQStyleOptionSlider
PM_SliderTickmarkOffsetQStyleOptionSlider
PM_SliderSpaceAvailableQStyleOptionSlider
PM_ScrollBarExtentQStyleOptionSlider
PM_TabBarTabOverlapQStyleOptionTab
PM_TabBarTabHSpaceQStyleOptionTab
PM_TabBarTabVSpaceQStyleOptionTab
PM_TabBarBaseHeightQStyleOptionTab
PM_TabBarBaseOverlapQStyleOptionTab

Some pixel metrics are called from widgets and some are only called internally by the style. If the metric is not called by a widget, it is the discretion of the style author to make use of it. For some styles, this may not be appropriate.

Overrides:
pixelMetric in class QCommonStyle

polish

public void polish(QApplication arg__1)

Late initialization of the given arg__1 object.

Overrides:
polish in class QStyle

polish

public void polish(QWidget arg__1)

Initializes the appearance of the given arg__1.

This function is called for every widget at some point after it has been fully created but just before it is shown for the very first time.

Note that the default implementation does nothing. Reasonable actions in this function might be to call the QWidget::setBackgroundMode() function for the widget. Do not use the function to set, for example, the geometry; reimplementing this function do provide a back-door through which the appearance of a widget can be changed, but with Qt 4.0's style engine there is rarely necessary to implement this function; reimplement the drawItemPixmap, drawItemText, drawPrimitive, etc. instead.

The QWidget::inherits() function may provide enough information to allow class-specific customizations. But because new QStyle subclasses are expected to work reasonably with all current and future widgets, limited use of hard-coded customization is recommended.

Overrides:
polish in class QStyle
See Also:
unpolish

polish

public void polish(QPalette arg__1)

Changes the arg__1 according to style specific requirements for color palettes (if any).

Overrides:
polish in class QStyle
See Also:
QPalette, QApplication::setPalette

sizeFromContents

public QSize sizeFromContents(QStyle.ContentsType ct,
                              QStyleOption opt,
                              QSize contentsSize,
                              QWidget widget)

Returns the size of the element described by the specified opt and ct, based on the provided contentsSize.

The opt argument is a pointer to a QStyleOption or one of its subclasses. The opt can be cast to the appropriate type using the qstyleoption_cast() function. The widget is an optional argument and can contain extra information used for calculating the size.

See the table below for the appropriate opt casts:

Contents TypeQStyleOption Subclass
CT_PushButtonQStyleOptionButton
CT_CheckBoxQStyleOptionButton
CT_RadioButtonQStyleOptionButton
CT_ToolButtonQStyleOptionToolButton
CT_ComboBoxQStyleOptionComboBox
CT_SplitterQStyleOption
CT_Q3DockWindowQStyleOptionQ3DockWindow
CT_ProgressBarQStyleOptionProgressBar
CT_MenuItemQStyleOptionMenuItem

Overrides:
sizeFromContents in class QCommonStyle
See Also:
ContentsType, QStyleOption

styleHint

public int styleHint(QStyle.StyleHint hint,
                     QStyleOption opt,
                     QWidget widget,
                     QStyleHintReturn returnData)

Returns an integer representing the specified style hint for the given widget described by the provided style opt.

Note that currently, the returnData and widget parameters are not used; they are provided for future enhancement. In addition, the opt parameter is used only in case of the SH_ComboBox_Popup, SH_ComboBox_LayoutDirection, and SH_GroupBox_TextLabelColor style hints.

Overrides:
styleHint in class QCommonStyle

subElementRect

public QRect subElementRect(QStyle.SubElement r,
                            QStyleOption opt,
                            QWidget widget)

Returns the sub-area for the given r as described in the provided style opt. The returned rectangle is defined in screen coordinates.

The widget argument is optional and can be used to aid determining the area. The QStyleOption object can be cast to the appropriate type using the qstyleoption_cast() function. See the table below for the appropriate opt casts:

Sub ElementQStyleOption Subclass
SE_PushButtonContentsQStyleOptionButton
SE_PushButtonFocusRectQStyleOptionButton
SE_CheckBoxIndicatorQStyleOptionButton
SE_CheckBoxContentsQStyleOptionButton
SE_CheckBoxFocusRectQStyleOptionButton
SE_RadioButtonIndicatorQStyleOptionButton
SE_RadioButtonContentsQStyleOptionButton
SE_RadioButtonFocusRectQStyleOptionButton
SE_ComboBoxFocusRectQStyleOptionComboBox
SE_Q3DockWindowHandleRectQStyleOptionQ3DockWindow
SE_ProgressBarGrooveQStyleOptionProgressBar
SE_ProgressBarContentsQStyleOptionProgressBar
SE_ProgressBarLabelQStyleOptionProgressBar

Overrides:
subElementRect in class QCommonStyle

timerEvent

protected void timerEvent(QTimerEvent event)

This event handler can be reimplemented in a subclass to receive timer events for the object.

QTimer provides a higher-level interface to the timer functionality, and also more general information about timers. The timer event is passed in the arg__1 parameter.

Overrides:
timerEvent in class QObject
See Also:
startTimer, killTimer, event

unpolish

public void unpolish(QWidget arg__1)

Uninitialize the given arg__1's appearance.

This function is the counterpart to polish. It is called for every polished widget whenever the style is dynamically changed; the former style has to unpolish its settings before the new style can polish them again.

Note that unpolish will only be called if the widget is destroyed. This can cause problems in some cases, e.g, if you remove a widget from the UI, cache it, and then reinsert it after the style has changed; some of Qt's classes cache their widgets.

Overrides:
unpolish in class QStyle
See Also:
polish

unpolish

public void unpolish(QApplication arg__1)

Uninitialize the given arg__1.

Overrides:
unpolish in class QStyle

fromNativePointer

public static QWindowsStyle fromNativePointer(QNativePointer nativePointer)
This function returns the QWindowsStyle instance pointed to by nativePointer

Parameters:
nativePointer - the QNativePointer of which object should be returned.

Qt Jambi Home