- complete TQtWsCustomStaticText
- some code moving for TQtWsCustomMemo

git-svn-id: trunk@11996 -
This commit is contained in:
paul 2007-09-11 09:23:38 +00:00
parent a513e16d9b
commit 9b01dc0727
3 changed files with 49 additions and 53 deletions

View File

@ -337,8 +337,9 @@ type
function CreateWidget(const AParams: TCreateParams):QWidgetH; override; function CreateWidget(const AParams: TCreateParams):QWidgetH; override;
public public
destructor Destroy; override; destructor Destroy; override;
procedure SetText(text: PWideString); procedure getText(retval: PWideString);
procedure Text(retval: PWideString); procedure setText(text: PWideString);
procedure setAlignment(const AAlignment: QtAlignment);
end; end;
{ TQtCheckBox } { TQtCheckBox }
@ -455,7 +456,7 @@ type
function getPlainText: WideString; function getPlainText: WideString;
function getSelectionStart: Integer; function getSelectionStart: Integer;
function getSelectionEnd: Integer; function getSelectionEnd: Integer;
procedure setAlignment(const AAlignment: TAlignment); procedure setAlignment(const AAlignment: QtAlignment);
procedure setColor(const Value: PQColor); override; procedure setColor(const Value: PQColor); override;
procedure setLineWrapMode(const AMode: QTextEditLineWrapMode); procedure setLineWrapMode(const AMode: QTextEditLineWrapMode);
procedure setPlainText(const AText: WideString); procedure setPlainText(const AText: WideString);
@ -749,7 +750,7 @@ type
public public
procedure setRange(minimum: Integer; maximum: Integer); procedure setRange(minimum: Integer; maximum: Integer);
procedure setTextVisible(visible: Boolean); procedure setTextVisible(visible: Boolean);
procedure setAlignment(alignment: QtAlignment); procedure setAlignment(const AAlignment: QtAlignment);
procedure setTextDirection(textDirection: QProgressBarDirection); procedure setTextDirection(textDirection: QProgressBarDirection);
procedure setValue(value: Integer); procedure setValue(value: Integer);
procedure setOrientation(p1: QtOrientation); procedure setOrientation(p1: QtOrientation);
@ -819,14 +820,6 @@ type
procedure setShape(AShape: QRubberBandShape); procedure setShape(AShape: QRubberBandShape);
end; end;
implementation
uses
LCLMessageGlue,
qtCaret;
const const
AlignmentMap: array[TAlignment] of QtAlignment = AlignmentMap: array[TAlignment] of QtAlignment =
( (
@ -835,6 +828,13 @@ const
{taCenter } QtAlignHCenter {taCenter } QtAlignHCenter
); );
implementation
uses
LCLMessageGlue,
qtCaret;
const
DblClickThreshold = 3;// max Movement between two clicks of a DblClick DblClickThreshold = 3;// max Movement between two clicks of a DblClick
type type
@ -3022,8 +3022,7 @@ begin
WriteLn('TQtStaticText.Create'); WriteLn('TQtStaticText.Create');
{$endif} {$endif}
Parent := TQtWidget(LCLObject.Parent.Handle).GetContainerWidget; Result := QLabel_create();
Result := QLabel_create(Parent);
QWidget_setAutoFillBackground(Result, True); QWidget_setAutoFillBackground(Result, True);
end; end;
@ -3058,12 +3057,17 @@ begin
QLabel_setText(QLabelH(Widget), text); QLabel_setText(QLabelH(Widget), text);
end; end;
procedure TQtStaticText.setAlignment(const AAlignment: QtAlignment);
begin
QLabel_setAlignment(QLabelH(Widget), AAlignment);
end;
{------------------------------------------------------------------------------ {------------------------------------------------------------------------------
Function: TQtStaticText.Text Function: TQtStaticText.Text
Params: None Params: None
Returns: Nothing Returns: Nothing
------------------------------------------------------------------------------} ------------------------------------------------------------------------------}
procedure TQtStaticText.Text(retval: PWideString); procedure TQtStaticText.getText(retval: PWideString);
begin begin
QLabel_text(QLabelH(Widget), retval); QLabel_text(QLabelH(Widget), retval);
end; end;
@ -3945,16 +3949,7 @@ begin
WriteLn('TQtTextEdit.Create'); WriteLn('TQtTextEdit.Create');
{$endif} {$endif}
Parent := TQtWidget(LCLObject.Parent.Handle).GetContainerWidget; Result := QTextEdit_create();
Result := QTextEdit_create(Parent);
QTextEdit_setAlignment(QTextEditH(Result), AlignmentMap[(LCLObject as TCustomMemo).Alignment]);
QTextEdit_setReadOnly(QTextEditH(Result), (LCLObject as TCustomMemo).ReadOnly);
if (LCLObject as TCustomMemo).WordWrap then
QTextEdit_setLineWrapMode(QTextEditH(Result),QTextEditWidgetWidth)
else
QTextEdit_setLineWrapMode(QTextEditH(Result),QTextEditNoWrap);
end; end;
procedure TQtTextEdit.append(AStr: WideString); procedure TQtTextEdit.append(AStr: WideString);
@ -4043,7 +4038,7 @@ begin
QTextEdit_setTabChangesFocus(QTextEditH(Widget), AValue); QTextEdit_setTabChangesFocus(QTextEditH(Widget), AValue);
end; end;
procedure TQtTextEdit.SetAlignment(const AAlignment: TAlignment); procedure TQtTextEdit.SetAlignment(const AAlignment: QtAlignment);
var var
TextCursor: QTextCursorH; TextCursor: QTextCursorH;
begin begin
@ -4054,7 +4049,7 @@ begin
QTextEdit_selectAll(QTextEditH(Widget)); QTextEdit_selectAll(QTextEditH(Widget));
// 2. Set format // 2. Set format
QTextEdit_setAlignment(QTextEditH(Widget), AlignmentMap[(LCLObject as TCustomMemo).Alignment]); QTextEdit_setAlignment(QTextEditH(Widget), AAlignment);
// 3. Clear selection. To unselect all document we must create new text cursor, // 3. Clear selection. To unselect all document we must create new text cursor,
// get format from Text Edit, clear selection in cursor and set it back to Text Edit // get format from Text Edit, clear selection in cursor and set it back to Text Edit
@ -5539,9 +5534,9 @@ begin
QProgressBar_setTextVisible(QProgressBarH(Widget), visible); QProgressBar_setTextVisible(QProgressBarH(Widget), visible);
end; end;
procedure TQtProgressBar.setAlignment(alignment: QtAlignment); procedure TQtProgressBar.setAlignment(const AAlignment: QtAlignment);
begin begin
QProgressBar_setAlignment(QProgressBarH(Widget), alignment); QProgressBar_setAlignment(QProgressBarH(Widget), AAlignment);
end; end;
procedure TQtProgressBar.setTextDirection(textDirection: QProgressBarDirection); procedure TQtProgressBar.setTextDirection(textDirection: QProgressBarDirection);

View File

@ -109,7 +109,7 @@ type
private private
protected protected
public public
class function CreateHandle(const AWinControl: TWinControl; class function CreateHandle(const AWinControl: TWinControl;
const AParams: TCreateParams): HWND; override; const AParams: TCreateParams): HWND; override;
class procedure ShowHide(const AWinControl: TWinControl); override; //TODO: rename to SetVisible(control, visible) class procedure ShowHide(const AWinControl: TWinControl); override; //TODO: rename to SetVisible(control, visible)
end; end;
@ -136,7 +136,7 @@ const
Params: None Params: None
Returns: Nothing Returns: Nothing
------------------------------------------------------------------------------} ------------------------------------------------------------------------------}
class function TQtWSCustomControl.CreateHandle(const AWinControl: TWinControl; class function TQtWSCustomControl.CreateHandle(const AWinControl: TWinControl;
const AParams: TCreateParams): HWND; const AParams: TCreateParams): HWND;
var var
QtAbstractScrollArea: TQtAbstractScrollArea; QtAbstractScrollArea: TQtAbstractScrollArea;

View File

@ -234,9 +234,10 @@ type
class procedure SetDefault(const AButton: TCustomButton; ADefault: Boolean); override; class procedure SetDefault(const AButton: TCustomButton; ADefault: Boolean); override;
class procedure SetShortcut(const AButton: TCustomButton; const OldShortcut, NewShortcut: TShortcut); override; class procedure SetShortcut(const AButton: TCustomButton; const OldShortcut, NewShortcut: TShortcut); override;
class procedure SetText(const AWinControl: TWinControl; const AText: String); override; class procedure SetText(const AWinControl: TWinControl; const AText: String); override;
class procedure SetColor(const AWinControl: TWinControl); override;
{class procedure GetPreferredSize(const AWinControl: TWinControl; {class procedure GetPreferredSize(const AWinControl: TWinControl;
var PreferredWidth, PreferredHeight: integer; WithThemeSpace: Boolean); override;} var PreferredWidth, PreferredHeight: integer; WithThemeSpace: Boolean); override;}
class procedure SetColor(const AWinControl: TWinControl); override;
end; end;
{ TQtWSCustomCheckBox } { TQtWSCustomCheckBox }
@ -310,11 +311,10 @@ type
private private
protected protected
public public
class function CreateHandle(const AWinControl: TWinControl; const AParams: TCreateParams): TLCLIntfHandle; override; class function CreateHandle(const AWinControl: TWinControl; const AParams: TCreateParams): TLCLIntfHandle; override;
class function GetText(const AWinControl: TWinControl; var AText: String): Boolean; override;
class procedure SetAlignment(const ACustomStaticText: TCustomStaticText; const NewAlignment: TAlignment); override; class procedure SetAlignment(const ACustomStaticText: TCustomStaticText; const NewAlignment: TAlignment); override;
class function GetText(const AWinControl: TWinControl; var AText: String): Boolean; override;
class procedure SetText(const AWinControl: TWinControl; const AText: String); override; class procedure SetText(const AWinControl: TWinControl; const AText: String); override;
end; end;
@ -334,6 +334,11 @@ uses
const const
QtMaxEditLength = 32767; QtMaxEditLength = 32767;
WordWrapMap: array[Boolean] of QTextEditLineWrapMode =
(
QTextEditNoWrap,
QTextEditWidgetWidth
);
{ TQtWSScrollBar } { TQtWSScrollBar }
@ -674,6 +679,11 @@ begin
QtTextEdit := TQtTextEdit.Create(AWinControl, AParams); QtTextEdit := TQtTextEdit.Create(AWinControl, AParams);
QtTextEdit.AttachEvents; QtTextEdit.AttachEvents;
QtTextEdit.setAlignment(AlignmentMap[TCustomMemo(AWinControl).Alignment]);
QtTextEdit.setReadOnly(TCustomMemo(AWinControl).ReadOnly);
QtTextEdit.setLineWrapMode(WordWrapMap[TCustomMemo(AWinControl).WordWrap]);
// create our FList helper // create our FList helper
QtTextEdit.FList := TQtMemoStrings.Create(QTextEditH(QtTextEdit.Widget), TCustomMemo(AWinControl)); QtTextEdit.FList := TQtMemoStrings.Create(QTextEditH(QtTextEdit.Widget), TCustomMemo(AWinControl));
QtTextEdit.setScrollStyle(TCustomMemo(AWinControl).ScrollBars); QtTextEdit.setScrollStyle(TCustomMemo(AWinControl).ScrollBars);
@ -700,7 +710,7 @@ end;
class procedure TQtWSCustomMemo.SetAlignment(const ACustomMemo: TCustomMemo; class procedure TQtWSCustomMemo.SetAlignment(const ACustomMemo: TCustomMemo;
const AAlignment: TAlignment); const AAlignment: TAlignment);
begin begin
TQtTextEdit(ACustomMemo.Handle).setAlignment(ACustomMemo.Alignment); TQtTextEdit(ACustomMemo.Handle).setAlignment(AlignmentMap[AAlignment]);
end; end;
@ -753,12 +763,6 @@ end;
Returns: Nothing Returns: Nothing
------------------------------------------------------------------------------} ------------------------------------------------------------------------------}
class procedure TQtWSCustomMemo.SetWordWrap(const ACustomMemo: TCustomMemo; const NewWordWrap: boolean); class procedure TQtWSCustomMemo.SetWordWrap(const ACustomMemo: TCustomMemo; const NewWordWrap: boolean);
const
WordWrapMap: array[Boolean] of QTextEditLineWrapMode =
(
QTextEditNoWrap,
QTextEditWidgetWidth
);
begin begin
TQtTextEdit(ACustomMemo.Handle).setLineWrapMode(WordWrapMap[NewWordWrap]); TQtTextEdit(ACustomMemo.Handle).setLineWrapMode(WordWrapMap[NewWordWrap]);
end; end;
@ -948,12 +952,11 @@ var
QtStaticText: TQtStaticText; QtStaticText: TQtStaticText;
begin begin
QtStaticText := TQtStaticText.Create(AWinControl, AParams); QtStaticText := TQtStaticText.Create(AWinControl, AParams);
QtStaticText.AttachEvents; QtStaticText.AttachEvents;
// SetSlots(QtStaticText);
QtStaticText.setAlignment(AlignmentMap[TCustomStaticText(AWinControl).Alignment]);
// Returns the Handle // Returns the Handle
Result := THandle(QtStaticText); Result := THandle(QtStaticText);
end; end;
@ -965,6 +968,7 @@ end;
class procedure TQtWSCustomStaticText.SetAlignment( class procedure TQtWSCustomStaticText.SetAlignment(
const ACustomStaticText: TCustomStaticText; const NewAlignment: TAlignment); const ACustomStaticText: TCustomStaticText; const NewAlignment: TAlignment);
begin begin
TQtStaticText(ACustomStaticText.Handle).setAlignment(AlignmentMap[NewAlignment]);
end; end;
{------------------------------------------------------------------------------ {------------------------------------------------------------------------------
@ -976,13 +980,10 @@ class function TQtWSCustomStaticText.GetText(const AWinControl: TWinControl; var
var var
Str: WideString; Str: WideString;
begin begin
if not WSCheckHandleAllocated(AWinControl, 'GetText') then
Exit;
if (csDestroying in AWinControl.ComponentState) TQtStaticText(AWinControl.Handle).getText(@Str);
or (csFreeNotification in AWinControl.ComponentState)
then
exit;
TQtStaticText(AWinControl.Handle).Text(@Str);
AText := UTF8Encode(Str); AText := UTF8Encode(Str);
@ -998,7 +999,7 @@ class procedure TQtWSCustomStaticText.SetText(const AWinControl: TWinControl; co
var var
Str: WideString; Str: WideString;
begin begin
Str := UTF8Decode(AText); Str := GetUtf8String(AText);
TQtStaticText(AWinControl.Handle).SetText(@Str); TQtStaticText(AWinControl.Handle).SetText(@Str);
end; end;