mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-26 19:43:42 +02:00
86 lines
2.0 KiB
ObjectPascal
86 lines
2.0 KiB
ObjectPascal
{$mode objfpc}
|
|
{$h+}
|
|
|
|
unit frmlink;
|
|
|
|
interface
|
|
|
|
uses fpgtk,gtk,classes,sysutils;
|
|
|
|
Type
|
|
TLinkForm = Class (TFPGtkWindow)
|
|
FTable : TFPGtkTable;
|
|
FLLinkTarget,
|
|
FLLinkText : TFPGtkLabel;
|
|
FLinkText : TFPGtkEntry;
|
|
FLinkTarget : TFPGtkCombo;
|
|
FSeparator : TFPGtkHSeparator;
|
|
FVBox : TFPgtkVBox;
|
|
FOK,
|
|
FCancel : TFPGtkButton;
|
|
FButtonBox: TFPgtkHBox;
|
|
Constructor Create;
|
|
Procedure CreateWindow;
|
|
Procedure OnShow(Sender : TFpGtkObject;Data : Pointer);
|
|
end;
|
|
|
|
Implementation
|
|
|
|
uses fpdemsg;
|
|
|
|
Constructor TLinkForm.Create;
|
|
|
|
begin
|
|
Inherited Create(GTK_WINDOW_DIALOG);
|
|
CreateWindow;
|
|
end;
|
|
|
|
Procedure TLinkForm.CreateWindow;
|
|
|
|
Var
|
|
OH,OV : TgtkAttachOPtions;
|
|
|
|
begin
|
|
FVBox:=TFPGtkVBox.Create;
|
|
FVBox.Spacing:=4;
|
|
FVBox.Border:=8;
|
|
Add(FVBox);
|
|
// Table area
|
|
FTable:=TFPGtkTable.Create(2,2);
|
|
FLLinktarget:=TFPGtkLabel.Create(SLinkTarget);
|
|
FLLinktarget.Justify:=GTK_JUSTIFY_RIGHT;
|
|
FLLinkText:=TFPGtkLabel.Create(SLinkText);
|
|
FLLinktext.Justify:=GTK_JUSTIFY_RIGHT;
|
|
FLinkText:=TFPgtkEntry.Create;
|
|
FlinkTarget:=TFPGtkCombo.Create;
|
|
OH:=GTK_EXPAND or GTK_FILL;
|
|
FTable.Attach(FLLinkTarget,0,1,0,1,0,GTK_FILL,4,4);
|
|
FTable.Attach(FLLinkText,0,1,1,2,0,GTK_FILL,4,4);
|
|
FTable.Attach(FLinkTarget,1,2,0,1,OH,0,4,4);
|
|
FTable.Attach(FLinkText,1,2,1,2,OH,0,4,4);
|
|
// button area
|
|
FOK:=TFpGtkButton.CreateWithLabel(SOK);
|
|
FOK.ConnectClicked(@CloseWithResult,IntToPointer(drOK));
|
|
FCancel:=TFPgtkButton.CreateWithLabel(SCancel);
|
|
FCancel.ConnectCLicked(@CloseWithResult,IntToPointer(drCancel));
|
|
FSeparator:=TFPgtkHSeparator.Create;
|
|
FButtonBox:=TfpGtkHBox.Create;
|
|
FButtonBox.Spacing:=4;
|
|
FButtonBox.PackEnd(FOK,false,false,4);
|
|
FButtonBox.PackEnd(FCancel,false,false,4);
|
|
// Add to window
|
|
FVBox.PackStart(FTable,False,False,0);
|
|
FVBox.PackStart(FSeparator,False,False,4);
|
|
FVBox.PackStart(FButtonBox,false,false,0);
|
|
// Some events;
|
|
ConnectShow(@OnShow,Nil);
|
|
end;
|
|
|
|
Procedure TLinkForm.OnShow(Sender : TFpgtkObject; Data : Pointer);
|
|
|
|
begin
|
|
FocusedWidget(FLinkTarget.entry);
|
|
end;
|
|
|
|
|
|
end. |