qt intf: fixes spin edit from Felipe

git-svn-id: trunk@9268 -
This commit is contained in:
mattias 2006-05-13 09:36:47 +00:00
parent 19d2543a28
commit fef1681254
4 changed files with 86 additions and 52 deletions

2
.gitattributes vendored
View File

@ -2189,8 +2189,8 @@ lcl/interfaces/qt/qtcallback.inc svneol=native#text/pascal
lcl/interfaces/qt/qtint.pp svneol=native#text/pascal
lcl/interfaces/qt/qtlclintf.inc svneol=native#text/pascal
lcl/interfaces/qt/qtlclintfh.inc svneol=native#text/pascal
lcl/interfaces/qt/qtmemostrings.inc svneol=native#text/plain
lcl/interfaces/qt/qtobject.inc svneol=native#text/pascal
lcl/interfaces/qt/qtobjects.pas svneol=native#text/plain
lcl/interfaces/qt/qtprivate.pp svneol=native#text/plain
lcl/interfaces/qt/qtwinapi.inc svneol=native#text/pascal
lcl/interfaces/qt/qtwinapih.inc svneol=native#text/pascal

View File

@ -1,4 +1,10 @@
{$IFDEF MEMOHEADER}
unit qtobjects;
{$mode delphi}{$H+}
interface
uses Classes, StdCtrls, Controls, Graphics, SysUtils, qt4;
type
@ -32,12 +38,11 @@ type
property Owner: TWinControl read FOwner;
function TextChangedHandler(Sender: QObjectH; Event: QEventH): Boolean; cdecl;
end;
{$ELSE}
{
Implementation
}
uses qtprivate, LMessages;
{------------------------------------------------------------------------------
DelphiOnChange sets Delphi compatibility for OnChange event:
If defined, OnChange is generated whenever there's a change
@ -186,8 +191,13 @@ end;
function TQtMemoStrings.TextChangedHandler(Sender: QObjectH; Event: QEventH): Boolean; cdecl;
var
Mess: TLMessage;
// just for debugging
SenderView: QObjectH;
EventView: QEventH;
begin
if not FUpdating then begin
SenderView := Sender;
EventView := Event;
FTextChanged := True;
FillChar(Mess, SizeOf(Mess), #0);
Mess.Msg := CM_TEXTCHANGED;
@ -313,4 +323,5 @@ begin
end;
{$ENDIF}
end.

View File

@ -70,8 +70,8 @@ type
class procedure SetSize(const AWinControl: TWinControl; const AWidth, AHeight: Integer); override;
class procedure ShowHide(const AWinControl: TWinControl); override; //TODO: rename to SetVisible(control, visible)
class function GetText(const AWinControl: TWinControl; var AText: String): Boolean; override;
class procedure SetText(const AWinControl: TWinControl; const AText: string); override;
// class function GetText(const AWinControl: TWinControl; var AText: String): Boolean; override;
// class procedure SetText(const AWinControl: TWinControl; const AText: string); override;
{ class procedure AddControl(const AControl: TControl); override;
class procedure SetBorderStyle(const AWinControl: TWinControl; const ABorderStyle: TBorderStyle); override;
@ -242,42 +242,6 @@ begin
{$endif}
end;
class function TQtWSWinControl.GetText(const AWinControl: TWinControl; var AText: String): Boolean;
var
AString: WideString;
begin
Result := True;
if AWinControl = nil then exit;
if not AWinControl.HandleAllocated then exit;
case AWinControl.fCompStyle of
//csComboBox:
csEdit,csSpinedit:
QLineEdit_text(QLineEditH(TQtWidget(AWinControl.Handle).Widget),@AString);
csMemo:
QTextEdit_toPlainText(QTextEditH(TQtWidget(AWinControl.Handle).Widget),@AString);
else
Result := false;
end;
if Result then AText := AString;
end;
class procedure TQtWSWinControl.SetText(const AWinControl: TWinControl; const AText: string);
var
AString: WideString;
begin
if AWinControl = nil then exit;
if not AWinControl.HandleAllocated then exit;
AString := AText;
case AWinControl.fCompStyle of
csEdit,csSpinedit:
QLineEdit_setText(QLineEditH(TQtWidget(AWinControl.Handle).Widget),@AString);
//csStaticText:
csMemo:
QTextEdit_append(QTextEditH(TQtWidget(AWinControl.Handle).Widget),@AString);
end;
end;
initialization
////////////////////////////////////////////////////
@ -293,4 +257,4 @@ initialization
// RegisterWSComponent(TCustomControl, TQtWSCustomControl);
// RegisterWSComponent(TImageList, TQtWSImageList);
////////////////////////////////////////////////////
end.
end.

View File

@ -34,7 +34,7 @@ uses
// uncomment only when needed for registration
////////////////////////////////////////////////////
Classes, StdCtrls, Controls, Graphics, Forms, SysUtils,
InterfaceBase, qt4, qtprivate,
InterfaceBase, qt4, qtprivate, qtobjects,
////////////////////////////////////////////////////
WSStdCtrls, WSLCLClasses, LCLType;
@ -129,6 +129,8 @@ type
const AParams: TCreateParams): HWND; override;
class procedure DestroyHandle(const AWinControl: TWinControl); override;
public
class function GetText(const AWinControl: TWinControl; var AText: String): Boolean; override;
class procedure SetText(const AWinControl: TWinControl; const AText: string); override;
{ class function GetSelStart(const ACustomEdit: TCustomEdit): integer; override;
class function GetSelLength(const ACustomEdit: TCustomEdit): integer; override;
@ -159,6 +161,8 @@ type
// class procedure SetScrollbars(const ACustomMemo: TCustomMemo; const NewScrollbars: TScrollStyle); virtual;
class procedure SetWordWrap(const ACustomMemo: TCustomMemo; const NewWordWrap: boolean); override;
public
class function GetText(const AWinControl: TWinControl; var AText: String): Boolean; override;
class procedure SetText(const AWinControl: TWinControl; const AText: string); override;
{ class function GetSelStart(const ACustomEdit: TCustomEdit): integer; override;
class function GetSelLength(const ACustomEdit: TCustomEdit): integer; override;
@ -278,16 +282,11 @@ type
public
end;
{$DEFINE MEMOHEADER}
{$I qtmemostrings.inc}
{$UNDEF MEMOHEADER}
implementation
uses LMessages;
{$I qtmemostrings.inc}
{ TQtWSCustomMemo }
{------------------------------------------------------------------------------
@ -363,6 +362,36 @@ begin
QTextEdit_setLineWrapMode(TextEditH,QTextEditNoWrap);
end;
{------------------------------------------------------------------------------
Method: TQtWSCustomMemo.GetText
Params:
Returns: Nothing
------------------------------------------------------------------------------}
class function TQtWSCustomMemo.GetText(const AWinControl: TWinControl; var AText: String): Boolean;
var
Str: WideString;
begin
QTextEdit_toPlainText(QTextEditH(TQtWidget(AWinControl.Handle).Widget), @Str);
AText := String(Str);
Result := True;
end;
{------------------------------------------------------------------------------
Method: TQtWSCustomMemo.SetText
Params:
Returns: Nothing
------------------------------------------------------------------------------}
class procedure TQtWSCustomMemo.SetText(const AWinControl: TWinControl; const AText: string);
var
AString: WideString;
begin
AString := WideString(AText);
QTextEdit_append(QTextEditH(TQtWidget(AWinControl.Handle).Widget), @AString);
end;
{------------------------------------------------------------------------------
Method: TQtWSCustomMemo.SetReadOnly
Params: NewReadOnly boolean
@ -376,7 +405,7 @@ begin
QTextEdit_setReadOnly(TextEditH,NewReadOnly);
end;
{{ TQtWSCustomEdit }
{ TQtWSCustomEdit }
{------------------------------------------------------------------------------
Method: TQtWSCustomEdit.CreateHandle
@ -403,6 +432,36 @@ begin
TQtLineEdit(AWinControl.Handle).Free;
end;
{------------------------------------------------------------------------------
Method: TQtWSCustomEdit.GetText
Params: None
Returns: Nothing
------------------------------------------------------------------------------}
class function TQtWSCustomEdit.GetText(const AWinControl: TWinControl; var AText: String): Boolean;
var
Str: WideString;
begin
QLineEdit_text(QLineEditH(TQtWidget(AWinControl.Handle).Widget), @Str);
AText := String(Str);
Result := True;
end;
{------------------------------------------------------------------------------
Method: TQtWSCustomEdit.SetText
Params: None
Returns: Nothing
------------------------------------------------------------------------------}
class procedure TQtWSCustomEdit.SetText(const AWinControl: TWinControl; const AText: string);
var
AString: WideString;
begin
AString := WideString(AText);
QLineEdit_setText(QLineEditH(TQtWidget(AWinControl.Handle).Widget), @AString);
end;
{ TQtWSStaticText }
{------------------------------------------------------------------------------