|
From: Peter T. <pe...@us...> - 2003-08-23 23:34:24
|
Update of /cvsroot/jvcl/dev/JVCL3/examples/JvPlugin/2MDI
In directory sc8-pr-cvs1:/tmp/cvs-serv4702/JVCL3/examples/JvPlugin/2MDI
Added Files:
MDIPlugin.dof MDIPlugin.dpr MDIPluginFormU.dfm
MDIPluginFormU.pas MDIPluginU.dfm MDIPluginU.pas MDISample.dof
MDISample.dpr MDISample.res MDISampleGroup.bpg MDISampleU.dfm
MDISampleU.pas
Log Message:
- Copied jvcl/devtools and jvcl/examples dev/JVCL3
- Copied JVCLConvert *.dat files to dev/JVCL3/converter
--- NEW FILE: MDIPlugin.dof ---
[Directories]
OutputDir=..\..\..\Bin
UnitOutputDir=..\..\..\Dcu
SearchPath=..\..\..\Source;..\..\..\Common
--- NEW FILE: MDIPlugin.dpr ---
library MDIPlugin;
uses
ShareMem,
MDIPluginU in 'MDIPluginU.pas' {uilMDIPluginSample: TJvPlugin},
MDIPluginFormU in 'MDIPluginFormU.pas' {frmMDIChild};
exports
RegisterPlugin;
begin
end.
--- NEW FILE: MDIPluginFormU.dfm ---
object frmMDIChild: TfrmMDIChild
Left = 400
Top = 189
Width = 486
Height = 331
Caption = 'MDI Child Window'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
FormStyle = fsMDIChild
OldCreateOrder = False
Position = poDefault
Visible = True
OnClose = FormClose
PixelsPerInch = 96
TextHeight = 13
object RichEdit1: TRichEdit
Left = 0
Top = 0
Width = 478
Height = 304
Align = alClient
TabOrder = 0
end
end
--- NEW FILE: MDIPluginFormU.pas ---
unit MDIPluginFormU;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls;
type
TfrmMDIChild = class(TForm)
RichEdit1: TRichEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
{$R *.DFM}
procedure TfrmMDIChild.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
end.
--- NEW FILE: MDIPluginU.dfm ---
object uilMDIPluginSample: TuilMDIPluginSample
OldCreateOrder = False
OnDestroy = uilMDIPluginSampleDestroy
Author = 'Tim Sullivan, UIL'
Commands = <
item
Bitmap.Data = {
4E010000424D4E01000000000000760000002800000012000000120000000100
040000000000D800000000000000000000001000000000000000000000000000
80000080000000808000800000008000800080800000C0C0C000808080000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00777777777777
7777770000007F00000000000000070000007F77777777777777070000007F71
111777711117070000007F71117777771117070000007F711117777111170700
00007F71718777781717070000007F77777777777777070000007F7777777777
7777070000007F71718777781717070000007F71111777711117070000007F71
117777771117070000007F71111777711117070000007F777777777777770700
00007F44444444444444070000007F4444444444F7F7070000007FFFFFFFFFFF
FFFFF7000000777777777777777777000000}
Caption = 'Maximize MDI Child'
Hint = 'Maximize MDI Child'
Name = 'Maximize MDI Child'
OnExecute = uilMDIPluginSampleCommands0Execute
end>
Description = 'Sample MDI Child Plugin'
Copyright = '(c) 1999, Unlimited Intelligence Limited'
PluginID = 'UIL.Sample MDI Child'
OnInitialize = uilMDIPluginSampleInitialize
Left = 229
Top = 152
Height = 150
Width = 215
end
--- NEW FILE: MDIPluginU.pas ---
unit MDIPluginU;
interface
uses
Windows,
Messages,
SysUtils,
Classes,
Dialogs,
Forms,
JvPlugin,
MDIPluginFormU;
type
TuilMDIPluginSample = class( TJvPlugin )
procedure uilMDIPluginSampleInitialize(Sender: TObject;
var AllowLoad: Boolean);
procedure uilMDIPluginSampleDestroy(Sender: TObject);
procedure uilMDIPluginSampleCommands0Execute(Sender: TObject);
private
FMDIChild : TfrmMDIChild;
protected
OldApplication : TApplication;
public
{ Public declarations }
end;
var
uilMDIPluginSample: TJvPlugin;
// IMPORTANT: This function should return the same
// type as above. For instance, the default is TuilPlugin1, so
// the declaration below would read:
// function RegisterPlugin : TuilPlugin1; stdcall;
// Hopefully I'll figure out a better way before release!
function RegisterPlugin : TuilMDIPluginSample; stdcall;
implementation
{$R *.DFM}
function RegisterPlugin : TuilMDIPluginSample;
begin
Result := TuilMDIPluginSample.Create(nil);
end;
procedure TuilMDIPluginSample.uilMDIPluginSampleInitialize(Sender: TObject;
var AllowLoad: Boolean);
begin
OldApplication := Application;
Application := HostApplication;
FMDIChild := TfrmMDIChild.Create(nil);
end;
procedure TuilMDIPluginSample.uilMDIPluginSampleDestroy(Sender: TObject);
begin
Application := OldApplication;
end;
procedure TuilMDIPluginSample.uilMDIPluginSampleCommands0Execute(Sender: TObject);
begin
FMDIChild.WindowState := wsMaximized;
end;
end.
--- NEW FILE: MDISample.dof ---
[Directories]
OutputDir=..\..\..\Bin
UnitOutputDir=..\..\..\Dcu
SearchPath=..\..\..\Source;..\..\..\Common
--- NEW FILE: MDISample.dpr ---
program MDISample;
uses
ShareMem,
Forms,
MDISampleU in 'MDISampleU.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
--- NEW FILE: MDISample.res ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: MDISampleGroup.bpg ---
#------------------------------------------------------------------------------
VERSION = BWS.01
#------------------------------------------------------------------------------
!ifndef ROOT
ROOT = $(MAKEDIR)\..
!endif
#------------------------------------------------------------------------------
MAKE = $(ROOT)\bin\make.exe -$(MAKEFLAGS) -f$**
DCC = $(ROOT)\bin\dcc32.exe $**
BRCC = $(ROOT)\bin\brcc32.exe $**
#------------------------------------------------------------------------------
PROJECTS = MDIPlugin.dll MDISample.exe
#------------------------------------------------------------------------------
default: $(PROJECTS)
#------------------------------------------------------------------------------
MDISample.exe: MDISample.dpr
$(DCC)
MDIPlugin.dll: MDIPlugin.dpr
$(DCC)
--- NEW FILE: MDISampleU.dfm ---
object Form1: TForm1
Left = 237
Top = 149
Width = 522
Height = 388
Caption = 'MDI Sample Program'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
FormStyle = fsMDIForm
Menu = MainMenu1
OldCreateOrder = False
WindowMenu = Window1
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object panToolbar: TPanel
Left = 0
Top = 0
Width = 514
Height = 29
Align = alTop
ParentShowHint = False
ShowHint = True
TabOrder = 0
end
object StatusBar1: TStatusBar
Left = 0
Top = 323
Width = 514
Height = 19
Panels = <>
SimplePanel = True
end
object MainMenu1: TMainMenu
Left = 20
Top = 40
object File1: TMenuItem
Caption = '&File'
object Exit1: TMenuItem
Caption = 'E&xit'
OnClick = Exit1Click
end
end
object Commands1: TMenuItem
Caption = 'Commands'
end
object Window1: TMenuItem
Caption = '&Window'
end
end
object uilPluginManager1: TJvPluginManager
Extension = 'dll'
PluginKind = plgDLL
OnNewCommand = uilPluginManager1NewCommand
Left = 52
Top = 40
end
end
--- NEW FILE: MDISampleU.pas ---
unit MDISampleU;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, Menus, ComCtrls, Buttons, JvPluginMan, JvComponent;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
File1: TMenuItem;
Window1: TMenuItem;
Exit1: TMenuItem;
panToolbar: TPanel;
uilPluginManager1: TJvPluginManager;
StatusBar1: TStatusBar;
Commands1: TMenuItem;
procedure Exit1Click(Sender: TObject);
procedure uilPluginManager1AfterLoading(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure uilPluginManager1NewCommand(Sender: TObject; ACaption, AHint,
AData: String; ABitmap: TBitmap; AEvent: TNotifyEvent);
private
{ Private declarations }
NumButtons : integer;
public
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Exit1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.uilPluginManager1AfterLoading(Sender: TObject);
begin
Statusbar1.SimpleText := 'Plugins Loaded: ' + IntToStr(uilPluginManager1.PluginCount);
end;
procedure TForm1.FormShow(Sender: TObject);
begin
uilPluginManager1.LoadPlugins;
end;
procedure TForm1.uilPluginManager1NewCommand(Sender: TObject; ACaption,
AHint, AData: String; ABitmap: TBitmap; AEvent: TNotifyEvent);
var
Item : TMenuItem;
begin
Item := NewItem(ACaption, scNone, False, True, AEvent, 0, '');
MainMenu1.Items[1].Add(Item);
with TSpeedButton.Create(panToolbar) do
begin
Top := 4;
Left := 4+(NumButtons * Width);
Parent := panToolbar;
Hint := AHint;
if ABitmap <> nil then
Glyph.Handle := ABitmap.Handle;
try
NumGlyphs := Glyph.Width div Glyph.Height;
except
end;
OnClick := AEvent;
end; // with
Inc(NumButtons);
end;
end.
|