mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-05 13:56:00 +02:00
MG: further clientrect bugfixes
git-svn-id: trunk@864 -
This commit is contained in:
parent
533f898524
commit
6578a2dd47
@ -18,7 +18,7 @@
|
|||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
}
|
}
|
||||||
|
|
||||||
unit gtkint;
|
unit GtkInt;
|
||||||
|
|
||||||
{$mode objfpc}
|
{$mode objfpc}
|
||||||
{$LONGSTRINGS ON}
|
{$LONGSTRINGS ON}
|
||||||
@ -38,8 +38,8 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
InterfaceBase, gtk, gdk, glib, SysUtils, LMessages, Classes, Controls,
|
InterfaceBase, gtk, gdk, glib, SysUtils, LMessages, Classes, Controls,
|
||||||
ExtCtrls,Forms,Dialogs, VclGlobals, StdCtrls, ComCtrls, LCLLinux, LCLType,
|
Forms, VclGlobals, LCLLinux, LCLType, gtkDef, DynHashArray, LazQueue,
|
||||||
gtkDef, DynHashArray, LazQueue, Calendar, Arrow, GraphType,Spin, CommCtrl;
|
GraphType;
|
||||||
|
|
||||||
type
|
type
|
||||||
TgtkObject = class(TInterfaceBase)
|
TgtkObject = class(TInterfaceBase)
|
||||||
@ -49,6 +49,9 @@ type
|
|||||||
FGDIObjects: TDynHashArray; // hasharray of PGdiObject
|
FGDIObjects: TDynHashArray; // hasharray of PGdiObject
|
||||||
FMessageQueue: TLazQueue; // queue of PMsg
|
FMessageQueue: TLazQueue; // queue of PMsg
|
||||||
FPaintMessages: TDynHashArray; // hasharray of PLazQueueItem
|
FPaintMessages: TDynHashArray; // hasharray of PLazQueueItem
|
||||||
|
{$IFDEF ClientRectBugFix}
|
||||||
|
FWidgetsWithResizeRequest: TDynHashArray; // hasharray of PGtkWidget
|
||||||
|
{$ENDIF}
|
||||||
FGTKToolTips: PGtkToolTips;
|
FGTKToolTips: PGtkToolTips;
|
||||||
FAccelGroup: PgtkAccelGroup;
|
FAccelGroup: PgtkAccelGroup;
|
||||||
FTimerData : TList; // keeps track of timer event structures
|
FTimerData : TList; // keeps track of timer event structures
|
||||||
@ -60,8 +63,10 @@ type
|
|||||||
FStockGrayBrush: HBRUSH;
|
FStockGrayBrush: HBRUSH;
|
||||||
FStockDkGrayBrush: HBRUSH;
|
FStockDkGrayBrush: HBRUSH;
|
||||||
FStockWhiteBrush: HBRUSH;
|
FStockWhiteBrush: HBRUSH;
|
||||||
|
|
||||||
Procedure HookSignals(Sender : TObject); //hooks all signals for controls
|
Procedure HookSignals(Sender : TObject); //hooks all signals for controls
|
||||||
procedure CreateComponent(Sender : TObject);
|
procedure CreateComponent(Sender : TObject);
|
||||||
|
procedure DestroyLCLControl(Sender : TObject);
|
||||||
procedure AddChild(Parent,Child : Pointer; Left,Top: Integer);
|
procedure AddChild(Parent,Child : Pointer; Left,Top: Integer);
|
||||||
procedure ResizeChild(Sender : TObject; Left,Top,Width,Height : Integer);
|
procedure ResizeChild(Sender : TObject; Left,Top,Width,Height : Integer);
|
||||||
function GetLabel(CompStyle: Integer; P : Pointer) : String;
|
function GetLabel(CompStyle: Integer; P : Pointer) : String;
|
||||||
@ -95,6 +100,14 @@ type
|
|||||||
|
|
||||||
function HashPaintMessage(p: pointer): integer;
|
function HashPaintMessage(p: pointer): integer;
|
||||||
function FindPaintMessage(HandleWnd: HWnd): PLazQueueItem;
|
function FindPaintMessage(HandleWnd: HWnd): PLazQueueItem;
|
||||||
|
|
||||||
|
{$IFDEF ClientRectBugFix}
|
||||||
|
procedure SetResizeRequest(Widget: PGtkWidget);
|
||||||
|
procedure SaveSizeNotification(Widget: PGtkWidget);
|
||||||
|
procedure SaveClientSizeNotification(FixWidget: PGtkWidget);
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
procedure SendCachedLCLMessages;
|
||||||
procedure SetCallback(Msg : LongInt; Sender : TObject);
|
procedure SetCallback(Msg : LongInt; Sender : TObject);
|
||||||
procedure RemoveCallbacks(Sender : TObject);
|
procedure RemoveCallbacks(Sender : TObject);
|
||||||
protected
|
protected
|
||||||
@ -117,7 +130,10 @@ type
|
|||||||
function GetText(Sender: TControl; var Text: String): Boolean; override;
|
function GetText(Sender: TControl; var Text: String): Boolean; override;
|
||||||
procedure SetLabel(Sender : TObject; Data : Pointer);
|
procedure SetLabel(Sender : TObject; Data : Pointer);
|
||||||
function IntSendMessage3(LM_Message : Integer; Sender : TObject; data : pointer) : integer; override;
|
function IntSendMessage3(LM_Message : Integer; Sender : TObject; data : pointer) : integer; override;
|
||||||
procedure DoEvents; override;
|
{$IFDEF ClientRectBugFix}
|
||||||
|
{$ELSE}
|
||||||
|
procedure DoEvents; override; // use HandleEvents instead
|
||||||
|
{$ENDIF}
|
||||||
procedure HandleEvents; override;
|
procedure HandleEvents; override;
|
||||||
procedure WaitMessage; override;
|
procedure WaitMessage; override;
|
||||||
procedure AppTerminate; override;
|
procedure AppTerminate; override;
|
||||||
@ -133,7 +149,8 @@ type
|
|||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Graphics, Buttons, Menus, GTKWinApiWindow, CListBox, KeyMap;
|
Graphics, Buttons, Menus, GTKWinApiWindow, StdCtrls, ComCtrls, CListBox,
|
||||||
|
KeyMap, Calendar, Arrow, Spin, CommCtrl, ExtCtrls, Dialogs;
|
||||||
|
|
||||||
{$I gtklistsl.inc}
|
{$I gtklistsl.inc}
|
||||||
|
|
||||||
@ -160,7 +177,6 @@ var
|
|||||||
|
|
||||||
|
|
||||||
const
|
const
|
||||||
|
|
||||||
KEYMAP_VKUNKNOWN = $10000;
|
KEYMAP_VKUNKNOWN = $10000;
|
||||||
KEYMAP_TOGGLE = $20000;
|
KEYMAP_TOGGLE = $20000;
|
||||||
KEYMAP_EXTENDED = $40000;
|
KEYMAP_EXTENDED = $40000;
|
||||||
@ -258,8 +274,15 @@ var
|
|||||||
// lists of supported targets
|
// lists of supported targets
|
||||||
ClipboardTargetEntries: array[TClipboardType] of PGtkTargetEntry;
|
ClipboardTargetEntries: array[TClipboardType] of PGtkTargetEntry;
|
||||||
ClipboardTargetEntryCnt: array[TClipboardType] of integer;
|
ClipboardTargetEntryCnt: array[TClipboardType] of integer;
|
||||||
//ClipboardIgnoreLossCount: array[TClipboardType] of integer;
|
|
||||||
|
|
||||||
|
{$IFDEF ClientRectBugFix}
|
||||||
|
// each main widget that was resized by the gtk is stored here
|
||||||
|
// (hasharray of PGtkWidget)
|
||||||
|
FWidgetsResized: TDynHashArray;
|
||||||
|
// each fixed widget that was resized by the gtk is stored here
|
||||||
|
// (hasharray of PGtkWidget)
|
||||||
|
FFixWidgetsResized: TDynHashArray;
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
{$I dragicons.inc}
|
{$I dragicons.inc}
|
||||||
{$I gtkproc.inc}
|
{$I gtkproc.inc}
|
||||||
@ -334,6 +357,9 @@ end.
|
|||||||
{ =============================================================================
|
{ =============================================================================
|
||||||
|
|
||||||
$Log$
|
$Log$
|
||||||
|
Revision 1.37 2002/05/09 12:41:29 lazarus
|
||||||
|
MG: further clientrect bugfixes
|
||||||
|
|
||||||
Revision 1.36 2002/05/06 08:50:36 lazarus
|
Revision 1.36 2002/05/06 08:50:36 lazarus
|
||||||
MG: replaced logo, increased version to 0.8.3a and some clientrectbugfix
|
MG: replaced logo, increased version to 0.8.3a and some clientrectbugfix
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user