[Qt] V1.40 and other problems
Den Jean
Den.Jean at telenet.be
Thu Jul 5 18:25:06 CEST 2007
On Thursday 05 July 2007 12:28:53 pm Павел Ишенин wrote:
> Second problem are still with QStyleOptions. I need some way to set
> variables of that class (I really dont know what is the variables of
> class and how they differ from properties).
http://www.lazarus.freepascal.org/pipermail/qt/2007-June/000309.html
I already answered how and asked for sample code to test the typecasting.
This is an enormous work: manually translate C structs into binary
equivalent pascal record types. I would start with the ones you plan to use.
I also asked some code to see what you are up to. Do you realize that some
stuff needs method overriding (no events available). Will you need method overriding of QStyle?
Currently the binding does not support this in general (automatically generate this).
For stuff like this a manually created class can be incorporated.
But again, what are you up to, what do you need?
There are 22 virtual methods to override. Any priorities :-)
grep -i virtual src/gui/styles/qstyle.h
virtual ~QStyle();
virtual void polish(QWidget *);
virtual void unpolish(QWidget *);
virtual void polish(QApplication *);
virtual void unpolish(QApplication *);
virtual void polish(QPalette &);
virtual QRect itemTextRect(const QFontMetrics &fm, const QRect &r,
virtual QRect itemPixmapRect(const QRect &r, int flags, const QPixmap &pixmap) const;
virtual void drawItemText(QPainter *painter, const QRect &rect,
virtual void drawItemPixmap(QPainter *painter, const QRect &rect,
virtual QPalette standardPalette() const;
virtual void drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPainter *p,
virtual void drawControl(ControlElement element, const QStyleOption *opt, QPainter *p,
virtual QRect subElementRect(SubElement subElement, const QStyleOption *option,
virtual void drawComplexControl(ComplexControl cc, const QStyleOptionComplex *opt, QPainter *p,
virtual SubControl hitTestComplexControl(ComplexControl cc, const QStyleOptionComplex *opt,
virtual QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt,
virtual int pixelMetric(PixelMetric metric, const QStyleOption *option = 0,
virtual QSize sizeFromContents(ContentsType ct, const QStyleOption *opt,
virtual int styleHint(StyleHint stylehint, const QStyleOption *opt = 0,
virtual QPixmap standardPixmap(StandardPixmap standardPixmap, const QStyleOption *opt = 0,
virtual QPixmap generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap,
And I already copied the definitions of C structs (the non method part of the classes)
in preparation of the manual translation.
Any priorities ?
class Q_GUI_EXPORT QStyleOption
int version;
int type;
QStyle::State state;
Qt::LayoutDirection direction;
QRect rect;
QFontMetrics fontMetrics;
QPalette palette;
class Q_GUI_EXPORT QStyleOptionFocusRect : public QStyleOption
QColor backgroundColor;
class Q_GUI_EXPORT QStyleOptionFrame : public QStyleOption
int lineWidth;
int midLineWidth;
class Q_GUI_EXPORT QStyleOptionFrameV2 : public QStyleOptionFrame
FrameFeatures features;
class Q_GUI_EXPORT QStyleOptionTabWidgetFrame : public QStyleOption
int lineWidth;
int midLineWidth;
QTabBar::Shape shape;
QSize tabBarSize;
QSize rightCornerWidgetSize;
QSize leftCornerWidgetSize;
class Q_GUI_EXPORT QStyleOptionTabBarBase : public QStyleOption
QTabBar::Shape shape;
QRect tabBarRect;
QRect selectedTabRect;
class Q_GUI_EXPORT QStyleOptionHeader : public QStyleOption
int section;
QString text;
Qt::Alignment textAlignment;
QIcon icon;
Qt::Alignment iconAlignment;
SectionPosition position;
SelectedPosition selectedPosition;
SortIndicator sortIndicator;
Qt::Orientation orientation;
class Q_GUI_EXPORT QStyleOptionButton : public QStyleOption
ButtonFeatures features;
QString text;
QIcon icon;
QSize iconSize;
class Q_GUI_EXPORT QStyleOptionTab : public QStyleOption
QTabBar::Shape shape;
QString text;
QIcon icon;
int row;
TabPosition position;
SelectedPosition selectedPosition;
CornerWidgets cornerWidgets;
class Q_GUI_EXPORT QStyleOptionTabV2 : public QStyleOptionTab
QSize iconSize;
class Q_GUI_EXPORT QStyleOptionToolBar : public QStyleOption
ToolBarPosition positionOfLine; // The toolbar line position
ToolBarPosition positionWithinLine; // The position within a toolbar
Qt::ToolBarArea toolBarArea; // The toolbar docking area
ToolBarFeatures features;
int lineWidth;
int midLineWidth;
class Q_GUI_EXPORT QStyleOptionProgressBar : public QStyleOption
int minimum;
int maximum;
int progress;
QString text;
Qt::Alignment textAlignment;
bool textVisible;
class Q_GUI_EXPORT QStyleOptionProgressBarV2 : public QStyleOptionProgressBar
Qt::Orientation orientation;
bool invertedAppearance;
bool bottomToTop;
class Q_GUI_EXPORT QStyleOptionMenuItem : public QStyleOption
MenuItemType menuItemType;
CheckType checkType;
bool checked;
bool menuHasCheckableItems;
QRect menuRect;
QString text;
QIcon icon;
int maxIconWidth;
int tabWidth;
QFont font;
class Q_GUI_EXPORT QStyleOptionQ3ListViewItem : public QStyleOption
Q3ListViewItemFeatures features;
int height;
int totalHeight;
int itemY;
int childCount;
class Q_GUI_EXPORT QStyleOptionQ3DockWindow : public QStyleOption
bool docked;
bool closeEnabled;
class Q_GUI_EXPORT QStyleOptionDockWidget : public QStyleOption
QString title;
bool closable;
bool movable;
bool floatable;
class Q_GUI_EXPORT QStyleOptionDockWidgetV2 : public QStyleOptionDockWidget
bool verticalTitleBar;
class Q_GUI_EXPORT QStyleOptionViewItem : public QStyleOption
Qt::Alignment displayAlignment;
Qt::Alignment decorationAlignment;
Qt::TextElideMode textElideMode;
Position decorationPosition;
QSize decorationSize;
QFont font;
bool showDecorationSelected;
class Q_GUI_EXPORT QStyleOptionViewItemV2 : public QStyleOptionViewItem
ViewItemFeatures features;
class Q_GUI_EXPORT QStyleOptionViewItemV3 : public QStyleOptionViewItemV2
QLocale locale;
const QWidget *widget;
class Q_GUI_EXPORT QStyleOptionToolBox : public QStyleOption
QString text;
QIcon icon;
class Q_GUI_EXPORT QStyleOptionToolBoxV2 : public QStyleOptionToolBox
TabPosition position;
SelectedPosition selectedPosition;
class Q_GUI_EXPORT QStyleOptionRubberBand : public QStyleOption
QRubberBand::Shape shape;
bool opaque;
class Q_GUI_EXPORT QStyleOptionComplex : public QStyleOption
QStyle::SubControls subControls;
QStyle::SubControls activeSubControls;
class Q_GUI_EXPORT QStyleOptionSlider : public QStyleOptionComplex
Qt::Orientation orientation;
int minimum;
int maximum;
QSlider::TickPosition tickPosition;
int tickInterval;
bool upsideDown;
int sliderPosition;
int sliderValue;
int singleStep;
int pageStep;
qreal notchTarget;
bool dialWrapping;
class Q_GUI_EXPORT QStyleOptionSpinBox : public QStyleOptionComplex
QAbstractSpinBox::ButtonSymbols buttonSymbols;
QAbstractSpinBox::StepEnabled stepEnabled;
bool frame;
class Q_GUI_EXPORT QStyleOptionQ3ListView : public QStyleOptionComplex
QList<QStyleOptionQ3ListViewItem> items;
QPalette viewportPalette;
QPalette::ColorRole viewportBGRole;
int sortColumn;
int itemMargin;
int treeStepSize;
bool rootIsDecorated;
class Q_GUI_EXPORT QStyleOptionToolButton : public QStyleOptionComplex
ToolButtonFeatures features;
QIcon icon;
QSize iconSize;
QString text;
Qt::ArrowType arrowType;
Qt::ToolButtonStyle toolButtonStyle;
QPoint pos;
QFont font;
class Q_GUI_EXPORT QStyleOptionComboBox : public QStyleOptionComplex
bool editable;
QRect popupRect;
bool frame;
QString currentText;
QIcon currentIcon;
QSize iconSize;
class Q_GUI_EXPORT QStyleOptionTitleBar : public QStyleOptionComplex
QString text;
QIcon icon;
int titleBarState;
Qt::WindowFlags titleBarFlags;
class Q_GUI_EXPORT QStyleOptionGroupBox : public QStyleOptionComplex
QStyleOptionFrameV2::FrameFeatures features;
QString text;
Qt::Alignment textAlignment;
QColor textColor;
int lineWidth;
int midLineWidth;
class Q_GUI_EXPORT QStyleOptionSizeGrip : public QStyleOptionComplex
Qt::Corner corner;
class Q_GUI_EXPORT QStyleOptionGraphicsItem : public QStyleOption
QRectF exposedRect;
QMatrix matrix;
qreal levelOfDetail;
class Q_GUI_EXPORT QStyleHintReturn {
int version;
int type;
class Q_GUI_EXPORT QStyleHintReturnMask : public QStyleHintReturn {
QRegion region;
class Q_GUI_EXPORT QStyleHintReturnVariant : public QStyleHintReturn {
QVariant variant;
regards,
Den Jean
More information about the Qt
mailing list