On 4/18/06, zeljko <[EMAIL PROTECTED]> wrote:
> This patch caused caption problems (lazarus snapshot 20060418) :
>
> 1.Radio group shows only checked radiobutton (others are invisible)
> 2.Notebook tab captions are invisible.
Thanks for the hint.
This was caused by my implementation of SetText and GetText on
TWinControl. I just moved that to TForm and it is fixed. I think I
will do a separate implementation of those functions on each
TWinControl descendent.
Attached patch contains the fixes.
--
Felipe Monteiro de Carvalho
Index: lcl/interfaces/qt/qtwscontrols.pp
===================================================================
--- lcl/interfaces/qt/qtwscontrols.pp (revisão 9144)
+++ lcl/interfaces/qt/qtwscontrols.pp (cópia de trabalho)
@@ -65,12 +65,9 @@
class procedure DestroyHandle(const AWinControl: TWinControl); override;
class procedure Invalidate(const AWinControl: TWinControl); override;
public
- class function GetText(const AWinControl: TWinControl; var AText: String): Boolean; override;
-
class procedure SetBounds(const AWinControl: TWinControl; const ALeft, ATop, AWidth, AHeight: Integer); override;
class procedure SetPos(const AWinControl: TWinControl; const ALeft, ATop: Integer); override;
class procedure SetSize(const AWinControl: TWinControl; const AWidth, AHeight: Integer); override;
- class procedure SetText(const AWinControl: TWinControl; const AText: string); override;
class procedure ShowHide(const AWinControl: TWinControl); override; //TODO: rename to SetVisible(control, visible)
{ class procedure AddControl(const AControl: TControl); override;
@@ -173,24 +170,6 @@
end;
{------------------------------------------------------------------------------
- Method: TQtWSWinControl.GetText
- Params: AWinControl - the calling object
- AText - The Text
- Returns: Nothing
-
- ------------------------------------------------------------------------------}
-class function TQtWSWinControl.GetText(const AWinControl: TWinControl; var AText: String): Boolean;
-var
- Str: WideString;
-begin
- TQtWidget(AWinControl.Handle).WindowTitle(@Str);
-
- AText := String(Str);
-
- Result := True;
-end;
-
-{------------------------------------------------------------------------------
Method: TQtWSWinControl.SetBounds
Params: AWinControl - the calling object
ALeft, ATop - Position
@@ -235,22 +214,6 @@
end;
{------------------------------------------------------------------------------
- Method: TQtWSWinControl.SetText
- Params: AWinControl - the calling object
- AText - The Text
- Returns: Nothing
-
- ------------------------------------------------------------------------------}
-class procedure TQtWSWinControl.SetText(const AWinControl: TWinControl; const AText: string);
-var
- Str: WideString;
-begin
- Str := WideString(AText);
-
- TQtWidget(AWinControl.Handle).SetWindowTitle(@Str);
-end;
-
-{------------------------------------------------------------------------------
Method: TQtWSWinControl.ShowHide
Params: AWinControl - the calling object
Index: lcl/interfaces/qt/qtwsforms.pp
===================================================================
--- lcl/interfaces/qt/qtwsforms.pp (revisão 9144)
+++ lcl/interfaces/qt/qtwsforms.pp (cópia de trabalho)
@@ -78,6 +78,9 @@
class function CreateHandle(const AWinControl: TWinControl; const AParams: TCreateParams): HWND; override;
class procedure DestroyHandle(const AWinControl: TWinControl); override;
+ class function GetText(const AWinControl: TWinControl; var AText: String): Boolean; override;
+ class procedure SetText(const AWinControl: TWinControl; const AText: string); override;
+
{ class procedure SetFormBorderStyle(const AForm: TCustomForm;
const AFormBorderStyle: TFormBorderStyle); override;
class procedure SetIcon(const AForm: TCustomForm; const AIcon: HICON); override;
@@ -184,6 +187,40 @@
TQtMainWindow(AWinControl.Handle).Free;
end;
+{------------------------------------------------------------------------------
+ Method: TQtWSCustomForm.GetText
+ Params: AWinControl - the calling object
+ AText - The Text
+ Returns: Nothing
+
+ ------------------------------------------------------------------------------}
+class function TQtWSCustomForm.GetText(const AWinControl: TWinControl; var AText: String): Boolean;
+var
+ Str: WideString;
+begin
+ TQtWidget(AWinControl.Handle).WindowTitle(@Str);
+
+ AText := String(Str);
+
+ Result := True;
+end;
+
+{------------------------------------------------------------------------------
+ Method: TQtWSCustomForm.SetText
+ Params: AWinControl - the calling object
+ AText - The Text
+ Returns: Nothing
+
+ ------------------------------------------------------------------------------}
+class procedure TQtWSCustomForm.SetText(const AWinControl: TWinControl; const AText: string);
+var
+ Str: WideString;
+begin
+ Str := WideString(AText);
+
+ TQtWidget(AWinControl.Handle).SetWindowTitle(@Str);
+end;
+
initialization
////////////////////////////////////////////////////