[Ocs-comps-commits] OCS2/Source OrckaPluginManager.pas,1.2,1.3
Brought to you by:
tectsoft
From: Si C. <tec...@us...> - 2005-12-01 09:35:47
|
Update of /cvsroot/ocs-comps/OCS2/Source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29993 Modified Files: OrckaPluginManager.pas Log Message: Merged different code bases Index: OrckaPluginManager.pas =================================================================== RCS file: /cvsroot/ocs-comps/OCS2/Source/OrckaPluginManager.pas,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** OrckaPluginManager.pas 21 Nov 2005 14:15:40 -0000 1.2 --- OrckaPluginManager.pas 1 Dec 2005 09:35:39 -0000 1.3 *************** *** 32,40 **** uses Classes, SysUtils, OrckaButton, IniFiles, Messages, - {$IFDEF DelphiVer8Up} - StdCtrls, Registry, - Windows, Forms, Menus, Graphics, buttons, comctrls, Controls, - extctrls, Dialogs, ActnList, - {$ENDIF} {$IFDEF MSWindows} {$IFNDEF DelphiVer3Up}ImageLst,{$ENDIF} StdCtrls, Registry, --- 32,35 ---- *************** *** 65,69 **** TPluginSettingsType = class of TPluginSettings; ! TToolBarStyle = (tbsControlBar {$IFNDEF TB2K}, tbsOwner {$ELSE}, tbsToolbar2000{$ENDIF}); TPluginSettingTypes = (psIniFile, psCustom --- 60,64 ---- TPluginSettingsType = class of TPluginSettings; ! TToolBarStyle = (tbsControlBar {$IFNDEF TB2K}, tbsOwner {$ELSE}, tbsToolbar2000{$ENDIF}); TPluginSettingTypes = (psIniFile, psCustom *************** *** 244,250 **** {$ENDIF} procedure FreeAllCDMenuItems; - procedure FreeAllButtons; procedure AddDefaultMenus; ! procedure RemovePlugin(ExitProc: Pointer); {$IFDEF DelphiVer8Up}unsafe;{$ENDIF} procedure SetToolBarStyle(const Value: TToolBarStyle); function GetPlugin(Index: Integer): string; --- 239,244 ---- {$ENDIF} procedure FreeAllCDMenuItems; procedure AddDefaultMenus; ! procedure RemovePlugin(ExitProc: Pointer); procedure SetToolBarStyle(const Value: TToolBarStyle); function GetPlugin(Index: Integer): string; *************** *** 259,265 **** function LoadVersion1Plugin(Proc: TLoadProc; Plugin: string; ! var ExitProcedure: Pointer): Boolean; {$IFDEF DelphiVer8Up}unsafe;{$ENDIF} function LoadVersion2Plugin(Proc: TLoadProc2; Plugin: string; ! var ExitProcedure: Pointer): Boolean; {$IFDEF DelphiVer8Up}unsafe;{$ENDIF} protected FPluginServices: TPluginServicesMain; --- 253,259 ---- function LoadVersion1Plugin(Proc: TLoadProc; Plugin: string; ! var ExitProcedure: Pointer): Boolean; function LoadVersion2Plugin(Proc: TLoadProc2; Plugin: string; ! var ExitProcedure: Pointer): Boolean; protected FPluginServices: TPluginServicesMain; *************** *** 284,288 **** {$ENDIF} function DoInvalidPlugin(Plugin: string): Boolean; virtual; ! function DoGetDatabaseHandle: Pointer; virtual; {$IFDEF DelphiVer8Up}unsafe;{$ENDIF} procedure DoTransaction(TransactionEvent: TTransactionEvent); virtual; procedure DoToolBarInsertRemove(ToolbarName: string; Operation: TOperation); --- 278,282 ---- {$ENDIF} function DoInvalidPlugin(Plugin: string): Boolean; virtual; ! function DoGetDatabaseHandle: Pointer; virtual; procedure DoTransaction(TransactionEvent: TTransactionEvent); virtual; procedure DoToolBarInsertRemove(ToolbarName: string; Operation: TOperation); *************** *** 570,574 **** constructor CreateNew(ToolService: TPluginServicesMain); function GetEnabled: Boolean; override; - function SetEnabled(IsEnabled: Boolean): Boolean; override; function GetGroupIndex: Integer; override; --- 564,567 ---- *************** *** 870,874 **** uses {$IFDEF Linux}Libc, {$ENDIF} {$IFDEF MSWindows}ShellAPI, {$ENDIF} ! SyncObjs, PluginToolbar; {$IFDEF Linux} --- 863,873 ---- uses {$IFDEF Linux}Libc, {$ENDIF} {$IFDEF MSWindows}ShellAPI, {$ENDIF} ! SyncObjs; ! ! type ! TPluginPanel = class(TPanel) ! private ! FCount: Longint; ! end; {$IFDEF Linux} *************** *** 1017,1021 **** if not FPluginManager.LoadPlugin(Plugin) then raise Exception.Create(sBlank); ! with lstPlugins.Items.Add do begin --- 1016,1020 ---- if not FPluginManager.LoadPlugin(Plugin) then raise Exception.Create(sBlank); ! with lstPlugins.Items.Add do begin *************** *** 1152,1156 **** UnLoadAllPlugins; FreeAllCDMenuItems; - FreeAllButtons; FPluginExitProcList.Free; FMenuList.Free; --- 1151,1154 ---- *************** *** 1188,1196 **** end; - procedure TOrckaCustomPluginManager.FreeAllButtons; - begin - - end; - procedure TOrckaCustomPluginManager.AddDefaultMenus; --- 1186,1189 ---- *************** *** 1263,1267 **** sTemp := Holder; FOnInsertButton(Self, Button, Holder); ! if Holder = sBlank then Holder := sTemp; end; --- 1256,1260 ---- sTemp := Holder; FOnInsertButton(Self, Button, Holder); ! if Holder = sBlank then Holder := sTemp; end; *************** *** 1395,1400 **** Pnl.Caption := HolderName; {$ELSE} ! Pnl := TPluginToolbar.Create(nil); ! TPluginToolbar(pnl).Count := 0; {$ENDIF} --- 1388,1393 ---- Pnl.Caption := HolderName; {$ELSE} ! Pnl := TPluginPanel.Create(nil); ! TPluginPanel(pnl).FCount := 0; {$ENDIF} *************** *** 1407,1414 **** Pnl.Height := 26; {$ELSE} ! TPluginToolbar(Pnl).Height := 1; ! TPluginToolbar(Pnl).Width := 1; {$IFDEF DelphiVER4Up} ! TPluginToolbar(Pnl).AutoSize := True; {$ENDIF} Pnl.Parent := FControlBar; --- 1400,1409 ---- Pnl.Height := 26; {$ELSE} ! TPluginPanel(Pnl).BevelInner := bvNone; ! TPluginPanel(Pnl).BevelOuter := bvNone; ! TPluginPanel(Pnl).Height := 1; ! TPluginPanel(Pnl).Width := 1; {$IFDEF DelphiVER4Up} ! TPluginPanel(Pnl).AutoSize := True; {$ENDIF} Pnl.Parent := FControlBar; *************** *** 1425,1440 **** Pnl.Items.Add(Button); {$ELSE} ! Pnl := TPluginToolbar(FToolBarHosts.Objects[Index]); ! TPluginToolbar(Pnl).Insert(Button); ! Button.Position := Position; Button.Width := FDefButtonSize; Button.Height := FDefButtonSize; {$ENDIF} end; procedure TOrckaCustomPluginManager.InternalRemoveButton(HolderName: string); var ! Pnl: TPluginToolbar; Index: Longint; begin --- 1420,1437 ---- Pnl.Items.Add(Button); {$ELSE} ! Pnl := TPluginPanel(FToolBarHosts.Objects[Index]); ! Button.Parent := TPluginPanel(Pnl); Button.Position := Position; Button.Width := FDefButtonSize; Button.Height := FDefButtonSize; + TPluginPanel(pnl).FCount := TPluginPanel(pnl).FCount + 1; {$ENDIF} + + pnl.Visible := True; end; procedure TOrckaCustomPluginManager.InternalRemoveButton(HolderName: string); var ! Pnl: TPluginPanel; Index: Longint; begin *************** *** 1442,1448 **** if Index > -1 then begin ! Pnl := TPluginToolbar(FToolBarHosts.Objects[Index]); ! Pnl.Count := Pnl.Count -1; ! if Pnl.Count = 0 then if ComponentState = [] then begin --- 1439,1445 ---- if Index > -1 then begin ! Pnl := TPluginPanel(FToolBarHosts.Objects[Index]); ! Pnl.FCount := Pnl.FCount -1; ! if Pnl.FCount = 0 then if ComponentState = [] then begin *************** *** 2283,2287 **** Result := MessageBox(hwnd, Text, PChar(Application.Title), MsgType); {$ENDIF} ! {$ENDIF} {$IFDEF Linux} ShowMessage(Text); --- 2280,2284 ---- Result := MessageBox(hwnd, Text, PChar(Application.Title), MsgType); {$ENDIF} ! {$ENDIF} {$IFDEF Linux} ShowMessage(Text); *************** *** 2367,2371 **** {$ELSE} Btn: TOrckaButton; - Host: TControl; {$ENDIF} RtnButton: TOButtonMain; --- 2364,2367 ---- *************** *** 2385,2391 **** {$ENDIF} {$ELSE} ! Host := FPluginManager.FToolbars.GetToolBarObject(TabName); ! Btn := TOrckaButton.Create(Host); ! Btn.Parent := TWinControl(Host); {$ENDIF} FPluginManager.FButtonList.Add(Btn); --- 2381,2385 ---- {$ENDIF} {$ELSE} ! Btn := TOrckaButton.Create(FPluginManager); {$ENDIF} FPluginManager.FButtonList.Add(Btn); *************** *** 2400,2405 **** {$IFNDEF TB2K} Btn.ShowHint := True; ! Btn.Flat := FPluginManager.FlatButtons; ! Btn.Position := NewIndex; {$ENDIF} --- 2394,2398 ---- {$IFNDEF TB2K} Btn.ShowHint := True; ! Btn.Flat := FPluginManager.FlatButtons; {$ENDIF} *************** *** 3787,3790 **** --- 3780,3784 ---- bmp.Handle := PictureHandle; Result := FPluginManager.MenuImages.Add(bmp, bmp); + finally bmp.Free; *************** *** 3829,3834 **** Client: TClientPluginType; begin try - Result := False; PluginCriticalSection.Acquire; try --- 3823,3828 ---- Client: TClientPluginType; begin + Result := False; try PluginCriticalSection.Acquire; try |