lazarus/lcl/interfaces/fpgui/fpguiwsforms.pp
2010-05-14 03:20:46 +00:00

219 lines
6.3 KiB
ObjectPascal

{ $Id: FpGuiwsforms.pp 5319 2004-03-17 20:11:29Z marc $}
{
*****************************************************************************
* FpGuiWSForms.pp *
* ------------ *
* *
* *
*****************************************************************************
*****************************************************************************
* *
* This file is part of the Lazarus Component Library (LCL) *
* *
* See the file COPYING.LCL, included in this distribution, *
* for details about the copyright. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* *
*****************************************************************************
}
unit FpGuiWSForms;
{$mode objfpc}{$H+}
interface
uses
// Bindings
fpg_base, fpg_main, fpg_form, fpguiwsprivate,
// LCL
Classes, Forms, LCLType, Controls, Graphics,
// Widgetset
WSForms, WSLCLClasses;
type
{ TFpGuiWSScrollingWinControl }
TFpGuiWSScrollingWinControl = class(TWSScrollingWinControl)
private
protected
public
end;
{ TFpGuiWSScrollBox }
TFpGuiWSScrollBox = class(TWSScrollBox)
private
protected
public
end;
{ TFpGuiWSCustomFrame }
TFpGuiWSCustomFrame = class(TWSCustomFrame)
private
protected
public
end;
{ TFpGuiWSFrame }
TFpGuiWSFrame = class(TWSFrame)
private
protected
public
end;
{ TFpGuiWSCustomForm }
TFpGuiWSCustomForm = class(TWSCustomForm)
private
protected
published
class function GetText(const AWinControl: TWinControl; var AText: String): Boolean; override;
class function CreateHandle(const AWinControl: TWinControl; const AParams: TCreateParams): TLCLIntfHandle; override;
class procedure DestroyHandle(const AWinControl: TWinControl); override;
class procedure SetText(const AWinControl: TWinControl; const AText: String); override;
class procedure SetFormBorderStyle(const AForm: Forms.TCustomForm;
const AFormBorderStyle: TFormBorderStyle); override;
class procedure SetFont(const AWinControl: TWinControl;
const AFont: TFont); override;
end;
{ TFpGuiWSForm }
TFpGuiWSForm = class(TWSForm)
private
protected
public
end;
{ TFpGuiWSHintWindow }
TFpGuiWSHintWindow = class(TWSHintWindow)
private
protected
public
end;
{ TFpGuiWSScreen }
TFpGuiWSScreen = class(TWSScreen)
private
protected
public
end;
{ TFpGuiWSApplicationProperties }
TFpGuiWSApplicationProperties = class(TWSApplicationProperties)
private
protected
public
end;
implementation
{ TFpGuiWSCustomForm }
{------------------------------------------------------------------------------
Method: TFpGuiWSCustomForm.CreateHandle
Params: None
Returns: Nothing
Allocates memory and resources for the control and shows it
------------------------------------------------------------------------------}
class function TFpGuiWSCustomForm.CreateHandle(const AWinControl: TWinControl;
const AParams: TCreateParams): TLCLIntfHandle;
var
FPForm: TFPGUIPrivateWindow;
begin
{$ifdef VerboseFPGUIIntf}
WriteLn(Self.ClassName,'.CreateHandle ',AWinControl.Name);
{$endif}
FPForm := TFPGUIPrivateWindow.Create(AWinControl, AParams);
FPForm.SetFormBorderStyle(TForm(AWinControl).BorderStyle);
if AWinControl.Visible then begin
TfpgForm(FPForm.Widget).Show;
end;
Result := TLCLIntfHandle(FPForm);
end;
{------------------------------------------------------------------------------
Method: TFpGuiWSCustomForm.DestroyHandle
Params: None
Returns: Nothing
------------------------------------------------------------------------------}
class procedure TFpGuiWSCustomForm.DestroyHandle(const AWinControl: TWinControl);
begin
{$ifdef VerboseFPGUIIntf}
WriteLn(Self.ClassName,'.DestroyHandle ',AWinControl.Name);
{$endif}
TFPGUIPrivateWindow(AWinControl.Handle).Free;
AWinControl.Handle := 0;
end;
{------------------------------------------------------------------------------
Method: TFpGuiWSCustomForm.GetText
Params: None
Returns: Nothing
------------------------------------------------------------------------------}
class function TFpGuiWSCustomForm.GetText(const AWinControl: TWinControl;
var AText: String): Boolean;
var
FPForm: TFPGUIPrivateWindow;
begin
Result := True;
FPForm := TFPGUIPrivateWindow(AWinControl.Handle);
AText := FPForm.GetText;
end;
{------------------------------------------------------------------------------
Method: TFpGuiWSCustomForm.SetFormBorderStyle
Params: None
Returns: Nothing
------------------------------------------------------------------------------}
class procedure TFpGuiWSCustomForm.SetFormBorderStyle(const AForm: Forms.TCustomForm;
const AFormBorderStyle: TFormBorderStyle);
var
FPForm: TFPGUIPrivateWindow;
begin
FPForm := TFPGUIPrivateWindow(AForm.Handle);
FPForm.SetFormBorderStyle(AFormBorderStyle);
end;
class procedure TFpGuiWSCustomForm.SetFont(const AWinControl: TWinControl;
const AFont: TFont);
var
FPForm: TFPGUIPrivateWindow;
begin
FPForm := TFPGUIPrivateWindow(AWinControl.Handle);
FPForm.Font:=AFont;
end;
{------------------------------------------------------------------------------
Method: TFpGuiWSCustomForm.SetText
Params: None
Returns: Nothing
------------------------------------------------------------------------------}
class procedure TFpGuiWSCustomForm.SetText(const AWinControl: TWinControl;
const AText: String);
var
FPForm: TFPGUIPrivateWindow;
begin
FPForm := TFPGUIPrivateWindow(AWincontrol.Handle);
FPForm.SetText(AText);
end;
end.