| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 | {$mode objfpc}{$h+}unit frmnewnode;interfaceuses fpgtk,gtk,classes,sysutils;Type  TNewNodeForm = Class (TFPGtkWindow)    FTable : TFPGtkTable;    FLENodeName : TFPGtkLabel;    FENodeName : TFPGtkEntry;    FSeparator : TFPGtkHSeparator;    FVBox : TFPgtkVBox;    FOK,    FCancel : TFPGtkButton;    FButtonBox: TFPgtkHBox;    Constructor Create;    Procedure CreateWindow;    Procedure OnShow(Sender : TFpGtkObject;Data : Pointer);  end;Implementationuses  fpdemsg;Constructor TNewNodeForm.Create;begin  Inherited Create(GTK_WINDOW_DIALOG);  CreateWindow;end;Procedure TNewNodeForm.CreateWindow;Var  OH,OV : TgtkAttachOPtions;begin  FVBox:=TFPGtkVBox.Create;  FVBox.Spacing:=4;  FVBox.Border:=8;  Add(FVBox);  // Table area  FTable:=TFPGtkTable.Create(1,1);  FLENodeName:=TFPGtkLabel.Create(SName);  FLENodeName.Justify:=GTK_JUSTIFY_RIGHT;  FENodeName:=TFPgtkEntry.Create;  FENodeName.GrabFocus;  OH:=GTK_EXPAND or GTK_FILL;  FTable.Attach(FLENodeName,0,1,0,1,0,GTK_FILL,4,4);  FTable.Attach(FENodeName,1,2,0,1,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 TNewNodeForm.OnShow(Sender : TFpgtkObject; Data : Pointer);begin  FocusedWidget(FENodeName);end;end.  
 |