fpc/packages/extra/fpgtk/fpgtk.pp

12086 lines
380 KiB
ObjectPascal

{$mode objfpc}{$h+} {$ifdef win32}{$define gtkwin}{$endif}
UNIT FPgtk;
// Generated with GtkWrite by Luk Vandelaer (version 1.08)
INTERFACE
USES classes, sysutils, gtk, gdk, glib, FPglib;
TYPE
TFPgtkObject = class;
TFPgtkData = class;
TFPgtkAdjustment = class;
TFPgtkToolTips = class;
TFPgtkWidget = class;
TFPgtkGroup = class;
TFPgtkWidgetGroup = class;
TFPgtkMisc = class;
TFPgtkLabel = class;
TFPgtkAccelLabel = class;
TFPgtkTipsQuery = class;
TFPgtkArrow = class;
TFPgtkImage = class;
TFPgtkPixmap = class;
TFPgtkContainer = class;
TFPgtkBin = class;
TFPgtkAlignment = class;
TFPgtkFrame = class;
TFPgtkAspectFrame = class;
TFPgtkButton = class;
TFPgtkToggleButton = class;
TFPgtkCheckButton = class;
TFPgtkRadioButton = class;
TFPgtkRadioButtonGroup = class;
TFPgtkOptionMenu = class;
TFPgtkItem = class;
TFPgtkItemGroup = class;
TFPgtkMenuItem = class;
TFPgtkCheckMenuItem = class;
TFPgtkRadioMenuItem = class;
TFPgtkRadioMenuGroup = class;
TFPgtkTearOffMenuItem = class;
TFPgtkListItem = class;
TFPgtkListItemGroup = class;
TFPgtkTreeItem = class;
TFPgtkWindow = class;
TFPgtkColorSelectionDialog = class;
TFPgtkDialog = class;
TFPgtkInputDialog = class;
TFPgtkFileSelection = class;
TFPgtkFontSelectionDialog = class;
TFPgtkEventBox = class;
TFPgtkHandleBox = class;
TFPgtkScrolledWindow = class;
TFPgtkViewport = class;
TFPgtkBox = class;
TFPgtkButtonBox = class;
TFPgtkHButtonBox = class;
TFPgtkVButtonBox = class;
TFPgtkVBox = class;
TFPgtkColorSelection = class;
TFPgtkGammaCurve = class;
TFPgtkHBox = class;
TFPgtkCombo = class;
TFPgtkStatusbar = class;
TFPgtkCList = class;
TFPgtkCTree = class;
TFPgtkFixed = class;
TFPgtkNotebook = class;
TFPgtkFontSelection = class;
TFPgtkPaned = class;
TFPgtkHPaned = class;
TFPgtkVPaned = class;
TFPgtkLayout = class;
TFPgtkList = class;
TFPgtkMenuShell = class;
TFPgtkMenuBar = class;
TFPgtkMenu = class;
TFPgtkPacker = class;
TFPgtkTable = class;
TFPgtkToolbar = class;
TFPgtkTree = class;
TFPgtkCalendar = class;
TFPgtkDrawingArea = class;
TFPgtkCurve = class;
TFPgtkEditable = class;
TFPgtkEntry = class;
TFPgtkSpinButton = class;
TFPgtkText = class;
TFPgtkRuler = class;
TFPgtkHRuler = class;
TFPgtkVRuler = class;
TFPgtkRange = class;
TFPgtkScale = class;
TFPgtkHScale = class;
TFPgtkVScale = class;
TFPgtkScrollbar = class;
TFPgtkHScrollbar = class;
TFPgtkVScrollbar = class;
TFPgtkSeparator = class;
TFPgtkHSeparator = class;
TFPgtkVSeparator = class;
TFPgtkPreview = class;
TFPgtkProgress = class;
TFPgtkProgressBar = class;
TFPgtkItemFactory = class;
TFPgtkSignalFunction = procedure (Sender:TFPgtkObject; Data:pointer) of Object;
TFPgtkBooleanSignalFunction = procedure (Sender:TFPgtkObject; Bool:boolean; data:pointer) of Object;
FPgtkException = class (Exception) end;
PPascalClassData = ^TPascalClassData;
TPascalClassData = record
TheInstance : TFPgtkObject;
end;
PSignalData = ^TSignalData;
TSignalData = record
TheData : pointer;
TheWidget : TFPgtkObject;
TheSignalProc : TFPgtkSignalFunction;
end;
TDestroyState = (dsAlive, dsWaiting, dsDestroying);
TFPgtkObjectClass = Class of TFPgtkObject;
PFPgtkObject = ^TFPgtkObject;
TFPgtkObject = class
Private
FDestroying : TDestroyState;
PascalInstance:TPascalClassData;
ConvertDatas:TStringList;
SignalDatas:TList;
NotifyList:TList;
function ConvertSignalData (proc:TFPgtkSignalFunction; data:pointer; FreeIt:boolean) : PSignalData;
procedure FreeClass (Sender:TFPgtkObject; Data:pointer);
procedure CheckConvertDatas;
procedure CheckNotifyList;
procedure InitCreate;
procedure FinalCreate;
function GetUserData : pointer;
procedure SetUserData (TheValue : pointer);
Protected
FGtkObject:PGtkObject;
procedure CreateGtkObject; Virtual; Abstract;
procedure NotifyDestroy (AnObject:TFPgtkObject); Virtual;
Public
function TheGtkObject : PGtkObject;
function SignalConnect (Signal:string; Proc:TFPgtkSignalFunction; data:pointer) : guint;
function SignalConnectAfter (Signal:string; Proc:TFPgtkSignalFunction; data:pointer) : guint;
function BooleanSignalConnect (Signal:string; Proc:TFPgtkBooleanSignalFunction; data:pointer) : guint;
function BooleanSignalConnectAfter (Signal:string; Proc:TFPgtkBooleanSignalFunction; data:pointer) : guint;
constructor Create;
constructor CreateFromObject (GtkObject:PGtkObject);
property Destroying : TDestroyState read FDestroying;
procedure AskNotification (AnObject:TFPgtkObject);
destructor Destroy; Override;
function ConnectDestroy (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterDestroy (proc:TFPgtkSignalFunction; data:pointer) : guint;
procedure SignalDisconnect (SignalHandler:guint);
procedure SignalBlockHandler (SignalHandler:guint);
procedure SignalUnblockHandler (SignalHandler:guint);
procedure SignalEmit (aName:string; Args:array of const);
function SignalNEmissions (aName:string) : guint;
procedure SignalEmitStop (aName:string);
procedure SetData (Key:string; Data:pointer);
property UserData : pointer read GetUserData write SetUserData;
procedure SetDataFull (Key:string; Data:pointer; Destroyer:TFPgtkSignalFunction);
procedure RemoveData (Key:string);
function GetData (Key:string) : pointer;
function GtkDestroyed : boolean;
procedure Constructed;
procedure ConstructedDefault;
procedure Sink;
procedure Ref;
procedure Unref;
procedure WeakRef (Notify:TFPgtkSignalFunction; data:pointer);
procedure WeakUnref (notify:TFPgtkSignalFunction; data:pointer);
end;
TFPgtkData = class (TFPgtkObject)
Public
function TheGtkObject : PGtkData;
function ConnectDisconnect (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterDisconnect (proc:TFPgtkSignalFunction; data:pointer) : guint;
end;
TFPgtkAdjustment = class (TFPgtkData)
Private
function GetValue : gfloat;
procedure SetValue (TheValue : gfloat);
function GetLower : gfloat;
procedure SetLower (TheValue : gfloat);
function GetUpper : gfloat;
procedure SetUpper (TheValue : gfloat);
function GetStepIncrement : gfloat;
procedure SetStepIncrement (TheValue : gfloat);
function GetPageIncrement : gfloat;
procedure SetPageIncrement (TheValue : gfloat);
function GetPageSize : gfloat;
procedure SetPageSize (TheValue : gfloat);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkAdjustment;
procedure Configure (aLower:gfloat; anUpper:gfloat; aValue:gfloat; aStepInc:gfloat; aPageInc:gfloat; aPageSize:gfloat);
function ConnectValueChanged (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterValueChanged (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectChanged (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterChanged (proc:TFPgtkSignalFunction; data:pointer) : guint;
procedure ValueChanged;
procedure Changed;
procedure ClampPage (aLower:gfloat; aUpper:gfloat);
property Value : gfloat read GetValue write SetValue;
property Lower : gfloat read GetLower write SetLower;
property Upper : gfloat read GetUpper write SetUpper;
property StepIncrement : gfloat read GetStepIncrement write SetStepIncrement;
property PageIncrement : gfloat read GetPageIncrement write SetPageIncrement;
property PageSize : gfloat read GetPageSize write SetPageSize;
end;
TFPgtkToolTips = class (TFPgtkData)
Private
function GetEnabled : boolean;
procedure SetEnabled (TheValue : boolean);
function GetDelay : integer;
procedure SetDelay (TheValue : integer);
function GetColorForeground : PGdkColor;
procedure SetColorForeground (TheValue : PGdkColor);
function GetColorBackground : PGdkColor;
procedure SetColorBackground (TheValue : PGdkColor);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkToolTips;
procedure SetColors (Fore:PGdkColor; Back:PGdkColor);
procedure SetTip (Widget:TFPgtkWidget; TipText:string; TipPrivate:string);
property Enabled : boolean read GetEnabled write SetEnabled;
property Delay : integer read GetDelay write SetDelay;
property ColorForeground : PGdkColor read GetColorForeground write SetColorForeground;
property ColorBackground : PGdkColor read GetColorBackground write SetColorBackground;
procedure ForceWindow;
end;
TFPgtkWidgetSignalFunction = procedure (Sender:TFPgtkObject; Widget:TFPgtkWidget; Data:pointer) of Object;
TFPgtkEventFunction = function (Sender:TFPgtkWidget; Event:PGdkEvent; data:pointer): boolean of Object;
TFPgtkEventButtonFunction = function (Sender:TFPgtkWidget; Event:PGdkEventButton; data:pointer): boolean of Object;
TFPgtkEventMotionFunction = function (Sender:TFPgtkWidget; Event:PGdkEventMotion; data:pointer): boolean of Object;
TFPgtkEventExposeFunction = function (Sender:TFPgtkWidget; Event:PGdkEventExpose; data:pointer): boolean of Object;
TFPgtkEventKeyFunction = function (Sender:TFPgtkWidget; Event:PGdkEventKey; data:pointer): boolean of Object;
TFPgtkEventCrossingFunction = function (Sender:TFPgtkWidget; Event:PGdkEventCrossing; data:pointer): boolean of Object;
TFPgtkEventConfigureFunction = function (Sender:TFPgtkWidget; Event:PGdkEventConfigure; data:pointer): boolean of Object;
TFPgtkEventFocusFunction = function (Sender:TFPgtkWidget; Event:PGdkEventFocus; data:pointer): boolean of Object;
TFPgtkEventPropertyFunction = function (Sender:TFPgtkWidget; Event:PGdkEventProperty; data:pointer): boolean of Object;
TFPgtkEventSelectionFunction = function (Sender:TFPgtkWidget; Event:PGdkEventSelection; data:pointer): boolean of Object;
TFPgtkEventProximityFunction = function (Sender:TFPgtkWidget; Event:PGdkEventProximity; data:pointer): boolean of Object;
TFPgtkEventClientFunction = function (Sender:TFPgtkWidget; Event:PGdkEventClient; data:pointer): boolean of Object;
TFPgtkEventNoExposeFunction = function (Sender:TFPgtkWidget; Event:PGdkEventNoExpose; data:pointer): boolean of Object;
TFPgtkWidget = class (TFPgtkObject)
Private
function GetTheGtkWidget : PGtkWidget;
procedure SetTheGtkWidget (TheValue : PGtkWidget);
function GetAllocation : TGtkAllocation;
function GetName : string;
procedure SetName (TheValue : string);
function GetPropFlags : longint;
procedure SetPropFlags (TheValue : longint);
function GetState : longint;
function GetSavedState : longint;
function GetParent : TFPgtkWidget;
procedure SetParent (TheValue : TFPgtkWidget);
function GetParentWindow : PGdkWindow;
procedure SetParentWindow (TheValue : PGdkWindow);
procedure Reparent (NewParent:TFPgtkWidget);
function GetVisible : boolean;
procedure SetVisible (TheValue : boolean);
function GetNoWindow : boolean;
procedure SetNoWindow (TheValue : boolean);
function GetRealized : boolean;
procedure SetRealized (TheValue : boolean);
function GetMapped : boolean;
procedure SetMapped (TheValue : boolean);
function GetDrawable : boolean;
function GetIsSensitive : boolean;
function GetSensitive : boolean;
procedure SetSensitive (TheValue : boolean);
function GetParentSensitive : boolean;
procedure SetParentSensitive (TheValue : boolean);
function GetAppPaintable : boolean;
function GetCanFocus : boolean;
procedure SetCanFocus (TheValue : boolean);
function GetHasFocus : boolean;
function GetCanDefault : boolean;
procedure SetCanDefault (TheValue : boolean);
function GetHasDefault : boolean;
function GetReceivesDefault : boolean;
function GetCompositeChild : boolean;
function GetTooltip : string;
procedure SetTooltip (TheValue : string);
function GetColormap : PGdkColormap;
procedure SetColormap (TheValue : PGdkColormap);
Protected
procedure SetFlags (NewFlags:longint);
procedure UnsetFlags (NewUnsetFlags:longint);
procedure Map;
procedure Unmap;
procedure QueueDraw;
procedure QueueResize;
procedure DrawFocus;
procedure DrawDefault;
Public
function TheGtkObject : PGtkWidget;
property TheGtkWidget : PGtkWidget read GetTheGtkWidget write SetTheGtkWidget;
function WidgetSignalConnect (Signal:string; Proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
function WidgetSignalConnectAfter (Signal:string; Proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
procedure Draw (Rectangle:PGdkRectangle); Overload;
procedure Show;
procedure Hide;
procedure Realize;
procedure Unrealize;
procedure ShowNow;
procedure ShowAll;
procedure HideAll;
procedure SetAllocation (AnAllocation:TGtkAllocation); Overload;
procedure SetAllocation (x:integer; y:integer; width:integer; height:integer); Overload;
property Allocation : TGtkAllocation read GetAllocation write SetAllocation;
procedure SetUPosition (x:integer; y:integer);
procedure SetUsize (width:integer; height:integer);
property Name : string read GetName write SetName;
property Flags : longint read GetPropFlags write SetPropFlags;
property State : longint read GetState;
property SavedState : longint read GetSavedState;
property Parent : TFPgtkWidget read GetParent write SetParent;
property ParentWindow : PGdkWindow read GetParentWindow write SetParentWindow;
procedure Unparent;
property Visible : boolean read GetVisible write SetVisible;
property NoWindow : boolean read GetNoWindow write SetNoWindow;
property Realized : boolean read GetRealized write SetRealized;
property Mapped : boolean read GetMapped write SetMapped;
property Drawable : boolean read GetDrawable;
property IsSensitive : boolean read GetIsSensitive;
property Sensitive : boolean read GetSensitive write SetSensitive;
property ParentSensitive : boolean read GetParentSensitive write SetParentSensitive;
property AppPaintable : boolean read GetAppPaintable;
property CanFocus : boolean read GetCanFocus write SetCanFocus;
procedure GrabFocus;
property HasFocus : boolean read GetHasFocus;
property CanDefault : boolean read GetCanDefault write SetCanDefault;
procedure GrabDefault;
property HasDefault : boolean read GetHasDefault;
property ReceivesDefault : boolean read GetReceivesDefault;
property CompositeChild : boolean read GetCompositeChild;
property Tooltip : string read GetTooltip write SetTooltip;
procedure HideOnDelete;
property Colormap : PGdkColormap read GetColormap write SetColormap;
function ConnectShow (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterShow (proc:TFPgtkSignalFunction; data:pointer) : guint;
function Connecthide (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterhide (proc:TFPgtkSignalFunction; data:pointer) : guint;
function Connectmap (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAftermap (proc:TFPgtkSignalFunction; data:pointer) : guint;
function Connectunmap (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterunmap (proc:TFPgtkSignalFunction; data:pointer) : guint;
function Connectrealize (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterrealize (proc:TFPgtkSignalFunction; data:pointer) : guint;
function Connectunrealize (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterunrealize (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectDrawFocus (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterDrawFocus (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectDrawDefault (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterDrawDefault (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectParentSet (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
function ConnectAfterParentSet (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
function ConnectGrabFocus (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterGrabFocus (proc:TFPgtkSignalFunction; data:pointer) : guint;
function EventConnect (Signal:string; Proc:TFPgtkEventFunction; data:pointer) : guint;
function EventConnectAfter (Signal:string; Proc:TFPgtkEventFunction; data:pointer) : guint;
function ConnectEvent (proc:TFPgtkEventFunction; data:pointer) : guint;
function ConnectAfterEvent (proc:TFPgtkEventFunction; data:pointer) : guint;
function EventButtonConnect (Signal:string; Proc:TFPgtkEventButtonFunction; data:pointer) : guint;
function EventButtonConnectAfter (Signal:string; Proc:TFPgtkEventButtonFunction; data:pointer) : guint;
function ConnectButtonPressEvent (proc:TFPgtkEventButtonFunction; data:pointer) : guint;
function ConnectAfterButtonPressEvent (proc:TFPgtkEventButtonFunction; data:pointer) : guint;
function ConnectButtonReleaseEvent (proc:TFPgtkEventButtonFunction; data:pointer) : guint;
function ConnectAfterButtonReleaseEvent (proc:TFPgtkEventButtonFunction; data:pointer) : guint;
function EventMotionConnect (Signal:string; Proc:TFPgtkEventMotionFunction; data:pointer) : guint;
function EventMotionConnectAfter (Signal:string; Proc:TFPgtkEventMotionFunction; data:pointer) : guint;
function ConnectMotionNotifyEvent (proc:TFPgtkEventMotionFunction; data:pointer) : guint;
function ConnectAfterMotionNotifyEvent (proc:TFPgtkEventMotionFunction; data:pointer) : guint;
function ConnectDeleteEvent (proc:TFPgtkEventFunction; data:pointer) : guint;
function ConnectAfterDeleteEvent (proc:TFPgtkEventFunction; data:pointer) : guint;
function ConnectDestroyEvent (proc:TFPgtkEventFunction; data:pointer) : guint;
function ConnectAfterDestroyEvent (proc:TFPgtkEventFunction; data:pointer) : guint;
function EventExposeConnect (Signal:string; Proc:TFPgtkEventExposeFunction; data:pointer) : guint;
function EventExposeConnectAfter (Signal:string; Proc:TFPgtkEventExposeFunction; data:pointer) : guint;
function ConnectExposeEvent (proc:TFPgtkEventExposeFunction; data:pointer) : guint;
function ConnectAfterExposeEvent (proc:TFPgtkEventExposeFunction; data:pointer) : guint;
function EventKeyConnect (Signal:string; Proc:TFPgtkEventKeyFunction; data:pointer) : guint;
function EventKeyConnectAfter (Signal:string; Proc:TFPgtkEventKeyFunction; data:pointer) : guint;
function ConnectKeyPressEvent (proc:TFPgtkEventKeyFunction; data:pointer) : guint;
function ConnectAfterKeyPressEvent (proc:TFPgtkEventKeyFunction; data:pointer) : guint;
function ConnectKeyReleaseEvent (proc:TFPgtkEventKeyFunction; data:pointer) : guint;
function ConnectAfterKeyReleaseEvent (proc:TFPgtkEventKeyFunction; data:pointer) : guint;
function EventCrossingConnect (Signal:string; Proc:TFPgtkEventCrossingFunction; data:pointer) : guint;
function EventCrossingConnectAfter (Signal:string; Proc:TFPgtkEventCrossingFunction; data:pointer) : guint;
function ConnectEnterNotifyEvent (proc:TFPgtkEventCrossingFunction; data:pointer) : guint;
function ConnectAfterEnterNotifyEvent (proc:TFPgtkEventCrossingFunction; data:pointer) : guint;
function ConnectLeaveNotifyEvent (proc:TFPgtkEventCrossingFunction; data:pointer) : guint;
function ConnectAfterLeaveNotifyEvent (proc:TFPgtkEventCrossingFunction; data:pointer) : guint;
function EventConfigureConnect (Signal:string; Proc:TFPgtkEventConfigureFunction; data:pointer) : guint;
function EventConfigureConnectAfter (Signal:string; Proc:TFPgtkEventConfigureFunction; data:pointer) : guint;
function ConnectConfigureEvent (proc:TFPgtkEventConfigureFunction; data:pointer) : guint;
function ConnectAfterConfigureEvent (proc:TFPgtkEventConfigureFunction; data:pointer) : guint;
function EventFocusConnect (Signal:string; Proc:TFPgtkEventFocusFunction; data:pointer) : guint;
function EventFocusConnectAfter (Signal:string; Proc:TFPgtkEventFocusFunction; data:pointer) : guint;
function ConnectFocusInEvent (proc:TFPgtkEventFocusFunction; data:pointer) : guint;
function ConnectAfterFocusInEvent (proc:TFPgtkEventFocusFunction; data:pointer) : guint;
function ConnectFocusOutEvent (proc:TFPgtkEventFocusFunction; data:pointer) : guint;
function ConnectAfterFocusOutEvent (proc:TFPgtkEventFocusFunction; data:pointer) : guint;
function ConnectMapEvent (proc:TFPgtkEventFunction; data:pointer) : guint;
function ConnectAfterMapEvent (proc:TFPgtkEventFunction; data:pointer) : guint;
function ConnectUnmapEvent (proc:TFPgtkEventFunction; data:pointer) : guint;
function ConnectAfterUnmapEvent (proc:TFPgtkEventFunction; data:pointer) : guint;
function EventPropertyConnect (Signal:string; Proc:TFPgtkEventPropertyFunction; data:pointer) : guint;
function EventPropertyConnectAfter (Signal:string; Proc:TFPgtkEventPropertyFunction; data:pointer) : guint;
function ConnectPropertyNotifyEvent (proc:TFPgtkEventPropertyFunction; data:pointer) : guint;
function ConnectAfterPropertyNotifyEvent (proc:TFPgtkEventPropertyFunction; data:pointer) : guint;
function EventSelectionConnect (Signal:string; Proc:TFPgtkEventSelectionFunction; data:pointer) : guint;
function EventSelectionConnectAfter (Signal:string; Proc:TFPgtkEventSelectionFunction; data:pointer) : guint;
function ConnectSelectionClearEvent (proc:TFPgtkEventSelectionFunction; data:pointer) : guint;
function ConnectAfterSelectionClearEvent (proc:TFPgtkEventSelectionFunction; data:pointer) : guint;
function ConnectSelectionRequestEvent (proc:TFPgtkEventSelectionFunction; data:pointer) : guint;
function ConnectAfterSelectionRequestEvent (proc:TFPgtkEventSelectionFunction; data:pointer) : guint;
function ConnectSelectionNotifyEvent (proc:TFPgtkEventSelectionFunction; data:pointer) : guint;
function ConnectAfterSelectionNotifyEvent (proc:TFPgtkEventSelectionFunction; data:pointer) : guint;
function EventProximityConnect (Signal:string; Proc:TFPgtkEventProximityFunction; data:pointer) : guint;
function EventProximityConnectAfter (Signal:string; Proc:TFPgtkEventProximityFunction; data:pointer) : guint;
function ConnectProximityInEvent (proc:TFPgtkEventProximityFunction; data:pointer) : guint;
function ConnectAfterProximityInEvent (proc:TFPgtkEventProximityFunction; data:pointer) : guint;
function ConnectProximityOutEvent (proc:TFPgtkEventProximityFunction; data:pointer) : guint;
function ConnectAfterProximityOutEvent (proc:TFPgtkEventProximityFunction; data:pointer) : guint;
function EventClientConnect (Signal:string; Proc:TFPgtkEventClientFunction; data:pointer) : guint;
function EventClientConnectAfter (Signal:string; Proc:TFPgtkEventClientFunction; data:pointer) : guint;
function ConnectClientEvent (proc:TFPgtkEventClientFunction; data:pointer) : guint;
function ConnectAfterClientEvent (proc:TFPgtkEventClientFunction; data:pointer) : guint;
function EventNoExposeConnect (Signal:string; Proc:TFPgtkEventNoExposeFunction; data:pointer) : guint;
function EventNoExposeConnectAfter (Signal:string; Proc:TFPgtkEventNoExposeFunction; data:pointer) : guint;
function ConnectNoExposeEvent (proc:TFPgtkEventNoExposeFunction; data:pointer) : guint;
function ConnectAfterNoExposeEvent (proc:TFPgtkEventNoExposeFunction; data:pointer) : guint;
function ConnectVisibilityNotifyEvent (proc:TFPgtkEventFunction; data:pointer) : guint;
function ConnectAfterVisibilityNotifyEvent (proc:TFPgtkEventFunction; data:pointer) : guint;
procedure LockAccelerators;
procedure UnlockAccelerators;
procedure RemoveAccelerators (aSignal:string; OnlyVisible:boolean);
procedure ActivateAccelGroups (Key:guint; Mods:TGdkModifierType);
procedure AcceleratorAdd (AG:PGtkAccelGroup; aSignal:string; Key:guint; Mods:TGdkModifierType; acFlags:TGtkAccelFlags); Overload;
end;
TFPgtkForEachProcedure = procedure (item : pointer; data : pointer) of object;
TFPgtkGroup = class (TList)
Private
FManageLists : boolean;
FListChanged:boolean;
FSListChanged:boolean;
FClassesChanged:boolean;
FNotUpdating:boolean;
FGList:PGList;
FGSList:PGSList;
procedure FreeList;
procedure FreeSList;
function CreateGList : PGList;
function CreateGSList : PGSList;
function GetGtkListProp : PGList;
procedure SetGtkListProp (TheValue : PGList);
function GetGtkSListProp : PGSList;
procedure SetGtkSListProp (TheValue : PGSList);
Protected
procedure BuildFromGtkList;
procedure BuildFromGtkSList;
procedure Notify (ptr:pointer; Action:TListNotification); Override;
function GetData (index:integer) : pointer; Dynamic;
function UngetData (data:pointer) : pointer; Dynamic;
Public
property ManageLists : boolean read FManageLists write FManageLists;
constructor Create;
destructor Destroy; Override;
function GetGtkList (buffered:boolean) : PGList;
function GetGtkSList (buffered:boolean) : PGSList;
procedure BeginUpdate;
procedure EndUpdate;
procedure ForEach (Proc:TFPgtkForEachProcedure; data:pointer);
property GtkList : PGList read GetGtkListProp write SetGtkListProp;
property GtkSList : PGSList read GetGtkSListProp write SetGtkSListProp;
end;
TFPgtkWidgetGroup = class (TFPgtkGroup)
Private
function GetItem(Index:integer) : TFPgtkWidget;
procedure SetItem (Index:integer; TheValue : TFPgtkWidget);
function GetTooltips(index:integer) : string;
procedure SetTooltips (index:integer; TheValue : string);
Public
function GetData (index:integer) : pointer; Override;
function UnGetData (data:pointer) : pointer; Override;
procedure AddToContainer (Container:TFPgtkContainer);
procedure PackInBox (box:TFPgtkBox; AtStart:boolean; Expanding:boolean; Fill:boolean; Padding:integer);
property Items [Index:integer] : TFPgtkWidget read GetItem write SetItem;
property Tooltips [index:integer] : string read GetTooltips write SetTooltips;
end;
TFPgtkMisc = class (TFPgtkWidget)
Private
function GetXAlign : gfloat;
procedure SetXAlign (TheValue : gfloat);
function GetYAlign : gfloat;
procedure SetYAlign (TheValue : gfloat);
function GetXPad : word;
procedure SetXPad (TheValue : word);
function GetYPad : word;
procedure SetYPad (TheValue : word);
Public
function TheGtkObject : PGtkMisc;
procedure SetAlignment (x:gfloat; y:gfloat);
procedure SetPadding (x:word; y:word);
property XAlign : gfloat read GetXAlign write SetXAlign;
property YAlign : gfloat read GetYAlign write SetYAlign;
property XPad : word read GetXPad write SetXPad;
property YPad : word read GetYPad write SetYPad;
end;
TFPgtkLabelClass = class of TFPgtkLabel;
TFPgtkLabel = class (TFPgtkMisc)
Private
function GetText : string;
procedure SetText (TheValue : string);
function GetPattern : string;
procedure SetPattern (TheValue : string);
function GetJustify : TGtkJustification;
procedure SetJustify (TheValue : TGtkJustification);
function GetLineWrap : boolean;
procedure SetLineWrap (TheValue : boolean);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkLabel;
constructor Create (aText:string);
property Text : string read GetText write SetText;
property Pattern : string read GetPattern write SetPattern;
property Justify : TGtkJustification read GetJustify write SetJustify;
property LineWrap : boolean read GetLineWrap write SetLineWrap;
function ParseUline (aText:string) : guint;
end;
TFPgtkAccelLabel = class (TFPgtkLabel)
Private
function GetAccelWidget : TFPgtkWidget;
procedure SetAccelWidget (TheValue : TFPgtkWidget);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkAccelLabel;
property AccelWidget : TFPgtkWidget read GetAccelWidget write SetAccelWidget;
function AccelText : string;
procedure Refetch;
end;
TFPgtkTipsQuery = class (TFPgtkLabel)
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkTipsQuery;
end;
TFPgtkArrow = class (TFPgtkMisc)
Private
function GetArrowType : TGtkArrowType;
procedure SetArrowType (TheValue : TGtkArrowType);
function GetShadowType : TGtkShadowType;
procedure SetShadowType (TheValue : TGtkShadowType);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkArrow;
property ArrowType : TGtkArrowType read GetArrowType write SetArrowType;
property ShadowType : TGtkShadowType read GetShadowType write SetShadowType;
procedure SetTypes (AnArrowType:TGtkArrowType; AShadowtype:TGtkShadowType);
constructor Create (AnArrowType:TGtkArrowType; AShadowType:TGtkShadowType);
end;
TFPgtkImage = class (TFPgtkMisc)
Private
function GetImageProp : PGdkImage;
procedure SetImageProp (TheValue : PGdkImage);
function GetMask : PGdkBitMap;
procedure SetMask (TheValue : PGdkBitMap);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkImage;
FMask:PGdkBitMap;
FImage:PGdkImage;
property Image : PGdkImage read GetImageProp write SetImageProp;
property Mask : PGdkBitMap read GetMask write SetMask;
procedure SetImage (anImage:PGdkImage; aMask:PGdkBitmap);
constructor Create (anImage:PGdkImage; aMask:PGdkBitmap);
end;
TStringArray = array[0..32000] of pgchar;
PStringArray = ^TStringArray;
TFPgtkPixmap = class (TFPgtkMisc)
Private
function GetBuildInsensitive : longbool;
procedure SetBuildInsensitive (TheValue : longbool);
function GetPixmapProp : PGdkPixMap;
procedure SetPixmapProp (TheValue : PGdkPixMap);
function GetMask : PGdkBitMap;
procedure SetMask (TheValue : PGdkBitMap);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkPixmap;
FMask:PGdkBitMap;
FPixMap:PGdkPixmap;
property BuildInsensitive : longbool read GetBuildInsensitive write SetBuildInsensitive;
constructor Create;
constructor CreateFromFile (Filename:string; Window:TFPgtkWidget);
constructor CreateFromStrings (Data:TStrings; Window:TFPgtkWidget);
constructor CreateFromText (Data:string; Window:TFPgtkWidget);
property PixMap : PGdkPixMap read GetPixmapProp write SetPixmapProp;
property Mask : PGdkBitMap read GetMask write SetMask;
procedure SetPixmap (aPixmap:PGdkPixMap; aMask:PGdkBitmap);
procedure GetPixmap (var aPixmap:PGdkPixmap; var aMask:PGdkBitmap);
procedure LoadFromFile (Filename:string);
procedure LoadFromStrings (data:TStrings);
procedure LoadFromText (data:string);
procedure LoadFromArray (data:array of string);
end;
TFPgtkDirectionFunctionSignalFunction = function (Sender:TFPgtkObject; Direction:TGtkDirectionType; data:pointer): TGtkDirectionType of Object;
TFPgtkContainer = class (TFPgtkWidget)
Private
function GetBorder : integer;
procedure SetBorder (TheValue : integer);
function GetChildren : TFPgtkWidgetGroup;
Public
function TheGtkObject : PGtkContainer;
FChildren:TFPgtkWidgetGroup;
property Border : integer read GetBorder write SetBorder;
procedure Add (AWidget:TFPgtkWidget; IsVisible:boolean); Overload;
procedure Add (AWidget:TFPgtkWidget); Overload;
procedure Remove (AWidget:TFPgtkWidget);
constructor Create;
destructor Destroy; Override;
property Children : TFPgtkWidgetGroup read GetChildren;
procedure Focus (Direction:TGtkDirectionType);
procedure FocusChild (Child:TFPgtkWidget);
procedure RegisterToplevel;
procedure UnregisterToplevel;
procedure ResizeChildren;
function DirectionFunctionSignalConnect (Signal:string; Proc:TFPgtkDirectionFunctionSignalFunction; data:pointer) : guint;
function DirectionFunctionSignalConnectAfter (Signal:string; Proc:TFPgtkDirectionFunctionSignalFunction; data:pointer) : guint;
function ConnectAdd (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
function ConnectAfterAdd (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
function ConnectRemove (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
function ConnectAfterRemove (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
function ConnectCheckResize (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterCheckResize (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectFocus (proc:TFPgtkDirectionFunctionSignalFunction; data:pointer) : guint;
function ConnectAfterFocus (proc:TFPgtkDirectionFunctionSignalFunction; data:pointer) : guint;
function ConnectSetFocusChild (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
function ConnectAfterSetFocusChild (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
end;
TFPgtkBin = class (TFPgtkContainer)
Private
function GetChild : TFPgtkWidget;
procedure SetChild (TheValue : TFPgtkWidget);
Protected
property Child : TFPgtkWidget read GetChild write SetChild;
Public
function TheGtkObject : PGtkBin;
end;
TFPgtkAlignment = class (TFPgtkBin)
Public
function TheGtkObject : PGtkAlignment;
procedure Configure (anXAlign:gfloat; anYAlign:gfloat; anXScale:gfloat; anYScale:gfloat);
end;
TFPgtkFrame = class (TFPgtkBin)
Private
function GetText : string;
procedure SetText (TheValue : string);
function GetAlignment : gfloat;
procedure SetAlignment (TheValue : gfloat);
function GetShadowType : TgtkShadowType;
procedure SetShadowType (TheValue : TgtkShadowType);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkFrame;
property Text : string read GetText write SetText;
property Alignment : gfloat read GetAlignment write SetAlignment;
property ShadowType : TgtkShadowType read GetShadowType write SetShadowType;
end;
TFPgtkAspectFrame = class (TFPgtkFrame)
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkAspectFrame;
procedure Configure (anXAlign:gfloat; anYAlign:gfloat; Ratio:gfloat; ObeyChild:longbool);
end;
TFPgtkButton = class (TFPgtkBin)
Private
FAccelKey : guint;
FAddContainer : TFPgtkContainer;
FLabel : TFPgtkLabel;
procedure CreateLabel (aText:string);
function GetText : string;
procedure SetText (TheValue : string);
function GetReliefStyle : TGtkReliefStyle;
procedure SetReliefStyle (TheValue : TGtkReliefStyle);
Protected
procedure CreateGtkObject; override;
function LabelClass : TFPgtkLabelClass; Virtual;
procedure NotifyDestroy (AnObject:TFPgtkObject); Override;
procedure LabelCreated; Virtual;
Public
function TheGtkObject : PGtkButton;
function ConnectClicked (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterClicked (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectPressed (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterPressed (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectReleased (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterReleased (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectEnter (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterEnter (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectLeave (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterLeave (proc:TFPgtkSignalFunction; data:pointer) : guint;
procedure Clicked;
procedure Pressed;
procedure Released;
procedure Enter;
procedure Leave;
constructor Create;
constructor CreateWithLabel (aText:string); Overload;
constructor CreateWithLabel (aText:string; AccelGroup:PGtkAccelGroup); Overload;
property TheLabel : TFPgtkLabel read FLabel;
property Text : string read GetText write SetText;
property ReliefStyle : TGtkReliefStyle read GetReliefStyle write SetReliefStyle;
property AddContainer : TFPgtkContainer read FAddContainer write FAddContainer;
property AccelKey : guint read FAccelKey;
end;
TFPgtkToggleButton = class (TFPgtkButton)
Private
function GetActive : boolean;
procedure SetActive (TheValue : boolean);
function GetDrawIndicator : boolean;
procedure SetDrawIndicator (TheValue : boolean);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkToggleButton;
function ConnectToggled (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterToggled (proc:TFPgtkSignalFunction; data:pointer) : guint;
procedure Toggled;
property Active : boolean read GetActive write SetActive;
property DrawIndicator : boolean read GetDrawIndicator write SetDrawIndicator;
end;
TFPgtkCheckButton = class (TFPgtkToggleButton)
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkCheckButton;
end;
TFPgtkRadioButton = class (TFPgtkCheckButton)
Protected
procedure CreateGtkObject; Override;
Public
function TheGtkObject : PGtkRadioButton;
FGroup:TFPgtkRadioButtonGroup;
constructor Create (AGroup:TFPgtkRadioButtonGroup);
constructor CreateWithLabel (AGroup:TFPgtkRadioButtonGroup; aText:string);
end;
TFPgtkRadioButtonGroup = class (TFPgtkWidgetGroup)
Private
function GetItem(index:integer) : TFPgtkRadioButton;
procedure SetItem (index:integer; TheValue : TFPgtkRadioButton);
Public
property Items [index:integer] : TFPgtkRadioButton read GetItem write SetItem;
function ActiveButtonText : string;
function ActiveButtonIndex : integer;
function ActiveButton : TFPgtkRadioButton;
end;
TFPgtkOptionMenu = class (TFPgtkButton)
Private
function GetMenu : TFPgtkMenu;
procedure setmenu (TheValue : TFPgtkMenu);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkOptionMenu;
property Menu : TFPgtkMenu read GetMenu write setmenu;
procedure RemoveMenu;
procedure SetHistory (index:integer);
procedure Clear;
end;
TFPgtkItemClass = class of TFPgtkItem;
TFPgtkItem = class (TFPgtkBin)
Private
FAccelKey : guint;
FAddContainer : TFPgtkContainer;
FLabel : TFPgtkLabel;
procedure CreateLabel (aText:string);
function GetText : string;
procedure SetText (TheValue : string);
Protected
function LabelClass : TFPgtkLabelClass; Virtual;
procedure NotifyDestroy (AnObject:TFPgtkObject); Override;
procedure LabelCreated; Virtual;
Public
function TheGtkObject : PGtkItem;
function ConnectSelect (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterSelect (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectDeselect (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterDeselect (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectToggle (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterToggle (proc:TFPgtkSignalFunction; data:pointer) : guint;
procedure Select;
procedure Deselect;
procedure Toggle;
constructor Create;
constructor CreateWithLabel (aText:string);
property TheLabel : TFPgtkLabel read FLabel;
property Text : string read GetText write SetText;
property AddContainer : TFPgtkContainer read FAddContainer write FAddContainer;
property AccelKey : guint read FAccelKey;
end;
TFPgtkItemGroup = class (TFPgtkWidgetGroup)
Private
FItemClass : TFPgtkItemClass;
function GetItem(index:integer) : TFPgtkItem;
procedure SetItem (index:integer; TheValue : TFPgtkItem);
Public
property Items [index:integer] : TFPgtkItem read GetItem write SetItem;
procedure FillFromList (aList:TStrings);
procedure FillFromCommaText (aList:string);
procedure FillFromArray (aList:array of string);
property ItemClass : TFPgtkItemClass read FItemClass write FItemClass;
procedure SignalConnect (Signal:string; proc:TFPgtkSignalFunction; data:pointer);
constructor create (AnItemClass:TFPgtkItemClass);
function AddTextItem (aText:string) : TFPgtkItem;
end;
TFPgtkMenuItem = class (TFPgtkItem)
Private
function GetPlacement : TGtkSubmenuPlacement;
procedure SetPlacement (TheValue : TGtkSubmenuPlacement);
function GetToggleIndicator : boolean;
procedure SetToggleIndicator (TheValue : boolean);
function GetSubMenuIndicator : boolean;
procedure SetSubMenuIndicator (TheValue : boolean);
function GetJustifyRight : boolean;
procedure SetJustifyRight (TheValue : boolean);
function GetSubMenu : TFPgtkMenuShell;
procedure SetPropSubMenu (TheValue : TFPgtkMenuShell);
Protected
procedure CreateGtkObject; override;
function LabelClass : TFPgtkLabelClass; Override;
procedure LabelCreated; Override;
Public
function TheGtkObject : PGtkMenuItem;
function ConnectActivate (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectAfterActivate (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectActivateItem (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectAfterActivateItem (proc:TFPgtksignalFunction; data:pointer) : guint;
procedure Activate;
procedure SetSubMenu (aSubMenu:TFPgtkWidget);
procedure RemoveSubMenu;
procedure Configure (ShowToggleIndicator:boolean; ShowSubmenuIndicator:boolean);
procedure RightJustify;
property Placement : TGtkSubmenuPlacement read GetPlacement write SetPlacement;
property ToggleIndicator : boolean read GetToggleIndicator write SetToggleIndicator;
property SubMenuIndicator : boolean read GetSubMenuIndicator write SetSubMenuIndicator;
property JustifyRight : boolean read GetJustifyRight write SetJustifyRight;
property SubMenu : TFPgtkMenuShell read GetSubMenu write SetPropSubMenu;
end;
TFPgtkCheckMenuItem = class (TFPgtkMenuItem)
Private
function GetActive : boolean;
procedure SetActive (TheValue : boolean);
function GetShowToggle : boolean;
procedure SetShowToggle (TheValue : boolean);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkCheckMenuItem;
function ConnectToggled (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectAfterToggled (proc:TFPgtksignalFunction; data:pointer) : guint;
procedure Toggled;
property Active : boolean read GetActive write SetActive;
property ShowToggle : boolean read GetShowToggle write SetShowToggle;
end;
TFPgtkRadioMenuItem = class (TFPgtkCheckMenuItem)
Private
FGroup : TFPgtkRadioMenuGroup;
Protected
procedure CreateGtkObject; Override;
Public
function TheGtkObject : PGtkRadioMenuItem;
constructor Create (AGroup:TFPgtkRadioMenuGroup);
constructor CreateWithLabel (Agroup:TFPgtkRadioMenuGroup; aText:string);
property Group : TFPgtkRadioMenuGroup read FGroup;
end;
TFPgtkRadioMenuGroup = class (TFPgtkItemGroup)
Private
function GetItem(index:integer) : TFPgtkRadioMenuItem;
procedure SetItem (index:integer; TheValue : TFPgtkRadioMenuItem);
Public
property Items [index:integer] : TFPgtkRadioMenuItem read GetItem write SetItem;
function ActiveMenuText : string;
function ActiveMenuIndex : integer;
function ActiveMenu : TFPgtkRadioMenuItem;
constructor create;
end;
TFPgtkTearOffMenuItem = class (TFPgtkMenuItem)
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkTearOffMenuItem;
end;
TFPgtkScrollSignalFunction = procedure (Sender:TFPgtkObject; ScrollType:TgtkScrollType; position:gfloat; data:pointer) of Object;
TFPgtkScrollBooleanSignalFunction = procedure (Sender:TFPgtkObject; ScrolType:TgtkScrollType; Position:gfloat; AutoStartSelection:boolean; data:pointer) of Object;
TFPgtkListItem = class (TFPgtkItem)
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkListItem;
function ScrollSignalConnect (Signal:string; Proc:TFPgtkScrollSignalFunction; data:pointer) : guint;
function ScrollSignalConnectAfter (Signal:string; Proc:TFPgtkScrollSignalFunction; data:pointer) : guint;
function ScrollBooleanSignalConnect (Signal:string; Proc:TFPgtkScrollBooleanSignalFunction; data:pointer) : guint;
function ScrollBooleanSignalConnectAfter (Signal:string; Proc:TFPgtkScrollBooleanSignalFunction; data:pointer) : guint;
function ConnectToggleFocusRow (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterToggleFocusRow (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectSelectAll (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterSelectAll (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectUnselectAll (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterUnselectAll (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectUndoSelection (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterUndoSelection (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectStartSelection (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterStartSelection (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectEndSelection (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterEndSelection (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectToggleAddMode (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterToggleAddMode (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectExtendSelection (proc:TFPgtkScrollBooleanSignalFunction; data:pointer) : guint;
function ConnectAfterExtendSelection (proc:TFPgtkScrollBooleanSignalFunction; data:pointer) : guint;
function ConnectScrollVertical (proc:TFPgtkScrollSignalFunction; data:pointer) : guint;
function ConnectAfterScrollVertical (proc:TFPgtkScrollSignalFunction; data:pointer) : guint;
function ConnectScrollHorizontal (proc:TFPgtkScrollSignalFunction; data:pointer) : guint;
function ConnectAfterScrollHorizontal (proc:TFPgtkScrollSignalFunction; data:pointer) : guint;
procedure Select;
procedure Deselect;
end;
TFPgtkListItemGroup = class (TFPgtkItemGroup)
Public
constructor create;
end;
TFPgtkTreeItem = class (TFPgtkItem)
Private
function GetSubTree : TFPgtkWidget;
procedure SetSubTree (TheValue : TFPgtkWidget);
function GetPixPlus : TFPgtkWidget;
function GetPixMinus : TFPgtkWidget;
function GetExpanded : boolean;
procedure SetExpanded (TheValue : boolean);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkTreeItem;
property SubTree : TFPgtkWidget read GetSubTree write SetSubTree;
property PixPlus : TFPgtkWidget read GetPixPlus;
property PixMinus : TFPgtkWidget read GetPixMinus;
property Expanded : boolean read GetExpanded write SetExpanded;
procedure Select;
procedure Deselect;
procedure Expand;
procedure Collapse;
function ConnectCollapse (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterCollapse (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectExpand (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterExpand (proc:TFPgtkSignalFunction; data:pointer) : guint;
end;
DialogResultCallback = procedure (Sender:TFPgtkWindow; DialogResult:pointer;
Action:integer; initiator:TFPgtkObject) of object;
DialogInitCallback = procedure (Sender : TFPgtkWindow; InitData : pointer) of object;
TFPgtkWindowClass = class of TFPgtkWindow;
TFPgtkWindow = class (TFPgtkBin)
Private
FAccelGroups:TList;
FMainLevel : guint;
FModalAction : integer;
FOnDialogInit : DialogInitCallback;
FOnDialogResult : DialogResultCallback;
FDialogResult : pointer;
TheWindowType:TGtkWindowType;
function GetWindowType : TGtkWindowType;
procedure SetWindowType (TheValue : TGtkWindowType);
function GetTitle : string;
procedure SetTitle (TheValue : string);
function GetModal : boolean;
procedure SetModal (TheValue : boolean);
procedure SetModalAction (TheValue : integer);
procedure ExecuteEnds (Sender:TFPgtkObject; data:pointer);
function GetUserSizable : boolean;
procedure SetUserSizable (TheValue : boolean);
function GetPosition : TGtkWindowPosition;
procedure SetPosition (TheValue : TGtkWindowPosition);
function GetAccelGroups(ID:integer) : PGtkAccelGroup;
Protected
procedure CreateGtkObject; override;
property DialogResult : pointer read FDialogResult write FDialogResult;
procedure DoDialogResult (Action:integer; Sender:TFPgtkObject); Virtual;
procedure DoDialogInit (InitData:pointer); Virtual;
Public
function TheGtkObject : PGtkWindow;
constructor Create (AType:TGtkWindowType);
destructor Destroy; Override;
property WindowType : TGtkWindowType read GetWindowType write SetWindowType;
property Title : string read GetTitle write SetTitle;
property Modal : boolean read GetModal write SetModal;
property OnDialogResult : DialogResultCallback read FOnDialogResult write FOnDialogResult;
property OnDialogInit : DialogInitCallback read FOnDialogInit write FOnDialogInit;
procedure Close;
procedure CloseWindow (Sender:TFPgtkObject; data:pointer);
procedure CloseWithResult (Sender:TFPgtkObject; data:pointer);
property ModalAction : integer read FModalAction write SetModalAction;
property MainLevel : guint read FMainLevel;
function Execute (anOnDialogInit:DialogInitCallBack; anInitData:pointer; anOnDialogResult:DialogResultCallBack) : integer;
function ConnectSetFocus (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
function ConnectAfterSetFocus (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
procedure SetTransientFor (aParent:TFPgtkWindow);
procedure DefaultWidget (Widget:TFPgtkWidget);
procedure FocusedWidget (NewFocus:TFPgtkWidget);
property UserSizable : boolean read GetUserSizable write SetUserSizable;
procedure ActivateFocus;
procedure ActivateDefault;
procedure SetDefaultSize (Width:gint; Height:gint);
property Position : TGtkWindowPosition read GetPosition write SetPosition;
property AccelGroups [ID:integer] : PGtkAccelGroup read GetAccelGroups;
function AccelGroupNew : integer;
procedure AccelGroupDelete (ID:integer);
procedure AcceleratorAdd (AG:integer; aWidget:TFPgtkWidget; aSignal:string; Key:guint; Mods:TGdkModifierType; acFlags:TGtkAccelFlags); Overload;
procedure AcceleratorRemove (AG:integer; aWidget:TFPgtkWidget; Key:guint; Mods:TGdkModifierType); Overload;
procedure AccelGroupLock (AG:integer);
procedure AccelGroupUnlock (AG:integer);
procedure AccelGroupActivate (AG:integer; Key:guint; Mods:TGdkModifierType);
end;
TFPgtkColorSelectionDialog = class (TFPgtkWindow)
Private
function GetColorSel : TFPgtkColorSelection;
function GetButtonOK : TFPgtkButton;
function GetButtonCancel : TFPgtkButton;
function GetButtonHelp : TFPgtkButton;
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkColorSelectionDialog;
property ColorSel : TFPgtkColorSelection read GetColorSel;
property ButtonOK : TFPgtkButton read GetButtonOK;
property ButtonCancel : TFPgtkButton read GetButtonCancel;
property ButtonHelp : TFPgtkButton read GetButtonHelp;
end;
TFPgtkDialog = class (TFPgtkWindow)
Private
function GetActionArea : TFPgtkHBox;
function GetVBox : TFPgtkVBox;
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkDialog;
property ActionArea : TFPgtkHBox read GetActionArea;
property VBox : TFPgtkVBox read GetVBox;
constructor create;
end;
TFPgtkDeviceSignalFunction = procedure (Sender:TFPgtkInputDialog; DeviceID:integer; Data:pointer) of Object;
TFPgtkInputDialog = class (TFPgtkDialog)
Private
function GetButtonClose : TFPgtkButton;
function GetButtonSave : TFPgtkButton;
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkInputDialog;
property ButtonClose : TFPgtkButton read GetButtonClose;
property ButtonSave : TFPgtkButton read GetButtonSave;
function DeviceSignalConnect (Signal:string; Proc:TFPgtkDeviceSignalFunction; data:pointer) : guint;
function DeviceSignalConnectAfter (Signal:string; Proc:TFPgtkDeviceSignalFunction; data:pointer) : guint;
function ConnectEnableDevice (proc:TFPgtkDeviceSignalFunction; data:pointer) : guint;
function ConnectAfterEnableDevice (proc:TFPgtkDeviceSignalFunction; data:pointer) : guint;
function ConnectDisableDevice (proc:TFPgtkDeviceSignalFunction; data:pointer) : guint;
function ConnectAfterDisableDevice (proc:TFPgtkDeviceSignalFunction; data:pointer) : guint;
end;
TFPgtkFileSelection = class (TFPgtkWindow)
Private
function GetFilename : string;
procedure SetFilename (TheValue : string);
function GetDirList : TFPgtkCList;
function GetFileList : TFPgtkCList;
function GetOkButton : TFPgtkButton;
function GetCancelButton : TFPgtkButton;
function GetHistoryPulldown : TFPgtkOptionMenu;
function GetFileOpDialog : TFPgtkDialog;
function GetFileOpCreateDir : TFPgtkButton;
function GetFileOpDelFile : TFPgtkButton;
function GetFileOpRenFile : TFPgtkButton;
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkFileSelection;
property Filename : string read GetFilename write SetFilename;
procedure Complete (Pattern:string);
procedure ShowFileOpButtons;
procedure HideFileOpButtons;
property DirList : TFPgtkCList read GetDirList;
property FileList : TFPgtkCList read GetFileList;
property OkButton : TFPgtkButton read GetOkButton;
property CancelButton : TFPgtkButton read GetCancelButton;
property HistoryPulldown : TFPgtkOptionMenu read GetHistoryPulldown;
property FileOpDialog : TFPgtkDialog read GetFileOpDialog;
property FileOpCreateDir : TFPgtkButton read GetFileOpCreateDir;
property FileOpDelFile : TFPgtkButton read GetFileOpDelFile;
property FileOpRenFile : TFPgtkButton read GetFileOpRenFile;
end;
TFPgtkFontSelectionDialog = class (TFPgtkWindow)
Private
function GetFontSel : TFPgtkFontSelection;
function GetButtonOk : TFPgtkButton;
function GetButtonApply : TFPgtkButton;
function GetButtonCancel : TFPgtkButton;
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkFontSelectionDialog;
property FontSel : TFPgtkFontSelection read GetFontSel;
property ButtonOk : TFPgtkButton read GetButtonOk;
property ButtonApply : TFPgtkButton read GetButtonApply;
property ButtonCancel : TFPgtkButton read GetButtonCancel;
end;
TFPgtkEventBox = class (TFPgtkBin)
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkEventBox;
end;
TFPgtkHandleBox = class (TFPgtkBin)
Private
function GetShadowType : TGtkShadowtype;
procedure SetShadowType (TheValue : TGtkShadowtype);
function GetHandlePosition : TGtkPositionType;
procedure SetHandlePosition (TheValue : TGtkPositionType);
function GetSnapEdge : TGtkPositionType;
procedure SetSnapEdge (TheValue : TGtkPositionType);
function GetChildDetached : boolean;
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkHandleBox;
property ShadowType : TGtkShadowtype read GetShadowType write SetShadowType;
property HandlePosition : TGtkPositionType read GetHandlePosition write SetHandlePosition;
property SnapEdge : TGtkPositionType read GetSnapEdge write SetSnapEdge;
property ChildDetached : boolean read GetChildDetached;
function ConnectChildAttached (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
function ConnectAfterChildAttached (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
function ConnectChildDetached (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
function ConnectAfterChildDetached (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
end;
TFPgtkScrolledWindow = class (TFPgtkBin)
Private
FVScroll:TFPgtkAdjustment;
FHScroll:TFPgtkAdjustment;
function GetHPolicy : TGtkPolicyType;
procedure SetHPolicy (TheValue : TGtkPolicyType);
function GetVPolicy : TGtkPolicyType;
procedure SetVPolicy (TheValue : TGtkPolicyType);
function GetHAdjustment : TFPgtkAdjustment;
procedure SetHAdjustment (TheValue : TFPgtkAdjustment);
function GetVAdjustment : TFPgtkAdjustment;
procedure SetVAdjustment (TheValue : TFPgtkAdjustment);
function GetPlacement : TGtkCornerType;
procedure SetPlacement (TheValue : TGtkCornerType);
function GetHScrollbar : TFPgtkScrollbar;
function GetVScrollbar : TFPgtkScrollbar;
Protected
procedure CreateGtkObject; Override;
Public
function TheGtkObject : PGtkScrolledWindow;
constructor Create (hadj:TFPgtkAdjustment; vadj:TFPgtkAdjustment);
property HPolicy : TGtkPolicyType read GetHPolicy write SetHPolicy;
property VPolicy : TGtkPolicyType read GetVPolicy write SetVPolicy;
procedure SetPolicy (aHScrollBar:TGtkPolicyType; aVScrollbar:TGtkPolicyType); Overload;
procedure SetPolicy (aPolicy:TGtkPolicyType); Overload;
property HAdjustment : TFPgtkAdjustment read GetHAdjustment write SetHAdjustment;
property VAdjustment : TFPgtkAdjustment read GetVAdjustment write SetVAdjustment;
procedure AddWithViewport (aChild:TFPgtkWidget);
property Placement : TGtkCornerType read GetPlacement write SetPlacement;
property HScrollbar : TFPgtkScrollbar read GetHScrollbar;
property VScrollbar : TFPgtkScrollbar read GetVScrollbar;
procedure UpdatePolicy (UpdPolicy:TGtkUpdateType);
end;
TFPgtkViewport = class (TFPgtkBin)
Private
FVScroll:TFPgtkAdjustment;
FHScroll:TFPgtkAdjustment;
function GetHAdjustment : TFPgtkAdjustment;
procedure SetHAdjustment (TheValue : TFPgtkAdjustment);
function GetVAdjustment : TFPgtkAdjustment;
procedure SetVAdjustment (TheValue : TFPgtkAdjustment);
function GetShadowType : TgtkShadowType;
procedure SetShadowType (TheValue : TgtkShadowType);
Protected
procedure CreateGtkObject; Override;
Public
function TheGtkObject : PGtkViewport;
constructor Create (hadj:TFPgtkAdjustment; vadj:TFPgtkAdjustment);
property HAdjustment : TFPgtkAdjustment read GetHAdjustment write SetHAdjustment;
property VAdjustment : TFPgtkAdjustment read GetVAdjustment write SetVAdjustment;
property ShadowType : TgtkShadowType read GetShadowType write SetShadowType;
end;
TFPgtkBox = class (TFPgtkContainer)
Private
function GetHomogeneous : boolean;
procedure SetHomogeneous (TheValue : boolean);
function GetSpacing : integer;
procedure SetSpacing (TheValue : integer);
Public
function TheGtkObject : PGtkBox;
property Homogeneous : boolean read GetHomogeneous write SetHomogeneous;
property Spacing : integer read GetSpacing write SetSpacing;
procedure ReorderChild (Widget:TFPgtkWidget; Position:integer);
procedure GetChildPacking (Widget:TFPgtkWidget; var Expand:boolean; var Fill:boolean; var Padding:integer; var PackType:TGtkPackType);
procedure SetChildPacking (Widget:TFPgtkWidget; Expand:boolean; Fill:boolean; Padding:integer; PackType:TGtkPackType);
procedure PackStart (Widget:TFPgtkWidget); Overload;
procedure PackStart (Widget:TFPgtkWidget; IsVisible:boolean); Overload;
procedure PackStart (Widget:TFPgtkWidget; expand:boolean; fill:boolean; padding:integer); Overload;
procedure PackStart (Widget:TFPgtkWidget; expand:boolean; fill:boolean; padding:integer; IsVisible:boolean); Overload;
procedure PackEnd (Widget:TFPgtkWidget); Overload;
procedure PackEnd (Widget:TFPgtkWidget; IsVisible:boolean); Overload;
procedure PackEnd (Widget:TFPgtkWidget; expand:boolean; fill:boolean; padding:integer); Overload;
procedure PackEnd (Widget:TFPgtkWidget; expand:boolean; fill:boolean; padding:integer; IsVisible:boolean); Overload;
end;
TFPgtkButtonBox = class (TFPgtkBox)
Private
function GetSpacing : integer;
procedure SetSpacing (TheValue : integer);
function GetLayout : TGtkButtonBoxStyle;
procedure SetLayout (TheValue : TGtkButtonBoxStyle);
function GetMinWidth : integer;
procedure SetMinWidth (TheValue : integer);
function GetMinHeight : integer;
procedure SetMinHeight (TheValue : integer);
function GetChildPadX : integer;
procedure SetChildPadX (TheValue : integer);
function GetChildPadY : integer;
procedure SetChildPadY (TheValue : integer);
Public
function TheGtkObject : PGtkButtonBox;
property Spacing : integer read GetSpacing write SetSpacing;
property Layout : TGtkButtonBoxStyle read GetLayout write SetLayout;
property ChildMinWidth : integer read GetMinWidth write SetMinWidth;
property ChildMinHeight : integer read GetMinHeight write SetMinHeight;
property ChildPadX : integer read GetChildPadX write SetChildPadX;
property ChildPadY : integer read GetChildPadY write SetChildPadY;
end;
TFPgtkHButtonBox = class (TFPgtkButtonBox)
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkHButtonBox;
end;
TFPgtkVButtonBox = class (TFPgtkButtonBox)
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkVButtonBox;
end;
TFPgtkVBox = class (TFPgtkBox)
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkVBox;
end;
TFPgtkColorSelection = class (TFPgtkVBox)
Private
function GetUpdatePolicy : TGtkUpdateType;
procedure SetUpdatePolicy (TheValue : TGtkUpdateType);
function GetColor : double;
procedure SetColor (TheValue : double);
function GetUseOpacity : longbool;
procedure SetUseOpacity (TheValue : longbool);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkColorSelection;
property UpdatePolicy : TGtkUpdateType read GetUpdatePolicy write SetUpdatePolicy;
property Color : double read GetColor write SetColor;
property UseOpacity : longbool read GetUseOpacity write SetUseOpacity;
end;
TFPgtkGammaCurve = class (TFPgtkVBOX)
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkGammaCurve;
end;
TFPgtkHBox = class (TFPgtkBox)
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkHBox;
end;
TFPgtkCombo = class (TFPgtkHBox)
Private
function GetEntry : TFPgtkEntry;
function GetList : TFPgtkList;
function GetButton : TFpGtkButton;
function GetValueInList : longbool;
procedure SetValueInListProp (TheValue : longbool);
function GetOkIfEmpty : longbool;
procedure SetOkIfEmpty (TheValue : longbool);
function GetUseArrows : longbool;
procedure SetUseArrows (TheValue : longbool);
function GetUseArrowsAlways : longbool;
procedure SetUseArrowsAlways (TheValue : longbool);
function GetCaseSensitive : longbool;
procedure SetCaseSensitive (TheValue : longbool);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkCombo;
property Entry : TFPgtkEntry read GetEntry;
property List : TFPgtkList read GetList;
property Button : TFpGtkButton read GetButton;
property ValueInList : longbool read GetValueInList write SetValueInListProp;
property OkIfEmpty : longbool read GetOkIfEmpty write SetOkIfEmpty;
property UseArrows : longbool read GetUseArrows write SetUseArrows;
property UseArrowsAlways : longbool read GetUseArrowsAlways write SetUseArrowsAlways;
property CaseSensitive : longbool read GetCaseSensitive write SetCaseSensitive;
procedure SetItemString (Item:TFPgtkItem; ItemValue:string);
procedure DisableActivate;
procedure SetValueInList (Val:longbool; IsOkIfEmpty:longbool);
end;
TFPgtkStatusbarSignalFunction = procedure (Sender:TFPgtkObject; contextID:integer; text:string; data:pointer) of Object;
TFPgtkStatusbar = class (TFPgtkHBox)
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkStatusbar;
function GetContextID (ContextDescr:string) : integer;
function Push (contextID:integer; text:string) : integer;
procedure Pop (contextID:integer);
procedure Remove (contextID:integer; MessageID:integer);
function StatusbarSignalConnect (Signal:string; Proc:TFPgtkStatusbarSignalFunction; data:pointer) : guint;
function StatusbarSignalConnectAfter (Signal:string; Proc:TFPgtkStatusbarSignalFunction; data:pointer) : guint;
function ConnectTextPopped (proc:TFPgtkStatusbarSignalFunction; data:pointer) : guint;
function ConnectAfterTextPopped (proc:TFPgtkStatusbarSignalFunction; data:pointer) : guint;
function ConnectTextPushed (proc:TFPgtkStatusbarSignalFunction; data:pointer) : guint;
function ConnectAfterTextPushed (proc:TFPgtkStatusbarSignalFunction; data:pointer) : guint;
end;
TFPgtkCListScrollSignalFunction = procedure (Sender:TFPgtkObject; ScrollType:TgtkScrollType; position:gfloat; data:pointer) of Object;
TFPgtkCListScrollBooleanSignalFunction = procedure (Sender:TFPgtkObject; ScrollType:TgtkScrollType; Position:gfloat; AutoStartSelection:boolean; data:pointer) of Object;
TFPgtkSelectRowSignalFunction = procedure (Sender:TFPgtkObject; row:integer; column:integer; event:PGdkEventButton; data:pointer) of Object;
TFPgtkMoveSignalFunction = procedure (Sender:TFPgtkObject; arg1:integer; arg2:integer; data:pointer) of Object;
TFPgtkColumnClickedSignalFunction = procedure (Sender:TFPgtkObject; column:integer; data:pointer) of Object;
TFPgtkResizeColumnSignalFunction = procedure (Sender:TFPgtkObject; column:integer; width:integer; data:pointer) of Object;
TFPgtkCList = class (TFPgtkContainer)
Private
compare : TGtkCListCompareFunc;
FColumnCount : integer;
function GetShadowType : TGtkShadowType;
procedure SetShadowType (TheValue : TGtkShadowType);
function GetSelectionMode : TGtkSelectionMode;
procedure SetSelectionMode (TheValue : TGtkSelectionMode);
function GetColumnTitle(column:integer) : string;
procedure SetColumnTitle (column:integer; TheValue : string);
function GetColumnWidget(column:integer) : TFPgtkWidget;
procedure SetColumnWidget (column:integer; TheValue : TFPgtkWidget);
function GetCellText(Row:integer; Column:integer) : string;
procedure SetCellText (Row:integer; Column:integer; TheValue : string);
function GetCellStyle(row:integer; column:integer) : PGtkStyle;
procedure SetCellStyle (row:integer; column:integer; TheValue : PGtkStyle);
function GetRowStyle(row:integer) : PGtkStyle;
procedure SetRowStyle (row:integer; TheValue : PGtkStyle);
function GetRowData(row:integer) : pointer;
procedure SetRowData (row:integer; TheValue : pointer);
procedure SetCompareFunc (TheValue : TGtkCListCompareFunc);
function GetSortColumn : integer;
procedure SetSortColumn (TheValue : integer);
function GetSetSortType : TGtkSortType;
procedure SetSetSortType (TheValue : TGtkSortType);
function GetHAdjustment : TFPgtkAdjustment;
procedure SetHAdjustment (TheValue : TFPgtkAdjustment);
function GetVAdjustment : TFPgtkAdjustment;
procedure SetVAdjustment (TheValue : TFPgtkAdjustment);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkCList;
constructor Create (aColumnCount:integer);
property ColumnCount : integer read FColumnCount;
property ShadowType : TGtkShadowType read GetShadowType write SetShadowType;
property SelectionMode : TGtkSelectionMode read GetSelectionMode write SetSelectionMode;
procedure Freeze;
procedure Thaw;
procedure ShowTitles;
procedure HideTitles;
procedure ActiveTitles;
procedure PassiveTitles;
procedure ActiveTitle (column:integer);
procedure PassiveTitle (column:integer);
property ColumnTitle [column:integer] : string read GetColumnTitle write SetColumnTitle;
property ColumnWidget [column:integer] : TFPgtkWidget read GetColumnWidget write SetColumnWidget;
procedure SetColumnJustification (column:integer; justification:TGtkJustification);
procedure SetColumnVisibility (column:integer; aVisible:boolean);
procedure SetColumnResizeable (column:integer; Resizeable:boolean);
procedure SetColumnAutoResize (column:integer; autoResize:boolean);
function OptimalColumnWidth (column:integer) : integer;
procedure SetColumnWidth (column:integer; width:integer);
procedure SetColumnMinWidth (column:integer; MinWidth:integer);
procedure SetColumnMaxWidth (column:integer; MaxWidth:integer);
function AutoSizeColumns : integer;
procedure ConfigureColumnWidth (column:integer; Width:integer; MinWidth:integer; MaxWidth:integer);
procedure ConfigureColumn (column:integer; Justification:TGtkJustification; Visibility:boolean; Resizeable:boolean; AutoSize:boolean);
procedure SetRowHeight (height:integer);
procedure MoveTo (row:integer; column:integer; RowAlign:gfloat; ColAlign:gfloat);
function RowIsVisible (Row:integer) : TGtkVisibility;
function GetCellType (Row:integer; column:integer) : TGtkCellType;
property CellText [Row:integer; Column:integer] : string read GetCellText write SetCellText;
procedure SetPixmap (row:integer; column:integer; pixmap:PGdkPixmap; mask:PGdkBitmap);
procedure GetPixmap (row:integer; column:integer; var pixmap:PGdkPixmap; var mask:PGdkBitmap);
procedure SetPixText (row:integer; column:integer; text:string; spacing:guint8; pixmap:PGdkPixmap; mask:PGdkBitmap);
procedure GetPixText (row:integer; column:integer; var text:string; var aspacing:guint8; var pixmap:PGdkPixmap; var mask:PGdkBitmap);
procedure SetForeground (row:integer; color:PGdkColor);
procedure SetBackground (row:integer; color:PGdkColor);
property CellStyle [row:integer; column:integer] : PGtkStyle read GetCellStyle write SetCellStyle;
property RowStyle [row:integer] : PGtkStyle read GetRowStyle write SetRowStyle;
procedure SetShift (row:integer; column:integer; vertical:integer; horizontal:integer);
procedure Remove (row:integer);
procedure Prepend (Data:TStrings); Overload;
procedure Prepend (Text:string; separator:string); Overload;
procedure Prepend (data:array of string); Overload;
function Append (data:TStrings) : Integer; Overload;
function Append (Text:string; Separator:string) : Integer; Overload;
function Append (data:array of string) : Integer; Overload;
procedure Insert (row:integer; data:TStrings); Overload;
procedure Insert (row:integer; Text:string; Separator:string); Overload;
procedure Insert (row:integer; data:array of string); Overload;
property RowData [row:integer] : pointer read GetRowData write SetRowData;
function FindRowFromData (data:pointer) : integer;
procedure SelectRow (row:integer; column:integer);
procedure UnselectRow (row:integer; column:integer);
procedure Clear;
procedure SelectAll;
procedure UnselectAll;
procedure SwapRows (row1:integer; row2:integer);
procedure RowMove (sourceRow:integer; destRow:integer);
procedure Sort;
property CompareFunc : TGtkCListCompareFunc read compare write SetCompareFunc;
property SortColumn : integer read GetSortColumn write SetSortColumn;
property SetSortType : TGtkSortType read GetSetSortType write SetSetSortType;
procedure SetAutoSort (autoSort:boolean);
property HAdjustment : TFPgtkAdjustment read GetHAdjustment write SetHAdjustment;
property VAdjustment : TFPgtkAdjustment read GetVAdjustment write SetVAdjustment;
procedure SetReorderable (reorderable:boolean);
function Count : integer;
function CListScrollSignalConnect (Signal:string; Proc:TFPgtkCListScrollSignalFunction; data:pointer) : guint;
function CListScrollSignalConnectAfter (Signal:string; Proc:TFPgtkCListScrollSignalFunction; data:pointer) : guint;
function CListScrollBooleanSignalConnect (Signal:string; Proc:TFPgtkCListScrollBooleanSignalFunction; data:pointer) : guint;
function CListScrollBooleanSignalConnectAfter (Signal:string; Proc:TFPgtkCListScrollBooleanSignalFunction; data:pointer) : guint;
function SelectRowSignalConnect (Signal:string; Proc:TFPgtkSelectRowSignalFunction; data:pointer) : guint;
function SelectRowSignalConnectAfter (Signal:string; Proc:TFPgtkSelectRowSignalFunction; data:pointer) : guint;
function ConnectSelectRow (proc:TFPgtkSelectRowSignalFunction; data:pointer) : guint;
function ConnectAfterSelectRow (proc:TFPgtkSelectRowSignalFunction; data:pointer) : guint;
function ConnectUnselectRow (proc:TFPgtkSelectRowSignalFunction; data:pointer) : guint;
function ConnectAfterUnselectRow (proc:TFPgtkSelectRowSignalFunction; data:pointer) : guint;
function MoveSignalConnect (Signal:string; Proc:TFPgtkMoveSignalFunction; data:pointer) : guint;
function MoveSignalConnectAfter (Signal:string; Proc:TFPgtkMoveSignalFunction; data:pointer) : guint;
function ConnectRowMove (proc:TFPgtkMoveSignalFunction; data:pointer) : guint;
function ConnectAfterRowMove (proc:TFPgtkMoveSignalFunction; data:pointer) : guint;
function ConnectScrollVertical (proc:TFPgtkCListScrollSignalFunction; data:pointer) : guint;
function ConnectAfterScrollVertical (proc:TFPgtkCListScrollSignalFunction; data:pointer) : guint;
function ConnectScrolHorizontal (proc:TFPgtkCListScrollSignalFunction; data:pointer) : guint;
function ConnectAfterScrolHorizontal (proc:TFPgtkCListScrollSignalFunction; data:pointer) : guint;
function ConnectToggleFocusRow (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterToggleFocusRow (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectSelectAll (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterSelectAll (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectUnselectAll (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectAfterUnselectAll (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectUndoSelection (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectAfterUndoSelection (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectStartSelection (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectAfterStartSelection (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectEndSelection (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectAfterEndSelection (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectToggleAddMode (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectAfterToggleAddMode (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectAbortColumnResize (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectAfterAbortColumnResize (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectExtendSelection (proc:TFPgtkCListScrollBooleanSignalFunction; data:pointer) : guint;
function ConnectAfterExtendSelection (proc:TFPgtkCListScrollBooleanSignalFunction; data:pointer) : guint;
function ColumnClickedSignalConnect (Signal:string; Proc:TFPgtkColumnClickedSignalFunction; data:pointer) : guint;
function ColumnClickedSignalConnectAfter (Signal:string; Proc:TFPgtkColumnClickedSignalFunction; data:pointer) : guint;
function ConnectClickColumn (proc:TFPgtkColumnClickedSignalFunction; data:pointer) : guint;
function ConnectAfterClickColumn (proc:TFPgtkColumnClickedSignalFunction; data:pointer) : guint;
function ResizeColumnSignalConnect (Signal:string; Proc:TFPgtkResizeColumnSignalFunction; data:pointer) : guint;
function ResizeColumnSignalConnectAfter (Signal:string; Proc:TFPgtkResizeColumnSignalFunction; data:pointer) : guint;
function ConnectResizeColumn (proc:TFPgtkResizeColumnSignalFunction; data:pointer) : guint;
function ConnectAfterResizeColumn (proc:TFPgtkResizeColumnSignalFunction; data:pointer) : guint;
end;
TFPgtkCTreeFunction = procedure (TheTree:TFPgtkCTree; TheNode:PGtkCTreeNode; data:pointer) of object;
TFPgtkCTree = class (TFPgtkCList)
Private
FTreeColumn:integer;
function GetLineStyle : TGtkCTreeLineStyle;
procedure SetLineStyle (TheValue : TGtkCTreeLineStyle);
function GetShowStub : boolean;
procedure SetShowStub (TheValue : boolean);
function GetExpanderStyle : TGtkCTreeExpanderStyle;
procedure SetExpanderStyle (TheValue : TGtkCTreeExpanderStyle);
function GetSpacing : guint;
procedure SetSpacing (TheValue : guint);
function GetIndent : guint;
procedure SetIndent (TheValue : guint);
function GetTreeColumn : integer;
function GetNodeCellText(Node:PGtkCTreeNode; Column:integer) : string;
procedure SetNodeCellText (Node:PGtkCTreeNode; Column:integer; TheValue : string);
function GetNodeSelectable(Node:PGtkCTreeNode) : boolean;
procedure SetNodeSelectable (Node:PGtkCTreeNode; TheValue : boolean);
function GetNodeCellStyle(Node:PGtkCTreeNode; column:integer) : PGtkStyle;
procedure SetNodeCellStyle (Node:PGtkCTreeNode; column:integer; TheValue : PGtkStyle);
function GetNodeRowStyle(Node:PGtkCTreeNode) : PGtkStyle;
procedure SetNodeRowStyle (Node:PGtkCTreeNode; TheValue : PGtkStyle);
function GetNodeData(Node:PGtkCTreeNode) : pointer;
procedure SetNodeData (Node:PGtkCTreeNode; TheValue : pointer);
function GetCompareDragFunc : TGtkCTreeCompareDragFunc;
procedure SetCompareDragFunc (TheValue : TGtkCTreeCompareDragFunc);
Public
function TheGtkObject : PGtkCTree;
property LineStyle : TGtkCTreeLineStyle read GetLineStyle write SetLineStyle;
property ShowStub : boolean read GetShowStub write SetShowStub;
property ExpanderStyle : TGtkCTreeExpanderStyle read GetExpanderStyle write SetExpanderStyle;
property Spacing : guint read GetSpacing write SetSpacing;
property Indent : guint read GetIndent write SetIndent;
property TreeColumn : integer read GetTreeColumn;
constructor Create (aColumnCount:integer; aTreeColumn:integer);
procedure RemoveNode (node:PGtkCTreeNode);
function InsertNode (aParent:PGtkCTreeNode; Sibling:PGtkCTreeNode; data:string; aSpacing:guint8; PixmapClosed:PGdkPixmap; MaskClosed:PGdkBitmap; PixmapOpened:PGdkPixmap; MaskOpened:PGdkBitmap; IsLeaf:boolean; Expanded:boolean) : PGtkCTreeNode; Overload;
function InsertNode (aParent:PGtkCTreeNode; Sibling:PGtkCTreeNode; data:string; aSpacing:guint8; IsLeaf:boolean; Expanded:boolean) : PGtkCTreeNode; Overload;
procedure PostRecursive (aNode:PGtkCTreeNode; func:TFPgtkCTreeFunction; data:pointer);
procedure PostRecursiveToDepth (aNode:PGtkCTreeNode; aDepth:integer; func:TFPgtkCTreeFunction; data:pointer);
procedure PreRecursive (aNode:PGtkCTreeNode; func:TFPgtkCTreeFunction; data:pointer);
procedure PreRecursiveToDepth (aNode:PGtkCTreeNode; aDepth:integer; func:TFPgtkCTreeFunction; data:pointer);
procedure IsViewable (aNode:PGtkCTreeNode);
procedure LastChild (aNode:PGtkCTreeNode);
function IsChild (anAncestor:PGtkCTreeNode; aChild:PGtkCTreeNode) : boolean;
function IsAncestor (anAncestor:PGtkCTreeNode; aChild:PGtkCTreeNode) : boolean;
function IsHotSpot (X:integer; Y:integer) : boolean;
procedure MoveNode (aNode:PGtkCTreeNode; NewParent:PGtkCTreeNode; NewSibling:PGtkCTreeNode);
procedure Expand (aNode:PGtkCTreeNode);
procedure ExpandRecursive (aNode:PGtkCTreeNode);
procedure ExpandToDepth (aNode:PGtkCTreeNode; aDepth:integer);
procedure Collapse (aNode:PGtkCTreeNode);
procedure CollapseRecursive (aNode:PGtkCTreeNode);
procedure CollapseToDepth (aNode:PGtkCTreeNode; aDepth:integer);
procedure SelectNode (aNode:PGtkCTreeNode);
procedure SelectRecursive (aNode:PGtkCTreeNode);
procedure UnselectNode (aNode:PGtkCTreeNode);
procedure UnselectRecursive (aNode:PGtkCTreeNode);
procedure RealSelectRecursive (aNode:PGtkCTreeNode; aState:boolean);
function NodeGetCellType (Node:PGtkCTreeNode; column:integer) : TGtkCellType;
property NodeCellText [Node:PGtkCTreeNode; Column:integer] : string read GetNodeCellText write SetNodeCellText;
procedure NodeSetPixmap (Node:PGtkCTreeNode; column:integer; pixmap:PGdkPixmap; mask:PGdkBitmap);
procedure NodeGetPixmap (Node:PGtkCTreeNode; column:integer; var pixmap:PGdkPixmap; var mask:PGdkBitmap);
procedure NodeSetPixText (Node:PGtkCTreeNode; column:integer; text:string; aspacing:guint8; pixmap:PGdkPixmap; mask:PGdkBitmap);
procedure NodeGetPixText (Node:PGtkCTreeNode; column:integer; var text:string; var aspacing:guint8; var pixmap:PGdkPixmap; var mask:PGdkBitmap);
procedure SetNodeInfo (aNode:PGtkCTreeNode; aText:string; aSpacing:guint8; PixmapClosed:PGdkPixmap; MaskClosed:PGdkBitmap; PixmapOpened:PGdkPixmap; MaskOpened:PGdkBitmap; IsLeaf:boolean; Expanded:boolean); Overload;
procedure GetNodeInfo (aNode:PGtkCTreeNode; var aText:string; var aSpacing:guint8; var PixmapClosed:PGdkPixmap; var MaskClosed:PGdkBitmap; var PixmapOpened:PGdkPixmap; var MaskOpened:PGdkBitmap; var IsLeaf:boolean; var Expanded:boolean); Overload;
procedure NodeSetShift (Node:PGtkCTreeNode; column:integer; vertical:integer; horizontal:integer);
property NodeSelectable [Node:PGtkCTreeNode] : boolean read GetNodeSelectable write SetNodeSelectable;
procedure NodeSetForeground (Node:PGtkCTreeNode; color:PGdkColor);
procedure NodeSetBackground (Node:PGtkCTreeNode; color:PGdkColor);
property NodeCellStyle [Node:PGtkCTreeNode; column:integer] : PGtkStyle read GetNodeCellStyle write SetNodeCellStyle;
property NodeRowStyle [Node:PGtkCTreeNode] : PGtkStyle read GetNodeRowStyle write SetNodeRowStyle;
property NodeData [Node:PGtkCTreeNode] : pointer read GetNodeData write SetNodeData;
procedure NodeMoveTo (aNode:PGtkCTreeNode; column:integer; RowAlign:gfloat; ColAlign:gfloat);
function IsVisible (aNode:PGtkCTreeNode) : TGtkVisibility;
property CompareDragFunc : TGtkCTreeCompareDragFunc read GetCompareDragFunc write SetCompareDragFunc;
procedure SortNode (aNode:PGtkCTreeNode);
procedure SortRecursive (aNode:PGtkCTreeNode);
function NthNode (Row:integer) : PGtkCTreeNode;
end;
TFPgtkFixed = class (TFPgtkContainer)
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkFixed;
procedure Put (Widget:TFPgtkWidget; x:integer; y:integer);
procedure Move (Widget:TFPgtkWidget; x:integer; y:integer);
procedure GetPos (Widget:TFPgtkWidget; var PosX:integer; var PosY:integer);
end;
TFPgtkPageSwitchSignalFunction = procedure (Sender:TFPgtkObject; PageRec:PGtkNotebookPage; aPageNum:integer; data:pointer) of Object;
TFPgtkNotebook = class (TFPgtkContainer)
Private
function GetPageIndex : integer;
procedure SetPageIndex (TheValue : integer);
function GetPage : TFPgtkWidget;
procedure SetPage (TheValue : TFPgtkWidget);
function GetTabPos : TGtkPositionType;
procedure SetTabPos (TheValue : TGtkPositionType);
function GetShowTabs : boolean;
procedure SetShowTabs (TheValue : boolean);
function GetShowBorder : boolean;
procedure SetShowBorder (TheValue : boolean);
function GetScrollable : boolean;
procedure SetScrollable (TheValue : boolean);
function GetHomogenous : boolean;
procedure SetHomogenous (TheValue : boolean);
function GetTabHBorder : word;
procedure SetTabHBorder (TheValue : word);
function GetTabVBorder : word;
procedure SetTabVBorder (TheValue : word);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkNotebook;
procedure AppendPage (Child:TFPgtkWidget; TabLabel:TFPgtkWidget);
procedure AppendPageFull (Child:TFPgtkWidget; TabLabel:TFPgtkWidget; MenuLabel:TFPgtkWidget; IsVisible:boolean);
procedure PrependPage (Child:TFPgtkWidget; TabLabel:TFPgtkWidget);
procedure PrependPageFull (Child:TFPgtkWidget; TabLabel:TFPgtkWidget; MenuLabel:TFPgtkWidget; IsVisible:boolean);
procedure InsertPage (Child:TFPgtkWidget; TabLabel:TFPgtkWidget; Position:integer);
procedure InsertPageFull (Child:TFPgtkWidget; TabLabel:TFPgtkWidget; MenuLabel:TFPgtkWidget; IsVisible:boolean; Position:integer);
procedure RemovePage (PageNumber:integer);
function PageNumberOf (Child:TFPgtkWidget) : integer;
procedure NextPage;
procedure PrevPage;
procedure ReorderPage (Child:TFPgtkWidget; PageNum:integer);
property PageIndex : integer read GetPageIndex write SetPageIndex;
property Page : TFPgtkWidget read GetPage write SetPage;
property TabPos : TGtkPositionType read GetTabPos write SetTabPos;
property ShowTabs : boolean read GetShowTabs write SetShowTabs;
property ShowBorder : boolean read GetShowBorder write SetShowBorder;
property Scrollable : boolean read GetScrollable write SetScrollable;
property Homogenous : boolean read GetHomogenous write SetHomogenous;
property TabHBorder : word read GetTabHBorder write SetTabHBorder;
property TabVBorder : word read GetTabVBorder write SetTabVBorder;
procedure SetTabBorders (BorderWidth:word);
function GetMenuLabelOf (Child:TFPgtkWidget) : TFPgtkWidget;
procedure SetMenuLabel (Child:TFPgtkWidget; MenuLabel:TFPgtkWidget);
function GetTabLabelOf (Child:TFPgtkWidget) : TFPgtkWidget;
procedure SetTabLabel (Child:TFPgtkWidget; TabLabel:TFPgtkWidget);
function GetChildOnPage (PageNum:integer) : TFPgtkWidget;
procedure GetTabLabelPacking (Widget:TFPgtkWidget; var Expand:boolean; var Fill:boolean; var PackType:TGtkPackType);
procedure SetTabLabelPacking (Widget:TFPgtkWidget; Expand:boolean; Fill:boolean; PackType:TGtkPackType);
procedure EnablePopup;
procedure DisablePopup;
function PageSwitchSignalConnect (Signal:string; Proc:TFPgtkPageSwitchSignalFunction; data:pointer) : guint;
function PageSwitchSignalConnectAfter (Signal:string; Proc:TFPgtkPageSwitchSignalFunction; data:pointer) : guint;
function ConnectSwitchPage (proc:TFPgtkPageSwitchSignalFunction; data:pointer) : guint;
function ConnectAfterSwitchPage (proc:TFPgtkPageSwitchSignalFunction; data:pointer) : guint;
end;
TFPgtkFontSelection = class (TFPgtkNotebook)
Private
function GetFontName : string;
procedure SetFontName (TheValue : string);
function GetPreviewText : string;
procedure SetPreviewText (TheValue : string);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkFontSelection;
property FontName : string read GetFontName write SetFontName;
function GetFont : PGdkFont;
property PreviewText : string read GetPreviewText write SetPreviewText;
procedure SetFilter (FilterType:TGtkFontFilterType; FontType:TGtkFontType; Foundries:array of string; Weights:array of string; Slants:array of string; SetWidths:array of string; Spacings:array of string; CharSets:array of string);
end;
TFPgtkPaned = class (TFPgtkContainer)
Private
function GetGutterSize : word;
procedure SetGutterSize (TheValue : word);
function GetHandleSize : word;
procedure SetHandleSize (TheValue : word);
function GetPosition : integer;
procedure SetPosition (TheValue : integer);
Public
function TheGtkObject : PGtkPaned;
property GutterSize : word read GetGutterSize write SetGutterSize;
property HandleSize : word read GetHandleSize write SetHandleSize;
property Position : integer read GetPosition write SetPosition;
procedure ComputePosition (AnAllocation:integer; Child1Req:integer; Child2Req:integer);
procedure Add1 (Child:TFPgtkWidget); Overload;
procedure Pack1 (Child:TFPgtkWidget; Resize:boolean; Shrink:boolean); Overload;
procedure Add1 (Child:TFPgtkWidget; isVisible:boolean); Overload;
procedure Pack1 (Child:TFPgtkWidget; Resize:boolean; Shrink:boolean; IsVisible:boolean); Overload;
procedure Add2 (Child:TFPgtkWidget); Overload;
procedure Pack2 (Child:TFPgtkWidget; Resize:boolean; Shrink:boolean); Overload;
procedure Add2 (Child:TFPgtkWidget; IsVisible:boolean); Overload;
procedure Pack2 (Child:TFPgtkWidget; Resize:boolean; Shrink:boolean; IsVisible:boolean); Overload;
end;
TFPgtkHPaned = class (TFPgtkPaned)
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkHPaned;
end;
TFPgtkVPaned = class (TFPgtkPaned)
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkVPaned;
end;
TFPgtkLayout = class (TFPgtkContainer)
Private
function GetHAdj : TFPgtkAdjustment;
procedure SetHAdj (TheValue : TFPgtkAdjustment);
function GetVAdj : TFPgtkAdjustment;
procedure SetVAdj (TheValue : TFPgtkAdjustment);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkLayout;
property HAdj : TFPgtkAdjustment read GetHAdj write SetHAdj;
property VAdj : TFPgtkAdjustment read GetVAdj write SetVAdj;
procedure Freeze;
procedure Thaw;
procedure Put (aWidget:TFPgtkWidget; X:integer; Y:integer); Overload;
procedure Put (aWidget:TFPgtkWidget; X:integer; Y:integer; aVisible:boolean); Overload;
procedure Move (aWidget:TFPgtkWidget; X:integer; Y:integer);
procedure SetSize (aWidth:integer; aHeight:integer);
end;
TFPgtkList = class (TFPgtkContainer)
Private
function GetSelectionMode : TGtkSelectionMode;
procedure SetSelectionMode (TheValue : TGtkSelectionMode);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkList;
function ConnectSelectionChanged (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectAfterSelectionChanged (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectSelectChild (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
function ConnectAfterSelectChild (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
function ConnectUnselectChild (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
function ConnectAfterUnselectChild (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
property SelectionMode : TGtkSelectionMode read GetSelectionMode write SetSelectionMode;
procedure InsertItems (TheItems:TFPgtkListItemGroup; position:integer);
procedure AppendItems (TheItems:TFPgtkListItemGroup);
procedure PrependItems (TheItems:TFPgtkListItemGroup);
procedure RemoveItems (TheItems:TFPgtkListItemGroup);
procedure RemoveItemsNoUnref (TheItems:TFPgtkListItemGroup);
procedure ClearItems (FromItem:integer; ToItem:integer);
procedure ClearAll;
procedure SelectItem (Item:integer);
procedure UnselectItem (Item:integer);
procedure SelectChild (Child:TFPgtkWidget);
procedure UnselectChild (Child:TFPgtkWidget);
function ChildPosition (Child:TFPgtkWidget) : integer;
procedure ExtendSelection (ScrollType:TGtkScrollType; Position:gfloat; AutoStartSelection:boolean);
procedure StartSelection;
procedure EndSelection;
procedure SelectAll;
procedure UnselectAll;
procedure ScrollHorizontal (ScrollType:TGtkScrollType; Position:gfloat);
procedure ScrollVertical (ScrollType:TGtkScrollType; Position:gfloat);
procedure ToggleAddMode;
procedure ToggleFocusRow;
procedure ToggleRow (Child:TFPgtkWidget);
procedure UndoSelection;
procedure EndDragSelection;
procedure GetSelection (aGroup:TFPgtkGroup);
end;
TFPgtkMoveCurrentSignalFunction = procedure (Sender:TFPgtkObject; dir:TGtkMenuDirectionType; data:pointer) of Object;
TFPgtkMenuShell = class (TFPgtkContainer)
Protected
procedure GtkPrepend (MenuItem:TFPgtkWidget); Virtual;
procedure GtkInsert (MenuItem:TFPgtkWidget; position:integer); Virtual;
procedure GtkAppend (MenuItem:TFPgtkWidget); Virtual;
Public
function TheGtkObject : PGtkMenuShell;
function MoveCurrentSignalConnect (Signal:string; Proc:TFPgtkMoveCurrentSignalFunction; data:pointer) : guint;
function MoveCurrentSignalConnectAfter (Signal:string; Proc:TFPgtkMoveCurrentSignalFunction; data:pointer) : guint;
procedure ActivateItem (MenuItem:TFPgtkWidget; ForceDeactivate:boolean);
procedure SelectItem (MenuItem:TFPgtkWidget);
procedure DeActivate;
procedure Prepend (MenuItem:TFPgtkWidget); Overload;
procedure Prepend (MenuItem:TFPgtkWidget; CreateVisible:boolean); Overload;
procedure Insert (MenuItem:TFPgtkWidget; position:integer); Overload;
procedure Insert (MenuItem:TFPgtkWidget; position:integer; CreateVisible:boolean); Overload;
procedure Append (MenuItem:TFPgtkWidget); Overload;
procedure Append (MenuItem:TFPgtkWidget; CreateVisible:boolean); Overload;
function ConnectDeActivate (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterDeActivate (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectSelectionDone (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterSelectionDone (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectCancel (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterCancel (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectMoveCurrent (proc:TFPgtkMoveCurrentSignalFunction; data:pointer) : guint;
function ConnectAfterMoveCurrent (proc:TFPgtkMoveCurrentSignalFunction; data:pointer) : guint;
function ConnectActivateCurrent (proc:TFPgtkBooleanSignalFunction; data:pointer) : guint;
function ConnectAfterActivateCurrent (proc:TFPgtkBooleanSignalFunction; data:pointer) : guint;
end;
TFPgtkMenuBar = class (TFPgtkMenuShell)
Private
function GetShadow : TgtkShadowType;
procedure SetShadow (TheValue : TgtkShadowType);
Protected
procedure CreateGtkObject; override;
procedure GtkPrepend (MenuItem:TFPgtkWidget); Override;
procedure GtkInsert (MenuItem:TFPgtkWidget; position:integer); Override;
procedure GtkAppend (MenuItem:TFPgtkWidget); Override;
Public
function TheGtkObject : PGtkMenuBar;
property Shadow : TgtkShadowType read GetShadow write SetShadow;
end;
TFPgtkMenuDetachFunction = procedure (Widget:TFPgtkWidget; menu:TFPgtkMenu) of object;
TFPgtkMenuPosFunction = procedure (menu:TFPgtkMenu; var x,y:integer; data:pointer) of object;
TFPgtkMenu = class (TFPgtkMenuShell)
Private
procedure SetTitle (TheValue : string);
function GetActive : TFPgtkWidget;
procedure SetActive (TheValue : TFPgtkWidget);
function GetActiveIndex : integer;
procedure SetActiveIndex (TheValue : integer);
function GetTearOffState : boolean;
procedure SetTearOffState (TheValue : boolean);
function GetAttachedTo : TFPgtkWidget;
procedure SetAttachedTo (TheValue : TFPgtkWidget);
function GetAccelGroup : PGtkAccelGroup;
procedure SetAccelGroup (TheValue : PGtkAccelGroup);
Protected
procedure CreateGtkObject; override;
procedure GtkPrepend (MenuItem:TFPgtkWidget); Override;
procedure GtkInsert (MenuItem:TFPgtkWidget; position:integer); Override;
procedure GtkAppend (MenuItem:TFPgtkWidget); Override;
Public
function TheGtkObject : PGtkMenu;
FDetacher:TFPgtkMenuDetachFunction;
procedure ReorderChild (MenuItem:TFPgtkWidget; position:integer);
procedure Popup (button:guint); Overload;
procedure Popup (ParentShell:TFPgtkWidget; ParentItem:TFPgtkWidget; func:TFPgtkMenuPosFunction; data:pointer; button:guint; ActivateTime:guint32); Overload;
procedure PopDown;
procedure Reposition;
procedure AttachToWidget (Widget:TFPgtkWidget; detacher:TFPgtkMenuDetachFunction);
procedure Detach;
property Title : string write SetTitle;
property Active : TFPgtkWidget read GetActive write SetActive;
property ActiveIndex : integer read GetActiveIndex write SetActiveIndex;
property TearOffState : boolean read GetTearOffState write SetTearOffState;
property AttachedTo : TFPgtkWidget read GetAttachedTo write SetAttachedTo;
property AccelGroup : PGtkAccelGroup read GetAccelGroup write SetAccelGroup;
end;
TFPgtkPacker = class (TFPgtkContainer)
Private
function GetSpacing : guint;
procedure SetSpacing (TheValue : guint);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkPacker;
procedure Add (Child:TFPgtkWidget; Side:TGtkSideType; Anchor:TGtkAnchorType; options:TGtkPackerOptions); Overload;
procedure Add (Child:TFPgtkWidget; Side:TGtkSideType; Anchor:TGtkAnchorType; options:TGtkPackerOptions; aVisible:boolean); Overload;
procedure Add (Child:TFPgtkWidget; Side:TGtkSideType; Anchor:TGtkAnchorType; options:TGtkPackerOptions; aBorder:guint; PadX:Guint; PadY:guint; IPadX:guint; IPadY:guint); Overload;
procedure Add (Child:TFPgtkWidget; Side:TGtkSideType; Anchor:TGtkAnchorType; options:TGtkPackerOptions; aBorder:guint; PadX:Guint; PadY:guint; IPadX:guint; IPadY:guint; aVisible:boolean); Overload;
procedure ReorderChild (aChild:TFPgtkWidget; position:integer);
property Spacing : guint read GetSpacing write SetSpacing;
procedure DefaultBorder (aBorder:guint);
procedure DefaultPad (PadX:guint; PadY:guint);
procedure DefaultIPad (IPadX:guint; IPadY:guint);
procedure Configure (aChild:TFPgtkWidget; Side:TGtkSideType; Anchor:TGtkAnchorType; options:TGtkPackerOptions; aBorder:guint; PadX:Guint; PadY:guint; IPadX:guint; IPadY:guint); Overload;
end;
TFPgtkTable = class (TFPgtkContainer)
Private
function GetRowCount : integer;
function GetColCount : integer;
function GetHomogeneous : boolean;
procedure SetHomogeneous (TheValue : boolean);
function GetRowSpacings : integer;
procedure SetRowSpacings (TheValue : integer);
function GetColSpacings : integer;
procedure SetColSpacings (TheValue : integer);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkTable;
constructor Create (AColumns:integer; ARows:integer);
procedure Resize (AColumns:integer; ARows:integer);
procedure Attach (Widget:TFPgtkWidget; left:integer; right:integer; top:integer; bottom:integer; XOptions:integer; YOptions:integer; XPadding:integer; YPadding:integer; IsVisible:boolean);
procedure Attach (Widget:TFPgtkWidget; left:integer; right:integer; top:integer; bottom:integer; XOptions:integer; YOptions:integer; XPadding:integer; YPadding:integer);
procedure Attach (Widget:TFPgtkWidget; left:integer; right:integer; top:integer; bottom:integer; IsVisible:boolean);
procedure Attach (Widget:TFPgtkWidget; left:integer; right:integer; top:integer; bottom:integer);
property RowCount : integer read GetRowCount;
property ColCount : integer read GetColCount;
property Homogeneous : boolean read GetHomogeneous write SetHomogeneous;
property RowSpacings : integer read GetRowSpacings write SetRowSpacings;
property ColSpacings : integer read GetColSpacings write SetColSpacings;
procedure SetOneRowSpacing (row:integer; TheValue:integer);
procedure SetOneColSpacing (Column:integer; TheValue:integer);
end;
TFPgtkToolbar = class (TFPgtkContainer)
Private
function GetButtonRelief : TGtkReliefStyle;
procedure SetButtonRelief (TheValue : TGtkReliefStyle);
function GetTooltips : TFPgtkTooltips;
function GetEnableTooltips : longbool;
procedure SetEnableTooltips (TheValue : longbool);
function GetSpaceStyle : TGtkToolbarSpaceStyle;
procedure SetSpaceStyle (TheValue : TGtkToolbarSpaceStyle);
function GetSpaceSize : integer;
procedure SetSpaceSize (TheValue : integer);
function GetStyle : TGtkToolbarStyle;
procedure SetStyle (TheValue : TGtkToolbarStyle);
function GetOrientation : tGtkOrientation;
procedure SetOrientation (TheValue : tGtkOrientation);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkToolbar;
property ButtonRelief : TGtkReliefStyle read GetButtonRelief write SetButtonRelief;
property Tooltips : TFPgtkTooltips read GetTooltips;
property EnableTooltips : longbool read GetEnableTooltips write SetEnableTooltips;
property SpaceStyle : TGtkToolbarSpaceStyle read GetSpaceStyle write SetSpaceStyle;
property SpaceSize : integer read GetSpaceSize write SetSpaceSize;
property Style : TGtkToolbarStyle read GetStyle write SetStyle;
property Orientation : tGtkOrientation read GetOrientation write SetOrientation;
procedure InsertWidget (Widget:TFPgtkWidget; TooltipText:string; TooltipPrivate:string; Position:integer);
procedure PrependWidget (Widget:TFPgtkWidget; TooltipText:string; TooltipPrivate:string);
procedure AppendWidget (Widget:TFPgtkWidget; TooltipText:string; TooltipPrivate:string);
function InsertElement (ButtonType:TGtkToolbarChildType; PrevRadioBut:TFPgtkWidget; Text:string; TooltipText:string; TooltipPrivate:string; Icon:TFPgtkWidget; CallBack:TFPgtkSignalFunction; data:pointer; position:integer) : TFPgtkWidget;
function AppendElement (ButtonType:TGtkToolbarChildType; PrevRadioBut:TFPgtkWidget; Text:string; TooltipText:string; TooltipPrivate:string; Icon:TFPgtkWidget; CallBack:TFPgtkSignalFunction; data:pointer) : TFPgtkWidget;
function PrependElement (ButtonType:TGtkToolbarChildType; PrevRadioBut:TFPgtkWidget; Text:string; TooltipText:string; TooltipPrivate:string; Icon:TFPgtkWidget; CallBack:TFPgtkSignalFunction; data:pointer) : TFPgtkWidget;
function InsertItem (Text:string; TooltipText:string; TooltipPrivate:string; Icon:TFPgtkWidget; CallBack:TFPgtkSignalFunction; data:pointer; position:integer) : TFPgtkWidget; Overload;
function AppendItem (Text:string; TooltipText:string; TooltipPrivate:string; Icon:TFPgtkWidget; CallBack:TFPgtkSignalFunction; data:pointer) : TFPgtkWidget; Overload;
function PrependItem (Text:string; TooltipText:string; TooltipPrivate:string; Icon:TFPgtkWidget; CallBack:TFPgtkSignalFunction; data:pointer) : TFPgtkWidget; Overload;
function InsertItem (Text:string; TooltipText:string; TooltipPrivate:string; Icon:array of string; CallBack:TFPgtkSignalFunction; data:pointer; position:integer) : TFPgtkWidget; Overload;
function AppendItem (Text:string; TooltipText:string; TooltipPrivate:string; Icon:array of string; CallBack:TFPgtkSignalFunction; data:pointer) : TFPgtkWidget; Overload;
function PrependItem (Text:string; TooltipText:string; TooltipPrivate:string; Icon:array of string; CallBack:TFPgtkSignalFunction; data:pointer) : TFPgtkWidget; Overload;
procedure InsertSpace (position:integer);
procedure AppendSpace;
procedure PrependSpace;
end;
TFPgtkTree = class (TFPgtkContainer)
Private
function GetSelectionMode : TGtkSelectionMode;
procedure SetSelectionMode (TheValue : TGtkSelectionMode);
function GetViewLines : boolean;
procedure SetViewLines (TheValue : boolean);
function GetViewMode : TGtkTreeViewMode;
procedure SetViewMode (TheValue : TGtkTreeViewMode);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkTree;
function ConnectSelectionChanged (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterSelectionChanged (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectSelectChild (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
function ConnectAfterSelectChild (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
function ConnectUnselectChild (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
function ConnectAfterUnselectChild (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
property SelectionMode : TGtkSelectionMode read GetSelectionMode write SetSelectionMode;
property ViewLines : boolean read GetViewLines write SetViewLines;
property ViewMode : TGtkTreeViewMode read GetViewMode write SetViewMode;
procedure Append (TreeItem:TFPgtkWidget);
procedure Prepend (TreeItem:TFPgtkWidget);
procedure Insert (TreeItem:TFPgtkWidget; position:integer);
procedure Remove (TreeItem:TFPgtkWidget);
procedure ClearItems (StartPos:integer; EndPos:integer);
procedure SelectItem (Item:integer);
procedure UnselectItem (Item:integer);
procedure SelectChild (TreeItem:TFPgtkWidget);
procedure UnselectChild (TreeItem:TFPgtkWidget);
function ChildPosition (TreeItem:TFPgtkWidget) : integer;
function RootTree : TFPgtkTree;
function IsRootTree : boolean;
procedure GetSelection (aGroup:TFPgtkGroup);
function Level : integer;
end;
TFPgtkCalendar = class (TFPgtkWidget)
Private
function GetDisplayOptions : TGtkCalendarDisplayOptions;
procedure SetDisplayOptions (TheValue : TGtkCalendarDisplayOptions);
function GetDate : TDatetime;
procedure SetDate (TheValue : TDatetime);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkCalendar;
function SelectMonth (aMonth:guint; aYear:guint) : integer;
procedure SelectDay (aDay:guint);
function MarkDay (aDay:guint) : integer;
function UnmarkDay (aDay:guint) : integer;
procedure ClearMarks;
property DisplayOptions : TGtkCalendarDisplayOptions read GetDisplayOptions write SetDisplayOptions;
property Date : TDatetime read GetDate write SetDate;
procedure Freeze;
procedure Thaw;
function ConnectMonthChanged (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectAfterMonthChanged (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectDaySelected (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectAfterDaySelected (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectDaySelectedDoubleClick (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectAfterDaySelectedDoubleClick (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectPrevMonth (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectAfterPrevMonth (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectNextMonth (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectAfterNextMonth (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectPrevYear (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectAfterPrevYear (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectNextYear (proc:TFPgtksignalFunction; data:pointer) : guint;
function ConnectAfterNextYear (proc:TFPgtksignalFunction; data:pointer) : guint;
end;
TFPgtkDrawingArea = class (TFPgtkWidget)
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkDrawingArea;
procedure SetSize (Width:integer; Height:integer);
end;
TFPgtkCurve = class (TFPgtkDrawingArea)
Private
function GetCurveType : TGtkCurveType;
procedure SetCurveType (TheValue : TGtkCurveType);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkCurve;
procedure SetRange (MinX:float; MaxX:float; MinY:float; MaxY:float);
procedure Reset;
procedure SetGamma (GammaValue:float);
property CurveType : TGtkCurveType read GetCurveType write SetCurveType;
end;
TFPgtkInsertSignalFunction = procedure (Sender:TFPgtkObject; NewText:string; TextLength:integer; var Position:integer; data:pointer) of Object;
TFPgtkDeleteSignalFunction = procedure (Sender:TFPgtkObject; StartPos:integer; EndPos:integer; data:pointer) of Object;
TFPgtkXYSignalFunction = procedure (Sender:TFPgtkObject; x:integer; y:integer; data:pointer) of Object;
TFPgtkDirectionSignalFunction = procedure (Sender:TFPgtkObject; Direction:integer; data:pointer) of Object;
TFPgtkMoveWordSignalFunction = procedure (Sender:TFPgtkObject; NumWords:integer; data:pointer) of Object;
TFPgtkMovetoSignalFunction = procedure (Sender:TFPgtkObject; MoveTo:integer; data:pointer) of Object;
TFPgtkEditable = class (TFPgtkWidget)
Private
function GetEditable : boolean;
procedure SetEditable (TheValue : boolean);
function GetVisible : boolean;
procedure SetVisible (TheValue : boolean);
function GetPosition : integer;
procedure SetPosition (TheValue : integer);
function GetSelectionStart : integer;
procedure SetSelectionStart (TheValue : integer);
function GetSelectionEnd : integer;
procedure SetSelectionEnd (TheValue : integer);
function GetSelection : string;
Protected
function GetHasSelection : boolean; Dynamic;
procedure SetSelection (TheValue:string); Dynamic;
function GetText : string; Dynamic;
procedure SetText (TheValue:string); Dynamic; Abstract;
Public
function TheGtkObject : PGtkEditable;
property HasSelection : boolean read GetHasSelection;
property Editable : boolean read GetEditable write SetEditable;
property Visible : boolean read GetVisible write SetVisible;
property Position : integer read GetPosition write SetPosition;
property SelectionStart : integer read GetSelectionStart write SetSelectionStart;
property SelectionEnd : integer read GetSelectionEnd write SetSelectionEnd;
property Selection : string read GetSelection write SetSelection;
property Text : string read GetText write SetText;
procedure Changed;
procedure InsertText (NewText:string; AtPosition:integer);
procedure DeleteText (StartPos:integer; EndPos:integer);
procedure GetChars (StartPos:integer; EndPos:integer);
procedure CutClipboard;
procedure CopyClipboard;
procedure PasteClipboard;
procedure SelectRegion (StartPos:integer; EndPos:integer);
procedure ClaimSelection (claim:boolean; time:guint32);
procedure DeleteSelection;
procedure Clear;
function InsertSignalConnect (Signal:string; Proc:TFPgtkInsertSignalFunction; data:pointer) : guint;
function InsertSignalConnectAfter (Signal:string; Proc:TFPgtkInsertSignalFunction; data:pointer) : guint;
function DeleteSignalConnect (Signal:string; Proc:TFPgtkDeleteSignalFunction; data:pointer) : guint;
function DeleteSignalConnectAfter (Signal:string; Proc:TFPgtkDeleteSignalFunction; data:pointer) : guint;
function XYSignalConnect (Signal:string; Proc:TFPgtkXYSignalFunction; data:pointer) : guint;
function XYSignalConnectAfter (Signal:string; Proc:TFPgtkXYSignalFunction; data:pointer) : guint;
function DirectionSignalConnect (Signal:string; Proc:TFPgtkDirectionSignalFunction; data:pointer) : guint;
function DirectionSignalConnectAfter (Signal:string; Proc:TFPgtkDirectionSignalFunction; data:pointer) : guint;
function MoveWordSignalConnect (Signal:string; Proc:TFPgtkMoveWordSignalFunction; data:pointer) : guint;
function MoveWordSignalConnectAfter (Signal:string; Proc:TFPgtkMoveWordSignalFunction; data:pointer) : guint;
function MovetoSignalConnect (Signal:string; Proc:TFPgtkMovetoSignalFunction; data:pointer) : guint;
function MovetoSignalConnectAfter (Signal:string; Proc:TFPgtkMovetoSignalFunction; data:pointer) : guint;
function ConnectChanged (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterChanged (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectActivate (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterActivate (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectInsertText (proc:TFPgtkInsertSignalFunction; data:pointer) : guint;
function ConnectAfterInsertText (proc:TFPgtkInsertSignalFunction; data:pointer) : guint;
function ConnectDeleteText (proc:TFPgtkDeleteSignalFunction; data:pointer) : guint;
function ConnectAfterDeleteText (proc:TFPgtkDeleteSignalFunction; data:pointer) : guint;
function ConnectSetEditable (proc:TFPgtkBooleanSignalFunction; data:pointer) : guint;
function ConnectAfterSetEditable (proc:TFPgtkBooleanSignalFunction; data:pointer) : guint;
function ConnectMoveCursor (proc:TFPgtkXYSignalFunction; data:pointer) : guint;
function ConnectAfterMoveCursor (proc:TFPgtkXYSignalFunction; data:pointer) : guint;
function ConnectMoveWord (proc:TFPgtkMoveWordSignalFunction; data:pointer) : guint;
function ConnectAfterMoveWord (proc:TFPgtkMoveWordSignalFunction; data:pointer) : guint;
function ConnectMovePage (proc:TFPgtkXYSignalFunction; data:pointer) : guint;
function ConnectAfterMovePage (proc:TFPgtkXYSignalFunction; data:pointer) : guint;
function ConnectMoveToRow (proc:TFPgtkMoveToSignalFunction; data:pointer) : guint;
function ConnectAfterMoveToRow (proc:TFPgtkMoveToSignalFunction; data:pointer) : guint;
function ConnectMoveToCol (proc:TFPgtkMoveToSignalFunction; data:pointer) : guint;
function ConnectAfterMoveToCol (proc:TFPgtkMoveToSignalFunction; data:pointer) : guint;
function ConnectKillChar (proc:TFPgtkDirectionSignalFunction; data:pointer) : guint;
function ConnectAfterKillChar (proc:TFPgtkDirectionSignalFunction; data:pointer) : guint;
function ConnectKillWord (proc:TFPgtkDirectionSignalFunction; data:pointer) : guint;
function ConnectAfterKillWord (proc:TFPgtkDirectionSignalFunction; data:pointer) : guint;
function ConnectKillLine (proc:TFPgtkDirectionSignalFunction; data:pointer) : guint;
function ConnectAfterKillLine (proc:TFPgtkDirectionSignalFunction; data:pointer) : guint;
function ConnectCutClipboard (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterCutClipboard (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectCopyClipboard (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterCopyClipboard (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectPasteClipboard (proc:TFPgtkSignalFunction; data:pointer) : guint;
function ConnectAfterPasteClipboard (proc:TFPgtkSignalFunction; data:pointer) : guint;
end;
TFPgtkEntry = class (TFPgtkEditable)
Private
function GetVisibility : boolean;
procedure SetVisibility (TheValue : boolean);
function GetMaxLength : word;
procedure SetMaxLength (TheValue : word);
Protected
procedure CreateGtkObject; override;
procedure SetText (TheValue:string); Override;
Public
function TheGtkObject : PGtkEntry;
procedure AppendText (aText:string);
procedure PrependText (aText:string);
property Visibility : boolean read GetVisibility write SetVisibility;
property MaxLength : word read GetMaxLength write SetMaxLength;
end;
TFPgtkSpinButton = class (TFPgtkEntry)
Private
function GetAdjustment : TFPgtkAdjustment;
procedure SetAdjustment (TheValue : TFPgtkAdjustment);
function GetClimbRate : gfloat;
procedure SetClimbRate (TheValue : gfloat);
function GetDigits : integer;
procedure SetDigits (TheValue : integer);
function GetAsInteger : integer;
procedure SetAsInteger (TheValue : integer);
function GetAsFloat : gfloat;
procedure SetAsFloat (TheValue : gfloat);
function GetUpdatePolicy : TGtkSpinButtonUpdatePolicy;
procedure SetUpdatePolicy (TheValue : TGtkSpinButtonUpdatePolicy);
function GetNumeric : boolean;
procedure SetNumeric (TheValue : boolean);
function GetWrap : boolean;
procedure SetWrap (TheValue : boolean);
function GetShadowType : TGtkShadowType;
procedure SetShadowType (TheValue : TGtkShadowType);
function GetSnapToTicks : boolean;
procedure SetSnapToTicks (TheValue : boolean);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkSpinButton;
procedure Configure (Adj:TFPgtkAdjustment; aClimbRate:gfloat; aDigits:integer);
property Adjustment : TFPgtkAdjustment read GetAdjustment write SetAdjustment;
property ClimbRate : gfloat read GetClimbRate write SetClimbRate;
property Digits : integer read GetDigits write SetDigits;
property AsInteger : integer read GetAsInteger write SetAsInteger;
property AsFloat : gfloat read GetAsFloat write SetAsFloat;
property UpdatePolicy : TGtkSpinButtonUpdatePolicy read GetUpdatePolicy write SetUpdatePolicy;
property Numeric : boolean read GetNumeric write SetNumeric;
procedure Spin (direction:TGtkSpinType; increment:gfloat);
property Wrap : boolean read GetWrap write SetWrap;
property ShadowType : TGtkShadowType read GetShadowType write SetShadowType;
property SnapToTicks : boolean read GetSnapToTicks write SetSnapToTicks;
procedure Update;
end;
TFPgtkText = class (TFPgtkEditable)
Private
FLines:TStrings;
FIsChanged:boolean;
procedure SigChanged (Sender:TFPgtkObject; data:pointer);
function GetLines : TStrings;
function GetWordWrap : boolean;
procedure SetWordWrap (TheValue : boolean);
function GetLineWrap : boolean;
procedure SetLineWrap (TheValue : boolean);
function GetPoint : integer;
procedure SetPoint (TheValue : integer);
function GetHAdjustment : TFPgtkAdjustment;
procedure SetHAdjustment (TheValue : TFPgtkAdjustment);
function GetVAdjustment : TFPgtkAdjustment;
procedure SetVAdjustment (TheValue : TFPgtkAdjustment);
Protected
procedure CreateGtkObject; override;
procedure RefreshLines;
procedure SetText (TheValue:string); Override;
Public
function TheGtkObject : PGtkText;
constructor Create;
destructor Destroy; Override;
property Lines : TStrings read GetLines;
procedure Freeze;
procedure Thaw;
function TextLength : guint;
procedure Insert (font:PgdkFont; fore:PgdkColor; back:PgdkColor; TheText:string);
procedure DeleteBackward (number:longword);
procedure DeleteForward (number:longword);
property WordWrap : boolean read GetWordWrap write SetWordWrap;
property LineWrap : boolean read GetLineWrap write SetLineWrap;
property Point : integer read GetPoint write SetPoint;
procedure SetAdjustments (hadj:TFPgtkAdjustment; vadj:TFPgtkAdjustment);
property HAdjustment : TFPgtkAdjustment read GetHAdjustment write SetHAdjustment;
property VAdjustment : TFPgtkAdjustment read GetVAdjustment write SetVAdjustment;
end;
TFPgtkRuler = class (TFPgtkWidget)
Public
function TheGtkObject : PGtkRuler;
procedure SetMetric (aMetric:TGtkMetricType);
procedure SetRange (Lower:float; Upper:float; Position:float; MaxSize:float);
end;
TFPgtkHRuler = class (TFPgtkRuler)
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkHRuler;
end;
TFPgtkVRuler = class (TFPgtkRuler)
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkVRuler;
end;
TFPgtkRange = class (TFPgtkWidget)
Private
function GetAdjustment : TFPgtkAdjustment;
procedure SetAdjustment (TheValue : TFPgtkAdjustment);
function GetUpdatePolicy : TgtkUpdateType;
procedure SetUpdatePolicy (TheValue : TgtkUpdateType);
Protected
FAdj:TFPgtkAdjustment;
Public
function TheGtkObject : PGtkRange;
property Adjustment : TFPgtkAdjustment read GetAdjustment write SetAdjustment;
property UpdatePolicy : TgtkUpdateType read GetUpdatePolicy write SetUpdatePolicy;
constructor Create (AnAdjustment:TFPgtkAdjustment);
procedure DrawBackground;
procedure DrawTrough;
procedure DrawStepForw;
procedure DrawStepBack;
procedure DrawSlider;
procedure SliderUpdate;
function TroughClick (X:integer; Y:integer; var JumpPerc:gfloat) : integer;
procedure DefaultHSliderUpdate;
procedure DefaultVSliderUpdate;
function DefaultHTroughClick (X:integer; Y:integer; var JumpPerc:gfloat) : integer;
function DefaultVTroughClick (X:integer; Y:integer; var JumpPerc:gfloat) : integer;
procedure defaultHMotion (XDelta:integer; YDelta:integer);
procedure defaultVMotion (XDelta:integer; YDelta:integer);
procedure ClearBackground;
end;
TFPgtkScale = class (TFPgtkRange)
Private
function GetDrawValue : boolean;
procedure SetDrawValue (TheValue : boolean);
function GetValuePos : TGtkPositionType;
procedure SetValuePos (TheValue : TGtkPositionType);
Public
function TheGtkObject : PGtkScale;
procedure SetDigits (TheValue:integer);
property DrawValue : boolean read GetDrawValue write SetDrawValue;
property ValuePos : TGtkPositionType read GetValuePos write SetValuePos;
end;
TFPgtkHScale = class (TFPgtkScale)
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkHScale;
end;
TFPgtkVScale = class (TFPgtkScale)
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkVScale;
end;
TFPgtkScrollbar = class (TFPgtkRange)
Public
function TheGtkObject : PGtkScrollbar;
end;
TFPgtkHScrollbar = class (TFPgtkScrollbar)
Protected
procedure CreateGtkObject; Override;
Public
function TheGtkObject : PGtkHScrollbar;
end;
TFPgtkVScrollbar = class (TFPgtkScrollbar)
Protected
procedure CreateGtkObject; Override;
Public
end;
TFPgtkSeparator = class (TFPgtkWidget)
Public
function TheGtkObject : PGtkSeparator;
end;
TFPgtkHSeparator = class (TFPgtkSeparator)
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkHSeparator;
end;
TFPgtkVSeparator = class (TFPgtkSeparator)
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkVSeparator;
end;
TFPgtkPreview = class (TFPgtkWidget)
Private
function GetExpand : longbool;
procedure SetExpand (TheValue : longbool);
function GetDither : TGdkRgbDither;
procedure SetDither (TheValue : TGdkRgbDither);
Protected
procedure CreateGtkObject; override;
Public
function TheGtkObject : PGtkPreview;
procedure Size (aWidth:integer; aHeight:integer);
procedure Put (aWindow:PGdkWindow; gc:PGdkGC; SrcX:integer; SrcY:integer; destX:integer; DestY:integer; aWidth:integer; aHeight:integer);
procedure DrawRow (data:pguchar; X:integer; Y:integer; W:integer);
property Expand : longbool read GetExpand write SetExpand;
property Dither : TGdkRgbDither read GetDither write SetDither;
end;
TFPgtkProgress = class (TFPgtkWidget)
Private
function GetShowtext : longbool;
procedure SetShowtext (TheValue : longbool);
function GetTextXAlign : gfloat;
procedure SetTextXAlign (TheValue : gfloat);
function GetTextYAlign : gfloat;
procedure SetTextYAlign (TheValue : gfloat);
function GetCurrentValue : float;
procedure SetCurrentValue (TheValue : float);
function GetPercentage : float;
procedure SetPercentage (TheValue : float);
function GetFormatString : string;
procedure SetFormatString (TheValue : string);
function GetAdjustment : TFPgtkAdjustment;
procedure SetAdjustment (TheValue : TFPgtkAdjustment);
function GetActivityMode : longbool;
procedure SetActivityMode (TheValue : longbool);
Public
function TheGtkObject : PGtkProgress;
property Showtext : longbool read GetShowtext write SetShowtext;
property TextXAlign : gfloat read GetTextXAlign write SetTextXAlign;
property TextYAlign : gfloat read GetTextYAlign write SetTextYAlign;
procedure SetTextAlignment (anXalign:gfloat; anYAlign:gfloat);
property CurrentValue : float read GetCurrentValue write SetCurrentValue;
property Percentage : float read GetPercentage write SetPercentage;
function PercentageFromValue (aValue:gfloat) : gfloat;
property FormatString : string read GetFormatString write SetFormatString;
property Adjustment : TFPgtkAdjustment read GetAdjustment write SetAdjustment;
property ActivityMode : longbool read GetActivityMode write SetActivityMode;
function CurrentText : string;
function TextFromValue (aValue:gfloat) : string;
procedure Configure (aValue:gfloat; aMin:gfloat; aMax:gfloat);
end;
TFPgtkProgressBar = class (TFPgtkProgress)
Private
FAdj:TFPgtkAdjustment;
function GetBarStyle : TGtkProgressBarStyle;
procedure SetBarStyle (TheValue : TGtkProgressBarStyle);
function GetDiscreteBlocks : longword;
procedure SetDiscreteBlocks (TheValue : longword);
function GetActivityStep : longword;
procedure SetActivityStep (TheValue : longword);
function GetActivityBlocks : longword;
procedure SetActivityBlocks (TheValue : longword);
function GetOrientation : TGtkProgressBarOrientation;
procedure SetOrientation (TheValue : TGtkProgressBarOrientation);
Protected
procedure CreateGtkObject; Override;
Public
function TheGtkObject : PGtkProgressBar;
constructor Create (adj:TFPgtkAdjustment);
property BarStyle : TGtkProgressBarStyle read GetBarStyle write SetBarStyle;
property DiscreteBlocks : longword read GetDiscreteBlocks write SetDiscreteBlocks;
property ActivityStep : longword read GetActivityStep write SetActivityStep;
property ActivityBlocks : longword read GetActivityBlocks write SetActivityBlocks;
property Orientation : TGtkProgressBarOrientation read GetOrientation write SetOrientation;
end;
TFPgtkItemFactory = class (TFPgtkObject)
Public
end;
{ TFPgtkToolTips }
var
TheTooltips : TFPgtkTooltips;
{ TFPgtkButton }
const
DefaultButtonModifiers : TGdkModifierType = GDK_MOD1_MASK;
{ TFPgtkWindow }
const
drNone = 0;
drOk = 1;
drCancel = 2;
drYes = 3;
drNo = 4;
drRetry = 5;
NoMainLevel = high (guint);
{ TFPgtkFontSelection }
resourcestring
sFontNotFound = 'Can''t find font "%s" on this system';
Const
// TFPgtkObject
sgDestroy = 'destroy';
// TFPgtkData
sgDisconnect = 'disconnect';
// TFPgtkAdjustment
sgValueChanged = 'value_changed';
sgChanged = 'changed';
// TFPgtkWidget
sgShow = 'show';
sghide = 'hide';
sgmap = 'map';
sgunmap = 'unmap';
sgrealize = 'realize';
sgunrealize = 'unrealize';
sgDrawFocus = 'draw-focus';
sgDrawDefault = 'draw-defaut';
sgParentSet = 'parent-set';
sgGrabFocus = 'grab-focus';
sgEvent = 'event';
sgButtonPressEvent = 'button-press-event';
sgButtonReleaseEvent = 'button-release-event';
sgMotionNotifyEvent = 'motion-notify-event';
sgDeleteEvent = 'delete-event';
sgDestroyEvent = 'destroy-event';
sgExposeEvent = 'expose-event';
sgKeyPressEvent = 'key-press-event';
sgKeyReleaseEvent = 'key-release-event';
sgEnterNotifyEvent = 'enter-notify-event';
sgLeaveNotifyEvent = 'leave-notify-event';
sgConfigureEvent = 'configure-event';
sgFocusInEvent = 'focus-in-event';
sgFocusOutEvent = 'focus-out-event';
sgMapEvent = 'map-event';
sgUnmapEvent = 'unmap-event';
sgPropertyNotifyEvent = 'property-notify-event';
sgSelectionClearEvent = 'selection-clear-event';
sgSelectionRequestEvent = 'selection-request-event';
sgSelectionNotifyEvent = 'selection-notify-event';
sgProximityInEvent = 'proximity-in-event';
sgProximityOutEvent = 'proximity-out-event';
sgClientEvent = 'client-event';
sgNoExposeEvent = 'no-expose-event';
sgVisibilityNotifyEvent = 'visibility-notify-event';
// TFPgtkContainer
sgAdd = 'add';
sgRemove = 'remove';
sgCheckResize = 'check-resize';
sgFocus = 'focus';
sgSetFocusChild = 'set-focus';
// TFPgtkButton
sgClicked = 'clicked';
sgPressed = 'pressed';
sgReleased = 'released';
sgEnter = 'enter';
sgLeave = 'leave';
// TFPgtkToggleButton
sgToggled = 'toggled';
// TFPgtkItem
sgSelect = 'select';
sgDeselect = 'deselect';
sgToggle = 'toggle';
// TFPgtkMenuItem
sgActivate = 'activate';
sgActivateItem = 'activate-item';
// TFPgtkListItem
sgToggleFocusRow = 'toggle-focus-row';
sgSelectAll = 'select-all';
sgUnselectAll = 'unselect-all';
sgUndoSelection = 'undo-selection';
sgStartSelection = 'start-selection';
sgEndSelection = 'end-selection';
sgToggleAddMode = 'toggle-add-mode';
sgExtendSelection = 'extend-selection';
sgScrollVertical = 'scroll-vertical';
sgScrollHorizontal = 'scroll-horizontal';
// TFPgtkTreeItem
sgCollapse = 'collapse';
sgExpand = 'expand';
// TFPgtkWindow
sgSetFocus = 'set-focus';
// TFPgtkInputDialog
sgEnableDevice = 'enable-device';
sgDisableDevice = 'disable-device';
// TFPgtkHandleBox
sgChildAttached = 'child-attached';
sgChildDetached = 'child-detached';
// TFPgtkStatusbar
sgTextPopped = 'text-popped';
sgTextPushed = 'test-pushed';
// TFPgtkCList
sgSelectRow = 'select-row';
sgUnselectRow = 'unselect-row';
sgRowMove = 'row-move';
sgScrolHorizontal = 'scroll-horizontal';
sgAbortColumnResize = 'abort-column-resize';
sgClickColumn = 'click-column';
sgResizeColumn = 'resize-column';
// TFPgtkNotebook
sgSwitchPage = 'switch-page';
// TFPgtkList
sgSelectionChanged = 'selection-changed';
sgSelectChild = 'select-child';
sgUnselectChild = 'unselect-child';
// TFPgtkMenuShell
sgDeActivate = 'deactivate';
sgSelectionDone = 'selection-done';
sgCancel = 'cancel';
sgMoveCurrent = 'move-current';
sgActivateCurrent = 'activate-current';
// TFPgtkCalendar
sgMonthChanged = 'month-changed';
sgDaySelected = 'day-selected';
sgDaySelectedDoubleClick = 'day-selected-double-click';
sgPrevMonth = 'prev-month';
sgNextMonth = 'next-month';
sgPrevYear = 'prev-year';
sgNextYear = 'next-year';
// TFPgtkEditable
sgInsertText = 'insert-text';
sgDeleteText = 'delete-text';
sgSetEditable = 'set-editable';
sgMoveCursor = 'move-cursor';
sgMoveWord = 'move-word';
sgMovePage = 'move-page';
sgMoveToRow = 'move-to-row';
sgMoveToCol = 'move-to-column';
sgKillChar = 'kill-char';
sgKillWord = 'kill-word';
sgKillLine = 'kill-line';
sgCutClipboard = 'cut-clipboard';
sgCopyClipboard = 'copy-clipboard';
sgPasteClipboard = 'paste-clipboard';
// TFPgtkObject
function GetPascalInstance (gtkObject:PGtkObject; ObjClass:TFPgtkObjectClass) : TFPgtkObject; Overload;
function GetPascalInstance (gtkObject:PGtkObject) : TFPgtkObject; Overload;
function ConvertToGtkObject (AnObject:TFPgtkObject) : PGtkObject;
function ConvertToPgChar (AString:string) : PgChar;
function FreeFPgtkObjects (Data:pointer) : longbool; Cdecl;
procedure DestroyData (data:pointer); Cdecl;
function IntToPointer (Value:integer) : pointer;
function PointerToInt (Value:pointer) : integer;
// TFPgtkToolTips
function GetTooltipsData (Widget:TFPgtkWidget) : PGtkTooltipsData;
function ComposeTooltip (TooltipText:string; PrivText:string) : string;
procedure DecomposeTooltip (Tooltip:string; var TooltipText:string; var PrivText:string);
// TFPgtkWidget
function GetPascalInstance (Widget:PGtkWidget) : TFPgtkWidget; Overload;
function GetPascalInstance (Widget:PGtkWidget; ObjClass:TFPgtkObjectClass) : TFPgtkWidget; Overload;
function ConvertToGtkWidget (AnObject:TFPgtkWidget) : PGtkWidget;
// TFPgtkImage
function NewImage (aWidth:integer; aHeight:integer) : PGdkImage;
// TFPgtkPixmap
function StringsToPPgchar (Data:TStrings) : PPgchar;
function ArrayToPPgchar (Data:array of string) : PPgchar;
procedure CreateGdkPixmap (var ThePixmap:PGdkPixmap; var TheMask:PGdkBitmap; aWindow:PGdkWindow; data:array of string);
// TFPgtkRadioButtonGroup
function RadioButtonGroupCreateFromStrings (TheItems:TStrings; ToggledFunction:TFPgtkSignalFunction) : TFPgtkRadioButtonGroup;
// TFPgtkWindow
procedure AcceleratorAdd (AG:PGtkAccelGroup; aWidget:TFPgtkWidget; aSignal:string; Key:guint; Mods:TGdkModifierType; Flags:TGtkAccelFlags);
procedure AcceleratorRemove (AG:PGtkAccelGroup; aWidget:TFPgtkWidget; Key:guint; Mods:TGdkModifierType); Overload;
procedure AccelGroupLock (AG:PGtkAccelGroup);
procedure AccelGroupUnlock (AG:PGtkAccelGroup);
function AccelKeyName (Key:guint; Mods:TGdkModifierType) : string;
procedure AccelKeyParse (AccelName:string; var Key:guint; var Mods:TGdkModifierType);
procedure AccelGroupActivate (AG:PGtkAccelGroup; Key:guint; Mods:TGdkModifierType);
// TFPgtkButtonBox
procedure SetButtonBoxDefaultSize (aMinWidth:integer; aMinHeight:integer);
procedure GetButtonBoxDefaultSize (var aMinWidth:integer; var aMinHeight:integer);
procedure SetButtonBoxDefaultPadding (aIPadX:integer; aIPadY:integer);
procedure GetButtonBoxDefaultPadding (var aIPadX:integer; var aIPadY:integer);
// TFPgtkPreview
procedure SetGamma (aGamma:double);
IMPLEMENTATION
{ TFPgtkObject }
function TFPgtkObject.TheGtkObject : PGtkObject;
begin
result := PgtkObject(FGtkObject);
end;
const
dtPascalInstance = 'Pascal_Instance';
type
TIntegerPointer = record
case word of
0 : (i : integer);
1 : (p : pointer);
end;
var
ObjectsToFree : TList;
ip : TIntegerPointer;
procedure Signalproc (Sender:PGtkobject; Data:pointer); cdecl;
var p : TFPgtkSignalFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkSignalFunction (TheSignalProc);
p (TheWidget as TFPgtkObject, TheData)
end;
end;
function TFPgtkObject.SignalConnect (signal:string; proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@Signalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkObject.SignalConnectAfter (signal:string; proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@Signalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
procedure BooleanSignalproc (Sender:PGtkobject; Bool:boolean; data:pointer); cdecl;
var p : TFPgtkBooleanSignalFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkBooleanSignalFunction (TheSignalProc);
p (TheWidget as TFPgtkObject, Bool, TheData)
end;
end;
function TFPgtkObject.BooleanSignalConnect (signal:string; proc:TFPgtkBooleanSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@BooleanSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkObject.BooleanSignalConnectAfter (signal:string; proc:TFPgtkBooleanSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@BooleanSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function GetPascalInstance (gtkObject:PGtkObject; ObjClass:TFPgtkObjectClass) : TFPgtkObject; Overload;
begin
result := GetPascalInstance(GtkObject);
if not assigned(result) and assigned(GtkObject) then
result := ObjClass.CreateFromObject (GtkObject);
end;
function GetPascalInstance (gtkObject:PGtkObject) : TFPgtkObject; Overload;
var p : pointer;
begin
result := nil;
if assigned (gtkobject) then
begin
p := gtk_object_get_data (gtkObject, dtPascalInstance);
if assigned(p) then
result := PPascalClassData(p)^.TheInstance;
end;
end;
function ConvertToGtkObject (AnObject:TFPgtkObject) : PGtkObject;
begin
if assigned(AnObject) then
result := AnObject.TheGtkObject
else
result := nil;
end;
function ConvertToPgChar (AString:string) : PgChar;
begin
result := pointer(aString);
end;
function TFPgtkObject.ConvertSignalData (proc:TFPgtkSignalFunction; data:pointer; FreeIt:boolean) : PSignalData;
begin
new (result);
with result^ do
begin
TheSignalProc := proc;
TheWidget := self;
TheData := data;
end;
if FreeIt then
SignalDatas.Add (result);
end;
function FreeFPgtkObjects (Data:pointer) : longbool; Cdecl;
var r : integer;
obj : TFPgtkObject;
begin
for r := ObjectsToFree.Count-1 downto 0 do
begin
obj := TFPgtkObject(ObjectsToFree[r]);
if assigned (Obj) then
Obj.Free;
end;
ObjectsToFree.Clear;
result := False;
end;
procedure TFPgtkObject.FreeClass (Sender:TFPgtkObject; Data:pointer);
begin
if FDestroying = dsAlive then
begin
if ObjectsToFree.Count = 0 then
g_idle_Add (@FreeFPgtkObjects, null);
ObjectsToFree.Add (self);
FGtkObject := null;
FDestroying := dsWaiting;
end;
end;
procedure TFPgtkObject.CheckConvertDatas;
begin
if not assigned (ConvertDatas) then
begin
ConvertDatas := TStringList.Create;
ConvertDatas.Sorted := True;
end;
end;
procedure TFPgtkObject.CheckNotifyList;
begin
if not assigned (Notifylist) then
NotifyList := TList.Create;
end;
procedure TFPgtkObject.InitCreate;
begin
inherited create;
SignalDatas := TList.Create;
end;
procedure TFPgtkObject.FinalCreate;
begin
PascalInstance.TheInstance := Self;
SetData (dtPascalInstance, @PascalInstance);
ConnectDestroy (@FreeClass, nil);
end;
constructor TFPgtkObject.Create;
begin
InitCreate;
CreateGtkObject;
FinalCreate;
end;
constructor TFPgtkObject.CreateFromObject (GtkObject:PGtkObject);
begin
InitCreate;
FGtkObject := GtkObject;
FinalCreate;
end;
procedure TFPgtkObject.AskNotification (AnObject:TFPgtkObject);
begin
CheckNotifyList;
with NotifyList do
if indexof(AnObject) < 0 then
begin
Add (AnObject);
AnObject.AskNotification (Self);
end;
end;
destructor TFPgtkObject.Destroy;
var r : integer;
datapointer : PSignalData;
begin
FDestroying := dsDestroying;
if assigned(NotifyList) then
begin
for r := 0 to NotifyList.count-1 do
TFPgtkObject(NotifyList[r]).NotifyDestroy (Self);
NotifyList.Free;
NotifyList := nil;
end;
if assigned(FGtkObject) and not Gtk_Object_destroyed(FGtkObject) then
begin
gtk_object_destroy (FGtkObject);
FGtkObject := nil;
end;
for r := 0 to SignalDatas.count-1 do
begin
datapointer := signaldatas[r];
dispose (datapointer);
end;
signaldatas.Free;
if assigned (convertDatas) then
ConvertDatas.Free;
r := ObjectsToFree.indexof (self);
if r >= 0 then
ObjectsToFree[r] := nil;
inherited destroy;
end;
procedure TFPgtkObject.NotifyDestroy (AnObject:TFPgtkObject);
var r : integer;
begin
if assigned(NotifyList) then
begin
r := NotifyList.indexOf (AnObject);
if r >= 0 then
NotifyList.Delete (r);
end;
end;
function TFPgtkObject.ConnectDestroy (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgDestroy, proc, data);
end;
function TFPgtkObject.ConnectAfterDestroy (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgDestroy, proc, data);
end;
procedure TFPgtkObject.SignalDisconnect (SignalHandler:guint);
begin
gtk_signal_disconnect (TheGtkObject, SignalHandler);
end;
procedure TFPgtkObject.SignalBlockHandler (SignalHandler:guint);
begin
gtk_signal_handler_block (TheGtkObject, SignalHandler);
end;
procedure TFPgtkObject.SignalUnblockHandler (SignalHandler:guint);
begin
gtk_signal_handler_unblock (TheGtkObject, SignalHandler);
end;
procedure TFPgtkObject.SignalEmit (aName:string; Args:array of const);
begin
// gtk_signal_emit_by_name (TheGtkObject, pgchar(aName), Args);
end;
function TFPgtkObject.SignalNEmissions (aName:string) : guint;
begin
result := gtk_signal_n_emissions_by_name (FGtkObject, pgchar(aName));
end;
procedure TFPgtkObject.SignalEmitStop (aName:string);
begin
gtk_signal_emit_stop_by_name (FGtkObject, pgchar(aName));
end;
procedure TFPgtkObject.SetData (Key:string; Data:pointer);
begin
gtk_object_set_data (TheGtkObject, ConvertToPgchar(Key), Data);
end;
function TFPgtkObject.GetUserData : pointer;
begin
result := gtk_object_get_user_data(TheGtkObject);
end;
procedure TFPgtkObject.SetUserData (TheValue:pointer);
begin
gtk_object_set_user_data(TheGtkObject,TheValue);
end;
procedure TFPgtkObject.SetDataFull (Key:string; Data:pointer; Destroyer:TFPgtkSignalFunction);
begin
gtk_object_set_data_full (TheGtkObject, pgChar(Key), ConvertSignalData (Destroyer, data, false), TGtkDestroyNotify(@DestroyData));
CheckConvertDatas;
ConvertDatas.Add (Key);
end;
procedure TFPgtkObject.RemoveData (Key:string);
var r : integer;
begin
gtk_object_remove_data (TheGtkObject, pgChar(Key));
if assigned (ConvertDatas) then
begin
r := ConvertDatas.indexof (Key);
if r >= 0 then
ConvertDatas.Delete (r);
end;
end;
function TFPgtkObject.GetData (Key:string) : pointer;
var p : pointer;
begin
p := gtk_object_get_data (TheGtkObject, pgChar(Key));
if assigned(ConvertDatas) and (ConvertDatas.IndexOf (Key) >= 0) then
result := PPascalClassData (PSignalData(p)^.TheData)^.TheInstance
else
result := p;
end;
procedure DestroyData (data:pointer); Cdecl;
begin
with PSignaldata(data)^ do
TheSignalProc (TheWidget, TheData);
end;
function IntToPointer (Value:integer) : pointer;
begin
ip.i := Value;
result := ip.p;
end;
function PointerToInt (Value:pointer) : integer;
begin
ip.p := Value;
result := ip.i;
end;
function TFPgtkObject.GtkDestroyed : boolean;
begin
result := gtk_object_destroyed (TheGtkObject);
end;
procedure TFPgtkObject.Constructed;
begin
gtk_object_constructed (TheGtkObject);
end;
procedure TFPgtkObject.ConstructedDefault;
begin
gtk_object_default_construct (TheGtkObject);
end;
procedure TFPgtkObject.Sink;
begin
gtk_object_sink (TheGtkObject);
end;
procedure TFPgtkObject.Ref;
begin
gtk_object_ref (TheGtkObject);
end;
procedure TFPgtkObject.Unref;
begin
gtk_object_unref (TheGtkObject);
end;
procedure TFPgtkObject.WeakRef (Notify:TFPgtkSignalFunction; data:pointer);
begin
gtk_object_weakref (TheGtkObject, TGtkDestroyNotify(@DestroyData), ConvertSignalData (Notify, data, true));
end;
procedure TFPgtkObject.WeakUnref (notify:TFPgtkSignalFunction; data:pointer);
begin
gtk_object_weakunref (TheGtkObject, TGtkDestroyNotify(@DestroyData), ConvertSignalData (Notify, data, true));
end;
{ TFPgtkData }
function TFPgtkData.TheGtkObject : PGtkData;
begin
result := PgtkData(FGtkObject);
end;
function TFPgtkData.ConnectDisconnect (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgDisconnect, proc, data);
end;
function TFPgtkData.ConnectAfterDisconnect (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgDisconnect, proc, data);
end;
{ TFPgtkAdjustment }
function TFPgtkAdjustment.TheGtkObject : PGtkAdjustment;
begin
result := PgtkAdjustment(FGtkObject);
end;
procedure TFPgtkAdjustment.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_Adjustment_new (0,0,10,1,2,2));
end;
procedure TFPgtkAdjustment.Configure (aLower:gfloat; anUpper:gfloat; aValue:gfloat; aStepInc:gfloat; aPageInc:gfloat; aPageSize:gfloat);
begin
Lower := aLower;
Upper := anUpper;
Value := aValue;
StepIncrement := aStepInc;
PageIncrement := aPageInc;
PageSize := aPageSize;
end;
function TFPgtkAdjustment.ConnectValueChanged (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgValueChanged, proc, data);
end;
function TFPgtkAdjustment.ConnectAfterValueChanged (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgValueChanged, proc, data);
end;
function TFPgtkAdjustment.ConnectChanged (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgChanged, proc, data);
end;
function TFPgtkAdjustment.ConnectAfterChanged (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgChanged, proc, data);
end;
procedure TFPgtkAdjustment.ValueChanged;
begin
gtk_Adjustment_Value_Changed (TheGtkObject);
end;
procedure TFPgtkAdjustment.Changed;
begin
gtk_Adjustment_Changed (TheGtkObject);
end;
procedure TFPgtkAdjustment.ClampPage (aLower:gfloat; aUpper:gfloat);
begin
gtk_Adjustment_Clamp_Page (TheGtkObject, aLower, aUpper);
end;
function TFPgtkAdjustment.GetValue : gfloat;
begin
result := TheGtkObject^.Value;
end;
procedure TFPgtkAdjustment.SetValue (TheValue:gfloat);
begin
gtk_Adjustment_set_Value(TheGtkObject,TheValue);
end;
function TFPgtkAdjustment.GetLower : gfloat;
begin
result := TheGtkObject^.Lower;
end;
procedure TFPgtkAdjustment.SetLower (TheValue:gfloat);
begin
TheGtkObject^.Lower := TheValue;
end;
function TFPgtkAdjustment.GetUpper : gfloat;
begin
result := TheGtkObject^.Upper;
end;
procedure TFPgtkAdjustment.SetUpper (TheValue:gfloat);
begin
TheGtkObject^.Upper := TheValue;
end;
function TFPgtkAdjustment.GetStepIncrement : gfloat;
begin
result := TheGtkObject^.Step_Increment;
end;
procedure TFPgtkAdjustment.SetStepIncrement (TheValue:gfloat);
begin
TheGtkObject^.Step_Increment := TheValue;
end;
function TFPgtkAdjustment.GetPageIncrement : gfloat;
begin
result := TheGtkObject^.Page_Increment;
end;
procedure TFPgtkAdjustment.SetPageIncrement (TheValue:gfloat);
begin
TheGtkObject^.Page_increment := TheValue;
end;
function TFPgtkAdjustment.GetPageSize : gfloat;
begin
result := TheGtkObject^.Page_Size;
end;
procedure TFPgtkAdjustment.SetPageSize (TheValue:gfloat);
begin
TheGtkObject^.Page_Size := TheValue;
end;
{ TFPgtkToolTips }
function TFPgtkToolTips.TheGtkObject : PGtkToolTips;
begin
result := PgtkToolTips(FGtkObject);
end;
procedure TFPgtkToolTips.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_tooltips_new);
end;
procedure TFPgtkToolTips.SetColors (Fore:PGdkColor; Back:PGdkColor);
begin
gtk_tooltips_set_colors (TheGtkObject, Fore, Back);
end;
procedure TFPgtkToolTips.SetTip (Widget:TFPgtkWidget; TipText:string; TipPrivate:string);
begin
gtk_tooltips_set_tip (TheGtkObject, PGtkwidget(ConvertToGtkObject(Widget)), ConvertToPgchar(TipText), ConvertToPgchar(TipPrivate));
end;
function TFPgtkToolTips.GetEnabled : boolean;
begin
result := boolean(gtk.enabled(TheGtkObject^));
end;
procedure TFPgtkToolTips.SetEnabled (TheValue:boolean);
begin
if TheValue then
gtk_tooltips_enable (TheGtkObject)
else
gtk_tooltips_disable (TheGtkObject);
end;
function TFPgtkToolTips.GetDelay : integer;
begin
result := gtk.delay(TheGtkObject^);
end;
procedure TFPgtkToolTips.SetDelay (TheValue:integer);
begin
gtk_tooltips_set_delay(TheGtkObject,TheValue);
end;
function TFPgtkToolTips.GetColorForeground : PGdkColor;
begin
result := TheGtkObject^.foreground;
end;
procedure TFPgtkToolTips.SetColorForeground (TheValue:PGdkColor);
begin
SetColors (TheValue, ColorBackGround);
end;
function TFPgtkToolTips.GetColorBackground : PGdkColor;
begin
result := TheGtkObject^.background;
end;
procedure TFPgtkToolTips.SetColorBackground (TheValue:PGdkColor);
begin
SetColors (ColorForeground, TheValue);
end;
function GetTooltipsData (Widget:TFPgtkWidget) : PGtkTooltipsData;
begin
result := gtk_tooltips_data_get (ConvertToGtkWidget(Widget));
end;
function ComposeTooltip (TooltipText:string; PrivText:string) : string;
begin
result := TooltipText;
if PrivText <> '' then
result := result + '|' + PrivText;
end;
procedure DecomposeTooltip (Tooltip:string; var TooltipText:string; var PrivText:string);
var r : integer;
begin
r := pos ('|', tooltip);
if r > 0 then
begin
TooltipText := copy(Tooltip, 1, r-1);
PrivText := copy (Tooltip, r+1, maxint);
end
else
begin
TooltipText := Tooltip;
PrivText := '';
end;
end;
procedure CheckTooltips;
begin
if not assigned (TheTooltips) then
TheTooltips := TFPgtkTooltips.Create;
end;
procedure TFPgtkToolTips.ForceWindow;
begin
gtk_tooltips_force_window (TheGtkObject);
end;
{ TFPgtkWidget }
function TFPgtkWidget.TheGtkObject : PGtkWidget;
begin
result := PgtkWidget(FGtkObject);
end;
function TFPgtkWidget.GetTheGtkWidget : PGtkWidget;
begin
result := PGtkWidget (TheGtkObject);
end;
procedure TFPgtkWidget.SetTheGtkWidget (TheValue:PGtkWidget);
begin
FGtkObject := PgtkObject (TheValue);
end;
function GetPascalInstance (Widget:PGtkWidget) : TFPgtkWidget; Overload;
begin
result := TFPgtkWidget (GetPascalInstance (PGtkObject(widget)));
end;
function GetPascalInstance (Widget:PGtkWidget; ObjClass:TFPgtkObjectClass) : TFPgtkWidget; Overload;
begin
result := TFPgtkWidget (GetPascalInstance (PGtkObject(Widget), ObjClass));
end;
function ConvertToGtkWidget (AnObject:TFPgtkWidget) : PGtkWidget;
begin
if assigned(AnObject) then
result := AnObject.TheGtkWidget
else
result := nil;
end;
procedure WidgetSignalproc (Sender:PGtkobject; Widget:PGtkwidget; Data:pointer); cdecl;
var p : TFPgtkWidgetSignalFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkWidgetSignalFunction (TheSignalProc);
p (TheWidget as TFPgtkObject, GetPascalInstance(PGtkObject(Widget),TFPgtkwidget) as TFPgtkwidget, TheData)
end;
end;
function TFPgtkWidget.WidgetSignalConnect (signal:string; proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@WidgetSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.WidgetSignalConnectAfter (signal:string; proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@WidgetSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
procedure TFPgtkWidget.SetFlags (NewFlags:longint);
begin
gtk_widget_set_flags (TheGtkObject, NewFlags);
end;
procedure TFPgtkWidget.UnsetFlags (NewUnsetFlags:longint);
begin
gtk_widget_unset_flags (TheGtkObject, NewUnsetFlags);
end;
procedure TFPgtkWidget.Map;
begin
gtk_widget_map (TheGtkObject);
end;
procedure TFPgtkWidget.Unmap;
begin
gtk_widget_unmap (TheGtkObject);
end;
procedure TFPgtkWidget.QueueDraw;
begin
gtk_widget_queue_draw (TheGtkObject);
end;
procedure TFPgtkWidget.QueueResize;
begin
gtk_widget_queue_resize (TheGtkObject);
end;
procedure TFPgtkWidget.Draw (Rectangle:PGdkRectangle); Overload;
begin
gtk_widget_draw (TheGtkObject, Rectangle);
end;
procedure TFPgtkWidget.DrawFocus;
begin
gtk_widget_draw_focus (TheGtkObject);
end;
procedure TFPgtkWidget.DrawDefault;
begin
gtk_widget_draw_default (TheGtkObject);
end;
procedure TFPgtkWidget.Show;
begin
gtk_widget_show (TheGtkObject);
end;
procedure TFPgtkWidget.Hide;
begin
gtk_widget_hide (TheGtkObject);
end;
procedure TFPgtkWidget.Realize;
begin
gtk_widget_realize (TheGtkObject);
end;
procedure TFPgtkWidget.Unrealize;
begin
gtk_widget_unrealize (TheGtkObject);
end;
procedure TFPgtkWidget.ShowNow;
begin
gtk_widget_show_now (TheGtkObject);
end;
procedure TFPgtkWidget.ShowAll;
begin
gtk_widget_show_all (TheGtkObject);
end;
procedure TFPgtkWidget.HideAll;
begin
gtk_widget_hide_all (TheGtkObject);
end;
procedure TFPgtkWidget.SetAllocation (AnAllocation:TGtkAllocation); Overload;
begin
with AnAllocation do
SetAllocation (x, y, width, height);
end;
procedure TFPgtkWidget.SetAllocation (x:integer; y:integer; width:integer; height:integer); Overload;
begin
SetUPosition (x, y);
SetUSize (width, height);
end;
function TFPgtkWidget.GetAllocation : TGtkAllocation;
begin
result := TheGtkObject^.allocation;
end;
procedure TFPgtkWidget.SetUPosition (x:integer; y:integer);
begin
gtk_widget_set_uposition (TheGtkObject, x, y);
end;
procedure TFPgtkWidget.SetUsize (width:integer; height:integer);
begin
gtk_widget_set_usize (TheGtkObject, width, height);
end;
function TFPgtkWidget.GetName : string;
begin
result := gtk_widget_get_name(TheGtkObject);
end;
procedure TFPgtkWidget.SetName (TheValue:string);
begin
gtk_widget_set_name(TheGtkObject,ConvertToPgchar(TheValue));
end;
function TFPgtkWidget.GetPropFlags : longint;
begin
result := gtk_widget_Flags (TheGtkObject);
end;
procedure TFPgtkWidget.SetPropFlags (TheValue:longint);
var f : integer;
begin
f := GetPropFlags;
UnsetFlags (f and not TheValue);
SetFlags (not f and TheValue);
end;
function TFPgtkWidget.GetState : longint;
begin
result := gtk_widget_State(TheGtkObject);
end;
function TFPgtkWidget.GetSavedState : longint;
begin
result := gtk_widget_Saved_State(TheGtkObject);
end;
function TFPgtkWidget.GetParent : TFPgtkWidget;
var gtkparent : PgtkWidget;
o : TFPgtkObject;
begin
gtkParent := TheGtkObject^.parent;
o := GetPascalInstance (PgtkObject(GtkParent));
if o is TFPgtkWidget then
result := TFPgtkWidget(o)
else
result := nil;
end;
procedure TFPgtkWidget.SetParent (TheValue:TFPgtkWidget);
var gtkparent : PgtkWidget;
begin
gtkParent := TheGtkObject^.parent;
if assigned(TheValue) then
if assigned(gtkParent) then
reparent (TheValue)
else
gtk_widget_set_parent (TheGtkWidget, ConvertToGtkWidget(TheValue))
else
if assigned(gtkParent) then
gtk_widget_unparent (TheGtkWidget);
end;
function TFPgtkWidget.GetParentWindow : PGdkWindow;
begin
result := gtk_widget_get_parent_window(TheGtkObject);
end;
procedure TFPgtkWidget.SetParentWindow (TheValue:PGdkWindow);
begin
gtk_widget_set_parent_window(TheGtkObject,TheValue);
end;
procedure TFPgtkWidget.Unparent;
begin
gtk_widget_unparent (TheGtkObject);
end;
procedure TFPgtkWidget.Reparent (NewParent:TFPgtkWidget);
begin
if (NewParent is TFpgtkContainer) then
begin
ref;
TFPgtkContainer(Parent).remove (self);
TFPgtkContainer(NewParent).Add (Self);
unref;
end;
end;
function TFPgtkWidget.GetVisible : boolean;
begin
result := gtk_widget_Visible(TheGtkObject);
end;
procedure TFPgtkWidget.SetVisible (TheValue:boolean);
begin
if TheValue then
Show
else
Hide;
end;
function TFPgtkWidget.GetNoWindow : boolean;
begin
result := gtk_widget_No_Window(TheGtkObject);
end;
procedure TFPgtkWidget.SetNoWindow (TheValue:boolean);
begin
if TheValue then
SetFlags (GTK_NO_WINDOW)
else
UnSetFlags (GTK_NO_WINDOW);
end;
function TFPgtkWidget.GetRealized : boolean;
begin
result := gtk_widget_realized(TheGtkObject);
end;
procedure TFPgtkWidget.SetRealized (TheValue:boolean);
begin
if TheValue then
Realize
else
Unrealize;
end;
function TFPgtkWidget.GetMapped : boolean;
begin
result := gtk_widget_Mapped(TheGtkObject);
end;
procedure TFPgtkWidget.SetMapped (TheValue:boolean);
begin
if TheValue then
Map
else
Unmap;
end;
function TFPgtkWidget.GetDrawable : boolean;
begin
result := gtk_widget_Drawable(TheGtkObject);
end;
function TFPgtkWidget.GetIsSensitive : boolean;
begin
result := gtk_widget_Is_Sensitive(TheGtkObject);
end;
function TFPgtkWidget.GetSensitive : boolean;
begin
result := gtk_widget_Sensitive(TheGtkObject);
end;
procedure TFPgtkWidget.SetSensitive (TheValue:boolean);
begin
gtk_widget_set_sensitive(TheGtkObject,TheValue);
end;
function TFPgtkWidget.GetParentSensitive : boolean;
begin
result := gtk_widget_Parent_Sensitive(TheGtkObject);
end;
procedure TFPgtkWidget.SetParentSensitive (TheValue:boolean);
begin
if TheValue then
SetFlags (GTK_PARENT_SENSITIVE)
else
UnSetFlags (GTK_PARENT_SENSITIVE);
end;
function TFPgtkWidget.GetAppPaintable : boolean;
begin
result := gtk_widget_App_Paintable(TheGtkObject);
end;
function TFPgtkWidget.GetCanFocus : boolean;
begin
result := gtk_widget_Can_Focus(TheGtkObject);
end;
procedure TFPgtkWidget.SetCanFocus (TheValue:boolean);
begin
if TheValue then
SetFlags (GTK_CAN_FOCUS)
else
UnSetFlags (GTK_CAN_FOCUS);
end;
procedure TFPgtkWidget.GrabFocus;
begin
gtk_widget_grab_focus (TheGtkObject);
end;
function TFPgtkWidget.GetHasFocus : boolean;
begin
result := gtk_widget_Has_Focus(TheGtkObject);
end;
function TFPgtkWidget.GetCanDefault : boolean;
begin
result := gtk_widget_Can_Default(TheGtkObject);
end;
procedure TFPgtkWidget.SetCanDefault (TheValue:boolean);
begin
if TheValue then
SetFlags (GTK_CAN_DEFAULT)
else
UnSetFlags (GTK_CAN_DEFAULT);
end;
procedure TFPgtkWidget.GrabDefault;
begin
gtk_widget_grab_default (TheGtkObject);
end;
function TFPgtkWidget.GetHasDefault : boolean;
begin
result := gtk_widget_Has_Default(TheGtkObject);
end;
function TFPgtkWidget.GetReceivesDefault : boolean;
begin
result := gtk_widget_Receives_Default(TheGtkObject);
end;
function TFPgtkWidget.GetCompositeChild : boolean;
begin
result := gtk_widget_Composite_Child(TheGtkObject);
end;
function TFPgtkWidget.GetTooltip : string;
var data : PGtkTooltipsData;
begin
data := Gtk_Tooltips_Data_Get (TheGtkObject);
if assigned(data) then
with data^ do
result := ComposeTooltip (Tip_Text, tip_private)
else
result := '';
end;
procedure TFPgtkWidget.SetTooltip (TheValue:string);
var t, p : string;
ttdata : PGtkTooltipsData;
begin
if TheValue = '' then
begin
ttdata := GetTooltipsData (Self);
if assigned (ttdata) then
; // find a way to remove the hint. Setting '' does not remove
end
else
begin
CheckTooltips;
DecomposeTooltip (TheValue, t, p);
TheToolTips.SetTip (self, t, p);
end;
end;
procedure TFPgtkWidget.HideOnDelete;
begin
gtk_widget_hide_on_delete (TheGtkObject);
end;
function TFPgtkWidget.GetColormap : PGdkColormap;
begin
result := gtk_widget_get_colormap(TheGtkObject);
end;
procedure TFPgtkWidget.SetColormap (TheValue:PGdkColormap);
begin
gtk_widget_set_colormap(TheGtkObject,TheValue);
end;
function TFPgtkWidget.ConnectShow (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgShow, proc, data);
end;
function TFPgtkWidget.ConnectAfterShow (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgShow, proc, data);
end;
function TFPgtkWidget.Connecthide (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sghide, proc, data);
end;
function TFPgtkWidget.ConnectAfterhide (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sghide, proc, data);
end;
function TFPgtkWidget.Connectmap (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgmap, proc, data);
end;
function TFPgtkWidget.ConnectAftermap (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgmap, proc, data);
end;
function TFPgtkWidget.Connectunmap (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgunmap, proc, data);
end;
function TFPgtkWidget.ConnectAfterunmap (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgunmap, proc, data);
end;
function TFPgtkWidget.Connectrealize (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgrealize, proc, data);
end;
function TFPgtkWidget.ConnectAfterrealize (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgrealize, proc, data);
end;
function TFPgtkWidget.Connectunrealize (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgunrealize, proc, data);
end;
function TFPgtkWidget.ConnectAfterunrealize (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgunrealize, proc, data);
end;
function TFPgtkWidget.ConnectDrawFocus (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgDrawFocus, proc, data);
end;
function TFPgtkWidget.ConnectAfterDrawFocus (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgDrawFocus, proc, data);
end;
function TFPgtkWidget.ConnectDrawDefault (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgDrawDefault, proc, data);
end;
function TFPgtkWidget.ConnectAfterDrawDefault (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgDrawDefault, proc, data);
end;
function TFPgtkWidget.ConnectParentSet (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
begin
result := WidgetSignalConnect (sgParentSet, proc, data);
end;
function TFPgtkWidget.ConnectAfterParentSet (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
begin
result := WidgetSignalConnectAfter (sgParentSet, proc, data);
end;
function TFPgtkWidget.ConnectGrabFocus (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgGrabFocus, proc, data);
end;
function TFPgtkWidget.ConnectAfterGrabFocus (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgGrabFocus, proc, data);
end;
function Eventfunc (Sender:PGtkwidget; Event:PGdkEvent; data:pointer) : boolean; cdecl;
var p : TFPgtkEventFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkEventFunction (TheSignalProc);
result := p (TheWidget as TFPgtkWidget, Event, TheData)
end;
end;
function TFPgtkWidget.EventConnect (signal:string; proc:TFPgtkEventFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@Eventfunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.EventConnectAfter (signal:string; proc:TFPgtkEventFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@Eventfunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.ConnectEvent (proc:TFPgtkEventFunction; data:pointer) : guint;
begin
result := EventConnect (sgEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterEvent (proc:TFPgtkEventFunction; data:pointer) : guint;
begin
result := EventConnectAfter (sgEvent, proc, data);
end;
function EventButtonfunc (Sender:PGtkwidget; Event:PGdkEventButton; data:pointer) : boolean; cdecl;
var p : TFPgtkEventButtonFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkEventButtonFunction (TheSignalProc);
result := p (TheWidget as TFPgtkWidget, Event, TheData)
end;
end;
function TFPgtkWidget.EventButtonConnect (signal:string; proc:TFPgtkEventButtonFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@EventButtonfunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.EventButtonConnectAfter (signal:string; proc:TFPgtkEventButtonFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@EventButtonfunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.ConnectButtonPressEvent (proc:TFPgtkEventButtonFunction; data:pointer) : guint;
begin
result := EventButtonConnect (sgButtonPressEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterButtonPressEvent (proc:TFPgtkEventButtonFunction; data:pointer) : guint;
begin
result := EventButtonConnectAfter (sgButtonPressEvent, proc, data);
end;
function TFPgtkWidget.ConnectButtonReleaseEvent (proc:TFPgtkEventButtonFunction; data:pointer) : guint;
begin
result := EventButtonConnect (sgButtonReleaseEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterButtonReleaseEvent (proc:TFPgtkEventButtonFunction; data:pointer) : guint;
begin
result := EventButtonConnectAfter (sgButtonReleaseEvent, proc, data);
end;
function EventMotionfunc (Sender:PGtkwidget; Event:PGdkEventMotion; data:pointer) : boolean; cdecl;
var p : TFPgtkEventMotionFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkEventMotionFunction (TheSignalProc);
result := p (TheWidget as TFPgtkWidget, Event, TheData)
end;
end;
function TFPgtkWidget.EventMotionConnect (signal:string; proc:TFPgtkEventMotionFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@EventMotionfunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.EventMotionConnectAfter (signal:string; proc:TFPgtkEventMotionFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@EventMotionfunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.ConnectMotionNotifyEvent (proc:TFPgtkEventMotionFunction; data:pointer) : guint;
begin
result := EventMotionConnect (sgMotionNotifyEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterMotionNotifyEvent (proc:TFPgtkEventMotionFunction; data:pointer) : guint;
begin
result := EventMotionConnectAfter (sgMotionNotifyEvent, proc, data);
end;
function TFPgtkWidget.ConnectDeleteEvent (proc:TFPgtkEventFunction; data:pointer) : guint;
begin
result := EventConnect (sgDeleteEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterDeleteEvent (proc:TFPgtkEventFunction; data:pointer) : guint;
begin
result := EventConnectAfter (sgDeleteEvent, proc, data);
end;
function TFPgtkWidget.ConnectDestroyEvent (proc:TFPgtkEventFunction; data:pointer) : guint;
begin
result := EventConnect (sgDestroyEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterDestroyEvent (proc:TFPgtkEventFunction; data:pointer) : guint;
begin
result := EventConnectAfter (sgDestroyEvent, proc, data);
end;
function EventExposefunc (Sender:PGtkwidget; Event:PGdkEventExpose; data:pointer) : boolean; cdecl;
var p : TFPgtkEventExposeFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkEventExposeFunction (TheSignalProc);
result := p (TheWidget as TFPgtkWidget, Event, TheData)
end;
end;
function TFPgtkWidget.EventExposeConnect (signal:string; proc:TFPgtkEventExposeFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@EventExposefunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.EventExposeConnectAfter (signal:string; proc:TFPgtkEventExposeFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@EventExposefunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.ConnectExposeEvent (proc:TFPgtkEventExposeFunction; data:pointer) : guint;
begin
result := EventExposeConnect (sgExposeEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterExposeEvent (proc:TFPgtkEventExposeFunction; data:pointer) : guint;
begin
result := EventExposeConnectAfter (sgExposeEvent, proc, data);
end;
function EventKeyfunc (Sender:PGtkwidget; Event:PGdkEventKey; data:pointer) : boolean; cdecl;
var p : TFPgtkEventKeyFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkEventKeyFunction (TheSignalProc);
result := p (TheWidget as TFPgtkWidget, Event, TheData)
end;
end;
function TFPgtkWidget.EventKeyConnect (signal:string; proc:TFPgtkEventKeyFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@EventKeyfunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.EventKeyConnectAfter (signal:string; proc:TFPgtkEventKeyFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@EventKeyfunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.ConnectKeyPressEvent (proc:TFPgtkEventKeyFunction; data:pointer) : guint;
begin
result := EventKeyConnect (sgKeyPressEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterKeyPressEvent (proc:TFPgtkEventKeyFunction; data:pointer) : guint;
begin
result := EventKeyConnectAfter (sgKeyPressEvent, proc, data);
end;
function TFPgtkWidget.ConnectKeyReleaseEvent (proc:TFPgtkEventKeyFunction; data:pointer) : guint;
begin
result := EventKeyConnect (sgKeyReleaseEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterKeyReleaseEvent (proc:TFPgtkEventKeyFunction; data:pointer) : guint;
begin
result := EventKeyConnectAfter (sgKeyReleaseEvent, proc, data);
end;
function EventCrossingfunc (Sender:PGtkwidget; Event:PGdkEventCrossing; data:pointer) : boolean; cdecl;
var p : TFPgtkEventCrossingFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkEventCrossingFunction (TheSignalProc);
result := p (TheWidget as TFPgtkWidget, Event, TheData)
end;
end;
function TFPgtkWidget.EventCrossingConnect (signal:string; proc:TFPgtkEventCrossingFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@EventCrossingfunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.EventCrossingConnectAfter (signal:string; proc:TFPgtkEventCrossingFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@EventCrossingfunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.ConnectEnterNotifyEvent (proc:TFPgtkEventCrossingFunction; data:pointer) : guint;
begin
result := EventCrossingConnect (sgEnterNotifyEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterEnterNotifyEvent (proc:TFPgtkEventCrossingFunction; data:pointer) : guint;
begin
result := EventCrossingConnectAfter (sgEnterNotifyEvent, proc, data);
end;
function TFPgtkWidget.ConnectLeaveNotifyEvent (proc:TFPgtkEventCrossingFunction; data:pointer) : guint;
begin
result := EventCrossingConnect (sgLeaveNotifyEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterLeaveNotifyEvent (proc:TFPgtkEventCrossingFunction; data:pointer) : guint;
begin
result := EventCrossingConnectAfter (sgLeaveNotifyEvent, proc, data);
end;
function EventConfigurefunc (Sender:PGtkwidget; Event:PGdkEventConfigure; data:pointer) : boolean; cdecl;
var p : TFPgtkEventConfigureFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkEventConfigureFunction (TheSignalProc);
result := p (TheWidget as TFPgtkWidget, Event, TheData)
end;
end;
function TFPgtkWidget.EventConfigureConnect (signal:string; proc:TFPgtkEventConfigureFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@EventConfigurefunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.EventConfigureConnectAfter (signal:string; proc:TFPgtkEventConfigureFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@EventConfigurefunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.ConnectConfigureEvent (proc:TFPgtkEventConfigureFunction; data:pointer) : guint;
begin
result := EventConfigureConnect (sgConfigureEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterConfigureEvent (proc:TFPgtkEventConfigureFunction; data:pointer) : guint;
begin
result := EventConfigureConnectAfter (sgConfigureEvent, proc, data);
end;
function EventFocusfunc (Sender:PGtkwidget; Event:PGdkEventFocus; data:pointer) : boolean; cdecl;
var p : TFPgtkEventFocusFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkEventFocusFunction (TheSignalProc);
result := p (TheWidget as TFPgtkWidget, Event, TheData)
end;
end;
function TFPgtkWidget.EventFocusConnect (signal:string; proc:TFPgtkEventFocusFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@EventFocusfunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.EventFocusConnectAfter (signal:string; proc:TFPgtkEventFocusFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@EventFocusfunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.ConnectFocusInEvent (proc:TFPgtkEventFocusFunction; data:pointer) : guint;
begin
result := EventFocusConnect (sgFocusInEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterFocusInEvent (proc:TFPgtkEventFocusFunction; data:pointer) : guint;
begin
result := EventFocusConnectAfter (sgFocusInEvent, proc, data);
end;
function TFPgtkWidget.ConnectFocusOutEvent (proc:TFPgtkEventFocusFunction; data:pointer) : guint;
begin
result := EventFocusConnect (sgFocusOutEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterFocusOutEvent (proc:TFPgtkEventFocusFunction; data:pointer) : guint;
begin
result := EventFocusConnectAfter (sgFocusOutEvent, proc, data);
end;
function TFPgtkWidget.ConnectMapEvent (proc:TFPgtkEventFunction; data:pointer) : guint;
begin
result := EventConnect (sgMapEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterMapEvent (proc:TFPgtkEventFunction; data:pointer) : guint;
begin
result := EventConnectAfter (sgMapEvent, proc, data);
end;
function TFPgtkWidget.ConnectUnmapEvent (proc:TFPgtkEventFunction; data:pointer) : guint;
begin
result := EventConnect (sgUnmapEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterUnmapEvent (proc:TFPgtkEventFunction; data:pointer) : guint;
begin
result := EventConnectAfter (sgUnmapEvent, proc, data);
end;
function EventPropertyfunc (Sender:PGtkwidget; Event:PGdkEventProperty; data:pointer) : boolean; cdecl;
var p : TFPgtkEventPropertyFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkEventPropertyFunction (TheSignalProc);
result := p (TheWidget as TFPgtkWidget, Event, TheData)
end;
end;
function TFPgtkWidget.EventPropertyConnect (signal:string; proc:TFPgtkEventPropertyFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@EventPropertyfunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.EventPropertyConnectAfter (signal:string; proc:TFPgtkEventPropertyFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@EventPropertyfunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.ConnectPropertyNotifyEvent (proc:TFPgtkEventPropertyFunction; data:pointer) : guint;
begin
result := EventPropertyConnect (sgPropertyNotifyEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterPropertyNotifyEvent (proc:TFPgtkEventPropertyFunction; data:pointer) : guint;
begin
result := EventPropertyConnectAfter (sgPropertyNotifyEvent, proc, data);
end;
function EventSelectionfunc (Sender:PGtkwidget; Event:PGdkEventSelection; data:pointer) : boolean; cdecl;
var p : TFPgtkEventSelectionFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkEventSelectionFunction (TheSignalProc);
result := p (TheWidget as TFPgtkWidget, Event, TheData)
end;
end;
function TFPgtkWidget.EventSelectionConnect (signal:string; proc:TFPgtkEventSelectionFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@EventSelectionfunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.EventSelectionConnectAfter (signal:string; proc:TFPgtkEventSelectionFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@EventSelectionfunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.ConnectSelectionClearEvent (proc:TFPgtkEventSelectionFunction; data:pointer) : guint;
begin
result := EventSelectionConnect (sgSelectionClearEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterSelectionClearEvent (proc:TFPgtkEventSelectionFunction; data:pointer) : guint;
begin
result := EventSelectionConnectAfter (sgSelectionClearEvent, proc, data);
end;
function TFPgtkWidget.ConnectSelectionRequestEvent (proc:TFPgtkEventSelectionFunction; data:pointer) : guint;
begin
result := EventSelectionConnect (sgSelectionRequestEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterSelectionRequestEvent (proc:TFPgtkEventSelectionFunction; data:pointer) : guint;
begin
result := EventSelectionConnectAfter (sgSelectionRequestEvent, proc, data);
end;
function TFPgtkWidget.ConnectSelectionNotifyEvent (proc:TFPgtkEventSelectionFunction; data:pointer) : guint;
begin
result := EventSelectionConnect (sgSelectionNotifyEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterSelectionNotifyEvent (proc:TFPgtkEventSelectionFunction; data:pointer) : guint;
begin
result := EventSelectionConnectAfter (sgSelectionNotifyEvent, proc, data);
end;
function EventProximityfunc (Sender:PGtkwidget; Event:PGdkEventProximity; data:pointer) : boolean; cdecl;
var p : TFPgtkEventProximityFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkEventProximityFunction (TheSignalProc);
result := p (TheWidget as TFPgtkWidget, Event, TheData)
end;
end;
function TFPgtkWidget.EventProximityConnect (signal:string; proc:TFPgtkEventProximityFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@EventProximityfunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.EventProximityConnectAfter (signal:string; proc:TFPgtkEventProximityFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@EventProximityfunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.ConnectProximityInEvent (proc:TFPgtkEventProximityFunction; data:pointer) : guint;
begin
result := EventProximityConnect (sgProximityInEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterProximityInEvent (proc:TFPgtkEventProximityFunction; data:pointer) : guint;
begin
result := EventProximityConnectAfter (sgProximityInEvent, proc, data);
end;
function TFPgtkWidget.ConnectProximityOutEvent (proc:TFPgtkEventProximityFunction; data:pointer) : guint;
begin
result := EventProximityConnect (sgProximityOutEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterProximityOutEvent (proc:TFPgtkEventProximityFunction; data:pointer) : guint;
begin
result := EventProximityConnectAfter (sgProximityOutEvent, proc, data);
end;
function EventClientfunc (Sender:PGtkwidget; Event:PGdkEventClient; data:pointer) : boolean; cdecl;
var p : TFPgtkEventClientFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkEventClientFunction (TheSignalProc);
result := p (TheWidget as TFPgtkWidget, Event, TheData)
end;
end;
function TFPgtkWidget.EventClientConnect (signal:string; proc:TFPgtkEventClientFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@EventClientfunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.EventClientConnectAfter (signal:string; proc:TFPgtkEventClientFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@EventClientfunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.ConnectClientEvent (proc:TFPgtkEventClientFunction; data:pointer) : guint;
begin
result := EventClientConnect (sgClientEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterClientEvent (proc:TFPgtkEventClientFunction; data:pointer) : guint;
begin
result := EventClientConnectAfter (sgClientEvent, proc, data);
end;
function EventNoExposefunc (Sender:PGtkwidget; Event:PGdkEventNoExpose; data:pointer) : boolean; cdecl;
var p : TFPgtkEventNoExposeFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkEventNoExposeFunction (TheSignalProc);
result := p (TheWidget as TFPgtkWidget, Event, TheData)
end;
end;
function TFPgtkWidget.EventNoExposeConnect (signal:string; proc:TFPgtkEventNoExposeFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@EventNoExposefunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.EventNoExposeConnectAfter (signal:string; proc:TFPgtkEventNoExposeFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@EventNoExposefunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkWidget.ConnectNoExposeEvent (proc:TFPgtkEventNoExposeFunction; data:pointer) : guint;
begin
result := EventNoExposeConnect (sgNoExposeEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterNoExposeEvent (proc:TFPgtkEventNoExposeFunction; data:pointer) : guint;
begin
result := EventNoExposeConnectAfter (sgNoExposeEvent, proc, data);
end;
function TFPgtkWidget.ConnectVisibilityNotifyEvent (proc:TFPgtkEventFunction; data:pointer) : guint;
begin
result := EventConnect (sgVisibilityNotifyEvent, proc, data);
end;
function TFPgtkWidget.ConnectAfterVisibilityNotifyEvent (proc:TFPgtkEventFunction; data:pointer) : guint;
begin
result := EventConnectAfter (sgVisibilityNotifyEvent, proc, data);
end;
procedure TFPgtkWidget.LockAccelerators;
begin
gtk_widget_lock_accelerators (TheGtkObject);
end;
procedure TFPgtkWidget.UnlockAccelerators;
begin
gtk_widget_unlock_accelerators (TheGtkObject);
end;
procedure TFPgtkWidget.RemoveAccelerators (aSignal:string; OnlyVisible:boolean);
begin
gtk_widget_remove_accelerators (TheGtkObject, ConvertToPgchar(aSignal), OnlyVisible);
end;
procedure TFPgtkWidget.ActivateAccelGroups (Key:guint; Mods:TGdkModifierType);
begin
gtk_accel_groups_activate (FGtkObject, Key, Mods);
end;
procedure TFPgtkWidget.AcceleratorAdd (AG:PGtkAccelGroup; aSignal:string; Key:guint; Mods:TGdkModifierType; acFlags:TGtkAccelFlags); Overload;
begin
gtk_widget_add_accelerator (TheGtkWidget, pgchar(aSignal),
AG, Key, Mods, acFlags);
end;
{ TFPgtkGroup }
procedure TFPgtkGroup.FreeList;
begin
if FGList <> null then
begin
if FManageLists then
g_list_free (FGList);
FGList := null;
end;
end;
procedure TFPgtkGroup.FreeSList;
begin
if FGSList <> null then
begin
if FManageLists then
g_slist_free (FGSList);
FGSlist := null;
end;
end;
function TFPgtkGroup.CreateGList : PGList;
var r : integer;
begin
FreeList;
result := null;
for r := pred(count) downto 0 do
result := g_list_prepend (result, GetData(r));
FGList := result;
end;
function TFPgtkGroup.CreateGSList : PGSList;
var r : integer;
begin
FreeSList;
result := null;
for r := pred(count) downto 0 do
result := g_slist_prepend (result, GetData(r));
FGSList := result;
end;
procedure TFPgtkGroup.BuildFromGtkList;
var p : PGList;
begin
clear;
p := FGList;
while p <> null do
begin
add (UngetData(p^.data));
p := p^.Next;
end;
FListChanged := False;
FSListChanged := False;
FClassesChanged := False;
FreeSList;
end;
procedure TFPgtkGroup.BuildFromGtkSList;
var p :PGSList;
begin
clear;
p := FGSList;
while p <> null do
begin
add (UngetData(p^.data));
p := p^.Next;
end;
FListChanged := False;
FSListChanged := False;
FClassesChanged := False;
FreeList;
end;
procedure TFPgtkGroup.Notify (ptr:pointer; Action:TListNotification);
begin
inherited;
FClassesChanged := True;
end;
function TFPgtkGroup.GetData (index:integer) : pointer;
// GetData needs to give the pointer to the data in the List or SList of GTK
begin
result := items[index];
end;
function TFPgtkGroup.UngetData (data:pointer) : pointer;
// UngetData needs to give the item in this list from the datapointer of GTK
begin
result := data
end;
constructor TFPgtkGroup.Create;
begin
inherited create;
FClassesChanged := False;
FListChanged := false;
FSListChanged := False;
FGList := null;
FGSList := null;
FNotUpdating := True;
FManageLists := True;
end;
destructor TFPgtkGroup.Destroy;
begin
if ManageLists then
begin
FreeList;
FreeSList;
end;
inherited Destroy;
end;
function TFPgtkGroup.GetGtkList (buffered:boolean) : PGList;
begin
if buffered then
if FClasseschanged then
result := CreateGList
else if FSListChanged then
begin
BuildFromGtkSList;
result := CreateGList;
end
else
result := FGlist
else
result := CreateGList;
end;
function TFPgtkGroup.GetGtkSList (buffered:boolean) : PGSList;
begin
if buffered then
if FClassesChanged then
result := CreateGSList
else if FListChanged then
begin
BuildFromGtkList;
result := CreateGSList;
end
else
result := FGSlist
else
result := CreateGSList;
end;
procedure TFPgtkGroup.BeginUpdate;
begin
FNotUpdating := False;
end;
procedure TFPgtkGroup.EndUpdate;
begin
FNotUpdating := True;
if FlistChanged then
BuildFromGtkSList
else if FSListChanged then
BuildFromGtkSList
else if FClassesChanged then
begin
FreeSList;
FreeList;
end;
end;
procedure TFPgtkGroup.ForEach (Proc:TFPgtkForEachProcedure; data:pointer);
var r: integer;
begin
for r := 0 to pred(count) do
Proc (items[r], data);
end;
function TFPgtkGroup.GetGtkListProp : PGList;
begin
result := GetGtkList (True);
end;
procedure TFPgtkGroup.SetGtkListProp (TheValue:PGList);
begin
FGList := TheValue;
if FNotUpdating then
BuildFromGtkList
else
FListChanged := True;
end;
function TFPgtkGroup.GetGtkSListProp : PGSList;
begin
result := GetGtkSList (True);
end;
procedure TFPgtkGroup.SetGtkSListProp (TheValue:PGSList);
begin
FGSlist := TheValue;
if FNotUpdating then
BuildFromGtkSList
else
FSListChanged := True;
end;
{ TFPgtkWidgetGroup }
function TFPgtkWidgetGroup.GetData (index:integer) : pointer;
begin
result := items[index].FgtkObject;
end;
function TFPgtkWidgetGroup.UnGetData (data:pointer) : pointer;
begin
result := GetPascalInstance (PGtkObject(Data));
end;
procedure TFPgtkWidgetGroup.AddToContainer (Container:TFPgtkContainer);
var r : integer;
begin
for r := 0 to pred(count) do
Container.Add (items[r]);
end;
procedure TFPgtkWidgetGroup.PackInBox (box:TFPgtkBox; AtStart:boolean; Expanding:boolean; Fill:boolean; Padding:integer);
var r : integer;
begin
if AtStart then
for r := 0 to pred(Count) do
box.PackStart (items[r], expanding, fill, padding)
else
for r := pred(Count) downto 0 do
box.PackEnd (items[r], expanding, fill, padding);
end;
function TFPgtkWidgetGroup.GetItem (Index:integer) : TFPgtkWidget;
begin
result := TFPgtkWidget (Inherited items[index]);
end;
procedure TFPgtkWidgetGroup.SetItem (Index:integer; TheValue:TFPgtkWidget);
begin
inherited items[index] := TheValue;
end;
function TFPgtkWidgetGroup.GetTooltips (index:integer) : string;
begin
result := items[index].Tooltip;
end;
procedure TFPgtkWidgetGroup.SetTooltips (index:integer; TheValue:string);
begin
Items[index].Tooltip := TheValue;
end;
{ TFPgtkMisc }
function TFPgtkMisc.TheGtkObject : PGtkMisc;
begin
result := PgtkMisc(FGtkObject);
end;
procedure TFPgtkMisc.SetAlignment (x:gfloat; y:gfloat);
begin
gtk_misc_set_alignment (TheGtkObject, x, y);
end;
procedure TFPgtkMisc.SetPadding (x:word; y:word);
begin
gtk_misc_set_padding (TheGtkObject, x, y);
end;
function TFPgtkMisc.GetXAlign : gfloat;
begin
result := TheGtkObject^.XAlign;
end;
procedure TFPgtkMisc.SetXAlign (TheValue:gfloat);
begin
SetAlignment (TheValue, YAlign);
end;
function TFPgtkMisc.GetYAlign : gfloat;
begin
result := TheGtkObject^.YAlign;
end;
procedure TFPgtkMisc.SetYAlign (TheValue:gfloat);
begin
SetAlignment (XAlign, TheValue);
end;
function TFPgtkMisc.GetXPad : word;
begin
result := TheGtkObject^.XPad;
end;
procedure TFPgtkMisc.SetXPad (TheValue:word);
begin
SetPadding (TheValue, YPad);
end;
function TFPgtkMisc.GetYPad : word;
begin
result := TheGtkObject^.YPad;
end;
procedure TFPgtkMisc.SetYPad (TheValue:word);
begin
SetPadding (XPad, TheValue);
end;
{ TFPgtkLabel }
function TFPgtkLabel.TheGtkObject : PGtkLabel;
begin
result := PgtkLabel(FGtkObject);
end;
procedure TFPgtkLabel.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_label_new (null));
end;
constructor TFPgtkLabel.Create (aText:string);
begin
inherited create;
Text := aText;
SetAlignment (0.0, 0.5);
end;
function TFPgtkLabel.GetText : string;
begin
result := TheGtkObject^.TheLabel;
end;
procedure TFPgtkLabel.SetText (TheValue:string);
begin
gtk_label_set_text(TheGtkObject,ConvertToPgchar(TheValue));
end;
function TFPgtkLabel.GetPattern : string;
begin
result := TheGtkObject^.pattern;
end;
procedure TFPgtkLabel.SetPattern (TheValue:string);
begin
gtk_label_set_pattern(TheGtkObject,ConvertToPgchar(TheValue));
end;
function TFPgtkLabel.GetJustify : TGtkJustification;
begin
result := gtk.jtype(TheGtkObject^);
end;
procedure TFPgtkLabel.SetJustify (TheValue:TGtkJustification);
begin
gtk_label_set_justify(TheGtkObject,TheValue);
end;
function TFPgtkLabel.GetLineWrap : boolean;
begin
result := TheGtkObject^.wrap;
end;
procedure TFPgtkLabel.SetLineWrap (TheValue:boolean);
begin
gtk_label_set_line_wrap(TheGtkObject,TheValue);
end;
function TFPgtkLabel.ParseUline (aText:string) : guint;
begin
result := gtk_label_parse_uline (TheGtkObject, ConvertToPgchar(aText));
end;
{ TFPgtkAccelLabel }
function TFPgtkAccelLabel.TheGtkObject : PGtkAccelLabel;
begin
result := PgtkAccelLabel(FGtkObject);
end;
procedure TFPgtkAccelLabel.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_accel_label_new (''));
end;
function TFPgtkAccelLabel.GetAccelWidget : TFPgtkWidget;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.accel_widget),tfpgtkwidget) as tfpgtkwidget;
end;
procedure TFPgtkAccelLabel.SetAccelWidget (TheValue:TFPgtkWidget);
begin
gtk_accel_label_set_accel_widget(TheGtkObject,PGtkwidget(ConvertToGtkObject(TheValue)));
end;
function TFPgtkAccelLabel.AccelText : string;
begin
result := TheGtkObject^.accel_string;
end;
procedure TFPgtkAccelLabel.Refetch;
begin
gtk_accel_label_refetch (TheGtkObject);
end;
{ TFPgtkTipsQuery }
function TFPgtkTipsQuery.TheGtkObject : PGtkTipsQuery;
begin
result := PgtkTipsQuery(FGtkObject);
end;
procedure TFPgtkTipsQuery.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_tips_query_new);
end;
{ TFPgtkArrow }
function TFPgtkArrow.TheGtkObject : PGtkArrow;
begin
result := PgtkArrow(FGtkObject);
end;
procedure TFPgtkArrow.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_arrow_new (GTK_ARROW_LEFT,GTK_SHADOW_NONE));
end;
function TFPgtkArrow.GetArrowType : TGtkArrowType;
begin
result := TGtkArrowType (TheGtkObject^.arrow_type);
end;
procedure TFPgtkArrow.SetArrowType (TheValue:TGtkArrowType);
begin
gtk_arrow_set (TheGtkObject, TheValue, ShadowType);
end;
function TFPgtkArrow.GetShadowType : TGtkShadowType;
begin
result := TGtkShadowtype (TheGtkObject^.shadow_type);
end;
procedure TFPgtkArrow.SetShadowType (TheValue:TGtkShadowType);
begin
gtk_arrow_set (TheGtkObject, ArrowType, TheValue);
end;
procedure TFPgtkArrow.SetTypes (AnArrowType:TGtkArrowType; AShadowtype:TGtkShadowType);
begin
gtk_arrow_set (TheGtkObject, AnArrowType, AShadowtype);
end;
constructor TFPgtkArrow.Create (AnArrowType:TGtkArrowType; AShadowType:TGtkShadowType);
begin
inherited create;
SetTypes (AnArrowType, AShadowType);
end;
{ TFPgtkImage }
function TFPgtkImage.TheGtkObject : PGtkImage;
begin
result := PgtkImage(FGtkObject);
end;
procedure TFPgtkImage.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_image_new (FImage, FMask));
end;
function TFPgtkImage.GetImageProp : PGdkImage;
var m : PGdkBitmap;
begin
gtk_image_get (TheGtkObject, @result, @m);
end;
procedure TFPgtkImage.SetImageProp (TheValue:PGdkImage);
begin
gtk_Image_set (TheGtkObject, TheValue, nil);
end;
function TFPgtkImage.GetMask : PGdkBitMap;
var p : PGdkPixmap;
begin
gtk_image_get (TheGtkObject, @p, @result);
end;
procedure TFPgtkImage.SetMask (TheValue:PGdkBitMap);
begin
gtk_image_set (TheGtkObject, Image, TheValue);
end;
procedure TFPgtkImage.SetImage (anImage:PGdkImage; aMask:PGdkBitmap);
begin
gtk_image_set (TheGtkObject, anImage, aMask);
end;
constructor TFPgtkImage.Create (anImage:PGdkImage; aMask:PGdkBitmap);
begin
FImage := anImage;
FMask := aMask;
inherited create;
end;
function NewImage (aWidth:integer; aHeight:integer) : PGdkImage;
begin
result := gdk_image_new (gdk_image_fastest, gdk_visual_get_system, aWidth, aHeight);
end;
{ TFPgtkPixmap }
function TFPgtkPixmap.TheGtkObject : PGtkPixmap;
begin
result := PgtkPixmap(FGtkObject);
end;
procedure TFPgtkPixmap.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_pixmap_new (FPixMap, FMask));
end;
var
EmptyBitmap : PGdkPixmap;
function StringsToPPgchar (Data:TStrings) : PPgchar;
var r : integer;
a : PStringArray;
begin
getmem (a, sizeof (pgchar) * Data.count);
for r := 0 to Data.Count-1 do
a^[r] := pchar (Data[r]);
result := ppgchar (a);
end;
function ArrayToPPgchar (Data:array of string) : PPgchar;
var r,t : integer;
a : PStringArray;
begin
getmem (a, sizeof (pgchar) * (high(data)-low(data)+1));
t := 0;
for r := low(data) to high(data) do
begin
a^[r] := pchar (data[t]);
inc (t);
end;
result := ppgchar (a);
end;
function TFPgtkPixmap.GetBuildInsensitive : longbool;
begin
result := longbool(gtk.build_insensitive(TheGtkObject^));
end;
procedure TFPgtkPixmap.SetBuildInsensitive (TheValue:longbool);
begin
gtk_pixmap_set_build_insensitive(TheGtkObject,gint(TheValue));
end;
constructor TFPgtkPixmap.Create;
begin
if not assigned (EmptyBitmap) then
EmptyBitmap := gdk_pixmap_new (null, 1, 1, 1);
FPixMap := EmptyBitmap;
FMask := PGdkBitmap (EmptyBitmap);
inherited create;
end;
constructor TFPgtkPixmap.CreateFromFile (Filename:string; Window:TFPgtkWidget);
begin
FPixMap := gdk_pixmap_create_from_xpm (ConvertToGtkWidget(Window)^.window, @FMask, nil, pgchar(Filename));
inherited create;
end;
constructor TFPgtkPixmap.CreateFromStrings (Data:TStrings; Window:TFPgtkWidget);
var ppdata : ppgchar;
begin
ppdata := StringsToPPgchar(Data);
FPixMap := gdk_pixmap_create_from_xpm_d (ConvertToGtkWidget(Window)^.window, @FMask, nil, ppdata);
inherited create;
freemem (ppdata, sizeof (pgchar) * Data.count);
end;
constructor TFPgtkPixmap.CreateFromText (Data:string; Window:TFPgtkWidget);
var l : TStrings;
begin
l := TStringList.Create;
try
l.Text := data;
CreateFromStrings (l, Window);
finally
l.Free;
end;
end;
function TFPgtkPixmap.GetPixmapProp : PGdkPixMap;
var m : PGdkBitmap;
begin
gtk_pixmap_get (TheGtkObject, @result, @m);
end;
procedure TFPgtkPixmap.SetPixmapProp (TheValue:PGdkPixMap);
begin
gtk_pixmap_set (TheGtkObject, TheValue, nil);
end;
function TFPgtkPixmap.GetMask : PGdkBitMap;
var p : PGdkPixmap;
begin
gtk_pixmap_get (TheGtkObject, @p, @result);
end;
procedure TFPgtkPixmap.SetMask (TheValue:PGdkBitMap);
begin
gtk_pixmap_set (TheGtkObject, Pixmap, TheValue);
end;
procedure TFPgtkPixmap.SetPixmap (aPixmap:PGdkPixMap; aMask:PGdkBitmap);
begin
gtk_pixmap_set (TheGtkObject, aPixmap, aMask);
end;
procedure TFPgtkPixmap.GetPixmap (var aPixmap:PGdkPixmap; var aMask:PGdkBitmap);
var P:PGdkPixmap;
M:PGdkBitmap;
begin
gtk_pixmap_get (TheGtkObject, @p, @m);
apixmap := p;
amask := m;
end;
procedure TFPgtkPixmap.LoadFromFile (Filename:string);
var bm : PGdkBitmap;
pm : PGdkPixmap;
begin
pm := gdk_pixmap_colormap_create_from_xpm (nil, Colormap, @bm, nil, pgchar(Filename));
SetPixmap (pm, bm);
end;
procedure TFPgtkPixmap.LoadFromStrings (data:TStrings);
var bm : PGdkBitmap;
pm : PGdkPixmap;
ppdata : ppgchar;
begin
ppdata := StringsToPPgchar(Data);
pm := gdk_pixmap_colormap_create_from_xpm_d (nil, Colormap, @bm, nil, ppdata);
SetPixmap (pm, bm);
freemem (ppdata, sizeof (pgchar) * Data.count);
end;
procedure TFPgtkPixmap.LoadFromText (data:string);
var l : TStrings;
begin
l := TStringList.Create;
try
l.Text := data;
LoadFromStrings (l);
finally
l.Free;
end;
end;
procedure TFPgtkPixmap.LoadFromArray (data:array of string);
var bm : PGdkBitmap;
pm : PGdkPixmap;
ppdata : ppgchar;
begin
ppdata := ArrayToPPgchar(Data);
pm := gdk_pixmap_colormap_create_from_xpm_d (nil, Colormap, @bm, nil, ppdata);
SetPixmap (pm, bm);
freemem (ppdata, sizeof (pgchar) * (high(data)-low(data)+1));
end;
procedure CreateGdkPixmap (var ThePixmap:PGdkPixmap; var TheMask:PGdkBitmap; aWindow:PGdkWindow; data:array of string);
var ppdata : ppgchar;
begin
ppdata := ArrayToPPgchar(Data);
ThePixmap := gdk_pixmap_create_from_xpm_d (aWindow, @TheMask, nil, ppdata);
freemem (ppdata, sizeof (pgchar) * (high(data)-low(data)+1));
end;
{ TFPgtkContainer }
function TFPgtkContainer.TheGtkObject : PGtkContainer;
begin
result := PgtkContainer(FGtkObject);
end;
function TFPgtkContainer.GetBorder : integer;
begin
result := gtk.border_width(TheGtkObject^);
end;
procedure TFPgtkContainer.SetBorder (TheValue:integer);
begin
gtk_container_set_border_width(TheGtkObject,TheValue);
end;
procedure TFPgtkContainer.Add (AWidget:TFPgtkWidget; IsVisible:boolean); Overload;
begin
gtk_container_add (TheGtkObject, ConvertToGtkWidget(AWidget));
if IsVisible then
AWidget.Show;
end;
procedure TFPgtkContainer.Add (AWidget:TFPgtkWidget); Overload;
begin
gtk_container_add (TheGtkObject, ConvertToGtkWidget(AWidget));
AWidget.Show;
end;
procedure TFPgtkContainer.Remove (AWidget:TFPgtkWidget);
begin
gtk_container_remove (TheGtkObject, PGtkwidget(ConvertToGtkObject(AWidget)));
end;
constructor TFPgtkContainer.Create;
begin
inherited create;
FChildren := TFPgtkWidgetGroup.Create;
end;
destructor TFPgtkContainer.Destroy;
begin
if assigned(FChildren) then
FChildren.Free;
inherited destroy;
end;
function TFPgtkContainer.GetChildren : TFPgtkWidgetGroup;
begin
FChildren.GtkList := gtk_container_children (TheGtkObject);
result := FChildren;
end;
procedure TFPgtkContainer.Focus (Direction:TGtkDirectionType);
begin
gtk_container_focus (TheGtkObject, Direction);
end;
procedure TFPgtkContainer.FocusChild (Child:TFPgtkWidget);
begin
gtk_container_set_focus_child (TheGtkObject, PGtkwidget(ConvertToGtkObject(Child)));
end;
procedure TFPgtkContainer.RegisterToplevel;
begin
gtk_container_register_toplevel (TheGtkObject);
end;
procedure TFPgtkContainer.UnregisterToplevel;
begin
gtk_container_unregister_toplevel (TheGtkObject);
end;
procedure TFPgtkContainer.ResizeChildren;
begin
gtk_container_resize_children (TheGtkObject);
end;
function DirectionFunctionSignalfunc (Sender:PGtkobject; Direction:TGtkDirectionType; data:pointer) : TGtkDirectionType; cdecl;
var p : TFPgtkDirectionFunctionSignalFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkDirectionFunctionSignalFunction (TheSignalProc);
result := p (TheWidget as TFPgtkObject, Direction, TheData)
end;
end;
function TFPgtkContainer.DirectionFunctionSignalConnect (signal:string; proc:TFPgtkDirectionFunctionSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@DirectionFunctionSignalfunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkContainer.DirectionFunctionSignalConnectAfter (signal:string; proc:TFPgtkDirectionFunctionSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@DirectionFunctionSignalfunc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkContainer.ConnectAdd (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
begin
result := WidgetSignalConnect (sgAdd, proc, data);
end;
function TFPgtkContainer.ConnectAfterAdd (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
begin
result := WidgetSignalConnectAfter (sgAdd, proc, data);
end;
function TFPgtkContainer.ConnectRemove (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
begin
result := WidgetSignalConnect (sgRemove, proc, data);
end;
function TFPgtkContainer.ConnectAfterRemove (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
begin
result := WidgetSignalConnectAfter (sgRemove, proc, data);
end;
function TFPgtkContainer.ConnectCheckResize (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgCheckResize, proc, data);
end;
function TFPgtkContainer.ConnectAfterCheckResize (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgCheckResize, proc, data);
end;
function TFPgtkContainer.ConnectFocus (proc:TFPgtkDirectionFunctionSignalFunction; data:pointer) : guint;
begin
result := DirectionFunctionSignalConnect (sgFocus, proc, data);
end;
function TFPgtkContainer.ConnectAfterFocus (proc:TFPgtkDirectionFunctionSignalFunction; data:pointer) : guint;
begin
result := DirectionFunctionSignalConnectAfter (sgFocus, proc, data);
end;
function TFPgtkContainer.ConnectSetFocusChild (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
begin
result := WidgetSignalConnect (sgSetFocusChild, proc, data);
end;
function TFPgtkContainer.ConnectAfterSetFocusChild (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
begin
result := WidgetSignalConnectAfter (sgSetFocusChild, proc, data);
end;
{ TFPgtkBin }
function TFPgtkBin.TheGtkObject : PGtkBin;
begin
result := PgtkBin(FGtkObject);
end;
function TFPgtkBin.GetChild : TFPgtkWidget;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.Child),tfpgtkwidget) as tfpgtkwidget;
end;
procedure TFPgtkBin.SetChild (TheValue:TFPgtkWidget);
begin
Add (TheValue);
end;
{ TFPgtkAlignment }
function TFPgtkAlignment.TheGtkObject : PGtkAlignment;
begin
result := PgtkAlignment(FGtkObject);
end;
procedure TFPgtkAlignment.Configure (anXAlign:gfloat; anYAlign:gfloat; anXScale:gfloat; anYScale:gfloat);
begin
gtk_alignment_set (TheGtkObject, anXAlign, anYAlign, anXScale, anYScale);
end;
{ TFPgtkFrame }
function TFPgtkFrame.TheGtkObject : PGtkFrame;
begin
result := PgtkFrame(FGtkObject);
end;
procedure TFPgtkFrame.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_frame_new (nil));
end;
function TFPgtkFrame.GetText : string;
begin
result := TheGtkObject^.thelabel;
end;
procedure TFPgtkFrame.SetText (TheValue:string);
begin
gtk_frame_set_label(TheGtkObject,ConvertToPgchar(TheValue));
end;
function TFPgtkFrame.GetAlignment : gfloat;
begin
result := TheGtkObject^.label_xalign;
end;
procedure TFPgtkFrame.SetAlignment (TheValue:gfloat);
begin
gtk_frame_set_label_align (ThegtkObject, TheValue, 0.0);
end;
function TFPgtkFrame.GetShadowType : TgtkShadowType;
begin
result := TheGtkObject^.shadow_type;
end;
procedure TFPgtkFrame.SetShadowType (TheValue:TgtkShadowType);
begin
gtk_frame_set_shadow_type(TheGtkObject,TheValue);
end;
{ TFPgtkAspectFrame }
function TFPgtkAspectFrame.TheGtkObject : PGtkAspectFrame;
begin
result := PgtkAspectFrame(FGtkObject);
end;
procedure TFPgtkAspectFrame.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_aspect_frame_new (nil,0,0,1,1));
end;
procedure TFPgtkAspectFrame.Configure (anXAlign:gfloat; anYAlign:gfloat; Ratio:gfloat; ObeyChild:longbool);
begin
gtk_aspect_frame_set (TheGtkObject, anXAlign, anYAlign, Ratio, gint(ObeyChild));
end;
{ TFPgtkButton }
function TFPgtkButton.TheGtkObject : PGtkButton;
begin
result := PgtkButton(FGtkObject);
end;
procedure TFPgtkButton.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_button_new);
end;
function TFPgtkButton.LabelClass : TFPgtkLabelClass;
begin
result := TFPgtkLabel;
end;
procedure TFPgtkButton.CreateLabel (aText:string);
begin
if not assigned (FLabel) then
begin
FLabel := LabelClass.Create ('');
with FLabel do
begin
AskNotification (Self);
FAccelKey := ParseULine (aText);
end;
if assigned(AddContainer) then
AddContainer.Add (FLabel)
else
Add (FLabel);
LabelCreated;
end;
end;
procedure TFPgtkButton.NotifyDestroy (AnObject:TFPgtkObject);
begin
inherited;
if AnObject = FLabel then
FLabel := nil;
end;
function TFPgtkButton.ConnectClicked (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgClicked, proc, data);
end;
function TFPgtkButton.ConnectAfterClicked (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgClicked, proc, data);
end;
function TFPgtkButton.ConnectPressed (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgPressed, proc, data);
end;
function TFPgtkButton.ConnectAfterPressed (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgPressed, proc, data);
end;
function TFPgtkButton.ConnectReleased (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgReleased, proc, data);
end;
function TFPgtkButton.ConnectAfterReleased (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgReleased, proc, data);
end;
function TFPgtkButton.ConnectEnter (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgEnter, proc, data);
end;
function TFPgtkButton.ConnectAfterEnter (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgEnter, proc, data);
end;
function TFPgtkButton.ConnectLeave (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgLeave, proc, data);
end;
function TFPgtkButton.ConnectAfterLeave (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgLeave, proc, data);
end;
procedure TFPgtkButton.Clicked;
begin
gtk_button_Clicked (TheGtkObject);
end;
procedure TFPgtkButton.Pressed;
begin
gtk_button_Pressed (TheGtkObject);
end;
procedure TFPgtkButton.Released;
begin
gtk_button_Released (TheGtkObject);
end;
procedure TFPgtkButton.Enter;
begin
gtk_button_Enter (TheGtkObject);
end;
procedure TFPgtkButton.Leave;
begin
gtk_button_Leave (TheGtkObject);
end;
constructor TFPgtkButton.Create;
begin
inherited create;
FAddContainer := nil;
end;
constructor TFPgtkButton.CreateWithLabel (aText:string);
begin
create;
Text := aText;
end;
constructor TFPgtkButton.CreateWithLabel (aText:string; AccelGroup:PGtkAccelGroup);
begin
create;
Text := aText;
if (FAccelKey <> 0) and assigned(AccelGroup) then
AcceleratorAdd (AccelGroup, sgClicked, FAccelKey, DefaultButtonModifiers, GTK_ACCEL_Visible);
end;
function TFPgtkButton.GetText : string;
begin
if assigned (FLabel) then
result := FLabel.Text
else
result := '';
end;
procedure TFPgtkButton.SetText (TheValue:string);
begin
if assigned (FLabel) then
FLabel.Text := TheValue
else
if TheValue <> '' then
CreateLabel (TheValue);
end;
function TFPgtkButton.GetReliefStyle : TGtkReliefStyle;
begin
result := gtk_button_get_relief(TheGtkObject);
end;
procedure TFPgtkButton.SetReliefStyle (TheValue:TGtkReliefStyle);
begin
gtk_button_set_relief(TheGtkObject,TheValue);
end;
procedure TFPgtkButton.LabelCreated;
begin
FLabel.setalignment (0.5,0.5);
end;
{ TFPgtkToggleButton }
function TFPgtkToggleButton.TheGtkObject : PGtkToggleButton;
begin
result := PgtkToggleButton(FGtkObject);
end;
procedure TFPgtkToggleButton.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_toggle_button_new);
end;
function TFPgtkToggleButton.ConnectToggled (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgToggled, proc, data);
end;
function TFPgtkToggleButton.ConnectAfterToggled (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgToggled, proc, data);
end;
procedure TFPgtkToggleButton.Toggled;
begin
gtk_toggle_button_toggled (TheGtkObject);
end;
function TFPgtkToggleButton.GetActive : boolean;
begin
result := gtk_toggle_button_get_active(TheGtkObject);
end;
procedure TFPgtkToggleButton.SetActive (TheValue:boolean);
begin
gtk_toggle_button_set_active(TheGtkObject,TheValue);
end;
function TFPgtkToggleButton.GetDrawIndicator : boolean;
begin
result := boolean(gtk.draw_indicator(TheGtkObject^));
end;
procedure TFPgtkToggleButton.SetDrawIndicator (TheValue:boolean);
begin
gtk.Set_draw_indicator(TheGtkObject^,guint(TheValue))
end;
{ TFPgtkCheckButton }
function TFPgtkCheckButton.TheGtkObject : PGtkCheckButton;
begin
result := PgtkCheckButton(FGtkObject);
end;
procedure TFPgtkCheckButton.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_check_button_new);
end;
{ TFPgtkRadioButton }
function TFPgtkRadioButton.TheGtkObject : PGtkRadioButton;
begin
result := PgtkRadioButton(FGtkObject);
end;
constructor TFPgtkRadioButton.Create (AGroup:TFPgtkRadioButtonGroup);
begin
FGroup := AGroup;
inherited create;
end;
constructor TFPgtkRadioButton.CreateWithLabel (AGroup:TFPgtkRadioButtonGroup; aText:string);
begin
FGroup := AGroup;
inherited CreateWithLabel (aText);
end;
procedure TFPgtkRadioButton.CreateGtkObject;
begin
if not assigned (FGroup) then
FGroup := TFPgtkRadioButtonGroup.Create;
TheGtkWidget := gtk_radio_button_new (FGroup.GtkSList);
FGroup.GtkSList := gtk_radio_button_group (TheGtkObject);
end;
{ TFPgtkRadioButtonGroup }
function TFPgtkRadioButtonGroup.GetItem (index:integer) : TFPgtkRadioButton;
begin
result := TFPgtkRadioButton(Inherited items[index]);
end;
procedure TFPgtkRadioButtonGroup.SetItem (index:integer; TheValue:TFPgtkRadioButton);
begin
inherited items[index] := TheValue;
end;
function TFPgtkRadioButtonGroup.ActiveButtonText : string;
begin
result := ActiveButton.Text;
end;
function TFPgtkRadioButtonGroup.ActiveButtonIndex : integer;
begin
Result := pred(count);
while (Result >= 0) and (not items[Result].Active) do
dec (Result);
end;
function TFPgtkRadioButtonGroup.ActiveButton : TFPgtkRadioButton;
var r : integer;
begin
r := ActiveButtonIndex;
if r >= 0 then
result := items[r]
else
result := nil;
end;
function RadioButtonGroupCreateFromStrings (TheItems:TStrings; ToggledFunction:TFPgtkSignalFunction) : TFPgtkRadioButtonGroup;
var r : integer;
b : TFPgtkRadioButton;
begin
result := TFPgtkRadioButtonGroup.Create;
result.BeginUpdate;
for r := TheItems.count-1 downto 0 do
begin
b := TFPgtkRadioButton.CreateWithLabel (result, TheItems[r]);
if assigned(toggledfunction) then
b.connecttoggled (ToggledFunction, IntToPointer(r));
end;
b.active := true;
result.EndUpdate;
end;
{ TFPgtkOptionMenu }
function TFPgtkOptionMenu.TheGtkObject : PGtkOptionMenu;
begin
result := PgtkOptionMenu(FGtkObject);
end;
procedure TFPgtkOptionMenu.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_option_menu_new);
end;
function TFPgtkOptionMenu.GetMenu : TFPgtkMenu;
begin
result := GetPascalInstance(PGtkObject(gtk_option_menu_get_menu(TheGtkObject)),tfpgtkmenu) as tfpgtkmenu;
end;
procedure TFPgtkOptionMenu.setmenu (TheValue:TFPgtkMenu);
begin
gtk_option_menu_set_menu(TheGtkObject, ConvertToGtkWidget(TheValue));
end;
procedure TFPgtkOptionMenu.RemoveMenu;
begin
gtk_option_menu_remove_menu (TheGtkObject);
end;
procedure TFPgtkOptionMenu.SetHistory (index:integer);
begin
gtk_option_menu_set_history (TheGtkObject, index);
end;
procedure TFPgtkOptionMenu.Clear;
var w : TFPgtkWidget;
begin
w := Menu;
if assigned(w) then
begin
w := TFPgtkMenu(w).Active;
if assigned (w) then
TFPgtkItem(w).Deselect;
end;
end;
{ TFPgtkItem }
function TFPgtkItem.TheGtkObject : PGtkItem;
begin
result := PgtkItem(FGtkObject);
end;
function TFPgtkItem.LabelClass : TFPgtkLabelClass;
begin
result := TFPgtkLabel;
end;
procedure TFPgtkItem.CreateLabel (aText:string);
begin
if not assigned (FLabel) then
begin
FLabel := LabelClass.Create ('');
with FLabel do
begin
AskNotification (Self);
FAccelKey := ParseULine (aText);
end;
if assigned(AddContainer) then
AddContainer.Add (FLabel)
else
Add (FLabel);
LabelCreated;
end;
end;
procedure TFPgtkItem.NotifyDestroy (AnObject:TFPgtkObject);
begin
inherited;
if AnObject = FLabel then
FLabel := nil;
end;
function TFPgtkItem.ConnectSelect (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgSelect, proc, data);
end;
function TFPgtkItem.ConnectAfterSelect (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgSelect, proc, data);
end;
function TFPgtkItem.ConnectDeselect (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgDeselect, proc, data);
end;
function TFPgtkItem.ConnectAfterDeselect (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgDeselect, proc, data);
end;
function TFPgtkItem.ConnectToggle (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgToggle, proc, data);
end;
function TFPgtkItem.ConnectAfterToggle (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgToggle, proc, data);
end;
procedure TFPgtkItem.Select;
begin
gtk_item_Select (TheGtkObject);
end;
procedure TFPgtkItem.Deselect;
begin
gtk_item_Deselect (TheGtkObject);
end;
procedure TFPgtkItem.Toggle;
begin
gtk_item_Toggle (TheGtkObject);
end;
constructor TFPgtkItem.Create;
begin
inherited;
FAddContainer := nil;
end;
constructor TFPgtkItem.CreateWithLabel (aText:string);
begin
inherited create;
Text := aText;
end;
function TFPgtkItem.GetText : string;
begin
if assigned (FLabel) then
result := FLabel.Text
else
result := '';
end;
procedure TFPgtkItem.SetText (TheValue:string);
begin
if assigned (FLabel) then
FLabel.Text := TheValue
else
if TheValue <> '' then
CreateLabel (TheValue);
end;
procedure TFPgtkItem.LabelCreated;
begin
end;
{ TFPgtkItemGroup }
function TFPgtkItemGroup.GetItem (index:integer) : TFPgtkItem;
begin
result := TFPgtkItem (inherited items[index]);
end;
procedure TFPgtkItemGroup.SetItem (index:integer; TheValue:TFPgtkItem);
begin
inherited items[index] := TheValue;
end;
procedure TFPgtkItemGroup.FillFromList (aList:TStrings);
var r : integer;
i : TFPgtkItem;
begin
BeginUpdate;
for r := 0 to aList.count-1 do
begin
i := FItemClass.CreateWithLabel (aList[r]);
add (i);
i.Show;
end;
EndUpdate;
end;
procedure TFPgtkItemGroup.FillFromCommaText (aList:string);
var l : TStrings;
begin
l := TStringList.Create;
try
l.commatext := aList;
FillFromList (l);
finally
l.Free;
end;
end;
procedure TFPgtkItemGroup.FillFromArray (aList:array of string);
var r : integer;
l : TStrings;
begin
l := TStringlist.Create;
try
for r := low (aList) to high(aList) do
l.Add (aList[r]);
FillFromList (l);
finally
l.Free;
end;
end;
procedure TFPgtkItemGroup.SignalConnect (Signal:string; proc:TFPgtkSignalFunction; data:pointer);
var r : integer;
begin
if assigned (Proc) then
for r := 0 to count-1 do
Items[r].SignalConnect (Signal, proc, data);
end;
constructor TFPgtkItemGroup.create (AnItemClass:TFPgtkItemClass);
begin
inherited create;
FItemClass := AnItemClass;
end;
function TFPgtkItemGroup.AddTextItem (aText:string) : TFPgtkItem;
begin
result := FItemClass.CreateWithLabel (aText);
Add (result);
result.Show;
end;
{ TFPgtkMenuItem }
function TFPgtkMenuItem.TheGtkObject : PGtkMenuItem;
begin
result := PgtkMenuItem(FGtkObject);
end;
procedure TFPgtkMenuItem.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_menu_item_new);
end;
function TFPgtkMenuItem.ConnectActivate (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnect (sgActivate, proc, data);
end;
function TFPgtkMenuItem.ConnectAfterActivate (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnectAfter (sgActivate, proc, data);
end;
function TFPgtkMenuItem.ConnectActivateItem (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnect (sgActivateItem, proc, data);
end;
function TFPgtkMenuItem.ConnectAfterActivateItem (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnectAfter (sgActivateItem, proc, data);
end;
procedure TFPgtkMenuItem.Activate;
begin
gtk_menu_item_activate (TheGtkObject);
end;
procedure TFPgtkMenuItem.SetSubMenu (aSubMenu:TFPgtkWidget);
begin
gtk_menu_item_Set_submenu (TheGtkObject, PGtkwidget(ConvertToGtkObject(aSubMenu)));
end;
procedure TFPgtkMenuItem.RemoveSubMenu;
begin
gtk_menu_item_remove_submenu (TheGtkObject);
end;
procedure TFPgtkMenuItem.Configure (ShowToggleIndicator:boolean; ShowSubmenuIndicator:boolean);
begin
gtk_menu_item_configure (TheGtkObject, ord(ShowToggleIndicator), ord(ShowSubmenuIndicator));
end;
procedure TFPgtkMenuItem.RightJustify;
begin
gtk_menu_item_right_justify (TheGtkObject);
end;
function TFPgtkMenuItem.GetPlacement : TGtkSubmenuPlacement;
begin
result := TGtkSubmenuPlacement(submenu_placement(TheGtkObject^));
end;
procedure TFPgtkMenuItem.SetPlacement (TheValue:TGtkSubmenuPlacement);
begin
gtk_menu_item_set_placement(TheGtkObject,TheValue);
end;
function TFPgtkMenuItem.GetToggleIndicator : boolean;
begin
result := boolean(gtk.show_toggle_indicator(TheGtkObject^));
end;
procedure TFPgtkMenuItem.SetToggleIndicator (TheValue:boolean);
begin
Configure (TheValue, SubMenuIndicator);
end;
function TFPgtkMenuItem.GetSubMenuIndicator : boolean;
begin
result := boolean(gtk.show_submenu_indicator(TheGtkObject^));
end;
procedure TFPgtkMenuItem.SetSubMenuIndicator (TheValue:boolean);
begin
configure (ToggleIndicator, TheValue);
end;
function TFPgtkMenuItem.GetJustifyRight : boolean;
begin
result := boolean(gtk.right_justify(TheGtkObject^));
end;
procedure TFPgtkMenuItem.SetJustifyRight (TheValue:boolean);
begin
gtk.Set_right_justify(TheGtkObject^,guint(TheValue))
end;
function TFPgtkMenuItem.GetSubMenu : TFPgtkMenuShell;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.submenu),tfpgtkmenushell) as tfpgtkmenushell;
end;
procedure TFPgtkMenuItem.SetPropSubMenu (TheValue:TFPgtkMenuShell);
begin
SetSubMenu (TheValue);
end;
function TFPgtkMenuItem.LabelClass : TFPgtkLabelClass;
begin
result := TFPgtkAccelLabel;
end;
procedure TFPgtkMenuItem.LabelCreated;
begin
with (TheLabel as TFPgtkAccelLabel) do
AccelWidget := Self;
end;
{ TFPgtkCheckMenuItem }
function TFPgtkCheckMenuItem.TheGtkObject : PGtkCheckMenuItem;
begin
result := PgtkCheckMenuItem(FGtkObject);
end;
procedure TFPgtkCheckMenuItem.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_check_menu_item_new);
end;
function TFPgtkCheckMenuItem.ConnectToggled (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnect (sgToggled, proc, data);
end;
function TFPgtkCheckMenuItem.ConnectAfterToggled (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnectAfter (sgToggled, proc, data);
end;
procedure TFPgtkCheckMenuItem.Toggled;
begin
gtk_check_menu_item_toggled (TheGtkObject);
end;
function TFPgtkCheckMenuItem.GetActive : boolean;
begin
result := boolean(gtk.active(TheGtkObject^));
end;
procedure TFPgtkCheckMenuItem.SetActive (TheValue:boolean);
begin
gtk_check_menu_item_set_active(TheGtkObject,TheValue);
end;
function TFPgtkCheckMenuItem.GetShowToggle : boolean;
begin
result := boolean(gtk.always_show_toggle(TheGtkObject^));
end;
procedure TFPgtkCheckMenuItem.SetShowToggle (TheValue:boolean);
begin
gtk_check_menu_item_set_show_toggle(TheGtkObject,TheValue);
end;
{ TFPgtkRadioMenuItem }
function TFPgtkRadioMenuItem.TheGtkObject : PGtkRadioMenuItem;
begin
result := PgtkRadioMenuItem(FGtkObject);
end;
procedure TFPgtkRadioMenuItem.CreateGtkObject;
begin
if not assigned(FGroup) then
FGroup := TFPgtkRadioMenuGroup.Create;
TheGtkWidget := gtk_radio_menu_item_new (FGroup.GtkSList);
FGroup.GtkSList := gtk_radio_menu_item_group (TheGtkObject);
end;
constructor TFPgtkRadioMenuItem.Create (AGroup:TFPgtkRadioMenuGroup);
begin
FGroup := AGroup;
inherited create;
end;
constructor TFPgtkRadioMenuItem.CreateWithLabel (Agroup:TFPgtkRadioMenuGroup; aText:string);
begin
FGroup := Agroup;
inherited CreateWithLabel (aText);
end;
{ TFPgtkRadioMenuGroup }
function TFPgtkRadioMenuGroup.GetItem (index:integer) : TFPgtkRadioMenuItem;
begin
result := TFPgtkRadioMenuItem(Inherited items[index]);
end;
procedure TFPgtkRadioMenuGroup.SetItem (index:integer; TheValue:TFPgtkRadioMenuItem);
begin
inherited items[index] := TheValue;
end;
function TFPgtkRadioMenuGroup.ActiveMenuText : string;
begin
result := ActiveMenu.Text;
end;
function TFPgtkRadioMenuGroup.ActiveMenuIndex : integer;
begin
Result := pred(count);
while (Result >= 0) and (not items[Result].Active) do
dec (Result);
end;
function TFPgtkRadioMenuGroup.ActiveMenu : TFPgtkRadioMenuItem;
var r : integer;
begin
r := ActiveMenuIndex;
if r >= 0 then
result := items[r]
else
result := nil;
end;
constructor TFPgtkRadioMenuGroup.create;
begin
inherited create (TFPgtkRadioMenuItem);
end;
{ TFPgtkTearOffMenuItem }
function TFPgtkTearOffMenuItem.TheGtkObject : PGtkTearOffMenuItem;
begin
result := PgtkTearOffMenuItem(FGtkObject);
end;
procedure TFPgtkTearOffMenuItem.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_tearoff_menu_item_new);
end;
{ TFPgtkListItem }
function TFPgtkListItem.TheGtkObject : PGtkListItem;
begin
result := PgtkListItem(FGtkObject);
end;
procedure TFPgtkListItem.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_list_item_new);
end;
procedure ScrollSignalproc (Sender:PGtkobject; ScrollType:TgtkScrollType; position:gfloat; data:pointer); cdecl;
var p : TFPgtkScrollSignalFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkScrollSignalFunction (TheSignalProc);
p (TheWidget as TFPgtkObject, ScrollType, position, TheData)
end;
end;
function TFPgtkListItem.ScrollSignalConnect (signal:string; proc:TFPgtkScrollSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@ScrollSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkListItem.ScrollSignalConnectAfter (signal:string; proc:TFPgtkScrollSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@ScrollSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
procedure ScrollBooleanSignalproc (Sender:PGtkobject; ScrolType:TgtkScrollType; Position:gfloat; AutoStartSelection:boolean; data:pointer); cdecl;
var p : TFPgtkScrollBooleanSignalFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkScrollBooleanSignalFunction (TheSignalProc);
p (TheWidget as TFPgtkObject, ScrolType, Position, AutoStartSelection, TheData)
end;
end;
function TFPgtkListItem.ScrollBooleanSignalConnect (signal:string; proc:TFPgtkScrollBooleanSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@ScrollBooleanSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkListItem.ScrollBooleanSignalConnectAfter (signal:string; proc:TFPgtkScrollBooleanSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@ScrollBooleanSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkListItem.ConnectToggleFocusRow (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgToggleFocusRow, proc, data);
end;
function TFPgtkListItem.ConnectAfterToggleFocusRow (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgToggleFocusRow, proc, data);
end;
function TFPgtkListItem.ConnectSelectAll (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgSelectAll, proc, data);
end;
function TFPgtkListItem.ConnectAfterSelectAll (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgSelectAll, proc, data);
end;
function TFPgtkListItem.ConnectUnselectAll (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgUnselectAll, proc, data);
end;
function TFPgtkListItem.ConnectAfterUnselectAll (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgUnselectAll, proc, data);
end;
function TFPgtkListItem.ConnectUndoSelection (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgUndoSelection, proc, data);
end;
function TFPgtkListItem.ConnectAfterUndoSelection (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgUndoSelection, proc, data);
end;
function TFPgtkListItem.ConnectStartSelection (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgStartSelection, proc, data);
end;
function TFPgtkListItem.ConnectAfterStartSelection (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgStartSelection, proc, data);
end;
function TFPgtkListItem.ConnectEndSelection (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgEndSelection, proc, data);
end;
function TFPgtkListItem.ConnectAfterEndSelection (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgEndSelection, proc, data);
end;
function TFPgtkListItem.ConnectToggleAddMode (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgToggleAddMode, proc, data);
end;
function TFPgtkListItem.ConnectAfterToggleAddMode (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgToggleAddMode, proc, data);
end;
function TFPgtkListItem.ConnectExtendSelection (proc:TFPgtkScrollBooleanSignalFunction; data:pointer) : guint;
begin
result := ScrollBooleanSignalConnect (sgExtendSelection, proc, data);
end;
function TFPgtkListItem.ConnectAfterExtendSelection (proc:TFPgtkScrollBooleanSignalFunction; data:pointer) : guint;
begin
result := ScrollBooleanSignalConnectAfter (sgExtendSelection, proc, data);
end;
function TFPgtkListItem.ConnectScrollVertical (proc:TFPgtkScrollSignalFunction; data:pointer) : guint;
begin
result := ScrollSignalConnect (sgScrollVertical, proc, data);
end;
function TFPgtkListItem.ConnectAfterScrollVertical (proc:TFPgtkScrollSignalFunction; data:pointer) : guint;
begin
result := ScrollSignalConnectAfter (sgScrollVertical, proc, data);
end;
function TFPgtkListItem.ConnectScrollHorizontal (proc:TFPgtkScrollSignalFunction; data:pointer) : guint;
begin
result := ScrollSignalConnect (sgScrollHorizontal, proc, data);
end;
function TFPgtkListItem.ConnectAfterScrollHorizontal (proc:TFPgtkScrollSignalFunction; data:pointer) : guint;
begin
result := ScrollSignalConnectAfter (sgScrollHorizontal, proc, data);
end;
procedure TFPgtkListItem.Select;
begin
gtk_list_item_select (TheGtkObject);
end;
procedure TFPgtkListItem.Deselect;
begin
gtk_list_item_deselect (TheGtkObject);
end;
{ TFPgtkListItemGroup }
constructor TFPgtkListItemGroup.create;
begin
inherited create (TFPgtkListItem);
ManageLists := false;
end;
{ TFPgtkTreeItem }
function TFPgtkTreeItem.TheGtkObject : PGtkTreeItem;
begin
result := PgtkTreeItem(FGtkObject);
end;
procedure TFPgtkTreeItem.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_tree_item_new);
end;
function TFPgtkTreeItem.GetSubTree : TFPgtkWidget;
begin
result := GetPascalInstance(PGtkObject(gtk_tree_item_subtree(TheGtkObject)),tfpgtkwidget) as tfpgtkwidget;
end;
procedure TFPgtkTreeItem.SetSubTree (TheValue:TFPgtkWidget);
begin
if assigned(TheValue) then
gtk_tree_item_set_subtree (TheGtkObject, ConvertToGtkWidget(TheValue))
else
gtk_tree_item_remove_subtree (TheGtkObject);
end;
function TFPgtkTreeItem.GetPixPlus : TFPgtkWidget;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.plus_pix_widget),tfpgtkwidget) as tfpgtkwidget;
end;
function TFPgtkTreeItem.GetPixMinus : TFPgtkWidget;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.minus_pix_widget),tfpgtkwidget) as tfpgtkwidget;
end;
function TFPgtkTreeItem.GetExpanded : boolean;
begin
result := boolean(gtk.expanded(TheGtkObject^));
end;
procedure TFPgtkTreeItem.SetExpanded (TheValue:boolean);
begin
if TheValue then
Expand
else
collapse;
end;
procedure TFPgtkTreeItem.Select;
begin
gtk_tree_item_select (TheGtkObject);
end;
procedure TFPgtkTreeItem.Deselect;
begin
gtk_tree_item_deselect (TheGtkObject);
end;
procedure TFPgtkTreeItem.Expand;
begin
gtk_tree_item_expand (TheGtkObject);
end;
procedure TFPgtkTreeItem.Collapse;
begin
gtk_tree_item_collapse (TheGtkObject);
end;
function TFPgtkTreeItem.ConnectCollapse (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgCollapse, proc, data);
end;
function TFPgtkTreeItem.ConnectAfterCollapse (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgCollapse, proc, data);
end;
function TFPgtkTreeItem.ConnectExpand (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgExpand, proc, data);
end;
function TFPgtkTreeItem.ConnectAfterExpand (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgExpand, proc, data);
end;
{ TFPgtkWindow }
function TFPgtkWindow.TheGtkObject : PGtkWindow;
begin
result := PgtkWindow(FGtkObject);
end;
procedure TFPgtkWindow.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_window_new (TheWindowType));
end;
constructor TFPgtkWindow.Create (AType:TGtkWindowType);
begin
TheWindowType := AType;
inherited Create;
FAccelGroups := TList.Create;
FMainLevel := NoMainLevel;
end;
destructor TFPgtkWindow.Destroy;
begin
FAccelGroups.Free;
inherited;
end;
function TFPgtkWindow.GetWindowType : TGtkWindowType;
begin
result := TheGtkObject^.thetype;
end;
procedure TFPgtkWindow.SetWindowType (TheValue:TGtkWindowType);
begin
TheGtkObject^.thetype := TheValue;
end;
function TFPgtkWindow.GetTitle : string;
begin
result := TheGtkObject^.title;
end;
procedure TFPgtkWindow.SetTitle (TheValue:string);
begin
gtk_window_set_title(TheGtkObject,ConvertToPgchar(TheValue));
end;
function TFPgtkWindow.GetModal : boolean;
begin
result := boolean(gtk.modal(TheGtkObject^));
end;
procedure TFPgtkWindow.SetModal (TheValue:boolean);
begin
gtk_window_set_modal(TheGtkObject,TheValue);
end;
procedure TFPgtkWindow.DoDialogResult (Action:integer; Sender:TFPgtkObject);
begin
if assigned (OnDialogResult) then
OnDialogResult (self, FDialogResult, Action, Sender);
end;
procedure TFPgtkWindow.DoDialogInit (InitData:pointer);
begin
if assigned (OnDialogInit) then
OnDialogInit (self, InitData);
FDialogResult := InitData;
end;
procedure TFPgtkWindow.Close;
begin
if (FDestroying = dsAlive) then
gtk_widget_destroy (TheGtkWidget);
end;
procedure TFPgtkWindow.CloseWindow (Sender:TFPgtkObject; data:pointer);
begin
Close;
end;
procedure TFPgtkWindow.CloseWithResult (Sender:TFPgtkObject; data:pointer);
begin
ModalAction := pointertoint(data);
end;
procedure TFPgtkWindow.SetModalAction (TheValue:integer);
begin
FModalAction := TheValue;
if TheValue <> 0 then
begin
DoDialogResult (FModalAction, self);
close;
end;
end;
procedure TFPgtkWindow.ExecuteEnds (Sender:TFPgtkObject; data:pointer);
begin
if gtk_main_level = FMainLevel then
gtk_main_quit;
end;
function TFPgtkWindow.Execute (anOnDialogInit:DialogInitCallBack; anInitData:pointer; anOnDialogResult:DialogResultCallBack) : integer;
begin
FModalAction := drNone;
if assigned (anOnDialogInit) then
OnDialogInit := anOnDialogInit;
DoDialogInit (anInitData);
if assigned (anOnDialogResult) then
OnDialogResult := anOnDialogResult;
ConnectDestroy (@ExecuteEnds, nil);
Modal := True;
Show;
FMainLevel := gtk_main_level + 1;
try
gtk_main;
result := FModalAction;
finally
FMainLevel := NoMainLevel;
end;
end;
function TFPgtkWindow.ConnectSetFocus (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
begin
result := WidgetSignalConnect (sgSetFocus, proc, data);
end;
function TFPgtkWindow.ConnectAfterSetFocus (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
begin
result := WidgetSignalConnectAfter (sgSetFocus, proc, data);
end;
procedure TFPgtkWindow.SetTransientFor (aParent:TFPgtkWindow);
begin
gtk_window_set_transient_for (TheGtkObject, PGtkwindow(ConvertToGtkObject(aParent)));
end;
procedure TFPgtkWindow.DefaultWidget (Widget:TFPgtkWidget);
begin
gtk_window_set_default (TheGtkObject, PGtkwidget(ConvertToGtkObject(Widget)));
end;
procedure TFPgtkWindow.FocusedWidget (NewFocus:TFPgtkWidget);
begin
gtk_window_set_focus (TheGtkObject, PGtkwidget(ConvertToGtkObject(NewFocus)));
end;
function TFPgtkWindow.GetUserSizable : boolean;
begin
result := (allow_grow(TheGtkObject^)=1) and (auto_shrink(TheGtkObject^)=0);
end;
procedure TFPgtkWindow.SetUserSizable (TheValue:boolean);
begin
if TheValue then
gtk_window_set_policy (TheGtkObject, gint(FALSE), gint(TRUE), gint(FALSE))
else
gtk_window_set_policy (TheGtkObject, gint(FALSE), gint(FALSE), gint(TRUE));
end;
procedure TFPgtkWindow.ActivateFocus;
begin
gtk_window_activate_focus (TheGtkObject);
end;
procedure TFPgtkWindow.ActivateDefault;
begin
gtk_window_activate_default (TheGtkObject);
end;
procedure TFPgtkWindow.SetDefaultSize (Width:gint; Height:gint);
begin
gtk_window_set_default_size (TheGtkObject, Width, Height);
end;
function TFPgtkWindow.GetPosition : TGtkWindowPosition;
begin
result := TGtkWindowPosition (gtk.position (TheGtkObject^));
end;
procedure TFPgtkWindow.SetPosition (TheValue:TGtkWindowPosition);
begin
gtk_window_set_position(TheGtkObject,TheValue);
end;
function TFPgtkWindow.GetAccelGroups (ID:integer) : PGtkAccelGroup;
begin
result := FAccelGroups[ID];
if result = nil then
result := FAccelGroups[-1];
end;
function TFPgtkWindow.AccelGroupNew : integer;
var ag : Pgtkaccelgroup;
begin
result := FAccelGroups.Count;
ag := gtk_accel_group_new;
FAccelGroups.Add (ag);
gtk_window_add_accel_group (TheGtkObject, ag);
end;
procedure TFPgtkWindow.AccelGroupDelete (ID:integer);
begin
gtk_accel_group_detach (FAccelGroups[ID], FGtkObject);
FAccelGroups[ID] := nil;
end;
procedure TFPgtkWindow.AcceleratorAdd (AG:integer; aWidget:TFPgtkWidget; aSignal:string; Key:guint; Mods:TGdkModifierType; acFlags:TGtkAccelFlags); Overload;
begin
gtk_widget_add_accelerator (ConvertToGtkWidget(aWidget), pgchar(aSignal),
AccelGroups[AG], Key, Mods, acFlags);
end;
procedure AcceleratorAdd (AG:PGtkAccelGroup; aWidget:TFPgtkWidget; aSignal:string; Key:guint; Mods:TGdkModifierType; Flags:TGtkAccelFlags);
begin
gtk_widget_add_accelerator (ConvertToGtkWidget(aWidget), pgchar(aSignal),
AG, Key, Mods, Flags);
end;
procedure TFPgtkWindow.AcceleratorRemove (AG:integer; aWidget:TFPgtkWidget; Key:guint; Mods:TGdkModifierType); Overload;
begin
gtk_widget_remove_accelerator (ConvertToGtkWidget(aWidget), AccelGroups[AG], Key, Mods);
end;
procedure AcceleratorRemove (AG:PGtkAccelGroup; aWidget:TFPgtkWidget; Key:guint; Mods:TGdkModifierType); Overload;
begin
gtk_widget_remove_accelerator (ConvertToGtkWidget(aWidget), AG, Key, Mods);
end;
procedure TFPgtkWindow.AccelGroupLock (AG:integer);
begin
gtk_accel_group_lock (AccelGroups[AG]);
end;
procedure AccelGroupLock (AG:PGtkAccelGroup);
begin
gtk_accel_group_lock (AG);
end;
procedure TFPgtkWindow.AccelGroupUnlock (AG:integer);
begin
gtk_accel_group_unlock (AccelGroups[AG]);
end;
procedure AccelGroupUnlock (AG:PGtkAccelGroup);
begin
gtk_accel_group_unlock (AG);
end;
function AccelKeyName (Key:guint; Mods:TGdkModifierType) : string;
begin
result := string (gtk_accelerator_name(Key, Mods));
end;
procedure AccelKeyParse (AccelName:string; var Key:guint; var Mods:TGdkModifierType);
var k : guint;
m : TGdkModifierType;
begin
gtk_accelerator_parse (pgchar(AccelName), @k, @m);
Key := k;
Mods := m;
end;
procedure TFPgtkWindow.AccelGroupActivate (AG:integer; Key:guint; Mods:TGdkModifierType);
begin
gtk_accel_group_activate (AccelGroups[AG], Key, Mods);
end;
procedure AccelGroupActivate (AG:PGtkAccelGroup; Key:guint; Mods:TGdkModifierType);
begin
gtk_accel_group_activate (AG, Key, Mods);
end;
{ TFPgtkColorSelectionDialog }
function TFPgtkColorSelectionDialog.TheGtkObject : PGtkColorSelectionDialog;
begin
result := PgtkColorSelectionDialog(FGtkObject);
end;
procedure TFPgtkColorSelectionDialog.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_color_selection_dialog_new (''));
end;
function TFPgtkColorSelectionDialog.GetColorSel : TFPgtkColorSelection;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.Colorsel),tfpgtkcolorselection) as tfpgtkcolorselection;
end;
function TFPgtkColorSelectionDialog.GetButtonOK : TFPgtkButton;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.ok_button),tfpgtkbutton) as tfpgtkbutton;
end;
function TFPgtkColorSelectionDialog.GetButtonCancel : TFPgtkButton;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.cancel_button),tfpgtkbutton) as tfpgtkbutton;
end;
function TFPgtkColorSelectionDialog.GetButtonHelp : TFPgtkButton;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.help_button),tfpgtkbutton) as tfpgtkbutton;
end;
{ TFPgtkDialog }
function TFPgtkDialog.TheGtkObject : PGtkDialog;
begin
result := PgtkDialog(FGtkObject);
end;
procedure TFPgtkDialog.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_dialog_new);
end;
function TFPgtkDialog.GetActionArea : TFPgtkHBox;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.action_area),tfpgtkhbox) as tfpgtkhbox;
end;
function TFPgtkDialog.GetVBox : TFPgtkVBox;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.vbox),tfpgtkvbox) as tfpgtkvbox;
end;
constructor TFPgtkDialog.create;
begin
inherited create (gtk_window_dialog);
end;
{ TFPgtkInputDialog }
function TFPgtkInputDialog.TheGtkObject : PGtkInputDialog;
begin
result := PgtkInputDialog(FGtkObject);
end;
procedure TFPgtkInputDialog.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_input_dialog_new);
end;
function TFPgtkInputDialog.GetButtonClose : TFPgtkButton;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.close_button),tfpgtkbutton) as tfpgtkbutton;
end;
function TFPgtkInputDialog.GetButtonSave : TFPgtkButton;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.save_button),tfpgtkbutton) as tfpgtkbutton;
end;
procedure DeviceSignalproc (Sender:PGtkinputdialog; DeviceID:integer; Data:pointer); cdecl;
var p : TFPgtkDeviceSignalFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkDeviceSignalFunction (TheSignalProc);
p (TheWidget as TFPgtkInputDialog, DeviceID, TheData)
end;
end;
function TFPgtkInputDialog.DeviceSignalConnect (signal:string; proc:TFPgtkDeviceSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@DeviceSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkInputDialog.DeviceSignalConnectAfter (signal:string; proc:TFPgtkDeviceSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@DeviceSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkInputDialog.ConnectEnableDevice (proc:TFPgtkDeviceSignalFunction; data:pointer) : guint;
begin
result := DeviceSignalConnect (sgEnableDevice, proc, data);
end;
function TFPgtkInputDialog.ConnectAfterEnableDevice (proc:TFPgtkDeviceSignalFunction; data:pointer) : guint;
begin
result := DeviceSignalConnectAfter (sgEnableDevice, proc, data);
end;
function TFPgtkInputDialog.ConnectDisableDevice (proc:TFPgtkDeviceSignalFunction; data:pointer) : guint;
begin
result := DeviceSignalConnect (sgDisableDevice, proc, data);
end;
function TFPgtkInputDialog.ConnectAfterDisableDevice (proc:TFPgtkDeviceSignalFunction; data:pointer) : guint;
begin
result := DeviceSignalConnectAfter (sgDisableDevice, proc, data);
end;
{ TFPgtkFileSelection }
function TFPgtkFileSelection.TheGtkObject : PGtkFileSelection;
begin
result := PgtkFileSelection(FGtkObject);
end;
procedure TFPgtkFileSelection.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_file_selection_new ('Select a file'));
end;
function TFPgtkFileSelection.GetFilename : string;
begin
result := gtk_file_selection_get_filename(TheGtkObject);
end;
procedure TFPgtkFileSelection.SetFilename (TheValue:string);
begin
gtk_file_selection_set_filename(TheGtkObject,Pgchar(TheValue));
end;
procedure TFPgtkFileSelection.Complete (Pattern:string);
begin
gtk_file_selection_complete (TheGtkObject, ConvertToPgchar(Pattern));
end;
procedure TFPgtkFileSelection.ShowFileOpButtons;
begin
gtk_file_selection_show_fileop_buttons (TheGtkObject);
end;
procedure TFPgtkFileSelection.HideFileOpButtons;
begin
gtk_file_selection_hide_fileop_buttons (TheGtkObject);
end;
function TFPgtkFileSelection.GetDirList : TFPgtkCList;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.dir_list),tfpgtkclist) as tfpgtkclist;
end;
function TFPgtkFileSelection.GetFileList : TFPgtkCList;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.file_list),tfpgtkclist) as tfpgtkclist;
end;
function TFPgtkFileSelection.GetOkButton : TFPgtkButton;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.ok_button),tfpgtkbutton) as tfpgtkbutton;
end;
function TFPgtkFileSelection.GetCancelButton : TFPgtkButton;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.cancel_button),tfpgtkbutton) as tfpgtkbutton;
end;
function TFPgtkFileSelection.GetHistoryPulldown : TFPgtkOptionMenu;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.history_pulldown),tfpgtkoptionmenu) as tfpgtkoptionmenu;
end;
function TFPgtkFileSelection.GetFileOpDialog : TFPgtkDialog;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.fileop_dialog),tfpgtkdialog) as tfpgtkdialog;
end;
function TFPgtkFileSelection.GetFileOpCreateDir : TFPgtkButton;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.fileop_c_dir),tfpgtkbutton) as tfpgtkbutton;
end;
function TFPgtkFileSelection.GetFileOpDelFile : TFPgtkButton;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.fileop_del_file),tfpgtkbutton) as tfpgtkbutton;
end;
function TFPgtkFileSelection.GetFileOpRenFile : TFPgtkButton;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.fileop_ren_file),tfpgtkbutton) as tfpgtkbutton;
end;
{ TFPgtkFontSelectionDialog }
function TFPgtkFontSelectionDialog.TheGtkObject : PGtkFontSelectionDialog;
begin
result := PgtkFontSelectionDialog(FGtkObject);
end;
procedure TFPgtkFontSelectionDialog.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_font_selection_dialog_new (''));
end;
function TFPgtkFontSelectionDialog.GetFontSel : TFPgtkFontSelection;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.fontsel),tfpgtkfontselection) as tfpgtkfontselection;
end;
function TFPgtkFontSelectionDialog.GetButtonOk : TFPgtkButton;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.ok_button),tfpgtkbutton) as tfpgtkbutton;
end;
function TFPgtkFontSelectionDialog.GetButtonApply : TFPgtkButton;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.apply_button),tfpgtkbutton) as tfpgtkbutton;
end;
function TFPgtkFontSelectionDialog.GetButtonCancel : TFPgtkButton;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.cancel_button),tfpgtkbutton) as tfpgtkbutton;
end;
{ TFPgtkEventBox }
function TFPgtkEventBox.TheGtkObject : PGtkEventBox;
begin
result := PgtkEventBox(FGtkObject);
end;
procedure TFPgtkEventBox.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_event_box_new);
end;
{ TFPgtkHandleBox }
function TFPgtkHandleBox.TheGtkObject : PGtkHandleBox;
begin
result := PgtkHandleBox(FGtkObject);
end;
procedure TFPgtkHandleBox.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_handle_box_new);
end;
function TFPgtkHandleBox.GetShadowType : TGtkShadowtype;
begin
result := TheGtkObject^.shadow_type;
end;
procedure TFPgtkHandleBox.SetShadowType (TheValue:TGtkShadowtype);
begin
gtk_handle_box_set_shadow_type(TheGtkObject,TheValue);
end;
function TFPgtkHandleBox.GetHandlePosition : TGtkPositionType;
begin
result := TGtkPositionType (gtk.handle_position(TheGtkObject^));
end;
procedure TFPgtkHandleBox.SetHandlePosition (TheValue:TGtkPositionType);
begin
gtk_handle_box_set_handle_position(TheGtkObject,TheValue);
end;
function TFPgtkHandleBox.GetSnapEdge : TGtkPositionType;
begin
result := TGtkPositionType (gtk.snap_edge(TheGtkObject^));
end;
procedure TFPgtkHandleBox.SetSnapEdge (TheValue:TGtkPositionType);
begin
gtk_handle_box_set_snap_edge(TheGtkObject,TheValue);
end;
function TFPgtkHandleBox.GetChildDetached : boolean;
begin
result := boolean(gtk.child_detached(TheGtkObject^));
end;
function TFPgtkHandleBox.ConnectChildAttached (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
begin
result := WidgetSignalConnect (sgChildAttached, proc, data);
end;
function TFPgtkHandleBox.ConnectAfterChildAttached (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
begin
result := WidgetSignalConnectAfter (sgChildAttached, proc, data);
end;
function TFPgtkHandleBox.ConnectChildDetached (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
begin
result := WidgetSignalConnect (sgChildDetached, proc, data);
end;
function TFPgtkHandleBox.ConnectAfterChildDetached (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
begin
result := WidgetSignalConnectAfter (sgChildDetached, proc, data);
end;
{ TFPgtkScrolledWindow }
function TFPgtkScrolledWindow.TheGtkObject : PGtkScrolledWindow;
begin
result := PgtkScrolledWindow(FGtkObject);
end;
procedure TFPgtkScrolledWindow.CreateGtkObject;
var h, v : PgtkAdjustment;
begin
if assigned (FHScroll) then
h := PGtkAdjustment(ConvertToGtkObject(FHScroll))
else
h := null;
if assigned (FVScroll) then
v := PGtkAdjustment(ConvertToGtkObject(FVScroll))
else
v := null;
FGtkObject := PGtkObject (gtk_scrolled_window_new (h, v));
end;
constructor TFPgtkScrolledWindow.Create (hadj:TFPgtkAdjustment; vadj:TFPgtkAdjustment);
begin
FVScroll := vadj;
FHScroll := hadj;
inherited create;
setusize (200,170);
end;
function TFPgtkScrolledWindow.GetHPolicy : TGtkPolicyType;
begin
result := gtk.hscrollbar_policy(TheGtkObject^);
end;
procedure TFPgtkScrolledWindow.SetHPolicy (TheValue:TGtkPolicyType);
begin
gtk_scrolled_window_set_policy (TheGtkObject, TheValue, VPolicy);
end;
function TFPgtkScrolledWindow.GetVPolicy : TGtkPolicyType;
begin
result := gtk.vscrollbar_policy(TheGtkObject^);
end;
procedure TFPgtkScrolledWindow.SetVPolicy (TheValue:TGtkPolicyType);
begin
gtk_scrolled_window_set_policy (TheGtkObject, HPolicy, TheValue);
end;
procedure TFPgtkScrolledWindow.SetPolicy (aHScrollBar:TGtkPolicyType; aVScrollbar:TGtkPolicyType); Overload;
begin
gtk_scrolled_window_set_policy (TheGtkObject, aHScrollBar, aVScrollbar);
end;
procedure TFPgtkScrolledWindow.SetPolicy (aPolicy:TGtkPolicyType); Overload;
begin
SetPolicy (aPolicy, aPolicy);
end;
function TFPgtkScrolledWindow.GetHAdjustment : TFPgtkAdjustment;
begin
result := GetPascalInstance(PGtkObject(gtk_scrolled_window_get_hadjustment(TheGtkObject)),tfpgtkadjustment) as tfpgtkadjustment;
end;
procedure TFPgtkScrolledWindow.SetHAdjustment (TheValue:TFPgtkAdjustment);
begin
gtk_scrolled_window_set_hadjustment(TheGtkObject,PGtkadjustment(ConvertToGtkObject(TheValue)));
end;
function TFPgtkScrolledWindow.GetVAdjustment : TFPgtkAdjustment;
begin
result := GetPascalInstance(PGtkObject(gtk_scrolled_window_get_vadjustment(TheGtkObject)),tfpgtkadjustment) as tfpgtkadjustment;
end;
procedure TFPgtkScrolledWindow.SetVAdjustment (TheValue:TFPgtkAdjustment);
begin
gtk_scrolled_window_set_vadjustment(TheGtkObject,PGtkadjustment(ConvertToGtkObject(TheValue)));
end;
procedure TFPgtkScrolledWindow.AddWithViewport (aChild:TFPgtkWidget);
begin
gtk_scrolled_window_add_with_viewport (TheGtkObject, ConvertToGtkWidget(aChild));
TFPgtkViewport.createFromObject (PGtkObject(PGtkBin(TheGtkObject)^.child));
aChild.Show;
end;
function TFPgtkScrolledWindow.GetPlacement : TGtkCornerType;
begin
result := gtk.window_placement(TheGtkObject^);
end;
procedure TFPgtkScrolledWindow.SetPlacement (TheValue:TGtkCornerType);
begin
gtk_scrolled_window_set_placement(TheGtkObject,TheValue);
end;
function TFPgtkScrolledWindow.GetHScrollbar : TFPgtkScrollbar;
var w : TFPgtkObject;
gtkwidg : PGtkObject;
begin
gtkwidg := PGtkObject(TheGtkObject^.hscrollbar);
w := GetPascalInstance (gtkwidg);
if assigned (w) then
result := (w as TFPgtkScrollbar)
else
result := TFPgtkHScrollbar.CreateFromObject (gtkwidg);
end;
function TFPgtkScrolledWindow.GetVScrollbar : TFPgtkScrollbar;
var w : TFPgtkObject;
gtkwidg : PGtkObject;
begin
gtkwidg := PGtkObject(TheGtkObject^.vscrollbar);
w := GetPascalInstance (gtkwidg);
if assigned (w) then
result := (w as TFPgtkScrollbar)
else
result := TFPgtkVScrollbar.CreateFromObject (gtkwidg);
end;
procedure TFPgtkScrolledWindow.UpdatePolicy (UpdPolicy:TGtkUpdateType);
var sb : TFpgtkScrollbar;
begin
sb := HScrollbar;
if assigned(sb) then
sb.UpdatePolicy := UpdPolicy;
sb := VScrollbar;
if assigned(sb) then
sb.UpdatePolicy := UpdPolicy;
end;
{ TFPgtkViewport }
function TFPgtkViewport.TheGtkObject : PGtkViewport;
begin
result := PgtkViewport(FGtkObject);
end;
procedure TFPgtkViewport.CreateGtkObject;
var h, v : PgtkAdjustment;
begin
if assigned (FHScroll) then
h := PGtkAdjustment(ConvertToGtkObject(FHScroll))
else
h := null;
if assigned (FVScroll) then
v := PGtkAdjustment(ConvertToGtkObject(FVScroll))
else
v := null;
FGtkObject := PGtkObject (gtk_scrolled_window_new (h, v));
end;
constructor TFPgtkViewport.Create (hadj:TFPgtkAdjustment; vadj:TFPgtkAdjustment);
begin
FVScroll := vadj;
FHScroll := hadj;
inherited create;
end;
function TFPgtkViewport.GetHAdjustment : TFPgtkAdjustment;
begin
result := GetPascalInstance(PGtkObject(gtk_viewport_get_hadjustment(TheGtkObject)),tfpgtkadjustment) as tfpgtkadjustment;
end;
procedure TFPgtkViewport.SetHAdjustment (TheValue:TFPgtkAdjustment);
begin
gtk_viewport_set_hadjustment(TheGtkObject,PGtkadjustment(ConvertToGtkObject(TheValue)));
end;
function TFPgtkViewport.GetVAdjustment : TFPgtkAdjustment;
begin
result := GetPascalInstance(PGtkObject(gtk_viewport_get_vadjustment(TheGtkObject)),tfpgtkadjustment) as tfpgtkadjustment;
end;
procedure TFPgtkViewport.SetVAdjustment (TheValue:TFPgtkAdjustment);
begin
gtk_viewport_set_vadjustment(TheGtkObject,PGtkadjustment(ConvertToGtkObject(TheValue)));
end;
function TFPgtkViewport.GetShadowType : TgtkShadowType;
begin
result := TheGtkObject^.shadow_type;
end;
procedure TFPgtkViewport.SetShadowType (TheValue:TgtkShadowType);
begin
gtk_viewport_set_shadow_type(TheGtkObject,TheValue);
end;
{ TFPgtkBox }
function TFPgtkBox.TheGtkObject : PGtkBox;
begin
result := PgtkBox(FGtkObject);
end;
function TFPgtkBox.GetHomogeneous : boolean;
begin
result := boolean(gtk.homogeneous(TheGtkObject^));
end;
procedure TFPgtkBox.SetHomogeneous (TheValue:boolean);
begin
gtk_Box_set_homogeneous(TheGtkObject,TheValue);
end;
function TFPgtkBox.GetSpacing : integer;
begin
result := TheGtkObject^.spacing;
end;
procedure TFPgtkBox.SetSpacing (TheValue:integer);
begin
gtk_Box_set_spacing(TheGtkObject,TheValue);
end;
procedure TFPgtkBox.ReorderChild (Widget:TFPgtkWidget; Position:integer);
begin
gtk_Box_reorder_child (TheGtkObject, PGtkwidget(ConvertToGtkObject(Widget)), Position);
end;
procedure TFPgtkBox.GetChildPacking (Widget:TFPgtkWidget; var Expand:boolean; var Fill:boolean; var Padding:integer; var PackType:TGtkPackType);
var PT : PGtkPackType;
begin
pt := @PackType;
gtk_box_query_child_packing (TheGtkObject, ConvertToGtkWidget(Widget),
@expand, @fill, @padding, pt);
end;
procedure TFPgtkBox.SetChildPacking (Widget:TFPgtkWidget; Expand:boolean; Fill:boolean; Padding:integer; PackType:TGtkPackType);
begin
gtk_Box_set_child_packing (TheGtkObject, PGtkwidget(ConvertToGtkObject(Widget)), Expand, Fill, Padding, PackType);
end;
procedure TFPgtkBox.PackStart (Widget:TFPgtkWidget); Overload;
begin
gtk_box_pack_start_defaults (TheGtkObject, ConvertToGtkWidget(Widget));
widget.Show;
end;
procedure TFPgtkBox.PackStart (Widget:TFPgtkWidget; IsVisible:boolean); Overload;
begin
gtk_box_pack_start_defaults (TheGtkObject, ConvertToGtkWidget(Widget));
if isvisible then
widget.Show;
end;
procedure TFPgtkBox.PackStart (Widget:TFPgtkWidget; expand:boolean; fill:boolean; padding:integer); Overload;
begin
gtk_box_pack_start (TheGtkObject, ConvertToGtkWidget(Widget), expand, fill, padding);
widget.Show;
end;
procedure TFPgtkBox.PackStart (Widget:TFPgtkWidget; expand:boolean; fill:boolean; padding:integer; IsVisible:boolean); Overload;
begin
gtk_box_pack_start (TheGtkObject, ConvertToGtkWidget(Widget), expand, fill, padding);
if isvisible then
widget.Show;
end;
procedure TFPgtkBox.PackEnd (Widget:TFPgtkWidget); Overload;
begin
gtk_box_pack_end_defaults (TheGtkObject, ConvertToGtkWidget(Widget));
widget.Show;
end;
procedure TFPgtkBox.PackEnd (Widget:TFPgtkWidget; IsVisible:boolean); Overload;
begin
gtk_box_pack_end_defaults (TheGtkObject, ConvertToGtkWidget(Widget));
if isvisible then
widget.Show;
end;
procedure TFPgtkBox.PackEnd (Widget:TFPgtkWidget; expand:boolean; fill:boolean; padding:integer); Overload;
begin
gtk_box_pack_end (TheGtkObject, ConvertToGtkWidget(Widget), expand, fill, padding);
widget.Show;
end;
procedure TFPgtkBox.PackEnd (Widget:TFPgtkWidget; expand:boolean; fill:boolean; padding:integer; IsVisible:boolean); Overload;
begin
gtk_box_pack_end (TheGtkObject, ConvertToGtkWidget(Widget), expand, fill, padding);
if isvisible then
widget.Show;
end;
{ TFPgtkButtonBox }
function TFPgtkButtonBox.TheGtkObject : PGtkButtonBox;
begin
result := PgtkButtonBox(FGtkObject);
end;
procedure SetButtonBoxDefaultSize (aMinWidth:integer; aMinHeight:integer);
begin
gtk_button_box_set_child_size_default (aMinWidth, aMinheight);
end;
procedure GetButtonBoxDefaultSize (var aMinWidth:integer; var aMinHeight:integer);
begin
gtk_button_box_get_child_size_default (@aMinWidth, @aMinheight);
end;
procedure SetButtonBoxDefaultPadding (aIPadX:integer; aIPadY:integer);
begin
gtk_button_box_set_child_size_default (aIPadX, aIPadY);
end;
procedure GetButtonBoxDefaultPadding (var aIPadX:integer; var aIPadY:integer);
begin
gtk_button_box_get_child_size_default (@aIPadX, @aIPadY);
end;
function TFPgtkButtonBox.GetSpacing : integer;
begin
result := gtk_button_box_get_spacing(TheGtkObject);
end;
procedure TFPgtkButtonBox.SetSpacing (TheValue:integer);
begin
gtk_button_box_set_spacing(TheGtkObject,TheValue);
end;
function TFPgtkButtonBox.GetLayout : TGtkButtonBoxStyle;
begin
result := gtk_button_box_get_layout(TheGtkObject);
end;
procedure TFPgtkButtonBox.SetLayout (TheValue:TGtkButtonBoxStyle);
begin
gtk_button_box_set_layout(TheGtkObject,TheValue);
end;
function TFPgtkButtonBox.GetMinWidth : integer;
var x, y : integer;
begin
gtk_button_box_get_child_size (TheGtkObject, @x, @y);
result := x;
end;
procedure TFPgtkButtonBox.SetMinWidth (TheValue:integer);
begin
gtk_button_box_set_child_size (TheGtkObject, TheValue, ChildMinHeight);
end;
function TFPgtkButtonBox.GetMinHeight : integer;
var x, y : integer;
begin
gtk_button_box_get_child_size (TheGtkObject, @x, @y);
result := y;
end;
procedure TFPgtkButtonBox.SetMinHeight (TheValue:integer);
begin
gtk_button_box_set_child_size (TheGtkObject, ChildMinWidth, TheValue);
end;
function TFPgtkButtonBox.GetChildPadX : integer;
var x, y : integer;
begin
gtk_button_box_get_child_ipadding (TheGtkObject, @x, @y);
result := x;
end;
procedure TFPgtkButtonBox.SetChildPadX (TheValue:integer);
begin
gtk_button_box_set_child_ipadding (TheGtkObject, TheValue, ChildPadY);
end;
function TFPgtkButtonBox.GetChildPadY : integer;
var x, y : integer;
begin
gtk_button_box_get_child_ipadding (TheGtkObject, @x, @y);
result := y;
end;
procedure TFPgtkButtonBox.SetChildPadY (TheValue:integer);
begin
gtk_button_box_set_child_ipadding (TheGtkObject, ChildPadX, TheValue);
end;
{ TFPgtkHButtonBox }
function TFPgtkHButtonBox.TheGtkObject : PGtkHButtonBox;
begin
result := PgtkHButtonBox(FGtkObject);
end;
procedure TFPgtkHButtonBox.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_hbutton_box_new);
end;
{ TFPgtkVButtonBox }
function TFPgtkVButtonBox.TheGtkObject : PGtkVButtonBox;
begin
result := PgtkVButtonBox(FGtkObject);
end;
procedure TFPgtkVButtonBox.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_vbutton_box_new);
end;
{ TFPgtkVBox }
function TFPgtkVBox.TheGtkObject : PGtkVBox;
begin
result := PgtkVBox(FGtkObject);
end;
procedure TFPgtkVBox.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_VBox_new (False, 1));
end;
{ TFPgtkColorSelection }
function TFPgtkColorSelection.TheGtkObject : PGtkColorSelection;
begin
result := PgtkColorSelection(FGtkObject);
end;
procedure TFPgtkColorSelection.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_color_selection_new);
end;
function TFPgtkColorSelection.GetUpdatePolicy : TGtkUpdateType;
begin
result := TheGtkObject^.policy;
end;
procedure TFPgtkColorSelection.SetUpdatePolicy (TheValue:TGtkUpdateType);
begin
gtk_color_selection_set_update_policy(TheGtkObject,TheValue);
end;
function TFPgtkColorSelection.GetColor : double;
var c : double;
begin
gtk_color_selection_get_color (TheGtkObject, @c);
result := c;
end;
procedure TFPgtkColorSelection.SetColor (TheValue:double);
begin
gtk_color_selection_set_color (TheGtkObject, @TheValue);
end;
function TFPgtkColorSelection.GetUseOpacity : longbool;
begin
result := longbool(TheGtkObject^.use_opacity);
end;
procedure TFPgtkColorSelection.SetUseOpacity (TheValue:longbool);
begin
gtk_color_selection_set_opacity(TheGtkObject,gint(TheValue));
end;
{ TFPgtkGammaCurve }
function TFPgtkGammaCurve.TheGtkObject : PGtkGammaCurve;
begin
result := PgtkGammaCurve(FGtkObject);
end;
procedure TFPgtkGammaCurve.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_gamma_curve_new);
end;
{ TFPgtkHBox }
function TFPgtkHBox.TheGtkObject : PGtkHBox;
begin
result := PgtkHBox(FGtkObject);
end;
procedure TFPgtkHBox.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_HBox_new (False, 1));
end;
{ TFPgtkCombo }
function TFPgtkCombo.TheGtkObject : PGtkCombo;
begin
result := PgtkCombo(FGtkObject);
end;
procedure TFPgtkCombo.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_combo_new);
end;
function TFPgtkCombo.GetEntry : TFPgtkEntry;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.entry), TFPgtkEntry) as tfpgtkentry;
end;
function TFPgtkCombo.GetList : TFPgtkList;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.list), TFPgtkList) as TFPgtkList;
end;
function TFPgtkCombo.GetButton : TFpGtkButton;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.button), TFPgtkButton) as TFPgtkButton;
end;
function TFPgtkCombo.GetValueInList : longbool;
begin
result := longbool(gtk.value_in_list(TheGtkObject^));
end;
procedure TFPgtkCombo.SetValueInListProp (TheValue:longbool);
begin
gtk_combo_set_value_in_list (TheGtkObject, gint(TheValue), gint(OkIfEmpty));
end;
function TFPgtkCombo.GetOkIfEmpty : longbool;
begin
result := longbool(gtk.ok_if_empty(TheGtkObject^));
end;
procedure TFPgtkCombo.SetOkIfEmpty (TheValue:longbool);
begin
gtk_combo_set_value_in_list (TheGtkObject, gint(ValueInList), gint(TheValue));
end;
function TFPgtkCombo.GetUseArrows : longbool;
begin
result := longbool(gtk.use_arrows(TheGtkObject^));
end;
procedure TFPgtkCombo.SetUseArrows (TheValue:longbool);
begin
gtk_combo_set_use_arrows(TheGtkObject,gint(TheValue));
end;
function TFPgtkCombo.GetUseArrowsAlways : longbool;
begin
result := longbool(gtk.use_arrows_always(TheGtkObject^));
end;
procedure TFPgtkCombo.SetUseArrowsAlways (TheValue:longbool);
begin
gtk_combo_set_use_arrows_always(TheGtkObject,gint(TheValue));
end;
function TFPgtkCombo.GetCaseSensitive : longbool;
begin
result := longbool(gtk.case_sensitive(TheGtkObject^));
end;
procedure TFPgtkCombo.SetCaseSensitive (TheValue:longbool);
begin
gtk_combo_set_case_sensitive(TheGtkObject,gint(TheValue));
end;
procedure TFPgtkCombo.SetItemString (Item:TFPgtkItem; ItemValue:string);
begin
gtk_combo_set_item_string (TheGtkObject, PGtkitem(ConvertToGtkObject(Item)), ConvertToPgchar(ItemValue));
end;
procedure TFPgtkCombo.DisableActivate;
begin
gtk_combo_disable_activate (TheGtkObject);
end;
procedure TFPgtkCombo.SetValueInList (Val:longbool; IsOkIfEmpty:longbool);
begin
gtk_combo_set_value_in_list (TheGtkObject, gint(Val), gint(IsOkIfEmpty));
end;
{ TFPgtkStatusbar }
function TFPgtkStatusbar.TheGtkObject : PGtkStatusbar;
begin
result := PgtkStatusbar(FGtkObject);
end;
procedure TFPgtkStatusbar.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_statusbar_new);
end;
function TFPgtkStatusbar.GetContextID (ContextDescr:string) : integer;
begin
result := gtk_statusbar_get_context_id (TheGtkObject, ConvertToPgchar(ContextDescr));
end;
function TFPgtkStatusbar.Push (contextID:integer; text:string) : integer;
begin
result := gtk_statusbar_push (TheGtkObject, contextID, ConvertToPgchar(text));
end;
procedure TFPgtkStatusbar.Pop (contextID:integer);
begin
gtk_statusbar_pop (TheGtkObject, contextID);
end;
procedure TFPgtkStatusbar.Remove (contextID:integer; MessageID:integer);
begin
gtk_statusbar_remove (TheGtkObject, contextID, MessageID);
end;
procedure StatusbarSignalproc (Sender:PGtkobject; contextID:integer; text:pgChar; data:pointer); cdecl;
var p : TFPgtkStatusbarSignalFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkStatusbarSignalFunction (TheSignalProc);
p (TheWidget as TFPgtkObject, contextID, text, TheData)
end;
end;
function TFPgtkStatusbar.StatusbarSignalConnect (signal:string; proc:TFPgtkStatusbarSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@StatusbarSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkStatusbar.StatusbarSignalConnectAfter (signal:string; proc:TFPgtkStatusbarSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@StatusbarSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkStatusbar.ConnectTextPopped (proc:TFPgtkStatusbarSignalFunction; data:pointer) : guint;
begin
result := StatusbarSignalConnect (sgTextPopped, proc, data);
end;
function TFPgtkStatusbar.ConnectAfterTextPopped (proc:TFPgtkStatusbarSignalFunction; data:pointer) : guint;
begin
result := StatusbarSignalConnectAfter (sgTextPopped, proc, data);
end;
function TFPgtkStatusbar.ConnectTextPushed (proc:TFPgtkStatusbarSignalFunction; data:pointer) : guint;
begin
result := StatusbarSignalConnect (sgTextPushed, proc, data);
end;
function TFPgtkStatusbar.ConnectAfterTextPushed (proc:TFPgtkStatusbarSignalFunction; data:pointer) : guint;
begin
result := StatusbarSignalConnectAfter (sgTextPushed, proc, data);
end;
{ TFPgtkCList }
function TFPgtkCList.TheGtkObject : PGtkCList;
begin
result := PgtkCList(FGtkObject);
end;
procedure TFPgtkCList.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_clist_new (FColumnCount));
end;
constructor TFPgtkCList.Create (aColumnCount:integer);
begin
FColumnCount := aColumnCount;
inherited create;
end;
function TFPgtkCList.GetShadowType : TGtkShadowType;
begin
result := TheGtkObject^.shadow_type;
end;
procedure TFPgtkCList.SetShadowType (TheValue:TGtkShadowType);
begin
gtk_clist_set_shadow_type(TheGtkObject,TheValue);
end;
function TFPgtkCList.GetSelectionMode : TGtkSelectionMode;
begin
result := TheGtkObject^.selection_mode;
end;
procedure TFPgtkCList.SetSelectionMode (TheValue:TGtkSelectionMode);
begin
gtk_clist_set_selection_mode(TheGtkObject,TheValue);
end;
procedure TFPgtkCList.Freeze;
begin
gtk_clist_freeze (TheGtkObject);
end;
procedure TFPgtkCList.Thaw;
begin
gtk_clist_thaw (TheGtkObject);
end;
procedure TFPgtkCList.ShowTitles;
begin
gtk_clist_Column_titles_show (TheGtkObject);
end;
procedure TFPgtkCList.HideTitles;
begin
gtk_clist_column_titles_hide (TheGtkObject);
end;
procedure TFPgtkCList.ActiveTitles;
begin
gtk_clist_column_titles_active (TheGtkObject);
end;
procedure TFPgtkCList.PassiveTitles;
begin
gtk_clist_column_titles_passive (TheGtkObject);
end;
procedure TFPgtkCList.ActiveTitle (column:integer);
begin
gtk_clist_column_title_active (TheGtkObject, column);
end;
procedure TFPgtkCList.PassiveTitle (column:integer);
begin
gtk_clist_column_title_passive (TheGtkObject, column);
end;
function TFPgtkCList.GetColumnTitle (column:integer) : string;
begin
result := gtk_clist_get_column_title(TheGtkObject,column);
end;
procedure TFPgtkCList.SetColumnTitle (column:integer; TheValue:string);
begin
gtk_clist_set_column_title(TheGtkObject,column,ConvertToPgchar(TheValue));
end;
function TFPgtkCList.GetColumnWidget (column:integer) : TFPgtkWidget;
begin
result := GetPascalInstance(PGtkObject(gtk_clist_get_column_widget(TheGtkObject,column)),tfpgtkwidget) as tfpgtkwidget;
end;
procedure TFPgtkCList.SetColumnWidget (column:integer; TheValue:TFPgtkWidget);
begin
gtk_clist_set_column_widget(TheGtkObject,column,PGtkwidget(ConvertToGtkObject(TheValue)));
end;
procedure TFPgtkCList.SetColumnJustification (column:integer; justification:TGtkJustification);
begin
gtk_clist_set_column_justification (TheGtkObject, column, justification);
end;
procedure TFPgtkCList.SetColumnVisibility (column:integer; aVisible:boolean);
begin
gtk_clist_set_column_visibility (TheGtkObject, column, aVisible);
end;
procedure TFPgtkCList.SetColumnResizeable (column:integer; Resizeable:boolean);
begin
gtk_clist_set_column_resizeable (TheGtkObject, column, Resizeable);
end;
procedure TFPgtkCList.SetColumnAutoResize (column:integer; autoResize:boolean);
begin
gtk_clist_set_column_auto_resize (TheGtkObject, column, autoResize);
end;
function TFPgtkCList.OptimalColumnWidth (column:integer) : integer;
begin
result := gtk_clist_optimal_column_width (TheGtkObject, column);
end;
procedure TFPgtkCList.SetColumnWidth (column:integer; width:integer);
begin
gtk_clist_set_column_width (TheGtkObject, column, width);
end;
procedure TFPgtkCList.SetColumnMinWidth (column:integer; MinWidth:integer);
begin
gtk_clist_set_column_min_width (TheGtkObject, column, MinWidth);
end;
procedure TFPgtkCList.SetColumnMaxWidth (column:integer; MaxWidth:integer);
begin
gtk_clist_set_column_max_width (TheGtkObject, column, MaxWidth);
end;
function TFPgtkCList.AutoSizeColumns : integer;
begin
result := gtk_clist_columns_autosize (TheGtkObject);
end;
procedure TFPgtkCList.ConfigureColumnWidth (column:integer; Width:integer; MinWidth:integer; MaxWidth:integer);
begin
SetColumnWidth (column, Width);
SetColumnMaxWidth (column, MaxWidth);
SetColumnMinWidth (column, MinWidth);
end;
procedure TFPgtkCList.ConfigureColumn (column:integer; Justification:TGtkJustification; Visibility:boolean; Resizeable:boolean; AutoSize:boolean);
begin
SetColumnJustification (column, Justification);
SetColumnVisibility (column, Visibility);
SetColumnResizeable (column, Resizeable);
SetColumnAutoResize (column, AutoSize);
end;
procedure TFPgtkCList.SetRowHeight (height:integer);
begin
gtk_clist_set_row_height (TheGtkObject, height);
end;
procedure TFPgtkCList.MoveTo (row:integer; column:integer; RowAlign:gfloat; ColAlign:gfloat);
begin
gtk_clist_moveto (TheGtkObject, row, column, RowAlign, ColAlign);
end;
function TFPgtkCList.RowIsVisible (Row:integer) : TGtkVisibility;
begin
result := gtk_clist_row_is_visible (TheGtkObject, Row);
end;
function TFPgtkCList.GetCellType (Row:integer; column:integer) : TGtkCellType;
begin
result := gtk_clist_get_cell_type (TheGtkObject, Row, column);
end;
function TFPgtkCList.GetCellText (Row:integer; Column:integer) : string;
var s : pgchar;
r : integer;
begin
r := gtk_clist_get_text (TheGtkObject, row, column, @s);
if (r = 0) then
result := ''
else
result := strpas(s);
end;
procedure TFPgtkCList.SetCellText (Row:integer; Column:integer; TheValue:string);
begin
gtk_clist_set_text(TheGtkObject,Row, Column,ConvertToPgchar(TheValue));
end;
procedure TFPgtkCList.SetPixmap (row:integer; column:integer; pixmap:PGdkPixmap; mask:PGdkBitmap);
begin
gtk_clist_set_pixmap (TheGtkObject, row, column, pixmap, mask);
end;
procedure TFPgtkCList.GetPixmap (row:integer; column:integer; var pixmap:PGdkPixmap; var mask:PGdkBitmap);
begin
gtk_clist_get_pixmap (TheGtkObject, row, column, @pixmap, @mask);
end;
procedure TFPgtkCList.SetPixText (row:integer; column:integer; text:string; spacing:guint8; pixmap:PGdkPixmap; mask:PGdkBitmap);
begin
gtk_clist_set_pixtext (TheGtkObject, row, column, ConvertToPgchar(text), spacing, pixmap, mask);
end;
procedure TFPgtkCList.GetPixText (row:integer; column:integer; var text:string; var aspacing:guint8; var pixmap:PGdkPixmap; var mask:PGdkBitmap);
var r : integer;
s : PPgchar;
begin
s := nil;
r := gtk_clist_get_pixtext (TheGtkObject, row, column, s, @aspacing, @pixmap, @mask);
if r = 0 then
begin
text := '';
pixmap := nil;
mask := nil;
end
else
text := string (s^);
end;
procedure TFPgtkCList.SetForeground (row:integer; color:PGdkColor);
begin
gtk_clist_set_foreground (TheGtkObject, row, color);
end;
procedure TFPgtkCList.SetBackground (row:integer; color:PGdkColor);
begin
gtk_clist_set_background (TheGtkObject, row, color);
end;
function TFPgtkCList.GetCellStyle (row:integer; column:integer) : PGtkStyle;
begin
result := gtk_clist_get_cell_style(TheGtkObject,row, column);
end;
procedure TFPgtkCList.SetCellStyle (row:integer; column:integer; TheValue:PGtkStyle);
begin
gtk_clist_set_cell_style(TheGtkObject,row, column,TheValue);
end;
function TFPgtkCList.GetRowStyle (row:integer) : PGtkStyle;
begin
result := gtk_clist_get_row_style(TheGtkObject,row);
end;
procedure TFPgtkCList.SetRowStyle (row:integer; TheValue:PGtkStyle);
begin
gtk_clist_set_row_style(TheGtkObject,row,TheValue);
end;
procedure TFPgtkCList.SetShift (row:integer; column:integer; vertical:integer; horizontal:integer);
begin
gtk_clist_set_shift (TheGtkObject, row, column, vertical, horizontal);
end;
procedure TFPgtkCList.Remove (row:integer);
begin
gtk_clist_remove (TheGtkObject, row);
end;
procedure TFPgtkCList.Prepend (Data:TStrings); Overload;
var ppdata : ppgchar;
begin
ppdata := StringsToPPgchar (Data);
gtk_clist_prepend (TheGtkObject, ppdata);
freemem (ppdata, sizeof (pgchar) * data.count);
end;
procedure TFPgtkCList.Prepend (Text:string; separator:string); Overload;
var l : TStrings;
s : string;
begin
l := TStringList.Create;
try
if pos('"',separator) = 0 then
s := stringreplace (Text, '"', '""', [rfReplaceAll]);
if separator <> '' then
s := stringreplace(Text, separator, '","', [rfReplaceAll]);
l.CommaText := '"'+s+'"';
Prepend (l);
finally
l.Free;
end;
end;
procedure TFPgtkCList.Prepend (data:array of string); Overload;
var ppdata : ppgchar;
begin
ppdata := ArrayToPPgchar (Data);
gtk_clist_prepend (TheGtkObject, ppdata);
freemem (ppdata, sizeof (pgchar) * (high(data)-low(data)+1));
end;
Function TFPgtkCList.Append (data:TStrings) : Integer; Overload;
var ppdata : ppgchar;
begin
ppdata := StringsToPPgchar (Data);
Result:=gtk_clist_append (TheGtkObject, ppdata);
freemem (ppdata, sizeof (pgchar) * data.count);
end;
Function TFPgtkCList.Append (Text:string; Separator:string) : Integer; Overload;
var l : TStrings;
s : string;
begin
l := TStringList.Create;
try
if pos('"',separator) = 0 then
s := stringreplace (Text, '"', '""', [rfReplaceAll]);
if separator <> '' then
s := stringreplace(Text, separator, '","', [rfReplaceAll]);
l.CommaText := '"' + s + '"';
Result:=Append (l);
finally
l.Free;
end;
end;
Function TFPgtkCList.Append (data:array of string) : Integer; Overload;
var ppdata : ppgchar;
begin
ppdata := ArrayToPPgchar (Data);
Result:=gtk_clist_append (TheGtkObject, ppdata);
freemem (ppdata, sizeof (pgchar) * (high(data)-low(data)+1));
end;
procedure TFPgtkCList.Insert (row:integer; data:TStrings); Overload;
var ppdata : ppgchar;
begin
ppdata := StringsToPPgchar (Data);
gtk_clist_insert (TheGtkObject, row, ppdata);
freemem (ppdata, sizeof (pgchar) * data.count);
end;
procedure TFPgtkCList.Insert (row:integer; Text:string; Separator:string); Overload;
var l : TStrings;
s : string;
begin
l := TStringList.Create;
try
if pos('"',separator) = 0 then
s := stringreplace (Text, '"', '""', [rfReplaceAll]);
if separator <> '' then
s := stringreplace(Text, separator, '","', [rfReplaceAll]);
l.CommaText := '"' + s + '"';
Insert (row, l);
finally
l.Free;
end;
end;
procedure TFPgtkCList.Insert (row:integer; data:array of string); Overload;
var ppdata : ppgchar;
begin
ppdata := ArrayToPPgchar (Data);
gtk_clist_insert (TheGtkObject, row, ppdata);
freemem (ppdata, sizeof (pgchar) * (high(data)-low(data)+1));
end;
function TFPgtkCList.GetRowData (row:integer) : pointer;
begin
result := gtk_clist_get_row_data(TheGtkObject,row);
end;
procedure TFPgtkCList.SetRowData (row:integer; TheValue:pointer);
begin
gtk_clist_set_row_data(TheGtkObject,row,TheValue);
end;
function TFPgtkCList.FindRowFromData (data:pointer) : integer;
begin
result := gtk_clist_find_row_from_data (TheGtkObject, data);
end;
procedure TFPgtkCList.SelectRow (row:integer; column:integer);
begin
gtk_clist_select_row (TheGtkObject, row, column);
end;
procedure TFPgtkCList.UnselectRow (row:integer; column:integer);
begin
gtk_clist_unselect_row (TheGtkObject, row, column);
end;
procedure TFPgtkCList.Clear;
begin
gtk_clist_clear (TheGtkObject);
end;
procedure TFPgtkCList.SelectAll;
begin
gtk_clist_select_all (TheGtkObject);
end;
procedure TFPgtkCList.UnselectAll;
begin
gtk_clist_unselect_all (TheGtkObject);
end;
procedure TFPgtkCList.SwapRows (row1:integer; row2:integer);
begin
gtk_clist_swap_rows (TheGtkObject, row1, row2);
end;
procedure TFPgtkCList.RowMove (sourceRow:integer; destRow:integer);
begin
if sourceRow = DestRow then
Exit;
gtk_clist_row_move (TheGtkObject, sourceRow, destRow);
end;
procedure TFPgtkCList.Sort;
begin
gtk_clist_sort (TheGtkObject);
end;
procedure TFPgtkCList.SetCompareFunc (TheValue:TGtkCListCompareFunc);
begin
gtk_clist_set_Compare_func(TheGtkObject,TheValue);
end;
function TFPgtkCList.GetSortColumn : integer;
begin
result := TheGtkObject^.sort_column;
end;
procedure TFPgtkCList.SetSortColumn (TheValue:integer);
begin
gtk_clist_set_sort_column(TheGtkObject,TheValue);
end;
function TFPgtkCList.GetSetSortType : TGtkSortType;
begin
result := TheGtkObject^.sort_type;
end;
procedure TFPgtkCList.SetSetSortType (TheValue:TGtkSortType);
begin
gtk_clist_set_sort_type(TheGtkObject,TheValue);
end;
procedure TFPgtkCList.SetAutoSort (autoSort:boolean);
begin
gtk_clist_set_auto_sort (TheGtkObject, autoSort);
end;
function TFPgtkCList.GetHAdjustment : TFPgtkAdjustment;
begin
result := GetPascalInstance(PGtkObject(gtk_clist_get_hadjustment(TheGtkObject)),tfpgtkadjustment) as tfpgtkadjustment;
end;
procedure TFPgtkCList.SetHAdjustment (TheValue:TFPgtkAdjustment);
begin
gtk_clist_set_hadjustment(TheGtkObject,PGtkadjustment(ConvertToGtkObject(TheValue)));
end;
function TFPgtkCList.GetVAdjustment : TFPgtkAdjustment;
begin
result := GetPascalInstance(PGtkObject(gtk_clist_get_vadjustment(TheGtkObject)),tfpgtkadjustment) as tfpgtkadjustment;
end;
procedure TFPgtkCList.SetVAdjustment (TheValue:TFPgtkAdjustment);
begin
gtk_clist_set_vadjustment(TheGtkObject,PGtkadjustment(ConvertToGtkObject(TheValue)));
end;
procedure TFPgtkCList.SetReorderable (reorderable:boolean);
begin
gtk_clist_set_reorderable (TheGtkObject, reorderable);
end;
function TFPgtkCList.Count : integer;
begin
result := TheGtkObject^.rows;
end;
procedure CListScrollSignalproc (Sender:PGtkobject; ScrollType:TgtkScrollType; position:gfloat; data:pointer); cdecl;
var p : TFPgtkCListScrollSignalFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkCListScrollSignalFunction (TheSignalProc);
p (TheWidget as TFPgtkObject, ScrollType, position, TheData)
end;
end;
function TFPgtkCList.CListScrollSignalConnect (signal:string; proc:TFPgtkCListScrollSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@CListScrollSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkCList.CListScrollSignalConnectAfter (signal:string; proc:TFPgtkCListScrollSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@CListScrollSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
procedure CListScrollBooleanSignalproc (Sender:PGtkobject; ScrollType:TgtkScrollType; Position:gfloat; AutoStartSelection:boolean; data:pointer); cdecl;
var p : TFPgtkCListScrollBooleanSignalFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkCListScrollBooleanSignalFunction (TheSignalProc);
p (TheWidget as TFPgtkObject, ScrollType, Position, AutoStartSelection, TheData)
end;
end;
function TFPgtkCList.CListScrollBooleanSignalConnect (signal:string; proc:TFPgtkCListScrollBooleanSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@CListScrollBooleanSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkCList.CListScrollBooleanSignalConnectAfter (signal:string; proc:TFPgtkCListScrollBooleanSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@CListScrollBooleanSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
procedure SelectRowSignalproc (Sender:PGtkobject; row:integer; column:integer; event:PGdkEventButton; data:pointer); cdecl;
var p : TFPgtkSelectRowSignalFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkSelectRowSignalFunction (TheSignalProc);
p (TheWidget as TFPgtkObject, row, column, event, TheData)
end;
end;
function TFPgtkCList.SelectRowSignalConnect (signal:string; proc:TFPgtkSelectRowSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@SelectRowSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkCList.SelectRowSignalConnectAfter (signal:string; proc:TFPgtkSelectRowSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@SelectRowSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkCList.ConnectSelectRow (proc:TFPgtkSelectRowSignalFunction; data:pointer) : guint;
begin
result := SelectRowSignalConnect (sgSelectRow, proc, data);
end;
function TFPgtkCList.ConnectAfterSelectRow (proc:TFPgtkSelectRowSignalFunction; data:pointer) : guint;
begin
result := SelectRowSignalConnectAfter (sgSelectRow, proc, data);
end;
function TFPgtkCList.ConnectUnselectRow (proc:TFPgtkSelectRowSignalFunction; data:pointer) : guint;
begin
result := SelectRowSignalConnect (sgUnselectRow, proc, data);
end;
function TFPgtkCList.ConnectAfterUnselectRow (proc:TFPgtkSelectRowSignalFunction; data:pointer) : guint;
begin
result := SelectRowSignalConnectAfter (sgUnselectRow, proc, data);
end;
procedure MoveSignalproc (Sender:PGtkobject; arg1:integer; arg2:integer; data:pointer); cdecl;
var p : TFPgtkMoveSignalFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkMoveSignalFunction (TheSignalProc);
p (TheWidget as TFPgtkObject, arg1, arg2, TheData)
end;
end;
function TFPgtkCList.MoveSignalConnect (signal:string; proc:TFPgtkMoveSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@MoveSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkCList.MoveSignalConnectAfter (signal:string; proc:TFPgtkMoveSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@MoveSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkCList.ConnectRowMove (proc:TFPgtkMoveSignalFunction; data:pointer) : guint;
begin
result := MoveSignalConnect (sgRowMove, proc, data);
end;
function TFPgtkCList.ConnectAfterRowMove (proc:TFPgtkMoveSignalFunction; data:pointer) : guint;
begin
result := MoveSignalConnectAfter (sgRowMove, proc, data);
end;
function TFPgtkCList.ConnectScrollVertical (proc:TFPgtkCListScrollSignalFunction; data:pointer) : guint;
begin
result := CListScrollSignalConnect (sgScrollVertical, proc, data);
end;
function TFPgtkCList.ConnectAfterScrollVertical (proc:TFPgtkCListScrollSignalFunction; data:pointer) : guint;
begin
result := CListScrollSignalConnectAfter (sgScrollVertical, proc, data);
end;
function TFPgtkCList.ConnectScrolHorizontal (proc:TFPgtkCListScrollSignalFunction; data:pointer) : guint;
begin
result := CListScrollSignalConnect (sgScrolHorizontal, proc, data);
end;
function TFPgtkCList.ConnectAfterScrolHorizontal (proc:TFPgtkCListScrollSignalFunction; data:pointer) : guint;
begin
result := CListScrollSignalConnectAfter (sgScrolHorizontal, proc, data);
end;
function TFPgtkCList.ConnectToggleFocusRow (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgToggleFocusRow, proc, data);
end;
function TFPgtkCList.ConnectAfterToggleFocusRow (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgToggleFocusRow, proc, data);
end;
function TFPgtkCList.ConnectSelectAll (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgSelectAll, proc, data);
end;
function TFPgtkCList.ConnectAfterSelectAll (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgSelectAll, proc, data);
end;
function TFPgtkCList.ConnectUnselectAll (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnect (sgUnselectAll, proc, data);
end;
function TFPgtkCList.ConnectAfterUnselectAll (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnectAfter (sgUnselectAll, proc, data);
end;
function TFPgtkCList.ConnectUndoSelection (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnect (sgUndoSelection, proc, data);
end;
function TFPgtkCList.ConnectAfterUndoSelection (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnectAfter (sgUndoSelection, proc, data);
end;
function TFPgtkCList.ConnectStartSelection (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnect (sgStartSelection, proc, data);
end;
function TFPgtkCList.ConnectAfterStartSelection (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnectAfter (sgStartSelection, proc, data);
end;
function TFPgtkCList.ConnectEndSelection (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnect (sgEndSelection, proc, data);
end;
function TFPgtkCList.ConnectAfterEndSelection (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnectAfter (sgEndSelection, proc, data);
end;
function TFPgtkCList.ConnectToggleAddMode (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnect (sgToggleAddMode, proc, data);
end;
function TFPgtkCList.ConnectAfterToggleAddMode (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnectAfter (sgToggleAddMode, proc, data);
end;
function TFPgtkCList.ConnectAbortColumnResize (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnect (sgAbortColumnResize, proc, data);
end;
function TFPgtkCList.ConnectAfterAbortColumnResize (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnectAfter (sgAbortColumnResize, proc, data);
end;
function TFPgtkCList.ConnectExtendSelection (proc:TFPgtkCListScrollBooleanSignalFunction; data:pointer) : guint;
begin
result := CListScrollBooleanSignalConnect (sgExtendSelection, proc, data);
end;
function TFPgtkCList.ConnectAfterExtendSelection (proc:TFPgtkCListScrollBooleanSignalFunction; data:pointer) : guint;
begin
result := CListScrollBooleanSignalConnectAfter (sgExtendSelection, proc, data);
end;
procedure ColumnClickedSignalproc (Sender:PGtkobject; column:integer; data:pointer); cdecl;
var p : TFPgtkColumnClickedSignalFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkColumnClickedSignalFunction (TheSignalProc);
p (TheWidget as TFPgtkObject, column, TheData)
end;
end;
function TFPgtkCList.ColumnClickedSignalConnect (signal:string; proc:TFPgtkColumnClickedSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@ColumnClickedSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkCList.ColumnClickedSignalConnectAfter (signal:string; proc:TFPgtkColumnClickedSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@ColumnClickedSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkCList.ConnectClickColumn (proc:TFPgtkColumnClickedSignalFunction; data:pointer) : guint;
begin
result := ColumnClickedSignalConnect (sgClickColumn, proc, data);
end;
function TFPgtkCList.ConnectAfterClickColumn (proc:TFPgtkColumnClickedSignalFunction; data:pointer) : guint;
begin
result := ColumnClickedSignalConnectAfter (sgClickColumn, proc, data);
end;
procedure ResizeColumnSignalproc (Sender:PGtkobject; column:integer; width:integer; data:pointer); cdecl;
var p : TFPgtkResizeColumnSignalFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkResizeColumnSignalFunction (TheSignalProc);
p (TheWidget as TFPgtkObject, column, width, TheData)
end;
end;
function TFPgtkCList.ResizeColumnSignalConnect (signal:string; proc:TFPgtkResizeColumnSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@ResizeColumnSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkCList.ResizeColumnSignalConnectAfter (signal:string; proc:TFPgtkResizeColumnSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@ResizeColumnSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkCList.ConnectResizeColumn (proc:TFPgtkResizeColumnSignalFunction; data:pointer) : guint;
begin
result := ResizeColumnSignalConnect (sgResizeColumn, proc, data);
end;
function TFPgtkCList.ConnectAfterResizeColumn (proc:TFPgtkResizeColumnSignalFunction; data:pointer) : guint;
begin
result := ResizeColumnSignalConnectAfter (sgResizeColumn, proc, data);
end;
{ TFPgtkCTree }
function TFPgtkCTree.TheGtkObject : PGtkCTree;
begin
result := PgtkCTree(FGtkObject);
end;
function TFPgtkCTree.GetLineStyle : TGtkCTreeLineStyle;
begin
result := TGtkCTreeLineStyle(gtk.line_style(TheGtkObject^));
end;
procedure TFPgtkCTree.SetLineStyle (TheValue:TGtkCTreeLineStyle);
begin
gtk_ctree_set_line_style(TheGtkObject,TheValue);
end;
function TFPgtkCTree.GetShowStub : boolean;
begin
result := boolean(gtk.show_stub(TheGtkObject^));
end;
procedure TFPgtkCTree.SetShowStub (TheValue:boolean);
begin
gtk_ctree_set_show_stub(TheGtkObject,TheValue);
end;
function TFPgtkCTree.GetExpanderStyle : TGtkCTreeExpanderStyle;
begin
result := TGtkCTreeExpanderStyle(gtk.expander_style(TheGtkObject^));
end;
procedure TFPgtkCTree.SetExpanderStyle (TheValue:TGtkCTreeExpanderStyle);
begin
gtk_ctree_set_expander_style(TheGtkObject,TheValue);
end;
function TFPgtkCTree.GetSpacing : guint;
begin
result := TheGtkObject^.tree_spacing;
end;
procedure TFPgtkCTree.SetSpacing (TheValue:guint);
begin
gtk_ctree_set_spacing(TheGtkObject,TheValue);
end;
function TFPgtkCTree.GetIndent : guint;
begin
result := TheGtkObject^.tree_indent;
end;
procedure TFPgtkCTree.SetIndent (TheValue:guint);
begin
gtk_ctree_set_indent(TheGtkObject,TheValue);
end;
function TFPgtkCTree.GetTreeColumn : integer;
begin
result := TheGtkObject^.tree_column;
end;
constructor TFPgtkCTree.Create (aColumnCount:integer; aTreeColumn:integer);
begin
FTreeColumn := aTreeColumn;
inherited Create (aColumnCount);
end;
procedure TFPgtkCTree.RemoveNode (node:PGtkCTreeNode);
begin
gtk_ctree_remove_node (TheGtkObject, node);
end;
function TFPgtkCTree.InsertNode (aParent:PGtkCTreeNode; Sibling:PGtkCTreeNode; data:string; aSpacing:guint8; PixmapClosed:PGdkPixmap; MaskClosed:PGdkBitmap; PixmapOpened:PGdkPixmap; MaskOpened:PGdkBitmap; IsLeaf:boolean; Expanded:boolean) : PGtkCTreeNode; Overload;
var
temppgc : pgchar;
begin
temppgc:=ConvertToPgchar(data);
result := gtk_ctree_insert_node (TheGtkObject, aParent, Sibling, @temppgc, aSpacing, PixmapClosed, MaskClosed, PixmapOpened, MaskOpened, IsLeaf, Expanded);
end;
function TFPgtkCTree.InsertNode (aParent:PGtkCTreeNode; Sibling:PGtkCTreeNode; data:string; aSpacing:guint8; IsLeaf:boolean; Expanded:boolean) : PGtkCTreeNode; Overload;
begin
result := InsertNode (aParent, Sibling, data, aSpacing, nil, nil, nil, nil, IsLeaf, Expanded);
end;
procedure FPgtkCTreeFunc (Tree:PGtkCTree; Node:PGtkCTreeNode; data:pointer); Cdecl;
var p : TFPgtkCTreeFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkCTreeFunction (TheSignalProc);
p (TFPgtkCTree(GetPascalInstance(PgtkObject(Tree))), Node, data);
end;
end;
procedure TFPgtkCTree.PostRecursive (aNode:PGtkCTreeNode; func:TFPgtkCTreeFunction; data:pointer);
begin
gtk_CTree_post_recursive (TheGtkObject, aNode, @FPgtkCTreeFunc,
ConvertSignalData(TFPgtkSignalFunction(func), data, true));
end;
procedure TFPgtkCTree.PostRecursiveToDepth (aNode:PGtkCTreeNode; aDepth:integer; func:TFPgtkCTreeFunction; data:pointer);
begin
gtk_CTree_post_recursive_to_depth (TheGtkObject, aNode, aDepth, @FPgtkCTreeFunc,
ConvertSignalData(TFPgtkSignalFunction(func), data, true));
end;
procedure TFPgtkCTree.PreRecursive (aNode:PGtkCTreeNode; func:TFPgtkCTreeFunction; data:pointer);
begin
gtk_CTree_pre_recursive (TheGtkObject, aNode, @FPgtkCTreeFunc,
ConvertSignalData(TFPgtkSignalFunction(func), data, true));
end;
procedure TFPgtkCTree.PreRecursiveToDepth (aNode:PGtkCTreeNode; aDepth:integer; func:TFPgtkCTreeFunction; data:pointer);
begin
gtk_CTree_pre_recursive_to_depth (TheGtkObject, aNode, aDepth, @FPgtkCTreeFunc,
ConvertSignalData(TFPgtkSignalFunction(func), data, true));
end;
procedure TFPgtkCTree.IsViewable (aNode:PGtkCTreeNode);
begin
gtk_ctree_is_viewable (TheGtkObject, aNode);
end;
procedure TFPgtkCTree.LastChild (aNode:PGtkCTreeNode);
begin
gtk_ctree_last (TheGtkObject, aNode);
end;
function TFPgtkCTree.IsChild (anAncestor:PGtkCTreeNode; aChild:PGtkCTreeNode) : boolean;
begin
result := gtk_ctree_find (TheGtkObject, anAncestor, aChild);
end;
function TFPgtkCTree.IsAncestor (anAncestor:PGtkCTreeNode; aChild:PGtkCTreeNode) : boolean;
begin
result := gtk_ctree_is_ancestor (TheGtkObject, anAncestor, aChild);
end;
function TFPgtkCTree.IsHotSpot (X:integer; Y:integer) : boolean;
begin
result := gtk_ctree_is_hot_spot (TheGtkObject, X, Y);
end;
procedure TFPgtkCTree.MoveNode (aNode:PGtkCTreeNode; NewParent:PGtkCTreeNode; NewSibling:PGtkCTreeNode);
begin
gtk_ctree_move (TheGtkObject, aNode, NewParent, NewSibling);
end;
procedure TFPgtkCTree.Expand (aNode:PGtkCTreeNode);
begin
gtk_ctree_expand (TheGtkObject, aNode);
end;
procedure TFPgtkCTree.ExpandRecursive (aNode:PGtkCTreeNode);
begin
gtk_ctree_expand_recursive (TheGtkObject, aNode);
end;
procedure TFPgtkCTree.ExpandToDepth (aNode:PGtkCTreeNode; aDepth:integer);
begin
gtk_ctree_expand_to_depth (TheGtkObject, aNode, aDepth);
end;
procedure TFPgtkCTree.Collapse (aNode:PGtkCTreeNode);
begin
gtk_ctree_collapse (TheGtkObject, aNode);
end;
procedure TFPgtkCTree.CollapseRecursive (aNode:PGtkCTreeNode);
begin
gtk_ctree_collapse_recursive (TheGtkObject, aNode);
end;
procedure TFPgtkCTree.CollapseToDepth (aNode:PGtkCTreeNode; aDepth:integer);
begin
gtk_ctree_collapse_to_depth (TheGtkObject, aNode, aDepth);
end;
procedure TFPgtkCTree.SelectNode (aNode:PGtkCTreeNode);
begin
gtk_ctree_select (TheGtkObject, aNode);
end;
procedure TFPgtkCTree.SelectRecursive (aNode:PGtkCTreeNode);
begin
gtk_ctree_select_recursive (TheGtkObject, aNode);
end;
procedure TFPgtkCTree.UnselectNode (aNode:PGtkCTreeNode);
begin
gtk_ctree_unselect (TheGtkObject, aNode);
end;
procedure TFPgtkCTree.UnselectRecursive (aNode:PGtkCTreeNode);
begin
gtk_ctree_unselect_recursive (TheGtkObject, aNode);
end;
procedure TFPgtkCTree.RealSelectRecursive (aNode:PGtkCTreeNode; aState:boolean);
begin
gtk_ctree_real_select_recursive (TheGtkObject, aNode, ord(aState));
end;
function TFPgtkCTree.NodeGetCellType (Node:PGtkCTreeNode; column:integer) : TGtkCellType;
begin
result := gtk_ctree_node_get_cell_type (TheGtkObject, Node, column);
end;
function TFPgtkCTree.GetNodeCellText (Node:PGtkCTreeNode; Column:integer) : string;
var s : pgchar;
r : integer;
begin
r := gtk_ctree_node_get_text (TheGtkObject, node, column, @s);
if (r = 0) then
result := ''
else
result := string(s^);
end;
procedure TFPgtkCTree.SetNodeCellText (Node:PGtkCTreeNode; Column:integer; TheValue:string);
begin
gtk_ctree_node_set_text(TheGtkObject,Node, Column,ConvertToPgchar(TheValue));
end;
procedure TFPgtkCTree.NodeSetPixmap (Node:PGtkCTreeNode; column:integer; pixmap:PGdkPixmap; mask:PGdkBitmap);
begin
gtk_ctree_node_set_pixmap (TheGtkObject, Node, column, pixmap, mask);
end;
procedure TFPgtkCTree.NodeGetPixmap (Node:PGtkCTreeNode; column:integer; var pixmap:PGdkPixmap; var mask:PGdkBitmap);
begin
gtk_ctree_node_get_pixmap (TheGtkObject, node, column, @pixmap, @mask);
end;
procedure TFPgtkCTree.NodeSetPixText (Node:PGtkCTreeNode; column:integer; text:string; aspacing:guint8; pixmap:PGdkPixmap; mask:PGdkBitmap);
begin
gtk_ctree_node_set_pixtext (TheGtkObject, Node, column, ConvertToPgchar(text), aspacing, pixmap, mask);
end;
procedure TFPgtkCTree.NodeGetPixText (Node:PGtkCTreeNode; column:integer; var text:string; var aspacing:guint8; var pixmap:PGdkPixmap; var mask:PGdkBitmap);
var r : integer;
s : PPgchar;
begin
s := nil;
r := gtk_ctree_node_get_pixtext (TheGtkObject, node, column, s, @aspacing, @pixmap, @mask);
if r = 0 then
begin
text := '';
pixmap := nil;
mask := nil;
end
else
text := string (s^);
end;
procedure TFPgtkCTree.SetNodeInfo (aNode:PGtkCTreeNode; aText:string; aSpacing:guint8; PixmapClosed:PGdkPixmap; MaskClosed:PGdkBitmap; PixmapOpened:PGdkPixmap; MaskOpened:PGdkBitmap; IsLeaf:boolean; Expanded:boolean); Overload;
begin
gtk_ctree_set_node_info (TheGtkObject, aNode, ConvertToPgchar(aText), aSpacing, PixmapClosed, MaskClosed, PixmapOpened, MaskOpened, IsLeaf, Expanded);
end;
procedure TFPgtkCTree.GetNodeInfo (aNode:PGtkCTreeNode; var aText:string; var aSpacing:guint8; var PixmapClosed:PGdkPixmap; var MaskClosed:PGdkBitmap; var PixmapOpened:PGdkPixmap; var MaskOpened:PGdkBitmap; var IsLeaf:boolean; var Expanded:boolean); Overload;
var r : integer;
s : PPgchar;
begin
s := nil;
r := gtk_ctree_get_node_info (TheGtkObject, aNode, s,
@aspacing, @pixmapClosed, @maskClosed, @pixmapOpened, @maskOpened,
@IsLeaf, @expanded);
if r = 0 then
begin
atext := '';
Spacing := 0;
pixmapClosed := nil;
maskClosed := nil;
pixmapOpened := nil;
maskOpened := nil;
IsLeaf := false;
Expanded := false;
end
else
atext := string (s^);
end;
procedure TFPgtkCTree.NodeSetShift (Node:PGtkCTreeNode; column:integer; vertical:integer; horizontal:integer);
begin
gtk_ctree_node_set_shift (TheGtkObject, Node, column, vertical, horizontal);
end;
function TFPgtkCTree.GetNodeSelectable (Node:PGtkCTreeNode) : boolean;
begin
result := gtk_ctree_node_get_selectable(TheGtkObject,Node);
end;
procedure TFPgtkCTree.SetNodeSelectable (Node:PGtkCTreeNode; TheValue:boolean);
begin
gtk_ctree_node_set_selectable(TheGtkObject,Node,TheValue);
end;
procedure TFPgtkCTree.NodeSetForeground (Node:PGtkCTreeNode; color:PGdkColor);
begin
gtk_ctree_node_set_foreground (TheGtkObject, Node, color);
end;
procedure TFPgtkCTree.NodeSetBackground (Node:PGtkCTreeNode; color:PGdkColor);
begin
gtk_ctree_node_set_background (TheGtkObject, Node, color);
end;
function TFPgtkCTree.GetNodeCellStyle (Node:PGtkCTreeNode; column:integer) : PGtkStyle;
begin
result := gtk_ctree_node_get_cell_style(TheGtkObject,Node, column);
end;
procedure TFPgtkCTree.SetNodeCellStyle (Node:PGtkCTreeNode; column:integer; TheValue:PGtkStyle);
begin
gtk_ctree_node_set_cell_style(TheGtkObject,Node, column,TheValue);
end;
function TFPgtkCTree.GetNodeRowStyle (Node:PGtkCTreeNode) : PGtkStyle;
begin
result := gtk_ctree_node_get_row_style(TheGtkObject,Node);
end;
procedure TFPgtkCTree.SetNodeRowStyle (Node:PGtkCTreeNode; TheValue:PGtkStyle);
begin
gtk_ctree_node_set_row_style(TheGtkObject,Node,TheValue);
end;
function TFPgtkCTree.GetNodeData (Node:PGtkCTreeNode) : pointer;
begin
result := gtk_ctree_node_get_row_data(TheGtkObject,Node);
end;
procedure TFPgtkCTree.SetNodeData (Node:PGtkCTreeNode; TheValue:pointer);
begin
gtk_ctree_node_set_row_data(TheGtkObject,Node,TheValue);
end;
procedure TFPgtkCTree.NodeMoveTo (aNode:PGtkCTreeNode; column:integer; RowAlign:gfloat; ColAlign:gfloat);
begin
gtk_ctree_node_moveto (TheGtkObject, aNode, column, RowAlign, ColAlign);
end;
function TFPgtkCTree.IsVisible (aNode:PGtkCTreeNode) : TGtkVisibility;
begin
result := gtk_ctree_node_is_visible (TheGtkObject, aNode);
end;
function TFPgtkCTree.GetCompareDragFunc : TGtkCTreeCompareDragFunc;
begin
result := TheGtkObject^.drag_compare;
end;
procedure TFPgtkCTree.SetCompareDragFunc (TheValue:TGtkCTreeCompareDragFunc);
begin
gtk_ctree_set_drag_compare_func(TheGtkObject,TheValue);
end;
procedure TFPgtkCTree.SortNode (aNode:PGtkCTreeNode);
begin
gtk_ctree_sort_node (TheGtkObject, aNode);
end;
procedure TFPgtkCTree.SortRecursive (aNode:PGtkCTreeNode);
begin
gtk_ctree_sort_recursive (TheGtkObject, aNode);
end;
function TFPgtkCTree.NthNode (Row:integer) : PGtkCTreeNode;
begin
result := gtk_ctree_node_Nth (TheGtkObject, Row);
end;
{ TFPgtkFixed }
function TFPgtkFixed.TheGtkObject : PGtkFixed;
begin
result := PgtkFixed(FGtkObject);
end;
procedure TFPgtkFixed.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_fixed_new);
end;
procedure TFPgtkFixed.Put (Widget:TFPgtkWidget; x:integer; y:integer);
begin
gtk_fixed_put (TheGtkObject, PGtkwidget(ConvertToGtkObject(Widget)), x, y);
end;
procedure TFPgtkFixed.Move (Widget:TFPgtkWidget; x:integer; y:integer);
begin
gtk_fixed_move (TheGtkObject, PGtkwidget(ConvertToGtkObject(Widget)), x, y);
end;
procedure TFPgtkFixed.GetPos (Widget:TFPgtkWidget; var PosX:integer; var PosY:integer);
var g : TFPgtkGroup;
r : integer;
begin
g := TFPgtkGroup.Create;
try
g.ManageLists := false;
g.gtkList := TheGtkObject^.children;
r := g.indexof (Widget);
if r < 0 then
begin
PosX := -1;
PosY := -1;
end
else
with PGtkFixedChild(g.Items[r])^ do
begin
PosX := x;
PosY := Y;
end;
finally
g.Free;
end;
end;
{ TFPgtkNotebook }
function TFPgtkNotebook.TheGtkObject : PGtkNotebook;
begin
result := PgtkNotebook(FGtkObject);
end;
procedure TFPgtkNotebook.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_notebook_new);
end;
procedure TFPgtkNotebook.AppendPage (Child:TFPgtkWidget; TabLabel:TFPgtkWidget);
begin
gtk_notebook_append_page (TheGtkObject, ConvertTogtkWidget(Child), ConvertTogtkWidget(TabLabel));
Child.Show;
end;
procedure TFPgtkNotebook.AppendPageFull (Child:TFPgtkWidget; TabLabel:TFPgtkWidget; MenuLabel:TFPgtkWidget; IsVisible:boolean);
begin
if assigned (MenuLabel) then
gtk_notebook_append_page_menu (TheGtkObject, ConvertTogtkWidget(Child), ConvertTogtkWidget(TabLabel), ConvertTogtkWidget(MenuLabel))
else
gtk_notebook_append_page (TheGtkObject, ConvertTogtkWidget(Child), ConvertTogtkWidget(TabLabel));
if isvisible then
Child.Show;
end;
procedure TFPgtkNotebook.PrependPage (Child:TFPgtkWidget; TabLabel:TFPgtkWidget);
begin
gtk_notebook_Prepend_page (TheGtkObject, PGtkwidget(ConvertToGtkObject(Child)), PGtkwidget(ConvertToGtkObject(TabLabel)));
end;
procedure TFPgtkNotebook.PrependPageFull (Child:TFPgtkWidget; TabLabel:TFPgtkWidget; MenuLabel:TFPgtkWidget; IsVisible:boolean);
begin
if assigned (MenuLabel) then
gtk_notebook_prepend_page_menu (TheGtkObject, ConvertTogtkWidget(Child), ConvertTogtkWidget(TabLabel), ConvertTogtkWidget(MenuLabel))
else
gtk_notebook_prepend_page (TheGtkObject, ConvertTogtkWidget(Child), ConvertTogtkWidget(TabLabel));
if isvisible then
Child.Show;
end;
procedure TFPgtkNotebook.InsertPage (Child:TFPgtkWidget; TabLabel:TFPgtkWidget; Position:integer);
begin
gtk_notebook_insert_page (TheGtkObject, PGtkwidget(ConvertToGtkObject(Child)), PGtkwidget(ConvertToGtkObject(TabLabel)), Position);
end;
procedure TFPgtkNotebook.InsertPageFull (Child:TFPgtkWidget; TabLabel:TFPgtkWidget; MenuLabel:TFPgtkWidget; IsVisible:boolean; Position:integer);
begin
if assigned (MenuLabel) then
gtk_notebook_insert_page_menu (TheGtkObject, ConvertTogtkWidget(Child), ConvertTogtkWidget(TabLabel), ConvertTogtkWidget(MenuLabel), position)
else
gtk_notebook_insert_page (TheGtkObject, ConvertTogtkWidget(Child), ConvertTogtkWidget(TabLabel), position);
if isvisible then
Child.Show;
end;
procedure TFPgtkNotebook.RemovePage (PageNumber:integer);
begin
gtk_notebook_remove_page (TheGtkObject, PageNumber);
end;
function TFPgtkNotebook.PageNumberOf (Child:TFPgtkWidget) : integer;
begin
result := gtk_notebook_page_num (TheGtkObject, PGtkwidget(ConvertToGtkObject(Child)));
end;
procedure TFPgtkNotebook.NextPage;
begin
gtk_notebook_next_page (TheGtkObject);
end;
procedure TFPgtkNotebook.PrevPage;
begin
gtk_notebook_prev_page (TheGtkObject);
end;
procedure TFPgtkNotebook.ReorderPage (Child:TFPgtkWidget; PageNum:integer);
begin
gtk_notebook_reorder_child (TheGtkObject, PGtkwidget(ConvertToGtkObject(Child)), PageNum);
end;
function TFPgtkNotebook.GetPageIndex : integer;
begin
result := gtk_notebook_get_current_page(TheGtkObject);
end;
procedure TFPgtkNotebook.SetPageIndex (TheValue:integer);
begin
gtk_notebook_set_page(TheGtkObject,TheValue);
end;
function TFPgtkNotebook.GetPage : TFPgtkWidget;
begin
result := GetChildOnPage (PageIndex);
end;
procedure TFPgtkNotebook.SetPage (TheValue:TFPgtkWidget);
var r : integer;
begin
r := PageNumberOf (TheValue);
if r > -1 then
PageIndex := r;
end;
function TFPgtkNotebook.GetTabPos : TGtkPositionType;
begin
result := gtk.tab_pos(TheGtkObject^);
end;
procedure TFPgtkNotebook.SetTabPos (TheValue:TGtkPositionType);
begin
gtk_notebook_set_tab_pos(TheGtkObject,TheValue);
end;
function TFPgtkNotebook.GetShowTabs : boolean;
begin
result := boolean(gtk.show_tabs(TheGtkObject^));
end;
procedure TFPgtkNotebook.SetShowTabs (TheValue:boolean);
begin
gtk_notebook_set_show_tabs(TheGtkObject,TheValue);
end;
function TFPgtkNotebook.GetShowBorder : boolean;
begin
result := boolean(gtk.show_border(TheGtkObject^));
end;
procedure TFPgtkNotebook.SetShowBorder (TheValue:boolean);
begin
gtk_notebook_set_show_border(TheGtkObject,TheValue);
end;
function TFPgtkNotebook.GetScrollable : boolean;
begin
result := boolean(gtk.scrollable(TheGtkObject^));
end;
procedure TFPgtkNotebook.SetScrollable (TheValue:boolean);
begin
gtk_notebook_set_scrollable(TheGtkObject,TheValue);
end;
function TFPgtkNotebook.GetHomogenous : boolean;
begin
result := boolean(gtk.homogeneous(TheGtkObject^));
end;
procedure TFPgtkNotebook.SetHomogenous (TheValue:boolean);
begin
gtk_notebook_set_homogeneous_tabs(TheGtkObject,TheValue);
end;
function TFPgtkNotebook.GetTabHBorder : word;
begin
result := TheGtkObject^.tab_hborder;
end;
procedure TFPgtkNotebook.SetTabHBorder (TheValue:word);
begin
gtk_notebook_set_tab_hborder(TheGtkObject,TheValue);
end;
function TFPgtkNotebook.GetTabVBorder : word;
begin
result := TheGtkObject^.tab_vborder;
end;
procedure TFPgtkNotebook.SetTabVBorder (TheValue:word);
begin
gtk_notebook_set_tab_vborder(TheGtkObject,TheValue);
end;
procedure TFPgtkNotebook.SetTabBorders (BorderWidth:word);
begin
gtk_notebook_set_tab_border (TheGtkObject, BorderWidth);
end;
function TFPgtkNotebook.GetMenuLabelOf (Child:TFPgtkWidget) : TFPgtkWidget;
begin
result := GetPascalInstance (PGtkObject(gtk_notebook_get_menu_label (TheGtkObject, ConvertTogtkWidget(Child)))) as TFPgtkWidget;
end;
procedure TFPgtkNotebook.SetMenuLabel (Child:TFPgtkWidget; MenuLabel:TFPgtkWidget);
begin
gtk_notebook_set_menu_label (TheGtkObject, PGtkwidget(ConvertToGtkObject(Child)), PGtkwidget(ConvertToGtkObject(MenuLabel)));
end;
function TFPgtkNotebook.GetTabLabelOf (Child:TFPgtkWidget) : TFPgtkWidget;
begin
result := GetPascalInstance (PGtkObject(gtk_notebook_get_tab_label (TheGtkObject, ConvertTogtkWidget(Child)))) as TFPgtkWidget;
end;
procedure TFPgtkNotebook.SetTabLabel (Child:TFPgtkWidget; TabLabel:TFPgtkWidget);
begin
gtk_notebook_set_tab_label (TheGtkObject, PGtkwidget(ConvertToGtkObject(Child)), PGtkwidget(ConvertToGtkObject(TabLabel)));
end;
function TFPgtkNotebook.GetChildOnPage (PageNum:integer) : TFPgtkWidget;
begin
result := GetPascalInstance (PGtkObject(gtk_notebook_get_nth_page (TheGtkObject, PageNum))) as TFPgtkWidget;
end;
procedure TFPgtkNotebook.GetTabLabelPacking (Widget:TFPgtkWidget; var Expand:boolean; var Fill:boolean; var PackType:TGtkPackType);
var PT : PGtkPackType;
begin
pt := @PackType;
gtk_notebook_query_tab_label_packing (TheGtkObject, ConvertTogtkWidget(widget),
@expand, @fill, pt);
end;
procedure TFPgtkNotebook.SetTabLabelPacking (Widget:TFPgtkWidget; Expand:boolean; Fill:boolean; PackType:TGtkPackType);
begin
gtk_notebook_set_tab_label_packing (TheGtkObject, PGtkwidget(ConvertToGtkObject(Widget)), Expand, Fill, PackType);
end;
procedure TFPgtkNotebook.EnablePopup;
begin
gtk_notebook_popup_enable (TheGtkObject);
end;
procedure TFPgtkNotebook.DisablePopup;
begin
gtk_notebook_popup_disable (TheGtkObject);
end;
procedure PageSwitchSignalproc (Sender:PGtkobject; PageRec:PGtkNotebookPage; aPageNum:integer; data:pointer); cdecl;
var p : TFPgtkPageSwitchSignalFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkPageSwitchSignalFunction (TheSignalProc);
p (TheWidget as TFPgtkObject, PageRec, aPageNum, TheData)
end;
end;
function TFPgtkNotebook.PageSwitchSignalConnect (signal:string; proc:TFPgtkPageSwitchSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@PageSwitchSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkNotebook.PageSwitchSignalConnectAfter (signal:string; proc:TFPgtkPageSwitchSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@PageSwitchSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkNotebook.ConnectSwitchPage (proc:TFPgtkPageSwitchSignalFunction; data:pointer) : guint;
begin
result := PageSwitchSignalConnect (sgSwitchPage, proc, data);
end;
function TFPgtkNotebook.ConnectAfterSwitchPage (proc:TFPgtkPageSwitchSignalFunction; data:pointer) : guint;
begin
result := PageSwitchSignalConnectAfter (sgSwitchPage, proc, data);
end;
{ TFPgtkFontSelection }
function TFPgtkFontSelection.TheGtkObject : PGtkFontSelection;
begin
result := PgtkFontSelection(FGtkObject);
end;
procedure TFPgtkFontSelection.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_font_selection_new);
end;
function TFPgtkFontSelection.GetFontName : string;
begin
result := gtk_font_selection_get_font_name(TheGtkObject);
end;
procedure TFPgtkFontSelection.SetFontName (TheValue:string);
begin
if not gtk_font_selection_set_font_name (TheGtkObject, pgchar(TheValue)) then
raise exception.CreateFmt (sFontNotFound, [TheValue]);
end;
function TFPgtkFontSelection.GetFont : PGdkFont;
begin
result := gtk_font_selection_get_font (TheGtkObject);
end;
function TFPgtkFontSelection.GetPreviewText : string;
begin
result := gtk_font_selection_get_preview_text(TheGtkObject);
end;
procedure TFPgtkFontSelection.SetPreviewText (TheValue:string);
begin
gtk_font_selection_set_preview_text(TheGtkObject,ConvertToPgchar(TheValue));
end;
procedure TFPgtkFontSelection.SetFilter (FilterType:TGtkFontFilterType; FontType:TGtkFontType; Foundries:array of string; Weights:array of string; Slants:array of string; SetWidths:array of string; Spacings:array of string; CharSets:array of string);
var ppF, ppW, ppSl, ppSW, ppSp, ppC : ppgchar;
function MakePP (data : array of string) : ppgchar;
begin
if high(data) > low(data) then
result := ArrayToPPgchar(data)
else
result := nil;
end;
procedure FreePP (ppdata : ppgchar; data : array of string);
begin
if assigned (ppdata) then
freemem (ppdata, sizeof (pgchar) * (high(data)-low(data)+1));
end;
begin
ppF := MakePP(Foundries);
ppW := MakePP(Weights);
ppSl := MakePP(Slants);
ppSW := MakePP(SetWidths);
ppSp := MakePP(Spacings);
ppC := MakePP(CharSets);
gtk_font_selection_set_filter (TheGtkObject, FilterType, FontType, ppF, ppW, ppSl, ppSW, ppSp, ppC);
FreePP (ppF, Foundries);
FreePP (ppW, Weights);
FreePP (ppSl, Slants);
FreePP (ppSW, SetWidths);
FreePP (ppSp, Spacings);
FreePP (ppC, CharSets);
end;
{ TFPgtkPaned }
function TFPgtkPaned.TheGtkObject : PGtkPaned;
begin
result := PgtkPaned(FGtkObject);
end;
function TFPgtkPaned.GetGutterSize : word;
begin
result := TheGtkObject^.gutter_size;
end;
procedure TFPgtkPaned.SetGutterSize (TheValue:word);
begin
{$ifdef gtkwin}
TheGtkObject^.gutter_size := TheValue;
{$else}
gtk_paned_set_gutter_size(TheGtkObject,TheValue);
{$endif}
end;
function TFPgtkPaned.GetHandleSize : word;
begin
result := TheGtkObject^.handle_size;
end;
procedure TFPgtkPaned.SetHandleSize (TheValue:word);
begin
gtk_paned_set_handle_size(TheGtkObject,TheValue);
end;
function TFPgtkPaned.GetPosition : integer;
begin
result := TheGtkObject^.child1_size;
end;
procedure TFPgtkPaned.SetPosition (TheValue:integer);
begin
gtk_paned_set_position(TheGtkObject,TheValue);
end;
procedure TFPgtkPaned.ComputePosition (AnAllocation:integer; Child1Req:integer; Child2Req:integer);
begin
gtk_paned_compute_position (TheGtkObject, AnAllocation, Child1Req, Child2Req);
end;
procedure TFPgtkPaned.Add1 (Child:TFPgtkWidget); Overload;
begin
gtk_paned_add1 (TheGtkObject, ConvertToGtkWidget(Child));
Child.Show;
end;
procedure TFPgtkPaned.Pack1 (Child:TFPgtkWidget; Resize:boolean; Shrink:boolean); Overload;
begin
gtk_paned_pack1 (TheGtkObject, ConvertToGtkWidget(Child), Resize, Shrink);
Child.Show;
end;
procedure TFPgtkPaned.Add1 (Child:TFPgtkWidget; isVisible:boolean); Overload;
begin
gtk_paned_add1 (TheGtkObject, ConvertToGtkWidget(Child));
if isvisible then
Child.Show;
end;
procedure TFPgtkPaned.Pack1 (Child:TFPgtkWidget; Resize:boolean; Shrink:boolean; IsVisible:boolean); Overload;
begin
gtk_paned_pack1 (TheGtkObject, ConvertToGtkWidget(Child), Resize, Shrink);
if isvisible then
Child.Show;
end;
procedure TFPgtkPaned.Add2 (Child:TFPgtkWidget); Overload;
begin
gtk_paned_add2 (TheGtkObject, ConvertToGtkWidget(Child));
Child.Show;
end;
procedure TFPgtkPaned.Pack2 (Child:TFPgtkWidget; Resize:boolean; Shrink:boolean); Overload;
begin
gtk_paned_pack2 (TheGtkObject, ConvertToGtkWidget(Child), Resize, Shrink);
Child.Show;
end;
procedure TFPgtkPaned.Add2 (Child:TFPgtkWidget; IsVisible:boolean); Overload;
begin
gtk_paned_add2 (TheGtkObject, ConvertToGtkWidget(Child));
if isvisible then
Child.Show;
end;
procedure TFPgtkPaned.Pack2 (Child:TFPgtkWidget; Resize:boolean; Shrink:boolean; IsVisible:boolean); Overload;
begin
gtk_paned_pack2 (TheGtkObject, ConvertToGtkWidget(Child), Resize, Shrink);
if isvisible then
Child.Show;
end;
{ TFPgtkHPaned }
function TFPgtkHPaned.TheGtkObject : PGtkHPaned;
begin
result := PgtkHPaned(FGtkObject);
end;
procedure TFPgtkHPaned.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_hpaned_new);
end;
{ TFPgtkVPaned }
function TFPgtkVPaned.TheGtkObject : PGtkVPaned;
begin
result := PgtkVPaned(FGtkObject);
end;
procedure TFPgtkVPaned.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_vpaned_new);
end;
{ TFPgtkLayout }
function TFPgtkLayout.TheGtkObject : PGtkLayout;
begin
result := PgtkLayout(FGtkObject);
end;
procedure TFPgtkLayout.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_layout_new (nil,nil));
end;
function TFPgtkLayout.GetHAdj : TFPgtkAdjustment;
begin
result := GetPascalInstance(PGtkObject(gtk_layout_get_hadjustment(TheGtkObject)),tfpgtkadjustment) as tfpgtkadjustment;
end;
procedure TFPgtkLayout.SetHAdj (TheValue:TFPgtkAdjustment);
begin
gtk_layout_set_hadjustment(TheGtkObject,PGtkadjustment(ConvertToGtkObject(TheValue)));
end;
function TFPgtkLayout.GetVAdj : TFPgtkAdjustment;
begin
result := GetPascalInstance(PGtkObject(gtk_layout_get_vadjustment(TheGtkObject)),tfpgtkadjustment) as tfpgtkadjustment;
end;
procedure TFPgtkLayout.SetVAdj (TheValue:TFPgtkAdjustment);
begin
gtk_layout_set_vadjustment(TheGtkObject,PGtkadjustment(ConvertToGtkObject(TheValue)));
end;
procedure TFPgtkLayout.Freeze;
begin
gtk_layout_freeze (TheGtkObject);
end;
procedure TFPgtkLayout.Thaw;
begin
gtk_layout_thaw (TheGtkObject);
end;
procedure TFPgtkLayout.Put (aWidget:TFPgtkWidget; X:integer; Y:integer); Overload;
begin
gtk_layout_put (TheGtkObject, PGtkwidget(ConvertToGtkObject(aWidget)), X, Y);
aWidget.Show;
end;
procedure TFPgtkLayout.Put (aWidget:TFPgtkWidget; X:integer; Y:integer; aVisible:boolean); Overload;
begin
gtk_layout_put (TheGtkObject, PGtkwidget(ConvertToGtkObject(aWidget)), X, Y);
if aVisible then
aWidget.Show;
end;
procedure TFPgtkLayout.Move (aWidget:TFPgtkWidget; X:integer; Y:integer);
begin
gtk_layout_move (TheGtkObject, PGtkwidget(ConvertToGtkObject(aWidget)), X, Y);
end;
procedure TFPgtkLayout.SetSize (aWidth:integer; aHeight:integer);
begin
gtk_layout_set_size (TheGtkObject, aWidth, aHeight);
end;
{ TFPgtkList }
function TFPgtkList.TheGtkObject : PGtkList;
begin
result := PgtkList(FGtkObject);
end;
procedure TFPgtkList.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_list_new);
end;
function TFPgtkList.ConnectSelectionChanged (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnect (sgSelectionChanged, proc, data);
end;
function TFPgtkList.ConnectAfterSelectionChanged (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnectAfter (sgSelectionChanged, proc, data);
end;
function TFPgtkList.ConnectSelectChild (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
begin
result := WidgetSignalConnect (sgSelectChild, proc, data);
end;
function TFPgtkList.ConnectAfterSelectChild (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
begin
result := WidgetSignalConnectAfter (sgSelectChild, proc, data);
end;
function TFPgtkList.ConnectUnselectChild (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
begin
result := WidgetSignalConnect (sgUnselectChild, proc, data);
end;
function TFPgtkList.ConnectAfterUnselectChild (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
begin
result := WidgetSignalConnectAfter (sgUnselectChild, proc, data);
end;
function TFPgtkList.GetSelectionMode : TGtkSelectionMode;
begin
result := TGtkSelectionMode(Selection_mode(TheGtkObject^));
end;
procedure TFPgtkList.SetSelectionMode (TheValue:TGtkSelectionMode);
begin
gtk_list_set_selection_mode(TheGtkObject,TheValue);
end;
procedure TFPgtkList.InsertItems (TheItems:TFPgtkListItemGroup; position:integer);
begin
gtk_list_insert_items (TheGtkObject, TheItems.GtkList, position);
end;
procedure TFPgtkList.AppendItems (TheItems:TFPgtkListItemGroup);
begin
gtk_list_append_items (TheGtkObject, TheItems.GtkList);
end;
procedure TFPgtkList.PrependItems (TheItems:TFPgtkListItemGroup);
begin
gtk_list_prepend_items (TheGtkObject, TheItems.GtkList);
end;
procedure TFPgtkList.RemoveItems (TheItems:TFPgtkListItemGroup);
begin
gtk_list_remove_items (TheGtkObject, TheItems.GtkList);
end;
procedure TFPgtkList.RemoveItemsNoUnref (TheItems:TFPgtkListItemGroup);
begin
gtk_list_remove_items_no_unref (TheGtkObject, TheItems.GtkList);
end;
procedure TFPgtkList.ClearItems (FromItem:integer; ToItem:integer);
begin
if ToItem >= 0 then
inc (ToItem);
gtk_list_clear_items (TheGtkObject, FromItem, ToItem);
end;
procedure TFPgtkList.ClearAll;
begin
ClearItems (0,-1);
end;
procedure TFPgtkList.SelectItem (Item:integer);
begin
gtk_list_select_item (TheGtkObject, Item);
end;
procedure TFPgtkList.UnselectItem (Item:integer);
begin
gtk_list_unselect_item (TheGtkObject, Item);
end;
procedure TFPgtkList.SelectChild (Child:TFPgtkWidget);
begin
gtk_list_select_child (TheGtkObject, PGtkwidget(ConvertToGtkObject(Child)));
end;
procedure TFPgtkList.UnselectChild (Child:TFPgtkWidget);
begin
gtk_list_unselect_child (TheGtkObject, PGtkwidget(ConvertToGtkObject(Child)));
end;
function TFPgtkList.ChildPosition (Child:TFPgtkWidget) : integer;
begin
result := gtk_list_child_position (TheGtkObject, PGtkwidget(ConvertToGtkObject(Child)));
end;
procedure TFPgtkList.ExtendSelection (ScrollType:TGtkScrollType; Position:gfloat; AutoStartSelection:boolean);
begin
gtk_list_extend_selection (TheGtkObject, ScrollType, Position, AutoStartSelection);
end;
procedure TFPgtkList.StartSelection;
begin
gtk_list_start_selection (TheGtkObject);
end;
procedure TFPgtkList.EndSelection;
begin
gtk_list_end_selection (TheGtkObject);
end;
procedure TFPgtkList.SelectAll;
begin
gtk_list_select_all (TheGtkObject);
end;
procedure TFPgtkList.UnselectAll;
begin
gtk_list_unselect_all (TheGtkObject);
end;
procedure TFPgtkList.ScrollHorizontal (ScrollType:TGtkScrollType; Position:gfloat);
begin
gtk_list_scroll_horizontal (TheGtkObject, ScrollType, Position);
end;
procedure TFPgtkList.ScrollVertical (ScrollType:TGtkScrollType; Position:gfloat);
begin
gtk_list_scroll_vertical (TheGtkObject, ScrollType, Position);
end;
procedure TFPgtkList.ToggleAddMode;
begin
gtk_list_toggle_add_mode (TheGtkObject);
end;
procedure TFPgtkList.ToggleFocusRow;
begin
gtk_list_toggle_focus_row (TheGtkObject);
end;
procedure TFPgtkList.ToggleRow (Child:TFPgtkWidget);
begin
gtk_list_toggle_row (TheGtkObject, PGtkwidget(ConvertToGtkObject(Child)));
end;
procedure TFPgtkList.UndoSelection;
begin
gtk_list_undo_selection (TheGtkObject);
end;
procedure TFPgtkList.EndDragSelection;
begin
gtk_list_end_drag_selection (TheGtkObject);
end;
procedure TFPgtkList.GetSelection (aGroup:TFPgtkGroup);
begin
with aGroup do
begin
ManageLists := False;
GtkList := TheGtkObject^.Selection;
end;
end;
{ TFPgtkMenuShell }
function TFPgtkMenuShell.TheGtkObject : PGtkMenuShell;
begin
result := PgtkMenuShell(FGtkObject);
end;
procedure MoveCurrentSignalproc (Sender:PGtkobject; dir:TGtkMenuDirectionType; data:pointer); cdecl;
var p : TFPgtkMoveCurrentSignalFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkMoveCurrentSignalFunction (TheSignalProc);
p (TheWidget as TFPgtkObject, dir, TheData)
end;
end;
function TFPgtkMenuShell.MoveCurrentSignalConnect (signal:string; proc:TFPgtkMoveCurrentSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@MoveCurrentSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkMenuShell.MoveCurrentSignalConnectAfter (signal:string; proc:TFPgtkMoveCurrentSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@MoveCurrentSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
procedure TFPgtkMenuShell.GtkPrepend (MenuItem:TFPgtkWidget);
begin
gtk_menu_shell_prepend (TheGtkObject, PGtkwidget(ConvertToGtkObject(MenuItem)));
end;
procedure TFPgtkMenuShell.GtkInsert (MenuItem:TFPgtkWidget; position:integer);
begin
gtk_menu_shell_insert (TheGtkObject, PGtkwidget(ConvertToGtkObject(MenuItem)), position);
end;
procedure TFPgtkMenuShell.GtkAppend (MenuItem:TFPgtkWidget);
begin
gtk_menu_shell_append (TheGtkObject, PGtkwidget(ConvertToGtkObject(MenuItem)));
end;
procedure TFPgtkMenuShell.ActivateItem (MenuItem:TFPgtkWidget; ForceDeactivate:boolean);
begin
gtk_menu_shell_activate_item (TheGtkObject, PGtkwidget(ConvertToGtkObject(MenuItem)), ForceDeactivate);
end;
procedure TFPgtkMenuShell.SelectItem (MenuItem:TFPgtkWidget);
begin
gtk_menu_shell_select_item (TheGtkObject, PGtkwidget(ConvertToGtkObject(MenuItem)));
end;
procedure TFPgtkMenuShell.DeActivate;
begin
gtk_menu_shell_deactivate (TheGtkObject);
end;
procedure TFPgtkMenuShell.Prepend (MenuItem:TFPgtkWidget); Overload;
begin
GtkPrepend (MenuItem);
MenuItem.Show;
end;
procedure TFPgtkMenuShell.Prepend (MenuItem:TFPgtkWidget; CreateVisible:boolean); Overload;
begin
GtkPrepend (MenuItem);
if createvisible then
MenuItem.Show;
end;
procedure TFPgtkMenuShell.Insert (MenuItem:TFPgtkWidget; position:integer); Overload;
begin
GtkInsert (MenuItem, position);
MenuItem.Show;
end;
procedure TFPgtkMenuShell.Insert (MenuItem:TFPgtkWidget; position:integer; CreateVisible:boolean); Overload;
begin
GtkInsert (MenuItem, position);
if createvisible then
MenuItem.Show;
end;
procedure TFPgtkMenuShell.Append (MenuItem:TFPgtkWidget); Overload;
begin
GtkAppend (MenuItem);
MenuItem.Show;
end;
procedure TFPgtkMenuShell.Append (MenuItem:TFPgtkWidget; CreateVisible:boolean); Overload;
begin
GtkAppend (MenuItem);
if createvisible then
MenuItem.Show;
end;
function TFPgtkMenuShell.ConnectDeActivate (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgDeActivate, proc, data);
end;
function TFPgtkMenuShell.ConnectAfterDeActivate (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgDeActivate, proc, data);
end;
function TFPgtkMenuShell.ConnectSelectionDone (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgSelectionDone, proc, data);
end;
function TFPgtkMenuShell.ConnectAfterSelectionDone (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgSelectionDone, proc, data);
end;
function TFPgtkMenuShell.ConnectCancel (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgCancel, proc, data);
end;
function TFPgtkMenuShell.ConnectAfterCancel (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgCancel, proc, data);
end;
function TFPgtkMenuShell.ConnectMoveCurrent (proc:TFPgtkMoveCurrentSignalFunction; data:pointer) : guint;
begin
result := MoveCurrentSignalConnect (sgMoveCurrent, proc, data);
end;
function TFPgtkMenuShell.ConnectAfterMoveCurrent (proc:TFPgtkMoveCurrentSignalFunction; data:pointer) : guint;
begin
result := MoveCurrentSignalConnectAfter (sgMoveCurrent, proc, data);
end;
function TFPgtkMenuShell.ConnectActivateCurrent (proc:TFPgtkBooleanSignalFunction; data:pointer) : guint;
begin
result := BooleanSignalConnect (sgActivateCurrent, proc, data);
end;
function TFPgtkMenuShell.ConnectAfterActivateCurrent (proc:TFPgtkBooleanSignalFunction; data:pointer) : guint;
begin
result := BooleanSignalConnectAfter (sgActivateCurrent, proc, data);
end;
{ TFPgtkMenuBar }
function TFPgtkMenuBar.TheGtkObject : PGtkMenuBar;
begin
result := PgtkMenuBar(FGtkObject);
end;
procedure TFPgtkMenuBar.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_menu_bar_new);
end;
procedure TFPgtkMenuBar.GtkPrepend (MenuItem:TFPgtkWidget);
begin
gtk_menu_bar_prepend (TheGtkObject, PGtkwidget(ConvertToGtkObject(MenuItem)));
end;
procedure TFPgtkMenuBar.GtkInsert (MenuItem:TFPgtkWidget; position:integer);
begin
gtk_menu_bar_insert (TheGtkObject, PGtkwidget(ConvertToGtkObject(MenuItem)), position);
end;
procedure TFPgtkMenuBar.GtkAppend (MenuItem:TFPgtkWidget);
begin
gtk_menu_bar_append (TheGtkObject, PGtkwidget(ConvertToGtkObject(MenuItem)));
end;
function TFPgtkMenuBar.GetShadow : TgtkShadowType;
begin
result := TheGtkObject^.shadow_type;
end;
procedure TFPgtkMenuBar.SetShadow (TheValue:TgtkShadowType);
begin
gtk_menu_bar_set_shadow_type(TheGtkObject,TheValue);
end;
{ TFPgtkMenu }
function TFPgtkMenu.TheGtkObject : PGtkMenu;
begin
result := PgtkMenu(FGtkObject);
end;
procedure TFPgtkMenu.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_menu_new);
end;
procedure TFPgtkMenu.GtkPrepend (MenuItem:TFPgtkWidget);
begin
gtk_menu_prepend (TheGtkObject, PGtkwidget(ConvertToGtkObject(MenuItem)));
end;
procedure TFPgtkMenu.GtkInsert (MenuItem:TFPgtkWidget; position:integer);
begin
gtk_menu_insert (TheGtkObject, PGtkwidget(ConvertToGtkObject(MenuItem)), position);
end;
procedure TFPgtkMenu.GtkAppend (MenuItem:TFPgtkWidget);
begin
gtk_menu_append (TheGtkObject, PGtkwidget(ConvertToGtkObject(MenuItem)));
end;
procedure FPgtkMenuPos (Sender:PgtkMenu; x:pgint; y:pgint; data:pointer); Cdecl;
var p : TFPgtkMenuPosFunction;
begin
with PSignalData (data)^ do
begin
p := TFPgtkMenuPosFunction (TheSignalProc);
p(TFPgtkMenu(GetPascalInstance(PgtkObject(Sender))), x^, y^, data);
end;
end;
procedure FPgtkMenuDetacher (AttachedWidget:PgtkWidget; TheMenu:PgtkMenu); Cdecl;
var m : TFPgtkMenu;
a : TFPgtkWidget;
begin
m := (GetPascalInstance(PgtkObject(TheMenu)) as TFPgtkMenu);
if assigned(m) and assigned(m.FDetacher) then
begin
a := TFPgtkWidget (GetPascalInstance(PgtkObject(AttachedWidget)));
m.FDetacher (a, m);
end
end;
procedure TFPgtkMenu.ReorderChild (MenuItem:TFPgtkWidget; position:integer);
begin
gtk_menu_reorder_child (TheGtkObject, PGtkwidget(ConvertToGtkObject(MenuItem)), position);
end;
procedure TFPgtkMenu.Popup (button:guint); Overload;
begin
gtk_menu_popup (TheGtkObject, null, null, null, null, button, 0);
end;
procedure TFPgtkMenu.Popup (ParentShell:TFPgtkWidget; ParentItem:TFPgtkWidget; func:TFPgtkMenuPosFunction; data:pointer; button:guint; ActivateTime:guint32); Overload;
begin
gtk_menu_popup (TheGtkObject, ConvertTogtkWidget(ParentShell), ConvertTogtkWidget(ParentItem),
@FPgtkMenuPos, ConvertSignalData(TFPgtkSignalFunction(func), data, true), button, ActivateTime);
end;
procedure TFPgtkMenu.PopDown;
begin
gtk_menu_popdown (TheGtkObject);
end;
procedure TFPgtkMenu.Reposition;
begin
gtk_menu_reposition (TheGtkObject);
end;
procedure TFPgtkMenu.AttachToWidget (Widget:TFPgtkWidget; detacher:TFPgtkMenuDetachFunction);
begin
FDetacher := detacher;
gtk_menu_attach_to_widget (TheGtkObject, ConvertTogtkWidget(Widget), @FPgtkMenuDetacher);
end;
procedure TFPgtkMenu.Detach;
begin
gtk_menu_detach (TheGtkObject);
end;
procedure TFPgtkMenu.SetTitle (TheValue:string);
begin
gtk_menu_set_title(TheGtkObject,Pgchar(TheValue));
end;
function TFPgtkMenu.GetActive : TFPgtkWidget;
begin
result := GetPascalInstance(PGtkObject(gtk_menu_get_active(TheGtkObject)),tfpgtkwidget) as tfpgtkwidget;
end;
procedure TFPgtkMenu.SetActive (TheValue:TFPgtkWidget);
var r : integer;
begin
r := Children.indexof (TheValue);
if r >= 0 then
SetActiveIndex (r);
end;
function TFPgtkMenu.GetActiveIndex : integer;
begin
result := Children.indexof (GetActive);
end;
procedure TFPgtkMenu.SetActiveIndex (TheValue:integer);
begin
gtk_menu_set_active(TheGtkObject,TheValue);
end;
function TFPgtkMenu.GetTearOffState : boolean;
begin
result := boolean(gtk.torn_off(TheGtkObject^));
end;
procedure TFPgtkMenu.SetTearOffState (TheValue:boolean);
begin
gtk_menu_set_tearoff_state(TheGtkObject,TheValue);
end;
function TFPgtkMenu.GetAttachedTo : TFPgtkWidget;
begin
result := GetPascalInstance(PGtkObject(gtk_menu_get_attach_widget(TheGtkObject)),tfpgtkwidget) as tfpgtkwidget;
end;
procedure TFPgtkMenu.SetAttachedTo (TheValue:TFPgtkWidget);
begin
AttachToWidget (TheValue, nil);
end;
function TFPgtkMenu.GetAccelGroup : PGtkAccelGroup;
begin
result := gtk_menu_ensure_uline_accel_group(TheGtkObject);
end;
procedure TFPgtkMenu.SetAccelGroup (TheValue:PGtkAccelGroup);
begin
gtk_menu_set_accel_group(TheGtkObject,TheValue);
end;
{ TFPgtkPacker }
function TFPgtkPacker.TheGtkObject : PGtkPacker;
begin
result := PgtkPacker(FGtkObject);
end;
procedure TFPgtkPacker.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_packer_new);
end;
procedure TFPgtkPacker.Add (Child:TFPgtkWidget; Side:TGtkSideType; Anchor:TGtkAnchorType; options:TGtkPackerOptions); Overload;
begin
gtk_packer_add_defaults (TheGtkObject, Child.TheGtkWidget, Side, anchor, options);
Child.Show;
end;
procedure TFPgtkPacker.Add (Child:TFPgtkWidget; Side:TGtkSideType; Anchor:TGtkAnchorType; options:TGtkPackerOptions; aVisible:boolean); Overload;
begin
gtk_packer_add_defaults (TheGtkObject, Child.TheGtkWidget, Side, anchor, options);
if aVisible then
Child.Show;
end;
procedure TFPgtkPacker.Add (Child:TFPgtkWidget; Side:TGtkSideType; Anchor:TGtkAnchorType; options:TGtkPackerOptions; aBorder:guint; PadX:Guint; PadY:guint; IPadX:guint; IPadY:guint); Overload;
begin
gtk_packer_add (TheGtkObject, Child.TheGtkWidget, Side, anchor, options, aborder, padX, PadY, IPadX, IPadY);
Child.Show;
end;
procedure TFPgtkPacker.Add (Child:TFPgtkWidget; Side:TGtkSideType; Anchor:TGtkAnchorType; options:TGtkPackerOptions; aBorder:guint; PadX:Guint; PadY:guint; IPadX:guint; IPadY:guint; aVisible:boolean); Overload;
begin
gtk_packer_add (TheGtkObject, Child.TheGtkWidget, Side, anchor, options, aborder, padX, PadY, IPadX, IPadY);
if aVisible then
Child.Show;
end;
procedure TFPgtkPacker.ReorderChild (aChild:TFPgtkWidget; position:integer);
begin
gtk_packer_reorder_child (TheGtkObject, PGtkwidget(ConvertToGtkObject(aChild)), position);
end;
function TFPgtkPacker.GetSpacing : guint;
begin
result := TheGtkObject^.spacing;
end;
procedure TFPgtkPacker.SetSpacing (TheValue:guint);
begin
gtk_packer_set_spacing(TheGtkObject,TheValue);
end;
procedure TFPgtkPacker.DefaultBorder (aBorder:guint);
begin
gtk_packer_set_default_border_width (TheGtkObject, aBorder);
end;
procedure TFPgtkPacker.DefaultPad (PadX:guint; PadY:guint);
begin
gtk_packer_set_default_pad (TheGtkObject, PadX, PadY);
end;
procedure TFPgtkPacker.DefaultIPad (IPadX:guint; IPadY:guint);
begin
gtk_packer_set_default_ipad (TheGtkObject, IPadX, IPadY);
end;
procedure TFPgtkPacker.Configure (aChild:TFPgtkWidget; Side:TGtkSideType; Anchor:TGtkAnchorType; options:TGtkPackerOptions; aBorder:guint; PadX:Guint; PadY:guint; IPadX:guint; IPadY:guint); Overload;
begin
gtk_packer_set_child_packing (TheGtkObject, PGtkwidget(ConvertToGtkObject(aChild)), Side, Anchor, options, aBorder, PadX, PadY, IPadX, IPadY);
end;
{ TFPgtkTable }
function TFPgtkTable.TheGtkObject : PGtkTable;
begin
result := PgtkTable(FGtkObject);
end;
procedure TFPgtkTable.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_table_new (1,1,False));
end;
constructor TFPgtkTable.Create (AColumns:integer; ARows:integer);
begin
inherited create;
resize (AColumns, ARows);
end;
procedure TFPgtkTable.Resize (AColumns:integer; ARows:integer);
begin
gtk_table_resize (TheGtkObject, ARows, AColumns);
end;
procedure TFPgtkTable.Attach (Widget:TFPgtkWidget; left:integer; right:integer; top:integer; bottom:integer; XOptions:integer; YOptions:integer; XPadding:integer; YPadding:integer; IsVisible:boolean);
begin
gtk_table_attach (TheGtkObject, ConvertToGtkWidget(Widget), left, right, top, bottom,
XOptions, YOptions, XPadding, YPadding);
if isvisible then
widget.Show;
end;
procedure TFPgtkTable.Attach (Widget:TFPgtkWidget; left:integer; right:integer; top:integer; bottom:integer; XOptions:integer; YOptions:integer; XPadding:integer; YPadding:integer);
begin
gtk_table_attach (TheGtkObject, ConvertTogtkWidget(Widget), left, right, top, bottom,
XOptions, YOptions, XPadding, YPadding);
widget.Show;
end;
procedure TFPgtkTable.Attach (Widget:TFPgtkWidget; left:integer; right:integer; top:integer; bottom:integer; IsVisible:boolean);
begin
gtk_table_attach_defaults (TheGtkObject, ConvertTogtkWidget(Widget), left, right, top, bottom);
if isvisible then
widget.Show;
end;
procedure TFPgtkTable.Attach (Widget:TFPgtkWidget; left:integer; right:integer; top:integer; bottom:integer);
begin
gtk_table_attach_defaults (TheGtkObject, ConvertTogtkWidget(Widget), left, right, top, bottom);
widget.Show;
end;
function TFPgtkTable.GetRowCount : integer;
begin
result := TheGtkObject^.nrows;
end;
function TFPgtkTable.GetColCount : integer;
begin
result := TheGtkObject^.ncols;
end;
function TFPgtkTable.GetHomogeneous : boolean;
begin
result := boolean(gtk.homogeneous(TheGtkObject^));
end;
procedure TFPgtkTable.SetHomogeneous (TheValue:boolean);
begin
gtk_table_set_homogeneous(TheGtkObject,TheValue);
end;
function TFPgtkTable.GetRowSpacings : integer;
begin
result := TheGtkObject^.column_spacing;
end;
procedure TFPgtkTable.SetRowSpacings (TheValue:integer);
begin
gtk_table_set_row_spacings(TheGtkObject,TheValue);
end;
function TFPgtkTable.GetColSpacings : integer;
begin
result := TheGtkObject^.row_spacing;
end;
procedure TFPgtkTable.SetColSpacings (TheValue:integer);
begin
gtk_table_set_col_spacings(TheGtkObject,TheValue);
end;
procedure TFPgtkTable.SetOneRowSpacing (row:integer; TheValue:integer);
begin
gtk_table_set_row_spacing (TheGtkObject, row, TheValue);
end;
procedure TFPgtkTable.SetOneColSpacing (Column:integer; TheValue:integer);
begin
gtk_table_set_col_spacing (TheGtkObject, Column, TheValue);
end;
{ TFPgtkToolbar }
function TFPgtkToolbar.TheGtkObject : PGtkToolbar;
begin
result := PgtkToolbar(FGtkObject);
end;
procedure TFPgtkToolbar.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL,GTK_TOOLBAR_BOTH));
end;
function TFPgtkToolbar.GetButtonRelief : TGtkReliefStyle;
begin
result := gtk_toolbar_get_button_relief(TheGtkObject);
end;
procedure TFPgtkToolbar.SetButtonRelief (TheValue:TGtkReliefStyle);
begin
gtk_toolbar_set_button_relief(TheGtkObject,TheValue);
end;
function TFPgtkToolbar.GetTooltips : TFPgtkTooltips;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.tooltips),tfpgtktooltips) as tfpgtktooltips;
end;
function TFPgtkToolbar.GetEnableTooltips : longbool;
begin
result := tooltips.enabled;
end;
procedure TFPgtkToolbar.SetEnableTooltips (TheValue:longbool);
begin
gtk_toolbar_set_tooltips(TheGtkObject,gint(TheValue));
end;
function TFPgtkToolbar.GetSpaceStyle : TGtkToolbarSpaceStyle;
begin
result := TheGtkObject^.space_style;
end;
procedure TFPgtkToolbar.SetSpaceStyle (TheValue:TGtkToolbarSpaceStyle);
begin
gtk_toolbar_set_space_style(TheGtkObject,TheValue);
end;
function TFPgtkToolbar.GetSpaceSize : integer;
begin
result := TheGtkObject^.space_size;
end;
procedure TFPgtkToolbar.SetSpaceSize (TheValue:integer);
begin
gtk_toolbar_set_space_size(TheGtkObject,TheValue);
end;
function TFPgtkToolbar.GetStyle : TGtkToolbarStyle;
begin
result := TheGtkObject^.style;
end;
procedure TFPgtkToolbar.SetStyle (TheValue:TGtkToolbarStyle);
begin
gtk_toolbar_set_style(TheGtkObject,TheValue);
end;
function TFPgtkToolbar.GetOrientation : tGtkOrientation;
begin
result := TheGtkObject^.orientation;
end;
procedure TFPgtkToolbar.SetOrientation (TheValue:tGtkOrientation);
begin
gtk_toolbar_set_orientation(TheGtkObject,TheValue);
end;
procedure TFPgtkToolbar.InsertWidget (Widget:TFPgtkWidget; TooltipText:string; TooltipPrivate:string; Position:integer);
begin
gtk_toolbar_insert_widget (TheGtkObject, ConvertToGtkWidget(Widget), ConvertToPgchar(TooltipText), ConvertTopgchar(TooltipPrivate), Position);
Widget.Show;
end;
procedure TFPgtkToolbar.PrependWidget (Widget:TFPgtkWidget; TooltipText:string; TooltipPrivate:string);
begin
gtk_toolbar_prepend_widget (TheGtkObject, ConvertToGtkWidget(Widget), ConvertTopgchar(TooltipText), ConvertTopgchar(TooltipPrivate));
Widget.Show;
end;
procedure TFPgtkToolbar.AppendWidget (Widget:TFPgtkWidget; TooltipText:string; TooltipPrivate:string);
begin
gtk_toolbar_append_widget (TheGtkObject, ConvertToGtkWidget(Widget), ConvertTopgchar(TooltipText), ConvertTopgchar(TooltipPrivate));
Widget.Show;
end;
function TFPgtkToolbar.InsertElement (ButtonType:TGtkToolbarChildType; PrevRadioBut:TFPgtkWidget; Text:string; TooltipText:string; TooltipPrivate:string; Icon:TFPgtkWidget; CallBack:TFPgtkSignalFunction; data:pointer; position:integer) : TFPgtkWidget;
var w : PGtkWidget;
t : TFPgtkObjectClass;
begin
w := gtk_toolbar_insert_element (TheGtkObject, ButtonType,
ConvertToGtkwidget(PrevRadioBut), ConvertTopgchar(Text),
ConvertTopgchar(TooltipText), ConvertTopgchar(TooltipPrivate),
ConvertToGtkwidget(Icon),
gtk_signal_func(@SignalProc),
ConvertSignalData(TFPgtkSignalFunction(callback), data, true),
position);
if assigned (w) then
begin
case ButtonType of
GTK_TOOLBAR_CHILD_WIDGET:
t := TFPgtkWidget;
GTK_TOOLBAR_CHILD_BUTTON:
t := TFPgtkButton;
GTK_TOOLBAR_CHILD_TOGGLEBUTTON:
t := TFPgtkToggleButton;
GTK_TOOLBAR_CHILD_RADIOBUTTON:
t := TFPgtkRadioButton;
end;
if t = TFPgtkWidget then
result := GetPascalInstance (w)
else
result := GetPascalInstance (w, t);
end
else
result := nil;
end;
function TFPgtkToolbar.AppendElement (ButtonType:TGtkToolbarChildType; PrevRadioBut:TFPgtkWidget; Text:string; TooltipText:string; TooltipPrivate:string; Icon:TFPgtkWidget; CallBack:TFPgtkSignalFunction; data:pointer) : TFPgtkWidget;
var w : PGtkWidget;
t : TFPgtkObjectClass;
begin
w := gtk_toolbar_append_element (TheGtkObject, ButtonType, ConvertToGtkwidget(PrevRadioBut),
ConvertTopgchar(Text), ConvertTopgchar(TooltipText), ConvertTopgchar(TooltipPrivate),
ConvertToGtkwidget(Icon), gtk_signal_func(@SignalProc),
ConvertSignalData(TFPgtkSignalFunction(callback), data, true));
if assigned (w) then
begin
case ButtonType of
GTK_TOOLBAR_CHILD_WIDGET:
t := TFPgtkWidget;
GTK_TOOLBAR_CHILD_BUTTON:
t := TFPgtkButton;
GTK_TOOLBAR_CHILD_TOGGLEBUTTON:
t := TFPgtkToggleButton;
GTK_TOOLBAR_CHILD_RADIOBUTTON:
t := TFPgtkRadioButton;
end;
if t = TFPgtkWidget then
result := GetPascalInstance (w)
else
result := GetPascalInstance (w, t);
end
else
result := nil;
end;
function TFPgtkToolbar.PrependElement (ButtonType:TGtkToolbarChildType; PrevRadioBut:TFPgtkWidget; Text:string; TooltipText:string; TooltipPrivate:string; Icon:TFPgtkWidget; CallBack:TFPgtkSignalFunction; data:pointer) : TFPgtkWidget;
var w : PGtkWidget;
t : TFPgtkObjectClass;
begin
w := gtk_toolbar_prepend_element (TheGtkObject, ButtonType, ConvertToGtkwidget(PrevRadioBut),
ConvertTopgchar(Text), ConvertTopgchar(TooltipText), ConvertTopgchar(TooltipPrivate),
ConvertToGtkwidget(Icon), gtk_signal_func(@SignalProc),
ConvertSignalData(TFPgtkSignalFunction(callback), data, true));
if assigned (w) then
begin
case ButtonType of
GTK_TOOLBAR_CHILD_WIDGET:
t := TFPgtkWidget;
GTK_TOOLBAR_CHILD_BUTTON:
t := TFPgtkButton;
GTK_TOOLBAR_CHILD_TOGGLEBUTTON:
t := TFPgtkToggleButton;
GTK_TOOLBAR_CHILD_RADIOBUTTON:
t := TFPgtkRadioButton;
end;
if t = TFPgtkWidget then
result := GetPascalInstance (w)
else
result := GetPascalInstance (w, t);
end
else
result := nil;
end;
function TFPgtkToolbar.InsertItem (Text:string; TooltipText:string; TooltipPrivate:string; Icon:TFPgtkWidget; CallBack:TFPgtkSignalFunction; data:pointer; position:integer) : TFPgtkWidget; Overload;
begin
result := GetPascalInstance (
gtk_toolbar_insert_item (TheGtkObject, ConvertTopgchar(Text), ConvertTopgchar(TooltipText), ConvertTopgchar(TooltipPrivate), ConvertToGtkWidget(Icon),
gtk_signal_func(@SignalProc), ConvertSignalData(TFPgtkSignalFunction(callback), data, true), position),
TFPgtkButton);
end;
function TFPgtkToolbar.AppendItem (Text:string; TooltipText:string; TooltipPrivate:string; Icon:TFPgtkWidget; CallBack:TFPgtkSignalFunction; data:pointer) : TFPgtkWidget; Overload;
begin
result := GetPascalInstance (
gtk_toolbar_append_item (TheGtkObject, ConvertTopgchar(Text), ConvertTopgchar(TooltipText), ConvertTopgchar(TooltipPrivate),
ConvertToGtkWidget(Icon), gtk_signal_func(@SignalProc), ConvertSignalData(TFPgtkSignalFunction(callback), data, true)),
TFPgtkButton);
end;
function TFPgtkToolbar.PrependItem (Text:string; TooltipText:string; TooltipPrivate:string; Icon:TFPgtkWidget; CallBack:TFPgtkSignalFunction; data:pointer) : TFPgtkWidget; Overload;
begin
result := GetPascalInstance (
gtk_toolbar_prepend_item (TheGtkObject, Converttopgchar(Text), Converttopgchar(TooltipText),
Converttopgchar(TooltipPrivate), ConvertToGtkWidget(Icon), gtk_signal_func(@SignalProc),
ConvertSignalData(TFPgtkSignalFunction(callback), data, true)),
TFPgtkButton);
end;
function TFPgtkToolbar.InsertItem (Text:string; TooltipText:string; TooltipPrivate:string; Icon:array of string; CallBack:TFPgtkSignalFunction; data:pointer; position:integer) : TFPgtkWidget; Overload;
var pm : TFPgtkPixmap;
begin
if low(icon) < high(icon) then
begin
pm := TFPgtkPixmap.Create;
pm.loadFromArray (icon);
end
else
pm := nil;
result := GetPascalInstance (
gtk_toolbar_insert_item (TheGtkObject, ConvertTopgchar(Text), ConvertTopgchar(TooltipText), ConvertTopgchar(TooltipPrivate), ConvertToGtkWidget(pm),
gtk_signal_func(@SignalProc), ConvertSignalData(TFPgtkSignalFunction(callback), data, true), position),
TFPgtkButton);
end;
function TFPgtkToolbar.AppendItem (Text:string; TooltipText:string; TooltipPrivate:string; Icon:array of string; CallBack:TFPgtkSignalFunction; data:pointer) : TFPgtkWidget; Overload;
var pm : TFPgtkPixmap;
begin
if low(icon) < high(icon) then
begin
pm := TFPgtkPixmap.Create;
pm.loadFromArray (icon);
end
else
pm := nil;
result := GetPascalInstance (
gtk_toolbar_append_item (TheGtkObject, ConvertTopgchar(Text), ConvertTopgchar(TooltipText), ConvertTopgchar(TooltipPrivate),
ConvertToGtkWidget(pm), gtk_signal_func(@SignalProc), ConvertSignalData(TFPgtkSignalFunction(callback), data, true)),
TFPgtkButton);
end;
function TFPgtkToolbar.PrependItem (Text:string; TooltipText:string; TooltipPrivate:string; Icon:array of string; CallBack:TFPgtkSignalFunction; data:pointer) : TFPgtkWidget; Overload;
var pm : TFPgtkPixmap;
begin
if low(icon) < high(icon) then
begin
pm := TFPgtkPixmap.Create;
pm.loadFromArray (icon);
end
else
pm := nil;
result := GetPascalInstance (
gtk_toolbar_prepend_item (TheGtkObject, Converttopgchar(Text), Converttopgchar(TooltipText),
Converttopgchar(TooltipPrivate), ConvertToGtkWidget(pm), gtk_signal_func(@SignalProc),
ConvertSignalData(TFPgtkSignalFunction(callback), data, true)),
TFPgtkButton);
end;
procedure TFPgtkToolbar.InsertSpace (position:integer);
begin
gtk_toolbar_insert_space (TheGtkObject, position);
end;
procedure TFPgtkToolbar.AppendSpace;
begin
gtk_toolbar_append_space (TheGtkObject);
end;
procedure TFPgtkToolbar.PrependSpace;
begin
gtk_toolbar_prepend_space (TheGtkObject);
end;
{ TFPgtkTree }
function TFPgtkTree.TheGtkObject : PGtkTree;
begin
result := PgtkTree(FGtkObject);
end;
procedure TFPgtkTree.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_tree_new);
end;
function TFPgtkTree.ConnectSelectionChanged (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgSelectionChanged, proc, data);
end;
function TFPgtkTree.ConnectAfterSelectionChanged (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgSelectionChanged, proc, data);
end;
function TFPgtkTree.ConnectSelectChild (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
begin
result := WidgetSignalConnect (sgSelectChild, proc, data);
end;
function TFPgtkTree.ConnectAfterSelectChild (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
begin
result := WidgetSignalConnectAfter (sgSelectChild, proc, data);
end;
function TFPgtkTree.ConnectUnselectChild (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
begin
result := WidgetSignalConnect (sgUnselectChild, proc, data);
end;
function TFPgtkTree.ConnectAfterUnselectChild (proc:TFPgtkWidgetSignalFunction; data:pointer) : guint;
begin
result := WidgetSignalConnectAfter (sgUnselectChild, proc, data);
end;
function TFPgtkTree.GetSelectionMode : TGtkSelectionMode;
begin
result := gtk.selection_mode(TheGtkObject^);
end;
procedure TFPgtkTree.SetSelectionMode (TheValue:TGtkSelectionMode);
begin
gtk_tree_set_selection_mode(TheGtkObject,TheValue);
end;
function TFPgtkTree.GetViewLines : boolean;
begin
result := boolean(gtk.view_line(TheGtkObject^));
end;
procedure TFPgtkTree.SetViewLines (TheValue:boolean);
begin
gtk_tree_set_view_lines(TheGtkObject,guint(TheValue));
end;
function TFPgtkTree.GetViewMode : TGtkTreeViewMode;
begin
result := gtk.view_mode(TheGtkObject^);
end;
procedure TFPgtkTree.SetViewMode (TheValue:TGtkTreeViewMode);
begin
gtk_tree_set_view_mode(TheGtkObject,TheValue);
end;
procedure TFPgtkTree.Append (TreeItem:TFPgtkWidget);
begin
gtk_tree_append (TheGtkObject, PGtkwidget(ConvertToGtkObject(TreeItem)));
TreeItem.Show;
end;
procedure TFPgtkTree.Prepend (TreeItem:TFPgtkWidget);
begin
gtk_tree_prepend (TheGtkObject, PGtkwidget(ConvertToGtkObject(TreeItem)));
TreeItem.Show;
end;
procedure TFPgtkTree.Insert (TreeItem:TFPgtkWidget; position:integer);
begin
gtk_tree_insert (TheGtkObject, PGtkwidget(ConvertToGtkObject(TreeItem)),position);
TreeItem.show;
end;
procedure TFPgtkTree.Remove (TreeItem:TFPgtkWidget);
var l : PGList;
begin
{$ifndef win32}
gtk_tree_remove_item (TheGtkObject, ConvertToGtkWidget(TreeItem));
{$else}
l := null;
l := g_list_append (l, ConvertToGtkWidget(TreeItem));
gtk_tree_remove_items (TheGtkObject, l);
g_list_free (l);
{$endif}
end;
procedure TFPgtkTree.ClearItems (StartPos:integer; EndPos:integer);
begin
gtk_tree_clear_items (TheGtkObject, StartPos, EndPos);
end;
procedure TFPgtkTree.SelectItem (Item:integer);
begin
gtk_tree_select_item (TheGtkObject, Item);
end;
procedure TFPgtkTree.UnselectItem (Item:integer);
begin
gtk_tree_unselect_item (TheGtkObject, Item);
end;
procedure TFPgtkTree.SelectChild (TreeItem:TFPgtkWidget);
begin
gtk_tree_select_child (TheGtkObject, PGtkwidget(ConvertToGtkObject(TreeItem)));
end;
procedure TFPgtkTree.UnselectChild (TreeItem:TFPgtkWidget);
begin
gtk_tree_unselect_child (TheGtkObject, PGtkwidget(ConvertToGtkObject(TreeItem)));
end;
function TFPgtkTree.ChildPosition (TreeItem:TFPgtkWidget) : integer;
begin
result := gtk_tree_child_position (TheGtkObject, PGtkwidget(ConvertToGtkObject(TreeItem)));
end;
function TFPgtkTree.RootTree : TFPgtkTree;
begin
result := GetPascalInstance(PGtkObject(GTK_TREE_ROOT_TREE(TheGtkObject))) as TFPgtkTree;
end;
function TFPgtkTree.IsRootTree : boolean;
begin
result := GTK_IS_ROOT_TREE (TheGtkObject);
end;
procedure TFPgtkTree.GetSelection (aGroup:TFPgtkGroup);
begin
aGroup.ManageLists := false;
aGroup.GtkList := Gtk_Tree_selection (TheGtkObject);
end;
function TFPgtkTree.Level : integer;
begin
result := TheGtkObject^.level;
end;
{ TFPgtkCalendar }
function TFPgtkCalendar.TheGtkObject : PGtkCalendar;
begin
result := PgtkCalendar(FGtkObject);
end;
procedure TFPgtkCalendar.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_calendar_new);
end;
function TFPgtkCalendar.SelectMonth (aMonth:guint; aYear:guint) : integer;
begin
result := gtk_calendar_select_month (TheGtkObject, aMonth-1, aYear);
end;
procedure TFPgtkCalendar.SelectDay (aDay:guint);
begin
gtk_calendar_select_day (TheGtkObject, aDay);
end;
function TFPgtkCalendar.MarkDay (aDay:guint) : integer;
begin
result := gtk_calendar_mark_day (TheGtkObject, aDay);
end;
function TFPgtkCalendar.UnmarkDay (aDay:guint) : integer;
begin
result := gtk_calendar_unmark_day (TheGtkObject, aDay);
end;
procedure TFPgtkCalendar.ClearMarks;
begin
gtk_calendar_clear_marks (TheGtkObject);
end;
function TFPgtkCalendar.GetDisplayOptions : TGtkCalendarDisplayOptions;
begin
result := TheGtkObject^.display_flags;
end;
procedure TFPgtkCalendar.SetDisplayOptions (TheValue:TGtkCalendarDisplayOptions);
begin
gtk_calendar_display_options(TheGtkObject,TheValue);
end;
function TFPgtkCalendar.GetDate : TDatetime;
var y, m, d : guint;
begin
gtk_calendar_get_date (TheGtkObject, @y, @m, @d);
result := encodedate (y,m+1,d);
end;
procedure TFPgtkCalendar.SetDate (TheValue:TDatetime);
var y,m,d : word;
begin
decodedate (TheValue, y,m,d);
SelectMonth(m,y);
SelectDay(d);
end;
procedure TFPgtkCalendar.Freeze;
begin
gtk_calendar_freeze (TheGtkObject);
end;
procedure TFPgtkCalendar.Thaw;
begin
gtk_calendar_thaw (TheGtkObject);
end;
function TFPgtkCalendar.ConnectMonthChanged (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnect (sgMonthChanged, proc, data);
end;
function TFPgtkCalendar.ConnectAfterMonthChanged (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnectAfter (sgMonthChanged, proc, data);
end;
function TFPgtkCalendar.ConnectDaySelected (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnect (sgDaySelected, proc, data);
end;
function TFPgtkCalendar.ConnectAfterDaySelected (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnectAfter (sgDaySelected, proc, data);
end;
function TFPgtkCalendar.ConnectDaySelectedDoubleClick (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnect (sgDaySelectedDoubleClick, proc, data);
end;
function TFPgtkCalendar.ConnectAfterDaySelectedDoubleClick (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnectAfter (sgDaySelectedDoubleClick, proc, data);
end;
function TFPgtkCalendar.ConnectPrevMonth (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnect (sgPrevMonth, proc, data);
end;
function TFPgtkCalendar.ConnectAfterPrevMonth (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnectAfter (sgPrevMonth, proc, data);
end;
function TFPgtkCalendar.ConnectNextMonth (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnect (sgNextMonth, proc, data);
end;
function TFPgtkCalendar.ConnectAfterNextMonth (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnectAfter (sgNextMonth, proc, data);
end;
function TFPgtkCalendar.ConnectPrevYear (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnect (sgPrevYear, proc, data);
end;
function TFPgtkCalendar.ConnectAfterPrevYear (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnectAfter (sgPrevYear, proc, data);
end;
function TFPgtkCalendar.ConnectNextYear (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnect (sgNextYear, proc, data);
end;
function TFPgtkCalendar.ConnectAfterNextYear (proc:TFPgtksignalFunction; data:pointer) : guint;
begin
result := signalConnectAfter (sgNextYear, proc, data);
end;
{ TFPgtkDrawingArea }
function TFPgtkDrawingArea.TheGtkObject : PGtkDrawingArea;
begin
result := PgtkDrawingArea(FGtkObject);
end;
procedure TFPgtkDrawingArea.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_drawing_area_new);
end;
procedure TFPgtkDrawingArea.SetSize (Width:integer; Height:integer);
begin
gtk_drawing_area_Size (TheGtkObject, Width, Height);
end;
{ TFPgtkCurve }
function TFPgtkCurve.TheGtkObject : PGtkCurve;
begin
result := PgtkCurve(FGtkObject);
end;
procedure TFPgtkCurve.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_curve_new);
end;
procedure TFPgtkCurve.SetRange (MinX:float; MaxX:float; MinY:float; MaxY:float);
begin
gtk_curve_set_range (TheGtkObject, MinX, MaxX, MinY, MaxY);
end;
procedure TFPgtkCurve.Reset;
begin
gtk_curve_reset (TheGtkObject);
end;
procedure TFPgtkCurve.SetGamma (GammaValue:float);
begin
gtk_curve_set_gamma (TheGtkObject, GammaValue);
end;
function TFPgtkCurve.GetCurveType : TGtkCurveType;
begin
result := TheGtkObject^.curve_type;
end;
procedure TFPgtkCurve.SetCurveType (TheValue:TGtkCurveType);
begin
gtk_curve_set_curve_type(TheGtkObject,TheValue);
end;
{ TFPgtkEditable }
function TFPgtkEditable.TheGtkObject : PGtkEditable;
begin
result := PgtkEditable(FGtkObject);
end;
function TFPgtkEditable.GetHasSelection : boolean;
begin
result := SelectionStart <> SelectionEnd;
end;
function TFPgtkEditable.GetEditable : boolean;
begin
result := boolean(gtk.editable(TheGtkObject^));
end;
procedure TFPgtkEditable.SetEditable (TheValue:boolean);
begin
gtk_Editable_set_editable(TheGtkObject,TheValue);
end;
function TFPgtkEditable.GetVisible : boolean;
begin
result := boolean(gtk.visible(TheGtkObject^));
end;
procedure TFPgtkEditable.SetVisible (TheValue:boolean);
begin
gtk.Set_visible(TheGtkObject^,guint(TheValue))
end;
function TFPgtkEditable.GetPosition : integer;
begin
result := gtk_Editable_get_position(TheGtkObject);
end;
procedure TFPgtkEditable.SetPosition (TheValue:integer);
begin
gtk_Editable_set_position(TheGtkObject,TheValue);
end;
function TFPgtkEditable.GetSelectionStart : integer;
begin
result := TheGtkObject^.selection_start_pos;
end;
procedure TFPgtkEditable.SetSelectionStart (TheValue:integer);
begin
gtk_editable_select_region (TheGtkObject, TheValue, SelectionEnd);
end;
function TFPgtkEditable.GetSelectionEnd : integer;
begin
result := TheGtkObject^.Selection_end_pos;
end;
procedure TFPgtkEditable.SetSelectionEnd (TheValue:integer);
begin
gtk_editable_select_region (TheGtkObject, SelectionStart, TheValue);
end;
procedure TFPgtkEditable.SetSelection (TheValue:string);
var b : integer;
begin
if HasSelection then
begin
b := SelectionStart;
deleteText (SelectionStart, SelectionEnd);
end
else
b := position;
InsertText (TheValue, b);
Position := b + length(TheValue);
SelectRegion (b, position);
end;
function TFPgtkEditable.GetSelection : string;
var c : pgchar;
begin
c := gtk_editable_get_chars (TheGtkObject, SelectionStart, SelectionEnd);
result := string (c);
g_free (c);
end;
function TFPgtkEditable.GetText : string;
var c : pgchar;
begin
c := gtk_editable_get_chars (TheGtkObject, 0, -1);
result := string (c);
g_free (c);
end;
procedure TFPgtkEditable.Changed;
begin
gtk_Editable_Changed (TheGtkObject);
end;
procedure TFPgtkEditable.InsertText (NewText:string; AtPosition:integer);
var p : integer;
begin
p := AtPosition;
gtk_editable_insert_text (TheGtkObject, pgchar(NewText), length(NewText), @p);
end;
procedure TFPgtkEditable.DeleteText (StartPos:integer; EndPos:integer);
begin
gtk_Editable_Delete_Text (TheGtkObject, StartPos, EndPos);
end;
procedure TFPgtkEditable.GetChars (StartPos:integer; EndPos:integer);
begin
gtk_Editable_get_chars (TheGtkObject, StartPos, EndPos);
end;
procedure TFPgtkEditable.CutClipboard;
begin
gtk_Editable_cut_clipboard (TheGtkObject);
end;
procedure TFPgtkEditable.CopyClipboard;
begin
gtk_Editable_copy_clipboard (TheGtkObject);
end;
procedure TFPgtkEditable.PasteClipboard;
begin
gtk_Editable_paste_clipboard (TheGtkObject);
end;
procedure TFPgtkEditable.SelectRegion (StartPos:integer; EndPos:integer);
begin
gtk_Editable_select_region (TheGtkObject, StartPos, EndPos);
end;
procedure TFPgtkEditable.ClaimSelection (claim:boolean; time:guint32);
begin
gtk_Editable_claim_selection (TheGtkObject, claim, time);
end;
procedure TFPgtkEditable.DeleteSelection;
begin
gtk_Editable_delete_selection (TheGtkObject);
end;
procedure TFPgtkEditable.Clear;
begin
DeleteText (0,-1);
end;
procedure InsertSignalproc (Sender:PGtkobject; NewText:pgChar; TextLength:integer; var Position:integer; data:pointer); cdecl;
var p : TFPgtkInsertSignalFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkInsertSignalFunction (TheSignalProc);
p (TheWidget as TFPgtkObject, NewText, TextLength, Position, TheData)
end;
end;
function TFPgtkEditable.InsertSignalConnect (signal:string; proc:TFPgtkInsertSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@InsertSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkEditable.InsertSignalConnectAfter (signal:string; proc:TFPgtkInsertSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@InsertSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
procedure DeleteSignalproc (Sender:PGtkobject; StartPos:integer; EndPos:integer; data:pointer); cdecl;
var p : TFPgtkDeleteSignalFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkDeleteSignalFunction (TheSignalProc);
p (TheWidget as TFPgtkObject, StartPos, EndPos, TheData)
end;
end;
function TFPgtkEditable.DeleteSignalConnect (signal:string; proc:TFPgtkDeleteSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@DeleteSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkEditable.DeleteSignalConnectAfter (signal:string; proc:TFPgtkDeleteSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@DeleteSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
procedure XYSignalproc (Sender:PGtkobject; x:integer; y:integer; data:pointer); cdecl;
var p : TFPgtkXYSignalFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkXYSignalFunction (TheSignalProc);
p (TheWidget as TFPgtkObject, x, y, TheData)
end;
end;
function TFPgtkEditable.XYSignalConnect (signal:string; proc:TFPgtkXYSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@XYSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkEditable.XYSignalConnectAfter (signal:string; proc:TFPgtkXYSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@XYSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
procedure DirectionSignalproc (Sender:PGtkobject; Direction:integer; data:pointer); cdecl;
var p : TFPgtkDirectionSignalFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkDirectionSignalFunction (TheSignalProc);
p (TheWidget as TFPgtkObject, Direction, TheData)
end;
end;
function TFPgtkEditable.DirectionSignalConnect (signal:string; proc:TFPgtkDirectionSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@DirectionSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkEditable.DirectionSignalConnectAfter (signal:string; proc:TFPgtkDirectionSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@DirectionSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
procedure MoveWordSignalproc (Sender:PGtkobject; NumWords:integer; data:pointer); cdecl;
var p : TFPgtkMoveWordSignalFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkMoveWordSignalFunction (TheSignalProc);
p (TheWidget as TFPgtkObject, NumWords, TheData)
end;
end;
function TFPgtkEditable.MoveWordSignalConnect (signal:string; proc:TFPgtkMoveWordSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@MoveWordSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkEditable.MoveWordSignalConnectAfter (signal:string; proc:TFPgtkMoveWordSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@MoveWordSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
procedure MovetoSignalproc (Sender:PGtkobject; MoveTo:integer; data:pointer); cdecl;
var p : TFPgtkMovetoSignalFunction;
begin
with PSignalData(data)^ do
begin
p := TFPgtkMovetoSignalFunction (TheSignalProc);
p (TheWidget as TFPgtkObject, MoveTo, TheData)
end;
end;
function TFPgtkEditable.MovetoSignalConnect (signal:string; proc:TFPgtkMovetoSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect (FGtkObject, pgChar(signal), gtk_signal_func(@MovetoSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkEditable.MovetoSignalConnectAfter (signal:string; proc:TFPgtkMovetoSignalFunction; data:pointer) : guint;
begin
result := gtk_signal_connect_After (FGtkObject, pgChar(signal), gtk_signal_func(@MovetoSignalproc), ConvertSignalData(TFPgtkSignalFunction(proc), data, true));
end;
function TFPgtkEditable.ConnectChanged (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgChanged, proc, data);
end;
function TFPgtkEditable.ConnectAfterChanged (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgChanged, proc, data);
end;
function TFPgtkEditable.ConnectActivate (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgActivate, proc, data);
end;
function TFPgtkEditable.ConnectAfterActivate (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgActivate, proc, data);
end;
function TFPgtkEditable.ConnectInsertText (proc:TFPgtkInsertSignalFunction; data:pointer) : guint;
begin
result := InsertSignalConnect (sgInsertText, proc, data);
end;
function TFPgtkEditable.ConnectAfterInsertText (proc:TFPgtkInsertSignalFunction; data:pointer) : guint;
begin
result := InsertSignalConnectAfter (sgInsertText, proc, data);
end;
function TFPgtkEditable.ConnectDeleteText (proc:TFPgtkDeleteSignalFunction; data:pointer) : guint;
begin
result := DeleteSignalConnect (sgDeleteText, proc, data);
end;
function TFPgtkEditable.ConnectAfterDeleteText (proc:TFPgtkDeleteSignalFunction; data:pointer) : guint;
begin
result := DeleteSignalConnectAfter (sgDeleteText, proc, data);
end;
function TFPgtkEditable.ConnectSetEditable (proc:TFPgtkBooleanSignalFunction; data:pointer) : guint;
begin
result := BooleanSignalConnect (sgSetEditable, proc, data);
end;
function TFPgtkEditable.ConnectAfterSetEditable (proc:TFPgtkBooleanSignalFunction; data:pointer) : guint;
begin
result := BooleanSignalConnectAfter (sgSetEditable, proc, data);
end;
function TFPgtkEditable.ConnectMoveCursor (proc:TFPgtkXYSignalFunction; data:pointer) : guint;
begin
result := XYSignalConnect (sgMoveCursor, proc, data);
end;
function TFPgtkEditable.ConnectAfterMoveCursor (proc:TFPgtkXYSignalFunction; data:pointer) : guint;
begin
result := XYSignalConnectAfter (sgMoveCursor, proc, data);
end;
function TFPgtkEditable.ConnectMoveWord (proc:TFPgtkMoveWordSignalFunction; data:pointer) : guint;
begin
result := MoveWordSignalConnect (sgMoveWord, proc, data);
end;
function TFPgtkEditable.ConnectAfterMoveWord (proc:TFPgtkMoveWordSignalFunction; data:pointer) : guint;
begin
result := MoveWordSignalConnectAfter (sgMoveWord, proc, data);
end;
function TFPgtkEditable.ConnectMovePage (proc:TFPgtkXYSignalFunction; data:pointer) : guint;
begin
result := XYSignalConnect (sgMovePage, proc, data);
end;
function TFPgtkEditable.ConnectAfterMovePage (proc:TFPgtkXYSignalFunction; data:pointer) : guint;
begin
result := XYSignalConnectAfter (sgMovePage, proc, data);
end;
function TFPgtkEditable.ConnectMoveToRow (proc:TFPgtkMoveToSignalFunction; data:pointer) : guint;
begin
result := MoveToSignalConnect (sgMoveToRow, proc, data);
end;
function TFPgtkEditable.ConnectAfterMoveToRow (proc:TFPgtkMoveToSignalFunction; data:pointer) : guint;
begin
result := MoveToSignalConnectAfter (sgMoveToRow, proc, data);
end;
function TFPgtkEditable.ConnectMoveToCol (proc:TFPgtkMoveToSignalFunction; data:pointer) : guint;
begin
result := MoveToSignalConnect (sgMoveToCol, proc, data);
end;
function TFPgtkEditable.ConnectAfterMoveToCol (proc:TFPgtkMoveToSignalFunction; data:pointer) : guint;
begin
result := MoveToSignalConnectAfter (sgMoveToCol, proc, data);
end;
function TFPgtkEditable.ConnectKillChar (proc:TFPgtkDirectionSignalFunction; data:pointer) : guint;
begin
result := DirectionSignalConnect (sgKillChar, proc, data);
end;
function TFPgtkEditable.ConnectAfterKillChar (proc:TFPgtkDirectionSignalFunction; data:pointer) : guint;
begin
result := DirectionSignalConnectAfter (sgKillChar, proc, data);
end;
function TFPgtkEditable.ConnectKillWord (proc:TFPgtkDirectionSignalFunction; data:pointer) : guint;
begin
result := DirectionSignalConnect (sgKillWord, proc, data);
end;
function TFPgtkEditable.ConnectAfterKillWord (proc:TFPgtkDirectionSignalFunction; data:pointer) : guint;
begin
result := DirectionSignalConnectAfter (sgKillWord, proc, data);
end;
function TFPgtkEditable.ConnectKillLine (proc:TFPgtkDirectionSignalFunction; data:pointer) : guint;
begin
result := DirectionSignalConnect (sgKillLine, proc, data);
end;
function TFPgtkEditable.ConnectAfterKillLine (proc:TFPgtkDirectionSignalFunction; data:pointer) : guint;
begin
result := DirectionSignalConnectAfter (sgKillLine, proc, data);
end;
function TFPgtkEditable.ConnectCutClipboard (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgCutClipboard, proc, data);
end;
function TFPgtkEditable.ConnectAfterCutClipboard (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgCutClipboard, proc, data);
end;
function TFPgtkEditable.ConnectCopyClipboard (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgCopyClipboard, proc, data);
end;
function TFPgtkEditable.ConnectAfterCopyClipboard (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgCopyClipboard, proc, data);
end;
function TFPgtkEditable.ConnectPasteClipboard (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnect (sgPasteClipboard, proc, data);
end;
function TFPgtkEditable.ConnectAfterPasteClipboard (proc:TFPgtkSignalFunction; data:pointer) : guint;
begin
result := SignalConnectAfter (sgPasteClipboard, proc, data);
end;
{ TFPgtkEntry }
function TFPgtkEntry.TheGtkObject : PGtkEntry;
begin
result := PgtkEntry(FGtkObject);
end;
procedure TFPgtkEntry.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_Entry_new);
end;
procedure TFPgtkEntry.SetText (TheValue:string);
begin
gtk_Entry_set_text (TheGtkObject, Pgchar(TheValue));
end;
procedure TFPgtkEntry.AppendText (aText:string);
begin
gtk_Entry_append_text (TheGtkObject, ConvertToPgchar(aText));
end;
procedure TFPgtkEntry.PrependText (aText:string);
begin
gtk_Entry_prepend_text (TheGtkObject, ConvertToPgchar(aText));
end;
function TFPgtkEntry.GetVisibility : boolean;
begin
result := boolean(gtk.visible(TheGtkObject^));
end;
procedure TFPgtkEntry.SetVisibility (TheValue:boolean);
begin
gtk_Entry_set_visibility(TheGtkObject,TheValue);
end;
function TFPgtkEntry.GetMaxLength : word;
begin
result := TheGtkObject^.text_max_length;
end;
procedure TFPgtkEntry.SetMaxLength (TheValue:word);
begin
gtk_Entry_set_max_length(TheGtkObject,TheValue);
end;
{ TFPgtkSpinButton }
function TFPgtkSpinButton.TheGtkObject : PGtkSpinButton;
begin
result := PgtkSpinButton(FGtkObject);
end;
procedure TFPgtkSpinButton.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_spin_button_new (TFPgtkAdjustment.Create.TheGtkObject,1,0));
end;
procedure TFPgtkSpinButton.Configure (Adj:TFPgtkAdjustment; aClimbRate:gfloat; aDigits:integer);
begin
if assigned (Adj) then
gtk_spin_button_configure (TheGtkObject, PGtkadjustment(Adj.TheGtkObject), aClimbRate, aDigits)
else
gtk_spin_button_configure (TheGtkObject, nil, aClimbRate, aDigits);
end;
function TFPgtkSpinButton.GetAdjustment : TFPgtkAdjustment;
begin
result := GetPascalInstance(PGtkObject(gtk_spin_button_get_adjustment(TheGtkObject)),TFPGtkAdjustment) as TFPgtkAdjustment;
end;
procedure TFPgtkSpinButton.SetAdjustment (TheValue:TFPgtkAdjustment);
begin
gtk_spin_button_set_adjustment(TheGtkObject,PGtkadjustment(ConvertToGtkObject(TheValue)));
end;
function TFPgtkSpinButton.GetClimbRate : gfloat;
begin
result := TheGtkObject^.climb_rate;
end;
procedure TFPgtkSpinButton.SetClimbRate (TheValue:gfloat);
begin
TheGtkObject^.climb_rate := TheValue;
end;
function TFPgtkSpinButton.GetDigits : integer;
begin
result := gtk.digits(TheGtkObject^);
end;
procedure TFPgtkSpinButton.SetDigits (TheValue:integer);
begin
gtk_spin_button_set_digits(TheGtkObject,TheValue);
end;
function TFPgtkSpinButton.GetAsInteger : integer;
begin
result := gtk_spin_button_get_value_as_int(TheGtkObject);
end;
procedure TFPgtkSpinButton.SetAsInteger (TheValue:integer);
begin
gtk_spin_button_set_Value(TheGtkObject,TheValue);
end;
function TFPgtkSpinButton.GetAsFloat : gfloat;
begin
result := gtk_spin_button_get_value_as_int(TheGtkObject);
end;
procedure TFPgtkSpinButton.SetAsFloat (TheValue:gfloat);
begin
gtk_spin_button_set_Value(TheGtkObject,TheValue);
end;
function TFPgtkSpinButton.GetUpdatePolicy : TGtkSpinButtonUpdatePolicy;
begin
result := TheGtkObject^.update_policy;
end;
procedure TFPgtkSpinButton.SetUpdatePolicy (TheValue:TGtkSpinButtonUpdatePolicy);
begin
gtk_spin_button_set_update_policy(TheGtkObject,TheValue);
end;
function TFPgtkSpinButton.GetNumeric : boolean;
begin
result := boolean(gtk.numeric(TheGtkObject^));
end;
procedure TFPgtkSpinButton.SetNumeric (TheValue:boolean);
begin
gtk_spin_button_set_numeric(TheGtkObject,TheValue);
end;
procedure TFPgtkSpinButton.Spin (direction:TGtkSpinType; increment:gfloat);
begin
gtk_spin_button_spin (TheGtkObject, direction, increment);
end;
function TFPgtkSpinButton.GetWrap : boolean;
begin
result := boolean(gtk.wrap(TheGtkObject^));
end;
procedure TFPgtkSpinButton.SetWrap (TheValue:boolean);
begin
gtk_spin_button_set_wrap(TheGtkObject,TheValue);
end;
function TFPgtkSpinButton.GetShadowType : TGtkShadowType;
begin
result := TheGtkObject^.shadow_type;
end;
procedure TFPgtkSpinButton.SetShadowType (TheValue:TGtkShadowType);
begin
gtk_spin_button_set_shadow_type(TheGtkObject,TheValue);
end;
function TFPgtkSpinButton.GetSnapToTicks : boolean;
begin
result := boolean(gtk.snap_to_ticks(TheGtkObject^));
end;
procedure TFPgtkSpinButton.SetSnapToTicks (TheValue:boolean);
begin
gtk_spin_button_set_snap_to_ticks(TheGtkObject,TheValue);
end;
procedure TFPgtkSpinButton.Update;
begin
gtk_spin_button_update (TheGtkObject);
end;
{ TFPgtkText }
function TFPgtkText.TheGtkObject : PGtkText;
begin
result := PgtkText(FGtkObject);
end;
procedure TFPgtkText.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_Text_new (null,null));
end;
constructor TFPgtkText.Create;
begin
inherited create;
editable := true;
wordwrap := true;
linewrap := true;
FLines := TStringlist.Create;
ConnectChanged (@SigChanged, nil);
end;
destructor TFPgtkText.Destroy;
begin
FLines.Free;
inherited;
end;
procedure TFPgtkText.SigChanged (Sender:TFPgtkObject; data:pointer);
begin
FIsChanged := True;
end;
procedure TFPgtkText.RefreshLines;
begin
if not assigned (FLines) then
FLines := TStringlist.Create;
FLines.Text := Text;
end;
function TFPgtkText.GetLines : TStrings;
begin
if FIsChanged then
RefreshLines;
result := FLines;
end;
procedure TFPgtkText.Freeze;
begin
gtk_Text_Freeze (TheGtkObject);
end;
procedure TFPgtkText.Thaw;
begin
gtk_Text_Thaw (TheGtkObject);
end;
function TFPgtkText.TextLength : guint;
begin
result := gtk_Text_get_length (TheGtkObject);
end;
procedure TFPgtkText.Insert (font:PgdkFont; fore:PgdkColor; back:PgdkColor; TheText:string);
begin
gtk_text_insert (TheGtkObject, font, fore, back, pgchar(TheText), length(TheText));
end;
procedure TFPgtkText.DeleteBackward (number:longword);
begin
gtk_Text_Backward_Delete (TheGtkObject, number);
end;
procedure TFPgtkText.DeleteForward (number:longword);
begin
gtk_Text_Forward_Delete (TheGtkObject, number);
end;
function TFPgtkText.GetWordWrap : boolean;
begin
result := boolean(gtk.word_wrap(TheGtkObject^));
end;
procedure TFPgtkText.SetWordWrap (TheValue:boolean);
begin
gtk_text_set_word_wrap (TheGtkObject,gint(TheValue));
end;
function TFPgtkText.GetLineWrap : boolean;
begin
result := boolean(gtk.Line_Wrap(TheGtkObject^));
end;
procedure TFPgtkText.SetLineWrap (TheValue:boolean);
begin
{$IFDEF win32 or go32v2}
Set_Line_Wrap (TheGtkObject^, gint(TheValue));
{$ELSE}
gtk_Text_Set_Line_Wrap (TheGtkObject, gint(TheValue));
{$ENDIF}
end;
function TFPgtkText.GetPoint : integer;
begin
result := gtk_Text_get_Point(TheGtkObject);
end;
procedure TFPgtkText.SetPoint (TheValue:integer);
begin
gtk_Text_set_Point(TheGtkObject,TheValue);
end;
procedure TFPgtkText.SetAdjustments (hadj:TFPgtkAdjustment; vadj:TFPgtkAdjustment);
begin
gtk_text_set_adjustments (TheGtkObject, hadj.TheGtkObject, vadj.TheGtkObject);
end;
function TFPgtkText.GetHAdjustment : TFPgtkAdjustment;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.hadj),tfpgtkadjustment) as tfpgtkadjustment;
end;
procedure TFPgtkText.SetHAdjustment (TheValue:TFPgtkAdjustment);
begin
gtk_Text_Set_Adjustments(TheGtkObject, TheValue.TheGtkObject, TheGtkObject^.vadj);
end;
function TFPgtkText.GetVAdjustment : TFPgtkAdjustment;
begin
result := GetPascalInstance(PGtkObject(TheGtkObject^.vadj),tfpgtkadjustment) as tfpgtkadjustment;
end;
procedure TFPgtkText.SetVAdjustment (TheValue:TFPgtkAdjustment);
begin
gtk_Text_Set_Adjustments(TheGtkObject, TheGtkObject^.hadj, TheValue.TheGtkObject);
end;
procedure TFPgtkText.SetText (TheValue:string);
begin
Freeze;
{$ifdef gtkwin}
TheValue := stringreplace (TheValue, #13#10, #10, [rfReplaceAll]);
{$endif}
clear;
Insert (null, null, null, TheValue);
Thaw;
end;
{ TFPgtkRuler }
function TFPgtkRuler.TheGtkObject : PGtkRuler;
begin
result := PgtkRuler(FGtkObject);
end;
procedure TFPgtkRuler.SetMetric (aMetric:TGtkMetricType);
begin
gtk_ruler_set_metric (TheGtkObject, aMetric);
end;
procedure TFPgtkRuler.SetRange (Lower:float; Upper:float; Position:float; MaxSize:float);
begin
gtk_ruler_set_range (TheGtkObject, Lower, Upper, Position, MaxSize);
end;
{ TFPgtkHRuler }
function TFPgtkHRuler.TheGtkObject : PGtkHRuler;
begin
result := PgtkHRuler(FGtkObject);
end;
procedure TFPgtkHRuler.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_hruler_new);
end;
{ TFPgtkVRuler }
function TFPgtkVRuler.TheGtkObject : PGtkVRuler;
begin
result := PgtkVRuler(FGtkObject);
end;
procedure TFPgtkVRuler.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_vruler_new);
end;
{ TFPgtkRange }
function TFPgtkRange.TheGtkObject : PGtkRange;
begin
result := PgtkRange(FGtkObject);
end;
function TFPgtkRange.GetAdjustment : TFPgtkAdjustment;
begin
result := GetPascalInstance(PGtkObject(gtk_Range_get_Adjustment(TheGtkObject)),tfpgtkadjustment) as tfpgtkadjustment;
end;
procedure TFPgtkRange.SetAdjustment (TheValue:TFPgtkAdjustment);
begin
gtk_Range_set_adjustment(TheGtkObject,PGtkadjustment(ConvertToGtkObject(TheValue)));
end;
function TFPgtkRange.GetUpdatePolicy : TgtkUpdateType;
begin
result := gtk.policy(TheGtkObject^);
end;
procedure TFPgtkRange.SetUpdatePolicy (TheValue:TgtkUpdateType);
begin
gtk_Range_set_update_policy(TheGtkObject,TheValue);
end;
constructor TFPgtkRange.Create (AnAdjustment:TFPgtkAdjustment);
begin
FAdj := AnAdjustment;
inherited create;
end;
procedure TFPgtkRange.DrawBackground;
begin
gtk_Range_draw_background (TheGtkObject);
end;
procedure TFPgtkRange.DrawTrough;
begin
gtk_Range_draw_trough (TheGtkObject);
end;
procedure TFPgtkRange.DrawStepForw;
begin
gtk_Range_draw_step_forw (TheGtkObject);
end;
procedure TFPgtkRange.DrawStepBack;
begin
gtk_Range_draw_step_back (TheGtkObject);
end;
procedure TFPgtkRange.DrawSlider;
begin
gtk_Range_draw_slider (TheGtkObject);
end;
procedure TFPgtkRange.SliderUpdate;
begin
gtk_Range_slider_update (TheGtkObject);
end;
function TFPgtkRange.TroughClick (X:integer; Y:integer; var JumpPerc:gfloat) : integer;
begin
result := gtk_Range_trough_click (TheGtkObject, X, Y, @JumpPerc);
end;
procedure TFPgtkRange.DefaultHSliderUpdate;
begin
gtk_Range_default_hslider_update (TheGtkObject);
end;
procedure TFPgtkRange.DefaultVSliderUpdate;
begin
gtk_Range_default_vslider_update (TheGtkObject);
end;
function TFPgtkRange.DefaultHTroughClick (X:integer; Y:integer; var JumpPerc:gfloat) : integer;
begin
result := gtk_Range_default_htrough_click (TheGtkObject, X, Y, @JumpPerc);
end;
function TFPgtkRange.DefaultVTroughClick (X:integer; Y:integer; var JumpPerc:gfloat) : integer;
begin
result := gtk_Range_default_vtrough_click (TheGtkObject, X, Y, @JumpPerc);
end;
procedure TFPgtkRange.defaultHMotion (XDelta:integer; YDelta:integer);
begin
gtk_Range_default_hmotion (TheGtkObject, XDelta, YDelta);
end;
procedure TFPgtkRange.defaultVMotion (XDelta:integer; YDelta:integer);
begin
gtk_Range_default_vmotion (TheGtkObject, XDelta, YDelta);
end;
procedure TFPgtkRange.ClearBackground;
begin
gtk_Range_clear_background (TheGtkObject);
end;
{ TFPgtkScale }
function TFPgtkScale.TheGtkObject : PGtkScale;
begin
result := PgtkScale(FGtkObject);
end;
procedure TFPgtkScale.SetDigits (TheValue:integer);
begin
gtk_scale_set_digits (TheGtkObject, TheValue);
end;
function TFPgtkScale.GetDrawValue : boolean;
begin
result := boolean(gtk.draw_value(TheGtkObject^));
end;
procedure TFPgtkScale.SetDrawValue (TheValue:boolean);
begin
gtk_scale_set_draw_value(TheGtkObject,TheValue);
end;
function TFPgtkScale.GetValuePos : TGtkPositionType;
begin
result := gtk.value_pos(TheGtkObject^);
end;
procedure TFPgtkScale.SetValuePos (TheValue:TGtkPositionType);
begin
gtk_scale_set_value_pos(TheGtkObject,TheValue);
end;
{ TFPgtkHScale }
function TFPgtkHScale.TheGtkObject : PGtkHScale;
begin
result := PgtkHScale(FGtkObject);
end;
procedure TFPgtkHScale.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_hscale_new (nil));
end;
{ TFPgtkVScale }
function TFPgtkVScale.TheGtkObject : PGtkVScale;
begin
result := PgtkVScale(FGtkObject);
end;
procedure TFPgtkVScale.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_vscale_new (nil));
end;
{ TFPgtkScrollbar }
function TFPgtkScrollbar.TheGtkObject : PGtkScrollbar;
begin
result := PgtkScrollbar(FGtkObject);
end;
{ TFPgtkHScrollbar }
function TFPgtkHScrollbar.TheGtkObject : PGtkHScrollbar;
begin
result := PgtkHScrollbar(FGtkObject);
end;
procedure TFPgtkHScrollbar.CreateGtkObject;
var a : PgtkAdjustment;
begin
if assigned (FAdj) then
a := FAdj.TheGtkObject
else
a := null;
FGtkObject := PgtkObject (gtk_hscrollbar_new (a));
FAdj := nil;
end;
{ TFPgtkVScrollbar }
procedure TFPgtkVScrollbar.CreateGtkObject;
var a : PgtkAdjustment;
begin
if assigned (FAdj) then
a := FAdj.TheGtkObject
else
a := null;
FGtkObject := PgtkObject (gtk_vscrollbar_new (a));
FAdj := nil;
end;
{ TFPgtkSeparator }
function TFPgtkSeparator.TheGtkObject : PGtkSeparator;
begin
result := PgtkSeparator(FGtkObject);
end;
{ TFPgtkHSeparator }
function TFPgtkHSeparator.TheGtkObject : PGtkHSeparator;
begin
result := PgtkHSeparator(FGtkObject);
end;
procedure TFPgtkHSeparator.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_HSeparator_new);
end;
{ TFPgtkVSeparator }
function TFPgtkVSeparator.TheGtkObject : PGtkVSeparator;
begin
result := PgtkVSeparator(FGtkObject);
end;
procedure TFPgtkVSeparator.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_VSeparator_new);
end;
{ TFPgtkPreview }
function TFPgtkPreview.TheGtkObject : PGtkPreview;
begin
result := PgtkPreview(FGtkObject);
end;
procedure TFPgtkPreview.CreateGtkObject;
begin
FGtkObject := PGtkObject(gtk_preview_new (GTK_PREVIEW_COLOR));
end;
procedure TFPgtkPreview.Size (aWidth:integer; aHeight:integer);
begin
gtk_preview_size (TheGtkObject, aWidth, aHeight);
end;
procedure TFPgtkPreview.Put (aWindow:PGdkWindow; gc:PGdkGC; SrcX:integer; SrcY:integer; destX:integer; DestY:integer; aWidth:integer; aHeight:integer);
begin
gtk_preview_put (TheGtkObject, aWindow, gc, SrcX, SrcY, destX, DestY, aWidth, aHeight);
end;
procedure TFPgtkPreview.DrawRow (data:pguchar; X:integer; Y:integer; W:integer);
begin
gtk_preview_draw_row (TheGtkObject, data, X, Y, W);
end;
procedure SetGamma (aGamma:double);
begin
gtk_preview_set_gamma (aGamma);
end;
function TFPgtkPreview.GetExpand : longbool;
begin
result := longbool(gtk.expand(TheGtkObject^));
end;
procedure TFPgtkPreview.SetExpand (TheValue:longbool);
begin
gtk_preview_set_expand(TheGtkObject,gint(TheValue));
end;
function TFPgtkPreview.GetDither : TGdkRgbDither;
begin
result := TheGtkObject^.dither;
end;
procedure TFPgtkPreview.SetDither (TheValue:TGdkRgbDither);
begin
gtk_preview_set_dither(TheGtkObject,TheValue);
end;
{ TFPgtkProgress }
function TFPgtkProgress.TheGtkObject : PGtkProgress;
begin
result := PgtkProgress(FGtkObject);
end;
function TFPgtkProgress.GetShowtext : longbool;
begin
result := longbool(gtk.show_text(TheGtkObject^));
end;
procedure TFPgtkProgress.SetShowtext (TheValue:longbool);
begin
gtk_progress_set_show_text(TheGtkObject,gint(TheValue));
end;
function TFPgtkProgress.GetTextXAlign : gfloat;
begin
result := TheGtkObject^.x_align;
end;
procedure TFPgtkProgress.SetTextXAlign (TheValue:gfloat);
begin
gtk_progress_set_text_alignment (TheGtkObject, TheValue, TextYAlign);
end;
function TFPgtkProgress.GetTextYAlign : gfloat;
begin
result := TheGtkObject^.y_align;
end;
procedure TFPgtkProgress.SetTextYAlign (TheValue:gfloat);
begin
gtk_progress_set_text_alignment (TheGtkObject, TextXAlign, TheValue);
end;
procedure TFPgtkProgress.SetTextAlignment (anXalign:gfloat; anYAlign:gfloat);
begin
gtk_progress_set_text_alignment (TheGtkObject, anXalign, anYAlign);
end;
function TFPgtkProgress.GetCurrentValue : float;
begin
result := gtk_progress_get_Value(TheGtkObject);
end;
procedure TFPgtkProgress.SetCurrentValue (TheValue:float);
begin
gtk_progress_Set_value (TheGtkObject, TheValue);
Draw (nil);
end;
function TFPgtkProgress.GetPercentage : float;
begin
result := gtk_progress_get_current_percentage(TheGtkObject);
end;
procedure TFPgtkProgress.SetPercentage (TheValue:float);
begin
gtk_progress_set_percentage(TheGtkObject,TheValue);
end;
function TFPgtkProgress.PercentageFromValue (aValue:gfloat) : gfloat;
begin
result := gtk_progress_get_percentage_from_value (TheGtkObject, aValue);
end;
function TFPgtkProgress.GetFormatString : string;
begin
result := TheGtkObject^.format;
end;
procedure TFPgtkProgress.SetFormatString (TheValue:string);
begin
gtk_progress_set_format_string(TheGtkObject,ConvertToPgchar(TheValue));
end;
function TFPgtkProgress.GetAdjustment : TFPgtkAdjustment;
begin
result := GetPascalInstance (PGtkObject(TheGtkObject^.adjustment), TFPgtkAdjustment) as TFPgtkAdjustment;
end;
procedure TFPgtkProgress.SetAdjustment (TheValue:TFPgtkAdjustment);
begin
gtk_progress_set_adjustment(TheGtkObject,PGtkadjustment(ConvertToGtkObject(TheValue)));
end;
function TFPgtkProgress.GetActivityMode : longbool;
begin
result := longbool(gtk.activity_mode(TheGtkObject^));
end;
procedure TFPgtkProgress.SetActivityMode (TheValue:longbool);
begin
gtk_progress_set_activity_mode(TheGtkObject,gint(TheValue));
end;
function TFPgtkProgress.CurrentText : string;
begin
result := gtk_progress_get_current_text (TheGtkObject);
end;
function TFPgtkProgress.TextFromValue (aValue:gfloat) : string;
begin
result := gtk_progress_get_text_from_value (TheGtkObject, aValue);
end;
procedure TFPgtkProgress.Configure (aValue:gfloat; aMin:gfloat; aMax:gfloat);
begin
gtk_progress_configure (TheGtkObject, aValue, aMin, aMax);
end;
{ TFPgtkProgressBar }
function TFPgtkProgressBar.TheGtkObject : PGtkProgressBar;
begin
result := PgtkProgressBar(FGtkObject);
end;
constructor TFPgtkProgressBar.Create (adj:TFPgtkAdjustment);
begin
FAdj := adj;
inherited create;
end;
procedure TFPgtkProgressBar.CreateGtkObject;
begin
if assigned (FAdj) then
TheGtkWidget := gtk_progress_bar_new_with_adjustment (FAdj.TheGtkObject)
else
TheGtkWidget := gtk_progress_bar_new;
end;
function TFPgtkProgressBar.GetBarStyle : TGtkProgressBarStyle;
begin
result := TheGtkObject^.bar_style;
end;
procedure TFPgtkProgressBar.SetBarStyle (TheValue:TGtkProgressBarStyle);
begin
gtk_progress_bar_set_bar_style(TheGtkObject,TheValue);
end;
function TFPgtkProgressBar.GetDiscreteBlocks : longword;
begin
result := TheGtkObject^.blocks;
end;
procedure TFPgtkProgressBar.SetDiscreteBlocks (TheValue:longword);
begin
gtk_progress_bar_set_discrete_blocks(TheGtkObject,TheValue);
end;
function TFPgtkProgressBar.GetActivityStep : longword;
begin
result := TheGtkObject^.activity_step;
end;
procedure TFPgtkProgressBar.SetActivityStep (TheValue:longword);
begin
gtk_progress_bar_set_activity_step(TheGtkObject,TheValue);
end;
function TFPgtkProgressBar.GetActivityBlocks : longword;
begin
result := TheGtkObject^.activity_blocks;
end;
procedure TFPgtkProgressBar.SetActivityBlocks (TheValue:longword);
begin
gtk_progress_bar_set_activity_blocks(TheGtkObject,TheValue);
end;
function TFPgtkProgressBar.GetOrientation : TGtkProgressBarOrientation;
begin
result := TheGtkObject^.orientation;
end;
procedure TFPgtkProgressBar.SetOrientation (TheValue:TGtkProgressBarOrientation);
begin
gtk_progress_bar_set_orientation(TheGtkObject,TheValue);
end;
{ TFPgtkItemFactory }
INITIALIZATION
ObjectsToFree := TList.Create;
FINALIZATION
ObjectsToFree.Free;
if assigned (TheTooltips) then
TheTooltips.Free;
End.