From 02c50e3d3e5a95fe7fc30e8eb35e5c37525a5ea3 Mon Sep 17 00:00:00 2001 From: zeljko Date: Wed, 18 Mar 2009 09:38:19 +0000 Subject: [PATCH] Qt: implemented setBorderStyle for IQtEdit interface git-svn-id: trunk@19020 - --- lcl/interfaces/qt/qtwidgets.pas | 28 ++++++++++++++++++++++++++++ lcl/interfaces/qt/qtwscontrols.pp | 7 ++++++- lcl/interfaces/qt/qtwsspin.pp | 3 ++- lcl/interfaces/qt/qtwsstdctrls.pp | 3 ++- 4 files changed, 38 insertions(+), 3 deletions(-) diff --git a/lcl/interfaces/qt/qtwidgets.pas b/lcl/interfaces/qt/qtwidgets.pas index 5b196453a8..c2a80a2659 100644 --- a/lcl/interfaces/qt/qtwidgets.pas +++ b/lcl/interfaces/qt/qtwidgets.pas @@ -65,6 +65,7 @@ type procedure setMaxLength(const ALength: Integer); procedure setReadOnly(const AReadOnly: Boolean); procedure setSelection(const AStart, ALength: Integer); + procedure setBorder(const ABorder: Boolean); procedure Undo; end; @@ -582,6 +583,7 @@ type function hasSelectedText: Boolean; procedure selectAll; procedure setAlignment(const AAlignment: QtAlignment); + procedure setBorder(const ABorder: Boolean); procedure setColor(const Value: PQColor); override; procedure setTextColor(const Value: PQColor); override; procedure setCursorPosition(const AValue: Integer); @@ -619,6 +621,7 @@ type function getSelectionLength: Integer; function isUndoAvailable: Boolean; procedure setAlignment(const AAlignment: QtAlignment); + procedure setBorder(const ABorder: Boolean); procedure setColor(const Value: PQColor); override; procedure setTextColor(const Value: PQColor); override; procedure setEchoMode(const AMode: QLineEditEchoMode); @@ -722,6 +725,7 @@ type public FList: TStrings; destructor Destroy; override; + procedure setBorder(const ABorder: Boolean); procedure SetColor(const Value: PQColor); override; procedure setTextColor(const Value: PQColor); override; function currentIndex: Integer; @@ -776,6 +780,7 @@ type function getReadOnly: Boolean; function getText: WideString; override; function getTextStatic: Boolean; override; + procedure setBorder(const ABorder: Boolean); procedure setFocusPolicy(const APolicy: QtFocusPolicy); override; procedure setMinimum(const v: Double); virtual; abstract; procedure setMaximum(const v: Double); virtual; abstract; @@ -5247,6 +5252,11 @@ begin QLineEdit_setAlignment(QLineEditH(Widget), AAlignment); end; +procedure TQtLineEdit.setBorder(const ABorder: Boolean); +begin + QLineEdit_setFrame(QLineEditH(Widget), ABorder); +end; + procedure TQtLineEdit.AttachEvents; var Method: TMethod; @@ -5538,6 +5548,14 @@ begin QTextCursor_destroy(TextCursor); end; +procedure TQtTextEdit.setBorder(const ABorder: Boolean); +begin + if ABorder then + QFrame_setFrameShape(QFrameH(Widget), QFrameStyledPanel) + else + QFrame_setFrameShape(QFrameH(Widget), QFrameNoFrame); +end; + procedure TQtTextEdit.AttachEvents; var Method: TMethod; @@ -6011,6 +6029,11 @@ begin Result := False; end; +procedure TQtComboBox.setBorder(const ABorder: Boolean); +begin + QComboBox_setFrame(QComboBoxH(Widget), ABorder); +end; + procedure TQtComboBox.setEchoMode(const AMode: QLineEditEchoMode); begin if LineEdit <> nil then @@ -6535,6 +6558,11 @@ begin Result := False; end; +procedure TQtAbstractSpinBox.setBorder(const ABorder: Boolean); +begin + QAbstractSpinBox_setFrame(QAbstractSpinBoxH(Widget), ABorder); +end; + procedure TQtAbstractSpinBox.setEchoMode(const AMode: QLineEditEchoMode); begin if LineEdit <> nil then diff --git a/lcl/interfaces/qt/qtwscontrols.pp b/lcl/interfaces/qt/qtwscontrols.pp index 91bdd97531..9eb7016304 100644 --- a/lcl/interfaces/qt/qtwscontrols.pp +++ b/lcl/interfaces/qt/qtwscontrols.pp @@ -609,13 +609,18 @@ class procedure TQtWSWinControl.SetBorderStyle(const AWinControl: TWinControl; const ABorderStyle: TBorderStyle); var Widget: TQtWidget; + QtEdit: IQtEdit; begin if not WSCheckHandleAllocated(AWinControl, 'SetBorderStyle') then Exit; Widget := TQtWidget(AWinControl.Handle); + QtEdit := nil; if Widget is TQtFrame then - TQtFrame(Widget).setFrameShape(TBorderStyleToQtFrameShapeMap[ABorderStyle]); + TQtFrame(Widget).setFrameShape(TBorderStyleToQtFrameShapeMap[ABorderStyle]) + else + if Supports(Widget, IQtEdit, QtEdit) then + QtEdit.setBorder(ABorderStyle = bsSingle); end; { TQtWSDragImageList } diff --git a/lcl/interfaces/qt/qtwsspin.pp b/lcl/interfaces/qt/qtwsspin.pp index bf9ce5cb89..5345686111 100644 --- a/lcl/interfaces/qt/qtwsspin.pp +++ b/lcl/interfaces/qt/qtwsspin.pp @@ -102,7 +102,8 @@ begin QtSpinBox := TQtFloatSpinBox.Create(AWinControl, AParams) else QtSpinBox := TQtSpinBox.Create(AWinControl, AParams); - + + QtSpinBox.setBorder(TCustomFloatSpinEdit(AWinControl).BorderStyle = bsSingle); QtSpinBox.AttachEvents; InternalUpdateControl(QtSpinBox, TCustomFloatSpinEdit(AWinControl)); diff --git a/lcl/interfaces/qt/qtwsstdctrls.pp b/lcl/interfaces/qt/qtwsstdctrls.pp index 33f387900e..624512df79 100644 --- a/lcl/interfaces/qt/qtwsstdctrls.pp +++ b/lcl/interfaces/qt/qtwsstdctrls.pp @@ -589,7 +589,7 @@ var begin QtTextEdit := TQtTextEdit.Create(AWinControl, AParams); QtTextEdit.AttachEvents; - + QtTextEdit.setBorder(TCustomMemo(AWinControl).BorderStyle = bsSingle); QtTextEdit.setReadOnly(TCustomMemo(AWinControl).ReadOnly); QtTextEdit.setLineWrapMode(WordWrapMap[TCustomMemo(AWinControl).WordWrap]); // create our FList helper @@ -706,6 +706,7 @@ var QtLineEdit: TQtLineEdit; begin QtLineEdit := TQtLineEdit.Create(AWinControl, AParams); + QtLineEdit.setBorder(TCustomEdit(AWinControl).BorderStyle = bsSingle); QtLineEdit.setAlignment(AlignmentMap[TCustomEdit(AWinControl).Alignment]); QtLineEdit.AttachEvents;