MG: broke LCL<->interface circles

git-svn-id: trunk@3205 -
This commit is contained in:
lazarus 2002-08-19 15:15:17 +00:00
parent ebbda8c55b
commit b3fe77eb27
8 changed files with 1194 additions and 91 deletions

2
.gitattributes vendored
View File

@ -544,6 +544,7 @@ lcl/filectrl.pp svneol=native#text/pascal
lcl/forms.pp svneol=native#text/pascal lcl/forms.pp svneol=native#text/pascal
lcl/graphics.pp svneol=native#text/pascal lcl/graphics.pp svneol=native#text/pascal
lcl/graphicsmath.pp svneol=native#text/pascal lcl/graphicsmath.pp svneol=native#text/pascal
lcl/graphmath.pp svneol=native#text/pascal
lcl/graphtype.pp svneol=native#text/pascal lcl/graphtype.pp svneol=native#text/pascal
lcl/imglist.pp svneol=native#text/pascal lcl/imglist.pp svneol=native#text/pascal
lcl/include/action.inc svneol=native#text/pascal lcl/include/action.inc svneol=native#text/pascal
@ -659,7 +660,6 @@ lcl/include/winapi.inc svneol=native#text/pascal
lcl/include/winapih.inc svneol=native#text/pascal lcl/include/winapih.inc svneol=native#text/pascal
lcl/include/wincontrol.inc svneol=native#text/pascal lcl/include/wincontrol.inc svneol=native#text/pascal
lcl/interfacebase.pp svneol=native#text/pascal lcl/interfacebase.pp svneol=native#text/pascal
lcl/interfaces/abstract/interfaces.pp svneol=native#text/pascal
lcl/interfaces/gnome/gnomeint.pp svneol=native#text/pascal lcl/interfaces/gnome/gnomeint.pp svneol=native#text/pascal
lcl/interfaces/gnome/gnomewinapi.inc svneol=native#text/pascal lcl/interfaces/gnome/gnomewinapi.inc svneol=native#text/pascal
lcl/interfaces/gnome/gnomewinapih.inc svneol=native#text/pascal lcl/interfaces/gnome/gnomewinapih.inc svneol=native#text/pascal

View File

@ -25,15 +25,14 @@ unit AllUnits;
interface interface
uses uses
InterfaceBase, Interfaces, LCLStrConsts, Lazqueue, InterfaceBase, LCLStrConsts, Lazqueue, GraphMath,
StringHashList, DynHashArray, LCLMemManager, ExtendedStrings, StringHashList, DynHashArray, LCLMemManager, ExtendedStrings,
Buttons, Extctrls, Registry, VCLGlobals, Buttons, Extctrls, Registry, VCLGlobals,
Calendar, Clipbrd, FileCtrl, Forms, Calendar, Clipbrd, FileCtrl, Forms,
LCLLinux, Spin, Comctrls, Graphics, LCLLinux, Spin, Comctrls, Graphics,
LMessages, Stdctrls, Arrow, Controls, LMessages, StdCtrls, Arrow, Controls,
Imglist, Menus, Toolwin, Dialogs, Imglist, Menus, Toolwin, Dialogs,
Messages, UTrace, Clistbox, ActnList, Messages, UTrace, Clistbox, ActnList;
GraphicsMath;
implementation implementation
@ -42,6 +41,9 @@ end.
{ ============================================================================= { =============================================================================
$Log$ $Log$
Revision 1.17 2002/10/26 15:15:44 lazarus
MG: broke LCL<->interface circles
Revision 1.16 2002/10/04 14:24:14 lazarus Revision 1.16 2002/10/04 14:24:14 lazarus
MG: added DrawItem to TComboBox/TListBox MG: added DrawItem to TComboBox/TListBox

1172
lcl/graphmath.pp Normal file

File diff suppressed because it is too large Load Diff

View File

@ -45,12 +45,15 @@ begin
FPopupPoint := Point(X, Y); FPopupPoint := Point(X, Y);
DoPopup(Self); DoPopup(Self);
HandleNeeded; HandleNeeded;
InterfaceObject.IntSendMessage3(LM_POPUPSHOW, Self, @FPopupPoint); SendMsgToInterface(LM_POPUPSHOW, Self, @FPopupPoint);
end; end;
{ {
$Log$ $Log$
Revision 1.6 2002/10/26 15:15:48 lazarus
MG: broke LCL<->interface circles
Revision 1.5 2002/08/17 07:57:05 lazarus Revision 1.5 2002/08/17 07:57:05 lazarus
MG: added TPopupMenu.OnPopup and SourceEditor PopupMenu checks MG: added TPopupMenu.OnPopup and SourceEditor PopupMenu checks

View File

@ -4,7 +4,7 @@ It is organized according to the following structure:
interfaces interfaces
| |
+--- abstract +--- gnome
| |
+--- gtk +--- gtk
| |
@ -15,11 +15,11 @@ interfaces
+--- ... +--- ...
| |
interfaces/abstract interfaces/gnome:
Abstract definition for initial LCL compilation All gnome 1.x specific code goes here.
interfaces/gtk: interfaces/gtk:
All gtk specific code goes here. All gtk 1.x specific code goes here.
interfaces/qt: interfaces/qt:
All QT specific code goes here. All QT specific code goes here.

View File

@ -1,51 +0,0 @@
{ $Id$ }
{
----------------------------------------------
Interfaces.pp - determines the placeholder
interface to compile the LCL
----------------------------------------------
@created(Tue Mar 27st WET 2001)
@lastmod($Date$)
@author(Marc Weustink <marc@@lazarus.dommelstein.net>)
This unit contains the definition for the LCL interface
*****************************************************************************
* *
* This file is part of the Lazarus Component Library (LCL) *
* *
* See the file COPYING.LCL, included in this distribution, *
* for details about the copyright. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* *
*****************************************************************************
}
unit Interfaces;
{$mode objfpc} {$H+}
interface
uses
InterfaceBase;
var
InterfaceObject : TInterfaceBase;
implementation
initialization
InterfaceObject := TInterfaceBase.Create;
finalization
InterfaceObject.Free;
end.

View File

@ -30,29 +30,15 @@ interface
uses uses
InterfaceBase; InterfaceBase;
var
InterfaceObject : TInterfaceBase;
implementation implementation
uses uses
GTKInt, Clipbrd, SysUtils, GTKInt, Forms;
Forms; // MG: GTKInt uses forms, so the application object is destroyed
// in the forms finalization section AFTER this finalization
// section. But the lcl objects need the gtk to close cleanly.
// Therefore the application object is freed here before the
// InterfaceObject.
// Probably this is the case for all interfaces, so this should be
// moved to forms.pp.
initialization initialization
InterfaceObject := TgtkObject.Create; InterfaceObject:= TgtkObject.Create;
finalization finalization
Application.Free; FreeInterfaceObject;
Application:=nil;
FreeAllClipBoards;
InterfaceObject.Free;
InterfaceObject:=nil;
end. end.

View File

@ -32,24 +32,15 @@ Interface
Uses Uses
InterfaceBase; InterfaceBase;
Var
InterfaceObject: TInterfaceBase;
Implementation Implementation
Uses uses
Win32Int, Forms; Win32Int, Forms;
Initialization Initialization
InterfaceObject := TWin32Object.Create;
InterfaceObject := TWin32Object.Create;
Finalization Finalization
FreeInterfaceObject;
Application.Free;
Application := Nil;
InterfaceObject.Free;
InterfaceObject := Nil;
End. End.