mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-20 12:19:31 +02:00
AJ: started GNOME interface & modified gtk interface so everything is public/protected
git-svn-id: trunk@2072 -
This commit is contained in:
parent
a4134a4191
commit
688e139c86
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -560,6 +560,7 @@ lcl/interfaces/gtk/gtklistslh.inc svneol=native#text/pascal
|
||||
lcl/interfaces/gtk/gtklistviewcallback.inc svneol=native#text/pascal
|
||||
lcl/interfaces/gtk/gtkobject.inc svneol=native#text/pascal
|
||||
lcl/interfaces/gtk/gtkproc.inc svneol=native#text/pascal
|
||||
lcl/interfaces/gtk/gtkproc.pp svneol=native#text/pascal
|
||||
lcl/interfaces/gtk/gtkwinapi.inc svneol=native#text/pascal
|
||||
lcl/interfaces/gtk/gtkwinapih.inc svneol=native#text/pascal
|
||||
lcl/interfaces/gtk/gtkwinapiwindow.pp svneol=native#text/pascal
|
||||
|
406
lcl/interfaces/gtk/gtkproc.pp
Normal file
406
lcl/interfaces/gtk/gtkproc.pp
Normal file
@ -0,0 +1,406 @@
|
||||
unit gtkproc;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
InterfaceBase, {$Ifndef NoGdkPixbufLib}gdkpixbuf,{$EndIf} gtk, gdk,
|
||||
glib, SysUtils, LMessages, Classes, Controls, Forms, VclGlobals,
|
||||
LCLLinux, LCLType, gtkDef, DynHashArray, LazQueue, GraphType,
|
||||
GraphicsMath, Graphics, Buttons, Menus, GTKWinApiWindow, StdCtrls, ComCtrls, CListBox,
|
||||
KeyMap, Calendar, Arrow, Spin, CommCtrl, ExtCtrls, Dialogs, FileCtrl,
|
||||
LResources, Math, gtkglobals;
|
||||
|
||||
|
||||
(* GTKCallback.inc headers *)
|
||||
procedure EventTrace(const TheMessage : string; data : pointer);
|
||||
function gtkNoteBookCloseBtnClicked(Widget: PGtkWidget;
|
||||
Data: Pointer): GBoolean; cdecl;
|
||||
function gtkRealizeCB(Widget: PGtkWidget; Data: Pointer): GBoolean; cdecl;
|
||||
function gtkRealizeAfterCB(Widget: PGtkWidget; Data: Pointer): GBoolean; cdecl;
|
||||
function gtkshowCB( widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkHideCB( widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkactivateCB(widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkchangedCB( widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkchanged_editbox( widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkdaychanged(Widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkDraw(Widget: PGtkWidget; area: PGDKRectangle;
|
||||
data: gPointer) : GBoolean; cdecl;
|
||||
function gtkDrawAfter(Widget: PGtkWidget; area: PGDKRectangle;
|
||||
data: gPointer) : GBoolean; cdecl;
|
||||
function gtkExposeEventAfter(Widget: PGtkWidget; Event : PGDKEventExpose;
|
||||
Data: gPointer): GBoolean; cdecl;
|
||||
function gtkfrmactivate( widget: PGtkWidget; Event : TgdkEventFocus;
|
||||
data: gPointer) : GBoolean; cdecl;
|
||||
function gtkfrmdeactivate( widget: PGtkWidget; Event : TgdkEventFocus;
|
||||
data: gPointer) : GBoolean; cdecl;
|
||||
function GTKMap(Widget: PGTKWidget; Data: gPointer): GBoolean; cdecl;
|
||||
function GTKKeyUpDown(Widget: PGtkWidget; Event : pgdkeventkey;
|
||||
Data: gPointer) : GBoolean; cdecl;
|
||||
function GTKFocusCB( widget: PGtkWidget; event:PGdkEventFocus; data: gPointer) : GBoolean; cdecl;
|
||||
function GTKKillFocusCB(widget: PGtkWidget; event:PGdkEventFocus; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkdestroyCB(widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkdeleteCB( widget : PGtkWidget; event : PGdkEvent; data : gPointer) : GBoolean; cdecl;
|
||||
function gtkresizeCB( widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkMonthChanged(Widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
procedure DeliverMouseMoveMessage(Widget:PGTKWidget; Event: PGDKEventMotion;
|
||||
AWinControl: TWinControl);
|
||||
function ControlGetsMouseMoveBefore(AControl: TControl): boolean;
|
||||
function gtkMotionNotify(Widget:PGTKWidget; Event: PGDKEventMotion;
|
||||
Data: gPointer): GBoolean; cdecl;
|
||||
function GTKMotionNotifyAfter(widget:PGTKWidget; event: PGDKEventMotion;
|
||||
data: gPointer): GBoolean; cdecl;
|
||||
function ControlGetsMouseDownBefore(AControl: TControl): boolean;
|
||||
procedure DeliverMouseDownMessage(widget: PGtkWidget; event : pgdkEventButton;
|
||||
AWinControl: TWinControl);
|
||||
function gtkMouseBtnPress(widget: PGtkWidget; event : pgdkEventButton;
|
||||
data: gPointer) : GBoolean; cdecl;
|
||||
function gtkMouseBtnPressAfter(widget: PGtkWidget; event : pgdkEventButton;
|
||||
data: gPointer) : GBoolean; cdecl;
|
||||
function ControlGetsMouseUpBefore(AControl: TControl): boolean;
|
||||
procedure DeliverMouseUpMessage(widget: PGtkWidget; event : pgdkEventButton;
|
||||
AWinControl: TWinControl);
|
||||
function gtkMouseBtnRelease(widget: PGtkWidget; event : pgdkEventButton;
|
||||
data: gPointer) : GBoolean; cdecl;
|
||||
function gtkMouseBtnReleaseAfter(widget: PGtkWidget; event : pgdkEventButton;
|
||||
data: gPointer) : GBoolean; cdecl;
|
||||
function gtkclickedCB( widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkOpenDialogRowSelectCB( widget : PGtkWidget; row : gint;
|
||||
column : gint; event : pgdkEventButton; data : gPointer ) : GBoolean; cdecl;
|
||||
function gtkDialogOKclickedCB( widget: PGtkWidget;
|
||||
data: gPointer) : GBoolean; cdecl;
|
||||
function gtkDialogCancelclickedCB(widget: PGtkWidget; data: gPointer): GBoolean;cdecl;
|
||||
function gtkDialogHelpclickedCB(widget: PGtkWidget; data: gPointer): GBoolean;cdecl;
|
||||
function gtkDialogApplyclickedCB(widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
||||
function gtkDialogCloseQueryCB(widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
||||
procedure UpdateDetailView(OpenDialog: TOpenDialog);
|
||||
function GTKDialogKeyUpDownCB(Widget: PGtkWidget; Event : pgdkeventkey;
|
||||
Data: gPointer) : GBoolean; cdecl;
|
||||
function GTKDialogRealizeCB(Widget: PGtkWidget; Data: Pointer): GBoolean; cdecl;
|
||||
function GTKDialogFocusInCB(widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
||||
function GTKDialogSelectRowCB(widget: PGtkWidget; Row, Column: gInt;
|
||||
bevent: pgdkEventButton; data: gPointer): GBoolean; cdecl;
|
||||
function GTKDialogMenuActivateCB(widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
||||
function gtkDialogDestroyCB(widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
||||
function gtkpressedCB( widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkenterCB(widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkleaveCB(widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkmovecursorCB(widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtksize_allocateCB(widget: PGtkWidget; size :pGtkAllocation;
|
||||
data: gPointer) : GBoolean; cdecl;
|
||||
function gtksize_allocate_client(widget: PGtkWidget; size :pGtkAllocation;
|
||||
data: gPointer) : GBoolean; cdecl;
|
||||
function gtkswitchpage(widget: PGtkWidget; page: Pgtkwidget; pagenum : integer;
|
||||
data: gPointer) : GBoolean; cdecl;
|
||||
function gtkconfigureevent( widget: PGtkWidget; event : PgdkEventConfigure;
|
||||
data: gPointer) : GBoolean; cdecl;
|
||||
function gtkreleasedCB( widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkInsertText( widget: PGtkWidget; char : pChar; NewTextLength : Integer; Position : pgint; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkDeleteText( widget: PGtkWidget; Startpos, EndPos : Integer; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkSetEditable( widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkMoveWord( widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkMovePage( widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkMoveToRow( widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkMoveToColumn( widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkKillChar( widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkKillWord( widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkKillLine( widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkCutToClip( widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkCopyToClip( widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkPasteFromClip( widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkValueChanged(widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
function gtkTimerCB(Data: gPointer): gint; cdecl;
|
||||
function gtkFocusInNotifyCB (widget : PGtkWidget; event : PGdkEvent;
|
||||
data : gpointer) : GBoolean; cdecl;
|
||||
function gtkFocusOutNotifyCB (widget : PGtkWidget; event : PGdkEvent;
|
||||
data : gpointer) : GBoolean; cdecl;
|
||||
function GTKHScrollCB(Adjustment: PGTKAdjustment; data: GPointer): GBoolean; cdecl;
|
||||
function GTKVScrollCB(Adjustment: PGTKAdjustment;
|
||||
data: GPointer): GBoolean; cdecl;
|
||||
function GTKKeySnooper(Widget: PGtkWidget; Event: PGdkEventKey;
|
||||
FuncData: gPointer): gInt; cdecl;
|
||||
function gtkYearChanged(Widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
procedure ClipboardSelectionReceivedHandler(TargetWidget: PGtkWidget;
|
||||
SelectionData: PGtkSelectionData; TimeID: cardinal; Data: Pointer); cdecl;
|
||||
procedure ClipboardSelectionRequestHandler(TargetWidget: PGtkWidget;
|
||||
SelectionData: PGtkSelectionData; Info: cardinal; TimeID: cardinal;
|
||||
Data: Pointer); cdecl;
|
||||
function ClipboardSelectionLostOwnershipHandler(TargetWidget: PGtkWidget;
|
||||
EventSelection: PGdkEventSelection; Data: Pointer): cardinal; cdecl;
|
||||
Procedure GTKStyleChanged(Widget: PGtkWidget; previous_style : PGTKStyle; Data: Pointer); cdecl;
|
||||
|
||||
function DeliverPostMessage(const Target: Pointer; var TheMessage): GBoolean;
|
||||
function DeliverMessage(const Target: Pointer; var AMessage): Integer;
|
||||
|
||||
(* gtkDragCallback.inc headers *)
|
||||
Function edit_drag_data_received(widget : pgtkWidget;
|
||||
Context : pGdkDragContext;
|
||||
X : Integer;
|
||||
Y : Integer;
|
||||
seldata : pGtkSelectionData;
|
||||
info : Integer;
|
||||
time : Integer;
|
||||
data : pointer) : GBoolean; cdecl;
|
||||
Function edit_source_drag_data_get(widget : pgtkWidget;
|
||||
Context : pGdkDragContext;
|
||||
Selection_data : pGtkSelectionData;
|
||||
info : Integer;
|
||||
time : Integer;
|
||||
data : pointer) : GBoolean; cdecl;
|
||||
Function Edit_source_drag_data_delete (widget : pGtkWidget;
|
||||
context : pGdkDragContext;
|
||||
data : gpointer): gBoolean ; cdecl;
|
||||
|
||||
(* gtkListViewCallback.inc headers *)
|
||||
|
||||
function gtkLVHScroll(AList: PGTKCList; AData: gPointer): GBoolean; cdecl;
|
||||
function gtkLVVScroll(AList: PGTKCList; AData: gPointer): GBoolean; cdecl;
|
||||
function gtkLVAbortColumnResize(AList: PGTKCList; AData: gPointer): GBoolean; cdecl;
|
||||
function gtkLVResizeColumn(AList: PGTKCList; AColumn, AWidth: Integer; AData: gPointer): GBoolean; cdecl;
|
||||
function gtkLVClickColumn(AList: PGTKCList; AColumn: Integer; AData: gPointer): GBoolean; cdecl;
|
||||
function gtkLVRowMove(AList: PGTKCList; AnOldIdx, ANewIdx: Integer; AData: gPointer): GBoolean; cdecl;
|
||||
function gtkLVSelectRow(AList: PGTKCList; ARow, AColumn: Integer; AEvent: PGDKEventButton; AData: gPointer): GBoolean; cdecl;
|
||||
function gtkLVUnSelectRow(AList: PGTKCList; ARow, AColumn: Integer; AEvent: PGDKEventButton; AData: gPointer): GBoolean; cdecl;
|
||||
function gtkLVToggleFocusRow(AList: PGTKCList; AData: gPointer): GBoolean; cdecl;
|
||||
function gtkLVSelectAll(AList: PGTKCList; AData: gPointer): GBoolean; cdecl;
|
||||
function gtkLVUnSelectAll(AList: PGTKCList; AData: gPointer): GBoolean; cdecl;
|
||||
function gtkLVEndSelection(AList: PGTKCList; AData: gPointer): GBoolean; cdecl;
|
||||
|
||||
(* gtkComboBoxCallback.inc headers *)
|
||||
|
||||
function gtkComboBoxShowCB(widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
||||
function gtkComboBoxHideCB(widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
||||
|
||||
(* moved from TGTKObject.CreateComponent *)
|
||||
procedure Set_RC_Name(Sender : TObject; AWidget: PGtkWidget);
|
||||
|
||||
(* GTKProc.inc headers *)
|
||||
procedure RaiseException(const Msg: string);
|
||||
function CreatePChar(const s: string): PChar;
|
||||
function ComparePChar(P1, P2: PChar): boolean;
|
||||
function FindChar(c: char; p:PChar; Max: integer): integer;
|
||||
function GtkWidgetIsA(Widget: PGtkWidget; AType: TGtkType): boolean;
|
||||
function WidgetIsDestroyingHandle(Widget: PGtkWidget): boolean;
|
||||
procedure SetWidgetIsDestroyingHandle(Widget: PGtkWidget);
|
||||
function ComponentIsDestroyingHandle(AWinControl: TWinControl): boolean;
|
||||
function LockOnChange(GtkObject: PGtkObject; LockOffset: integer): integer;
|
||||
procedure SetComboBoxText(ComboWidget: PGtkCombo; NewText: PChar);
|
||||
function GetComboBoxItemIndex(ComboBox: TComboBox): integer;
|
||||
procedure SetComboBoxItemIndex(ComboBox: TComboBox; Index: integer);
|
||||
function GtkPaintMessageToPaintMessage(GtkPaintMsg: TLMGtkPaint): TLMPaint;
|
||||
function NewGDIRawImage(const AWidth, AHeight: Integer; const ADepth: Byte): PGDIRawImage;
|
||||
function AllocGDKColor(const AColor: LongInt): TGDKColor;
|
||||
function CopyDCData(DestinationDC, SourceDC: TDeviceContext): Boolean;
|
||||
Function RegionType(RGN : PGDKRegion) : Longint;
|
||||
Procedure SelectGDIRegion(const DC: HDC);
|
||||
Procedure FreeGDIColor(var GDIColor : TGDIColor);
|
||||
Procedure AllocGDIColor(DC : hDC; var GDIColor : TGDIColor);
|
||||
procedure SetGDIColorRef(var GDIColor : TGDIColor; NewColorRef: TColorRef);
|
||||
Procedure EnsureGCColor(DC: hDC; ColorType: TDevContextsColorType;
|
||||
IsSolidBrush: Boolean; AsBackground: Boolean);
|
||||
|
||||
function GetIndexAsKey(p: pointer): pointer;
|
||||
function GetRGBAsKey(p: pointer): pointer;
|
||||
|
||||
function PaletteIndexExists(Pal : PGDIObject; I : longint): Boolean;
|
||||
function PaletteRGBExists(Pal : PGDIObject; RGB : longint): Boolean;
|
||||
function PaletteAddIndex(Pal : PGDIObject; I, RGB : Longint): Boolean;
|
||||
function PaletteDeleteIndex(Pal : PGDIObject; I : Longint): Boolean;
|
||||
function PaletteIndexToRGB(Pal : PGDIObject; I : longint): longint;
|
||||
function PaletteRGBToIndex(Pal : PGDIObject; RGB : longint): longint;
|
||||
Procedure InitializePalette(Pal : PGDIObject; Entries : PPALETTEENTRY; RGBCount : Longint);
|
||||
|
||||
function GTKEventState2ShiftState(KeyState: Word): TShiftState;
|
||||
function KeyToListCode(KeyCode, VirtKeyCode: Word; Extended: boolean): integer;
|
||||
procedure GetGTKKeyInfo(const Event: PGDKEventKey; var KeyCode,VirtualKey: Word;
|
||||
var SysKey, Extended, Toggle: Boolean);
|
||||
procedure Uncapturehandle;
|
||||
procedure StoreCommonDialogSetup(ADialog: TCommonDialog);
|
||||
procedure DestroyCommonDialogAddOns(ADialog: TCommonDialog);
|
||||
function ObjectToGTKObject(const AObject: TObject): gtk_object;
|
||||
function GetMainWidget(const Widget: Pointer): Pointer;
|
||||
procedure SetMainWidget(const ParentWidget, ChildWidget: Pointer);
|
||||
function GetFixedWidget(const Widget: Pointer): Pointer;
|
||||
procedure SetFixedWidget(const ParentWidget, FixedWidget: Pointer);
|
||||
Procedure FixedMoveControl(Parent, Child : PGTKWIdget; Left, Top : Longint);
|
||||
Procedure FixedPutControl(Parent, Child : PGTKWIdget; Left, Top : Longint);
|
||||
Function GetControlWindow(Control: Pointer) : PGDKWindow;
|
||||
function GetDCOffset(DC: TDeviceContext): TPoint;
|
||||
function CreateWidgetInfo(const Widget: Pointer): PWinWidgetInfo;
|
||||
function GetWidgetInfo(const Widget: Pointer; const Create: Boolean): PWinWidgetInfo;
|
||||
procedure FreeWinWidgetInfo(Widget: Pointer);
|
||||
procedure DestroyWidget(Widget: PGtkWidget);
|
||||
function GetGtkNoteBookDummyPage(ANoteBookWidget: PGtkNoteBook): PGtkWidget;
|
||||
procedure SetGtkNoteBookDummyPage(ANoteBookWidget: PGtkNoteBook;
|
||||
DummyWidget: PGtkWidget);
|
||||
procedure UpdateNoteBookClientWidget(ANoteBook: TObject);
|
||||
procedure SetLCLObject(const Widget: Pointer; const AnObject: TObject);
|
||||
function GetLCLObject(const Widget: Pointer): TObject;
|
||||
procedure SetHiddenLCLObject(const Widget: Pointer; const AnObject: TObject);
|
||||
function GetHiddenLCLObject(const Widget: Pointer): TObject;
|
||||
function GetWidgetOrigin(TheWidget: PGtkWidget): TPoint;
|
||||
function GetWidgetClientOrigin(TheWidget: PGtkWidget): TPoint;
|
||||
function TranslateGdkPointToClientArea(SourceWindow: PGdkWindow;
|
||||
SourcePos: TPoint; DestinationWidget: PGtkWidget): TPoint;
|
||||
procedure UpdateMouseCaptureControl;
|
||||
procedure CheckMouseCaptureHandle(CurrentInputWidget: PGtkWidget);
|
||||
procedure SetCursor(AWinControl : TWinControl; Data: Pointer);
|
||||
|
||||
type
|
||||
TConnectSignalFlag = (
|
||||
csfAfter, // connect after signal
|
||||
csfConnectRealize, // auto connect realize handler
|
||||
csfUpdateSignalMask, // extend signal mask for gdkwindow
|
||||
csfDesignOnly // mark signal as design only
|
||||
);
|
||||
TConnectSignalFlags = set of TConnectSignalFlag;
|
||||
|
||||
TDesignSignalType = (
|
||||
dstUnknown,
|
||||
dstMousePress,
|
||||
dstMouseMotion,
|
||||
dstMouseRelease,
|
||||
dstDrawAfter,
|
||||
dstExposeAfter
|
||||
);
|
||||
TDesignSignalTypes = set of TDesignSignalType;
|
||||
|
||||
TDesignSignalMask = longint;
|
||||
|
||||
const
|
||||
DesignSignalNames: array[TDesignSignalType] of PChar = (
|
||||
'',
|
||||
'button-press-event',
|
||||
'motion-notify-event',
|
||||
'button-release-event',
|
||||
'draw',
|
||||
'expose-event'
|
||||
);
|
||||
|
||||
DesignSignalAfter: array[TDesignSignalType] of boolean =
|
||||
(false,false,false,false,true,true);
|
||||
|
||||
DesignSignalFuncs: array[TDesignSignalType] of Pointer = (
|
||||
nil,
|
||||
@gtkMouseBtnPress,
|
||||
@gtkMotionNotify,
|
||||
@gtkMouseBtnRelease,
|
||||
@gtkDrawAfter,
|
||||
@gtkExposeEventAfter
|
||||
);
|
||||
|
||||
var
|
||||
DesignSignalMasks: array[TDesignSignalType] of TDesignSignalMask;
|
||||
|
||||
procedure InitDesignSignalMasks;
|
||||
function DesignSignalNameToType(Name: PChar; After: boolean): TDesignSignalType;
|
||||
function GetDesignSignalMask(Widget: PGtkWidget): TDesignSignalMask;
|
||||
procedure SetDesignSignalMask(Widget: PGtkWidget; NewMask: TDesignSignalMask);
|
||||
function GetDesignOnlySignalFlag(Widget: PGtkWidget;
|
||||
DesignSignalType: TDesignSignalType): boolean;
|
||||
procedure ConnectSignal(const AnObject:gtk_Object; const ASignal: PChar;
|
||||
const ACallBackProc: Pointer; LCLComponent: TComponent;
|
||||
const ReqSignalMask: TGdkEventMask; SFlags: TConnectSignalFlags);
|
||||
procedure ConnectSignal(const AnObject:gtk_Object; const ASignal: PChar;
|
||||
const ACallBackProc: Pointer; LCLComponent: TComponent;
|
||||
const ReqSignalMask: TGdkEventMask);
|
||||
procedure ConnectSignalAfter(const AnObject:gtk_Object; const ASignal: PChar;
|
||||
const ACallBackProc: Pointer; LCLComponent: TComponent;
|
||||
const ReqSignalMask: TGdkEventMask);
|
||||
procedure ConnectSignal(const AnObject:gtk_Object; const ASignal: PChar;
|
||||
const ACallBackProc: Pointer; LCLComponent: TComponent);
|
||||
procedure ConnectSignalAfter(const AnObject:gtk_Object; const ASignal: PChar;
|
||||
const ACallBackProc: Pointer; LCLComponent: TComponent);
|
||||
procedure ConnectInternalWidgetsSignals(AWidget: PGtkWidget;
|
||||
AWinControl: TWinControl);
|
||||
procedure SetAccelGroup(const Widget: Pointer; const AnAccelGroup: Pointer);
|
||||
function GetAccelGroup(const Widget: Pointer): Pointer;
|
||||
procedure SetAccelKey(const Widget: Pointer; const AKey: Integer);
|
||||
function GetAccelKey(const Widget: Pointer): Integer;
|
||||
procedure Accelerate(const Widget : Pointer; const Msg : TLMShortCut;
|
||||
const Signal : string);
|
||||
procedure GetGdkPixmapFromGraphic(LCLGraphic: TGraphic;
|
||||
var IconImg, IconMask: PGdkPixmap; var Width, Height: integer);
|
||||
procedure GetGdkPixmapFromMenuItem(LCLMenuItem: TMenuItem;
|
||||
var IconImg, IconMask: PGdkPixmap; var Width, Height: integer);
|
||||
function MENU_ITEM_CLASS(widget: PGtkWidget): PGtkMenuItemClass;
|
||||
function CHECK_MENU_ITEM_CLASS(widget: PGtkWidget): PGtkCheckMenuItemClass;
|
||||
function GetRadioMenuItemGroup(LCLMenuItem: TMenuItem): PGSList;
|
||||
function GetRadioMenuItemGroup(MenuItem: PGtkRadioMenuItem): PGSList;
|
||||
procedure UpdateRadioGroupChecks(RadioGroup: PGSList);
|
||||
procedure DrawMenuItemIcon(MenuItem: PGtkCheckMenuItem;
|
||||
Area: PGdkRectangle); cdecl;
|
||||
procedure MenuSizeRequest(widget:PGtkWidget; requisition:PGtkRequisition); cdecl;
|
||||
procedure SetMenuItemLabelText(LCLMenuItem: TMenuItem;
|
||||
MenuItemWidget: PGtkWidget);
|
||||
procedure CreateInnerMenuItem(LCLMenuItem: TMenuItem;
|
||||
MenuItemWidget: PGtkWidget);
|
||||
function CreateMenuItem(LCLMenuItem: TMenuItem): Pointer;
|
||||
procedure SaveSizeNotification(Widget: PGtkWidget);
|
||||
procedure SaveClientSizeNotification(FixWidget: PGtkWidget);
|
||||
function CreateTopologicalSortedWidgets(HashArray: TDynHashArray): TList;
|
||||
Procedure ReportNotObsolete(const Texts : String);
|
||||
function TGDKColorToTColor(value : TGDKColor) : TColor;
|
||||
function TColortoTGDKColor(value : TColor) : TGDKColor;
|
||||
procedure UpdateSysColorMap(Widget: PGtkWidget);
|
||||
function WaitForClipbrdAnswerDummyTimer(Client: Pointer): gint; cdecl;
|
||||
function WaitForClipboardAnswer(c: PClipboardEventData): boolean;
|
||||
function RequestSelectionData(ClipboardWidget: PGtkWidget;
|
||||
ClipboardType: TClipboardType; FormatID: cardinal): TGtkSelectionData;
|
||||
procedure FreeClipboardTargetEntries(ClipboardType: TClipboardType);
|
||||
|
||||
function IndexOfStyle(const WName : String): integer;
|
||||
Procedure ReleaseStyle(const WName : String);
|
||||
function GetStyle(const WName : String) : PGTKStyle;
|
||||
Function GetStyleWidget(WName : String) : PGTKWidget;
|
||||
function GetDefaultFont : PGDKFont;
|
||||
Function GetSysGCValues(Color : TColorRef) : TGDKGCValues;
|
||||
|
||||
Function DeleteAmpersands(var Str : String) : Longint;
|
||||
|
||||
function Ampersands2Underscore(Src: PChar) : PChar;
|
||||
|
||||
Function GDKPixel2GDIRGB(Pixel : Longint; Visual : PGDKVisual;
|
||||
Colormap : PGDKColormap) : TGDIRGB;
|
||||
|
||||
Function GetWindowDecorations(AForm : TCustomForm) : Longint;
|
||||
Function GetWindowFunction(AForm : TCustomForm) : Longint;
|
||||
|
||||
implementation
|
||||
|
||||
procedure Set_RC_Name(Sender : TObject; AWidget: PGtkWidget);
|
||||
var RCName: string;
|
||||
AComponent: TComponent;
|
||||
begin
|
||||
if (AWidget=nil) or (not (Sender is TComponent)) then exit;
|
||||
|
||||
// check if a unique name can be created
|
||||
AComponent:=TComponent(Sender);
|
||||
while (AComponent<>nil) and (AComponent.Name<>'') do begin
|
||||
AComponent:=AComponent.Owner;
|
||||
end;
|
||||
if (AComponent=nil) or (AComponent=TComponent(Application)) then begin
|
||||
// create unique name
|
||||
AComponent:=TComponent(Sender);
|
||||
RCName:=AComponent.Name;
|
||||
while (AComponent<>nil) do begin
|
||||
AComponent:=TComponent(AComponent.Owner);
|
||||
if (AComponent<>nil) and (AComponent.Name<>'') then
|
||||
RCName:=AComponent.Name+'_'+RCName;
|
||||
end;
|
||||
gtk_widget_set_name(AWidget,PChar(RCName));
|
||||
gtk_widget_set_rc_style(AWidget);
|
||||
end;
|
||||
if (Sender is TCustomForm)
|
||||
and ((Application.MainForm=TCustomForm(Sender))
|
||||
or (Application.MainForm=nil))
|
||||
then
|
||||
UpdateSysColorMap(AWidget);
|
||||
end;
|
||||
|
||||
{$I gtkproc.inc}
|
||||
{$I gtkcallback.inc}
|
||||
|
||||
end.
|
||||
|
Loading…
Reference in New Issue
Block a user