Qt: refactored palette initialization code so we don't use InheritsFrom() and ClassType= when initializing default widget palettes.

git-svn-id: trunk@20570 -
This commit is contained in:
zeljko 2009-06-10 11:51:10 +00:00
parent 45431f0e55
commit 9e77c5b78b

View File

@ -204,6 +204,7 @@ type
function getContextMenuPolicy: QtContextMenuPolicy; virtual; function getContextMenuPolicy: QtContextMenuPolicy; virtual;
procedure setContextMenuPolicy(const AValue: QtContextMenuPolicy); virtual; procedure setContextMenuPolicy(const AValue: QtContextMenuPolicy); virtual;
procedure setCursor(const ACursor: QCursorH); virtual; procedure setCursor(const ACursor: QCursorH); virtual;
procedure setDefaultColorRoles; virtual;
procedure setEnabled(p1: Boolean); procedure setEnabled(p1: Boolean);
procedure setFocus; procedure setFocus;
procedure setFocusPolicy(const APolicy: QtFocusPolicy); virtual; procedure setFocusPolicy(const APolicy: QtFocusPolicy); virtual;
@ -401,6 +402,7 @@ type
function isChecked: Boolean; function isChecked: Boolean;
function isDown: Boolean; function isDown: Boolean;
procedure setChecked(p1: Boolean); procedure setChecked(p1: Boolean);
procedure setDefaultColorRoles; override;
procedure setDown(p1: Boolean); procedure setDown(p1: Boolean);
procedure SignalPressed; cdecl; procedure SignalPressed; cdecl;
procedure SignalReleased; cdecl; procedure SignalReleased; cdecl;
@ -468,6 +470,8 @@ type
TQtHintWindow = class(TQtMainWindow) TQtHintWindow = class(TQtMainWindow)
protected protected
function CreateWidget(const AParams: TCreateParams): QWidgetH; override; function CreateWidget(const AParams: TCreateParams): QWidgetH; override;
public
procedure SetDefaultColorRoles; override;
end; end;
{ TQtStaticText } { TQtStaticText }
@ -589,6 +593,7 @@ type
procedure setAlignment(const AAlignment: QtAlignment); procedure setAlignment(const AAlignment: QtAlignment);
procedure setBorder(const ABorder: Boolean); procedure setBorder(const ABorder: Boolean);
procedure setCursorPosition(const AValue: Integer); procedure setCursorPosition(const AValue: Integer);
procedure setDefaultColorRoles; override;
procedure setEchoMode(const AMode: QLineEditEchoMode); procedure setEchoMode(const AMode: QLineEditEchoMode);
procedure setInputMask(const AMask: WideString); procedure setInputMask(const AMask: WideString);
procedure setMaxLength(const ALength: Integer); procedure setMaxLength(const ALength: Integer);
@ -624,6 +629,7 @@ type
function isUndoAvailable: Boolean; function isUndoAvailable: Boolean;
procedure setAlignment(const AAlignment: QtAlignment); procedure setAlignment(const AAlignment: QtAlignment);
procedure setBorder(const ABorder: Boolean); procedure setBorder(const ABorder: Boolean);
procedure setDefaultColorRoles; override;
procedure setEchoMode(const AMode: QLineEditEchoMode); procedure setEchoMode(const AMode: QLineEditEchoMode);
procedure setLineWrapMode(const AMode: QTextEditLineWrapMode); procedure setLineWrapMode(const AMode: QTextEditLineWrapMode);
procedure setMaxLength(const ALength: Integer); procedure setMaxLength(const ALength: Integer);
@ -737,6 +743,7 @@ type
procedure insertItem(AIndex: Integer; AText: String); overload; procedure insertItem(AIndex: Integer; AText: String); overload;
procedure insertItem(AIndex: Integer; AText: PWideString); overload; procedure insertItem(AIndex: Integer; AText: PWideString); overload;
procedure setCurrentIndex(index: Integer); procedure setCurrentIndex(index: Integer);
procedure setDefaultColorRoles; override;
procedure setMaxVisibleItems(ACount: Integer); procedure setMaxVisibleItems(ACount: Integer);
procedure setEditable(const AValue: Boolean); procedure setEditable(const AValue: Boolean);
procedure setItemText(AIndex: Integer; AText: String); procedure setItemText(AIndex: Integer; AText: String);
@ -782,6 +789,7 @@ type
function getText: WideString; override; function getText: WideString; override;
function getTextStatic: Boolean; override; function getTextStatic: Boolean; override;
procedure setBorder(const ABorder: Boolean); procedure setBorder(const ABorder: Boolean);
procedure setDefaultColorRoles; override;
procedure setFocusPolicy(const APolicy: QtFocusPolicy); override; procedure setFocusPolicy(const APolicy: QtFocusPolicy); override;
procedure setMinimum(const v: Double); virtual; abstract; procedure setMinimum(const v: Double); virtual; abstract;
procedure setMaximum(const v: Double); virtual; abstract; procedure setMaximum(const v: Double); virtual; abstract;
@ -866,6 +874,7 @@ type
procedure DetachEvents; override; procedure DetachEvents; override;
function itemViewViewportEventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl; virtual; function itemViewViewportEventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl; virtual;
procedure setDefaultColorRoles; override;
public public
procedure clearSelection; procedure clearSelection;
function getModel: QAbstractItemModelH; function getModel: QAbstractItemModelH;
@ -1408,29 +1417,7 @@ var
QtEdit: IQtEdit; QtEdit: IQtEdit;
begin begin
// default color roles // default color roles
if InheritsFrom(TQtAbstractButton) then SetDefaultColorRoles;
begin
FWidgetColorRole := QPaletteButton;
FTextColorRole := QPaletteButtonText;
end else
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
if InheritsFrom(TQtHintWindow) then
begin
FWidgetColorRole := QPaletteToolTipBase;
FTextColorRole := QPaletteToolTipText;
end else
{$ENDIF}
if InheritsFrom(TQtAbstractItemView) or
Supports(Self, IQtEdit, QtEdit) then
begin
FWidgetColorRole := QPaletteBase;
FTextColorRole := QPaletteText;
end else
begin
FWidgetColorRole := QPaletteWindow;
FTextColorRole := QPaletteWindowText;
end;
FPalette := nil; FPalette := nil;
// Creates the widget // Creates the widget
Widget := CreateWidget(FParams); Widget := CreateWidget(FParams);
@ -2877,6 +2864,12 @@ begin
QWidget_setCursor(Widget, FDefaultCursor); QWidget_setCursor(Widget, FDefaultCursor);
end; end;
procedure TQtWidget.setDefaultColorRoles;
begin
FWidgetColorRole := QPaletteWindow;
FTextColorRole := QPaletteWindowText;
end;
{------------------------------------------------------------------------------ {------------------------------------------------------------------------------
Function: TQtWidget.Update Function: TQtWidget.Update
Params: None Params: None
@ -3924,6 +3917,12 @@ begin
QAbstractButton_setChecked(QAbstractButtonH(Widget), p1); QAbstractButton_setChecked(QAbstractButtonH(Widget), p1);
end; end;
procedure TQtAbstractButton.setDefaultColorRoles;
begin
WidgetColorRole := QPaletteButton;
TextColorRole := QPaletteButtonText;
end;
procedure TQtAbstractButton.setDown(p1: Boolean); procedure TQtAbstractButton.setDown(p1: Boolean);
begin begin
QAbstractButton_setDown(QAbstractButtonH(Widget), p1); QAbstractButton_setDown(QAbstractButtonH(Widget), p1);
@ -5382,6 +5381,12 @@ begin
QLineEdit_setCursorPosition(QLineEditH(Widget), AValue); QLineEdit_setCursorPosition(QLineEditH(Widget), AValue);
end; end;
procedure TQtLineEdit.setDefaultColorRoles;
begin
WidgetColorRole := QPaletteBase;
TextColorRole := QPaletteText;
end;
procedure TQtLineEdit.setEchoMode(const AMode: QLineEditEchoMode); procedure TQtLineEdit.setEchoMode(const AMode: QLineEditEchoMode);
begin begin
QLineEdit_setEchoMode(QLineEditH(Widget), AMode); QLineEdit_setEchoMode(QLineEditH(Widget), AMode);
@ -5595,6 +5600,12 @@ begin
QFrame_setFrameShape(QFrameH(Widget), QFrameNoFrame); QFrame_setFrameShape(QFrameH(Widget), QFrameNoFrame);
end; end;
procedure TQtTextEdit.setDefaultColorRoles;
begin
WidgetColorRole := QPaletteBase;
TextColorRole := QPaletteText;
end;
procedure TQtTextEdit.AttachEvents; procedure TQtTextEdit.AttachEvents;
var var
Method: TMethod; Method: TMethod;
@ -6197,6 +6208,12 @@ begin
EndUpdate; EndUpdate;
end; end;
procedure TQtComboBox.setDefaultColorRoles;
begin
WidgetColorRole := QPaletteBase;
TextColorRole := QPaletteText;
end;
procedure TQtComboBox.setMaxVisibleItems(ACount: Integer); procedure TQtComboBox.setMaxVisibleItems(ACount: Integer);
begin begin
QComboBox_setMaxVisibleItems(QComboboxH(Widget), ACount); QComboBox_setMaxVisibleItems(QComboboxH(Widget), ACount);
@ -6600,6 +6617,12 @@ begin
QAbstractSpinBox_setFrame(QAbstractSpinBoxH(Widget), ABorder); QAbstractSpinBox_setFrame(QAbstractSpinBoxH(Widget), ABorder);
end; end;
procedure TQtAbstractSpinBox.setDefaultColorRoles;
begin
WidgetColorRole := QPaletteBase;
TextColorRole := QPaletteText;
end;
procedure TQtAbstractSpinBox.setEchoMode(const AMode: QLineEditEchoMode); procedure TQtAbstractSpinBox.setEchoMode(const AMode: QLineEditEchoMode);
begin begin
if LineEdit <> nil then if LineEdit <> nil then
@ -9195,6 +9218,16 @@ begin
MenuBar := nil; MenuBar := nil;
end; end;
procedure TQtHintWindow.SetDefaultColorRoles;
begin
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
WidgetColorRole := QPaletteToolTipBase;
TextColorRole := QPaletteToolTipText;
{$ELSE}
inherited SetDefaultColorRoles;
{$ENDIF}
end;
{ TQtPage } { TQtPage }
function TQtPage.CreateWidget(const AParams: TCreateParams): QWidgetH; function TQtPage.CreateWidget(const AParams: TCreateParams): QWidgetH;
@ -9422,6 +9455,12 @@ begin
end; end;
end; end;
procedure TQtAbstractItemView.setDefaultColorRoles;
begin
WidgetColorRole := QPaletteBase;
TextColorRole := QPaletteText;
end;
procedure TQtAbstractItemView.clearSelection; procedure TQtAbstractItemView.clearSelection;
begin begin
QAbstractItemView_clearSelection(QAbstractItemViewH(Widget)); QAbstractItemView_clearSelection(QAbstractItemViewH(Widget));