ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/branches/journaling/design/IBDBReg.pas
(Generate patch)

Comparing ibx/trunk/design/IBDBReg.pas (file contents):
Revision 107 by tony, Thu Jan 18 14:37:40 2018 UTC vs.
Revision 209 by tony, Wed Mar 14 12:48:51 2018 UTC

# Line 27 | Line 27
27   {    IBX For Lazarus (Firebird Express)                                  }
28   {    Contributor: Tony Whyman, MWA Software http://www.mwasoftware.co.uk }
29   {    Portions created by MWA Software are copyright McCallum Whyman      }
30 < {    Associates Ltd 2011                                                 }
30 > {    Associates Ltd 2011 - 2018                                               }
31   {************************************************************************}
32  
33   unit IBDBReg;
# Line 203 | Line 203 | type
203     function GetVerbCount: Integer; override;
204    end;
205  
206 +  { TIBXServiceEditor }
207 +
208 +  TIBXServiceEditor = class(TComponentEditor)
209 +  public
210 +    procedure ExecuteVerb(Index: Integer); override;
211 +    function GetVerb(Index: Integer): string; override;
212 +    function GetVerbCount: Integer; override;
213 +  end;
214 +
215    TIBStoredProcParamsProperty = class(TCollectionPropertyEditor)
216    end;
217  
# Line 322 | Line 331 | type
331      procedure Edit; override;
332    end;
333  
334 +  { TIBUpdateRefreshSQLProperty }
335 +
336 +  TIBUpdateRefreshSQLProperty = class(TSQLPropertyEditor)
337 +  protected
338 +    FIBUpdate: TIBUpdate;
339 +    FDatabase: TIBDatabase;
340 +    function GetObjects: boolean;
341 +  public
342 +    procedure Edit; override;
343 +  end;
344 +
345 +
346   { TIBEventListProperty }
347  
348    TIBEventListProperty = class(TClassProperty)
# Line 389 | Line 410 | implementation
410  
411   uses IB, IBQuery, IBStoredProc, IBCustomDataSet, FBMessages,
412       IBSQL, IBSQLMonitor, IBDatabaseInfo, IBEvents, IBTypes,
413 <     IBServices, IBDatabaseEdit, IBTransactionEdit,
413 >     IBServices, IBXServices, IBDatabaseEdit, IBTransactionEdit,
414       IBBatchMove, IBExtract,LResources, IBSelectSQLEditor,
415       IBModifySQLEditor,IBDeleteSQLEditor,IBRefreshSQLEditor,
416       IBInsertSQLEditor, IBGeneratorEditor, IBUpdateSQLEditor, IBDataSetEditor,
417       IBSQLEditor, ibserviceeditor, LCLVersion, IBDynamicGrid, IBLookupComboEditBox,
418       IBTreeView, DBControlGrid, ibxscript, IBLocalDBSupport, IBDSDialogs,
419 <     IBArrayGrid, IBVersion, IBDataOutput;
419 >     IBArrayGrid, IBVersion, IBDataOutput, IBXServiceEditor;
420  
421   const
422    IBPalette1 = 'Firebird'; {do not localize}
423 <  IBPalette2 = 'Firebird Admin'; {do not localize}
423 >  IBPalette2 = 'Firebird Legacy Admin'; {do not localize}
424    IBPalette3 = 'Firebird Data Controls';   {do not localize}
425 <  
425 >  IBPalette4 = 'Firebird Admin'; {do not localize}
426 >
427   resourcestring
428     SInterbaseExpressVersion = 'Firebird Express for Lazarus ' + IBX_VERSION;
429     SEditSQL = 'Edit SQL';
# Line 434 | Line 456 | begin
456         TIBStoredProc,TIBBatchMove,  TIBTable,TIBExtract, TIBXScript, TIBLocalDBSupport,
457         TIBBlockFormatOut,TIBCSVDataOut,TIBInsertStmtsOut]);
458    if FirebirdAPI.HasServiceAPI  then
459 +  begin
460 +    RegisterComponents(IBPalette4, [TIBXServicesConnection, TIBXConfigService,
461 +      TIBXClientSideBackupService, TIBXServerSideBackupService,
462 +      TIBXClientSideRestoreService, TIBXServerSideRestoreService,
463 +      TIBXValidationService, TIBXOnlineValidationService, TIBXStatisticalService,
464 +      TIBXLogService, TIBXSecurityService, TIBXServerProperties,
465 +      TIBXLimboTransactionResolutionService,TIBXServicesUserList, TIBXServicesLimboTransactionsList]);
466      RegisterComponents(IBPalette2, [TIBConfigService, TIBBackupService,
467 <      TIBRestoreService, TIBValidationService, TIBStatisticalService,
467 >      TIBRestoreService, TIBValidationService,
468 >      TIBOnlineValidationService, TIBStatisticalService,
469        TIBLogService, TIBSecurityService, TIBServerProperties]);
470 <
470 >  end;
471  
472    RegisterComponents(IBPalette3,[TIBLookupComboEditBox,TIBDynamicGrid,TIBTreeView,TDBControlGrid, TIBArrayGrid]);
473 +
474    RegisterPropertyEditor(TypeInfo(TIBFileName), TIBDatabase, 'DatabaseName', TIBFileNameProperty); {do not localize}
475    RegisterPropertyEditor(TypeInfo(string), TIBStoredProc, 'StoredProcName', TIBStoredProcNameProperty); {do not localize}
476    RegisterPropertyEditor(TypeInfo(string), TIBStoredProc, 'PackageName', TIBPackageNameProperty); {do not localize}
# Line 461 | Line 492 | begin
492    RegisterPropertyEditor(TypeInfo(TStrings), TIBUpdateSQL, 'ModifySQL', TIBUpdateSQLUpdateProperty); {do not localize}
493    RegisterPropertyEditor(TypeInfo(TStrings), TIBUpdateSQL, 'InsertSQL', TIBUpdateSQLInsertSQLProperty); {do not localize}
494    RegisterPropertyEditor(TypeInfo(TStrings), TIBUpdateSQL, 'DeleteSQL', TIBUpdateSQLDeleteProperty); {do not localize}
495 +  RegisterPropertyEditor(TypeInfo(TStrings), TIBUpdate, 'RefreshSQL', TIBUpdateRefreshSQLProperty); {do not localize}
496    RegisterPropertyEditor(TypeInfo(TStrings), TIBEvents, 'Events', TIBEventListProperty); {do not localize}
497    RegisterPropertyEditor(TypeInfo(TPersistent), TIBDataSet, 'GeneratorField', TIBGeneratorProperty);  {do not localize}
498    RegisterPropertyEditor(TypeInfo(TPersistent), TIBQuery, 'GeneratorField', TIBGeneratorProperty);  {do not localize}
# Line 475 | Line 507 | begin
507    RegisterComponentEditor(TIBSQL, TIBSQLEditor);
508    RegisterComponentEditor(TIBCustomService, TIBServiceEditor);
509    RegisterComponentEditor(TIBArrayGrid, TIBArrayGridEditor);
510 +  RegisterComponentEditor(TIBXServicesConnection, TIBXServiceEditor);
511  
512  
513    {Firebird Data Access Controls}
# Line 486 | Line 519 | begin
519    RegisterPropertyEditor(TypeInfo(string), TIBTreeView, 'TextField', TIBTreeViewFieldProperty);
520    RegisterPropertyEditor(TypeInfo(string), TIBTreeView, 'ParentField', TIBTreeViewFieldProperty);
521    RegisterPropertyEditor(TypeInfo(string), TIBTreeView, 'HasChildField', TIBTreeViewFieldProperty);
522 +  RegisterPropertyEditor(TypeInfo(string), TIBTreeView, 'ImageIndexField', TIBTreeViewFieldProperty);
523 +  RegisterPropertyEditor(TypeInfo(string), TIBTreeView, 'SelectedIndexField', TIBTreeViewFieldProperty);
524  
525    IBGUIInterface :=  TIBDSLCLInterface.Create;
526   end;
# Line 512 | Line 547 | begin
547    end;
548   end;
549  
550 + { TIBXServiceEditor }
551 +
552 + procedure TIBXServiceEditor.ExecuteVerb(Index: Integer);
553 + begin
554 +  if Index < inherited GetVerbCount then
555 +    inherited ExecuteVerb(Index) else
556 +  begin
557 +    Dec(Index, inherited GetVerbCount);
558 +    case Index of
559 +      0 : if IBXServiceEditor.EditIBXService(TIBXServicesConnection(Component)) then Designer.Modified;
560 +    end;
561 +  end;
562 + end;
563 +
564 + function TIBXServiceEditor.GetVerb(Index: Integer): string;
565 + begin
566 +  if Index < inherited GetVerbCount then
567 +    Result := inherited GetVerb(Index) else
568 +  begin
569 +    Dec(Index, inherited GetVerbCount);
570 +    case Index of
571 +      0: Result := SIBServiceEditor;
572 +      1 : Result := SInterbaseExpressVersion;
573 +    end;
574 +  end;
575 + end;
576 +
577 + function TIBXServiceEditor.GetVerbCount: Integer;
578 + begin
579 +  Result := inherited GetVerbCount + 2;
580 + end;
581 +
582 + { TIBUpdateRefreshSQLProperty }
583 +
584 + function TIBUpdateRefreshSQLProperty.GetObjects: boolean;
585 + begin
586 +  Result := false;
587 +  FIBUpdate := GetComponent(0) as TIBUpdate;
588 +  if not assigned(FIBUpdate) or not assigned(FIBUpdate.DataSet) then
589 +    Exit;
590 +  FDatabase := nil;
591 +  if FIBUpdate.DataSet is TIBQuery then
592 +  begin
593 +    FDatabase := (FIBUpdate.DataSet as TIBQuery).Database;
594 +    Result := true
595 +  end;
596 + end;
597 +
598 + procedure TIBUpdateRefreshSQLProperty.Edit;
599 + begin
600 +  GetObjects;
601 +  if IBRefreshSQLEditor.EditSQL(FIBUpdate.DataSet,FIBUpdate.RefreshSQL) then Modified;
602 + end;
603 +
604   { TIBPackageNameProperty }
605  
606   procedure TIBPackageNameProperty.GetValues(Proc: TGetStrProc);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines