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
 
 ////////////////////////////////////////////////////

Reply via email to